/* ════════════════════════════════════════════════════════════
   FIT ESSENTIALS · COMPONENT STYLES
   References theme.json preset variables (--wp--preset--*) so
   theme.json stays the single source of truth. Only shape/shadow
   aliases + component layout live here.
   ════════════════════════════════════════════════════════════ */
:root{
  --fe-r-pill:999px; --fe-r-card:18px; --fe-r-sm:10px;
  --fe-sh-soft:var(--wp--preset--shadow--soft);
  --fe-sh-lift:var(--wp--preset--shadow--lift);
  --fe-ease:cubic-bezier(0.16,1,0.3,1);
}

/* ── Serif guardrail: display only ── */
.wp-site-blocks h1,.wp-site-blocks h2,.wp-site-blocks h3,.fe-display{
  font-family:var(--wp--preset--font-family--serif);font-weight:500;line-height:1.15;letter-spacing:-0.01em;}
.fe-display em,h1 em,h2 em,h3 em{font-style:italic;color:var(--wp--preset--color--rose);}
.fe-display em.is-sage,h2 em.is-sage{color:var(--wp--preset--color--sage-strong);}
body,p,li,label,.wp-block-button__link{font-family:var(--wp--preset--font-family--sans);}
.fe-data,.price,.fe-mmhg,code{font-family:var(--wp--preset--font-family--mono);}

/* ── Buttons → pills (theme.json sets color; we set shape/hover lift) ── */
.wp-block-button__link{border-radius:var(--fe-r-pill)!important;font-weight:600;letter-spacing:0.02em;
  transition:transform var(--fe-ease) .22s, box-shadow .22s, background-color .22s;box-shadow:0 6px 20px rgba(158,79,86,0.24);}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(158,79,86,0.3);}
.is-style-fe-sage .wp-block-button__link{background-color:var(--wp--preset--color--sage-strong);box-shadow:0 6px 20px rgba(100,130,117,0.22);}
.is-style-fe-ghost .wp-block-button__link{background:transparent;color:var(--wp--preset--color--rose-strong);
  border:1.5px solid var(--wp--preset--color--rose-soft);box-shadow:none;}
.is-style-fe-ghost .wp-block-button__link:hover{background:var(--wp--preset--color--rose-tint);border-color:var(--wp--preset--color--rose);}

/* ── Eyebrow pill (block style for a group/paragraph) ── */
.fe-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--wp--preset--font-family--mono);
  font-size:0.7rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;
  padding:6px 15px;border-radius:var(--fe-r-pill);background:var(--wp--preset--color--rose-soft);color:var(--wp--preset--color--rose-strong);width:fit-content;}
.fe-eyebrow.is-sage{background:var(--wp--preset--color--sage-soft);color:var(--wp--preset--color--sage-strong);}
.fe-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}

/* ── Cards ── */
.fe-card{background:var(--wp--preset--color--white);border:1px solid var(--wp--preset--color--border);
  border-radius:var(--fe-r-card);transition:transform var(--fe-ease) .25s, box-shadow .25s, border-color .25s;}
.fe-card:hover{transform:translateY(-6px);box-shadow:var(--fe-sh-soft);border-color:var(--wp--preset--color--rose-soft);}
.fe-cat-ic{width:62px;height:62px;border-radius:50%;background:var(--wp--preset--color--rose-tint);
  color:var(--wp--preset--color--rose);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;transition:.25s;}
.fe-card:hover .fe-cat-ic{background:var(--wp--preset--color--rose);color:#fff;}

/* ── Hero card (soft organic shape) ── */
.fe-hero-card{background:linear-gradient(150deg,var(--wp--preset--color--rose-soft),var(--wp--preset--color--sage-soft));
  border-radius:42% 58% 56% 44%/48% 42% 58% 52%;aspect-ratio:1/1.08;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:2.5rem;box-shadow:var(--fe-sh-lift);}

/* ── Measure-rule signature ── */
.fe-rule{height:16px;background-image:repeating-linear-gradient(90deg,var(--wp--preset--color--rose-soft) 0,var(--wp--preset--color--rose-soft) 1px,transparent 1px,transparent 9px);
  border-bottom:1.5px solid var(--wp--preset--color--rose);opacity:0.6;}

/* ── Trust strip + insurance chips ── */
.fe-trust-item{display:flex;align-items:center;gap:8px;font-size:0.78rem;font-weight:500;letter-spacing:0.04em;color:rgba(255,255,255,0.82);}
.fe-trust-item::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--wp--preset--color--rose-soft);}
.fe-chip{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:var(--fe-r-pill);
  padding:7px 16px;font-size:0.8rem;font-weight:600;color:#fff;}

/* ── Section rhythm + accessibility floor ── */
.fe-section{padding-block:var(--wp--preset--spacing--70);}
:where(a,button,input,select,.wp-block-button__link):focus-visible{outline:none;box-shadow:0 0 0 3px var(--wp--preset--color--rose-soft);}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* ════════════════════════════════════════════════════════════
   PHASE 2 · WOOCOMMERCE COMPONENTS (all read theme.json tokens)
   ════════════════════════════════════════════════════════════ */

/* Breadcrumbs */
.wc-block-breadcrumbs{font-family:var(--wp--preset--font-family--mono);font-size:0.75rem;color:var(--wp--preset--color--ink-muted);letter-spacing:0.02em;}
.wc-block-breadcrumbs a{color:var(--wp--preset--color--rose-strong);}

/* Shop toolbar (count + sorting) */
.fe-shop-toolbar{border-bottom:1px solid var(--wp--preset--color--border);padding-bottom:1rem;}
.fe-shop-toolbar .woocommerce-result-count,
.fe-shop-toolbar .wc-block-product-results-count{color:var(--wp--preset--color--ink-muted);font-size:0.875rem;margin:0;}
.fe-shop-toolbar select,.wc-block-catalog-sorting select{font-family:var(--wp--preset--font-family--sans);border:1.5px solid var(--wp--preset--color--border);border-radius:var(--fe-r-pill);padding:8px 16px;background:var(--wp--preset--color--white);color:var(--wp--preset--color--ink);font-size:0.85rem;}

/* Filters sidebar */
.fe-filters .wp-block-heading{font-family:var(--wp--preset--font-family--serif);}
.fe-filters > *{margin-bottom:1.5rem;}
.fe-filters .wc-block-components-price-slider__range-input-progress{--range-color:var(--wp--preset--color--rose);}

/* Product grid cards (Product Collection → Product Template items) */
.fe-product-grid > li,
.wp-block-woocommerce-product-template li.product{
  background:var(--wp--preset--color--white);border:1px solid var(--wp--preset--color--border);
  border-radius:var(--fe-r-card);padding:1rem;list-style:none;
  transition:transform var(--fe-ease) .25s, box-shadow .25s, border-color .25s;}
.fe-product-grid > li:hover,
.wp-block-woocommerce-product-template li.product:hover{
  transform:translateY(-5px);box-shadow:var(--fe-sh-soft);border-color:var(--wp--preset--color--rose-soft);}
.fe-product-grid .wc-block-components-product-image img,
.fe-product-grid img{border-radius:12px;}
.fe-product-grid .wp-block-post-title a{color:var(--wp--preset--color--ink);text-decoration:none;}
.fe-product-grid .wp-block-post-title a:hover{color:var(--wp--preset--color--rose-strong);}
.fe-product-grid .wc-block-components-product-price{font-family:var(--wp--preset--font-family--sans);}
.fe-product-grid .wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-components-product-button .wc-block-components-product-button__button{
  background:var(--wp--preset--color--rose)!important;color:#fff!important;border-radius:var(--fe-r-pill)!important;
  font-weight:600;width:100%;justify-content:center;}

/* Single product (PDP) */
.fe-pdp .wp-block-post-title{font-family:var(--wp--preset--font-family--serif);font-weight:500;line-height:1.1;}
.fe-buybox{position:sticky;top:120px;align-self:start;}
.fe-buybox .wc-block-components-product-rating{color:#C7901F;}
.fe-pdp .wp-block-woocommerce-product-price .woocommerce-Price-amount,
.fe-buybox .price{color:var(--wp--preset--color--rose);font-weight:700;font-family:var(--wp--preset--font-family--sans);}
.fe-buybox .single_add_to_cart_button,
.fe-buybox .wp-block-button__link,
.fe-pdp button.single_add_to_cart_button{
  background:var(--wp--preset--color--rose)!important;color:#fff!important;border-radius:var(--fe-r-pill)!important;
  font-weight:600;padding:0.9rem 2rem;border:none;}
.fe-buybox .quantity input{border:1.5px solid var(--wp--preset--color--border);border-radius:var(--fe-r-sm);padding:0.6rem;}
@media(max-width:781px){.fe-buybox{position:static;}}

/* Product tabs */
.fe-product-tabs .wc-tabs li a,
.fe-product-tabs [role="tab"]{font-family:var(--wp--preset--font-family--sans);font-weight:600;}
.fe-product-tabs [aria-selected="true"]{color:var(--wp--preset--color--rose-strong);border-color:var(--wp--preset--color--rose);}

/* ── Compression Gauge (signature) ── */
.fe-gauge{border:1px solid var(--wp--preset--color--border);}
.fe-gauge-seg{background:var(--wp--preset--color--cream-deep);border-radius:var(--fe-r-sm);padding:0.75rem 0.4rem;transition:.25s;}
.fe-gauge-seg.is-active{background:var(--wp--preset--color--rose);transform:translateY(-5px);box-shadow:var(--fe-sh-soft);}
.fe-gauge-mmhg{font-weight:600;color:var(--wp--preset--color--ink);margin:0;}
.fe-gauge-seg.is-active .fe-gauge-mmhg,.fe-gauge-seg.is-active .fe-gauge-lbl{color:#fff;}
.fe-gauge-lbl{color:var(--wp--preset--color--ink-muted);margin:0.15rem 0 0;}

/* Cart + Checkout brand polish */
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-container .wc-block-components-button{
  background:var(--wp--preset--color--rose)!important;border-radius:var(--fe-r-pill)!important;font-weight:600;}
.wc-block-components-totals-item__value,.wc-block-formatted-money-amount{font-family:var(--wp--preset--font-family--sans);}
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper{border-radius:var(--fe-r-card);}

/* ── Sale / discount band ── */
.fe-sale-band{background:linear-gradient(135deg,var(--wp--preset--color--rose),var(--wp--preset--color--rose-strong));}
.fe-sale-band h2{color:#fff;}
.fe-sale-band h2 em{color:#fff;font-style:italic;text-decoration:underline;text-decoration-color:rgba(255,255,255,0.5);text-underline-offset:5px;}
.fe-sale-band .wp-block-button__link{box-shadow:0 6px 18px rgba(0,0,0,0.12);}

/* ── Header menu bar + navigation dropdowns ── */
.fe-menu-bar{min-height:48px;}
.fe-nav .wp-block-navigation-item__content{font-size:0.82rem;font-weight:600;color:var(--wp--preset--color--ink-soft);padding:0.75rem 0.85rem;border-radius:var(--fe-r-sm);transition:color .2s,background .2s;}
.fe-nav .wp-block-navigation-item__content:hover,
.fe-nav .wp-block-navigation-item.is-open > .wp-block-navigation-item__content{color:var(--wp--preset--color--rose-strong);background:var(--wp--preset--color--rose-tint);}
.fe-nav .fe-nav-sale .wp-block-navigation-item__content{color:var(--wp--preset--color--rose);}
/* dropdown card */
.fe-nav .wp-block-navigation__submenu-container{
  background:var(--wp--preset--color--white);border:1px solid var(--wp--preset--color--border);
  border-top:3px solid var(--wp--preset--color--rose);border-radius:0 0 var(--fe-r-card) var(--fe-r-card);
  box-shadow:var(--fe-sh-soft);padding:0.5rem;min-width:240px;}
.fe-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  font-weight:500;color:var(--wp--preset--color--ink-soft);padding:0.5rem 0.75rem;border-radius:var(--fe-r-sm);}
.fe-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{
  color:var(--wp--preset--color--rose-strong);background:var(--wp--preset--color--rose-tint);}
.fe-nav .wp-block-navigation__submenu-icon{color:var(--wp--preset--color--ink-muted);}

/* Header search pill */
.fe-header-search{flex:1;max-width:400px;}
.fe-header-search .wp-block-search__input{
  border:1.5px solid var(--wp--preset--color--border);border-radius:var(--fe-r-pill);
  background:var(--wp--preset--color--white);padding:0.65rem 1.1rem;font-family:var(--wp--preset--font-family--sans);font-size:0.85rem;}
.fe-header-search .wp-block-search__button{
  background:transparent;color:var(--wp--preset--color--ink-muted);border:none;padding:0 0.8rem;}
.fe-header-search .wp-block-search__input:focus{border-color:var(--wp--preset--color--rose);box-shadow:0 0 0 3px var(--wp--preset--color--rose-soft);outline:none;}

/* Mini-cart trigger */
.fe-header .wc-block-mini-cart__button{color:var(--wp--preset--color--ink);}
.fe-header .wc-block-mini-cart__badge{background:var(--wp--preset--color--rose);color:#fff;}

@media(max-width:781px){
  .fe-header-search{display:none;}
  .fe-menu-bar{padding-block:0.25rem;}
}
