/* =====================================================================
   FOROHAR — Design System v3
   One token-driven stylesheet layered on Twenty Twenty-Five + WooCommerce
   blocks. Presentation only — no data, routing or logic lives here.

   Principles
   · Surfaces separate by tone + soft elevation, not by borders.
   · State (hover / active / current / focus) is shown with tint, weight
     and a soft halo — never a hard outline box.
   · Base element rules use :where() (zero specificity) so components
     always win without !important wars.
   · Persian text: no letter-spacing (it breaks joined letterforms),
     generous line-height, distinct weights per role.
   ===================================================================== */

/* ---------- 1. Fonts (self-hosted) ---------- */
@font-face{font-family:"Vazirmatn";src:url("fonts/Vazirmatn-wght.woff2") format("woff2-variations"),url("fonts/Vazirmatn-wght.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* ---------- 2. Tokens ---------- */
:root{
  /* brand */
  --c-primary:#12322B;          /* velvet forest */
  --c-primary-deep:#0C241F;
  --c-primary-soft:#1D463C;
  --c-secondary:#C9D1CD;        /* polished silver */
  --c-accent:#6F9384;           /* patina — fills/halos only */
  --c-accent-ink:#4E7364;       /* patina for text */

  /* surfaces (light) */
  --c-bg:#EFF2F0;               /* page — silver mist */
  --c-surface:#FFFFFF;          /* cards, sheets */
  --c-surface-2:#F6F8F7;        /* image wells, quiet fills */
  --c-glass:rgba(255,255,255,.72);

  /* ink on light  (all ≥4.5:1 on white and on #EFF2F0) */
  --c-ink:#1A2522;
  --c-ink-2:#4F5D58;
  --c-ink-3:#64716B;
  --c-on-primary:#F3F6F4;

  /* ink on dark  (contrast on #0C241F: hi 15.0 · md 10.6 · lo 6.4) */
  --c-dark-hi:#F3F6F4;
  --c-dark-md:#C9D3CE;
  --c-dark-lo:#93A69E;
  --c-dark-line:rgba(201,211,206,.14);

  /* interaction tints — the only "state" vocabulary */
  --tint-1:rgba(18,50,43,.05);
  --tint-2:rgba(18,50,43,.09);
  --tint-3:rgba(18,50,43,.14);
  --tint-dark-1:rgba(255,255,255,.07);
  --tint-dark-2:rgba(255,255,255,.12);
  --halo:0 0 0 3px rgba(111,147,132,.40);          /* keyboard focus on light */
  --halo-dark:0 0 0 3px rgba(201,211,206,.45);     /* keyboard focus on dark */
  --c-hairline:rgba(18,50,43,.08);                 /* used sparingly: dividers inside a surface */

  --c-success:#2E7D5B; --c-warning:#B7862F; --c-error:#B4473D;

  /* type */
  --f-sans:"Vazirmatn",Tahoma,system-ui,sans-serif;
  --f-display:"Cormorant Garamond","Vazirmatn",Georgia,serif;
  --fs-display:clamp(2.75rem,6.2vw,5rem);
  --fs-h1:clamp(1.75rem,3.2vw,2.5rem);
  --fs-h2:clamp(1.4rem,2.3vw,1.85rem);
  --fs-h3:1.15rem;
  --fs-body:1rem;
  --fs-lead:1.125rem;
  --fs-small:.875rem;
  --fs-caption:.8125rem;
  --fs-meta:.75rem;
  --fw-body:400; --fw-ui:500; --fw-strong:600; --fw-head:700;
  --lh-body:1.95; --lh-ui:1.5; --lh-head:1.45;

  /* radius */
  --r-xs:8px; --r-sm:12px; --r-md:16px; --r-lg:22px; --r-xl:30px; --r-pill:999px;

  /* spacing (4pt) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:72px; --s-9:112px;

  /* layout */
  --w-content:760px; --w-wide:1240px; --gutter:clamp(16px,4vw,40px);

  /* elevation (soft, low-contrast) */
  --sh-1:0 1px 2px rgba(12,36,31,.04),0 8px 22px -14px rgba(12,36,31,.16);
  --sh-2:0 2px 6px rgba(12,36,31,.05),0 22px 44px -22px rgba(12,36,31,.24);
  --sh-glass:0 10px 30px -16px rgba(12,36,31,.26);

  /* motion */
  --ease:cubic-bezier(.22,.8,.24,1);
  --t-fast:160ms; --t-med:260ms; --t-slow:480ms;

  /* bridge to the theme */
  --wp--preset--color--base:var(--c-bg);
  --wp--preset--color--contrast:var(--c-ink);
  --wp--style--global--wide-size:var(--w-wide);
  --wp--style--global--content-size:var(--w-content);
}

/* ---------- 3. Base (zero specificity) ---------- */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.fh{background:var(--c-bg);color:var(--c-ink);font-family:var(--f-sans);font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body);font-feature-settings:"ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}
body.fh :where(*),body.fh :where(*)::before,body.fh :where(*)::after{box-sizing:border-box}
body.fh :where(.fh-code,.fh-hero-card__code,.fh-code-v,.sku,[dir=ltr],.woocommerce-breadcrumb,.wp-block-woocommerce-breadcrumbs){font-feature-settings:normal}
body.fh :where(h1,h2,h3,h4,h5,h6,p,li,a,button,input,select,textarea,label,.wp-block-navigation,.wp-block-site-title){font-family:var(--f-sans)}
body.fh :where(h1,h2,h3,h4){color:var(--c-ink);line-height:var(--lh-head);letter-spacing:0;text-wrap:balance}
body.fh :where(h1){font-size:var(--fs-h1);font-weight:var(--fw-head)}
body.fh :where(h2){font-size:var(--fs-h2);font-weight:var(--fw-head)}
body.fh :where(h3){font-size:var(--fs-h3);font-weight:var(--fw-strong)}
body.fh :where(p){text-wrap:pretty}
body.fh :where(a){color:var(--c-primary);text-decoration-color:var(--c-hairline);text-decoration-thickness:1px;text-underline-offset:.35em;transition:color var(--t-fast) var(--ease),text-decoration-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}
body.fh :where(a):hover{text-decoration-color:currentColor}
body.fh :where(img){max-width:100%;height:auto}
body.fh ::selection{background:var(--c-secondary);color:var(--c-primary-deep)}
.wp-site-blocks{padding-inline:0}
main.wp-block-group,body.fh main{margin-top:0!important}

/* ---------- 4. Focus system ----------
   Pointer/touch: no ring at all. Keyboard: a soft patina halo.
   Components below override with tint where a halo would look boxed. */
body.fh :focus{outline:none}
body.fh :focus-visible{outline:none;box-shadow:var(--halo)}
body.fh a:focus-visible{box-shadow:0 0 0 4px var(--tint-2);background-color:var(--tint-2);border-radius:6px}
body.fh :is(input,select,textarea):focus-visible{box-shadow:var(--halo)}

/* ---------- 5. Buttons (one component, three tones) ---------- */
body.fh :is(.wp-element-button,.wp-block-button__link,.button,button.button,a.button,.wc-block-components-button:not(.is-link),.single_add_to_cart_button){
  font-family:var(--f-sans);font-size:.9375rem;font-weight:var(--fw-strong);line-height:1.2;letter-spacing:0;
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);
  min-height:46px;padding:12px 22px;border-radius:var(--r-sm);
  background:var(--c-primary);color:var(--c-on-primary);border:0;
  box-shadow:0 8px 18px -12px rgba(12,36,31,.55);
  text-decoration:none;cursor:pointer;
  transition:transform var(--t-fast) var(--ease),background-color var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),color var(--t-med) var(--ease)}
body.fh :is(.wp-element-button,.wp-block-button__link,.button,.wc-block-components-button:not(.is-link)):hover{background:var(--c-primary-soft);color:#fff}
body.fh :is(.wp-element-button,.wp-block-button__link,.button,.wc-block-components-button:not(.is-link)):active{transform:scale(.985)}
body.fh :is(.wp-element-button,.wp-block-button__link,.button,.wc-block-components-button:not(.is-link)):focus-visible{box-shadow:var(--halo)}
/* quiet (tinted) */
body.fh :is(.is-style-outline,.fh-btn-ghost) .wp-block-button__link{background:var(--tint-1);color:var(--c-primary);box-shadow:none}
body.fh :is(.is-style-outline,.fh-btn-ghost) .wp-block-button__link:hover{background:var(--tint-2);color:var(--c-primary)}
/* on dark */
body.fh .fh-on-dark .wp-block-button__link{background:var(--c-secondary);color:var(--c-primary-deep);box-shadow:none}
body.fh .fh-on-dark .wp-block-button__link:hover{background:#E4EAE7;color:var(--c-primary-deep)}
body.fh .fh-on-dark.fh-btn-ghost .wp-block-button__link{background:var(--tint-dark-1);color:var(--c-dark-hi)}
body.fh .fh-on-dark.fh-btn-ghost .wp-block-button__link:hover{background:var(--tint-dark-2)}
body.fh .fh-on-dark .wp-block-button__link:focus-visible{box-shadow:var(--halo-dark)}

/* ---------- 6. Inputs ---------- */
body.fh :is(input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number],input[type=password],select,textarea){
  font-family:var(--f-sans);font-size:1rem;background:var(--c-surface);color:var(--c-ink);
  border:0;border-radius:var(--r-sm);padding:10px 14px;min-height:46px;
  box-shadow:inset 0 0 0 1px var(--c-hairline);
  transition:box-shadow var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}
body.fh :is(input,select,textarea):focus{outline:none;box-shadow:inset 0 0 0 1px rgba(111,147,132,.55),0 0 0 4px rgba(111,147,132,.16)}
body.fh :is(input,select,textarea)::placeholder{color:var(--c-ink-3);opacity:1}
body.fh .woocommerce-ordering select,body.fh .wc-block-catalog-sorting select{min-height:42px;padding-block:6px;border-radius:var(--r-pill);padding-inline:18px 36px;background-color:var(--c-surface);box-shadow:var(--sh-1)}

/* ---------- 7. Live silver price strip ---------- */
.forohar-pricebar{position:relative;z-index:60;background:var(--c-primary-deep);color:var(--c-dark-md);
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;
  font-size:var(--fs-caption);line-height:1.6;padding:7px var(--gutter)}
.forohar-pricebar::before{content:"";width:6px;height:6px;border-radius:50%;background:#7fd1a8;box-shadow:0 0 0 3px rgba(127,209,168,.18);animation:fh-pulse 2.4s var(--ease) infinite}
.forohar-pricebar .fh-pb-price{color:var(--c-dark-hi);font-weight:var(--fw-head);font-variant-numeric:tabular-nums;margin-inline:2px}
.forohar-pricebar .fh-pb-extra{color:var(--c-dark-md)}
.forohar-pricebar .fh-pb-time{color:var(--c-dark-lo);font-size:var(--fs-meta)}
@keyframes fh-pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ---------- 8. Header — floating glass bar ---------- */
body.fh header.wp-block-template-part{position:sticky;top:0;z-index:50;padding:12px var(--gutter) 0;background:transparent;pointer-events:none}
body.fh.admin-bar header.wp-block-template-part{top:32px}
.fh-nav{pointer-events:auto;position:relative;max-width:var(--w-wide);margin:0 auto!important;
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);
  padding:8px 10px 8px 22px!important;border-radius:var(--r-pill);
  background:var(--c-glass);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);
  box-shadow:var(--sh-glass),inset 0 0 0 1px rgba(255,255,255,.6)}
/* wordmark */
.fh-nav .wp-block-site-title{margin:0;font-size:1.3rem;line-height:1}
.fh-nav .wp-block-site-title a{display:inline-block;font-family:var(--f-display);font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--c-primary);text-decoration:none;padding:6px 0 6px .1em;border-radius:var(--r-xs)}
body.fh .fh-nav .wp-block-site-title a:focus-visible{background:var(--tint-1);box-shadow:0 0 0 6px var(--tint-1)}
/* desktop links */
.fh-nav .wp-block-navigation{font-size:.9375rem;font-weight:var(--fw-ui);gap:2px}
.fh-nav .wp-block-navigation .wp-block-navigation-item__content{color:var(--c-ink-2);padding:9px 15px;border-radius:var(--r-pill);text-decoration:none;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.fh-nav .wp-block-navigation .wp-block-navigation-item__content:hover{background:var(--tint-1);color:var(--c-ink)}
.fh-nav .wp-block-navigation .wp-block-navigation-item__content:focus-visible{background:var(--tint-2);color:var(--c-ink);box-shadow:none}
.fh-nav .wp-block-navigation :is(.current-menu-item>.wp-block-navigation-item__content,[aria-current=page]){background:var(--tint-2);color:var(--c-primary);font-weight:var(--fw-strong)}
/* icon buttons: menu, close, cart, search — one recipe */
body.fh .fh-nav :is(.wp-block-navigation__responsive-container-open,.wc-block-mini-cart__button,.wp-block-search__button){
  width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:var(--r-pill);display:inline-grid;place-items:center;
  background:var(--tint-1);color:var(--c-primary);box-shadow:none;cursor:pointer;transition:background-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
body.fh .fh-nav :is(.wp-block-navigation__responsive-container-open,.wc-block-mini-cart__button,.wp-block-search__button):hover{background:var(--tint-2);color:var(--c-primary)}
body.fh .fh-nav :is(.wp-block-navigation__responsive-container-open,.wc-block-mini-cart__button,.wp-block-search__button):active{transform:scale(.94);background:var(--tint-3)}
body.fh .fh-nav :is(.wp-block-navigation__responsive-container-open,.wc-block-mini-cart__button,.wp-block-search__button):focus-visible{background:var(--tint-3);box-shadow:none}
body.fh .fh-nav .wp-block-navigation__responsive-container-open{display:none}
/* the inline links need ~900px; below that the bar is wordmark + search + cart + menu */
@media (max-width:900px){body.fh .fh-nav .wp-block-navigation__responsive-container-open{display:inline-grid}body.fh .fh-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.fh-nav>.wp-block-navigation{order:3}.fh-nav>.fh-nav-actions{order:2;margin-inline-start:auto}}
.fh-nav :is(.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close) svg{width:22px;height:22px}
.fh-nav .wc-block-mini-cart__icon{width:21px;height:21px}
.fh-nav .wc-block-mini-cart__badge{background:var(--c-primary);color:#fff;border:2px solid var(--c-surface);font-weight:var(--fw-strong)}
.fh-nav-actions{display:flex;align-items:center;gap:var(--s-2)}

/* search (core/search, icon button that expands inside the bar) */
.fh-nav .fh-search{margin:0}
.fh-nav .fh-search .wp-block-search__inside-wrapper{border:0!important;padding:0!important;background:transparent;gap:var(--s-2);align-items:center}
body.fh .fh-nav .fh-search .wp-block-search__button svg{width:20px;height:20px;fill:currentColor;min-width:20px}
.fh-nav .fh-search .wp-block-search__label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.fh-nav .fh-search.wp-block-search__searchfield-hidden .wp-block-search__input{display:none}
.fh-nav .fh-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper{
  position:absolute;inset:6px;z-index:6;display:flex;width:auto!important;padding:0 6px 0 0!important;
  background:var(--c-surface);border-radius:var(--r-pill);box-shadow:var(--sh-1);animation:fh-fade var(--t-med) var(--ease) both}
body.fh .fh-nav .fh-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input{
  flex:1;min-width:0;height:44px;min-height:44px;margin:0;border:0;background:transparent;box-shadow:none;padding:0 16px;font-size:1rem;color:var(--c-ink)}
body.fh .fh-nav .fh-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input:focus{box-shadow:none}
body.fh .fh-nav .fh-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button{background:var(--c-primary);color:var(--c-on-primary);order:2}

/* ---------- 9. Mobile menu — a designed sheet, not a raw list ---------- */
/* backdrop-filter on the bar would trap the fixed sheet inside the pill */
.fh-nav:has(.is-menu-open){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* lift the whole header above page content (gallery zoom etc.) while open */
body.fh header.wp-block-template-part:has(.is-menu-open){z-index:100000}
body:has(.fh-nav .is-menu-open) .forohar-pricebar{visibility:hidden}
.fh-nav .wp-block-navigation__responsive-container.is-menu-open{
  position:fixed;inset:0;z-index:100000;background:var(--c-bg)!important;color:var(--c-ink)!important;
  padding:0!important;display:flex;flex-direction:column;overflow-y:auto;
  animation:fh-sheet var(--t-med) var(--ease) both}
.fh-nav .is-menu-open .wp-block-navigation__responsive-close,
.fh-nav .is-menu-open .wp-block-navigation__responsive-dialog{max-width:none;width:100%;min-height:100%;display:flex;flex-direction:column;margin:0}
.fh-nav .is-menu-open .wp-block-navigation__responsive-dialog{position:relative;padding:calc(14px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom))}
/* header row of the sheet: wordmark + close */
.fh-nav .is-menu-open .wp-block-navigation__responsive-container-content{
  display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:flex-start!important;
  flex:1;padding:0!important;gap:0!important}
.fh-nav .is-menu-open .wp-block-navigation__responsive-container-content::before{
  content:"FOROHAR";display:block;height:52px;line-height:52px;font-family:var(--f-display);font-weight:600;font-size:1.15rem;letter-spacing:.34em;color:var(--c-primary);direction:ltr;text-align:right;padding-inline-start:4px;margin-bottom:var(--s-6)}
.fh-nav .is-menu-open .wp-block-navigation__responsive-container-close{
  position:absolute;top:calc(18px + env(safe-area-inset-top));inset-inline-end:20px;left:auto;right:auto;
  width:44px;height:44px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--c-surface);color:var(--c-primary);box-shadow:var(--sh-1);border:0;padding:0}
[dir=rtl] .fh-nav .is-menu-open .wp-block-navigation__responsive-container-close,.rtl .fh-nav .is-menu-open .wp-block-navigation__responsive-container-close{left:20px;right:auto}
.fh-nav .is-menu-open .wp-block-navigation__responsive-container-close:hover{background:var(--c-surface-2)}
.fh-nav .is-menu-open .wp-block-navigation__responsive-container-close:focus-visible{box-shadow:var(--sh-1),var(--halo)}
/* items */
.fh-nav .is-menu-open .wp-block-navigation__container{width:100%;display:flex;flex-direction:column;align-items:stretch!important;justify-content:flex-start!important;gap:4px!important}
.fh-nav .is-menu-open .wp-block-navigation-item{width:100%;border:0!important;margin:0}
.fh-nav .is-menu-open .wp-block-navigation-item__content{
  display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:58px;
  padding:12px 18px!important;border-radius:var(--r-md);
  font-size:1.375rem;font-weight:var(--fw-strong);line-height:1.4;color:var(--c-ink);background:transparent;box-shadow:none}
.fh-nav .is-menu-open .wp-block-navigation-item__content::after{content:"";width:8px;height:8px;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor;transform:rotate(-45deg);opacity:.3;flex:none;margin-inline-start:var(--s-3)}
.fh-nav .is-menu-open .wp-block-navigation-item__content:hover{background:var(--tint-1)}
.fh-nav .is-menu-open .wp-block-navigation-item__content:active{background:var(--tint-2)}
.fh-nav .is-menu-open .wp-block-navigation-item__content:focus-visible{background:var(--tint-1);box-shadow:none;border-radius:var(--r-md)}
.fh-nav .is-menu-open :is(.current-menu-item>.wp-block-navigation-item__content,[aria-current=page]){background:var(--c-surface);color:var(--c-primary);box-shadow:var(--sh-1)}
/* sheet footer line */
.fh-nav .is-menu-open .wp-block-navigation__responsive-container-content::after{
  content:"JEWELRY FOR YOUR STORY";display:block;margin-top:auto;padding-top:var(--s-7);font-family:var(--f-display);font-size:.8rem;letter-spacing:.28em;color:var(--c-ink-3);direction:ltr;text-align:center}
@keyframes fh-sheet{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- 10. Section rhythm ---------- */
.fh-section{max-width:var(--w-wide);margin-inline:auto!important;padding-inline:var(--gutter);margin-block:var(--s-9) 0!important}
.fh-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);margin-bottom:var(--s-6)!important}
.fh-section-head h2{margin:0}
.fh-section-head p{margin:0;color:var(--c-ink-2);font-size:var(--fs-small)}
.fh-section-head a{font-size:var(--fs-small);font-weight:var(--fw-strong);text-decoration:none;white-space:nowrap;color:var(--c-primary);padding:8px 14px;border-radius:var(--r-pill);background:var(--tint-1)}
.fh-section-head a:hover{background:var(--tint-2)}
.fh-lead{font-size:var(--fs-lead);color:var(--c-ink-2);line-height:2}

/* ---------- 11. Hero ---------- */
body.fh.home .entry-content.has-global-padding{padding-inline:0!important}
.fh-hero-wrap{max-width:var(--w-wide);margin:var(--s-5) auto 0!important;padding-inline:var(--gutter)}
.fh-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);background:
   radial-gradient(120% 90% at 85% 10%,#1f4e43 0%,transparent 55%),
   radial-gradient(90% 80% at 10% 100%,#0a1f1a 0%,transparent 60%),
   var(--c-primary);color:var(--c-on-primary);
  padding:clamp(28px,5vw,64px)!important;gap:clamp(24px,4vw,56px)!important;align-items:center!important;
  box-shadow:0 36px 70px -44px rgba(12,36,31,.55)}
.fh-hero .fh-hero-copy{position:relative;z-index:1}
.fh-hero .fh-wordmark{font-family:var(--f-display);font-weight:500;font-size:var(--fs-display);letter-spacing:.22em;line-height:1;margin:0 0 var(--s-3)!important;color:var(--c-dark-hi);direction:ltr;text-align:right}
.fh-hero .fh-tagline{font-family:var(--f-display);font-size:clamp(1rem,1.6vw,1.2rem);letter-spacing:.3em;color:var(--c-dark-md);direction:ltr;text-align:right;margin:0 0 var(--s-6)!important}
.fh-hero .fh-hero-line{font-size:clamp(1.15rem,1.9vw,1.4rem);font-weight:var(--fw-ui);line-height:1.95;color:var(--c-dark-hi);max-width:30ch;margin:0 0 var(--s-6)!important}
.fh-hero .wp-block-buttons{gap:var(--s-3)}
.fh-hero-media{position:relative;z-index:1}
.fh-hero-media .wp-block-image{margin:0}
.fh-hero-media img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:calc(var(--r-xl) - 8px)}
.fh-hero-card{position:absolute!important;inset-inline-start:-18px;bottom:22px;z-index:2;max-width:260px;margin:0!important;
  padding:14px 16px!important;border-radius:var(--r-md);color:var(--c-ink);
  background:rgba(255,255,255,.82);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);box-shadow:var(--sh-glass)}
.fh-hero-card p{margin:0!important;font-size:var(--fs-caption);line-height:1.75;color:var(--c-ink-2)}
.fh-hero-card .fh-hero-card__code{font-family:var(--f-sans);direction:ltr;text-align:right;font-weight:var(--fw-head);color:var(--c-primary);letter-spacing:.04em;font-size:.875rem}
.fh-hero-card a{text-decoration:none;color:inherit;display:block;border-radius:inherit}
body.fh .fh-hero-card a:focus-visible{background:transparent;box-shadow:none}
.fh-hero-card:has(a:focus-visible){box-shadow:var(--sh-glass),var(--halo)}
@media (prefers-reduced-motion:no-preference){
  .fh-hero .fh-hero-copy>*{animation:fh-rise var(--t-slow) var(--ease) both}
  .fh-hero .fh-hero-copy>*:nth-child(2){animation-delay:60ms}
  .fh-hero .fh-hero-copy>*:nth-child(3){animation-delay:120ms}
  .fh-hero .fh-hero-copy>*:nth-child(4){animation-delay:180ms}
  .fh-hero-media{animation:fh-fade 800ms var(--ease) both 100ms}
}
@keyframes fh-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fh-fade{from{opacity:0}to{opacity:1}}

/* ---------- 12. Category banner ---------- */
.fh-cat{position:relative;display:grid!important;grid-template-columns:1.1fr 1fr;align-items:stretch;gap:0!important;
  background:var(--c-surface);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1);
  transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease)}
.fh-cat:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.fh-cat:has(a:focus-visible){box-shadow:var(--sh-2),var(--halo)}
.fh-cat .fh-cat__body{padding:clamp(24px,4vw,48px)!important;display:flex;flex-direction:column;justify-content:center;gap:var(--s-3)}
.fh-cat .fh-cat__body h3{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:var(--fw-head);margin:0}
.fh-cat .fh-cat__body p{margin:0;color:var(--c-ink-2)}
.fh-cat .fh-cat__media{margin:0!important;background:var(--c-surface-2);min-height:260px;max-height:440px;overflow:hidden}
.fh-cat .fh-cat__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease)}
.fh-cat:hover .fh-cat__media img{transform:scale(1.03)}
.fh-cat a.fh-cat__link::after{content:"";position:absolute;inset:0}
.fh-cat .fh-cat__link{height:auto!important;align-self:flex-start;margin-top:var(--s-2)}
body.fh .fh-cat .fh-cat__link:focus-visible{box-shadow:none}

/* ---------- 13. Facts ---------- */
.fh-facts{display:grid!important;grid-template-columns:repeat(3,1fr);gap:var(--s-4)!important}
.fh-fact{display:flex!important;align-items:center;gap:var(--s-4)!important;padding:var(--s-5)!important;border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}
.fh-fact .fh-ico{flex:none;width:48px;height:48px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--c-bg);color:var(--c-primary)}
.fh-fact .fh-ico svg{width:22px;height:22px}
.fh-fact p{margin:0!important;line-height:1.6}
.fh-fact strong{display:block;font-size:1rem;font-weight:var(--fw-strong);color:var(--c-ink)}
.fh-fact span{font-size:var(--fs-caption);color:var(--c-ink-2)}

/* ---------- 14. About (editorial) ---------- */
.fh-about{display:grid!important;grid-template-columns:1fr 1.15fr;gap:clamp(24px,5vw,72px)!important;align-items:center}
.fh-about .fh-about__media{margin:0!important}
.fh-about .fh-about__media img{border-radius:var(--r-xl);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--sh-2)}
.fh-about h2{margin:0 0 var(--s-4)!important}
.fh-about h3{margin:var(--s-6) 0 var(--s-3)!important;font-size:1.05rem;color:var(--c-primary)}
.fh-about p{color:var(--c-ink-2);margin:0!important;max-width:58ch}
.fh-about .wp-block-buttons{margin-top:var(--s-5)!important}

/* ---------- 15. Guide cards ---------- */
.fh-guides{display:grid!important;grid-template-columns:repeat(3,1fr);gap:var(--s-4)!important}
.fh-guide{position:relative;display:flex!important;flex-direction:column;gap:var(--s-5)!important;padding:var(--s-5)!important;border-radius:var(--r-lg);
  background:var(--c-surface);box-shadow:var(--sh-1);transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease)}
.fh-guide:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.fh-guide:has(a:focus-visible){box-shadow:var(--sh-2),var(--halo)}
.fh-guide .fh-ico{width:44px;height:44px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--c-bg);color:var(--c-primary)}
.fh-guide .fh-ico svg{width:20px;height:20px}
.fh-guide p{margin:0!important;font-weight:var(--fw-strong);font-size:1rem;line-height:1.65}
.fh-guide a{text-decoration:none;color:var(--c-ink)}
body.fh .fh-guide a:focus-visible{background:transparent;box-shadow:none}
.fh-guide a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.fh-guide .fh-guide__go{margin-top:auto!important;font-size:var(--fs-caption);font-weight:var(--fw-ui);color:var(--c-accent-ink)}

/* stroke icons */
.fh-ico svg,.fh-sizeguide svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- 16. Product card (block + classic loops share it) ---------- */
body.fh :is(.wc-block-product-template,ul.products){display:grid!important;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:var(--s-6) var(--s-5)!important;margin:0!important;padding:0!important;list-style:none}
body.fh ul.products::before,body.fh ul.products::after{display:none!important}
body.fh .wc-block-product-template.columns-5{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
body.fh :is(.wc-block-product,ul.products li.product){
  position:relative;width:auto!important;max-width:none!important;float:none!important;margin:0!important;
  display:flex!important;flex-direction:column;text-align:right!important;
  background:var(--c-surface);border:0;border-radius:var(--r-lg);padding:10px 10px 16px!important;box-shadow:var(--sh-1);
  transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease)}
body.fh :is(.wc-block-product,ul.products li.product):hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
body.fh :is(.wc-block-product,ul.products li.product):has(a:focus-visible){box-shadow:var(--sh-2),var(--halo)}
body.fh :is(.wc-block-product,ul.products li.product) a:focus-visible{background:transparent;box-shadow:none}
/* media */
body.fh :is(.wc-block-product .wc-block-components-product-image,ul.products li.product a img){margin:0 0 var(--s-4)!important;border-radius:var(--r-md);overflow:hidden;background:var(--c-surface-2)}
body.fh .wc-block-product .wc-block-components-product-image img,body.fh ul.products li.product a img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform var(--t-slow) var(--ease)}
body.fh :is(.wc-block-product,ul.products li.product):hover :is(.wc-block-components-product-image img,a img){transform:scale(1.04)}
body.fh ul.products li.product a img{margin:0!important}
body.fh ul.products li.product a.woocommerce-LoopProduct-link{display:block;text-decoration:none;color:inherit}
body.fh ul.products li.product a.woocommerce-LoopProduct-link>img{border-radius:var(--r-md);margin-bottom:var(--s-4)!important}
/* title + code */
body.fh :is(.wc-block-product .wp-block-post-title,ul.products li.product .woocommerce-loop-product__title){font-size:1rem!important;font-weight:var(--fw-strong);line-height:1.5!important;margin:0 6px var(--s-2)!important;padding:0!important;text-align:right!important;color:var(--c-ink)}
body.fh .wc-block-product .wp-block-post-title a{color:inherit;text-decoration:none}
body.fh .wc-block-product .wp-block-post-title a::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.fh-name{display:block}
.fh-code{display:block;direction:ltr;text-align:right;white-space:nowrap;font-size:.75rem;font-weight:var(--fw-ui);letter-spacing:.05em;color:var(--c-ink-3);margin-top:2px;font-variant-numeric:tabular-nums}
/* chips */
.fh-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 6px var(--s-3)}
.fh-chip{display:inline-flex;align-items:baseline;gap:5px;font-size:var(--fs-meta);line-height:1;padding:6px 9px;border-radius:var(--r-pill);background:var(--c-bg);color:var(--c-ink-2)}
.fh-chip__v{color:var(--c-ink);font-weight:var(--fw-strong);font-variant-numeric:tabular-nums}
/* price */
body.fh :is(.wc-block-product .wp-block-woocommerce-product-price,ul.products li.product .price){margin:0 6px var(--s-4)!important;text-align:right!important;font-size:1rem!important;font-weight:var(--fw-head);color:var(--c-primary);font-variant-numeric:tabular-nums}
body.fh .wc-block-product .wc-block-components-product-price{text-align:right!important}
.forohar-noprice{font-size:var(--fs-caption);font-weight:var(--fw-ui);color:var(--c-ink-2)}
/* CTA — quiet tint, fills on hover */
body.fh :is(.wc-block-product .wp-block-button,ul.products li.product .button){margin:auto 6px 0!important;width:auto}
body.fh .wc-block-product .wp-block-button{display:flex;justify-content:stretch;position:relative;z-index:2}
body.fh :is(.wc-block-product .wp-block-button .wp-block-button__link,.wc-block-product .wc-block-components-product-button__button,ul.products li.product .button){
  width:100%;min-height:42px;font-size:.875rem;background:var(--tint-1);color:var(--c-primary);border:0;box-shadow:none}
body.fh :is(.wc-block-product,ul.products li.product):hover :is(.wp-block-button__link,.wc-block-components-product-button__button,.button){background:var(--c-primary);color:var(--c-on-primary)}
body.fh ul.products li.product .button{display:flex;align-items:center;justify-content:center;width:auto!important;margin-inline:6px!important}

/* ---------- 17. Catalog toolbar, breadcrumbs, pagination ---------- */
body.fh .wc-block-breadcrumbs,body.fh .woocommerce-breadcrumb{font-size:var(--fs-caption)!important;color:var(--c-ink-3)}
body.fh .woocommerce-breadcrumb a{color:var(--c-ink-2);text-decoration:none}
body.fh .woocommerce-breadcrumb a:hover{color:var(--c-primary)}
body.fh .woocommerce-result-count,body.fh .wc-block-product-results-count{font-size:var(--fs-small);color:var(--c-ink-2);margin:0}
body.fh .wp-block-query-pagination,body.fh .woocommerce-pagination{margin-top:var(--s-7)!important;gap:var(--s-2);justify-content:center}
body.fh :is(.wp-block-query-pagination-numbers .page-numbers,.wp-block-query-pagination a,.woocommerce-pagination .page-numbers li>*){display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border:0;border-radius:var(--r-pill);background:var(--c-surface);box-shadow:var(--sh-1);text-decoration:none;color:var(--c-ink);font-weight:var(--fw-strong);font-size:.875rem}
body.fh :is(.wp-block-query-pagination-numbers a,.wp-block-query-pagination a):hover{background:var(--c-surface-2)}
body.fh .wp-block-query-pagination-numbers .current{background:var(--c-primary);color:#fff}
/* archive frame */
body.fh :is(.post-type-archive-product,.tax-product_cat,.search) main{max-width:var(--w-wide);margin-inline:auto!important;padding:var(--s-7) var(--gutter) var(--s-9)!important}
body.fh :is(.post-type-archive-product,.tax-product_cat,.search) .wp-block-query-title{font-size:var(--fs-h1);margin:var(--s-2) 0 var(--s-5)!important}
body.fh :is(.post-type-archive-product,.tax-product_cat,.search) main>.wp-block-group.is-content-justification-space-between{align-items:center;padding:10px 10px 10px 18px;border-radius:var(--r-pill);background:var(--c-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--sh-1);margin-bottom:var(--s-6)!important}
body.fh :is(.post-type-archive-product,.tax-product_cat,.search) main>.wp-block-group.is-content-justification-space-between select{box-shadow:none;background-color:var(--c-surface)}

/* ---------- 18. Product page ---------- */
body.fh.single-product main{max-width:var(--w-wide);margin-inline:auto!important;padding:var(--s-6) var(--gutter) var(--s-9)!important}
body.fh.single-product main>.wp-block-columns{gap:clamp(24px,5vw,72px)!important;margin-top:var(--s-4)!important;align-items:flex-start}
body.fh.single-product .woocommerce-product-gallery{position:relative;z-index:1;background:var(--c-surface);border-radius:var(--r-xl);padding:12px;box-shadow:var(--sh-1)}
body.fh.single-product .woocommerce-product-gallery__wrapper img,body.fh.single-product .woocommerce-product-gallery__image img{border-radius:calc(var(--r-xl) - 10px);background:var(--c-surface-2)}
body.fh.single-product .flex-control-thumbs{display:flex!important;gap:10px;margin-top:12px!important}
body.fh.single-product .flex-control-thumbs li{width:76px!important;float:none!important}
body.fh.single-product .flex-control-thumbs img{border-radius:var(--r-sm);opacity:.5;transition:opacity var(--t-fast) var(--ease)}
body.fh.single-product .flex-control-thumbs img.flex-active,body.fh.single-product .flex-control-thumbs img:hover{opacity:1}
/* zoom trigger: belongs to the gallery only — stays under the header & menu */
body.fh.single-product .woocommerce-product-gallery__trigger{z-index:3!important;width:40px!important;height:40px!important;display:grid!important;place-items:center;background:rgba(255,255,255,.86)!important;backdrop-filter:blur(8px);border-radius:var(--r-pill)!important;box-shadow:var(--sh-1);top:22px!important;inset-inline-start:22px!important;font-size:0!important;text-indent:0!important}
body.fh.single-product .woocommerce-product-gallery__trigger:focus-visible{box-shadow:var(--sh-1),var(--halo)}
body.fh.single-product main>.wp-block-columns>.wp-block-column:last-child{position:sticky;top:110px}
body.fh.single-product h1.wp-block-post-title{font-size:var(--fs-h1);margin:var(--s-2) 0 var(--s-3)!important}
body.fh.single-product h1 .fh-code{font-size:.9rem;margin-top:var(--s-2);color:var(--c-ink-2)}
body.fh.single-product .wp-block-woocommerce-product-price{margin-bottom:var(--s-5)!important;font-size:1.25rem;font-weight:var(--fw-head);color:var(--c-primary)}
body.fh.single-product .wp-block-woocommerce-product-price .forohar-noprice{display:inline-block;font-size:var(--fs-small);padding:8px 16px;border-radius:var(--r-pill);background:var(--c-surface);box-shadow:var(--sh-1);color:var(--c-ink-2)}
.fh-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0 0 var(--s-5);padding:6px;border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}
.fh-spec{padding:14px 16px;margin:0;border-radius:var(--r-sm)}
.fh-spec:nth-child(4n+1),.fh-spec:nth-child(4n+2){background:var(--c-surface-2)}
.fh-spec dt{font-size:var(--fs-meta);color:var(--c-ink-3);margin:0 0 3px;font-weight:var(--fw-ui)}
.fh-spec dd{margin:0;font-weight:var(--fw-strong);color:var(--c-ink);font-size:.9375rem;font-variant-numeric:tabular-nums}
.fh-sizeguide{display:inline-flex;align-items:center;gap:var(--s-2);font-weight:var(--fw-strong);font-size:var(--fs-small);text-decoration:none!important;color:var(--c-primary);padding:11px 18px;border-radius:var(--r-pill);background:var(--tint-1);transition:background-color var(--t-fast) var(--ease)}
.fh-sizeguide:hover{background:var(--tint-2)}
.fh-sizeguide:focus-visible{background:var(--tint-2)!important;box-shadow:none!important;border-radius:var(--r-pill)!important}
.fh-sizeguide svg{width:18px;height:18px}
body.fh.single-product .wp-block-post-excerpt{color:var(--c-ink-2);margin-top:var(--s-5)!important}
body.fh.single-product .wp-block-woocommerce-product-meta{font-size:var(--fs-caption);color:var(--c-ink-3);margin-top:var(--s-5)!important;padding-top:var(--s-4);border-top:1px solid var(--c-hairline)}
body.fh.single-product .wp-block-woocommerce-product-meta a{color:var(--c-ink-2)}
body.fh .woocommerce-tabs ul.tabs{display:flex;gap:var(--s-1);padding:5px!important;margin:var(--s-8) 0 var(--s-5)!important;border:0!important;background:var(--tint-1);border-radius:var(--r-pill);width:max-content;max-width:100%;overflow:visible}
body.fh .woocommerce-tabs ul.tabs::before{display:none}
body.fh .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;margin:0!important;padding:0!important;border-radius:var(--r-pill)!important}
body.fh .woocommerce-tabs ul.tabs li::before,body.fh .woocommerce-tabs ul.tabs li::after{display:none!important}
body.fh .woocommerce-tabs ul.tabs li a{display:block;padding:8px 18px!important;border-radius:var(--r-pill);font-weight:var(--fw-strong);font-size:var(--fs-small);color:var(--c-ink-2)!important;text-decoration:none}
body.fh .woocommerce-tabs ul.tabs li.active a{background:var(--c-surface);color:var(--c-primary)!important;box-shadow:var(--sh-1)}
body.fh .woocommerce-tabs ul.tabs li a:focus-visible{background:var(--c-surface);box-shadow:var(--halo)}
body.fh .woocommerce-tabs .panel{background:var(--c-surface);border:0;border-radius:var(--r-lg);padding:var(--s-6)!important;box-shadow:var(--sh-1)}
body.fh.single-product .wp-block-woocommerce-product-collection{margin-top:var(--s-9)!important}
body.fh.single-product .wp-block-woocommerce-product-collection>h2{margin-bottom:var(--s-6)!important}
/* reviews form */
body.fh #reviews .comment-form-rating .stars a{box-shadow:none}

/* ---------- 19. Content pages ---------- */
body.fh.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) main{padding:var(--s-7) var(--gutter) var(--s-9)!important}
body.fh.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) main h1.wp-block-post-title{max-width:var(--w-content);margin:var(--s-5) auto var(--s-6)!important;font-size:var(--fs-h1)}
body.fh.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content{max-width:calc(var(--w-content) + 2*clamp(24px,5vw,56px));margin-inline:auto!important;background:var(--c-surface);border-radius:var(--r-xl);padding:clamp(24px,5vw,56px)!important;box-shadow:var(--sh-1)}
body.fh:not(.home) .entry-content>:not(.fh-hero-wrap):not(.fh-section):not(.alignwide):not(.alignfull){max-width:var(--w-content)}
body.fh:not(.home) .entry-content p{color:#33413C;font-size:1.0625rem;line-height:2.05;margin-block:0 var(--s-4)}
body.fh:not(.home) .entry-content :is(ul,ol){padding-inline-start:1.3em;line-height:2}
body.fh:not(.home) .entry-content h2{margin-block:var(--s-7) var(--s-3)}
body.fh:not(.home) .entry-content h3{margin-block:var(--s-6) var(--s-2);color:var(--c-primary);font-size:1.15rem}
body.fh:not(.home) .entry-content>:first-child{margin-top:0!important}
body.fh:not(.home) .entry-content .wp-block-image img{border-radius:var(--r-lg)}
body.fh main .wp-block-group.alignfull{margin-inline:0!important}

/* ---------- 20. Cart / checkout ---------- */
body.fh :is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) main{max-width:var(--w-wide);margin-inline:auto!important;padding:var(--s-7) var(--gutter) var(--s-9)!important}
body.fh .wc-block-cart,body.fh .wc-block-checkout{background:var(--c-surface);border-radius:var(--r-xl);padding:var(--s-6)!important;box-shadow:var(--sh-1)}
body.fh .wc-block-components-sidebar-layout .wc-block-components-main,body.fh .wc-block-components-totals-wrapper{border-color:var(--c-hairline)!important}
body.fh .wc-block-components-text-input :is(input,textarea),body.fh .wc-blocks-components-select select{border:0!important;box-shadow:inset 0 0 0 1px var(--c-hairline)!important;border-radius:var(--r-sm)!important}
body.fh .wc-block-components-text-input :is(input,textarea):focus,body.fh .wc-blocks-components-select select:focus{box-shadow:inset 0 0 0 1px rgba(111,147,132,.55),0 0 0 4px rgba(111,147,132,.16)!important}
body.fh .wc-block-components-checkbox .wc-block-components-checkbox__input:focus{box-shadow:var(--halo)!important;outline:none!important}

/* notices */
body.fh :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error){border:0;border-radius:var(--r-md);background:var(--c-surface);box-shadow:var(--sh-1)}
body.fh .wc-block-components-notice-banner.is-success{box-shadow:var(--sh-1),inset -3px 0 0 var(--c-success)}
body.fh .wc-block-components-notice-banner.is-error{box-shadow:var(--sh-1),inset -3px 0 0 var(--c-error)}
body.fh .wc-block-components-notice-banner.is-warning{box-shadow:var(--sh-1),inset -3px 0 0 var(--c-warning)}

/* ---------- 21. 404 ---------- */
body.fh.error404 main{min-height:56vh;display:grid;place-content:center;text-align:center;padding:var(--s-8) var(--gutter)!important}
body.fh.error404 main h1{font-size:var(--fs-h1)}
body.fh.error404 main p{color:var(--c-ink-2)}

/* ---------- 22. Footer (dark surface, real contrast) ---------- */
body.fh footer.wp-block-template-part{margin-top:var(--s-9)}
.fh-footer{background:var(--c-primary-deep);color:var(--c-dark-md);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:clamp(44px,6vw,80px) var(--gutter) var(--s-5)!important;position:relative;overflow:hidden}
.fh-footer::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 70% at 100% 0%,rgba(36,88,75,.38),transparent 60%)}
.fh-footer>*{position:relative;max-width:var(--w-wide);margin-inline:auto!important}
.fh-footer .fh-footer__top{display:grid!important;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--s-6)!important;align-items:start}
.fh-footer .fh-brand{font-family:var(--f-display);font-weight:600;font-size:1.9rem;letter-spacing:.32em;color:var(--c-dark-hi);margin:0!important;line-height:1;direction:ltr;text-align:right}
.fh-footer .fh-footer__tag{font-family:var(--f-display);letter-spacing:.26em;font-size:.9rem;color:var(--c-dark-lo);margin:var(--s-3) 0 0!important;direction:ltr;text-align:right}
.fh-footer h3{font-size:var(--fs-caption);font-weight:var(--fw-strong);color:var(--c-dark-lo);margin:var(--s-1) 0 var(--s-4)!important;line-height:1.6}
.fh-footer ul{list-style:none;margin:0;padding:0}
.fh-footer li{margin:0 0 var(--s-2)}
body.fh .fh-footer a{display:inline-block;color:var(--c-dark-md);text-decoration:none;font-size:.9375rem;font-weight:var(--fw-body);line-height:1.7;padding:2px 0;border-radius:6px;transition:color var(--t-fast) var(--ease)}
body.fh .fh-footer a:hover{color:var(--c-dark-hi);text-decoration:underline;text-decoration-color:var(--c-dark-line);text-underline-offset:.4em}
body.fh .fh-footer a:focus-visible{color:var(--c-dark-hi);background:var(--tint-dark-2);box-shadow:0 0 0 5px var(--tint-dark-2)}
.fh-footer .fh-footer__bottom{margin-top:var(--s-8)!important;padding-top:var(--s-5)!important;border-top:1px solid var(--c-dark-line);font-size:var(--fs-caption);color:var(--c-dark-lo);display:flex!important;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}
.fh-footer .fh-footer__bottom p{margin:0!important}

/* ---------- 23. Skeleton ---------- */
.fh-skel{background:linear-gradient(100deg,var(--c-surface-2) 30%,#e6ece9 50%,var(--c-surface-2) 70%) 0 0/200% 100%!important;animation:fh-shimmer 1.4s linear infinite}
.fh-skel img{opacity:0}
.fh-img-in{animation:fh-imgin 420ms var(--ease) both}
@keyframes fh-shimmer{to{background-position:-200% 0}}
@keyframes fh-imgin{from{opacity:0}to{opacity:1}}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width:1024px){
  .fh-footer .fh-footer__top{grid-template-columns:1fr 1fr 1fr}
  .fh-footer .fh-footer__brandcol{grid-column:1/-1;margin-bottom:var(--s-2)}
}
@media (min-width:782px) and (max-width:1024px){
  body.fh :is(.wc-block-product-template,ul.products){grid-template-columns:repeat(3,minmax(0,1fr))}
  .fh-hero .fh-wordmark{font-size:clamp(2.4rem,6vw,3.6rem)}
}
@media (max-width:860px){
  .fh-hero{flex-direction:column!important}
  .fh-hero>.wp-block-column{flex-basis:100%!important;width:100%}
  .fh-cat{grid-template-columns:1fr}
  .fh-cat .fh-cat__media{min-height:220px;order:-1}
  .fh-facts,.fh-guides{grid-template-columns:1fr}
  .fh-about{grid-template-columns:1fr}
  .fh-about .fh-about__media img{aspect-ratio:16/11}
  body.fh.single-product main>.wp-block-columns>.wp-block-column:last-child{position:static}
}
@media (min-width:600px) and (max-width:860px){
  .fh-hero .fh-hero-media{max-width:460px;width:100%;margin-inline:auto!important}
}

/* ---------- Phone (≤781) ---------- */
@media (max-width:781px){
  html,body.fh{overflow-x:clip}
  :root{--gutter:16px}
  body.fh{font-size:.9375rem}
  body.fh :where(h1){font-size:clamp(1.55rem,7vw,1.95rem)}
  body.fh :where(h2){font-size:clamp(1.3rem,5.6vw,1.6rem)}

  .forohar-pricebar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;white-space:nowrap;padding:6px 16px;font-size:.75rem;gap:2px 12px}
  .forohar-pricebar::-webkit-scrollbar{display:none}
  .forohar-pricebar .fh-pb-time{display:none}

  body.fh header.wp-block-template-part{padding:8px 12px 0}
  .fh-nav{gap:var(--s-2);padding:6px 6px 6px 16px!important}
  .fh-nav .wp-block-site-title{font-size:1.05rem}
  .fh-nav .wp-block-site-title a{letter-spacing:.26em}
  .fh-nav-actions{margin-inline-start:auto;gap:6px}
  body.fh .fh-nav :is(.wp-block-navigation__responsive-container-open,.wc-block-mini-cart__button,.wp-block-search__button){width:42px;height:42px;min-height:42px}

  .fh-section{margin-block:var(--s-8) 0!important;padding-inline:16px}
  .fh-section-head{align-items:center}

  .fh-hero-wrap{margin-top:var(--s-3)!important;padding-inline:12px}
  .fh-hero{padding:14px 14px 24px!important;gap:var(--s-5)!important;border-radius:var(--r-lg)}
  .fh-hero .fh-hero-media{order:-1}
  .fh-hero-media img{border-radius:var(--r-md);aspect-ratio:4/3.4}
  .fh-hero .fh-hero-copy{padding-inline:6px}
  .fh-hero .fh-wordmark{font-size:clamp(2.2rem,11vw,3rem);letter-spacing:.16em}
  .fh-hero .fh-tagline{font-size:.78rem;letter-spacing:.22em;margin-bottom:var(--s-4)!important}
  .fh-hero .fh-hero-line{font-size:1.05rem;margin-bottom:var(--s-5)!important}
  .fh-hero .wp-block-buttons{flex-direction:column;align-items:stretch}
  .fh-hero .wp-block-button,.fh-hero .wp-block-button__link{width:100%}
  .fh-hero-media .fh-hero-card{position:relative!important;inset:auto!important;z-index:3;margin:-44px 12px 0!important;max-width:none;padding:12px 14px!important;background:rgba(255,255,255,.95)}

  .fh-cat{border-radius:var(--r-lg)}
  .fh-cat .fh-cat__media{min-height:200px}
  .fh-cat .fh-cat__body{padding:20px!important}
  .fh-cat .fh-cat__link{align-self:stretch}
  .fh-fact{padding:16px!important}
  .fh-about .fh-about__media img{border-radius:var(--r-lg)}
  .fh-guide{flex-direction:row!important;align-items:center;gap:var(--s-4)!important;padding:16px!important}
  .fh-guide .fh-guide__go{display:none}

  body.fh :is(.wc-block-product-template,ul.products),body.fh .wc-block-product-template.columns-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4) var(--s-3)!important}
  body.fh :is(.wc-block-product,ul.products li.product){padding:8px 8px 12px!important;border-radius:var(--r-md)}
  body.fh :is(.wc-block-product .wc-block-components-product-image,ul.products li.product a img){border-radius:var(--r-sm)}
  body.fh :is(.wc-block-product .wp-block-post-title,ul.products li.product .woocommerce-loop-product__title){font-size:.875rem!important;margin-inline:4px!important}
  .fh-chips{gap:4px;margin-inline:4px}
  .fh-chip{font-size:.6875rem;padding:5px 7px}
  .fh-code{font-size:.6875rem}
  body.fh :is(ul.products li.product .price,.wc-block-product .wp-block-woocommerce-product-price,.wc-block-product .wc-block-components-product-price){font-size:.8125rem!important;line-height:1.7;margin-inline:4px!important}
  body.fh :is(.wc-block-product .wp-block-button__link,.wc-block-product .wc-block-components-product-button__button,ul.products li.product .button){min-height:40px;font-size:.8125rem;padding:8px 10px}

  body.fh :is(.post-type-archive-product,.tax-product_cat,.search) main{padding-top:var(--s-5)!important}
  body.fh :is(.post-type-archive-product,.tax-product_cat,.search) main>.wp-block-group.is-content-justification-space-between{flex-wrap:wrap!important;gap:var(--s-2);padding:10px 12px;border-radius:var(--r-md)}
  body.fh .woocommerce-ordering,body.fh .wc-block-catalog-sorting{width:100%}
  body.fh .woocommerce-ordering select,body.fh .wc-block-catalog-sorting select{width:100%}

  body.fh.single-product main{padding-top:var(--s-4)!important}
  body.fh.single-product .woocommerce-product-gallery{padding:8px;border-radius:var(--r-lg)}
  body.fh.single-product .woocommerce-product-gallery__trigger{top:16px!important;inset-inline-start:16px!important}
  body.fh.single-product .flex-control-thumbs li{width:64px!important}
  body.fh.single-product h1.wp-block-post-title{font-size:1.45rem}
  .fh-spec{padding:12px 14px}
  .fh-sizeguide{width:100%;justify-content:center;min-height:48px}
  body.fh .woocommerce-tabs ul.tabs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
  body.fh .woocommerce-tabs ul.tabs li{flex:none}
  body.fh .woocommerce-tabs .panel{padding:var(--s-5)!important}

  body.fh.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) main{padding-top:var(--s-4)!important}
  body.fh:not(.home) .entry-content p{font-size:1rem;line-height:2}
  body.fh .wc-block-cart,body.fh .wc-block-checkout{padding:var(--s-4)!important;border-radius:var(--r-lg)}

  .fh-footer{border-radius:var(--r-lg) var(--r-lg) 0 0;padding-bottom:calc(var(--s-5) + env(safe-area-inset-bottom))!important}
  .fh-footer .fh-footer__top{grid-template-columns:1fr 1fr;gap:var(--s-6) var(--s-4)!important}
  .fh-footer .fh-footer__top>div:last-child{grid-column:1/-1}
  .fh-footer .fh-brand{font-size:1.6rem}
  body.fh .fh-footer a{padding:5px 0}
  .fh-footer .fh-footer__bottom{margin-top:var(--s-7)!important;flex-direction:column;gap:var(--s-1)}
}
@media (max-width:380px){
  body.fh :is(.wc-block-product-template,ul.products){gap:var(--s-3) 10px!important}
  .fh-chip{font-size:.65rem;padding:4px 6px}
  .fh-nav{padding-inline-start:14px!important}
  .fh-nav .wp-block-site-title a{letter-spacing:.22em}
}

/* touch: no hover lift; press feedback instead */
@media (hover:none){
  body.fh :is(.wc-block-product,ul.products li.product,.fh-cat,.fh-guide):hover{transform:none;box-shadow:var(--sh-1)}
  body.fh :is(.wc-block-product,ul.products li.product):hover :is(.wc-block-components-product-image img,a img),.fh-cat:hover .fh-cat__media img{transform:none}
  body.fh :is(.wc-block-product,ul.products li.product):hover :is(.wp-block-button__link,.wc-block-components-product-button__button,.button){background:var(--tint-1);color:var(--c-primary)}
  body.fh :is(.wc-block-product,ul.products li.product,.fh-cat,.fh-guide):active{transform:scale(.985)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
