/* FHFP Store Shell - warm palette, announcement bar, two-row header, picture dropdowns, footer.
   Everything is scoped to body.fhs-on so the plugin can be previewed and rolled back cleanly. */

/* ---------- Palette ---------- */
html body.fhs-on:not(#fhfp-x){
	--fh-wash:#f6f3ee;            /* warm tone step */
	--fh-line:#e7e2d9;
	--fh-muted:#5b6470;           /* 5.4:1 on wash */
	--fh-action:#17334c;          /* buttons: deep navy, white text 13:1 */
	--fh-action-strong:#0f2638;
	--fhs-ann:34px;
	--fhs-row:72px;
	--fhs-nav:46px;
	--fhs-ease:cubic-bezier(0.22,0.61,0.36,1);
	--fhs-out:cubic-bezier(0.23,1,0.32,1);
	/* Same palette for the plugins that keep their own color names. */
	--fhfp-pp-cta:#17334c;--fhfp-pp-cta-hover:#0f2638;--fhfp-pp-wash:#f6f3ee;--fhfp-pp-line:#e7e2d9;--fhfp-pp-muted:#5b6470;
	--fhg-tile:#f6f3ee;--fhg-line:#e7e2d9;--fhg-muted:#5b6470;--fhg-brand:#17334c;--fhg-brand-strong:#0f2638;
	--fhfp-blue:#17334c;--fhfp-blue-dark:#0f2638;--fhfp-ink:#17334c;--fhfp-line:#e7e2d9;--fhfp-muted:#5b6470;
}
html body.fhs-on:not(#fhfp-x) .elementskit-faq-header{background-color:var(--fh-ink)!important}
html body.fhs-on:not(#fhfp-x) .fhg-giant{display:none}
/* The header search replaces the shop's extra search bar. The filter search stays. */
html body.fhs-on:not(#fhfp-x) #main>form.fhfp-topsearch{display:none!important}

/* ---------- Shell pieces, all sizes ---------- */
.fhs-shell{display:contents}
.fhs-announce{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--fhs-ann);padding:0 30px;background:var(--fh-ink);color:#fff}
html body.fhs-on:not(#fhfp-x) .fhs-announce :is(a,p){margin:0;font-size:13px;line-height:1;color:#fff!important;text-decoration:none}
html body.fhs-on:not(#fhfp-x) .fhs-announce .fhs-announce-main{font-weight:600;letter-spacing:.01em}
.fhs-announce-side{min-width:120px}
.fhs-announce-side:last-child{text-align:right}

.fhs-search{position:relative;display:flex;align-items:center;gap:10px;height:46px;padding:0 18px;border-radius:999px;background:var(--fh-wash);color:var(--fh-ink);transition:box-shadow 180ms ease,background-color 180ms ease}
.fhs-search:focus-within{background:#fff;box-shadow:0 0 0 1.5px var(--fh-ink)}
.fhs-search svg{flex:none}
html body.fhs-on:not(#fhfp-x):not(#fhfp-y) .fhs-search input#fhs-q{flex:1;min-width:0;height:100%;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--fh-ink)!important;font-size:15px!important;outline:none!important}
html body.fhs-on:not(#fhfp-x) .fhs-search input::-webkit-search-cancel-button{display:none}
html body.fhs-on:not(#fhfp-x):not(#fhfp-y) .fhs-search input#fhs-q:focus{border:0!important;box-shadow:none!important}
.fhs-results{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;padding:8px;background:#fff;border-radius:14px;box-shadow:0 18px 44px -14px rgba(23,51,76,.3),0 0 0 1px rgba(23,51,76,.06)}
.fhs-results[hidden]{display:none}
html body.fhs-on:not(#fhfp-x) .fhs-results a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:8px;color:var(--fh-ink)!important;font-size:15px;text-decoration:none}
html body.fhs-on:not(#fhfp-x) .fhs-results a[aria-selected="true"]{background:var(--fh-wash)}
@media (hover:hover) and (pointer:fine){html body.fhs-on:not(#fhfp-x) .fhs-results a:hover{background:var(--fh-wash)}}
.fhs-opt-name{font-weight:600}
html body.fhs-on:not(#fhfp-x) .fhs-opt-facts{flex:none;color:var(--fh-muted);font-size:13px;font-variant-numeric:tabular-nums}
html body.fhs-on:not(#fhfp-x) .fhs-results-none{margin:0;padding:10px 12px;color:var(--fh-muted);font-size:14px}
.fhs-search-toggle{display:none}
.fhs-panel[hidden]{display:none}

/* ---------- Desktop header ---------- */
@media (min-width:1025px){
	html body.fhs-on:not(#fhfp-x){padding-top:calc(var(--fhs-ann) + var(--fhs-row) + var(--fhs-nav))!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header{padding-bottom:0!important;border-bottom:1px solid var(--fh-line)}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header{padding-bottom:0!important;border-bottom-color:transparent;pointer-events:none}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header>.elementor-30{pointer-events:auto}
	.fhs-announce{position:absolute;left:0;right:0;top:0;z-index:6;transition:opacity 220ms ease}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .fhs-announce{opacity:0;visibility:hidden}

	/* Top state: announcement, then logo / search / icons, then the menu. */
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-ce07560{display:none!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-6c2f7c4>.e-con-inner{min-height:calc(var(--fhs-ann) + var(--fhs-row) + var(--fhs-nav))!important;padding:calc(var(--fhs-ann) + 14px) 30px 0 235px!important;align-items:flex-start!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf{top:calc(var(--fhs-ann) + 4px)!important;left:26px!important;transform:none}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf img{content:url(fhfp-logo-large.png);width:auto!important;height:64px!important;max-height:none!important;background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-d96b247{top:calc(var(--fhs-ann) + var(--fhs-row))!important;transform:translateX(-50%)!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-bd37b91{position:absolute!important;right:30px;top:calc(var(--fhs-ann) + 14px);width:auto!important;margin:0!important}
	.fhs-search{position:absolute;left:50%;top:calc(var(--fhs-ann) + 13px);z-index:20;width:min(560px,38vw);transform:translateX(-50%)}

	/* The menu is a plain row of words. */
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header ul.elementskit-navbar-nav{border:0!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important;gap:2px}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header ul.elementskit-navbar-nav>li>a.ekit-menu-nav-link,
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header ul.elementskit-navbar-nav:hover>li>a.ekit-menu-nav-link,
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header ul.elementskit-navbar-nav:hover>li:hover>a.ekit-menu-nav-link{filter:none!important;opacity:1!important;transform:none!important;background:transparent!important;padding:9px 14px!important;border-radius:0!important;color:var(--fh-ink)!important;font-size:15px!important;font-weight:500!important;box-shadow:inset 0 -2px 0 transparent;transition:box-shadow 180ms ease!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header ul.elementskit-navbar-nav>li:is(:hover,.fhs-open,.current-menu-item)>a.ekit-menu-nav-link{box-shadow:inset 0 -2px 0 var(--fh-ink)!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header li.fhs-mobile-only{display:none!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header li.fhs-mega>.elementskit-dropdown,
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header li.fhs-mega>ul{display:none!important}

	/* Picture dropdowns */
	.fhs-panel{position:absolute;left:0;right:0;top:100%;z-index:8;padding:26px 30px 30px;background:#fff;border-top:1px solid var(--fh-line);box-shadow:0 26px 44px -26px rgba(23,51,76,.3);opacity:0;transform:translateY(-6px);transition:opacity 180ms var(--fhs-out),transform 220ms var(--fhs-out)}
	.fhs-panel.is-open{opacity:1;transform:none}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .fhs-panel{top:calc(100% + 8px);border-top:0;border-radius:10px;box-shadow:0 0 0 1px rgba(23,51,76,.08),0 26px 44px -22px rgba(23,51,76,.34)}
	html body.fhs-on:not(#fhfp-x) .fhs-tiles{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,180px);justify-content:center;gap:18px;list-style:none;margin:0 auto;padding:0;max-width:1400px}
	html body.fhs-on:not(#fhfp-x) .fhs-tiles-grid{grid-auto-flow:row;grid-template-columns:repeat(8,minmax(0,140px));gap:14px 16px}
	html body.fhs-on:not(#fhfp-x) .fhs-tiles-grid .fhs-tile-img{aspect-ratio:4/3}
	html body.fhs-on:not(#fhfp-x) .fhs-tiles-grid .fhs-tile-label{font-size:14px}
	html body.fhs-on:not(#fhfp-x) .fhs-tiles li{margin:0;padding:0;list-style:none}
	html body.fhs-on:not(#fhfp-x) .fhs-tile{display:block;color:var(--fh-ink)!important;text-decoration:none}
	.fhs-tile-img{display:block;aspect-ratio:1;overflow:hidden;background:#fff}
	html body.fhs-on:not(#fhfp-x) .fhs-tile-img img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;transition:transform 420ms var(--fhs-out)}
	.fhs-tile-label{display:block;margin-top:8px;font-size:15px;font-weight:600;line-height:1.25}
	html body.fhs-on:not(#fhfp-x) .fhs-tile-count{display:block;margin-top:2px;font-size:13px;color:var(--fh-muted)}
	@media (hover:hover) and (pointer:fine){html body.fhs-on:not(#fhfp-x) .fhs-tile:hover .fhs-tile-img img{transform:scale(1.04)}}

	/* Floating bar: one row, search moves behind an icon. */
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header .elementor-element-6c2f7c4>.e-con-inner{min-height:64px!important;padding:8px 58px 8px 200px!important;align-items:center!important}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf{top:50%!important;left:14px!important;transform:translateY(-50%)}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf img{height:48px!important}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header .elementor-element-d96b247{left:186px!important;top:50%!important;transform:translateY(-50%)!important}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header .elementor-element-2e0e51a :is(.fhfp-portal-header-label,.fhfp-portal-header-secondary){display:none!important}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header .elementor-element-bd37b91{right:56px;top:50%;transform:translateY(-50%)}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header>.elementor-30{background:rgba(255,255,255,.93)}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .fhs-search-toggle{position:absolute;right:12px;top:50%;z-index:7;display:grid;place-items:center;width:40px;height:40px;margin-top:-20px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--fh-ink);cursor:pointer;min-height:0;box-shadow:none}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .fhs-search{top:calc(100% + 8px);left:auto;right:0;width:420px;transform:none;background:#fff;box-shadow:0 0 0 1px rgba(23,51,76,.08),0 18px 40px -18px rgba(23,51,76,.34);opacity:0;visibility:hidden;transition:opacity 160ms ease}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .fhs-search.is-open{opacity:1;visibility:visible}
}
@media (min-width:1300px){
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf img{height:54px!important}
	html body.fhs-on.fh-scrolled:not(#fhfp-x) .ekit-template-content-header .elementor-element-d96b247{left:212px!important}
}
@media (min-width:1400px){
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf{top:calc(var(--fhs-ann) + 17px)!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf img{height:84px!important}
}
@media (min-width:1700px){
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf{top:calc(var(--fhs-ann) + 9px)!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf img{height:100px!important}
}
@media (min-width:1025px) and (max-width:1240px){
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header ul.elementskit-navbar-nav>li>a.ekit-menu-nav-link{padding:9px 9px!important;font-size:14px!important}
}

/* ---------- Phones and tablets ---------- */
@media (max-width:1024px){
	html body.fhs-on:not(#fhfp-x):not(#fhfp-y) .fhs-search input#fhs-q{font-size:16px!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-30{display:flex;flex-direction:column;position:relative}
	.fhs-announce{order:-1;justify-content:center;padding:0 14px}
	.fhs-announce-side{display:none}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-6c2f7c4{order:1}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf{top:calc(var(--fhs-ann) + 5px)!important;transform:none!important}
	.fhs-search{order:2;margin:0 12px 10px;height:44px}
	html body.fhs-on:not(#fhfp-x) .fhfp-portal-mobile-account{display:none!important}
	.fhs-panel{display:none!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf :is(.e-con-inner,.elementor-widget-container,a){background:transparent!important;box-shadow:none!important;padding:0!important}
	html body.fhs-on:not(#fhfp-x) .ekit-template-content-header .elementor-element-114bedf img{content:url(fhfp-logo-large.png);width:min(180px,44vw)!important;height:auto!important;max-width:none!important;max-height:none!important;background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important}
	html body.fhs-on:not(#fhfp-x) .elementskit-menu-hamburger:is(:hover,:focus,:active){background-color:transparent!important;border-color:var(--fh-ink)!important;color:var(--fh-ink)!important}
}

/* ---------- Footer ---------- */
.fhs-footer{background:var(--fh-wash);color:var(--fh-text);padding:64px 30px 26px}
.fhs-foot-top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px;max-width:1400px;margin:0 auto}
html body.fhs-on:not(#fhfp-x) .fhs-foot-line{margin:0 0 16px;font-family:var(--fh-serif);font-size:26px;font-weight:600;line-height:1.2;color:var(--fh-ink);max-width:14em}
html body.fhs-on:not(#fhfp-x) .fhs-foot-contact{margin:0;font-size:15px;line-height:1.8}
html body.fhs-on:not(#fhfp-x) .fhs-footer a{color:var(--fh-ink)!important;text-decoration:none}
@media (hover:hover) and (pointer:fine){html body.fhs-on:not(#fhfp-x) .fhs-footer a:hover{text-decoration:underline;text-underline-offset:3px}}
html body.fhs-on:not(#fhfp-x) .fhs-foot-col h2{margin:0 0 12px;font-family:var(--fh-sans)!important;font-size:15px!important;font-weight:650!important;letter-spacing:0!important;color:var(--fh-ink)!important}
html body.fhs-on:not(#fhfp-x) .fhs-foot-col ul{margin:0;padding:0;list-style:none}
html body.fhs-on:not(#fhfp-x) .fhs-foot-col li{margin:0;padding:4px 0;font-size:15px;list-style:none}
.fhs-foot-mid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 28px;max-width:1400px;margin:44px auto 30px;padding-top:18px;border-top:1px solid var(--fh-line)}
html body.fhs-on:not(#fhfp-x) .fhs-foot-mid p{margin:0;font-size:14px;color:var(--fh-muted)}
.fhs-foot-logo{max-width:1040px;margin:0 auto}
html body.fhs-on:not(#fhfp-x) .fhs-foot-logo img{display:block;width:100%;height:auto;max-width:none;border-radius:0}
html body.fhs-on:not(#fhfp-x) .fhs-foot-legal{max-width:1400px;margin:22px auto 0;font-size:13px;color:var(--fh-muted)}
@media (max-width:1023px){.fhs-foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}.fhs-foot-brand{grid-column:1/-1}}
@media (max-width:639px){.fhs-footer{padding:44px 18px 22px}}

@media (prefers-reduced-motion:reduce){
	.fhs-panel,.fhs-announce,.fhs-search{transition:none!important}
	.fhs-panel{transform:none}
	html body.fhs-on:not(#fhfp-x) .fhs-tile-img img{transition:none}
}

/* ---------- Pages that carried the old blue tones ---------- */
html body.fhs-on:not(#fhfp-x) :is(.site-content,.content-area,.site-main){background-color:transparent}
html body.fhs-on.fhfp-shop-experience:not(#fhfp-x) :is(.site-content,.content-area,.site-main){background-color:var(--fh-wash)!important}
html body.fhs-on:not(#fhfp-x) .fhfp-plan-preview__image{background-color:#fff!important}
html body.fhs-on:not(#fhfp-x) :is(.fhat-facts,.fhat-close){background-color:var(--fh-ink)!important}
html body.fhs-on:not(#fhfp-x) a.fhat-btn{background-color:var(--fh-ink)!important}
html body.fhs-on:not(#fhfp-x) .fhat-close a.fhat-btn{background-color:#fff!important;color:var(--fh-ink)!important}
html body.fhs-on:not(#fhfp-x) .fhat-node__mono{background-color:var(--fh-wash)!important;color:var(--fh-ink)!important}
