/*
Theme Name: SOVENTI dwa
Theme URI: https://staging.soventi.pl/
Description: Motyw stagingowy SOVENTI "dwa" - kierunek A Object Gallery. Zbudowany wg DESIGN.md, motion-storyboard, information-architecture.json i content-map.json z runu Website Factory wf-soventi-dwa-2026-09-26 (bramka 12, implementation_adapter). TEST ONLY - nie jest przeznaczony na produkcje bez przejscia bramek 13-20.
Version: 0.12.0
Author: HERBORG Website Factory
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: soventi-dwa
Tags: woocommerce, e-commerce
*/

/* ==========================================================================
   0. TOKENY  (DESIGN.md: Palette / Typography / Layout / Shape / Motion)
   ========================================================================== */
:root{
  /* paleta */
  --ivory:#F6F3ED;
  --bone:#EAE5DC;
  --paper:#FAF9F5;
  --graphite:#171717;
  --graphite-hover:#2B2B2B;
  --smoked:#303236;
  --silver:#C6C8CC;
  --hairline:#D9D5CC;
  --meta:#5C5A55;          /* metadane: 4.5:1 na ivory */
  --accent:#6B5BA6;        /* akcent kolekcji - max ~10% UI, nigdy pod tekst body */

  /* typografia */
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-serif:Newsreader,"Iowan Old Style",Georgia,"Times New Roman",serif;
  --fs-h1:clamp(40px,7vw,88px);
  --fs-h2:clamp(30px,3.6vw,52px);
  --fs-h3:clamp(20px,2vw,26px);
  --fs-body:clamp(16px,1.05vw,18px);
  --fs-label:12px;
  --lh-body:1.55;

  /* siatka i rytm */
  --maxw:1440px;
  --pad:20px;              /* mobile 360-767 */
  --gutter:16px;
  --sec-y:clamp(48px,7vw,112px);
  --sec-y-tight:clamp(32px,4vw,64px);

  /* kształt */
  --r:4px;
  --r-media:8px;

  /* ruch - jedyne dozwolone wartosci (motion-storyboard 0.) */
  --mo-micro-fast:150ms;
  --mo-micro:200ms;
  --mo-micro-slow:280ms;
  --mo-reveal-fast:240ms;
  --mo-reveal:320ms;
  --mo-reveal-slow:420ms;
  --mo-stagger:40ms;
  --ease-quiet-out:cubic-bezier(.22,.61,.36,1);
  --ease-quiet-inout:cubic-bezier(.4,0,.2,1);
  --ease-drawer:cubic-bezier(.16,1,.3,1);

  --header-h:64px;
}
@media(min-width:768px){:root{--pad:32px;--gutter:20px;--header-h:72px}}
@media(min-width:1024px){:root{--pad:48px;--gutter:24px}}

/* ==========================================================================
   1. RESET / BAZA
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{
  margin:0;background:var(--ivory);color:var(--graphite);
  font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,picture,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.05;text-wrap:balance}
h1{font-size:var(--fs-h1);letter-spacing:-.035em}
h2{font-size:var(--fs-h2);letter-spacing:-.03em}
h3{font-size:var(--fs-h3);letter-spacing:-.015em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--graphite);outline-offset:3px;border-radius:2px}
.sv-serif{font-family:var(--font-serif);font-weight:400;font-style:italic;letter-spacing:-.01em}
.sv-label{font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--meta);font-weight:500}
.sv-meta{color:var(--meta)}
.sv-lead{font-size:clamp(17px,1.4vw,21px);max-width:58ch}
.sv-hairline{height:1px;background:var(--hairline);border:0;margin:0}
.sv-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sv-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--graphite);color:var(--ivory);padding:14px 18px;border-radius:var(--r)}
.sv-skip:focus{left:12px;top:12px}

/* ==========================================================================
   2. UKLAD
   ========================================================================== */
.sv-wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.sv-section{padding-block:var(--sec-y)}
.sv-section--tight{padding-block:var(--sec-y-tight)}
.sv-section--bone{background:var(--bone)}
.sv-section--paper{background:var(--paper)}
.sv-section--smoked{background:var(--smoked);color:var(--paper)}
.sv-section--smoked .sv-label,.sv-section--smoked .sv-meta{color:#B9BBBF}
.sv-section--smoked .sv-lead{color:var(--paper)!important}
.sv-section--smoked .sv-serif{color:var(--paper)!important}
.sv-head{display:grid;gap:14px;margin-bottom:clamp(28px,3.5vw,52px);max-width:72ch}
.sv-grid{display:grid;gap:var(--gutter)}
.sv-grid--2{grid-template-columns:1fr}
.sv-grid--3{grid-template-columns:1fr 1fr}
.sv-grid--4{grid-template-columns:1fr 1fr}
@media(min-width:768px){.sv-grid--2{grid-template-columns:1fr 1fr}.sv-grid--3{grid-template-columns:repeat(3,1fr)}.sv-grid--4{grid-template-columns:repeat(4,1fr)}}

/* ==========================================================================
   3. CTA  (DESIGN.md: min 48px, 52px mobilny zakup, 4px, bez cienia)
   ========================================================================== */
.sv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 24px;border:1px solid var(--graphite);border-radius:var(--r);
  background:var(--graphite);color:var(--ivory);font:inherit;font-weight:500;font-size:16px;
  cursor:pointer;box-shadow:none;text-align:center;
  transition:background-color var(--mo-micro-fast) var(--ease-quiet-inout),border-color var(--mo-micro-fast) var(--ease-quiet-inout);
}
.sv-btn:hover,.sv-btn:active{background:var(--graphite-hover);border-color:var(--graphite-hover)}
.sv-btn[disabled]{opacity:.55;cursor:default}
.sv-btn--buy{min-height:52px;width:100%}
@media(min-width:768px){.sv-btn--buy{width:auto;min-width:260px}}
.sv-btn,.sv-btn:link,.sv-btn:visited{color:var(--ivory)!important}
.sv-btn--ghost,.sv-btn--ghost:link,.sv-btn--ghost:visited{background:transparent;color:var(--graphite)!important;border-color:var(--graphite)}
.sv-section--smoked .sv-btn--ghost,.sv-section--smoked .sv-btn--ghost:link,.sv-section--smoked .sv-btn--ghost:visited{color:var(--paper)!important}
.sv-btn--ghost:hover{background:var(--bone);border-color:var(--graphite)}
.sv-link{
  display:inline-flex;align-items:center;min-height:44px;
  border-bottom:1px solid var(--silver);
  transition:border-color var(--mo-micro-fast) var(--ease-quiet-inout);
}
.sv-link:hover{border-bottom-color:var(--graphite)}
.sv-cta-row{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}

/* ==========================================================================
   4. HEADER / NAWIGACJA
   ========================================================================== */
.sv-header{
  position:sticky;top:0;z-index:60;background:var(--ivory);
  border-bottom:1px solid transparent;
  transition:border-color var(--mo-micro-fast) var(--ease-quiet-inout);
}
.sv-header.is-scrolled{border-bottom-color:var(--hairline)}
.sv-header__bar{display:flex;align-items:center;gap:20px;height:var(--header-h);max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.sv-logo{font-size:19px;font-weight:600;letter-spacing:.16em;display:inline-flex;align-items:center;min-height:44px}
.sv-nav{display:none;margin-left:auto;gap:26px;align-items:center}
@media(min-width:1024px){.sv-nav{display:flex}}
.sv-nav a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid transparent;transition:border-color var(--mo-micro-fast) var(--ease-quiet-inout)}
.sv-nav a:hover,.sv-nav a[aria-current]{border-bottom-color:var(--graphite)}
.sv-utils{display:flex;align-items:center;gap:6px;margin-left:auto}
@media(min-width:1024px){.sv-utils{margin-left:26px}}
.sv-iconbtn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-width:44px;min-height:44px;padding:0 10px;border:0;background:none;color:inherit;
  font:inherit;font-size:14px;cursor:pointer;border-radius:var(--r);
  transition:background-color var(--mo-micro-fast) var(--ease-quiet-inout);
}
.sv-iconbtn:hover{background:var(--bone)}
.sv-cart-count{min-width:20px;font-variant-numeric:tabular-nums;font-size:13px}
.sv-burger{display:inline-flex}
@media(min-width:1024px){.sv-burger{display:none}}

/* panel mobilny */
.sv-mobilenav{position:fixed;inset:0;z-index:90;visibility:hidden}
.sv-mobilenav[aria-hidden="false"]{visibility:visible}
.sv-mobilenav__backdrop{position:absolute;inset:0;background:rgba(23,23,23,.36);opacity:0;transition:opacity var(--mo-micro) var(--ease-drawer)}
.sv-mobilenav__panel{
  position:absolute;inset:0 0 0 auto;width:min(420px,88vw);background:var(--ivory);
  padding:20px var(--pad) 32px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;
  transform:translateX(100%);transition:transform var(--mo-reveal-fast) var(--ease-drawer);
}
.sv-mobilenav[aria-hidden="false"] .sv-mobilenav__backdrop{opacity:1}
.sv-mobilenav[aria-hidden="false"] .sv-mobilenav__panel{transform:translateX(0)}
.sv-mobilenav__panel a{font-size:20px;min-height:52px;display:flex;align-items:center;border-bottom:1px solid var(--hairline)}
.sv-mobilenav__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}

/* ==========================================================================
   5. HOME - HeroProduct
   ========================================================================== */
.sv-hero{background:var(--ivory);padding-block:clamp(24px,3vw,44px) var(--sec-y)}
.sv-hero__inner{display:grid;gap:clamp(24px,3vw,48px);align-items:center}
@media(min-width:1024px){.sv-hero__inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}
.sv-hero__copy{display:grid;gap:22px;max-width:56ch}
.sv-hero__stage{
  background:var(--paper);border-radius:var(--r-media);
  display:grid;place-items:center;padding:clamp(18px,3vw,40px);
  min-height:clamp(320px,52vh,560px);
}
@media(min-width:1024px){.sv-hero__stage{min-height:clamp(380px,46vh,620px)}}
.sv-hero__stage img{width:auto;max-height:clamp(260px,46vh,520px);object-fit:contain}
.sv-hero__ground{width:min(62%,340px);height:1px;background:linear-gradient(90deg,transparent,var(--silver),transparent);margin-top:-6px}

/* ProofLine */
.sv-proof{display:grid;gap:0;border-top:1px solid var(--hairline)}
.sv-proof li{padding:18px 0;border-bottom:1px solid var(--hairline);display:flex;gap:14px;align-items:baseline}
@media(min-width:768px){
  .sv-proof{grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--hairline)}
  .sv-proof li{border-bottom:0;padding:22px 24px 22px 0}
  .sv-proof li+li{border-left:1px solid var(--hairline);padding-left:24px}
}
.sv-proof__idx{font-size:var(--fs-label);color:var(--meta);font-variant-numeric:tabular-nums}

/* Anatomy / editorial figury */
.sv-figure{display:grid;gap:14px}
.sv-figure__media{background:var(--paper);border-radius:var(--r-media);overflow:hidden;aspect-ratio:4/5;display:grid;place-items:center}
.sv-figure__media img{width:100%;height:100%;object-fit:contain}
.sv-figure--wide .sv-figure__media{aspect-ratio:3/2}
.sv-figure figcaption{font-size:15px;color:var(--meta)}

/* Karta produktu */
.sv-card{display:flex;flex-direction:column;gap:12px;background:transparent;border-radius:var(--r)}
.sv-card__media{
  position:relative;background:var(--paper);border-radius:var(--r-media);overflow:hidden;aspect-ratio:1;
}
.sv-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:8%}
.sv-card__media img+img{opacity:0;transition:opacity var(--mo-micro) var(--ease-quiet-inout)}
@media(hover:hover) and (pointer:fine){
  .sv-card:hover .sv-card__media img+img,.sv-card:focus-within .sv-card__media img+img{opacity:1}
}
.sv-card__body{display:grid;gap:4px}
.sv-card__title{font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.25}
.sv-card__price{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.sv-card__price .woocommerce-Price-amount{font-weight:600}
.sv-card a.sv-card__hit{display:block;border-radius:var(--r-media)}
.sv-card:active .sv-card__media{background:var(--bone)}

/* Statement / final CTA */
.sv-statement{max-width:24ch;font-size:clamp(30px,4.4vw,64px);letter-spacing:-.035em;line-height:1.02}
.sv-final{display:grid;gap:24px;justify-items:start}

/* ==========================================================================
   6. PLP
   ========================================================================== */
.sv-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sv-chip{
  display:inline-flex;align-items:center;min-height:44px;padding:0 16px;
  border:1px solid var(--hairline);border-radius:var(--r);background:var(--paper);
  font:inherit;font-size:14px;cursor:pointer;color:var(--graphite);
  transition:background-color var(--mo-micro-fast) var(--ease-quiet-inout),border-color var(--mo-micro-fast) var(--ease-quiet-inout);
}
.sv-chip:hover{border-color:var(--silver)}
.sv-chip[aria-pressed="true"]{background:var(--graphite);border-color:var(--graphite);color:var(--ivory)}
.sv-plp__count{font-size:14px;color:var(--meta);margin-top:14px}
.sv-plp__grid{display:grid;gap:var(--gutter);grid-template-columns:1fr 1fr}
@media(min-width:1024px){.sv-plp__grid{grid-template-columns:repeat(3,1fr)}}
.sv-plp__grid>li[hidden]{display:none}
.sv-compare{display:grid;gap:var(--gutter)}
@media(min-width:768px){.sv-compare{grid-template-columns:1fr 1fr}}
.sv-compare__col{background:var(--paper);border-radius:var(--r);padding:clamp(20px,2.4vw,32px);display:grid;gap:10px;align-content:start}
.sv-sticky-tools{
  position:sticky;top:var(--header-h);z-index:30;background:var(--ivory);
  padding-block:12px;border-bottom:1px solid var(--hairline);
}

/* FAQ / akordeon */
.sv-acc{border-top:1px solid var(--hairline)}
.sv-acc__item{border-bottom:1px solid var(--hairline)}
.sv-acc__btn{
  width:100%;display:flex;gap:16px;align-items:center;justify-content:space-between;
  min-height:56px;padding:14px 0;background:none;border:0;color:inherit;font:inherit;
  font-size:17px;text-align:left;cursor:pointer;
}
.sv-acc__sign{flex:0 0 auto;width:20px;text-align:center;font-variant-numeric:tabular-nums;color:var(--meta)}
.sv-acc__panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--mo-micro-slow) var(--ease-quiet-inout),opacity var(--mo-micro-slow) var(--ease-quiet-inout)}
.sv-acc__panel>div{overflow:hidden}
.sv-acc__item.is-open .sv-acc__panel{grid-template-rows:1fr;opacity:1}
.sv-acc__item.is-open .sv-acc__panel>div{padding-bottom:18px}

/* ==========================================================================
   7. PDP
   ========================================================================== */
.sv-pdp{padding-block:clamp(20px,2.5vw,36px) var(--sec-y)}
.sv-pdp__top{display:grid;gap:clamp(24px,3vw,48px)}
@media(min-width:1024px){.sv-pdp__top{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:start}}
.sv-gallery{display:grid;gap:12px}
.sv-gallery__main{background:var(--paper);border-radius:var(--r-media);aspect-ratio:1;display:grid;place-items:center;overflow:hidden;position:relative}
.sv-gallery__main img{width:100%;height:100%;object-fit:contain;padding:6%;opacity:0;transition:opacity var(--mo-micro) var(--ease-quiet-inout)}
.sv-gallery__main img.is-active{opacity:1;position:relative;z-index:1}
.sv-gallery__main img:not(.is-active){position:absolute;inset:0}
.sv-gallery__thumbs{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.sv-gallery__thumbs button{
  flex:0 0 auto;width:72px;height:72px;padding:6px;background:var(--paper);
  border:1px solid transparent;border-radius:var(--r);cursor:pointer;scroll-snap-align:start;
  transition:border-color var(--mo-micro-fast) var(--ease-quiet-inout);
}
.sv-gallery__thumbs button[aria-current="true"]{border-color:var(--graphite)}
.sv-gallery__thumbs img{width:100%;height:100%;object-fit:contain}

.sv-buy{background:var(--paper);border-radius:var(--r);padding:clamp(20px,2.4vw,32px);display:grid;gap:18px;align-content:start}
@media(min-width:1024px){.sv-buy{position:sticky;top:calc(var(--header-h) + 20px)}}
.sv-buy__price{font-size:clamp(24px,2.4vw,32px);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.sv-buy__price small{display:block;font-size:13px;font-weight:400;color:var(--meta);letter-spacing:0;margin-top:4px}
.sv-buy__row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.sv-stepper{display:inline-flex;align-items:center;border:1px solid var(--hairline);border-radius:var(--r);background:var(--ivory)}
.sv-stepper button{width:48px;height:48px;border:0;background:none;font:inherit;font-size:19px;cursor:pointer;color:inherit;transition:background-color var(--mo-micro-fast) var(--ease-quiet-inout)}
.sv-stepper button:hover{background:var(--bone)}
.sv-stepper input{width:52px;height:48px;border:0;background:none;text-align:center;font:inherit;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.sv-stepper input::-webkit-outer-spin-button,.sv-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sv-stock{display:flex;gap:8px;align-items:center;font-size:14px}
.sv-stock__dot{width:7px;height:7px;border-radius:50%;background:#3E7A4E}
.sv-stock--out .sv-stock__dot{background:var(--silver)}
.sv-atc-progress{height:2px;background:var(--hairline);overflow:hidden}
.sv-atc-progress span{display:block;height:100%;width:0;background:var(--graphite);transition:width var(--mo-micro-slow) linear}
.sv-facts{display:grid;gap:0;border-top:1px solid var(--hairline)}
.sv-facts div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--hairline);font-size:15px}
.sv-facts dt{color:var(--meta)}
.sv-facts dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.sv-datagap{color:var(--meta);font-style:italic}

/* signature: ConstructionReveal (jedyna sekwencja w serwisie) */
.sv-signature{background:var(--bone)}
.sv-signature__steps{display:grid;gap:var(--gutter)}
.sv-signature__step{display:grid;gap:12px}
.sv-signature__media{background:var(--paper);border-radius:var(--r-media);aspect-ratio:1;display:grid;place-items:center;overflow:hidden}
.sv-signature__media img{width:100%;height:100%;object-fit:contain;padding:6%}
.sv-signature__ticks{display:none}
@media(min-width:768px) and (prefers-reduced-motion:no-preference){
  .sv-signature[data-signature="1"] .sv-signature__scroller{position:relative}
  .sv-signature[data-signature="1"] .sv-signature__viewport{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,3vw,48px);align-items:center;padding-block:24px}
  .sv-signature[data-signature="1"] .sv-signature__steps{display:block;position:relative;min-height:100%}
  .sv-signature[data-signature="1"] .sv-signature__step{position:absolute;inset:0;opacity:0;transition:opacity var(--mo-micro) linear;grid-template-rows:1fr auto}
  .sv-signature[data-signature="1"] .sv-signature__step.is-current{opacity:1}
  .sv-signature[data-signature="1"] .sv-signature__media{aspect-ratio:auto;height:100%}
  .sv-signature[data-signature="1"] .sv-signature__ticks{display:flex;gap:8px}
  .sv-signature[data-signature="1"] .sv-signature__spacer{display:block}
}
.sv-signature__spacer{display:none}
.sv-signature__tick{width:34px;height:2px;background:var(--silver);transition:background-color var(--mo-micro-fast) var(--ease-quiet-inout)}
.sv-signature__tick.is-on{background:var(--graphite)}

/* sticky ATC mobile */
.sv-sticky-atc{
  position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--ivory);
  border-top:1px solid var(--hairline);padding:10px var(--pad);
  display:flex;gap:14px;align-items:center;justify-content:space-between;
  opacity:0;transform:translateY(8px);pointer-events:none;
  transition:opacity var(--mo-micro) var(--ease-quiet-out),transform var(--mo-micro) var(--ease-quiet-out);
}
.sv-sticky-atc.is-visible{opacity:1;transform:none;pointer-events:auto}
.sv-sticky-atc.is-suppressed{opacity:0;pointer-events:none}
@media(min-width:1024px){.sv-sticky-atc{display:none}}
.sv-sticky-atc__price{font-weight:600;font-variant-numeric:tabular-nums}

/* ==========================================================================
   8. CART DRAWER
   ========================================================================== */
.sv-drawer{position:fixed;inset:0;z-index:100;visibility:hidden}
.sv-drawer[aria-hidden="false"]{visibility:visible}
.sv-drawer__backdrop{position:absolute;inset:0;background:rgba(23,23,23,.36);opacity:0;transition:opacity var(--mo-micro) var(--ease-drawer)}
.sv-drawer__panel{
  position:absolute;inset:0 0 0 auto;width:min(460px,92vw);background:var(--paper);
  display:flex;flex-direction:column;transform:translateX(100%);
  transition:transform var(--mo-reveal-fast) var(--ease-drawer);
}
.sv-drawer[aria-hidden="false"] .sv-drawer__backdrop{opacity:1}
.sv-drawer[aria-hidden="false"] .sv-drawer__panel{transform:translateX(0)}
.sv-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px var(--pad);border-bottom:1px solid var(--hairline)}
.sv-drawer__body{flex:1 1 auto;overflow-y:auto;padding:4px var(--pad)}
.sv-drawer__foot{padding:18px var(--pad);border-top:1px solid var(--hairline);display:grid;gap:14px}
.sv-drawer__line{display:flex;justify-content:space-between;gap:16px;font-variant-numeric:tabular-nums}
.sv-drawer__line strong{font-weight:600}
.sv-ci{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--hairline);transition:opacity var(--mo-micro) var(--ease-quiet-inout),background-color var(--mo-micro-fast) var(--ease-quiet-inout)}
.sv-ci.is-removing{opacity:0}
.sv-ci__media{background:var(--ivory);border-radius:var(--r);aspect-ratio:1;display:grid;place-items:center;overflow:hidden}
.sv-ci__media img{width:100%;height:100%;object-fit:contain;padding:6%}
.sv-ci__main{display:grid;gap:8px;align-content:start}
.sv-ci__title{font-size:15px;line-height:1.3}
.sv-ci__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sv-ci__remove{min-height:44px;background:none;border:0;padding:0;color:var(--meta);font:inherit;font-size:13px;cursor:pointer;border-bottom:1px solid var(--silver)}
.sv-ci__remove:hover{color:var(--graphite);border-bottom-color:var(--graphite)}
.sv-crosssell{padding:16px 0;border-top:1px solid var(--hairline);opacity:0;transition:opacity var(--mo-micro) var(--ease-quiet-out)}
.sv-crosssell.is-in{opacity:1}
.sv-drawer__empty{padding:32px 0;display:grid;gap:18px;justify-items:start}

/* ==========================================================================
   9. WOO: koszyk, checkout, thank-you (bloki Woo + klasyczne)
   ========================================================================== */
.sv-woo{padding-block:clamp(24px,3vw,48px) var(--sec-y)}
.sv-woo .woocommerce{max-width:100%}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{
  background:var(--paper)!important;border:1px solid var(--hairline)!important;border-radius:var(--r)!important;
  color:var(--graphite)!important;padding:14px 16px!important;list-style:none!important;
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{content:none!important}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.wc-block-components-button,.wc-block-components-checkout-place-order-button{
  background:var(--graphite)!important;color:var(--ivory)!important;border:1px solid var(--graphite)!important;
  border-radius:var(--r)!important;min-height:48px!important;box-shadow:none!important;
  font-weight:500!important;padding:0 24px!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.wc-block-components-button:hover{background:var(--graphite-hover)!important}
.wc-block-components-text-input input,.wc-block-components-textarea,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.sv-field input,.sv-field select{
  border:1px solid var(--hairline)!important;border-radius:var(--r)!important;background:var(--ivory)!important;
  min-height:48px!important;font-family:var(--font-sans)!important;
  transition:border-color var(--mo-micro-fast) var(--ease-quiet-inout);
}
.wc-block-components-text-input.is-active input:focus,.sv-field input:focus{border-color:var(--graphite)!important}
.wc-block-components-totals-item,.wc-block-components-totals-footer-item{font-variant-numeric:tabular-nums}
.wc-block-checkout__actions_row{gap:16px}
/* checkout: zero rozpraszajacej nawigacji (DESIGN.md Commerce) */
body.sv-reduced-chrome .sv-nav,body.sv-reduced-chrome .sv-burger{display:none}
.sv-checkout-legal{margin-top:var(--sec-y-tight);border-top:1px solid var(--hairline);padding-top:20px;font-size:14px;color:var(--meta);display:grid;gap:8px}
.sv-thankyou{display:grid;gap:var(--sec-y-tight)}
.sv-thankyou__summary{background:var(--paper);border-radius:var(--r);padding:clamp(20px,2.4vw,32px)}

/* ==========================================================================
   10. FOOTER
   ========================================================================== */
.sv-footer{background:var(--bone);padding-block:var(--sec-y-tight) 28px;margin-top:auto}
.sv-footer__grid{display:grid;gap:32px}
@media(min-width:768px){.sv-footer__grid{grid-template-columns:1.4fr repeat(3,1fr)}}
.sv-footer h2{font-size:17px;font-weight:600;letter-spacing:.02em;margin-bottom:10px}
.sv-footer a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--meta);border-bottom:1px solid transparent}
.sv-footer a:hover{color:var(--graphite);border-bottom-color:var(--graphite)}
.sv-footer__legal{margin-top:28px;padding-top:18px;border-top:1px solid var(--hairline);font-size:13px;color:var(--meta);display:grid;gap:6px}
.sv-site{display:flex;flex-direction:column;min-height:100vh}

/* ==========================================================================
   11. PAID LANDING
   ========================================================================== */
.sv-lp-atf{padding-block:clamp(24px,3vw,48px)}
.sv-lp-atf__inner{display:grid;gap:clamp(20px,3vw,40px);align-items:center}
@media(min-width:768px){.sv-lp-atf__inner{grid-template-columns:1fr 1fr}}
.sv-lp-atf h1{font-size:clamp(32px,4.6vw,60px)}
.sv-lp-price{font-size:clamp(22px,2.2vw,30px);font-weight:600;font-variant-numeric:tabular-nums}
.sv-lp-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--ivory);border-top:1px solid var(--hairline);
  padding:10px var(--pad);display:flex;gap:14px;align-items:center;justify-content:space-between;
  opacity:0;transform:translateY(8px);pointer-events:none;
  transition:opacity var(--mo-micro) var(--ease-quiet-out),transform var(--mo-micro) var(--ease-quiet-out);
}
.sv-lp-sticky.is-visible{opacity:1;transform:none;pointer-events:auto}
@media(min-width:768px){.sv-lp-sticky{display:none}}

/* ==========================================================================
   12. JOURNAL / DNI
   ========================================================================== */
.sv-days{display:grid;gap:var(--gutter)}
@media(min-width:768px){.sv-days{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.sv-days{grid-template-columns:repeat(3,1fr)}}
.sv-day{background:var(--paper);border-radius:var(--r);padding:clamp(18px,2vw,26px);display:grid;gap:8px;align-content:start}
.sv-day__n{font-family:var(--font-serif);font-size:30px;line-height:1}

/* ==========================================================================
   13. RUCH  (motion-storyboard: reveal na IntersectionObserver)
   ========================================================================== */
[data-reveal]{opacity:1;transform:none}
[data-reveal-img]{opacity:1}
html.sv-reveal-active [data-reveal]{opacity:0;transform:translateY(10px);will-change:opacity,transform}
@media(min-width:1024px){html.sv-reveal-active [data-reveal]{transform:translateY(14px)}}
html.sv-reveal-active [data-reveal].is-in{opacity:1;transform:none;transition:opacity var(--mo-reveal) var(--ease-quiet-out),transform var(--mo-reveal) var(--ease-quiet-out)}
html.sv-reveal-active [data-reveal="fast"].is-in{transition-duration:var(--mo-reveal-fast)}
html.sv-reveal-active [data-reveal="slow"].is-in{transition-duration:var(--mo-reveal-slow)}
html.sv-reveal-active [data-reveal-img]{opacity:0}
html.sv-reveal-active [data-reveal-img].is-in{opacity:1;transition:opacity var(--mo-micro) var(--ease-quiet-out)}
html.no-js [data-reveal],html.no-js [data-reveal-img]{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal],[data-reveal-img]{opacity:1!important;transform:none!important}
  .sv-signature__step{opacity:1!important;position:static!important}
}

/* ==========================================================================
   14. DOMKNIECIA
   ========================================================================== */
/* Sticky paski nie zaslaniaja dialogu ani klawiatury ekranowej (WCAG 2.4.11). */
body.sv-layer-open .sv-sticky-atc,
body.sv-layer-open .sv-lp-sticky{opacity:0;pointer-events:none}

/* Tresc redakcyjna z edytora: ten sam rytm co reszta motywu. */
.sv-prose h2{font-size:var(--fs-h3);margin:1.6em 0 .5em}
.sv-prose h3{font-size:19px;margin:1.4em 0 .4em}
.sv-prose ul,.sv-prose ol{margin:0 0 1em 1.2em;list-style:disc}
.sv-prose ol{list-style:decimal}
.sv-prose li{margin-bottom:.4em}
.sv-prose a{border-bottom:1px solid var(--silver)}
.sv-prose a:hover{border-bottom-color:var(--graphite)}
.sv-prose table{width:100%;border-collapse:collapse}
.sv-prose th,.sv-prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--hairline)}

/* Woo: siatka natywna tylko jako bezpiecznik, gdy ktos wyswietli shortcode produktow. */
.woocommerce ul.products{display:grid;gap:var(--gutter);grid-template-columns:1fr 1fr;margin:0;padding:0}
@media(min-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
.woocommerce ul.products li.product{float:none;width:auto;margin:0;background:transparent}
.woocommerce ul.products li.product img{border-radius:var(--r-media);background:var(--paper)}
.woocommerce ul.products li.product .price{color:var(--graphite);font-weight:600}
.woocommerce .woocommerce-breadcrumb{display:none}

/* Cookie Notice — aktywna zgoda + wyglad zgodny z SOVENTI. */
#cookie-notice{
  background:var(--ivory)!important;color:var(--graphite)!important;
  border-top:1px solid var(--hairline);box-shadow:0 -10px 34px rgba(23,23,23,.08);
  font-family:var(--font-sans)!important;
}
#cookie-notice .cookie-notice-container{max-width:var(--maxw);margin-inline:auto;padding:18px var(--pad)}
#cookie-notice #cn-notice-text{font-size:14px;line-height:1.45}
#cookie-notice #cn-notice-text a{color:var(--graphite)!important;text-decoration:underline;text-underline-offset:3px}
#cookie-notice .sv-cookie-btn{
  min-height:44px;padding:0 18px!important;margin:6px 4px!important;border:1px solid var(--graphite)!important;
  border-radius:var(--r)!important;background:var(--graphite)!important;color:var(--ivory)!important;
  font:inherit!important;font-size:14px!important;font-weight:500!important;
}
#cookie-notice #cn-refuse-cookie.sv-cookie-btn{background:transparent!important;color:var(--graphite)!important}
#cookie-notice .sv-cookie-btn:focus-visible{outline:2px solid var(--graphite)!important;outline-offset:3px}
@media(max-width:480px){#cookie-notice .cookie-notice-container{padding:16px var(--pad)}#cookie-notice .sv-cookie-btn{width:calc(50% - 12px)}}

/* Gate 15: mobilne cele dotykowe. Legacy komponenty dostaja tylko bezpieczne nadpisania w motywie dwa. */
/* Motyw dwa ma wlasny drawer i sticky ATC: legacy duplikaty sa wylaczone. */
#soventi-cd,.soventi-sticky-cta{display:none!important}
.sv-card__title a{min-height:44px;display:inline-flex;align-items:center}
nav[aria-label="Okruszki"] a{min-height:44px;display:inline-flex;align-items:center}
.sv-footer__legal a{min-height:44px!important;display:inline-flex!important;align-items:center}
.soventi-color-dots{gap:8px!important}
.soventi-color-dot{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
.soventi-cd__close,.soventi-cd__qty-btn,.soventi-cd__remove{min-width:44px!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.soventi-cd__view{min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}
