/* ForgeCommerce design foundation */
:root{
	--fc-accent:#b7ff00;
	--fc-accent-alt:#161a20;
	--fc-bg:#fff;
	--fc-text:#111318;
	--fc-muted:#667085;
	--fc-surface:#f6f7f8;
	--fc-border:#e5e7eb;
	--fc-container:1280px;
	--fc-content:760px;
	--fc-radius:14px;
	--fc-button-radius:10px;
	--fc-shadow:0 10px 40px rgba(16,24,40,.08);
	--fc-space-1:.5rem;
	--fc-space-2:1rem;
	--fc-space-3:1.5rem;
	--fc-space-4:2rem;
	--fc-space-5:3rem;
	--fc-space-6:5rem;
}

*,
*::before,
*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
	margin:0;
	color:var(--fc-text);
	background:var(--fc-bg);
	font-family:var(--fc-font-body, Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
	font-family:var(--fc-font-heading,var(--fc-font-body));
}
body{font-size:calc(1rem * var(--fc-font-scale,1))}
img{max-width:100%;height:auto}
a{color:inherit}
button,input,textarea,select{font:inherit}

.screen-reader-text{
	position:absolute!important;
	width:1px;height:1px;
	padding:0;margin:-1px;
	overflow:hidden;clip:rect(0,0,0,0);
	white-space:nowrap;border:0
}
.screen-reader-text:focus{
	clip:auto!important;
	width:auto;height:auto;
	left:1rem;top:1rem;
	padding:.75rem 1rem;
	background:#fff;color:#111;
	z-index:99999;
	border-radius:6px
}

.fc-container{
	width:min(calc(100% - (var(--fc-gutter,24px) * 2)),var(--fc-container));
	margin-inline:auto;
}

.fc-layout-boxed .fc-site-main{
	width:min(calc(100% - 2rem),calc(var(--fc-container) + 4rem));
	margin:2rem auto;
	background:#fff;
	box-shadow:var(--fc-shadow);
	border-radius:var(--fc-radius);
}

.fc-section{padding-block:var(--fc-section-space,clamp(2.5rem,6vw,6rem))}
.fc-stack>*+*{margin-top:var(--fc-space-3)}
.fc-cluster{display:flex;flex-wrap:wrap;gap:var(--fc-space-2);align-items:center}
.fc-grid{display:grid;gap:var(--fc-space-3)}
.fc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fc-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fc-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

.fc-site-header{
	background:#fff;
	border-bottom:1px solid var(--fc-border);
	z-index:1000;
}
.fc-has-sticky-header .fc-site-header{
	position:sticky;
	top:0;
}
.admin-bar.fc-has-sticky-header .fc-site-header{top:32px}

.fc-header-inner{
	min-height:var(--fc-header-height,76px);
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	gap:2rem;
}
.fc-site-title{
	font-size:1.25rem;
	font-weight:800;
	text-decoration:none;
}
.custom-logo{display:block;max-height:52px;width:auto}

.fc-desktop-nav{justify-self:center}
.fc-menu,
.fc-mobile-menu,
.fc-footer-menu{
	list-style:none;
	padding:0;
	margin:0;
}
.fc-primary-menu{display:flex;align-items:center;gap:1.5rem}
.fc-primary-menu a{
	display:block;
	text-decoration:none;
	font-weight:700;
	font-size:.92rem;
}
.fc-primary-menu li{position:relative}
.fc-primary-menu .sub-menu{
	position:absolute;
	left:0;
	top:100%;
	min-width:240px;
	list-style:none;
	margin:0;
	padding:.65rem;
	background:#fff;
	border:1px solid var(--fc-border);
	border-radius:var(--fc-radius);
	box-shadow:var(--fc-shadow);
	opacity:0;
	visibility:hidden;
	transform:translateY(8px);
	transition:.18s ease;
}
.fc-primary-menu li:hover>.sub-menu,
.fc-primary-menu li:focus-within>.sub-menu{
	opacity:1;
	visibility:visible;
	transform:none;
}
.fc-primary-menu .sub-menu a{padding:.65rem .75rem;border-radius:8px}
.fc-primary-menu .sub-menu a:hover{background:var(--fc-surface)}

.fc-header-actions{display:flex;align-items:center;gap:.75rem}
.fc-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	min-height:44px;
	padding:.75rem 1.1rem;
	border:1px solid transparent;
	border-radius:var(--fc-button-radius);
	font-weight:800;
	line-height:1;
	text-decoration:none;
	cursor:pointer;
}
.fc-button-primary{background:var(--fc-accent);color:#101215}
.fc-button-secondary{background:var(--fc-accent-alt);color:#fff}
.fc-button-outline{border-color:var(--fc-border);background:transparent}

.fc-menu-toggle{
	display:none;
	width:46px;height:46px;
	padding:10px;
	border:1px solid var(--fc-border);
	border-radius:10px;
	background:#fff;
	cursor:pointer;
}
.fc-menu-toggle span[aria-hidden="true"]{
	display:block;
	height:2px;
	background:currentColor;
	margin:5px 0;
}
.fc-mobile-panel{
	border-top:1px solid var(--fc-border);
	background:#fff;
	padding:1rem 0 1.5rem;
}
.fc-mobile-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem}
.fc-mobile-close{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--fc-border);border-radius:10px;background:#fff;color:var(--fc-text);font-size:1.75rem;line-height:1;cursor:pointer}
.fc-mobile-navigation{width:100%}
.fc-mobile-menu li{border-bottom:1px solid var(--fc-border)}
.fc-mobile-menu a{display:block;padding:1rem 0;text-decoration:none;font-weight:750}
.fc-mobile-menu .sub-menu{list-style:none;padding:0 0 0 1rem;margin:0}

.fc-site-main{min-height:55vh}
.fc-entry{max-width:var(--fc-content);margin-inline:auto}
.fc-entry-full,
.fc-entry-landing{max-width:none}
.fc-entry-title{
	font-size:clamp(2rem,4vw,3.6rem);
	line-height:1.06;
	letter-spacing:-.024em;
	margin:0 0 1rem;
}
.fc-entry-meta{font-size:.85rem;color:var(--fc-muted);margin-bottom:.5rem}
.fc-entry-content>*:first-child{margin-top:0}
.fc-entry-content>*:last-child{margin-bottom:0}
.fc-entry-content .alignwide{max-width:var(--fc-container);margin-left:50%;transform:translateX(-50%)}
.fc-entry-content .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}

.fc-card{
	background:#fff;
	border:1px solid var(--fc-border);
	border-radius:var(--fc-radius);
	overflow:hidden;
	box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.fc-post-card{max-width:900px;margin:0 auto 1.5rem}
.fc-post-card-body{padding:1.5rem}
.fc-post-card-title{margin:.2rem 0 .75rem;font-size:1.65rem;line-height:1.15}
.fc-post-card-title a{text-decoration:none}
.fc-post-card-media img{width:100%;display:block}

.fc-search-form{display:flex;gap:.75rem;max-width:700px}
.fc-search-form label{flex:1}
.fc-search-field{
	width:100%;
	min-height:48px;
	padding:.7rem .9rem;
	border:1px solid var(--fc-border);
	border-radius:var(--fc-button-radius);
}

.fc-site-footer{
	margin-top:4rem;
	padding:4rem 0 1.5rem;
	background:#111318;
	color:#fff;
}
.fc-footer-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:2rem;
	min-height:80px;
}
.fc-site-footer .widget-title{font-size:1rem}
.fc-site-footer a{color:inherit}
.fc-footer-bottom{
	margin-top:3rem;
	padding-top:1.5rem;
	border-top:1px solid rgba(255,255,255,.12);
	display:flex;
	justify-content:space-between;
	gap:1rem;
	color:#cfd4dc;
	font-size:.9rem;
}
.fc-footer-menu{display:flex;gap:1rem;flex-wrap:wrap}
.fc-footer-menu a{text-decoration:none}

.fc-error-page{text-align:center;max-width:800px}
.fc-eyebrow{
	text-transform:uppercase;
	letter-spacing:.15em;
	font-size:.8rem;
	font-weight:850;
	color:var(--fc-muted);
}

.widget ul{list-style:none;padding:0}
.widget a{text-decoration:none}
.widget a:hover{text-decoration:underline}

:focus-visible{outline:3px solid #101718;outline-offset:3px;box-shadow:0 0 0 2px #fff}
.fc-topbar :focus-visible,.fc-site-footer :focus-visible{outline-color:#fff;box-shadow:0 0 0 2px #101718}


/* Public component primitives for theme users and companion plugins */
.fc-kicker{
	margin:0 0 .65rem;
	font-size:.78rem;
	font-weight:850;
	text-transform:uppercase;
	letter-spacing:.12em;
	color:var(--fc-muted);
}
.fc-surface{
	background:var(--fc-surface);
	border-radius:var(--fc-radius);
}
.fc-panel{
	padding:clamp(1rem,2.5vw,2rem);
	background:#fff;
	border:1px solid var(--fc-border);
	border-radius:var(--fc-radius);
	box-shadow:var(--fc-shadow);
}
.fc-icon-button{
	display:inline-grid;
	place-items:center;
	width:44px;
	height:44px;
	padding:0;
	border:1px solid var(--fc-border);
	border-radius:var(--fc-button-radius);
	background:#fff;
	color:var(--fc-text);
	cursor:pointer;
}
.fc-badge{
	display:inline-flex;
	align-items:center;
	min-height:24px;
	padding:.2rem .55rem;
	border-radius:999px;
	background:var(--fc-accent);
	color:#111318;
	font-size:.72rem;
	font-weight:850;
	line-height:1;
}
.fc-divider{border:0;border-top:1px solid var(--fc-border);margin:var(--fc-space-4) 0}
.fc-placeholder-media{
	min-height:320px;
	display:grid;
	place-items:center;
	padding:2rem;
	background:linear-gradient(135deg,var(--fc-surface),#fff);
	border:1px dashed #cbd2dc;
	border-radius:var(--fc-radius);
	color:var(--fc-muted);
}
.fc-pattern{padding-block:clamp(2rem,5vw,5rem)}
.fc-pattern-card{height:100%;padding:1.5rem}
.fc-pattern-cta{
	padding:clamp(2rem,5vw,4.5rem);
	background:var(--fc-accent-alt);
	color:#fff;
	border-radius:var(--fc-radius);
}
.fc-stats{
	padding:1.25rem;
	border-block:1px solid var(--fc-border);
}
.fc-stats h3{margin-bottom:.15rem}
.fc-stats p{margin-top:0;color:var(--fc-muted)}

.fc-mobile-menu-panel .fc-mobile-panel{
	position:fixed;
	inset:var(--fc-header-height,76px) 0 0;
	z-index:999;
	overflow:auto;
	border-top:1px solid var(--fc-border);
}
.fc-mobile-menu-panel.fc-menu-open{overflow:hidden}
@media (max-width:960px){
	.custom-logo{max-width:var(--fc-mobile-logo-width,180px)}
}

@media (max-width:960px){
	.admin-bar.fc-has-sticky-header .fc-site-header{top:46px}
	.fc-header-inner{min-height:68px;grid-template-columns:minmax(0,1fr) auto;gap:1rem}
	.fc-brand-wrap,
	.fc-site-branding{min-width:0}
	.fc-brand-wrap{overflow:hidden}
	.fc-site-title{
		display:block;
		max-width:100%;
		overflow:hidden;
		white-space:nowrap;
		text-overflow:ellipsis;
	}
	.fc-site-branding .custom-logo-link{display:block;max-width:100%}
	.fc-site-branding .custom-logo{max-width:100%}
	.fc-header-actions{
		min-width:max-content;
		justify-self:end;
		flex:0 0 auto;
	}
	.fc-header-actions>.fc-icon-button,
	.fc-header-actions>.fc-menu-toggle{flex:0 0 auto}
	.fc-desktop-nav{display:none}
	.fc-menu-toggle{display:block}
	.fc-header-cta{display:none}
	.fc-header-cta.fc-header-cta-mobile{display:inline-flex}
	.fc-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.fc-grid-4,.fc-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:420px){
	.fc-header-inner{gap:.75rem}
	.fc-header-actions{gap:.5rem}
	.fc-header-actions>.fc-icon-button{width:40px;height:40px}
	.fc-header-actions>.fc-menu-toggle{width:42px;height:42px;padding:8px}
}
@media (max-width:600px){
	.fc-container{width:min(calc(100% - 1.25rem),var(--fc-container))}
	.fc-footer-grid,.fc-grid-4,.fc-grid-3,.fc-grid-2{grid-template-columns:1fr}
	.fc-footer-bottom{flex-direction:column}
	.fc-entry-title{font-size:clamp(1.9rem,10vw,2.85rem)}
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{
		scroll-behavior:auto!important;
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
		transition-duration:.01ms!important
	}
}


/* v0.2 framework presets and components */
.fc-style-contrast{--fc-accent:#ffe500;--fc-accent-alt:#0b0c0e;--fc-bg:#ffffff;--fc-text:#0b0c0e;--fc-muted:#59616d}
.fc-style-industrial{--fc-accent:#ff6b00;--fc-accent-alt:#1f2328;--fc-bg:#f4f5f6;--fc-text:#17191c;--fc-muted:#68707a}
.fc-style-soft{--fc-accent:#dce8df;--fc-accent-alt:#28342e;--fc-bg:#fbfaf7;--fc-text:#242926;--fc-muted:#747a76}
.fc-style-sport{--fc-accent:#b7ff00;--fc-accent-alt:#101317;--fc-bg:#ffffff;--fc-text:#101317;--fc-muted:#5e6671}

.fc-header-compact .fc-header-inner{min-height:60px}
.fc-header-compact .custom-logo{max-height:42px}
.fc-header-centered .fc-header-inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding-block:.8rem}
.fc-header-centered .fc-brand-wrap{order:1}
.fc-header-centered .fc-header-actions{order:2}
.fc-header-centered .fc-desktop-nav{order:3;width:100%;border-top:1px solid var(--fc-border);padding-top:.75rem;margin-top:.75rem}
.fc-header-centered .fc-primary-menu{justify-content:center}

.fc-icon-button{
	display:inline-grid;place-items:center;
	width:44px;height:44px;
	border:1px solid var(--fc-border);
	border-radius:var(--fc-button-radius);
	background:#fff;color:var(--fc-text);
	cursor:pointer;font-weight:800
}
.fc-search-panel{border-top:1px solid var(--fc-border);background:#fff;padding:1rem 0}
.fc-search-panel .fc-search-form{margin-inline:auto;max-width:900px}

.fc-menu-badge{
	display:inline-flex;vertical-align:middle;margin-left:.35rem;
	padding:.12rem .38rem;border-radius:999px;
	background:var(--fc-accent);color:#111318;
	font-size:.62rem;line-height:1.3;font-weight:900;letter-spacing:.04em
}
.fc-primary-menu>.fc-menu-mega{position:static}
.fc-primary-menu>.fc-menu-mega>.sub-menu{
	left:50%;right:auto;transform:translate(-50%,8px);
	width:min(calc(100vw - 2rem),var(--fc-container));
	padding:1.25rem;gap:1rem
}
.fc-primary-menu>.fc-menu-mega:hover>.sub-menu,
.fc-primary-menu>.fc-menu-mega:focus-within>.sub-menu{transform:translate(-50%,0)}
.fc-primary-menu>.fc-menu-mega.fc-menu-mega-cols-2>.sub-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.fc-primary-menu>.fc-menu-mega.fc-menu-mega-cols-3>.sub-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.fc-primary-menu>.fc-menu-mega.fc-menu-mega-cols-4>.sub-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.fc-primary-menu>.fc-menu-mega.fc-menu-mega-cols-5>.sub-menu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.fc-primary-menu>.fc-menu-mega>.sub-menu>li>a{font-weight:850;border-bottom:1px solid var(--fc-border);border-radius:0}
.fc-primary-menu>.fc-menu-mega>.sub-menu>li>.sub-menu{
	position:static;display:block;opacity:1;visibility:visible;transform:none;
	box-shadow:none;border:0;padding:.5rem 0 0;min-width:0;background:transparent
}
.fc-primary-menu>.fc-menu-mega>.sub-menu>li>.sub-menu a{font-weight:600;padding:.45rem 0}

.fc-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;background:var(--fc-surface);font-size:.76rem;font-weight:800}
.fc-badge-accent{background:var(--fc-accent);color:#111318}
.fc-notice{padding:1rem 1.1rem;border:1px solid var(--fc-border);border-left:4px solid var(--fc-accent);border-radius:var(--fc-radius);background:#fff}
.fc-surface{background:var(--fc-surface)}
.fc-panel{padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--fc-border);border-radius:var(--fc-radius);background:#fff;box-shadow:var(--fc-shadow)}
.fc-divider{height:1px;background:var(--fc-border);border:0;margin:2rem 0}
.fc-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:900;color:var(--fc-muted)}
.fc-title-xl{font-size:clamp(2.5rem,5.5vw,4.8rem);line-height:1.04;letter-spacing:-.026em}
.fc-lead{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--fc-muted);max-width:62ch}
.fc-aspect-card{aspect-ratio:4/3;overflow:hidden;border-radius:var(--fc-radius);background:var(--fc-surface)}
.fc-aspect-card>img{width:100%;height:100%;object-fit:cover}

.fc-archive-grid{display:grid;gap:1.5rem}
.fc-archive-cols-1{grid-template-columns:1fr}
.fc-archive-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fc-archive-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fc-archive-grid .fc-post-card{max-width:none;margin:0}
.fc-archive-cols-2 .fc-post-card-title,.fc-archive-cols-3 .fc-post-card-title{font-size:1.3rem}

.fc-single-wide .fc-entry{max-width:1100px}
.fc-single-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:3rem;align-items:start}
.fc-single-sidebar .fc-entry{max-width:none}
.fc-sidebar{position:sticky;top:110px}
.fc-sidebar .widget{padding:1rem 0;border-bottom:1px solid var(--fc-border)}

.fc-footer-centered .fc-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px;margin-inline:auto;text-align:center}
.fc-footer-centered .fc-footer-bottom{justify-content:center;text-align:center;flex-wrap:wrap}
.fc-footer-minimal .fc-footer-grid{display:none}
.fc-footer-minimal .fc-footer-bottom{margin-top:0;border-top:0}


@media (max-width:960px){
	.fc-header-centered .fc-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto}
	.fc-header-centered .fc-desktop-nav{display:none}
	.fc-single-sidebar{grid-template-columns:1fr}
	.fc-sidebar{position:static}
	.fc-archive-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
	.fc-archive-cols-2,.fc-archive-cols-3{grid-template-columns:1fr}
	.fc-footer-centered .fc-footer-grid{grid-template-columns:1fr}
}


/* Per-page layout controls */
.fc-page-layout-narrow{max-width:calc(var(--fc-content) + (var(--fc-gutter,24px) * 2))}
.fc-page-layout-wide .fc-page-entry{max-width:var(--fc-container)}
.fc-page-layout-full{width:100%}
.fc-page-layout-full .fc-page-entry{max-width:none}


/* v0.7 Header & Footer System */
.fc-site-header{
	background:var(--fc-header-bg,#fff);
	color:var(--fc-header-text,var(--fc-text));
	border-bottom-width:var(--fc-header-border-width,1px);
}
.fc-site-header a,
.fc-site-header button{color:inherit}
.fc-site-header .fc-search-panel,
.fc-site-header .fc-mobile-panel{background:var(--fc-header-bg,#fff);color:var(--fc-header-text,var(--fc-text))}
.fc-header-width-full .fc-header-inner,
.fc-header-width-full .fc-search-panel>.fc-container,
.fc-header-width-full .fc-mobile-panel>.fc-container{
	width:100%;
	max-width:none;
	padding-inline:var(--fc-gutter,24px);
}
.fc-site-footer{background:var(--fc-footer-bg,#111318);color:var(--fc-footer-text,#fff)}
.fc-site-footer .fc-footer-bottom{color:color-mix(in srgb,var(--fc-footer-text,#fff) 78%,transparent)}
.fc-footer-width-full .fc-footer-inner{
	width:100%;
	max-width:none;
	padding-inline:var(--fc-gutter,24px);
}
.fc-footer-grid.fc-footer-cols-1{grid-template-columns:1fr}
.fc-footer-grid.fc-footer-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fc-footer-grid.fc-footer-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fc-footer-grid.fc-footer-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:960px){
	.fc-footer-grid.fc-footer-cols-3,
	.fc-footer-grid.fc-footer-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
	.fc-footer-grid.fc-footer-cols-2,
	.fc-footer-grid.fc-footer-cols-3,
	.fc-footer-grid.fc-footer-cols-4{grid-template-columns:1fr}
}


/* v0.8 Components & Patterns */

/* Section primitives */
.fc-section-heading{max-width:780px;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.fc-section-heading.is-centered{text-align:center;margin-inline:auto}
.fc-section-heading h2{margin:.25rem 0 .75rem;font-size:clamp(2rem,4vw,3.6rem);line-height:1.04;letter-spacing:-.035em}
.fc-section-heading p{margin:0;color:var(--fc-muted);font-size:1.08em}
.fc-lead{font-size:clamp(1.08rem,1.5vw,1.3rem);color:var(--fc-muted)}
.fc-title-xl{font-size:clamp(2.6rem,5.5vw,5rem);line-height:1.04;letter-spacing:-.026em}

/* Card system */
.fc-card-interactive{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.fc-card-interactive:hover{transform:translateY(-3px);box-shadow:var(--fc-shadow);border-color:color-mix(in srgb,var(--fc-accent) 42%,var(--fc-border))}
.fc-card-body{padding:clamp(1rem,2vw,1.5rem)}
.fc-card-title{margin:0 0 .45rem;font-size:1.2rem;line-height:1.2}
.fc-card-text{margin:0;color:var(--fc-muted)}
.fc-card-media{position:relative;overflow:hidden;background:var(--fc-surface)}
.fc-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.fc-card-dark{background:var(--fc-accent-alt);color:#fff;border-color:transparent}
.fc-card-accent{background:var(--fc-accent);color:#111318;border-color:transparent}

/* Category / catalog presentation */
.fc-category-card{display:flex;min-height:190px;flex-direction:column;justify-content:flex-end;padding:1.35rem;text-decoration:none;background:var(--fc-surface);border:1px solid var(--fc-border);border-radius:var(--fc-radius)}
.fc-category-card strong{font-size:1.25rem;line-height:1.15}
.fc-category-card span{margin-top:.35rem;color:var(--fc-muted)}
.fc-product-card{height:100%;display:flex;flex-direction:column}
.fc-product-card .fc-card-media{aspect-ratio:4/5}
.fc-product-card .fc-card-body{display:flex;flex:1;flex-direction:column}
.fc-product-card .fc-product-meta{margin-top:auto;padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem}

/* Feature / icon boxes */
.fc-icon-box{height:100%;padding:1.5rem;border:1px solid var(--fc-border);border-radius:var(--fc-radius);background:#fff}
.fc-icon-box .fc-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:1rem;border-radius:12px;background:var(--fc-accent);color:#111318;font-weight:900}
.fc-icon-box h3{margin:.2rem 0 .55rem;font-size:1.2rem}
.fc-icon-box p{margin:0;color:var(--fc-muted)}

/* Stats */
.fc-stat{text-align:center;padding:1.25rem}
.fc-stat-value{display:block;font-size:clamp(2rem,5vw,4rem);font-weight:850;line-height:1;letter-spacing:-.04em}
.fc-stat-label{display:block;margin-top:.45rem;color:var(--fc-muted);font-size:.9rem}

/* Steps */
.fc-steps{counter-reset:fc-step}
.fc-step{position:relative;padding:1.5rem 1.5rem 1.5rem 4.75rem;border:1px solid var(--fc-border);border-radius:var(--fc-radius);background:#fff}
.fc-step::before{counter-increment:fc-step;content:counter(fc-step);position:absolute;left:1.35rem;top:1.35rem;width:2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:50%;background:var(--fc-accent);color:#111318;font-weight:900}
.fc-step h3{margin:0 0 .4rem}
.fc-step p{margin:0;color:var(--fc-muted)}

/* Testimonials */
.fc-testimonial{height:100%;padding:1.6rem;border:1px solid var(--fc-border);border-radius:var(--fc-radius);background:#fff}
.fc-testimonial blockquote{margin:0;font-size:1.05rem}
.fc-testimonial cite{display:block;margin-top:1.15rem;color:var(--fc-muted);font-size:.9rem;font-style:normal}

/* Logo cloud */
.fc-logo-cloud{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;align-items:center}
.fc-logo-placeholder{min-height:72px;display:grid;place-items:center;padding:.75rem;border:1px solid var(--fc-border);border-radius:var(--fc-radius);background:#fff;color:var(--fc-muted);font-size:.8rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}

/* Pricing */
.fc-pricing-card{height:100%;padding:1.6rem;border:1px solid var(--fc-border);border-radius:var(--fc-radius);background:#fff}
.fc-pricing-card.is-featured{border-color:var(--fc-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--fc-accent) 50%,transparent)}
.fc-price{display:flex;align-items:flex-end;gap:.35rem;margin:1rem 0}
.fc-price strong{font-size:clamp(2.4rem,5vw,4rem);line-height:1}
.fc-price span{padding-bottom:.35rem;color:var(--fc-muted)}

/* FAQ using native core/details */
.fc-faq-list{display:grid;gap:.75rem}
.fc-faq-list details{padding:1rem 1.1rem;border:1px solid var(--fc-border);border-radius:var(--fc-radius);background:#fff}
.fc-faq-list summary{cursor:pointer;font-weight:800}
.fc-faq-list details>*:not(summary){color:var(--fc-muted)}

/* Split layout helpers */
.fc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.fc-media-placeholder{min-height:360px;display:grid;place-items:center;padding:2rem;border-radius:var(--fc-radius);background:linear-gradient(135deg,var(--fc-surface),#fff);border:1px dashed #cbd2dc;color:var(--fc-muted)}

/* Status / notices */
.fc-notice{padding:1rem 1.1rem;border-left:4px solid var(--fc-accent);border-radius:0 var(--fc-radius) var(--fc-radius) 0;background:var(--fc-surface)}
.fc-badge-muted{background:var(--fc-surface);color:var(--fc-text);border:1px solid var(--fc-border)}
.fc-badge-dark{background:var(--fc-accent-alt);color:#fff}

/* Pattern shells */
.fc-pattern-section{padding-block:var(--fc-section-space,clamp(2.5rem,6vw,6rem))}
.fc-pattern-surface{background:var(--fc-surface)}
.fc-pattern-dark{background:var(--fc-accent-alt);color:#fff}
.fc-pattern-dark .fc-section-heading p,
.fc-pattern-dark .fc-lead{color:color-mix(in srgb,#fff 74%,transparent)}

@media (max-width:960px){
	.fc-logo-cloud{grid-template-columns:repeat(3,minmax(0,1fr))}
	.fc-split{grid-template-columns:1fr}
}
@media (max-width:600px){
	.fc-logo-cloud{grid-template-columns:repeat(2,minmax(0,1fr))}
	.fc-step{padding-left:4.25rem}
}

/* ================================================================
 * Consolidated from jf-visual-system.css — 0.15.0 hardening
 * ================================================================ */

/**
 * ForgeCommerce 0.10.0 — JF Visual System.
 *
 * Presentation only. No business logic, remote assets or external fonts.
 */

:root{
	--jf-ink:#0b1011;
	--jf-charcoal:#101718;
	--jf-charcoal-2:#172022;
	--jf-lime:#b8ff24;
	--jf-lime-soft:#eaffad;
	--jf-surface:#f6f8f4;
	--jf-surface-warm:#f2f4ef;
	--jf-steel:#dbe2dc;
	--jf-muted:#596462;
	--jf-danger:#b42318;
	--jf-success:#18794e;
	--jf-radius-xs:8px;
	--jf-radius-sm:12px;
	--jf-radius-md:18px;
	--jf-radius-lg:28px;
	--jf-shadow-sm:0 1px 2px rgba(16,20,22,.08),0 8px 24px rgba(16,20,22,.05);
	--jf-shadow-md:0 18px 50px rgba(16,20,22,.12);
	--jf-transition:180ms cubic-bezier(.2,.7,.2,1);
}

.fc-style-jf{
	--fc-accent:var(--jf-lime);
	--fc-accent-alt:var(--jf-charcoal);
	--fc-bg:#fbfcf9;
	--fc-text:var(--jf-ink);
	--fc-muted:var(--jf-muted);
	--fc-surface:var(--jf-surface);
	--fc-border:var(--jf-steel);
	--fc-radius:18px;
	--fc-button-radius:12px;
	--fc-shadow:var(--jf-shadow-md);
}

.fc-visual-system-010{
	overflow-x:clip;
	background:var(--fc-bg,#fbfcf8);
}

.fc-visual-system-010 ::selection{
	background:var(--fc-accent,var(--jf-lime));
	color:var(--jf-ink);
}

.fc-visual-system-010 h1,
.fc-visual-system-010 h2,
.fc-visual-system-010 h3,
.fc-visual-system-010 h4{
	text-wrap:balance;
}

.fc-visual-system-010 h1,
.fc-visual-system-010 h2{
	letter-spacing:-.045em;
}

.fc-visual-system-010 p,
.fc-visual-system-010 li{
	text-wrap:pretty;
}

.fc-visual-system-010 a{
	text-underline-offset:.18em;
	text-decoration-thickness:.08em;
}

.fc-visual-system-010 .fc-site-main{
	isolation:isolate;
}

/* Header polish without changing the validated navigation structure. */
.fc-visual-system-010 .fc-site-header{
	background:color-mix(in srgb,var(--fc-header-bg,#fff) 94%,transparent);
	backdrop-filter:saturate(150%) blur(16px);
	-webkit-backdrop-filter:saturate(150%) blur(16px);
}

.fc-visual-system-010 .fc-header-inner{
	gap:clamp(1rem,2.5vw,2.5rem);
}

.fc-visual-system-010 .fc-primary-menu{
	gap:clamp(.8rem,1.7vw,1.6rem);
}

.fc-visual-system-010 .fc-primary-menu>li>a{
	position:relative;
	padding:.55rem 0;
	font-size:.86rem;
	font-weight:850;
	letter-spacing:.015em;
}

.fc-visual-system-010 .fc-primary-menu>li>a::after{
	content:"";
	position:absolute;
	left:0;
	right:100%;
	bottom:.28rem;
	height:3px;
	border-radius:99px;
	background:var(--fc-accent,var(--jf-lime));
	transition:right var(--jf-transition);
}

.fc-visual-system-010 .fc-primary-menu>li:hover>a::after,
.fc-visual-system-010 .fc-primary-menu>li:focus-within>a::after,
.fc-visual-system-010 .fc-primary-menu>.current-menu-item>a::after,
.fc-visual-system-010 .fc-primary-menu>.current-menu-ancestor>a::after{
	right:0;
}

.fc-visual-system-010 .fc-primary-menu .sub-menu{
	border-color:color-mix(in srgb,var(--fc-border) 78%,transparent);
	border-radius:var(--jf-radius-md);
	box-shadow:var(--jf-shadow-md);
}

.fc-visual-system-010 .fc-search-panel{
	padding:1.25rem 0 1.5rem;
	box-shadow:0 18px 40px rgba(16,20,22,.08);
}

.fc-visual-system-010 .fc-icon-button,
.fc-visual-system-010 .fc-menu-toggle{
	transition:background var(--jf-transition),border-color var(--jf-transition),transform var(--jf-transition);
}

.fc-visual-system-010 .fc-icon-button:hover,
.fc-visual-system-010 .fc-menu-toggle:hover{
	border-color:var(--fc-text);
	background:var(--fc-surface);
	transform:translateY(-1px);
}

/* Buttons and action hierarchy. */
.fc-visual-system-010 .fc-button,
.fc-visual-system-010 .wp-block-button__link,
.fc-visual-system-010 input[type="submit"],
.fc-visual-system-010 button[type="submit"]{
	min-height:48px;
	padding:.82rem 1.2rem;
	border-radius:var(--fc-button-radius,var(--jf-radius-sm));
	font-size:.92rem;
	font-weight:850;
	letter-spacing:.01em;
	box-shadow:none;
	transition:transform var(--jf-transition),box-shadow var(--jf-transition),background var(--jf-transition),border-color var(--jf-transition);
}

.fc-visual-system-010 .fc-button:hover,
.fc-visual-system-010 .wp-block-button__link:hover,
.fc-visual-system-010 input[type="submit"]:hover,
.fc-visual-system-010 button[type="submit"]:hover{
	transform:translateY(-2px);
	box-shadow:0 10px 24px rgba(16,20,22,.14);
}

.fc-visual-system-010 .fc-button-primary,
.fc-visual-system-010 .wp-block-button:not(.is-style-outline) .wp-block-button__link{
	background:var(--fc-accent,var(--jf-lime));
	color:var(--jf-ink);
}

.fc-visual-system-010 .fc-button-primary:hover,
.fc-visual-system-010 .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{
	background:color-mix(in srgb,var(--fc-accent,var(--jf-lime)) 84%,#fff);
}

.fc-visual-system-010 .fc-button-secondary{
	background:var(--fc-accent-alt,var(--jf-charcoal));
	color:#fff;
}

.fc-visual-system-010 .fc-button-outline,
.fc-visual-system-010 .wp-block-button.is-style-outline .wp-block-button__link{
	border:1px solid currentColor;
	background:transparent;
	color:inherit;
}

/* Forms are commercial UI, not an afterthought. */
.fc-visual-system-010 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.fc-visual-system-010 select,
.fc-visual-system-010 textarea{
	width:100%;
	min-height:48px;
	padding:.75rem .9rem;
	border:1px solid var(--fc-border,var(--jf-steel));
	border-radius:var(--jf-radius-sm);
	background:#fff;
	color:var(--fc-text,var(--jf-ink));
	box-shadow:0 1px 0 rgba(16,20,22,.02);
	transition:border-color var(--jf-transition),box-shadow var(--jf-transition),background var(--jf-transition);
}

.fc-visual-system-010 textarea{
	min-height:128px;
	resize:vertical;
}

.fc-visual-system-010 input:focus,
.fc-visual-system-010 select:focus,
.fc-visual-system-010 textarea:focus{
	border-color:var(--fc-text,var(--jf-ink));
	box-shadow:0 0 0 4px color-mix(in srgb,var(--fc-accent,var(--jf-lime)) 35%,transparent);
	outline:0;
}

.fc-visual-system-010 label{
	font-weight:750;
}

/* Cards and content surfaces. */
.fc-visual-system-010 .fc-card,
.fc-visual-system-010 .fc-panel,
.fc-visual-system-010 .fc-icon-box,
.fc-visual-system-010 .fc-step,
.fc-visual-system-010 .fc-testimonial,
.fc-visual-system-010 .fc-pricing-card{
	border-color:var(--fc-border,var(--jf-steel));
	border-radius:var(--fc-radius,var(--jf-radius-md));
	box-shadow:var(--jf-shadow-sm);
}

.fc-visual-system-010 .fc-card-interactive{
	transition:transform var(--jf-transition),box-shadow var(--jf-transition),border-color var(--jf-transition);
}

.fc-visual-system-010 .fc-card-interactive:hover{
	transform:translateY(-5px);
	border-color:color-mix(in srgb,var(--fc-accent,var(--jf-lime)) 62%,var(--fc-border));
	box-shadow:var(--jf-shadow-md);
}

.fc-visual-system-010 .fc-kicker,
.fc-visual-system-010 .fc-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	color:var(--fc-text,var(--jf-ink));
	font-size:.72rem;
	font-weight:900;
	letter-spacing:.14em;
}

.fc-visual-system-010 .fc-kicker::before,
.fc-visual-system-010 .fc-eyebrow::before{
	content:"";
	width:22px;
	height:4px;
	border-radius:99px;
	background:var(--fc-accent,var(--jf-lime));
}

.fc-visual-system-010 .fc-section-heading h2{
	max-width:18ch;
	font-size:clamp(2.1rem,4vw,3.8rem);
	line-height:1.05;
}

.fc-visual-system-010 .fc-section-heading.is-centered h2{
	margin-inline:auto;
}

.fc-visual-system-010 .fc-section-heading p{
	max-width:62ch;
	font-size:clamp(1rem,1.5vw,1.2rem);
}

.fc-visual-system-010 .fc-section-heading.is-centered p{
	margin-inline:auto;
}

/* JF hero foundation. */
.jf-hero{
	position:relative;
	overflow:hidden;
	min-height:min(760px,82vh);
	display:grid;
	align-items:end;
	padding-block:clamp(5rem,11vw,9rem) clamp(3rem,7vw,6rem);
	background:var(--jf-charcoal);
	color:#fff;
}

.jf-hero::before{
	content:"";
	position:absolute;
	inset:0;
	background:
		radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--fc-accent,var(--jf-lime)) 28%,transparent),transparent 34%),
		linear-gradient(115deg,rgba(16,20,22,.98) 0%,rgba(16,20,22,.88) 52%,rgba(16,20,22,.42) 100%);
	pointer-events:none;
}

.jf-hero>*{
	position:relative;
	z-index:1;
}

.jf-hero .jf-hero-title{
	max-width:13ch;
	margin:.35rem 0 1rem;
	font-size:clamp(2.8rem,5.8vw,5.4rem);
	line-height:1.01;
	letter-spacing:-.028em;
}

.jf-hero .jf-hero-lead{
	max-width:58ch;
	margin:0 0 1.5rem;
	color:rgba(255,255,255,.76);
	font-size:clamp(1.05rem,1.8vw,1.35rem);
}

.jf-hero .fc-kicker{
	color:#fff;
}

.jf-hero-actions{
	display:flex;
	flex-wrap:wrap;
	gap:.75rem;
}

/* Three high-level customer routes. */
.jf-route-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1rem;
}

.jf-route-card{
	position:relative;
	min-height:320px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding:clamp(1.25rem,3vw,2rem);
	overflow:hidden;
	border:1px solid var(--fc-border,var(--jf-steel));
	border-radius:var(--jf-radius-lg);
	background:var(--fc-surface,var(--jf-surface));
	color:var(--fc-text,var(--jf-ink));
	text-decoration:none;
	transition:transform var(--jf-transition),box-shadow var(--jf-transition),background var(--jf-transition);
}

.jf-route-card::after{
	content:"↗";
	align-self:flex-end;
	width:46px;
	height:46px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:var(--fc-accent,var(--jf-lime));
	color:var(--jf-ink);
	font-size:1.25rem;
	font-weight:900;
	transition:transform var(--jf-transition);
}

.jf-route-card:hover{
	transform:translateY(-5px);
	background:#fff;
	box-shadow:var(--jf-shadow-md);
}

.jf-route-card:hover::after{
	transform:rotate(8deg) scale(1.06);
}

.jf-route-number{
	font-size:.76rem;
	font-weight:900;
	letter-spacing:.16em;
	color:var(--fc-muted,var(--jf-muted));
}

.jf-route-card h3{
	max-width:12ch;
	margin:auto 0 .65rem;
	font-size:clamp(1.65rem,2.5vw,2.5rem);
	line-height:1.05;
}

.jf-route-card p{
	max-width:36ch;
	margin:0 0 1.2rem;
	color:var(--fc-muted,var(--jf-muted));
}

/* Trust / coverage strip. */
.jf-trust-strip{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:0;
	overflow:hidden;
	border:1px solid var(--fc-border,var(--jf-steel));
	border-radius:var(--jf-radius-md);
	background:#fff;
}

.jf-trust-item{
	min-height:110px;
	display:flex;
	align-items:center;
	gap:.9rem;
	padding:1.25rem;
}

.jf-trust-item+.jf-trust-item{
	border-left:1px solid var(--fc-border,var(--jf-steel));
}

.jf-trust-mark{
	width:42px;
	height:42px;
	flex:0 0 42px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:var(--fc-accent,var(--jf-lime));
	color:var(--jf-ink);
	font-size:.75rem;
	font-weight:950;
}

.jf-trust-item strong,
.jf-trust-item span{
	display:block;
}

.jf-trust-item span{
	margin-top:.15rem;
	color:var(--fc-muted,var(--jf-muted));
	font-size:.9rem;
}

/* Volume pricing story. Exact prices remain content, never theme logic. */
.jf-volume-panel{
	position:relative;
	overflow:hidden;
	padding:clamp(2rem,5vw,4.5rem);
	border-radius:var(--jf-radius-lg);
	background:var(--jf-charcoal);
	color:#fff;
}

.jf-volume-panel::after{
	content:"";
	position:absolute;
	width:340px;
	height:340px;
	right:-150px;
	top:-170px;
	border-radius:50%;
	background:var(--fc-accent,var(--jf-lime));
	opacity:.18;
}

.jf-volume-panel>*{
	position:relative;
	z-index:1;
}

.jf-volume-panel .fc-kicker,
.jf-volume-panel .fc-section-heading p{
	color:rgba(255,255,255,.76);
}

.jf-volume-tiers{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:.75rem;
	margin-top:clamp(1.5rem,4vw,3rem);
}

.jf-volume-tier{
	min-height:190px;
	display:flex;
	flex-direction:column;
	padding:1.25rem;
	border:1px solid rgba(255,255,255,.15);
	border-radius:var(--jf-radius-md);
	background:rgba(255,255,255,.06);
}

.jf-volume-tier.is-highlighted{
	border-color:var(--fc-accent,var(--jf-lime));
	background:var(--fc-accent,var(--jf-lime));
	color:var(--jf-ink);
}

.jf-volume-tier small{
	font-weight:850;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.jf-volume-tier strong{
	display:block;
	margin:auto 0 .45rem;
	font-size:clamp(1.4rem,2.5vw,2.2rem);
	line-height:1;
}

.jf-volume-tier p{
	margin:0;
	color:rgba(255,255,255,.68);
}

.jf-volume-tier.is-highlighted p{
	color:color-mix(in srgb,var(--jf-ink) 72%,transparent);
}

/* Useful Gutenberg defaults. */
.fc-visual-system-010 .wp-block-separator{
	border-color:var(--fc-border,var(--jf-steel));
}

.fc-visual-system-010 .wp-block-quote{
	padding:1.25rem 1.5rem;
	border-left:5px solid var(--fc-accent,var(--jf-lime));
	background:var(--fc-surface,var(--jf-surface));
}

.fc-visual-system-010 .wp-block-details{
	border-color:var(--fc-border,var(--jf-steel));
	border-radius:var(--jf-radius-sm);
}

.fc-visual-system-010 .wp-block-table table{
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	border:1px solid var(--fc-border,var(--jf-steel));
	border-radius:var(--jf-radius-sm);
}

.fc-visual-system-010 .wp-block-table th{
	background:var(--fc-surface,var(--jf-surface));
}

/* Footer refinement. */
.fc-visual-system-010 .fc-site-footer{
	position:relative;
	overflow:hidden;
}

.fc-visual-system-010 .fc-site-footer::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:4px;
	background:var(--fc-accent,var(--jf-lime));
}

.fc-visual-system-010 .fc-site-footer .widget-title{
	font-size:.78rem;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.fc-visual-system-010 .fc-site-footer a{
	text-decoration:none;
	transition:color var(--jf-transition);
}

.fc-visual-system-010 .fc-site-footer a:hover{
	color:var(--fc-accent,var(--jf-lime));
}

@media (max-width:960px){
	.jf-hero{
		min-height:680px;
	}

	.jf-route-grid,
	.jf-volume-tiers{
		grid-template-columns:1fr;
	}

	.jf-route-card{
		min-height:250px;
	}

	.jf-trust-strip{
		grid-template-columns:1fr;
	}

	.jf-trust-item+.jf-trust-item{
		border-left:0;
		border-top:1px solid var(--fc-border,var(--jf-steel));
	}
}

@media (max-width:600px){
	.fc-visual-system-010 .fc-button,
	.fc-visual-system-010 .wp-block-button__link{
		width:100%;
	}

	.jf-hero{
		min-height:620px;
		padding-block:5rem 2.5rem;
	}

	.jf-hero .jf-hero-title{
		font-size:clamp(2.6rem,11.5vw,4rem);
	}

	.jf-hero-actions,
	.jf-hero-actions .wp-block-button,
	.jf-hero-actions .fc-button{
		width:100%;
	}

	.jf-route-card,
	.jf-volume-panel{
		border-radius:var(--jf-radius-md);
	}
}

@media (prefers-reduced-motion:reduce){
	.fc-visual-system-010 .fc-card-interactive:hover,
	.fc-visual-system-010 .fc-button:hover,
	.fc-visual-system-010 .wp-block-button__link:hover,
	.jf-route-card:hover{
		transform:none;
	}
}

/* ================================================================
 * Consolidated from navigation-system.css — 0.15.0 hardening
 * ================================================================ */

/**
 * ForgeCommerce 0.11.0 — commercial navigation and footer system.
 */

.fc-navigation-system-011{
	--fc-topbar-height:38px;
}

.fc-navigation-system-011 .fc-topbar{
	min-height:var(--fc-topbar-height);
	background:var(--fc-accent-alt,#161a20);
	color:#fff;
	font-size:.76rem;
	font-weight:750;
	letter-spacing:.015em;
}

.fc-navigation-system-011 .fc-topbar-inner{
	min-height:var(--fc-topbar-height);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1.25rem;
}

.fc-navigation-system-011 .fc-topbar-message{
	margin:0;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.fc-navigation-system-011 .fc-topbar-actions,
.fc-navigation-system-011 .fc-utility-menu{
	display:flex;
	align-items:center;
	gap:1rem;
}

.fc-navigation-system-011 .fc-utility-menu{
	margin:0;
	padding:0;
	list-style:none;
}

.fc-navigation-system-011 .fc-topbar a{
	color:inherit;
	text-decoration:none;
}

.fc-navigation-system-011 .fc-topbar-link{
	display:inline-flex;
	align-items:center;
	gap:.35rem;
	white-space:nowrap;
}

.fc-navigation-system-011 .fc-topbar-link svg{
	width:15px;
	height:15px;
}

.fc-navigation-system-011 .fc-site-title{
	font-size:clamp(1rem,1.55vw,1.3rem);
	font-weight:900;
	letter-spacing:-.035em;
}

.fc-navigation-system-011 .fc-header-actions,
.fc-navigation-system-011 .fc-commerce-actions{
	display:flex;
	align-items:center;
	gap:.55rem;
}

.fc-navigation-system-011 .fc-icon-button svg,
.fc-navigation-system-011 .fc-mobile-commerce-link svg{
	width:21px;
	height:21px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.8;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.fc-navigation-system-011 .fc-mobile-panel-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:.25rem 0 .85rem;
	border-bottom:1px solid var(--fc-border);
}

.fc-navigation-system-011 .fc-mobile-panel-title{
	font-size:.78rem;
	font-weight:900;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.fc-navigation-system-011 .fc-mobile-menu>li>a{
	display:block;
	padding:1rem .15rem;
	font-size:1.05rem;
	font-weight:850;
	text-decoration:none;
}

.fc-navigation-system-011 .fc-mobile-menu .sub-menu{
	margin:0 0 .75rem;
	padding:0 0 0 1rem;
	list-style:none;
}

.fc-navigation-system-011 .fc-mobile-menu .sub-menu a{
	display:block;
	padding:.55rem 0;
	text-decoration:none;
}

.fc-navigation-system-011 .fc-mobile-quick-actions{
	display:none;
	grid-template-columns:1fr 1fr;
	gap:.75rem;
	margin-top:1.25rem;
	padding-top:1.25rem;
	border-top:1px solid var(--fc-border);
}

.fc-navigation-system-011 .fc-mobile-quick-actions>.fc-button{
	grid-column:1/-1;
}

.fc-navigation-system-011 .fc-mobile-commerce-link{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	min-height:46px;
	padding:.65rem .8rem;
	border:1px solid var(--fc-border);
	border-radius:var(--fc-button-radius);
	font-weight:800;
	text-decoration:none;
}

.fc-navigation-system-011 .fc-footer-lead{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:end;
	gap:2rem;
	padding-bottom:2.25rem;
}

.fc-navigation-system-011 .fc-footer-lead-copy{
	max-width:720px;
}

.fc-navigation-system-011 .fc-footer-brand{
	margin:0;
	font-size:clamp(1.65rem,3vw,2.6rem);
	font-weight:900;
	letter-spacing:-.045em;
	line-height:1;
}

.fc-navigation-system-011 .fc-footer-description{
	max-width:58ch;
	margin:.9rem 0 0;
	color:color-mix(in srgb,var(--fc-footer-text,#fff) 76%,transparent);
	font-size:1rem;
}

.fc-navigation-system-011 .fc-footer-grid{
	padding-top:2.25rem;
	border-top:1px solid rgba(255,255,255,.12);
}

.fc-navigation-system-011 .fc-footer-lead+.fc-footer-bottom,
.fc-navigation-system-011 .fc-footer-lead+.fc-footer-grid+.fc-footer-bottom{
	margin-top:0;
}

.fc-navigation-system-011 .fc-footer-menu a{
	font-weight:700;
}

@media (max-width:1180px){
	.fc-navigation-system-011 .fc-commerce-actions{display:none}
}

@media (max-width:1100px){
	.fc-navigation-system-011 .fc-header-inner{
		min-height:68px;
		grid-template-columns:minmax(0,1fr) auto;
		gap:1rem;
	}

	.fc-navigation-system-011 .fc-brand-wrap,
	.fc-navigation-system-011 .fc-site-branding{min-width:0}
	.fc-navigation-system-011 .fc-brand-wrap{overflow:hidden}
	.fc-navigation-system-011 .fc-desktop-nav{display:none}
	.fc-navigation-system-011 .fc-menu-toggle{display:block}
	.fc-navigation-system-011 .fc-header-cta,
	.fc-navigation-system-011 .fc-header-cta.fc-header-cta-mobile{display:none}
	.fc-navigation-system-011 .fc-mobile-quick-actions{display:grid}

	.fc-navigation-system-011.fc-mobile-menu-panel .fc-mobile-panel{
		inset:calc(var(--fc-header-height,76px) + var(--fc-topbar-height)) 0 0;
	}
}

@media (max-width:700px){
	.fc-navigation-system-011 .fc-topbar-inner{justify-content:center}
	.fc-navigation-system-011 .fc-topbar-actions{display:none}
	.fc-navigation-system-011 .fc-footer-lead{
		grid-template-columns:1fr;
		align-items:start;
	}
	.fc-navigation-system-011 .fc-footer-cta{justify-self:start}
}

@media (max-width:420px){
	.fc-navigation-system-011 .fc-topbar-message{font-size:.7rem}
	.fc-navigation-system-011 .fc-mobile-quick-actions{grid-template-columns:1fr}
	.fc-navigation-system-011 .fc-mobile-quick-actions>.fc-button{grid-column:auto}
}

/* ================================================================
 * Consolidated from shell-013.css — 0.15.0 hardening
 * ================================================================ */

/**
 * ForgeCommerce JF 0.13.6 — global shell and navigation system.
 * No external fonts, page builders or paid mega-menu dependencies.
 */

.fc-shell-0130{
	--jf-ink:#0b1011;
	--jf-carbon:#101718;
	--jf-carbon-2:#172022;
	--jf-volt:#b8ff24;
	--jf-volt-strong:#a8f900;
	--jf-paper:#f6f8f4;
	--jf-white:#ffffff;
	--jf-steel:#dbe2dc;
	--jf-steel-2:#c9d2cb;
	--jf-muted:#596462;
	--jf-blue:#2d5bff;
	--jf-radius-xs:8px;
	--jf-radius-sm:12px;
	--jf-radius-md:18px;
	--jf-radius-lg:28px;
	--jf-shadow-float:0 24px 70px rgba(11,16,17,.16);
	--jf-shadow-card:0 10px 35px rgba(11,16,17,.07);
}

.fc-shell-0130 .fc-site-header{
	position:sticky;
	top:0;
	z-index:120;
	background:var(--fc-header-bg);
	border-bottom:1px solid color-mix(in srgb,var(--fc-border) 84%,transparent);
	box-shadow:0 1px 0 rgba(11,16,17,.02);
}

.admin-bar.fc-shell-0130 .fc-site-header{top:32px}

.fc-shell-0130 .fc-topbar{
	background:var(--jf-carbon);
	color:#fff;
}

.fc-shell-0130 .fc-topbar-message{font-weight:780;letter-spacing:.01em}

.fc-shell-0130 .fc-header-inner{
	min-height:76px;
	grid-template-columns:minmax(210px,1fr) auto minmax(260px,1fr);
	gap:clamp(1rem,2.2vw,2.5rem);
}

.fc-shell-0130 .fc-brand-wrap{justify-self:start;min-width:0}
.fc-shell-0130 .fc-desktop-nav{justify-self:center}
.fc-shell-0130 .fc-header-actions{justify-self:end}

.fc-shell-0130 .fc-site-title{
	display:inline-flex;
	align-items:center;
	gap:.72rem;
	font-size:clamp(.94rem,1.15vw,1.08rem);
	font-weight:950;
	letter-spacing:.065em;
	text-transform:uppercase;
	white-space:nowrap;
}

.fc-shell-0130 .fc-site-logo-fallback{
	display:block;
	width:clamp(112px,9vw,130px);
	margin-block:.55rem;
	line-height:0;
}

.fc-shell-0130 .fc-site-logo-fallback img{
	display:block;
	width:100%;
	height:auto;
}

.fc-shell-0130 .fc-brand-mark{
	display:inline-block;
	width:30px;
	height:10px;
	border-radius:3px;
	background:var(--fc-accent,var(--jf-volt));
	box-shadow:inset 0 -1px 0 rgba(0,0,0,.08);
}

.fc-shell-0130 .fc-system-menu{
	gap:clamp(.75rem,1.35vw,1.35rem);
}

.fc-shell-0130 .fc-system-menu>li>a{
	display:flex;
	align-items:center;
	gap:.35rem;
	padding:.75rem 0;
	font-size:.84rem;
	font-weight:880;
	letter-spacing:.01em;
	white-space:nowrap;
}

.fc-shell-0130 .fc-nav-caret{
	font-size:.92rem;
	line-height:1;
	transform:translateY(-1px);
	transition:transform 160ms ease;
}

.fc-mega-open .fc-catalog-trigger .fc-nav-caret{transform:rotate(180deg) translateY(1px)}

.fc-shell-0130 .fc-icon-button{
	width:46px;
	height:46px;
	border-radius:12px;
	background:#fff;
}

.fc-shell-0130 .fc-header-cta{
	min-height:46px;
	padding-inline:1.25rem;
	border-radius:12px;
	background:var(--fc-accent,var(--jf-volt));
	color:var(--jf-ink);
	box-shadow:0 8px 20px color-mix(in srgb,var(--fc-accent,var(--jf-volt)) 18%,transparent);
}
.fc-shell-0130 .fc-header-cta:hover{background:color-mix(in srgb,var(--fc-accent,var(--jf-volt)) 88%,#000)}

/* Mega menu */
.fc-shell-0130 .fc-catalog-mega-panel{
	position:absolute;
	left:0;
	right:0;
	top:100%;
	z-index:140;
	padding:0 .75rem .75rem;
	background:transparent;
}

.fc-shell-0130 .fc-catalog-mega-panel[hidden]{display:none}

.fc-shell-0130 .fc-catalog-mega-panel>.fc-container{
	width:min(calc(100% - 1.5rem),1500px);
	max-height:min(56dvh,500px);
	margin-top:.45rem;
	padding:.58rem;
	border:1px solid var(--fc-border);
	border-radius:0 0 20px 20px;
	background:#fff;
	box-shadow:var(--jf-shadow-float);
	overflow-x:hidden;
	overflow-y:auto;
	overscroll-behavior:contain;
	scrollbar-gutter:auto;
}

.fc-shell-0130 .fc-catalog-mega-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding:0 0 .45rem;
}

.fc-shell-0130 .fc-catalog-mega-toolbar>strong{
	font-size:.72rem;
	font-weight:950;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--jf-muted);
}

.fc-shell-0130 .fc-catalog-mega-close{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	min-height:38px;
	padding:.38rem .45rem .38rem .78rem;
	border:1px solid var(--fc-border);
	border-radius:999px;
	background:#fff;
	color:var(--jf-ink);
	font:inherit;
	font-size:.76rem;
	font-weight:850;
	cursor:pointer;
}

.fc-shell-0130 .fc-catalog-mega-close b{
	display:grid;
	place-items:center;
	width:26px;
	height:26px;
	border-radius:50%;
	background:var(--jf-paper);
	font-size:1.15rem;
	font-weight:500;
	line-height:1;
}

.fc-shell-0130 .fc-catalog-mega-close:hover,
.fc-shell-0130 .fc-catalog-mega-close:focus-visible{border-color:var(--jf-ink);background:var(--jf-paper)}

.fc-shell-0130 .fc-catalog-mega-content{
	border:1px solid var(--fc-border);
	border-radius:14px;
	background:#fff;
	overflow:hidden;
}

.fc-shell-0130 .fc-catalog-mega-grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:0;
}

.fc-shell-0130 .fc-catalog-mega-group{
	padding:.78rem .9rem .7rem;
	border-right:1px solid var(--fc-border);
}
.fc-shell-0130 .fc-catalog-mega-group:last-child{border-right:0}

.fc-shell-0130 .fc-catalog-mega-group h2{
	margin:0 0 .4rem;
	font-size:.72rem;
	font-weight:950;
	letter-spacing:.13em;
	text-transform:uppercase;
	color:var(--jf-muted);
}

.fc-shell-0130 .fc-catalog-mega-group ul{list-style:none;margin:0;padding:0}
.fc-shell-0130 .fc-catalog-mega-group li+li{margin-top:0}
.fc-shell-0130 .fc-catalog-mega-group a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.65rem;
	padding:.25rem .48rem;
	margin-inline:-.56rem;
	border-radius:9px;
	font-size:.85rem;
	font-weight:720;
	text-decoration:none;
	transition:background 150ms ease,transform 150ms ease;
}

.fc-shell-0130 .fc-footer-logo{
	display:block;
	width:clamp(150px,16vw,215px);
	margin:0 0 1rem;
	line-height:0;
}

.fc-shell-0130 .fc-footer-logo img{display:block;width:100%;height:auto}
.fc-shell-0130 .fc-catalog-mega-group a span{opacity:0;transform:translateX(-5px);transition:inherit}
.fc-shell-0130 .fc-catalog-mega-group a:hover,
.fc-shell-0130 .fc-catalog-mega-group a:focus-visible{background:var(--jf-paper);transform:translateX(2px)}
.fc-shell-0130 .fc-catalog-mega-group a:hover span,
.fc-shell-0130 .fc-catalog-mega-group a:focus-visible span{opacity:1;transform:none}

.fc-shell-0130 .fc-catalog-mega-footer{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:0;
	border-top:1px solid var(--fc-border);
	background:var(--jf-paper);
}
.fc-shell-0130 .fc-catalog-mega-footer>a{
	display:grid;
	align-content:center;
	gap:.2rem;
	min-height:50px;
	padding:.65rem 1rem;
	text-decoration:none;
}
.fc-shell-0130 .fc-catalog-mega-footer>a+ a{border-left:1px solid var(--fc-border)}
.fc-shell-0130 .fc-catalog-mega-footer strong{display:block;font-size:.95rem;line-height:1.18}
.fc-shell-0130 .fc-catalog-mega-footer span{display:block;font-size:.78rem;line-height:1.25;color:var(--jf-muted)}
.fc-shell-0130 .fc-catalog-mega-guide{position:relative;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kicker arrow" "title arrow";column-gap:1rem;row-gap:.15rem;align-items:center;padding-right:1.25rem!important;background:var(--jf-carbon);color:#fff}
.fc-shell-0130 .fc-catalog-mega-guide span{color:rgba(255,255,255,.68)}
.fc-shell-0130 .fc-catalog-mega-guide>span:last-child{grid-area:arrow;color:var(--fc-accent,var(--jf-volt));font-size:1.2rem}
.fc-shell-0130 .fc-catalog-mega-guide-kicker{grid-area:kicker;text-transform:uppercase;letter-spacing:.1em;font-weight:850}
.fc-shell-0130 .fc-catalog-mega-guide>strong{grid-area:title}
.fc-shell-0130 .fc-catalog-mega-panel .fc-catalog-mega-all span,
.fc-shell-0130 .fc-catalog-mega-panel .fc-catalog-mega-guide-kicker{display:none}
.fc-shell-0130 .fc-catalog-mega-panel .fc-catalog-mega-guide{
	grid-template-areas:"title arrow";
	row-gap:0;
}

/* Mobile navigation: native accordion, no mega-menu plugin. */
.fc-shell-0130 .fc-system-mobile-menu{list-style:none;margin:0;padding:0}
.fc-shell-0130 .fc-system-mobile-menu>li{border-bottom:1px solid var(--fc-border)}
.fc-shell-0130 .fc-system-mobile-menu>li>a,
.fc-shell-0130 .fc-mobile-catalog-details>summary{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding:1rem .1rem;
	font-size:1.03rem;
	font-weight:880;
	text-decoration:none;
	cursor:pointer;
	list-style:none;
}
.fc-shell-0130 .fc-mobile-catalog-details>summary::-webkit-details-marker{display:none}
.fc-shell-0130 .fc-mobile-catalog-details>summary span{font-size:1.35rem;font-weight:500;transition:transform 160ms ease}
.fc-shell-0130 .fc-mobile-catalog-details[open]>summary span{transform:rotate(45deg)}
.fc-shell-0130 .fc-catalog-mega-content.is-mobile{padding:0 0 1rem;border:0;border-radius:0;background:transparent}
.fc-shell-0130 .fc-mobile-catalog-intro{margin:.1rem 0 .7rem;color:var(--jf-muted);font-size:.78rem;font-weight:700}
.fc-shell-0130 .fc-catalog-mega-content.is-mobile .fc-catalog-mega-grid{display:block}
.fc-shell-0130 .fc-mobile-catalog-group{border:1px solid var(--fc-border);border-radius:12px;background:#fff;overflow:hidden}
.fc-shell-0130 .fc-mobile-catalog-group+.fc-mobile-catalog-group{margin-top:.55rem}
.fc-shell-0130 .fc-mobile-catalog-group>summary{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	min-height:50px;
	padding:.8rem .9rem;
	font-size:.9rem;
	font-weight:900;
	line-height:1.15;
	cursor:pointer;
	list-style:none;
}
.fc-shell-0130 .fc-mobile-catalog-group>summary::-webkit-details-marker{display:none}
.fc-shell-0130 .fc-mobile-catalog-group-icon{font-size:1.25rem;font-weight:500;line-height:1;transition:transform 160ms ease}
.fc-shell-0130 .fc-mobile-catalog-group[open] .fc-mobile-catalog-group-icon{transform:rotate(45deg)}
.fc-shell-0130 .fc-mobile-catalog-group>ul{list-style:none;margin:0;padding:0 .7rem .7rem}
.fc-shell-0130 .fc-mobile-catalog-group>ul li+li{border-top:1px solid var(--fc-border)}
.fc-shell-0130 .fc-mobile-catalog-group>ul a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.75rem;
	min-height:44px;
	padding:.65rem .25rem;
	font-size:.84rem;
	font-weight:760;
	text-decoration:none;
}
.fc-shell-0130 .fc-mobile-catalog-group>ul a>span{color:var(--fc-accent,var(--jf-volt));font-size:1rem}
.fc-shell-0130 .fc-catalog-mega-content.is-mobile .fc-catalog-mega-footer{grid-template-columns:1fr;margin-top:.75rem;border:1px solid var(--fc-border);border-radius:12px;overflow:hidden}
.fc-shell-0130 .fc-catalog-mega-content.is-mobile .fc-catalog-mega-footer>a+ a{border-left:0;border-top:1px solid var(--fc-border)}

/* Reusable system components for the next page phases. */
.fc-shell-0130 .fc-section{padding-block:var(--fc-section-space)}
.fc-shell-0130 .fc-grid-2,.fc-shell-0130 .fc-grid-3,.fc-shell-0130 .fc-grid-4{display:grid;gap:clamp(1rem,2vw,1.5rem)}
.fc-shell-0130 .fc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fc-shell-0130 .fc-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fc-shell-0130 .fc-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fc-shell-0130 .fc-chip{display:inline-flex;align-items:center;min-height:32px;padding:.35rem .72rem;border:1px solid var(--fc-border);border-radius:999px;background:#fff;font-size:.78rem;font-weight:800}
.fc-shell-0130 .fc-chip.is-accent{border-color:var(--fc-accent,var(--jf-volt));background:var(--fc-accent,var(--jf-volt));color:var(--jf-ink)}
.fc-shell-0130 .fc-card-system{border:1px solid var(--fc-border);border-radius:18px;background:#fff;box-shadow:var(--jf-shadow-card);overflow:hidden}
.fc-shell-0130 .fc-card-system-body{padding:clamp(1rem,2.5vw,1.45rem)}
.fc-shell-0130 .fc-trust-row{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;align-items:center;padding:1rem 0;border-block:1px solid var(--fc-border);font-size:.82rem;font-weight:800;color:var(--jf-muted)}
.fc-shell-0130 .fc-accordion{border-top:1px solid var(--fc-border)}
.fc-shell-0130 .fc-accordion details{border-bottom:1px solid var(--fc-border)}
.fc-shell-0130 .fc-accordion summary{cursor:pointer;padding:1rem 0;font-weight:850;list-style:none}
.fc-shell-0130 .fc-accordion summary::-webkit-details-marker{display:none}

/* Footer without widgets still looks intentional. */
.fc-shell-0130 .fc-system-footer-nav{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:2rem;
	padding:2.1rem 0;
	border-top:1px solid rgba(255,255,255,.12);
	border-bottom:1px solid rgba(255,255,255,.12);
}
.fc-shell-0130 .fc-system-footer-nav h2{margin:0 0 .75rem;color:rgba(255,255,255,.54);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.fc-shell-0130 .fc-system-footer-nav ul{list-style:none;margin:0;padding:0}
.fc-shell-0130 .fc-system-footer-nav li+li{margin-top:.45rem}
.fc-shell-0130 .fc-system-footer-nav a{color:#fff;text-decoration:none;font-size:.9rem;font-weight:720}
.fc-shell-0130 .fc-system-footer-nav .fc-footer-legal-button{margin:0;padding:0;border:0;background:transparent;color:#fff;font:inherit;font-size:.9rem;font-weight:720;text-align:left;cursor:pointer}
.fc-shell-0130 .fc-system-footer-nav a:hover{color:var(--fc-accent,var(--jf-volt))}
.fc-shell-0130 .fc-system-footer-nav .fc-footer-legal-button:hover{color:var(--fc-accent,var(--jf-volt))}

@media (max-width:1260px){
	.fc-shell-0130 .fc-catalog-mega-group{padding:.72rem .68rem .65rem}
	.fc-shell-0130 .fc-catalog-mega-group a{padding:.24rem .4rem;font-size:.82rem}
	.fc-shell-0130 .fc-header-inner{grid-template-columns:minmax(190px,1fr) auto minmax(210px,1fr)}
	.fc-shell-0130 .fc-system-menu>li>a{font-size:.8rem}
	.fc-shell-0130 .fc-commerce-actions{display:none}
}

@media (max-width:1100px){
	.admin-bar.fc-shell-0130 .fc-site-header{top:46px}
	.fc-shell-0130 .fc-header-inner{grid-template-columns:minmax(0,1fr) auto;min-height:68px}
	.fc-shell-0130 .fc-catalog-mega-panel{display:none!important}
	.fc-shell-0130 .fc-system-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr))}

	/* 0.13.2: a dropdown inside a sticky header must own its scroll area.
	 * Without this cap, opening the long catalogue makes the sticky header
	 * taller than the viewport and the lower menu groups become unreachable. */
	.fc-shell-0130.fc-mobile-menu-dropdown .fc-mobile-panel{
		max-height:calc(100dvh - var(--fc-header-height,76px));
		overflow-x:hidden;
		overflow-y:auto;
		overscroll-behavior-y:contain;
		-webkit-overflow-scrolling:touch;
		touch-action:pan-y;
		scrollbar-gutter:stable;
	}
	.fc-shell-0130.fc-has-announcement-bar.fc-mobile-menu-dropdown .fc-mobile-panel{
		max-height:calc(100dvh - var(--fc-header-height,76px) - var(--fc-topbar-height,38px));
	}
	.admin-bar.fc-shell-0130.fc-mobile-menu-dropdown .fc-mobile-panel{
		max-height:calc(100dvh - var(--fc-header-height,76px) - 46px);
	}
	.admin-bar.fc-shell-0130.fc-has-announcement-bar.fc-mobile-menu-dropdown .fc-mobile-panel{
		max-height:calc(100dvh - var(--fc-header-height,76px) - var(--fc-topbar-height,38px) - 46px);
	}
	.fc-shell-0130.fc-mobile-menu-dropdown .fc-mobile-panel>.fc-container{
		padding-bottom:calc(2rem + env(safe-area-inset-bottom));
	}
}

@media (max-width:700px){
	.fc-shell-0130 .fc-brand-mark{width:24px;height:8px}
	.fc-shell-0130 .fc-site-title{gap:.55rem;font-size:.82rem;letter-spacing:.045em}
	.fc-shell-0130 .fc-system-footer-nav{grid-template-columns:1fr 1fr;gap:1.5rem}
}

@media (max-width:480px){
	.fc-shell-0130 .fc-system-footer-nav{grid-template-columns:1fr}
}

/* 0.13.6 — native mobile side drawer.
 * `drawer` is now an official forgecommerce_mobile_menu_style choice, so this
 * layout is applied only when WordPress emits `.fc-mobile-menu-drawer`.
 * theme.js portals the panel/backdrop to <body>, avoiding fixed-position
 * containing-block problems caused by the sticky backdrop-filtered header. */
.fc-mobile-backdrop[hidden]{display:none!important}

@media (max-width:1100px){
	.fc-mobile-menu-drawer.fc-menu-open{overflow:hidden}

	.fc-shell-0130.fc-mobile-menu-drawer .fc-mobile-backdrop{
		position:fixed;
		top:var(--fc-header-height,76px);
		right:0;
		bottom:0;
		left:0;
		z-index:121;
		margin:0;
		padding:0;
		border:0;
		border-radius:0;
		background:rgba(11,16,17,.48);
		backdrop-filter:blur(2px);
		-webkit-backdrop-filter:blur(2px);
		cursor:pointer;
	}

	.fc-shell-0130.fc-mobile-menu-drawer.fc-has-announcement-bar .fc-mobile-backdrop{
		top:calc(var(--fc-header-height,76px) + var(--fc-topbar-height,38px));
	}

	.fc-shell-0130.fc-mobile-menu-drawer .fc-mobile-panel{
		position:fixed;
		top:var(--fc-header-height,76px);
		right:0;
		bottom:0;
		left:auto;
		width:clamp(270px,78vw,340px);
		height:auto;
		max-height:none;
		z-index:122;
		border-top:0;
		border-left:1px solid var(--fc-border);
		background:var(--fc-header-bg,#fff);
		box-shadow:-24px 0 64px rgba(11,16,17,.24);
		overflow-x:hidden;
		overflow-y:auto;
		overscroll-behavior-y:contain;
		-webkit-overflow-scrolling:touch;
		touch-action:pan-y;
	}

	.fc-shell-0130.fc-mobile-menu-drawer.fc-has-announcement-bar .fc-mobile-panel{
		top:calc(var(--fc-header-height,76px) + var(--fc-topbar-height,38px));
	}

	.fc-shell-0130.fc-mobile-menu-drawer .fc-mobile-panel>.fc-container{
		width:100%;
		max-width:none;
		padding-inline:1rem;
		padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));
	}

	.admin-bar.fc-shell-0130.fc-mobile-menu-drawer .fc-mobile-backdrop,
	.admin-bar.fc-shell-0130.fc-mobile-menu-drawer .fc-mobile-panel{
		top:calc(var(--fc-header-height,76px) + 46px);
	}

	.admin-bar.fc-shell-0130.fc-mobile-menu-drawer.fc-has-announcement-bar .fc-mobile-backdrop,
	.admin-bar.fc-shell-0130.fc-mobile-menu-drawer.fc-has-announcement-bar .fc-mobile-panel{
		top:calc(var(--fc-header-height,76px) + var(--fc-topbar-height,38px) + 46px);
	}
}

@media (max-width:360px){
	.fc-shell-0130.fc-mobile-menu-drawer .fc-mobile-panel{
		width:clamp(250px,80vw,290px);
	}
}


@media (forced-colors:active){
	:focus-visible{outline:2px solid Highlight;box-shadow:none}
	.fc-button,.fc-icon-button,.fc-menu-toggle,.fc-mobile-close{border:1px solid ButtonText}
	.fc-button-primary{background:ButtonFace;color:ButtonText}
}


/* 0.15.15 — cart quantity badge */
.fc-commerce-link-cart,
.fc-mobile-commerce-link-cart{
	position:relative;
}
.fc-cart-count{
	position:absolute;
	top:-6px;
	right:-6px;
	display:grid;
	place-items:center;
	min-width:20px;
	height:20px;
	padding:0 5px;
	border:2px solid #fff;
	border-radius:999px;
	background:var(--fc-accent);
	color:#0b1011;
	font-size:.68rem;
	font-weight:950;
	line-height:1;
	box-sizing:border-box;
	box-shadow:0 3px 10px rgba(11,16,17,.18);
}
.fc-cart-count[hidden]{display:none}
.fc-mobile-commerce-link-cart .fc-cart-count{
	top:50%;
	right:.7rem;
	transform:translateY(-50%);
}


/* 0.15.16 — mobile header search: stable input/button distribution */
@media (max-width:760px){
	.fc-site-header .fc-search-panel{
		padding:.75rem 0 1rem;
	}
	.fc-site-header .fc-search-panel>.fc-container{
		width:100%;
		max-width:none;
		padding-inline:12px;
		box-sizing:border-box;
	}
	.fc-site-header .fc-search-panel .fc-search-form{
		display:grid;
		grid-template-columns:minmax(0,1fr) auto;
		gap:.55rem;
		align-items:stretch;
		width:100%;
		max-width:none;
		margin:0;
	}
	.fc-site-header .fc-search-panel .fc-search-form label{
		display:block;
		width:100%;
		min-width:0;
		margin:0;
	}
	.fc-site-header .fc-search-panel .fc-search-field{
		display:block;
		width:100%;
		min-width:0;
		min-height:48px;
		margin:0;
		box-sizing:border-box;
	}
	.fc-site-header .fc-search-panel .fc-search-form .fc-button{
		width:auto;
		min-width:96px;
		min-height:48px;
		margin:0;
		padding-inline:1rem;
		white-space:nowrap;
		flex:none;
	}
}
@media (max-width:380px){
	.fc-site-header .fc-search-panel .fc-search-form{
		grid-template-columns:minmax(0,1fr) 88px;
	}
	.fc-site-header .fc-search-panel .fc-search-form .fc-button{
		min-width:88px;
		padding-inline:.7rem;
	}
}
