/*
Theme Name: Slimcare.me
Theme URI: https://slimcare.me
Author: Slimcare
Author URI: https://slimcare.me
Description: Premium GLP-1 pharma/wellness theme — warm caramel + forest green palette, Hims-inspired.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: slimcareme
*/

:root{
  --cream:#F4ECDD;
  --cream-2:#EBE0CB;
  --peach:#E8B47D;
  --peach-deep:#D4A574;
  --peach-soft:#F5D9B9;
  --caramel:#C39468;
  --caramel-deep:#8B5E34;
  --brown:#3D2817;
  --brown-deep:#2A1B0E;
  --brown-darkest:#1A0F06;
  --ink:#1A1410;
  --ink-2:#5C4633;
  --rose:#F5C0AE;
  --rose-2:#E8A38C;
  --sage:#D8DCC8;
  --sky:#C8D4DC;
  --hair:rgba(26,20,16,.12);
  --hair-on-dark:rgba(244,236,221,.16);

  --sans:'Familjen Grotesk', ui-sans-serif, system-ui;
  --serif:'Fraunces', ui-serif, Georgia, serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;
}

html,body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{font-size:16px;line-height:1.45;letter-spacing:-0.005em}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
::selection{background:var(--peach);color:var(--brown-deep)}
img,svg{display:block;max-width:100%}

/* Reset footer top margin (WordPress default) */
.wp-site-blocks > footer{margin-block-start:0}
.wp-site-blocks{margin-top:0 !important}

/* ─── container — full-width with centered content ─── */
.wp-site-blocks{max-width:none;margin:0;background:var(--cream);position:relative;overflow-x:hidden;box-shadow:none}

/* Content container utility (centered max-width inside full-width sections) */
:root{--sc-content:1200px;--sc-narrow:760px;--sc-edge:max(24px, 5vw)}

/* ═══ WordPress block layout overrides — full-width sections, centered content ═══ */
.wp-site-blocks .wp-block-group.is-layout-constrained,
.wp-site-blocks main.wp-block-group{
  padding-left:0 !important;padding-right:0 !important;max-width:none !important;
}
.wp-site-blocks .wp-block-group.is-layout-constrained > *{max-width:none !important}

/* kill WP default 24px gap between stacked sections (product/shop/narrow pages) */
.wp-site-blocks main.sc-product > *,
.wp-site-blocks main.sc-shop > *,
.wp-site-blocks main.sc-narrow > *{margin-top:0 !important;margin-bottom:0 !important}

/* ═══ EDGE SPACING ENFORCEMENT ═══
   The is-layout-constrained reset above (padding-left:0!important, specificity 0,3,0)
   beats single-class section rules and pushes content to the screen edge.
   These selectors match that specificity + come later in cascade → content keeps
   a comfortable margin from the screen edge everywhere (full-bleed bg still OK,
   because padding sits inside the element and bg covers it). */
.wp-site-blocks .product-hero.wp-block-group,
.wp-site-blocks .product-details.wp-block-group,
.wp-site-blocks .product-faq.wp-block-group,
.wp-site-blocks .product-benefits.wp-block-group,
.wp-site-blocks .product-mechanism.wp-block-group,
.wp-site-blocks .product-related.wp-block-group,
.wp-site-blocks .product-trust.wp-block-group,
.wp-site-blocks .trust.wp-block-group,
.wp-site-blocks .shop-hero.wp-block-group,
.wp-site-blocks .shop-grid.wp-block-group,
.wp-site-blocks .sc-narrow .narrow-hero.wp-block-group,
.wp-site-blocks .sc-narrow .narrow-body.wp-block-group{
  padding-left:var(--sc-edge) !important;
  padding-right:var(--sc-edge) !important;
}

/* Each section becomes full-width, content is constrained inside via max-width */
.wp-site-blocks .promo.wp-block-group{padding:14px var(--sc-edge) !important;display:flex !important;align-items:center;justify-content:center;gap:14px;text-align:center}
.wp-site-blocks .sc-header.wp-block-group{padding:18px var(--sc-edge) !important;display:flex !important;align-items:center;justify-content:space-between;max-width:var(--sc-content) !important;margin:0 auto !important}
.wp-site-blocks .hero-h.wp-block-group{padding:60px var(--sc-edge) 40px !important;max-width:var(--sc-content) !important;margin:0 auto !important}
.wp-site-blocks .hero-cards.wp-block-group{padding:0 var(--sc-edge) !important;display:grid !important;grid-template-columns:1fr 1fr;gap:20px;margin:0 auto 28px !important;max-width:var(--sc-content) !important;align-items:stretch !important}
.wp-site-blocks .hero-cards .card-hero{min-height:400px;height:100%;display:flex;flex-direction:column;justify-content:space-between;position:relative;margin:0 !important}
.wp-site-blocks .hero-cards > *{margin-top:0 !important;margin-bottom:0 !important}
.wp-site-blocks .hero-cards .card-hero .stage{
  position:absolute !important;top:90px !important;left:0;right:0;bottom:80px !important;
  display:flex !important;align-items:center;justify-content:center;
  z-index:2;padding:0 14px;box-sizing:border-box;
}
.wp-site-blocks .hero-cards .card-hero .stage img{
  max-width:80%;max-height:100%;width:auto;height:auto;object-fit:contain;
}
/* alt card: chart stage covers the ENTIRE tile (full-bleed viz) */
.wp-site-blocks .hero-cards .card-hero.alt .stage.chart-stage{
  top:0 !important;bottom:0 !important;left:0;right:0;padding:0;z-index:1;
}
.wp-site-blocks .hero-cards .card-hero.alt .stage .hero-chart{
  position:absolute;inset:0;width:100% !important;height:100% !important;max-width:none;max-height:none;
}
/* keep h3 at top of flow, CTA absolutely pinned to bottom (identical position both cards) */
.wp-site-blocks .hero-cards .card-hero h3{position:relative;z-index:3}
.wp-site-blocks .hero-cards .card-hero .cta-link{
  position:absolute !important;left:22px !important;right:22px !important;bottom:18px !important;
  z-index:3;margin:0 !important;
  display:flex !important;align-items:center;justify-content:space-between;
  font-size:12.5px;line-height:1.2;letter-spacing:-0.01em;
  white-space:nowrap;overflow:hidden;text-overflow:clip;
  padding:14px 0 0 !important;border-top:1px solid rgba(244,236,221,.25);
}
.wp-site-blocks .hero-cards .card-hero .cta-link em{flex-shrink:0;font-style:normal;font-size:18px;line-height:1}
/* floor decorative ellipse — anchor above the cta-link */
.wp-site-blocks .hero-cards .card-hero .floor{bottom:62px !important}
.wp-site-blocks .cats.wp-block-group{padding:0 var(--sc-edge) !important;display:flex !important;flex-direction:column;gap:6px !important;margin:0 auto 60px !important;max-width:var(--sc-content) !important;align-items:stretch !important}
.wp-site-blocks .cats > *, .wp-site-blocks .cats .cat-row{margin:0 !important}
.wp-site-blocks .cats .cat-row{width:100% !important;box-sizing:border-box}
.wp-site-blocks .hero-cards .card-hero{width:100% !important;box-sizing:border-box}
.wp-site-blocks .glp-hero.wp-block-group{padding:80px var(--sc-edge) 90px !important;text-align:center;position:relative;overflow:hidden}
.wp-site-blocks .lineup.wp-block-group{padding:80px 0 90px !important;position:relative}
.wp-site-blocks .lineup .carousel{max-width:var(--sc-content);margin:0 auto;padding:0 var(--sc-edge) 12px !important;scroll-padding-left:var(--sc-edge) !important}
.wp-site-blocks .lineup h3{max-width:var(--sc-content);margin:0 auto 32px !important;padding:0 var(--sc-edge) !important}
.wp-site-blocks .lineup .footnote, .wp-site-blocks .lineup .read-more{max-width:var(--sc-content);margin:24px auto 0 !important;padding:0 var(--sc-edge) !important}
/* Desktop: 3 cards leave empty space in the 1200px row → center the whole lineup
   as one column (heading + cards + footnote share the cards-block width, so the
   heading sits directly above the first card). Gated to ≥1000px; below that the
   swipe carousel stays full-width. (3×296 + 2×14 = 916px) */
@media (min-width:1000px){
  .wp-site-blocks .lineup .carousel,
  .wp-site-blocks .lineup.wp-block-group h3,
  .wp-site-blocks .lineup.is-layout-constrained > h3,
  .wp-site-blocks .lineup .footnote{
    max-width:916px !important;margin-left:auto !important;margin-right:auto !important;
    padding-left:0 !important;padding-right:0 !important;
  }
  .wp-site-blocks .lineup .carousel{justify-content:flex-start;overflow-x:visible}
}
.wp-site-blocks .snac.wp-block-group{padding:80px var(--sc-edge) 90px !important;position:relative}
.wp-site-blocks .snac .snac-head, .wp-site-blocks .snac .snac-flow{max-width:var(--sc-narrow);margin:0 auto}
.wp-site-blocks .hidose.wp-block-group{padding:60px var(--sc-edge) 90px !important;text-align:center;position:relative}
.wp-site-blocks .hidose > *{max-width:var(--sc-narrow);margin-left:auto !important;margin-right:auto !important}
.wp-site-blocks .trust.wp-block-group{padding:60px var(--sc-edge) !important;text-align:center;border-top:1px solid var(--hair);max-width:var(--sc-content) !important;margin:0 auto !important}

/* Footer full-width, content centered */
.wp-site-blocks > footer{padding:0 !important}
.wp-site-blocks .sc-footer.wp-block-group{padding:80px var(--sc-edge) 40px !important;max-width:var(--sc-content) !important;margin:0 auto !important}

/* heading reset inside groups */
.wp-site-blocks .wp-block-heading{margin:0}

/* glp-hero stage scales properly with viewport */
.wp-site-blocks .glp-hero .glp-stage{max-width:var(--sc-narrow);margin:0 auto;height:auto;min-height:480px}
.wp-site-blocks .glp-hero .lede, .wp-site-blocks .glp-hero h2{max-width:var(--sc-narrow);margin-left:auto;margin-right:auto}

/* Larger headlines on desktop */
@media (min-width:768px){
  .wp-site-blocks .hero-h h1{font-size:clamp(56px, 7vw, 96px)}
  .wp-site-blocks .glp-hero h2{font-size:clamp(48px, 6vw, 80px)}
  .wp-site-blocks .hidose h2{font-size:clamp(42px, 5vw, 64px)}
  .wp-site-blocks .trust h4{font-size:clamp(30px, 4vw, 48px)}
}

/* ─── Single product page ─── */
.sc-product .product-hero{padding:60px var(--sc-edge) 40px !important}
.product-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:var(--sc-content);margin:0 auto}
.product-hero-stage{position:relative;height:520px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 60%,var(--brown) 0%,var(--brown-deep) 60%,var(--brown-darkest) 100%);border-radius:24px;overflow:hidden}
.product-aura{position:absolute;inset:10% 15%;background:radial-gradient(closest-side,rgba(232,180,125,.35),transparent 70%);filter:blur(8px);animation:pulse 7s ease-in-out infinite;pointer-events:none}
.product-hero-stage img{max-width:60%;max-height:80%;width:auto;height:auto;object-fit:contain;filter:url(#alphaSoft) drop-shadow(0 20px 16px rgba(0,0,0,.5));position:relative;z-index:2;animation:bob 7s ease-in-out infinite}
.product-hero-info{padding:20px 0}
.product-back{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--peach);text-decoration:none;display:inline-block;margin-bottom:24px}
.product-title{font-family:var(--sans);font-weight:700;font-size:clamp(40px,5vw,60px);letter-spacing:-0.035em;line-height:1;margin:0 0 18px;color:var(--ink)}
.product-short{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.45;color:var(--ink-2);max-width:38ch;margin:0 0 36px}
.product-pricing{background:var(--cream-2);border-radius:18px;padding:22px 24px;margin-bottom:28px}
.product-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.product-price-label{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--caramel-deep)}
.product-price{font-family:var(--serif);font-style:italic;font-size:42px;font-weight:500;color:var(--ink);letter-spacing:-0.02em;line-height:1}
.product-price-unit{font-family:var(--sans);font-size:14px;color:var(--ink-2)}
.product-price-note{font-size:12.5px;line-height:1.5;color:var(--ink-2)}

/* ─── Price panel (one-time purchase) ─── */
.buy-panel{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:20px 24px;margin-bottom:26px;box-shadow:0 16px 40px -24px rgba(93,74,50,.14)}
.buy-panel .bp-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.buy-panel .bp-label{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--caramel-deep)}
.buy-panel .bp-price{font-family:var(--serif);font-style:italic;font-size:34px;font-weight:500;color:var(--caramel-deep);letter-spacing:-0.02em;white-space:nowrap;line-height:1}
.buy-panel .bp-note{display:block;margin-top:8px;font-size:13px;color:var(--ink-2);font-family:var(--serif);font-style:italic}
.product-cta-row{display:flex;align-items:center;gap:18px;margin-bottom:36px;flex-wrap:wrap}
.product-cta{display:inline-flex;align-items:center;justify-content:center;padding:18px 36px;background:var(--peach);color:var(--brown-deep);border-radius:999px;font-size:16px;font-weight:600;letter-spacing:-0.005em;text-decoration:none;transition:transform .3s,background .3s}
.product-cta:hover{transform:scale(1.03);background:var(--peach-deep)}
.product-cta-link{font-family:var(--mono);font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--caramel-deep);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
/* Formularz zakupu: selektor ilości + przycisk */
.sc-add-form{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}
.sc-add-form .product-cta{border:none;cursor:pointer;font-family:var(--sans)}
.sc-qty{display:inline-flex;align-items:center;background:#fff;border:1.5px solid var(--hair);border-radius:999px;height:56px}
.sc-qty-btn{width:46px;height:56px;border:none;background:none;font-size:22px;line-height:1;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:999px;transition:background .15s}
.sc-qty-btn:hover{background:var(--cream)}
.sc-qty-input{width:44px;height:56px;border:none;background:none;text-align:center;font-family:var(--sans);font-weight:700;font-size:17px;color:var(--ink);-moz-appearance:textfield}
.sc-qty-input::-webkit-outer-spin-button,.sc-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sc-qty-input:focus{outline:none}
.product-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-top:1px solid var(--hair);padding-top:24px}
.pt-item{text-align:center}
.pt-item b{display:block;font-family:var(--serif);font-style:italic;font-size:24px;color:var(--caramel-deep);font-weight:500;letter-spacing:-0.015em;line-height:1;margin-bottom:4px}
.pt-item span{font-size:11px;color:var(--ink-2)}

/* ─── Product benefits (data-viz cards) ─── */
.product-benefits{padding:90px var(--sc-edge) !important;background:var(--brown-deep);color:var(--cream)}
.product-benefits .benefits-head{max-width:var(--sc-narrow);margin:0 auto 56px;text-align:center}
.product-benefits h2{font-family:var(--sans);font-weight:700;font-size:clamp(36px,5vw,60px);letter-spacing:-0.03em;line-height:1;margin:0 0 16px;color:var(--cream)}
.product-benefits h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--peach)}
.product-benefits .benefits-lede{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.5;color:rgba(244,236,221,.65);max-width:48ch;margin:0 auto}
.benefits-grid{
  display:flex;gap:20px;max-width:var(--sc-content);margin:0 auto;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--sc-edge);
  padding-bottom:10px;-webkit-overflow-scrolling:touch;
}
.benefits-grid::-webkit-scrollbar{height:5px}
.benefits-grid::-webkit-scrollbar-track{background:rgba(244,236,221,.06);border-radius:3px}
.benefits-grid::-webkit-scrollbar-thumb{background:rgba(232,180,125,.3);border-radius:3px}

/* ─── "Jak to działa w ciele" — mechanism flow ─── */
.product-mechanism{padding:90px var(--sc-edge) !important;background:radial-gradient(ellipse 90% 70% at 50% 0%,#2c1c10 0%,var(--brown-deep) 60%);color:var(--cream)}
.product-mechanism .m-head{max-width:var(--sc-narrow);margin:0 auto 60px;text-align:center}
.product-mechanism h2{font-family:var(--sans);font-weight:700;font-size:clamp(32px,4.5vw,52px);letter-spacing:-0.03em;line-height:1.02;margin:0 0 12px;color:var(--cream)}
.product-mechanism h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--peach)}
.product-mechanism .m-lede{font-family:var(--serif);font-style:italic;font-size:18px;color:rgba(244,236,221,.65);margin:0}
.wp-site-blocks .product-mechanism .m-flow{max-width:1040px !important;margin:0 auto;display:grid;grid-template-columns:1fr 56px 1fr 56px 1fr;align-items:start}
.m-step{text-align:center}
.m-glyph{width:120px;height:120px;margin:0 auto 22px;position:relative;border-radius:50%;background:radial-gradient(circle at 50% 42%,rgba(232,180,125,.22),rgba(26,15,6,.2) 70%);border:1px solid rgba(232,180,125,.22);display:flex;align-items:center;justify-content:center}
.m-step.s .m-glyph{background:radial-gradient(circle at 50% 42%,rgba(191,217,181,.2),rgba(26,15,6,.2) 70%);border-color:rgba(191,217,181,.25)}
.m-num{position:absolute;top:-9px;right:-3px;width:30px;height:30px;border-radius:50%;background:var(--peach);color:var(--brown-deep);font-family:var(--mono);font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center}
.m-step.s .m-num{background:var(--sage)}
.m-step h4{font-family:var(--sans);font-weight:600;font-size:20px;letter-spacing:-0.02em;margin:0 0 8px;color:var(--cream)}
.m-step p{font-size:14px;line-height:1.55;color:rgba(244,236,221,.72);max-width:26ch;margin:0 auto}
.m-arrow{display:flex;align-items:center;justify-content:center;padding-top:50px;color:var(--peach);opacity:.7}
.m-arrow svg{width:40px;height:14px}
.wp-site-blocks .product-mechanism .m-foot{max-width:var(--sc-content) !important;margin:46px auto 0;text-align:center;font-size:12px;line-height:1.5;color:rgba(244,236,221,.4)}
/* animation — gated by section in-view (scWhenInView adds .is-inview) */
.product-mechanism .m-step,.product-mechanism .m-arrow{opacity:0;transform:translateY(16px)}
.product-mechanism.is-inview .m-step{animation:mStepIn .7s cubic-bezier(.2,.8,.2,1) forwards var(--d,0s)}
.product-mechanism.is-inview .m-arrow{animation:mArrowIn .5s ease-out forwards}
.product-mechanism.is-inview .m-arrow:nth-of-type(2){animation-delay:.28s}
.product-mechanism.is-inview .m-arrow:nth-of-type(4){animation-delay:.46s}
@keyframes mStepIn{to{opacity:1;transform:none}}
@keyframes mArrowIn{to{opacity:.7;transform:none}}
@media (max-width:760px){
  .product-mechanism{padding:70px 16px !important}
  .wp-site-blocks .product-mechanism .m-flow{grid-template-columns:1fr;gap:8px}
  .product-mechanism .m-arrow{padding:0;transform:rotate(90deg);opacity:.6}
  .product-mechanism.is-inview .m-arrow{transform:rotate(90deg)}
  @keyframes mArrowIn{to{opacity:.6;transform:rotate(90deg)}}
  .m-glyph{width:96px;height:96px;margin-bottom:16px}
  .m-step p{max-width:32ch}
}
.benefit-card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;min-width:0}
.benefit-card{
  background:radial-gradient(ellipse 120% 80% at 50% 0%, rgba(232,180,125,.12) 0%, transparent 55%), linear-gradient(180deg,#3d2817 0%,#241710 100%);
  border:1px solid rgba(232,180,125,.12);border-radius:24px;padding:32px 30px;
  display:flex;flex-direction:column;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .45s,box-shadow .45s;
}
@media (hover:hover){
  .benefit-card:hover{
    transform:translateY(-4px);border-color:rgba(232,180,125,.28);
    box-shadow:0 26px 50px -26px rgba(0,0,0,.55);
  }
}
/* entrance: applied only when JS adds .anim-ready (cards never hidden without JS) */
.benefits-grid.anim-ready .benefit-card{opacity:0;transform:translateY(18px)}
.benefits-grid.anim-ready .benefit-card.is-inview{
  opacity:1;transform:none;
  transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1),border-color .45s,box-shadow .45s;
}
@media (prefers-reduced-motion:reduce){
  .benefits-grid.anim-ready .benefit-card{opacity:1;transform:none}
}
.benefit-card h4{font-family:var(--sans);font-weight:600;font-size:24px;letter-spacing:-0.025em;line-height:1.1;margin:0 0 8px;color:var(--cream)}
.benefit-card h4 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--peach)}
.benefit-viz{aspect-ratio:4/3;margin:18px 0 22px;position:relative}
.benefit-viz .bviz{width:100%;height:100%;display:block;overflow:visible}
.benefit-desc{font-size:14.5px;line-height:1.55;color:rgba(244,236,221,.7);margin:auto 0 0}
.benefit-desc sup{color:var(--peach);font-size:10px}
.benefits-footnote{max-width:var(--sc-content);margin:40px auto 0;font-size:12px;line-height:1.6;color:rgba(244,236,221,.4);text-align:center}
.benefits-footnote sup{color:rgba(232,180,125,.6)}

/* ── gate animations until in view ── */
/* benefit cards: PER-CARD (each animates when swiped into view in the carousel) */
.benefit-card .benefit-viz *{animation-play-state:paused}
.benefit-card.is-inview .benefit-viz *{animation-play-state:running}
/* hidose dial + pen */
.hidose .pen-stage *, .hidose .dial svg *{animation-play-state:paused}
.hidose.is-inview .pen-stage *, .hidose.is-inview .dial svg *{animation-play-state:running}
/* homepage hero weight-loss chart (svg curve + html HUD) */
.hero-chart *, .chart-hud > *, .chart-hud .hud-dot-end i{animation-play-state:paused}
.hero-cards.is-inview .hero-chart *,
.hero-cards.is-inview .chart-hud > *,
.hero-cards.is-inview .chart-hud .hud-dot-end i{animation-play-state:running}

/* ── viz animations: one shared easing, compact timeline (~1.7s), no loops ── */
/* bar chart */
.bviz-bars rect{transform-origin:bottom;transform-box:fill-box;animation:bvizBar .6s var(--bviz-ease,cubic-bezier(.25,.6,.3,1)) backwards}
@keyframes bvizBar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.bviz-arrow{stroke-dasharray:120;stroke-dashoffset:120;animation:bvizDraw .8s var(--bviz-ease,cubic-bezier(.25,.6,.3,1)) forwards .5s}
.bviz-arrow-head{opacity:0;animation:bvizFade .3s ease-out forwards 1.1s}
@keyframes bvizDraw{to{stroke-dashoffset:0}}
@keyframes bvizFade{to{opacity:1}}
.bviz-chip{opacity:0;animation:bvizFade .5s ease-out forwards .5s}
/* risk pill: knob slides right(high) → left(low), one smooth motion */
.bviz-knob{animation:bvizKnobDrop 1s cubic-bezier(.3,.6,.25,1) forwards .8s}
@keyframes bvizKnobDrop{0%{transform:translateX(100px)}100%{transform:translateX(26px)}}
.bviz-track{transform-box:fill-box;transform-origin:left center;animation:bvizTrackShrink 1s cubic-bezier(.3,.6,.25,1) forwards .8s}
@keyframes bvizTrackShrink{0%{transform:scaleX(.875)}100%{transform:scaleX(.105)}}
/* badge crossfade wysokie → niskie as knob lands */
.bviz-badge-high{animation:bvizFadeOut .35s ease forwards 1.6s}
.bviz-badge-low{opacity:0;animation:bvizFade .35s ease forwards 1.7s}
@keyframes bvizFadeOut{from{opacity:1}to{opacity:0}}

/* trend line over bars */
.bviz-trend{animation:bvizDraw 1s var(--bviz-ease,cubic-bezier(.25,.6,.3,1)) forwards .5s}
.bviz-trend-dot{opacity:0;animation:bvizFade .35s ease-out forwards 1.4s}

/* cholesterol curve */
.bviz-curve{stroke-dasharray:1;stroke-dashoffset:1;animation:bvizDraw 1.2s var(--bviz-ease,cubic-bezier(.25,.6,.3,1)) forwards .2s}
.bviz-chol-area{opacity:0;animation:bvizFade .8s ease-out forwards .8s}
.bviz-grid{opacity:0;animation:bvizFade .5s ease-out forwards}
.bviz-grid.bg1{animation-delay:.05s}
.bviz-grid.bg2{animation-delay:.12s}
.bviz-grid.bg3{animation-delay:.2s}
.bviz-cd{opacity:0;animation:bvizFade .35s ease-out backwards}
.bviz-cd1{animation-delay:.35s}
.bviz-cd2{animation-delay:.8s}
.bviz-chol-chip{opacity:0;transform:translateY(5px);animation:bvizRise .45s var(--bviz-ease,cubic-bezier(.25,.6,.3,1)) forwards 1.2s}
@keyframes bvizRise{to{opacity:1;transform:translateY(0)}}
.bviz-dot-end{opacity:0;animation:bvizFade .4s ease-out forwards 1.3s}
.bviz-dot-end-glow{opacity:0;animation:bvizFadeGlow .5s ease-out forwards 1.3s}
@keyframes bvizFadeGlow{to{opacity:.55}}

/* gauge */
.bviz-zone-target{stroke-dasharray:160;stroke-dashoffset:160;animation:bvizDraw .8s var(--bviz-ease,cubic-bezier(.25,.6,.3,1)) forwards .3s}
.bviz-zone-high{stroke-dasharray:120;stroke-dashoffset:120;animation:bvizDraw .6s var(--bviz-ease,cubic-bezier(.25,.6,.3,1)) forwards .7s}
/* one smooth sweep, gentle settle — no wobble */
.bviz-needle{transform-origin:160px 170px;transform-box:fill-box;animation:bvizNeedle 1.2s cubic-bezier(.3,.6,.25,1) both .8s}
@keyframes bvizNeedle{
  0%{transform:rotate(58deg)}
  75%{transform:rotate(-1.5deg)}
  100%{transform:rotate(0deg)}
}
.bviz-gauge-val{opacity:0;animation:bvizFade .5s ease-out forwards 1.6s}
/* badge: quiet fade-in, no bounce (inner group — outer translate() attr stays) */
.bviz-gauge-badge-pop{opacity:0;transform:scale(.9);transform-box:fill-box;transform-origin:center;animation:bvizBadgeIn .4s ease-out forwards 1.9s}
@keyframes bvizBadgeIn{to{opacity:1;transform:scale(1)}}
.bviz-gauge-ticks line{opacity:0;animation:bvizFade .25s ease-out backwards}

@media (max-width:900px){
  .benefits-grid{gap:14px}
  .benefit-card{flex:0 0 calc((100% - 14px)/2)}
}
@media (max-width:640px){
  .benefits-grid{padding-left:var(--sc-edge);padding-right:var(--sc-edge);margin-left:calc(var(--sc-edge) * -1);margin-right:calc(var(--sc-edge) * -1)}
  .benefit-card{flex:0 0 82%}
}
@media (max-width:640px){
  .product-benefits{padding:70px 16px !important}
  .benefit-card{padding:26px 24px}
  .benefit-card h4{font-size:22px}
}

/* Product details */
/* ─── "O produkcie" — centered description + accurate spec strip ─── */
.product-details{padding:80px var(--sc-edge) !important;background:var(--cream)}
.wp-site-blocks .product-details .details-wrap{max-width:var(--sc-content) !important;margin:0 auto;text-align:center}
.product-details h3{font-family:var(--sans);font-weight:700;font-size:clamp(28px,3.6vw,42px);letter-spacing:-0.03em;line-height:1.05;margin:0 0 18px;color:var(--ink)}
.details-desc{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.1vw,22px);line-height:1.55;color:var(--ink-2);max-width:640px;margin:0 auto 46px}
.details-spec-row{display:grid;grid-template-columns:repeat(4,1fr);max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--hair);border-radius:20px;overflow:hidden;box-shadow:0 24px 50px -28px rgba(93,74,50,.16)}
.details-spec-row .spec-cell{padding:26px 18px;border-right:1px solid var(--hair)}
.details-spec-row .spec-cell:last-child{border-right:none}
.spec-k{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--caramel-deep);margin-bottom:10px}
.spec-v{display:block;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:-0.01em;line-height:1.3;color:var(--ink)}
@media (max-width:760px){
  .product-details{padding:60px 16px !important}
  .details-desc{margin-bottom:34px}
  .details-spec-row{grid-template-columns:repeat(2,1fr)}
  .details-spec-row .spec-cell:nth-child(2n){border-right:none}
  .details-spec-row .spec-cell:nth-child(1),.details-spec-row .spec-cell:nth-child(2){border-bottom:1px solid var(--hair)}
}

/* Product FAQ */
.product-faq{padding:80px var(--sc-edge) !important;background:var(--cream-2);text-align:center}
.product-faq h3{font-family:var(--sans);font-weight:700;font-size:clamp(32px,4vw,48px);letter-spacing:-0.025em;margin:0 0 48px;color:var(--ink);text-align:center}
.faq-list{max-width:var(--sc-narrow);margin:0 auto;text-align:left}
.faq-item{border-bottom:1px solid var(--hair);padding:22px 4px;cursor:pointer}
.faq-item summary{font-family:var(--sans);font-weight:600;font-size:17px;letter-spacing:-0.015em;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;outline:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:24px;font-weight:300;color:var(--caramel-deep);transition:transform .3s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{margin:16px 0 0;font-size:15px;line-height:1.6;color:var(--ink-2)}

/* ─── Product guide — „ulotka" (01 Dawkowanie · 02 Jak stosować · 03 Dlaczego działa · 04 Specyfikacja) ─── */
.product-guide{padding:64px var(--sc-edge) 84px !important;background:var(--cream-2)}
.guide-sheet{max-width:860px;margin:0 auto;background:#fff;border-radius:28px;padding:48px 54px;box-shadow:0 30px 80px -35px rgba(93,74,50,.22)}
.g-sec{margin:0 0 42px}
.g-sec:last-child{margin-bottom:0}
h3.g-tag{display:flex;align-items:center;gap:14px;margin:0 0 20px;font-weight:500}
.g-no{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--peach);line-height:1;font-weight:500}
.g-tag .g-t{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--caramel-deep);font-weight:500}
.g-tag::after{content:"";flex:1;height:1px;background:var(--hair)}
.g-dose{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.g-dose div{background:var(--cream-2);border-radius:16px;padding:20px 14px;text-align:center}
.g-dose b{display:block;font-family:var(--serif);font-style:italic;font-weight:500;font-size:26px;color:var(--caramel-deep);margin-bottom:5px;letter-spacing:-.01em}
.g-dose small{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.g-steps{list-style:none;counter-reset:gkrok;margin:0;padding:0;display:grid;gap:14px}
.g-steps li{counter-increment:gkrok;display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:start}
.g-steps li::before{content:counter(gkrok);width:30px;height:30px;border-radius:50%;background:var(--peach);color:var(--brown-deep);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.g-steps p{margin:2px 0 0;font-size:15px;line-height:1.55;color:var(--ink-2)}
.g-steps b{color:var(--ink);font-weight:600}
.g-note{margin-top:22px;display:flex;gap:12px;align-items:flex-start;background:rgba(232,180,125,.13);border:1px solid rgba(232,180,125,.4);border-radius:14px;padding:14px 18px}
.g-note span{line-height:1.4}
.g-note p{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.g-why{margin:0;font-size:15.5px;line-height:1.65;color:var(--ink-2);max-width:640px}
.g-spec{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.g-spec div{background:var(--cream-2);border-radius:16px;padding:16px 12px;text-align:center}
.g-spec small{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--caramel-deep);margin-bottom:6px}
.g-spec b{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
@media (max-width:640px){
  .product-guide{padding:52px var(--sc-edge) 60px !important}
  .guide-sheet{padding:30px 22px;border-radius:22px}
  .g-sec{margin-bottom:34px}
  h3.g-tag{gap:11px;margin-bottom:16px}
  .g-no{font-size:20px}
  .g-tag .g-t{font-size:10.5px;letter-spacing:.18em}
  .g-dose{gap:8px}
  .g-dose div{padding:14px 6px;border-radius:13px}
  .g-dose b{font-size:19px}
  .g-dose small{font-size:7.5px}
  .g-steps{gap:12px}
  .g-steps li{grid-template-columns:30px 1fr;gap:12px}
  .g-steps li::before{width:27px;height:27px;font-size:12px}
  .g-steps p{font-size:13.5px}
  .g-note{padding:12px 14px}
  .g-note p{font-size:12.5px}
  .g-why{font-size:14.5px}
  .g-spec{grid-template-columns:repeat(2,1fr);gap:8px}
}

/* Related products */
.product-related{padding:80px var(--sc-edge) !important;max-width:var(--sc-content) !important;margin:0 auto !important;text-align:center}
.product-related h3{font-family:var(--sans);font-weight:700;font-size:36px;letter-spacing:-0.025em;margin:0 0 12px;color:var(--ink)}
.related-lede{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ink-2);margin:0 0 48px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left}
.related-card{display:flex;flex-direction:column;background:var(--cream-2);border-radius:20px;padding:24px;text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s}
.related-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -16px rgba(0,0,0,.15)}
.related-stage{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 60%,var(--peach-soft),var(--cream-2));border-radius:14px;margin-bottom:18px;overflow:hidden}
.related-stage img{max-width:65%;max-height:80%;width:auto;height:auto;object-fit:contain;filter:url(#alphaSoft) drop-shadow(0 8px 6px rgba(0,0,0,.18))}
.related-card h4{font-family:var(--sans);font-weight:600;font-size:19px;letter-spacing:-0.015em;color:var(--ink);margin:0 0 6px}
.related-card p{font-size:13.5px;line-height:1.5;color:var(--ink-2);margin:0 0 14px}
.related-price{font-family:var(--sans);font-size:14px;color:var(--ink-2)}
.related-price b{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--caramel-deep);font-weight:500;letter-spacing:-0.015em}

/* ─── Shop archive ─── */
.sc-shop .shop-hero{padding:90px var(--sc-edge) 40px !important;max-width:var(--sc-narrow) !important;margin:0 auto !important;text-align:center}
.shop-hero-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--caramel-deep);margin-bottom:24px}
.sc-shop .shop-hero h1{font-family:var(--sans);font-weight:700;font-size:clamp(48px,7vw,88px);letter-spacing:-0.035em;line-height:1;margin:0 0 20px;color:var(--ink)}
.sc-shop .shop-hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--caramel-deep)}
.shop-hero-lede{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.5;color:var(--ink-2);max-width:46ch;margin:0 auto}
.sc-shop .shop-grid{padding:60px var(--sc-edge) 90px !important;max-width:var(--sc-content) !important;margin:0 auto !important}
.shop-products{display:grid !important;grid-template-columns:repeat(3,1fr);gap:24px;padding:0;list-style:none}
.shop-products > li{padding:0;margin:0;list-style:none}
.shop-card{display:flex;flex-direction:column;background:var(--cream-2);border-radius:24px;padding:28px;text-decoration:none;color:var(--ink);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.shop-card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -20px rgba(0,0,0,.18)}
.shop-card-stage{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 60%,var(--peach-soft),var(--cream-2));border-radius:18px;margin-bottom:22px;overflow:hidden}
.shop-card-glow{position:absolute;inset:14% 20%;background:radial-gradient(closest-side,rgba(232,180,125,.5),transparent 70%);filter:blur(6px);animation:pulse 7s ease-in-out infinite}
.shop-card-stage img{max-width:70%;max-height:80%;width:auto;height:auto;object-fit:contain;filter:url(#alphaSoft) drop-shadow(0 12px 10px rgba(0,0,0,.2));position:relative;z-index:2}
.shop-card-info h3{font-family:var(--sans);font-weight:700;font-size:24px;letter-spacing:-0.025em;color:var(--ink);margin:0 0 10px}
.shop-card-info p{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.5;color:var(--ink-2);margin:0 0 20px}
.shop-card-price{font-family:var(--sans);font-size:14px;color:var(--ink-2);margin-bottom:16px;display:flex;flex-direction:column;gap:2px}
.shop-card-price b{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--caramel-deep);font-weight:500;letter-spacing:-0.015em}
.shop-card-price .scp-note{font-family:var(--mono);font-size:9.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-2);opacity:.7}
.shop-card-cta{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px;align-self:flex-start;transition:color .3s,border-color .3s}
.shop-card:hover .shop-card-cta{color:var(--caramel-deep);border-color:var(--caramel-deep)}
.shop-footnote{margin-top:36px;padding-top:24px;border-top:1px solid var(--hair);font-size:12.5px;line-height:1.6;color:var(--ink-2);max-width:64ch}

/* ─── Narrow page (legal) ─── */
.sc-narrow .narrow-hero{padding:90px var(--sc-edge) 30px !important;max-width:var(--sc-narrow) !important;margin:0 auto !important}
.narrow-back{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--caramel-deep);text-decoration:none;display:inline-block;margin-bottom:24px}
.narrow-title{font-family:var(--sans);font-weight:700;font-size:clamp(40px,5.5vw,72px);letter-spacing:-0.035em;line-height:1;margin:0;color:var(--ink)}
.narrow-title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--caramel-deep)}
.sc-narrow .narrow-body{padding:30px var(--sc-edge) 80px !important;max-width:var(--sc-narrow) !important;margin:0 auto !important;font-size:16.5px;line-height:1.7;color:var(--ink-2)}
.sc-narrow .narrow-body h2{font-family:var(--sans);font-weight:700;font-size:28px;letter-spacing:-0.02em;color:var(--ink);margin:48px 0 14px;line-height:1.2}
.sc-narrow .narrow-body h3{font-family:var(--sans);font-weight:600;font-size:20px;letter-spacing:-0.015em;color:var(--ink);margin:32px 0 10px;line-height:1.25}
.sc-narrow .narrow-body p{margin:0 0 18px}
.sc-narrow .narrow-body ul,.sc-narrow .narrow-body ol{margin:0 0 24px;padding-left:22px}
.sc-narrow .narrow-body li{margin:0 0 8px;line-height:1.6}
.sc-narrow .narrow-body strong{color:var(--ink);font-weight:600}
.sc-narrow .narrow-body a{color:var(--caramel-deep);text-decoration:underline}

/* Responsive — single product, shop, narrow */
@media (max-width:900px){
  .product-hero-grid{grid-template-columns:1fr;gap:30px}
  .product-hero-stage{height:380px;order:-1}
  .related-grid{grid-template-columns:1fr;gap:18px}
  .shop-products{grid-template-columns:1fr !important;gap:18px}
}
@media (max-width:640px){
  .product-trust{grid-template-columns:1fr;gap:8px}
  .pt-item{display:flex;align-items:baseline;justify-content:center;gap:8px}
  /* hero mobile — tiptop: zwarta scena, pelna szerokosc CTA, wyrownane odstepy */
  .product-hero-stage{height:300px}
  .sc-add-form{display:flex;width:100%;gap:10px;flex-wrap:nowrap}
  .sc-add-form .sc-qty{flex:0 0 auto}
  .sc-add-form .product-cta{flex:1;padding:16px 18px;white-space:nowrap}
  .product-cta-row{gap:14px}
  .product-cta-row .product-cta-link{margin:2px auto 0}
  /* faq mobile */
  .product-faq{padding:56px var(--sc-edge) !important}
  .product-faq h3{font-size:30px;margin-bottom:26px}
  .faq-item{padding:18px 2px}
  .faq-item summary{font-size:15.5px}
  .faq-item p{font-size:14px}
}

/* ═══ WooCommerce pages — app-like soft styling ═══ */
.woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .woocommerce-page{
  background:var(--cream);
}

/* Soft page hero for WC pages — added via post content */
.wc-page-hero{
  text-align:center;padding:0 0 48px;
  border-bottom:1px solid var(--hair);margin-bottom:48px;
}
.wc-page-hero .eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:0.32em;text-transform:uppercase;
  color:var(--caramel-deep);margin-bottom:20px;display:inline-flex;align-items:center;gap:14px;
}
.wc-page-hero .eyebrow::before,.wc-page-hero .eyebrow::after{
  content:"";width:46px;height:1px;background:var(--peach);opacity:.55;display:inline-block;
}
.wc-page-hero h1, .wc-page-hero .wp-block-post-title{
  font-family:var(--sans);font-weight:700;font-size:clamp(40px,5.5vw,72px);
  letter-spacing:-0.035em;line-height:1;margin:0 0 18px;color:var(--ink);text-align:center;
}
.wc-page-hero h1 em, .wc-page-hero .wp-block-post-title em{
  font-family:var(--serif);font-style:italic;font-weight:400;color:var(--caramel-deep);
}
.wc-page-hero .lede{
  font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.5;
  color:var(--ink-2);max-width:46ch;margin:0 auto;
}

/* hide default WP post title on WC pages and quiz pages (we use the hero instead) */
body.woocommerce-cart .wp-block-post-title:not(.wc-page-hero .wp-block-post-title),
body.woocommerce-checkout .wp-block-post-title:not(.wc-page-hero .wp-block-post-title),
body.woocommerce-account .wp-block-post-title:not(.wc-page-hero .wp-block-post-title),
body.page-id-31 .wp-block-post-title,
body.page-id-32 .wp-block-post-title{display:none}
/* shrink the empty title wrapper space so hero sits at top cleanly */
body.page-id-31 .narrow-hero, body.page-id-32 .narrow-hero,
body.page-id-31 main > .wp-block-group:first-child,
body.page-id-32 main > .wp-block-group:first-child{padding-top:24px !important;padding-bottom:0 !important}
/* Override the broad wp-site-blocks reset for WC pages — restore edge padding
   IMPORTANT: use individual padding-left/right (not shorthand) so they beat
   the `.wp-site-blocks main.wp-block-group { padding-left:0 !important }` reset above. */
.wp-site-blocks .woocommerce-cart main.wp-block-group,
.wp-site-blocks .woocommerce-checkout main.wp-block-group,
.wp-site-blocks .woocommerce-account main.wp-block-group,
.wp-site-blocks .woocommerce-page main.wp-block-group,
body.woocommerce-cart main.wp-block-group,
body.woocommerce-checkout main.wp-block-group,
body.woocommerce-account main.wp-block-group,
body.woocommerce-page main.wp-block-group,
body.page main.wp-block-group{
  max-width:var(--sc-content) !important;
  margin:0 auto !important;
  padding-top:60px !important;
  padding-right:var(--sc-edge) !important;
  padding-bottom:80px !important;
  padding-left:var(--sc-edge) !important;
}
/* The selectors above lose to the broad `.is-layout-constrained` reset (0,3,0) because
   `.woocommerce-cart` sits on <body>, OUTSIDE .wp-site-blocks. Re-assert with .is-layout-constrained
   (specificity 0,3,2) so WC main keeps centered max-width + edge padding (no edge-bleed). */
body.woocommerce-cart main.wp-block-group.is-layout-constrained,
body.woocommerce-checkout main.wp-block-group.is-layout-constrained,
body.woocommerce-account main.wp-block-group.is-layout-constrained,
body.woocommerce-page main.wp-block-group.is-layout-constrained{
  max-width:var(--sc-content) !important;margin-left:auto !important;margin-right:auto !important;
  padding-left:var(--sc-edge) !important;padding-right:var(--sc-edge) !important;
}
/* But narrow pages (regulamin/polityka/kontakt) override with narrower container */
body.page main.sc-narrow.wp-block-group{
  max-width:none !important;
  padding:0 !important;
}
.sc-narrow .narrow-hero, .sc-narrow .narrow-body{padding-left:var(--sc-edge) !important;padding-right:var(--sc-edge) !important}
.woocommerce-cart h1.entry-title, .woocommerce-checkout h1.entry-title, .woocommerce-account h1.entry-title,
.woocommerce-cart .wp-block-post-title, .woocommerce-checkout .wp-block-post-title, .woocommerce-account .wp-block-post-title{
  font-family:var(--sans);font-weight:700;font-size:clamp(40px,5.5vw,64px);
  letter-spacing:-0.035em;line-height:1;margin:0 0 36px;color:var(--ink);
}

/* WC tables (cart contents, order review) — soft app card */
.woocommerce table.shop_table{
  background:#fff;border:none;border-radius:24px;
  border-collapse:separate;border-spacing:0;overflow:hidden;
  box-shadow:0 24px 60px -24px rgba(93,74,50,.12),0 4px 12px -4px rgba(93,74,50,.06);
}
.woocommerce table.shop_table th{
  font-family:var(--mono);font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--caramel-deep);background:var(--cream-2);padding:22px 28px;font-weight:500;
  border-bottom:1px solid var(--hair);
}
.woocommerce table.shop_table td{
  padding:28px;border-top:1px solid var(--hair);font-size:15px;color:var(--ink);
  background:transparent;vertical-align:middle;
}
.woocommerce table.shop_table tbody tr:first-child td{border-top:none}
.woocommerce table.shop_table .product-name a{color:var(--ink);font-weight:600;font-size:17px;text-decoration:none;letter-spacing:-0.015em;display:block;margin-bottom:4px}
.woocommerce table.shop_table .product-name a:hover{color:var(--caramel-deep)}
.woocommerce table.shop_table .product-name p{font-size:13.5px;color:var(--ink-2);margin:4px 0 0;line-height:1.45;font-family:var(--serif);font-style:italic}
.woocommerce table.shop_table .product-price, .woocommerce table.shop_table .product-subtotal{
  font-family:var(--serif);font-style:italic;font-size:22px;color:var(--caramel-deep);font-weight:500;letter-spacing:-0.015em;
}
.woocommerce table.shop_table .product-thumbnail img{
  max-width:90px;height:auto;border-radius:16px;background:var(--cream);padding:10px;
  box-shadow:inset 0 0 0 1px var(--hair);
}
.woocommerce table.shop_table .product-remove a.remove{
  display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:50%;background:transparent;color:var(--ink-2) !important;font-size:18px;line-height:1;
  text-decoration:none;transition:background .2s,color .2s;
}
.woocommerce table.shop_table .product-remove a.remove:hover{background:rgba(0,0,0,.06);color:#c93030 !important}

/* WC buttons — match brand */
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce-page button.button, .woocommerce-page a.button, .woocommerce-page input.button,
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{
  background:var(--peach) !important;color:var(--brown-deep) !important;
  font-family:var(--sans);font-weight:600;font-size:15px !important;
  padding:14px 28px !important;border-radius:999px !important;
  border:none !important;letter-spacing:-0.005em;text-transform:none;
  transition:transform .3s,background .3s;cursor:pointer;
}
.woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce input.button:hover,
.wc-block-components-button:hover{
  background:var(--peach-deep) !important;transform:scale(1.02);
}
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce input.button.alt,
.woocommerce #place_order, .woocommerce button.button.checkout-button{
  background:var(--brown-deep) !important;color:var(--peach) !important;
}
.woocommerce button.button.alt:hover{background:var(--ink) !important}

/* WC inputs — premium soft app style */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .select2-container--default .select2-selection--single,
.woocommerce-page form input.input-text, .woocommerce-page form textarea, .woocommerce-page form select{
  background:var(--cream) !important;
  border:1.5px solid transparent !important;
  border-radius:16px !important;
  padding:20px 22px !important;
  font-family:var(--sans) !important;
  font-size:16px !important;
  font-weight:500 !important;
  color:var(--ink) !important;
  width:100%;box-sizing:border-box;
  transition:background .2s, border-color .2s, box-shadow .2s, color .2s;
  height:auto !important;line-height:1.3;
  letter-spacing:-0.01em;
  appearance:none;-webkit-appearance:none;
}
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce-page form input::placeholder,
.woocommerce-page form textarea::placeholder{
  color:rgba(26,20,16,.35);font-weight:400;
}
.woocommerce form .form-row input.input-text:hover, .woocommerce form .form-row select:hover{
  background:#f8f1e2 !important;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus, .woocommerce-page form input.input-text:focus{
  outline:none !important;
  background:#fff !important;
  border-color:var(--peach) !important;
  box-shadow:0 0 0 4px rgba(232,180,125,.22) !important;
}

/* Labels — uppercase mono micro label above field, like premium SaaS forms */
.woocommerce form .form-row label, .woocommerce-page form label{
  font-family:var(--mono) !important;
  font-size:10.5px !important;
  font-weight:500 !important;
  color:var(--caramel-deep) !important;
  letter-spacing:0.16em !important;
  text-transform:uppercase !important;
  margin-bottom:10px !important;
  display:block !important;
  line-height:1.4;
}
.woocommerce-form-row .required{color:var(--peach);text-decoration:none;font-weight:700;margin-left:3px}
.woocommerce form .form-row{margin-bottom:22px !important}
.woocommerce form .form-row-first, .woocommerce form .form-row-last{width:calc(50% - 11px) !important;float:none !important;display:inline-block;vertical-align:top}
.woocommerce form .form-row-first{margin-right:18px}
@media (max-width:640px){
  .woocommerce form .form-row-first, .woocommerce form .form-row-last{width:100% !important;margin-right:0}
  .woocommerce form .form-row-first{margin-bottom:22px !important}
}

/* Textareas larger */
.woocommerce form .form-row textarea{min-height:120px;resize:vertical;line-height:1.55;font-size:15px !important}

/* Select2 (country dropdown) — match input style */
.select2-container--default .select2-selection--single{
  height:64px !important;background:var(--cream) !important;border:1.5px solid transparent !important;
  border-radius:16px !important;transition:background .2s,border-color .2s;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:64px !important;padding:0 22px !important;color:var(--ink) !important;
  font-family:var(--sans) !important;font-size:16px !important;font-weight:500;letter-spacing:-0.01em;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
  height:64px !important;right:18px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:var(--caramel-deep) transparent transparent transparent !important;border-width:6px 5px 0 5px !important;
}
.select2-container--default.select2-container--open .select2-selection--single{
  background:#fff !important;border-color:var(--peach) !important;
  box-shadow:0 0 0 4px rgba(232,180,125,.22);
}
.select2-dropdown{
  border:none !important;border-radius:16px !important;overflow:hidden;
  box-shadow:0 20px 50px -16px rgba(93,74,50,.25) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background:var(--peach) !important;color:var(--brown-deep) !important;
}
.select2-container--default .select2-results__option{padding:12px 18px;font-family:var(--sans);font-size:15px}
.select2-search--dropdown .select2-search__field{
  border:1px solid var(--hair) !important;border-radius:12px;padding:12px !important;font-family:var(--sans);
}

/* Section headings inside checkout/account forms */
.woocommerce h3, .woocommerce-checkout h3, .woocommerce-account h3{
  font-family:var(--sans) !important;
  font-weight:700 !important;
  font-size:26px !important;
  letter-spacing:-0.025em !important;
  color:var(--ink) !important;
  margin:0 0 8px !important;line-height:1.1;
}
/* Section headings with subtitle hint */
.woocommerce-billing-fields > h3::after, .woocommerce-additional-fields > h3::after, .woocommerce-shipping-fields > h3::after{
  content:"";display:block;width:32px;height:2px;background:var(--peach);margin-top:14px;border-radius:1px;
}

/* Group billing/shipping/notes into separate white cards */
.woocommerce-billing-fields, .woocommerce-additional-fields, .woocommerce-shipping-fields{
  background:#fff;border-radius:24px;padding:36px;margin-bottom:24px;
  box-shadow:0 24px 60px -24px rgba(93,74,50,.12),0 4px 12px -4px rgba(93,74,50,.06);
}
.woocommerce-additional-fields h3, .woocommerce-shipping-fields h3{margin-bottom:18px !important}

/* Checkbox styling — soft */
.woocommerce form .form-row input[type=checkbox], .woocommerce-page input[type=checkbox]{
  display:inline-block !important;
  width:20px !important;height:20px !important;appearance:none;-webkit-appearance:none;
  background:#fff;border:1.5px solid var(--hair);border-radius:6px;
  margin-right:10px;cursor:pointer;transition:background .2s,border-color .2s;
  vertical-align:middle;position:relative;flex-shrink:0;
}
.woocommerce input[type=checkbox]:checked{
  background:var(--peach);border-color:var(--peach);
}
.woocommerce input[type=checkbox]:checked::after{
  content:"";position:absolute;left:5px;top:2px;width:7px;height:11px;
  border:solid var(--brown-deep);border-width:0 2px 2px 0;transform:rotate(45deg);
}
.woocommerce label.checkbox, .woocommerce form .form-row label.checkbox, .woocommerce-form__label-for-checkbox{
  font-family:var(--sans) !important;font-size:14.5px !important;font-weight:500 !important;
  text-transform:none !important;letter-spacing:-0.005em !important;color:var(--ink) !important;
  display:flex !important;align-items:center;gap:0;cursor:pointer;line-height:1.5 !important;
}

/* Terms & conditions — visible consent tile (checkout) */
.woocommerce .woocommerce-terms-and-conditions-wrapper .form-row{
  background:var(--cream);border:1.5px solid var(--hair);border-radius:16px;
  padding:16px 18px;margin:8px 0 4px;
  transition:border-color .25s,background .25s,box-shadow .25s;
}
.woocommerce .woocommerce-terms-and-conditions-wrapper .form-row:hover{border-color:rgba(232,180,125,.5)}
.woocommerce .woocommerce-terms-and-conditions-wrapper .form-row:has(input:checked){
  background:#fff;border-color:var(--peach);box-shadow:0 0 0 3px rgba(232,180,125,.18);
}
.woocommerce .woocommerce-terms-and-conditions-wrapper .form-row input[type=checkbox]{
  width:22px !important;height:22px !important;margin-right:12px;
  border-color:var(--caramel-deep);border-width:2px;
}
.woocommerce .woocommerce-terms-and-conditions-wrapper .form-row input[type=checkbox]:checked{
  background:var(--peach);border-color:var(--peach);
}
.woocommerce .woocommerce-terms-and-conditions-wrapper .form-row input[type=checkbox]:checked::after{left:6px;top:2.5px}
.woocommerce-terms-and-conditions-checkbox-text a{
  color:var(--caramel-deep);font-weight:600;
  text-decoration:underline;text-underline-offset:2px;
}
.woocommerce-terms-and-conditions-checkbox-text a:hover{color:var(--brown-deep)}

/* Login form spacing inside white card */
.woocommerce-form-login p.form-row{margin-bottom:20px !important}
.woocommerce-form-login .woocommerce-form-login__submit{margin-right:14px}

/* WC notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments{
  background:var(--cream-2);border-radius:14px;border-left:4px solid var(--peach);
  padding:18px 22px;color:var(--ink);font-size:15px;margin-bottom:24px;line-height:1.5;
}
.woocommerce-error{border-left-color:#c93030}
.woocommerce-message::before, .woocommerce-info::before{display:none}
.woocommerce-message .button{margin-left:14px}

/* WC My Account — soft sidebar nav */
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:#fff;border-radius:22px;padding:14px;
  box-shadow:0 24px 60px -24px rgba(93,74,50,.12),0 4px 12px -4px rgba(93,74,50,.06);
}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation li a{
  display:block;padding:16px 20px;font-size:15.5px;color:var(--ink);text-decoration:none;
  font-weight:500;border-radius:14px;transition:background .25s,color .25s,transform .2s;letter-spacing:-0.005em;
}
.woocommerce-MyAccount-navigation li a:hover{background:var(--cream-2);color:var(--ink)}
.woocommerce-MyAccount-navigation li.is-active a{
  background:var(--peach);color:var(--brown-deep);font-weight:600;
}
.woocommerce-account .woocommerce-MyAccount-content{
  padding:36px 40px;background:#fff;border-radius:22px;
  box-shadow:0 24px 60px -24px rgba(93,74,50,.12),0 4px 12px -4px rgba(93,74,50,.06);
}
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3{
  font-family:var(--sans);font-weight:700;color:var(--ink);margin-bottom:18px;letter-spacing:-0.02em;font-size:24px;
}
.woocommerce-account .woocommerce-MyAccount-content p{color:var(--ink-2);line-height:1.6;font-size:15.5px}
/* Layout 2-column on desktop */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}
@media (max-width:900px){
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:20px}
}

/* WC totals box — soft app sidebar */
.woocommerce .cart_totals h2, .woocommerce-checkout #order_review_heading{
  font-family:var(--sans);font-weight:700;font-size:24px;letter-spacing:-0.025em;
  color:var(--ink);margin:0 0 20px;padding:0;
}
.woocommerce .cart_totals, .woocommerce-checkout #order_review{
  background:#fff;border-radius:24px;padding:32px;
  box-shadow:0 24px 60px -24px rgba(93,74,50,.12),0 4px 12px -4px rgba(93,74,50,.06);
}
.woocommerce .cart_totals table.shop_table, .woocommerce-checkout #order_review table{
  background:transparent !important;border-radius:0;padding:0;box-shadow:none !important;
}
.woocommerce .cart_totals table th, .woocommerce-checkout #order_review table th{
  background:transparent;padding:14px 0;font-size:14px;font-family:var(--sans);
  text-transform:none;letter-spacing:-0.005em;color:var(--ink-2);font-weight:500;
}
.woocommerce .cart_totals table td, .woocommerce-checkout #order_review table td{
  padding:14px 0;background:transparent;text-align:right;border-top:1px solid var(--hair);
}
.woocommerce .cart_totals table .order-total td, .woocommerce-checkout .order-total td{
  border-top:1px solid var(--ink);padding-top:20px;
}
.woocommerce .order-total .amount, .woocommerce-checkout .order-total .amount{
  font-family:var(--serif);font-style:italic;font-size:30px;color:var(--caramel-deep);font-weight:500;letter-spacing:-0.02em;
}
.woocommerce .cart_totals .wc-proceed-to-checkout{padding:24px 0 0;text-align:center}
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button{width:100%;box-sizing:border-box !important;display:block;text-align:center;padding:14px 26px !important;font-size:15px !important;line-height:1.2 !important}
.woocommerce .cart_totals .wc-proceed-to-checkout{max-width:100%;box-sizing:border-box}

/* ─── Kill WooCommerce default table "kreski" (borders/grid) ───
   WC core stylesheets (woocommerce.css / woocommerce-blocktheme.css /
   woocommerce-smallscreen.css) load AFTER the theme and add a boxy
   border + cell grid on every .shop_table. Override with !important. */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table,
.woocommerce .cart_totals table.shop_table,
.woocommerce-checkout #order_review table,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tbody th{ border:none !important; }
/* Contents table (cart items / account orders): keep ONLY a soft top divider per row */
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{ border-left:none !important;border-right:none !important;border-bottom:none !important; }
.woocommerce table.shop_table td{ border-top:1px solid var(--hair) !important; }
.woocommerce table.shop_table th{ border-top:none !important; }
.woocommerce table.shop_table tbody tr:first-child td{ border-top:none !important; }
/* Totals / order review: no inner lines at all — clean spaced list */
.woocommerce .cart_totals table td,
.woocommerce .cart_totals table th,
.woocommerce-checkout #order_review table td,
.woocommerce-checkout #order_review table th{ border:none !important; }
/* labels never break into vertical letters; values wrap normally at spaces */
.woocommerce .cart_totals table th,
.woocommerce-checkout #order_review table th{ white-space:nowrap;vertical-align:top; }
.woocommerce .cart_totals table td,
.woocommerce-checkout #order_review table td{ overflow-wrap:break-word;word-break:normal; }
/* kill WC's per-row <tr> borders too (physical + logical props); keep ONE soft separator above the grand total */
.woocommerce .cart_totals table tr,
.woocommerce .cart_totals table td,
.woocommerce .cart_totals table th,
.woocommerce-checkout #order_review table tr,
.woocommerce-checkout #order_review table td,
.woocommerce-checkout #order_review table th{
  border:0 !important;border-block-start:0 !important;border-block-end:0 !important;
  border-inline-start:0 !important;border-inline-end:0 !important;box-shadow:none !important;
}
.woocommerce .cart_totals table tr.order-total,
.woocommerce-checkout #order_review table tr.order-total,
.woocommerce .cart_totals table tr.order-total th,
.woocommerce .cart_totals table tr.order-total td,
.woocommerce-checkout #order_review table tr.order-total th,
.woocommerce-checkout #order_review table tr.order-total td{ border-block-start:1px solid var(--hair) !important;border-top:1px solid var(--hair) !important; }
.woocommerce .cart_totals table .order-total td,
.woocommerce .cart_totals table .order-total th,
.woocommerce-checkout #order_review .order-total td,
.woocommerce-checkout #order_review .order-total th{ padding-top:20px; }

/* ─── InPost Paczkomat picker (checkout) ─── */
.sc-inpost-row td{padding:12px 0 4px !important;text-align:left !important}
.sc-inpost-box{background:var(--cream-2);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;text-align:left}
.sc-inpost-label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--caramel-deep)}
.sc-inpost-selected{font-size:14px;color:var(--ink-2)}
.sc-inpost-selected.has-point{color:var(--ink);font-weight:600}
.sc-inpost-btn{align-self:flex-start;padding:11px 20px;border-radius:999px;background:var(--brown-deep);color:var(--peach);font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:-0.005em;border:none;cursor:pointer;transition:background .25s}
.sc-inpost-btn:hover{background:var(--ink)}
#scInpostManual{width:100%;box-sizing:border-box;padding:12px 16px;border:1px solid rgba(26,20,16,.14);border-radius:12px;background:#fff;font-family:var(--sans);font-size:14px;color:var(--ink)}
#scInpostManual:focus{outline:none;border-color:var(--peach)}
.sc-inpost-find{font-size:12.5px;color:var(--caramel-deep);text-decoration:underline;align-self:flex-start}
.sc-inpost-thanks{background:var(--cream-2);border-radius:14px;padding:14px 18px;font-size:14.5px}
/* map modal */
.sc-inpost-modal{position:fixed;inset:0;z-index:9999;background:rgba(26,20,16,.55);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:max(16px,4vw)}
.sc-inpost-modal.is-open{display:flex}
.sc-inpost-modal-inner{position:relative;width:min(960px,100%);height:min(640px,86vh);background:var(--cream);border-radius:24px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);display:flex;flex-direction:column}
.sc-inpost-modal-inner inpost-geowidget{display:block;width:100%;height:100%;flex:1}
.sc-inpost-close{width:38px;height:38px;border-radius:50%;background:var(--brown-deep);color:var(--cream);font-size:20px;line-height:1;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.sc-inpost-close:hover{background:var(--ink)}
.sc-inpost-close-float{position:absolute;top:12px;right:12px;z-index:5}
/* leaflet map header + canvas */
.sc-inpost-head{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--cream);border-bottom:1px solid var(--hair);flex-wrap:wrap}
.sc-inpost-head strong{font-family:var(--sans);font-size:16px;letter-spacing:-0.015em;margin-right:auto}
#scInpostSearch{flex:1 1 170px;min-width:0;padding:10px 16px;border:1px solid rgba(26,20,16,.14);border-radius:999px;background:#fff;font-family:var(--sans);font-size:13.5px;color:var(--ink)}
#scInpostSearch:focus{outline:none;border-color:var(--peach)}
.sc-inpost-mini{padding:10px 16px;border-radius:999px;border:1px solid var(--brown-deep);background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:background .2s,color .2s}
.sc-inpost-mini:hover{background:var(--brown-deep);color:var(--cream)}
#scInpostMap{flex:1;min-height:300px;z-index:1}
.sc-pt{font-family:var(--sans);font-size:13px;line-height:1.45;color:var(--ink)}
.sc-pt b{font-size:14.5px;letter-spacing:-0.01em}
.sc-pt-pick{margin-top:9px;padding:9px 16px;border-radius:999px;background:var(--brown-deep);color:var(--peach);border:none;font-family:var(--sans);font-size:12.5px;font-weight:600;cursor:pointer}
.sc-pt-pick:hover{background:var(--ink)}
/* collapsible manual fallback under the map button */
.sc-inpost-manual-wrap summary{cursor:pointer;color:var(--caramel-deep);font-size:12.5px;text-decoration:underline}
.sc-inpost-manual-wrap input{margin-top:10px}
.sc-inpost-manual-wrap .sc-inpost-find{display:inline-block;margin-top:8px}

/* WC coupon + login forms — soft cards */
.woocommerce-form-coupon, .woocommerce-form-login{
  background:#fff;border-radius:22px;padding:32px;margin-bottom:28px;
  box-shadow:0 24px 60px -24px rgba(93,74,50,.12),0 4px 12px -4px rgba(93,74,50,.06);
}
.woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2)}
.woocommerce-form-login__rememberme input{width:auto !important;margin:0}
.woocommerce-LostPassword{margin-top:18px}
.woocommerce-LostPassword a{font-size:14px;color:var(--caramel-deep);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

/* WC empty cart / order */
.cart-empty.woocommerce-info{
  text-align:center;font-family:var(--serif);font-style:italic;font-size:22px;
  background:var(--cream-2);padding:80px 40px;border:none;border-radius:28px;color:var(--ink-2);
  border-left:none;
}
.return-to-shop a.wc-backward{display:inline-block;margin-top:24px}

/* Cart layout — 2-column on desktop (items left, totals right) */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:start;width:100%;max-width:100%;box-sizing:border-box}
/* notices span full width at the top; when empty, drop out entirely so items+totals sit in row 1 */
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-cart .woocommerce > .woocommerce-cart-form{grid-column:1;min-width:0;max-width:100%}
.woocommerce-cart .woocommerce > .cart-collaterals{grid-column:2;margin-top:0;min-width:0;max-width:100%;width:100%}
.woocommerce-cart .cart-collaterals .cart_totals{max-width:100% !important;width:100% !important;box-sizing:border-box}
.woocommerce-cart .cart-collaterals .cross-sells{display:none}

/* Cart actions row (coupon) — clean, no divider line. DESKTOP ONLY: inline layout.
   (Scoped to >=641px so flex-basis doesn't become input HEIGHT in the mobile column layout.) */
@media (min-width:641px){
  .woocommerce-cart .woocommerce-cart-form td.actions{
    border-top:none !important;border:none !important;padding:24px 28px !important;background:transparent;
  }
  .woocommerce-cart .woocommerce-cart-form td.actions .coupon{
    display:flex !important;align-items:center;gap:12px;flex-wrap:wrap;
  }
  .woocommerce-cart .woocommerce-cart-form td.actions .coupon input.input-text{
    flex:1 1 220px;min-width:0;margin:0 !important;
  }
  .woocommerce-cart .woocommerce-cart-form td.actions .coupon button{
    flex:0 0 auto;margin:0 !important;white-space:nowrap;
  }
}
/* "Zaktualizuj koszyk" — ilość jest edytowalna, wiec pokazujemy i stylujemy przycisk */
.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"]{
  display:inline-flex !important;align-items:center;justify-content:center;
  background:#fff;color:var(--ink);border:1.5px solid var(--hair);border-radius:100px;
  padding:12px 22px !important;font-weight:600;font-size:14px;cursor:pointer;margin:0 !important;
  transition:border-color .2s,background .2s;
}
.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"]:hover{
  border-color:var(--peach);background:var(--cream);
}
.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"]:disabled{opacity:.45;cursor:default}
/* pole ilości w koszyku (desktop) */
.woocommerce-cart table.shop_table td.product-quantity .quantity input.qty{
  width:66px;text-align:center;padding:9px 6px;border:1.5px solid var(--hair);border-radius:12px;
  background:#fff;font-family:var(--sans);font-weight:600;font-size:15px;color:var(--ink);
}
.woocommerce-cart table.shop_table td.product-quantity .quantity input.qty:focus{
  outline:none;border-color:var(--peach);box-shadow:0 0 0 3px rgba(232,180,125,.18);
}

@media (max-width:900px){
  .woocommerce-cart .woocommerce{grid-template-columns:1fr !important;gap:20px}
  .woocommerce-cart .woocommerce > .cart-collaterals{grid-column:auto;grid-row:auto;width:100% !important;max-width:100% !important}
  .woocommerce-cart .cart-collaterals .cart_totals{width:100% !important;max-width:100% !important}
}

/* ─── Cart MOBILE — stack each row as card ─── */
@media (max-width:640px){
  body.woocommerce-cart main.wp-block-group,
  body.woocommerce-checkout main.wp-block-group,
  body.woocommerce-account main.wp-block-group{
    padding-top:32px !important;
    padding-right:16px !important;
    padding-bottom:60px !important;
    padding-left:16px !important;
  }
  .wc-page-hero{padding:0 0 32px;margin-bottom:32px}
  .wc-page-hero h1{font-size:38px !important}
  .wc-page-hero .lede{font-size:16px;padding:0 4px}

  /* Cart table → card-style stacked rows */
  .woocommerce-cart table.shop_table{
    background:transparent !important;box-shadow:none !important;border-radius:0;padding:0;
    display:block;width:100%;
  }
  .woocommerce-cart table.shop_table thead{display:none}
  .woocommerce-cart table.shop_table tbody{display:block;width:100%}
  .woocommerce-cart table.shop_table tbody tr.cart_item{
    display:grid !important;
    grid-template-columns:72px 1fr auto;
    grid-template-areas:
      "thumb name remove"
      "thumb meta meta";
    column-gap:14px;row-gap:8px;
    background:#fff;border-radius:20px;padding:18px;margin-bottom:12px;
    box-shadow:0 16px 40px -16px rgba(93,74,50,.12),0 2px 6px -2px rgba(93,74,50,.05);
    position:relative;border:none;width:100%;box-sizing:border-box;
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item td{
    display:block;padding:0 !important;border:none !important;background:transparent !important;
    text-align:left !important;
  }
  .woocommerce-cart table.shop_table tbody tr.cart_item td::before{display:none !important}

  .woocommerce-cart tr.cart_item .product-thumbnail{
    grid-area:thumb;align-self:center;
  }
  .woocommerce-cart tr.cart_item .product-thumbnail img{
    max-width:72px !important;width:72px;height:72px;padding:8px;border-radius:14px !important;
    box-shadow:inset 0 0 0 1px var(--hair);background:var(--cream);box-sizing:border-box;
    display:block !important;
  }
  .woocommerce-cart tr.cart_item .product-name{
    grid-area:name;align-self:start;
  }
  .woocommerce-cart tr.cart_item .product-name a{
    font-size:16px !important;font-weight:600 !important;display:block !important;
    margin-bottom:2px !important;color:var(--ink) !important;line-height:1.25;
  }
  .woocommerce-cart tr.cart_item .product-name p{
    font-size:12.5px !important;line-height:1.4 !important;margin:2px 0 0 !important;
    color:var(--ink-2);font-family:var(--serif);font-style:italic;
  }
  .woocommerce-cart tr.cart_item .product-remove{
    grid-area:remove;align-self:start;
  }
  .woocommerce-cart tr.cart_item .product-remove a.remove{
    display:inline-flex;align-items:center;justify-content:center;
    width:30px !important;height:30px !important;font-size:18px !important;
    background:rgba(26,20,16,.06) !important;color:var(--ink-2) !important;
    border-radius:50%;text-decoration:none;line-height:1;
  }
  .woocommerce-cart tr.cart_item .product-remove a.remove:hover{
    background:rgba(201,48,48,.12) !important;color:#c93030 !important;
  }
  /* Hide individual unit price + quantity input on mobile, show subtotal only */
  .woocommerce-cart tr.cart_item .product-price{display:none !important}
  .woocommerce-cart tr.cart_item .product-quantity{
    grid-area:meta;display:flex !important;align-items:center;gap:12px;
    margin-top:4px;
  }
  .woocommerce-cart tr.cart_item .product-quantity .quantity input.qty{
    width:60px;text-align:center;padding:8px 4px;border:1.5px solid var(--hair);border-radius:10px;
    background:#fff;font-family:var(--sans);font-weight:600;font-size:15px;color:var(--ink);
  }
  .woocommerce-cart tr.cart_item .product-subtotal{
    grid-area:meta;justify-self:end;text-align:right !important;
    font-family:var(--serif) !important;font-style:italic !important;
    font-size:22px !important;color:var(--caramel-deep) !important;font-weight:500 !important;
    letter-spacing:-0.015em;align-self:center;
  }
  /* Stack subtotal AND quantity in meta area side-by-side */
  .woocommerce-cart tr.cart_item .product-quantity, .woocommerce-cart tr.cart_item .product-subtotal{
    grid-area:meta;
  }
  .woocommerce-cart tr.cart_item .product-quantity{justify-self:start}
  .woocommerce-cart tr.cart_item{grid-template-areas:"thumb name remove" "thumb qty subtotal" !important}
  .woocommerce-cart tr.cart_item .product-quantity{grid-area:qty}
  .woocommerce-cart tr.cart_item .product-subtotal{grid-area:subtotal}

  /* Actions row (coupon + update cart) */
  .woocommerce-cart .actions{
    grid-area:actions;grid-column:1/-1 !important;display:flex !important;flex-direction:column;gap:12px;
    background:#fff !important;border:none !important;border-radius:20px !important;
    box-shadow:0 16px 40px -16px rgba(93,74,50,.12),0 2px 6px -2px rgba(93,74,50,.05) !important;
    padding:20px !important;margin-top:0 !important;
  }
  .woocommerce-cart .coupon{display:flex !important;flex-direction:column;gap:8px;width:100%}
  .woocommerce-cart .coupon input.input-text{
    width:100% !important;padding:14px 18px !important;font-size:14.5px !important;
  }
  .woocommerce-cart .coupon button, .woocommerce-cart .actions > button{
    width:100% !important;padding:12px 20px !important;font-size:14px !important;line-height:1.2 !important;
  }

  /* Cart totals — compact mobile, rows as flex (no overflow) */
  .woocommerce .cart_totals, .woocommerce-checkout #order_review{
    padding:22px 20px !important;border-radius:20px;
  }
  .woocommerce .cart_totals h2{font-size:20px !important;margin:0 0 12px !important}
  /* Convert totals table to flex rows */
  .woocommerce .cart_totals table.shop_table_responsive,
  .woocommerce .cart_totals table.shop_table_responsive tbody,
  .woocommerce .cart_totals table.shop_table_responsive tr,
  .woocommerce-checkout #order_review table.shop_table_responsive,
  .woocommerce-checkout #order_review table.shop_table_responsive tbody,
  .woocommerce-checkout #order_review table.shop_table_responsive tr{
    display:block !important;width:100% !important;
  }
  .woocommerce .cart_totals table.shop_table_responsive tr,
  .woocommerce-checkout #order_review table.shop_table_responsive tr{
    display:flex !important;align-items:baseline;justify-content:space-between;gap:12px;
    padding:9px 0 !important;border:none !important;
  }
  .woocommerce .cart_totals table.shop_table_responsive th,
  .woocommerce-checkout #order_review table.shop_table_responsive th{
    display:block !important;padding:0 !important;text-align:left !important;
    background:transparent !important;border:none !important;
    font-family:var(--sans) !important;font-size:13.5px !important;
    color:var(--ink-2) !important;font-weight:500 !important;text-transform:none !important;
    letter-spacing:-0.005em !important;
    flex:0 0 auto !important;white-space:nowrap !important;min-width:0;
  }
  .woocommerce .cart_totals table.shop_table_responsive td,
  .woocommerce-checkout #order_review table.shop_table_responsive td{
    display:block !important;padding:0 !important;text-align:right !important;
    background:transparent !important;border:none !important;
    font-family:var(--sans) !important;font-size:13.5px !important;
    color:var(--ink) !important;font-weight:600 !important;text-transform:none !important;
    letter-spacing:-0.005em !important;
    white-space:nowrap !important;flex:0 1 auto !important;min-width:0;
  }
  .woocommerce .cart_totals table.shop_table_responsive td::before,
  .woocommerce-checkout #order_review table.shop_table_responsive td::before{display:none !important}
  /* Shipping row: long method text + notices need full width → stack vertically and wrap */
  .woocommerce .cart_totals table.shop_table_responsive tr.shipping,
  .woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals,
  .woocommerce-checkout #order_review table.shop_table_responsive tr.shipping,
  .woocommerce-checkout #order_review table.shop_table_responsive tr.woocommerce-shipping-totals{
    display:block !important;
  }
  .woocommerce .cart_totals table.shop_table_responsive tr.shipping th,
  .woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals th,
  .woocommerce-checkout #order_review table.shop_table_responsive tr.shipping th,
  .woocommerce-checkout #order_review table.shop_table_responsive tr.woocommerce-shipping-totals th{
    display:block !important;margin-bottom:6px !important;white-space:nowrap !important;
  }
  .woocommerce .cart_totals table.shop_table_responsive tr.shipping td,
  .woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td,
  .woocommerce-checkout #order_review table.shop_table_responsive tr.shipping td,
  .woocommerce-checkout #order_review table.shop_table_responsive tr.woocommerce-shipping-totals td{
    display:block !important;text-align:left !important;white-space:normal !important;
    overflow-wrap:break-word !important;flex:1 1 auto !important;min-width:0;line-height:1.5;
  }
  /* Order total row — italic serif large */
  .woocommerce .cart_totals table.shop_table_responsive tr.order-total,
  .woocommerce-checkout #order_review table.shop_table_responsive tr.order-total{
    border-top:1px solid var(--hair) !important;padding-top:16px !important;margin-top:8px;
  }
  .woocommerce .cart_totals .order-total th,
  .woocommerce-checkout #order_review .order-total th{
    font-family:var(--sans) !important;font-size:14px !important;color:var(--ink) !important;
    font-weight:600 !important;text-transform:none !important;
  }
  .woocommerce .cart_totals .order-total td,
  .woocommerce-checkout #order_review .order-total td{
    font-family:var(--serif) !important;font-style:italic !important;
    font-size:22px !important;color:var(--caramel-deep) !important;font-weight:500 !important;
    line-height:1 !important;letter-spacing:-0.015em;
  }
  .woocommerce .order-total .amount{font-size:22px !important;line-height:1}
  .woocommerce .cart_totals .wc-proceed-to-checkout{padding:18px 0 0 !important;margin-top:6px}
  .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button{
    padding:14px 16px !important;font-size:14px !important;line-height:1.2 !important;
    background:var(--brown-deep) !important;color:var(--peach) !important;
    width:100%;text-align:center;letter-spacing:-0.005em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
}

/* Checkout layout — 2-column (billing left, order review right sticky) */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:min-content min-content 1fr;gap:0 32px;align-items:start}
/* left column spans all rows; row 3 (1fr) absorbs the leftover height so the right card stays tight */
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 3}
/* heading + order review form ONE white card in the right column (matches billing card) */
.woocommerce-checkout #order_review_heading{
  grid-column:2;grid-row:1;align-self:start;line-height:1.1;
  background:#fff;border-radius:24px 24px 0 0;
  padding:32px 32px 16px;margin:0;
  box-shadow:0 24px 60px -24px rgba(93,74,50,.12),0 4px 12px -4px rgba(93,74,50,.06);
}
.woocommerce-checkout #order_review{
  grid-column:2;grid-row:2;align-self:start;
  border-radius:0 0 24px 24px;margin-top:-16px;padding-top:0;
}
.woocommerce-checkout .col-1, .woocommerce-checkout .col-2{width:100% !important;float:none !important}
.woocommerce-checkout h3{font-family:var(--sans);font-weight:700;font-size:22px;letter-spacing:-0.02em;color:var(--ink);margin:0 0 18px;padding:0}
.woocommerce-checkout-payment{background:transparent !important;border-radius:0 !important;padding:0 !important}
@media (max-width:900px){
  /* mobile: pojedyncza kolumna, bez desktopowego scalania karty i rozpinania rzedow */
  .woocommerce-checkout form.checkout{grid-template-columns:1fr !important;grid-template-rows:none !important;gap:24px}
  .woocommerce-checkout #customer_details{grid-column:auto !important;grid-row:auto !important}
  .woocommerce-checkout #order_review_heading{
    grid-column:auto !important;grid-row:auto !important;
    background:none;box-shadow:none;border-radius:0;padding:0;margin:0 0 18px;
  }
  .woocommerce-checkout #order_review{
    grid-column:auto !important;grid-row:auto !important;
    margin-top:0;padding:32px;border-radius:24px;
  }
}

/* My Account "Witaj" dashboard */
.woocommerce-account .woocommerce-MyAccount-content .myaccount-user-name{
  font-family:var(--serif);font-style:italic;font-size:28px;color:var(--caramel-deep);font-weight:500;
}

/* WC product page price/add-to-cart on single product (default WC variant — fallback) */
.woocommerce div.product .product_title{display:none} /* hidden — using our own from template */

/* New WC blocks (cart/checkout) — match brand */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout{
  background:var(--cream);
}
.wc-block-cart, .wc-block-checkout{
  font-family:var(--sans);color:var(--ink);
}
.wc-block-components-product-name, .wc-block-cart-item__product-name{
  font-family:var(--sans) !important;font-weight:600 !important;color:var(--ink) !important;
}
.wc-block-components-product-price__value, .wc-block-formatted-money-amount{
  font-family:var(--serif) !important;font-style:italic !important;color:var(--caramel-deep) !important;font-weight:500;
}
.wc-block-components-totals-item__value, .wc-block-cart__totals-title{color:var(--ink) !important}
.wc-block-components-text-input input, .wc-block-components-checkout-step input{
  background:#fff !important;border:1px solid var(--hair) !important;border-radius:12px !important;
  padding:14px 16px !important;
}

/* Mobile fallback — narrower edge padding + smaller fonts so cat-row titles fit one line */
@media (max-width:640px){
  :root{--sc-edge:16px}
  .wp-site-blocks .hero-cards.wp-block-group{gap:10px}
  .wp-site-blocks .cats.wp-block-group{gap:10px}
  /* cat-row tighter — smaller h4 + icon, title fits one line */
  .wp-site-blocks .cats .cat-row{padding:22px 22px 22px 26px !important;min-height:96px !important}
  .wp-site-blocks .cats .cat-row h4{font-size:20px !important;line-height:1.2 !important;letter-spacing:-0.015em !important;white-space:normal !important;overflow:visible !important;text-overflow:clip !important;word-break:normal;hyphens:auto}
  .wp-site-blocks .cats .cat-row .icon-stage{width:60px !important;height:58px !important;margin-left:6px !important;flex-shrink:0}
  .wp-site-blocks .cats .cat-row .arrow{right:14px !important;font-size:18px !important}
  /* smaller hero card text + badge reposition to bottom-left so it stops covering h3 */
  .wp-site-blocks .hero-cards .card-hero h3{font-size:20px !important;line-height:1.1 !important;padding-right:0 !important}
  .wp-site-blocks .hero-cards .card-hero .cta-link{font-size:13px !important}
  .wp-site-blocks .hero-cards .card-hero .badge{
    top:auto !important;bottom:62px !important;right:auto !important;left:14px !important;
    font-size:9.5px !important;padding:4px 9px !important;letter-spacing:.06em !important;
  }
  /* smaller hero h1 */
  .wp-site-blocks .hero-h h1{font-size:42px !important;line-height:.95 !important}
}
@media (max-width:380px){
  .wp-site-blocks .cats .cat-row h4{font-size:17.5px !important}
  .wp-site-blocks .cats .cat-row .icon-stage{width:54px !important;height:54px !important}
}

/* ─── promo bar ─── */
.promo{background:var(--peach);color:var(--brown-deep);display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 18px;font-size:14.5px;font-weight:500;letter-spacing:-0.005em}
.promo strong{font-weight:500}
.promo .pill{display:inline-flex;align-items:center;gap:8px;background:var(--brown-deep);color:var(--cream);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:500;transition:transform .25s;text-decoration:none}
.promo .pill:hover{transform:translateX(3px)}
.promo .pill::after{content:"";width:14px;height:14px;border-radius:50%;background:var(--peach);position:relative;display:inline-block}

/* ─── header ─── */
.sc-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;position:sticky;top:0;z-index:40;backdrop-filter:blur(12px) saturate(160%);background:rgba(244,236,221,.92)}
.logo{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-0.04em;line-height:1;font-style:italic;text-decoration:none}
.logo .dot{color:var(--peach)}
.head-right{display:flex;align-items:center;gap:14px}
.btn-pill{display:inline-flex;align-items:center;padding:11px 22px;border:1px solid var(--brown-deep);border-radius:999px;font-size:15px;font-weight:500;background:var(--cream);transition:background .25s,color .25s;text-decoration:none;color:var(--ink)}
.btn-pill:hover{background:var(--brown-deep);color:var(--cream)}
.cart-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;color:var(--ink);text-decoration:none;transition:background .25s,color .25s;flex:0 0 auto}
.cart-link:hover{background:var(--brown-deep);color:var(--cream)}
.cart-link svg{display:block}
.sc-cart-count{position:absolute;top:1px;right:0;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;background:var(--peach);color:var(--brown-deep);font-family:var(--mono);font-size:11px;font-weight:500;line-height:1;border-radius:999px;box-shadow:0 0 0 2px rgba(244,236,221,.92);pointer-events:none}
.sc-cart-count.is-empty{display:none}
.hamburger{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;cursor:pointer}
.hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.is-open span:nth-child(2){opacity:0}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ─── nav dropdown (hamburger menu) ─── */
.sc-header{position:relative}
.sc-nav{
  position:absolute;top:100%;left:0;right:0;z-index:60;
  background:rgba(244,236,221,.98);backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid var(--hair);
  display:flex;flex-direction:column;
  max-height:0;overflow:hidden;opacity:0;pointer-events:none;
  transition:max-height .35s cubic-bezier(.2,.8,.2,1),opacity .25s;
  box-shadow:0 24px 40px -20px rgba(93,74,50,.22);
}
.sc-nav.is-open{max-height:360px;opacity:1;pointer-events:auto}
.sc-nav a{
  padding:17px 22px;font-family:var(--sans);font-size:17px;font-weight:500;
  letter-spacing:-0.01em;color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--hair);transition:background .2s,color .2s;
}
.sc-nav a:last-child{border-bottom:none}
.sc-nav a:hover,.sc-nav a:active{background:var(--peach);color:var(--brown-deep)}

/* pcard as link */
a.pcard{text-decoration:none;color:inherit;cursor:pointer;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
a.pcard:hover{transform:translateY(-6px)}

/* ─── hero headline ─── */
.hero-h{padding:20px 22px 28px}
.hero-h h1, .hero-h .wp-block-heading{font-family:var(--sans);font-weight:700;font-size:56px;line-height:.96;letter-spacing:-0.045em;color:var(--ink);margin:0}
.hero-h h1 em, .hero-h .wp-block-heading em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--ink);display:inline-block}

/* ─── 2 hero cards ─── */
.hero-cards{padding:0 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.hero-cards.wp-block-columns{display:grid !important;grid-template-columns:1fr 1fr;gap:10px}
.hero-cards .wp-block-column{margin:0 !important;flex-basis:auto !important}
.card-hero{
  position:relative;border-radius:22px;padding:22px 20px 20px;min-height:340px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between;color:var(--cream);
  background:radial-gradient(ellipse 80% 60% at 50% 70%, var(--caramel) 0%, var(--brown) 65%, var(--brown-deep) 100%);
  text-decoration:none;
}
.card-hero.alt{
  background:radial-gradient(ellipse 80% 60% at 50% 30%, var(--caramel) 0%, var(--brown) 65%, var(--brown-deep) 100%);
}
.card-hero.green{
  background:radial-gradient(ellipse 80% 60% at 50% 70%, #5d8a5e 0%, #2d4a30 60%, #0f2014 100%);
}
.card-hero.green h3 em{color:#bfd9b5}
.card-hero.green .cta-link em{color:#bfd9b5}
.card-hero.green .cta-link::after{color:#bfd9b5}
.card-hero.green .badge{color:#bfd9b5;border-color:rgba(191,217,181,.35);background:rgba(191,217,181,.12)}
.card-hero.green .aura::before{background:radial-gradient(ellipse at center,rgba(150,200,140,.45),rgba(150,200,140,0) 65%)}
.card-hero h3{font-family:var(--sans);font-size:24px;line-height:1.05;letter-spacing:-0.025em;font-weight:600;position:relative;z-index:3;margin:0}
.card-hero h3 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--peach)}
.card-hero .stage{position:absolute;inset:60px 0 60px 0;display:flex;align-items:center;justify-content:center;z-index:2}
.card-hero .floor{position:absolute;bottom:60px;left:50%;width:180px;height:24px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);filter:blur(4px);z-index:1}
.card-hero .cta-link{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 4px 0;border-top:1px solid rgba(244,236,221,.25);font-size:14px;font-weight:500;letter-spacing:-0.005em;color:var(--cream);position:relative;z-index:3;margin:0}
.card-hero .cta-link em{color:var(--peach);font-style:normal}
.card-hero .cta-link::after{content:"›";font-size:22px;line-height:1;color:var(--peach);margin-left:auto;transition:transform .3s}
.card-hero:hover .cta-link::after{transform:translateX(4px)}
.card-hero .badge{position:absolute;top:14px;right:14px;padding:5px 10px;background:rgba(244,236,221,.15);border:1px solid rgba(244,236,221,.3);border-radius:999px;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;font-weight:500;color:var(--peach);z-index:3}

/* warm aura behind product */
.aura{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}
.aura::before{content:"";width:88%;height:60%;background:radial-gradient(ellipse at center,rgba(232,180,125,.55),rgba(232,180,125,0) 65%);filter:blur(8px);animation:pulse 6s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(.92);opacity:.85}50%{transform:scale(1.08);opacity:1}}

/* floating animation */
.float{animation:bob 6s ease-in-out infinite;filter:drop-shadow(0 30px 22px rgba(0,0,0,.4)) drop-shadow(0 8px 10px rgba(0,0,0,.25))}
@keyframes bob{0%,100%{transform:translateY(-8px)}50%{transform:translateY(8px)}}
.float.tilt{animation:bobtilt 7s ease-in-out infinite}
@keyframes bobtilt{0%,100%{transform:translateY(-8px) rotate(-3deg)}50%{transform:translateY(8px) rotate(2deg)}}
.float.sway{animation:sway 8s ease-in-out infinite}
@keyframes sway{0%,100%{transform:translateY(-10px) rotate(-14deg)}50%{transform:translateY(10px) rotate(-10deg)}}

.hero-photo{max-width:90%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;position:relative;z-index:2;filter:url(#alphaSoft) drop-shadow(0 14px 10px rgba(0,0,0,.22)) drop-shadow(0 4px 6px rgba(0,0,0,.14))}

/* ═══════════════════════════════════════════
   QUIZ — multi-step conversion flow
   ═══════════════════════════════════════════ */
body.page-template-quiz main, body.quiz-page main{
  max-width:760px !important;margin:0 auto !important;padding-top:60px !important;padding-bottom:80px !important;
}
.quiz{
  background:#fff;border-radius:32px;padding:0;
  box-shadow:0 30px 80px -30px rgba(93,74,50,.18),0 6px 16px -6px rgba(93,74,50,.06);
  overflow:hidden;position:relative;
}
.quiz-progress{
  display:flex;gap:6px;padding:20px 32px 0;background:transparent;
}
.quiz-progress span{
  flex:1;height:4px;border-radius:2px;background:rgba(232,180,125,0.15);
  transition:background .35s cubic-bezier(.2,.8,.2,1);
}
.quiz-progress span.is-done{background:var(--peach)}
.quiz-progress span.is-active{background:linear-gradient(90deg,var(--peach) 50%,rgba(232,180,125,0.15) 50%)}

.quiz-slide{
  padding:42px 48px 48px;display:none;animation:quizFade .5s cubic-bezier(.2,.8,.2,1);
}
.quiz-slide.is-active{display:block}
@keyframes quizFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.quiz-eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:0.32em;text-transform:uppercase;
  color:var(--caramel-deep);margin-bottom:18px;
}
.quiz-question{
  font-family:var(--sans);font-weight:700;font-size:clamp(28px,4vw,42px);
  letter-spacing:-0.03em;line-height:1.08;color:var(--ink);margin:0 0 32px;
}
.quiz-question em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--caramel-deep)}

/* number + slider input */
.quiz-input-row{display:flex;align-items:baseline;gap:12px;margin-bottom:24px}
.quiz-num-input{
  background:transparent;border:none;
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:64px;letter-spacing:-0.04em;line-height:1;
  color:var(--ink);width:auto;min-width:0;text-align:left;padding:0;
  -moz-appearance:textfield;
}
.quiz-num-input::-webkit-outer-spin-button,
.quiz-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.quiz-num-input:focus{outline:none;color:var(--caramel-deep)}
.quiz-unit{font-family:var(--mono);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--caramel-deep)}

.quiz-slider{
  width:100%;height:6px;border-radius:3px;
  background:linear-gradient(90deg,var(--peach) var(--progress,50%),rgba(232,180,125,0.15) var(--progress,50%));
  -webkit-appearance:none;appearance:none;outline:none;margin:8px 0 30px;
}
.quiz-slider::-webkit-slider-thumb{
  -webkit-appearance:none;width:28px;height:28px;border-radius:50%;
  background:var(--peach);cursor:pointer;border:3px solid #fff;
  box-shadow:0 4px 12px rgba(232,180,125,.4);transition:transform .15s;
}
.quiz-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}
.quiz-slider::-moz-range-thumb{
  width:28px;height:28px;border-radius:50%;background:var(--peach);
  cursor:pointer;border:3px solid #fff;box-shadow:0 4px 12px rgba(232,180,125,.4);
}
.quiz-slider-range{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(26,20,16,0.4);margin-top:-22px;margin-bottom:32px;padding:0 12px}

/* radio options as cards */
.quiz-options{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
.quiz-option{
  display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
  background:var(--cream);border:1.5px solid transparent;border-radius:18px;
  padding:20px 22px;cursor:pointer;transition:background .2s,border-color .2s,transform .15s;
}
.quiz-option:hover{background:#f8f1e2;border-color:rgba(232,180,125,.4)}
.quiz-option.is-selected{background:#fff;border-color:var(--peach);box-shadow:0 0 0 4px rgba(232,180,125,.18)}
.quiz-option input[type=radio]{display:none}
.quiz-option .opt-icon{font-size:24px;line-height:1;flex-shrink:0}
.quiz-option .opt-num{
  font-family:var(--serif);font-style:italic;font-weight:600;font-size:30px;
  color:var(--caramel-deep);letter-spacing:-0.02em;line-height:1;min-width:60px;
}
.quiz-option .opt-num svg{width:30px;height:30px;display:block;margin:0 auto;stroke-width:1.6}
.quiz-option.is-selected .opt-num svg{color:var(--brown-deep)}
.quiz-option .opt-title{font-weight:600;font-size:17px;letter-spacing:-0.01em;color:var(--ink);grid-column:2;display:block;margin:0}
.quiz-option .opt-desc{font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--ink-2);grid-column:2;line-height:1.4;display:block;margin-top:2px}
.quiz-option::after{
  content:"";width:22px;height:22px;border-radius:50%;border:2px solid var(--hair);
  flex-shrink:0;transition:border-color .2s,background .2s;
}
.quiz-option.is-selected::after{
  background:var(--peach);border-color:var(--peach);
  background-image:radial-gradient(circle,var(--brown-deep) 25%,transparent 30%);
}

/* CTA buttons */
.quiz-next, .quiz-cta, .quiz-restart{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  border:none;cursor:pointer;font-family:var(--sans);font-weight:600;
  border-radius:999px;transition:transform .2s,background .2s;text-decoration:none;
}
.quiz-next, .quiz-cta{
  background:var(--peach);color:var(--brown-deep);padding:18px 36px;font-size:16px;
  letter-spacing:-0.005em;
}
.quiz-next:disabled{opacity:0.4;cursor:not-allowed;background:var(--cream-2);color:var(--ink-2)}
.quiz-next:not(:disabled):hover, .quiz-cta:hover{transform:scale(1.03);background:var(--peach-deep)}
.quiz-restart{
  background:transparent;color:var(--ink-2);padding:14px 22px;font-size:13.5px;
  margin-top:16px;font-weight:500;
}
.quiz-restart:hover{color:var(--ink);background:var(--cream-2)}

/* result slide */
.quiz-result-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  background:var(--cream);border-radius:20px;padding:24px;margin-bottom:28px;
}
.qrs-item{text-align:center}
.qrs-item .qrs-label{
  font-family:var(--mono);font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--caramel-deep);display:block;margin-bottom:8px;font-weight:500;
}
.qrs-item .qrs-value{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:30px;letter-spacing:-0.02em;color:var(--ink);display:block;line-height:1;
}
.qrs-item .qrs-cat{
  font-family:var(--sans);font-size:11px;color:var(--ink-2);margin-top:6px;display:block;
}

.quiz-product-rec{
  background:linear-gradient(135deg,var(--cream-2),var(--cream));
  border-radius:24px;padding:28px;margin-bottom:24px;
  display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;
  border:1px solid rgba(232,180,125,.2);
}
.qpr-image{aspect-ratio:1;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:14px}
.qpr-image img{max-width:100%;max-height:100%;object-fit:contain}
.qpr-info h3{font-family:var(--sans);font-weight:700;font-size:24px;letter-spacing:-0.025em;color:var(--ink);margin:0 0 4px;line-height:1.1}
.qpr-info p{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-2);margin:0 0 10px;line-height:1.4}
.qpr-price{
  font-family:var(--serif);font-style:italic;font-size:22px;font-weight:500;
  color:var(--caramel-deep);letter-spacing:-0.015em;
}

/* mobile */
@media (max-width:640px){
  body.quiz-page main{padding:24px 12px 60px !important}
  .quiz{border-radius:24px}
  .quiz-slide{padding:30px 24px 32px}
  .quiz-progress{padding:18px 24px 0}
  .quiz-eyebrow{font-size:10px;letter-spacing:0.28em;margin-bottom:14px}
  .quiz-question{font-size:24px;margin-bottom:24px}
  .quiz-num-input{font-size:52px}
  .quiz-option{padding:16px 18px;gap:10px}
  .quiz-option .opt-num{font-size:24px;min-width:48px}
  .quiz-option .opt-title{font-size:15.5px}
  .quiz-option .opt-desc{font-size:12.5px}
  .quiz-option .opt-icon{font-size:20px}
  .quiz-next, .quiz-cta{padding:16px 28px;font-size:15px;width:100%}
  .quiz-result-stats{grid-template-columns:1fr;gap:18px;padding:20px}
  .qrs-item .qrs-value{font-size:26px}
  .quiz-product-rec{grid-template-columns:1fr;gap:14px;padding:22px;text-align:center}
  .qpr-image{max-width:140px;margin:0 auto;aspect-ratio:1}
}

/* ─── Hero card chart — FULL-BLEED weight-loss visualization ───
   SVG (preserveAspectRatio:none) stretches over the whole tile; the curve uses
   non-scaling-stroke + pathLength=1 so the draw animation survives stretching.
   Crisp text/dots live in an HTML .chart-hud overlay positioned in %. */
.card-hero.alt .hero-chart{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.hero-chart .chart-line{
  stroke-dasharray:1;stroke-dashoffset:1;
  animation:chartDraw 2.4s cubic-bezier(.65,.05,.36,1) forwards;
  animation-delay:.3s;
  filter:drop-shadow(0 0 6px rgba(232,180,125,.45));
}
@keyframes chartDraw{to{stroke-dashoffset:0}}
.hero-chart .chart-area{opacity:0;animation:chartArea 1.1s ease-out forwards;animation-delay:1.7s}
@keyframes chartArea{to{opacity:1}}
.hero-chart .chart-grid{opacity:0;animation:chartFadeIn .8s ease-out forwards}
.hero-chart .chart-grid.g1{animation-delay:.15s}
.hero-chart .chart-grid.g2{animation-delay:.3s}
.hero-chart .chart-grid.g3{animation-delay:.45s}
@keyframes chartFadeIn{to{opacity:1}}

/* HUD overlay — labels, dots, chip (positions mirror the SVG curve coords) */
.chart-hud{position:absolute;inset:0;z-index:2;pointer-events:none}
.chart-hud > *{position:absolute;opacity:0;animation:hudUp .6s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes hudUp{from{opacity:0;transform:translate(var(--hud-tx,0),calc(var(--hud-ty,0) + 8px))}to{opacity:1;transform:translate(var(--hud-tx,0),var(--hud-ty,0))}}
.chart-hud .hud-y{
  left:16px;--hud-ty:-50%;
  font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:rgba(244,236,221,.5);
}
.chart-hud .hud-y:nth-child(1){animation-delay:.5s}
.chart-hud .hud-y:nth-child(2){animation-delay:.65s}
.chart-hud .hud-y:nth-child(3){animation-delay:.8s}
.chart-hud .hud-x{
  font-family:var(--mono);font-size:10px;letter-spacing:0.16em;color:rgba(244,236,221,.55);text-transform:uppercase;
  white-space:nowrap;
}
.chart-hud .hud-x-start{left:calc(10% + 12px);top:calc(27% + 17px);animation-delay:.55s}
.chart-hud .hud-x-end{left:94%;top:calc(79% - 32px);--hud-tx:-100%;animation-delay:2.5s}
.chart-hud .hud-dot{--hud-tx:-50%;--hud-ty:-50%;border-radius:50%}
.chart-hud .hud-dot-start{
  left:10%;top:27%;width:9px;height:9px;background:var(--peach);
  box-shadow:0 0 0 4px rgba(232,180,125,.28);animation-delay:.45s;
}
.chart-hud .hud-dot-end{
  left:94%;top:79%;width:13px;height:13px;background:#bfd9b5;
  border:2px solid rgba(255,255,255,.4);box-sizing:border-box;
  box-shadow:0 0 22px 6px rgba(191,217,181,.45);animation-delay:2.3s;
}
.chart-hud .hud-dot-end i{
  position:absolute;inset:-9px;border-radius:50%;border:1.5px solid rgba(191,217,181,.5);
  animation:hudPulse 2.4s ease-in-out infinite 2.9s;opacity:0;
}
@keyframes hudPulse{
  0%{transform:scale(.6);opacity:.7}
  70%{transform:scale(1.6);opacity:0}
  100%{transform:scale(1.6);opacity:0}
}
.chart-hud .hud-chip{
  left:56%;top:43%;--hud-tx:-50%;--hud-ty:-50%;
  padding:8px 18px;border-radius:999px;
  background:rgba(191,217,181,.16);border:1px solid rgba(191,217,181,.6);
  font-family:var(--sans);font-size:16px;font-weight:700;color:#d8ecc6;letter-spacing:-0.01em;
  backdrop-filter:blur(3px);
  filter:drop-shadow(0 0 14px rgba(191,217,181,.35));
  animation-delay:2.1s;
}
.card-hero.alt:hover .hud-chip{background:rgba(191,217,181,.24)}

/* ─── category rows ─── */
.cats{padding:0 14px;display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
.cat-row{
  position:relative;display:flex;align-items:center;justify-content:space-between;
  padding:30px 28px 30px 32px;border-radius:20px;overflow:hidden;min-height:118px;
  background:var(--cream-2);text-decoration:none;color:var(--ink);
}
.cat-row.peach{background:linear-gradient(95deg,var(--peach-soft),var(--cream-2))}
.cat-row.sage{background:var(--sage)}
.cat-row.rose{background:var(--rose)}
.cat-row.sky{background:linear-gradient(95deg,#d6e2ea,#e6ebe4)}
.cat-row.tan{background:linear-gradient(95deg,#e3d0b4,#ecdcc2)}
.cat-row.violet{background:linear-gradient(95deg,#dcd0e6,#ece4dc)}
.cat-row.mint{background:linear-gradient(95deg,#dcebcd,#edeedd)}
.cat-row.silver{background:linear-gradient(95deg, #f5f1e8, #ece5d4)}
.cat-row.silver h4 em{color:#7a7468}
.cat-row h4{font-size:26px;font-weight:600;letter-spacing:-0.02em;color:var(--ink);line-height:1.1;margin:0;flex:1}
.cat-row h4 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--caramel-deep)}
.cat-row.sage h4 em{color:#3d5a3a}
.cat-row.rose h4 em{color:#a04830}
.cat-row.sky h4 em{color:#3a5a78}
.cat-row.tan h4 em{color:#7a4f2e}
.cat-row.violet h4 em{color:#5d3f7a}
.cat-row.mint h4 em{color:#3a5530}
.cat-row .icon-stage{width:88px;height:80px;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:14px}
.cat-row .arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:22px;line-height:1}
.cat-row .floor-sm{position:absolute;bottom:6px;left:50%;width:60px;height:8px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.18),transparent 70%);filter:blur(2px)}
.cat-photo{width:130%;height:130%;object-fit:contain;display:block;position:relative;z-index:2;filter:url(#alphaSoft) drop-shadow(0 6px 6px rgba(0,0,0,.16)) drop-shadow(0 2px 3px rgba(0,0,0,.1))}
.cluster img{filter:url(#alphaSoft) drop-shadow(0 12px 10px rgba(0,0,0,.22)) drop-shadow(0 4px 5px rgba(0,0,0,.14))}

/* ─── 3D orbit ring around cluster pen (split front/back) ─── */
.cluster{perspective:900px;position:relative;width:340px;height:340px;display:flex;align-items:center;justify-content:center;margin:0 auto}
.orbit-3d{
  position:absolute;top:50%;left:50%;width:300px;height:300px;
  transform:translate(-50%,-50%) rotateX(66deg);
  transform-style:preserve-3d;pointer-events:none;
}
.orbit-3d.front{z-index:6;clip-path:inset(50% -10% 0 -10%)}
.orbit-3d.back{z-index:3;clip-path:inset(0 -10% 50% -10%)}
.orbit-3d svg{
  width:100%;height:100%;display:block;overflow:visible;
  transform-origin:center;animation:orbitSpin 18s linear infinite;
}
.orbit-3d.italic svg{animation:orbitSpin 26s linear infinite reverse}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
.orbit-3d text{font-family:var(--mono);font-size:13px;letter-spacing:0.34em;fill:#b5d484;text-transform:uppercase;font-weight:500;filter:drop-shadow(0 0 3px rgba(181,212,132,.4))}
.orbit-3d.italic text{font-family:var(--serif);font-style:italic;font-weight:400;font-size:18px;letter-spacing:0.05em;fill:rgba(204,227,160,.85);text-transform:none}
.orbit-3d .ring-bg{fill:none;stroke:rgba(181,212,132,.22);stroke-width:24}

.cluster .glow-big{position:absolute;inset:6%;background:radial-gradient(closest-side,rgba(180,220,150,.4),transparent 70%);filter:blur(6px);animation:pulse 7s ease-in-out infinite;z-index:1}
.cluster .item-pen{position:absolute;z-index:4;width:220px;height:auto;transform:rotate(-14deg)}

/* ─── big GLP-1 hero (dark forest green) ─── */
.glp-hero{
  margin:8px 0 0;padding:54px 22px 60px;color:#e8f0dc;text-align:center;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 100% 70% at 50% 50%, #5d8a5e 0%, #2d4a30 60%, #0f2014 100%);
}
.glp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(150,200,140,.4),transparent 55%);pointer-events:none}
.glp-hero h2, .glp-hero .wp-block-heading{position:relative;font-family:var(--sans);font-weight:700;font-size:44px;line-height:1;letter-spacing:-0.035em;margin-bottom:24px;z-index:3;color:#e8f0dc}
.glp-hero h2 em, .glp-hero .wp-block-heading em{font-family:var(--serif);font-style:italic;font-weight:400;color:#bfd9b5;display:block}
.glp-stage{position:relative;height:380px;display:flex;align-items:center;justify-content:center;margin:8px 0 28px;z-index:3}
.glp-stage .floor{position:absolute;bottom:14px;left:50%;width:280px;height:30px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.6),transparent 70%);filter:blur(8px)}
.glp-hero .lede{position:relative;font-size:19px;line-height:1.45;max-width:32ch;margin:0 auto 28px;color:#e8f0dc;font-weight:400;letter-spacing:-0.01em;z-index:3}
.glp-hero .lede em{font-family:var(--serif);font-style:italic;font-weight:500;color:#f0f8e4;text-shadow:0 0 18px rgba(191,217,181,.55),0 0 4px rgba(255,255,255,.25)}
.glp-hero .btn-peach{background:#bfd9b5;color:#1a3018}
.glp-hero .btn-peach:hover{background:#a3c498}
.btn-peach{display:inline-flex;align-items:center;gap:10px;padding:18px 44px;background:var(--peach);color:var(--brown-deep);border-radius:999px;font-size:18px;font-weight:600;letter-spacing:-0.01em;transition:transform .3s,background .3s;position:relative;z-index:3;text-decoration:none;border:0;cursor:pointer}
.btn-peach:hover{transform:scale(1.04);background:var(--peach-deep)}

/* ─── carousel lineup ─── */
.lineup{padding:48px 0 56px;background:linear-gradient(180deg,#0f2014 0%,#0a0805 8%,#1a0f06 18%,var(--brown-deep) 30%,var(--brown-deep) 100%);color:var(--cream);position:relative}
.lineup h3, .lineup .wp-block-heading{font-family:var(--sans);font-weight:700;font-size:30px;letter-spacing:-0.03em;padding:0 22px;margin:0 0 24px;line-height:1.1;color:var(--cream)}
.lineup h3 em, .lineup .wp-block-heading em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--peach)}
.carousel{display:flex;gap:14px;overflow-x:auto;padding:0 30px 12px;scroll-snap-type:x mandatory;scroll-padding-left:30px;-webkit-overflow-scrolling:touch}
.carousel::-webkit-scrollbar{height:4px}
.carousel::-webkit-scrollbar-thumb{background:rgba(244,236,221,.3);border-radius:2px}
.pcard{
  flex:0 0 260px;scroll-snap-align:start;border-radius:22px;padding:18px;height:380px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse at 50% 60%,var(--peach-deep) 0%,var(--caramel) 55%,var(--caramel-deep) 100%);
  display:flex;flex-direction:column;justify-content:space-between;color:var(--brown-deep);
  box-shadow:0 24px 40px -10px rgba(0,0,0,.4);
}
.pcard.var-rose{background:radial-gradient(ellipse at 50% 60%,var(--rose) 0%,var(--rose-2) 55%,#8b3e29 100%);color:var(--brown-deep)}
.pcard.var-sage{background:radial-gradient(ellipse at 50% 60%,var(--sage) 0%,#a8b599 55%,#4a5a3a 100%);color:var(--brown-deep)}
.pcard.var-emerald{background:radial-gradient(ellipse at 50% 60%,#bdd6b8 0%,#5d8a64 55%,#1f3d24 100%);color:#f4ecdd}
.pcard.var-violet{background:radial-gradient(ellipse at 50% 60%,#c8b5dc 0%,#7d5fa6 55%,#2d1a48 100%);color:#f4ecdd}
.pcard.var-white{background:radial-gradient(ellipse at 50% 55%,#ffffff 0%,#f4efe6 55%,#d8d2c4 100%);color:#1a1410}
.pcard.var-white .name,.pcard.var-white .price,.pcard.var-white .ingredient{color:#1a1410}
.pcard.var-white .ingredient{color:rgba(26,20,16,.65)}
.pcard.var-white .ribbon{background:#1a1410;color:#f4efe6}
.pcard .ribbon{display:inline-flex;align-items:center;padding:5px 11px;background:var(--brown-deep);color:var(--cream);border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:0.02em;align-self:flex-start}
.pcard .product-stage{position:absolute;inset:60px 0 100px;display:flex;align-items:center;justify-content:center}
.pcard .product-stage .glow-card{position:absolute;inset:14% 18%;background:radial-gradient(closest-side,rgba(255,235,200,.5),transparent 70%);filter:blur(6px)}
.pcard .product-stage .floor-card{position:absolute;bottom:6px;left:50%;width:120px;height:14px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.35),transparent 70%);filter:blur(4px)}
.fda-badge{position:absolute;top:14px;right:14px;width:78px;height:78px;animation:spin 18s linear infinite;z-index:5}
@keyframes spin{to{transform:rotate(360deg)}}
.fda-badge text{font-family:var(--sans);font-size:8.2px;font-weight:600;letter-spacing:0.18em;fill:var(--cream);text-transform:uppercase}
.fda-badge .core{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:-0.01em}
.pcard .info{position:relative;z-index:4}
.pcard .name{font-family:var(--sans);font-size:24px;font-weight:600;letter-spacing:-0.025em;line-height:1.05;margin-bottom:4px;color:#fff}
.pcard .name sup{font-size:12px;font-weight:400}
.pcard .price{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--cream);margin-bottom:2px}
.pcard .price sup{font-size:10px}
.pcard .ingredient{font-size:13.5px;color:rgba(244,236,221,.85);font-weight:400}
.pcard.var-rose .name,.pcard.var-rose .price,.pcard.var-rose .ingredient{color:var(--brown-deep)}
.pcard.var-rose .ingredient{color:rgba(61,40,23,.75)}
.pcard.var-sage .name,.pcard.var-sage .price,.pcard.var-sage .ingredient{color:var(--brown-deep)}
.pcard.var-sage .ingredient{color:rgba(61,40,23,.75)}

.lineup .footnote{padding:24px 22px 0;font-size:12.5px;line-height:1.55;color:rgba(244,236,221,.55);margin:0}
.lineup .footnote sup{font-size:10px}
.lineup .footnote a{color:rgba(244,236,221,.85);text-decoration:underline}
.lineup .read-more{text-align:center;margin-top:18px}
.lineup .read-more a{color:var(--cream);text-decoration:underline;font-size:14px;font-weight:500}

/* ─── SNAC science ─── */
.snac{background:var(--brown-deep);color:var(--cream);padding:32px 22px 48px;position:relative}
.snac-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}
.snac-head h3, .snac-head .wp-block-heading{font-family:var(--sans);font-size:34px;font-weight:700;letter-spacing:-0.03em;line-height:1;color:var(--cream);margin:0}
.snac-head h3 em, .snac-head .wp-block-heading em{display:block;font-family:var(--serif);font-style:italic;font-weight:400;color:var(--peach)}
.snac-head .btn-peach{padding:13px 22px;font-size:14.5px;flex-shrink:0}

/* ─── SNAC mechanism flow chart ─── */
.snac-flow{padding:8px 0 16px}
.flow-steps{list-style:none;display:flex;flex-direction:column;gap:0;padding:0;margin:0;position:relative}
.flow-step{
  display:grid;grid-template-columns:48px 56px 1fr;gap:16px;align-items:center;
  padding:16px 4px;position:relative;
  transition:opacity .8s ease, transform .8s ease;
}
.flow-step::before{
  content:"";position:absolute;left:23px;top:50%;bottom:-50%;width:1.5px;
  background:linear-gradient(180deg, rgba(232,180,125,.35), rgba(232,180,125,.08));
  pointer-events:none;z-index:0;
}
.flow-step:last-child::before{display:none}
.step-num{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(232,180,125,.12);color:var(--peach);
  font-family:var(--mono);font-size:13px;font-weight:600;
  border:1px solid rgba(232,180,125,.35);
  transition:all .6s cubic-bezier(.2,.8,.2,1);
  position:relative;z-index:1;
}
.step-icon{
  width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  border-radius:14px;background:rgba(232,180,125,.05);
  border:1px solid rgba(232,180,125,.12);
  transition:all .6s cubic-bezier(.2,.8,.2,1);
}
.step-icon svg{width:32px;height:32px;display:block;opacity:.7;transition:opacity .6s}
.step-body h4{font-family:var(--sans);font-weight:600;font-size:15.5px;letter-spacing:-0.015em;color:var(--cream);margin:0 0 3px;transition:color .6s}
.step-body h4 em{font-family:var(--serif);font-style:italic;font-weight:400}
.step-body p{font-family:var(--sans);font-size:13px;line-height:1.4;color:rgba(244,236,221,.55);margin:0;transition:color .6s}

.flow-step.is-active .step-num{
  background:var(--peach);color:var(--brown-deep);
  box-shadow:0 0 22px rgba(232,180,125,.55), 0 0 4px rgba(232,180,125,.4);
  transform:scale(1.08);
}
.flow-step.is-active .step-icon{
  background:rgba(232,180,125,.18);
  border-color:rgba(232,180,125,.5);
  transform:scale(1.04);
  box-shadow:0 0 16px rgba(232,180,125,.25);
}
.flow-step.is-active .step-icon svg{opacity:1}
.flow-step.is-active .step-body h4{color:var(--peach)}
.flow-step.is-active .step-body p{color:rgba(244,236,221,.85)}
.flow-step:not(.is-active){opacity:.55}

.step-icon .ico-stroke{stroke:var(--peach);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.step-icon .ico-fill{fill:var(--peach)}
.step-icon .ico-soft{fill:var(--peach);opacity:.25}

.flow-step.is-active::after{
  content:"";position:absolute;left:22px;top:calc(100% - 4px);width:5px;height:5px;border-radius:50%;
  background:var(--peach);box-shadow:0 0 8px var(--peach);
  animation:flowDot 1.4s ease-in-out forwards;
  z-index:2;
}
@keyframes flowDot{
  0%{top:50%;opacity:0}
  20%{opacity:1}
  100%{top:calc(100% + 12px);opacity:0}
}

/* ─── new high dose section ─── */
.hidose{
  background:linear-gradient(180deg,
    var(--brown-deep) 0%,
    #2d3520 22%,
    #2d4a30 45%,
    #1f3d24 72%,
    #0f2014 100%);
  color:#e8f0dc;padding:8px 22px 60px;text-align:center;position:relative;
}
.hidose .chip{display:inline-flex;align-items:center;padding:8px 18px;border:1px solid #bfd9b5;color:#bfd9b5;border-radius:999px;font-size:14px;font-weight:500;margin-bottom:22px}
.hidose h2, .hidose .wp-block-heading{font-family:var(--sans);font-weight:700;font-size:38px;line-height:1.02;letter-spacing:-0.03em;margin:0 auto 24px;max-width:14ch;color:#e8f0dc}
.hidose h2 em, .hidose .wp-block-heading em{font-family:var(--serif);font-style:italic;font-weight:400;color:#bfd9b5}
.hidose .btn-peach{background:#bfd9b5;color:#0f2014}
.hidose .btn-peach:hover{background:#a3c498}
.hidose h2 sup, .hidose .wp-block-heading sup{font-size:.55em;vertical-align:top;font-weight:400}
.pen-stage{position:relative;height:240px;display:flex;align-items:center;justify-content:center;margin:8px 0}
.pen-stage .glow-pen{position:absolute;width:90%;height:80%;background:radial-gradient(ellipse at center, rgba(180,210,150,.22) 0%, rgba(180,210,150,.08) 40%, transparent 75%);filter:blur(10px);animation:pulse 7s ease-in-out infinite}
.dial{margin:22px auto 32px;width:340px;max-width:92%;position:relative}
.dial-label{
  font-family:var(--serif);font-style:italic;font-size:46px;font-weight:400;
  color:#bfd9b5;text-align:center;letter-spacing:-0.025em;line-height:.95;margin-bottom:8px;
  text-shadow:0 0 28px rgba(180,210,150,.4);
}
.dial-label small{
  font-family:var(--sans);font-style:normal;font-size:.36em;font-weight:500;color:#bfd9b5;
  letter-spacing:0;margin-left:6px;vertical-align:0.45em;text-transform:none;opacity:.85;
}
.dial svg{display:block;width:100%;height:auto;overflow:visible;margin-top:-6px}
.dial-range{
  display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;
  letter-spacing:0.22em;text-transform:uppercase;color:rgba(232,240,220,.45);
  margin-top:-14px;padding:0 22px;
}
.hidose-foot{margin-top:28px;font-size:12px;color:rgba(244,236,221,.55);max-width:38ch;margin-left:auto;margin-right:auto;line-height:1.55}
.hidose-foot sup{font-size:10px}
.hidose-foot a{color:rgba(244,236,221,.85);text-decoration:underline}

/* ─── trust strip ─── */
.trust{background:var(--cream);color:var(--ink);padding:44px 22px;text-align:center;border-top:1px solid var(--hair)}
.trust h4, .trust .wp-block-heading{font-family:var(--sans);font-size:30px;font-weight:600;letter-spacing:-0.025em;line-height:1.1;margin:0 0 8px;color:var(--ink)}
.trust h4 em, .trust .wp-block-heading em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--caramel-deep)}
.trust p{font-size:15px;color:var(--ink-2);max-width:36ch;margin:0 auto 24px}
.trust .row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.trust .stat{padding:16px 8px;background:var(--cream-2);border-radius:14px}
.trust .stat b{display:block;font-family:var(--serif);font-style:italic;font-size:30px;font-weight:500;color:var(--caramel-deep);letter-spacing:-0.02em;line-height:1}
.trust .stat span{font-size:12.5px;color:var(--ink-2);font-weight:500;margin-top:6px;display:block}

/* ─── footer ─── */
.sc-footer{background:var(--brown-darkest);color:var(--cream);padding:48px 22px 32px}
.sc-footer .ftop{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:36px}
.sc-footer h5{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--peach);margin:0 0 14px;font-weight:500;font-family:var(--mono)}
.sc-footer ul{list-style:none;padding:0;margin:0}
.sc-footer li{font-size:15px;line-height:2.1;color:rgba(244,236,221,.78)}
.sc-footer li a{color:inherit;text-decoration:none}
.sc-footer li a:hover{color:var(--peach)}
.sc-footer .logo-foot{font-family:var(--serif);font-style:italic;font-size:36px;font-weight:500;letter-spacing:-0.04em;color:var(--cream);margin-bottom:14px}
.sc-footer .logo-foot .dot{color:var(--peach)}
.sc-footer .credo{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.4;color:rgba(244,236,221,.7);margin-bottom:24px;max-width:32ch}
.sc-footer .base{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:24px;border-top:1px solid var(--hair-on-dark);font-size:13px;letter-spacing:-0.005em;color:rgba(244,236,221,.55);font-family:var(--sans);font-weight:400}

/* ─── page template title ─── */
.page-hero{background:var(--cream);padding:48px 22px 36px;text-align:left;border-bottom:1px solid var(--hair)}
.page-hero .wp-block-post-title{font-family:var(--sans);font-weight:700;font-size:48px;line-height:1;letter-spacing:-0.04em;color:var(--ink);margin:0}
.page-hero .wp-block-post-title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--caramel-deep)}
.page-content{padding:32px 22px 64px}
.page-content p{font-size:16px;line-height:1.6;margin:0 0 16px}

/* desktop adapt — center the mobile shell */
@media (min-width:720px){
  body{background:#e6dac4;padding:36px 0}
  .wp-site-blocks{border-radius:36px;overflow:hidden;border:1px solid rgba(0,0,0,.06)}
}

/* ─── prefers-reduced-motion ─── */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.01ms !important;
    transition-duration:0.01ms !important;
  }
}

/* ─── editor visibility overrides ─── */
.editor-styles-wrapper .float,
.editor-styles-wrapper .aura::before,
.editor-styles-wrapper .orbit-3d svg,
.editor-styles-wrapper .cluster .glow-big,
.editor-styles-wrapper .pen-stage .glow-pen,
.editor-styles-wrapper .fda-badge{
  animation:none !important;
}
.editor-styles-wrapper .flow-step:not(.is-active){opacity:1 !important}
.editor-styles-wrapper .wp-site-blocks{max-width:100% !important;box-shadow:none !important}
