/*
 * Fliptum Theme Phase 5 builder system.
 * Header/footer composition is controlled by WordPress Customizer settings.
 */

.fliptum-site-header {
	background: var(--fliptum-color-surface);
	border-bottom: 1px solid var(--fliptum-color-border);
}
body.fliptum-header-not-sticky .fliptum-site-header { position: relative; top: auto; }
body.fliptum-header-no-separator .fliptum-site-header { border-bottom-color: transparent; }

.fliptum-header-builder--mobile { display: none; }
.fliptum-builder-row { width: 100%; background: var(--fliptum-color-surface); }
.fliptum-builder-row__inner {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
	align-items: center;
	gap: clamp(.75rem,2vw,1.5rem);
	padding-inline: var(--fliptum-layout-gutter);
}
.fliptum-builder-row--header-top .fliptum-builder-row__inner { min-height: var(--fliptum-header-top-height); }
.fliptum-builder-row--header-main .fliptum-builder-row__inner { min-height: var(--fliptum-header-main-height); }
.fliptum-builder-row--header-bottom .fliptum-builder-row__inner { min-height: var(--fliptum-header-bottom-height); }
.fliptum-builder-row--header-top,
.fliptum-builder-row--header-bottom { border-color: var(--fliptum-color-border); }
.fliptum-builder-row--header-top { border-bottom: 1px solid var(--fliptum-color-border); }
.fliptum-builder-row--header-bottom { border-top: 1px solid var(--fliptum-color-border); }

.fliptum-builder-zone {
	display: flex;
	align-items: center;
	min-width: 0;
	gap: clamp(.45rem,1vw,.8rem);
}
.fliptum-builder-zone--left { justify-content: flex-start; }
.fliptum-builder-zone--center { justify-content: center; }
.fliptum-builder-zone--right { justify-content: flex-end; }
.fliptum-builder-zone > * { min-width: 0; }

.fliptum-site-branding__logo img {
	max-width: var(--fliptum-logo-width);
	max-height: 3.25rem;
	width: auto;
	height: auto;
	object-fit: contain;
}
.fliptum-site-branding__title { font-weight: 750; }

.fliptum-builder-menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: clamp(.65rem,1.3vw,1.2rem);
	list-style: none;
	margin: 0;
	padding: 0;
}
.fliptum-builder-menu li { position: relative; margin: 0; }
.fliptum-builder-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	color: var(--fliptum-color-text);
	text-decoration: none;
	font-size: var(--fliptum-font-sm);
	font-weight: 650;
}
.fliptum-builder-menu a:hover,
.fliptum-builder-menu .current-menu-item > a,
.fliptum-builder-menu .current-menu-ancestor > a { color: var(--fliptum-color-primary); }

.fliptum-builder-menu .sub-menu {
	position: absolute;
	z-index: 1010;
	top: calc(100% + .2rem);
	left: 0;
	display: grid;
	gap: .15rem;
	min-width: 15rem;
	padding: .55rem;
	margin: 0;
	list-style: none;
	background: var(--fliptum-color-surface);
	border: 1px solid var(--fliptum-color-border);
	border-radius: var(--fliptum-radius-md);
	box-shadow: var(--fliptum-shadow-md);
	opacity: 0;
	visibility: hidden;
	transform: translateY(.35rem);
	transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.fliptum-builder-menu li:hover > .sub-menu,
.fliptum-builder-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.fliptum-builder-menu .sub-menu a {
	display: flex;
	min-height: 2.5rem;
	padding: .45rem .65rem;
	border-radius: .55rem;
}
.fliptum-builder-menu .sub-menu a:hover { background: color-mix(in srgb,var(--fliptum-color-primary) 6%,var(--fliptum-color-surface)); }

.fliptum-builder-menu--utility { gap: .5rem; }
.fliptum-builder-menu--utility > li > a {
	min-height: 2.7rem;
	padding: .5rem .85rem;
	border: 1px solid var(--fliptum-color-border);
	border-radius: var(--fliptum-radius-sm);
	font-weight: 700;
}
.fliptum-builder-menu--utility > li:last-child > a {
	background: var(--fliptum-color-primary);
	border-color: var(--fliptum-color-primary);
	color: var(--fliptum-color-on-primary);
}
.fliptum-builder-menu--social { gap: .6rem; }

.fliptum-builder-action { flex: 0 0 auto; position: relative; }
.fliptum-builder-cart__count {
	position: absolute;
	top: -.35rem;
	right: -.35rem;
	display: grid;
	place-items: center;
	min-width: 1.25rem;
	height: 1.25rem;
	padding: 0 .25rem;
	border-radius: 999px;
	background: var(--fliptum-color-primary);
	color: var(--fliptum-color-on-primary);
	font-size: .7rem;
	font-weight: 800;
	line-height: 1;
}
.fliptum-builder-component--html { font-size: var(--fliptum-font-sm); }
.fliptum-builder-component--html > :last-child { margin-bottom: 0; }

/* Mobile builder */
.fliptum-mobile-builder {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: .7rem;
	min-height: var(--fliptum-header-mobile-height);
}
.fliptum-mobile-primary-nav { display: none; }

/* Footer builder */
.fliptum-builder-footer { margin-top: var(--fliptum-space-8); }
.fliptum-footer-builder { background: var(--fliptum-color-surface); }
.fliptum-builder-row--footer-top,
.fliptum-builder-row--footer-main,
.fliptum-builder-row--footer-bottom { border-top: 1px solid var(--fliptum-color-border); }
.fliptum-builder-row--footer-top .fliptum-builder-row__inner,
.fliptum-builder-row--footer-main .fliptum-builder-row__inner,
.fliptum-builder-row--footer-bottom .fliptum-builder-row__inner {
	align-items: start;
	gap: var(--fliptum-footer-row-gap);
	padding-block: var(--fliptum-footer-padding);
}
.fliptum-builder-row--footer-bottom .fliptum-builder-row__inner {
	align-items: center;
	padding-block: calc(var(--fliptum-footer-padding) * .45);
}
.fliptum-builder-footer .fliptum-builder-zone { align-items: flex-start; flex-wrap: wrap; }
.fliptum-builder-footer .fliptum-builder-zone--center { justify-content: center; }
.fliptum-builder-footer .fliptum-builder-zone--right { justify-content: flex-end; }
.fliptum-builder-menu--footer,
.fliptum-builder-menu--footer-secondary { display: grid; grid-template-columns: repeat(2,minmax(8rem,1fr)); gap: .35rem 1.4rem; }
.fliptum-builder-menu--footer a,
.fliptum-builder-menu--footer-secondary a { min-height: 2rem; font-weight: 550; }
.fliptum-builder-widget { min-width: min(100%,16rem); }
.fliptum-widget { margin: 0; }
.fliptum-widget + .fliptum-widget { margin-top: 1rem; }
.fliptum-widget__title { font-size: var(--fliptum-font-md); margin-bottom: .75rem; }
.fliptum-widget ul { margin: 0; padding-left: 1.1rem; }
.fliptum-builder-copyright { margin: 0; color: var(--fliptum-color-muted); font-size: var(--fliptum-font-xs); }

/* Global layout + sidebars */
html { font-size: var(--fliptum-root-scale,100%); }
body { font-family: var(--fliptum-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif); font-weight: var(--fliptum-body-weight,400); }
h1,h2,h3,h4,h5,h6 { font-weight: var(--fliptum-heading-weight,700); }
.fliptum-container { width: min(calc(100% - (var(--fliptum-layout-gutter) * 2)),var(--fliptum-layout-container)); }
.fliptum-prose { width: min(100%,var(--fliptum-layout-content)); }
.fliptum-content-layout { display: block; }
.fliptum-content-layout.has-sidebar {
	display: grid;
	grid-template-columns: minmax(0,1fr) var(--fliptum-sidebar-width);
	gap: var(--fliptum-sidebar-gap);
	align-items: start;
}
body.fliptum-sidebar-left .fliptum-content-layout__main { grid-column: 2; grid-row: 1; }
body.fliptum-sidebar-left .fliptum-sidebar { grid-column: 1; grid-row: 1; }
.fliptum-sidebar {
	position: sticky;
	top: calc(var(--fliptum-header-main-height) + 1.5rem);
	display: grid;
	gap: 1.25rem;
	padding: 1.25rem;
	background: var(--fliptum-color-surface);
	border: 1px solid var(--fliptum-color-border);
	border-radius: var(--fliptum-radius-lg);
}
.fliptum-post-grid { grid-template-columns: repeat(var(--fliptum-archive-columns),minmax(0,1fr)); }

/* Legacy header/footer structural rules are neutralized by the builder. */
.fliptum-site-header__inner,
.fliptum-site-footer__grid,
.fliptum-site-footer__bottom { display: none; }

@media (max-width:62rem) {
	.fliptum-header-builder--desktop { display: none; }
	.fliptum-header-builder--mobile { display: block; }
	.fliptum-menu-toggle { display: inline-grid; }
	.fliptum-mobile-primary-nav {
		position: absolute;
		z-index: 1020;
		left: var(--fliptum-layout-gutter);
		right: var(--fliptum-layout-gutter);
		top: calc(100% + .4rem);
		padding: .75rem;
		background: var(--fliptum-color-surface);
		border: 1px solid var(--fliptum-color-border);
		border-radius: var(--fliptum-radius-md);
		box-shadow: var(--fliptum-shadow-md);
	}
	.fliptum-mobile-primary-nav.is-open { display: block; }
	.fliptum-nav-list--mobile { display: grid; gap: .1rem; }
	.fliptum-nav-list--mobile a { display: block; padding: .65rem .7rem; border-radius: .5rem; color: var(--fliptum-color-text); text-decoration: none; }
	.fliptum-nav-list--mobile .sub-menu {
		position: static;
		display: grid;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		margin: 0 0 0 .75rem;
		padding: 0;
	}
	.fliptum-content-layout.has-sidebar { grid-template-columns: 1fr; gap: 2rem; }
	body.fliptum-sidebar-left .fliptum-content-layout__main,
	body.fliptum-sidebar-left .fliptum-sidebar { grid-column: auto; grid-row: auto; }
	.fliptum-sidebar { position: static; }
	.fliptum-builder-row--footer-top .fliptum-builder-row__inner,
	.fliptum-builder-row--footer-main .fliptum-builder-row__inner,
	.fliptum-builder-row--footer-bottom .fliptum-builder-row__inner { grid-template-columns: 1fr; }
	.fliptum-builder-footer .fliptum-builder-zone,
	.fliptum-builder-footer .fliptum-builder-zone--center,
	.fliptum-builder-footer .fliptum-builder-zone--right { justify-content: flex-start; }
}

@media (max-width:42rem) {
	.fliptum-mobile-builder { min-height: var(--fliptum-header-mobile-height); }
	.fliptum-site-branding__tagline { display: none; }
	.fliptum-builder-menu--footer,
	.fliptum-builder-menu--footer-secondary { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion:reduce) {
	.fliptum-builder-menu .sub-menu { transition: none; }
}

/* Phase 8 responsive header composition */
.fliptum-header-builder--tablet{display:none}.fliptum-tablet-builder{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;min-height:var(--fliptum-header-tablet-height,70px)}.fliptum-builder-tagline,.fliptum-builder-date{font-size:var(--fliptum-font-xs);color:var(--fliptum-color-muted)}.fliptum-builder-separator{display:inline-block;width:1px;height:1.6rem;background:var(--fliptum-color-border)}
@media (min-width:48.001rem) and (max-width:72rem){.fliptum-header-builder--desktop{display:none}.fliptum-header-builder--tablet{display:block}.fliptum-header-builder--mobile{display:none}.fliptum-menu-toggle{display:inline-grid}.fliptum-builder-menu--primary{gap:.7rem}.fliptum-builder-menu--primary>li:nth-child(n+6){display:none}}
@media (max-width:48rem){.fliptum-header-builder--desktop,.fliptum-header-builder--tablet{display:none}.fliptum-header-builder--mobile{display:block}}

@media(max-width:72rem){.fliptum-mobile-primary-nav{position:absolute;z-index:1020;left:var(--fliptum-layout-gutter);right:var(--fliptum-layout-gutter);top:calc(100% + .4rem);padding:.75rem;background:var(--fliptum-color-surface);border:1px solid var(--fliptum-color-border);border-radius:var(--fliptum-radius-md);box-shadow:var(--fliptum-shadow-md)}.fliptum-mobile-primary-nav.is-open{display:block}}

/* ==========================================================
   Phase 20 visual structure renderer
   ========================================================== */
.fliptum-structure-section{width:100%;background:var(--fliptum-color-surface);min-height:var(--fliptum-structure-min-height,0)}
.fliptum-structure-section[data-surface=transparent]{background:transparent}
.fliptum-structure-section[data-surface=soft]{background:color-mix(in srgb,var(--fliptum-color-primary) 4%,var(--fliptum-color-surface))}
.fliptum-structure-section[data-surface=primary]{background:color-mix(in srgb,var(--fliptum-color-primary) 10%,var(--fliptum-color-surface))}
.fliptum-structure-section__inner{min-height:inherit}
.fliptum-structure-section__inner:not(.fliptum-container){width:100%;padding-inline:var(--fliptum-layout-gutter)}
.fliptum-structure-section__inner.fliptum-container{padding-inline:0}
.fliptum-structure-group{display:flex;min-width:0;min-height:inherit;width:100%;align-items:stretch}
.fliptum-structure-group.is-row{flex-direction:row}
.fliptum-structure-group.is-column{flex-direction:column}
.fliptum-structure-group[data-gap=none]{gap:0}
.fliptum-structure-group[data-gap=sm]{gap:.4rem}
.fliptum-structure-group[data-gap=md]{gap:clamp(.55rem,1vw,.9rem)}
.fliptum-structure-group[data-gap=lg]{gap:clamp(.8rem,1.5vw,1.35rem)}
.fliptum-structure-cell{display:flex;align-items:center;gap:clamp(.4rem,.85vw,.75rem);min-width:0;flex:1 1 0;padding-block:.38rem}
.fliptum-structure-cell[style*="--fliptum-layout-basis"]{flex:0 0 var(--fliptum-layout-basis)}
.fliptum-structure-cell[data-align=start]{justify-content:flex-start}
.fliptum-structure-cell[data-align=center]{justify-content:center}
.fliptum-structure-cell[data-align=end]{justify-content:flex-end}
.fliptum-structure-cell[data-align=stretch]{align-items:stretch}.fliptum-structure-cell[data-align=stretch]>*{flex:1 1 auto}
.fliptum-header-builder--desktop .fliptum-structure-section:first-child .fliptum-structure-cell{min-height:var(--fliptum-header-top-height,40px)}
.fliptum-header-builder--desktop .fliptum-structure-section:nth-child(2) .fliptum-structure-cell{min-height:var(--fliptum-header-main-height,76px)}
.fliptum-header-builder--desktop .fliptum-structure-section:nth-child(3) .fliptum-structure-cell{min-height:var(--fliptum-header-bottom-height,44px)}
.fliptum-header-builder--tablet .fliptum-structure-cell{min-height:var(--fliptum-header-tablet-height,70px)}
.fliptum-header-builder--mobile .fliptum-structure-cell{min-height:var(--fliptum-header-mobile-height,68px)}
.fliptum-builder-footer .fliptum-structure-section{border-top:1px solid var(--fliptum-color-border)}
.fliptum-builder-footer .fliptum-structure-section__inner{padding-block:var(--fliptum-footer-padding,48px)}
.fliptum-builder-footer .fliptum-structure-cell{align-items:flex-start;flex-wrap:wrap}

@media(max-width:72rem){
	.fliptum-header-builder--tablet .fliptum-structure-section__inner{padding-inline:var(--fliptum-layout-gutter)}
}
@media(max-width:48rem){
	.fliptum-header-builder--mobile .fliptum-structure-group.is-row{flex-wrap:wrap}
	.fliptum-header-builder--mobile .fliptum-structure-group.is-row>.fliptum-structure-cell,
	.fliptum-header-builder--mobile .fliptum-structure-group.is-row>.fliptum-structure-group{min-width:0}
	.fliptum-builder-footer .fliptum-structure-group.is-row{flex-wrap:wrap}
	.fliptum-builder-footer .fliptum-structure-group.is-row>.fliptum-structure-cell,
	.fliptum-builder-footer .fliptum-structure-group.is-row>.fliptum-structure-group{flex-basis:100%!important}
}
.fliptum-footer-builder--tablet,.fliptum-footer-builder--mobile{display:none}
@media (min-width:48.001rem) and (max-width:72rem){.fliptum-footer-builder--desktop{display:none}.fliptum-footer-builder--tablet{display:block}.fliptum-footer-builder--mobile{display:none}}
@media (max-width:48rem){.fliptum-footer-builder--desktop,.fliptum-footer-builder--tablet{display:none}.fliptum-footer-builder--mobile{display:block}}

/* Phase 22 — schema-v2 nested structure and component-instance styling. */
.fliptum-structure-section{width:100%;background:var(--fliptum-color-surface);border-color:var(--fliptum-color-border)}
.fliptum-structure-section[data-surface=transparent]{background:transparent}.fliptum-structure-section[data-surface=soft]{background:color-mix(in srgb,var(--fliptum-color-primary) 4%,var(--fliptum-color-surface))}.fliptum-structure-section[data-surface=primary]{background:color-mix(in srgb,var(--fliptum-color-primary) 12%,var(--fliptum-color-surface));color:var(--fliptum-color-text)}.fliptum-structure-section.is-shadow-soft{box-shadow:var(--fliptum-shadow-sm)}.fliptum-structure-section.is-shadow-elevated{box-shadow:var(--fliptum-shadow-md)}
.fliptum-structure-section__inner{display:flex;min-height:var(--fliptum-structure-min-height,0);width:100%}.fliptum-structure-group{display:flex;flex:1 1 auto;min-width:0}.fliptum-structure-group.is-row{flex-direction:row}.fliptum-structure-group.is-column{flex-direction:column}.fliptum-structure-group[data-gap=none]{gap:0}.fliptum-structure-group[data-gap=sm]{gap:.4rem}.fliptum-structure-group[data-gap=md]{gap:.8rem}.fliptum-structure-group[data-gap=lg]{gap:1.25rem}
.fliptum-structure-cell{display:flex;align-items:center;gap:clamp(.45rem,1vw,.8rem);flex:1 1 var(--fliptum-layout-basis,0);min-width:0}.fliptum-structure-cell[data-align=center]{justify-content:center}.fliptum-structure-cell[data-align=end]{justify-content:flex-end}.fliptum-structure-cell[data-align=stretch]>*{flex:1 1 auto}.fliptum-builder-instance{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.fliptum-builder-instance--branding .fliptum-site-branding__logo img{max-width:var(--fliptum-instance-logo-width,var(--fliptum-logo-width));}.fliptum-builder-instance--branding.is-hide-title .fliptum-site-branding__title{display:none}.fliptum-builder-instance--branding.is-hide-tagline .fliptum-site-branding__tagline{display:none}.fliptum-builder-instance--primary-menu .fliptum-builder-menu,.fliptum-builder-instance--secondary-menu .fliptum-builder-menu,.fliptum-builder-instance--utility-menu .fliptum-builder-menu,.fliptum-builder-instance--footer-menu .fliptum-builder-menu,.fliptum-builder-instance--footer-secondary-menu .fliptum-builder-menu{gap:var(--fliptum-instance-menu-gap,1rem)}.fliptum-builder-instance--primary-menu .fliptum-builder-menu a,.fliptum-builder-instance--secondary-menu .fliptum-builder-menu a,.fliptum-builder-instance--utility-menu .fliptum-builder-menu a,.fliptum-builder-instance--footer-menu .fliptum-builder-menu a,.fliptum-builder-instance--footer-secondary-menu .fliptum-builder-menu a{font-size:var(--fliptum-instance-menu-font-size,var(--fliptum-font-sm));font-weight:var(--fliptum-instance-menu-weight,650)}
.fliptum-builder-instance.is-style-pill .fliptum-builder-menu>li>a{padding:.38rem .72rem;border-radius:999px;background:color-mix(in srgb,var(--fliptum-color-primary) 6%,var(--fliptum-color-surface))}.fliptum-builder-instance.is-style-underline .fliptum-builder-menu>li>a{border-bottom:2px solid var(--fliptum-color-primary)}.fliptum-builder-instance .fliptum-icon{width:var(--fliptum-instance-icon-size,1.25rem);height:var(--fliptum-instance-icon-size,1.25rem)}.fliptum-builder-instance__label{font-size:var(--fliptum-font-sm);font-weight:650}.fliptum-builder-instance.is-style-pill>.fliptum-icon-button,.fliptum-builder-instance.is-style-pill>.fliptum-builder-action{width:auto;padding-inline:.75rem;border-radius:999px}.fliptum-builder-instance.is-style-text>.fliptum-icon-button,.fliptum-builder-instance.is-style-text>.fliptum-builder-action{width:auto;border-color:transparent;background:transparent;padding-inline:.25rem}.fliptum-builder-instance--social-menu .fliptum-builder-menu{gap:var(--fliptum-instance-social-gap,.6rem)}.fliptum-builder-instance--social-menu.is-style-circle .fliptum-builder-menu a{width:2.35rem;height:2.35rem;display:grid;place-items:center;border:1px solid var(--fliptum-color-border);border-radius:50%}.fliptum-builder-instance--social-menu.is-style-soft .fliptum-builder-menu a{padding:.4rem .6rem;border-radius:.65rem;background:color-mix(in srgb,var(--fliptum-color-primary) 6%,var(--fliptum-color-surface))}.fliptum-builder-instance--tagline,.fliptum-builder-instance--current-date,.fliptum-builder-instance--copyright{font-size:var(--fliptum-instance-text-size,var(--fliptum-font-xs))}.fliptum-builder-instance.is-muted{color:var(--fliptum-color-muted)}.fliptum-builder-instance--separator .fliptum-builder-separator{height:var(--fliptum-instance-separator-height,1.5rem);background:var(--fliptum-instance-separator-color,var(--fliptum-color-border))}.fliptum-builder-search-field .search-form{min-width:min(22rem,70vw)}
@media(max-width:62rem){.fliptum-structure-group.is-row{flex-wrap:wrap}.fliptum-footer-builder--desktop{display:none}.fliptum-footer-builder--tablet{display:block}.fliptum-header-builder--desktop{display:none}.fliptum-header-builder--tablet{display:block}.fliptum-header-builder--mobile{display:none}}
@media(min-width:62.001rem){.fliptum-header-builder--tablet,.fliptum-header-builder--mobile,.fliptum-footer-builder--tablet,.fliptum-footer-builder--mobile{display:none}}
@media(max-width:42rem){.fliptum-header-builder--tablet{display:none}.fliptum-header-builder--mobile{display:block}.fliptum-footer-builder--tablet{display:none}.fliptum-footer-builder--mobile{display:block}.fliptum-structure-group.is-row>.fliptum-structure-cell,.fliptum-structure-group.is-row>.fliptum-structure-group{flex-basis:100%!important}}
