/* Monti Factory — system wizualny przeniesiony 1:1 z makiety projektowej.
   Zrodlo: montifactory.html. Nie edytowac recznie bez aktualizacji makiety. */


:root{
  color-scheme:light;
  --paper:#FFFFFF;
  --ink:#16181A;
  --accent:#8B6126;
  --accent-2:#6B4A1C;
  --on-accent:#FFFFFF;
  --warm:#6B6B66;
  --line:#E3E2DF;
  --surface:#FFFFFF;
  --surface-2:#F5F5F3;
  --ok:#1F4D3D;
  --on-img-acc:#EBD3A8;
  --alert:#8A3324;
  --proto:#16181A;
  --proto-ink:#FFFFFF;
  --shadow:0 1px 0 var(--line);
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --display:"Archivo","Manrope",system-ui,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --gut:clamp(16px,3.2vw,44px);
  --hdr-h:118px;
}


/* ---------- warianty akcentu (biel zostaje, zmienia sie kolor marki) ---------- */
/* brazowy z loga, kontrast na bieli 5,5:1 (AA dla tekstu, AA dla bialego napisu na przycisku) */
html[data-akcent="braz"]{ --accent:#8B6126; --accent-2:#6B4A1C; --on-img-acc:#EBD3A8; }
html[data-akcent="braz"] .band-dark{ --accent:#D9B173; --accent-2:#E7C793; --on-accent:#1A1206; }
/* braz przyciemniony, ten sam odcien rodziny, kontrast 8,0:1 */
html[data-akcent="braz-mocny"]{ --accent:#6B4A1C; --accent-2:#523714; --on-img-acc:#EBD3A8; }
html[data-akcent="braz-mocny"] .band-dark{ --accent:#D9B173; --accent-2:#E7C793; --on-accent:#1A1206; }
/* --ok zostaje zielone niezaleznie od akcentu, bo to semantyka "zmiesci sie / dostepne" */
html[data-akcent]{ --ok:#1F4D3D; }
html[data-akcent] .band-dark{ --ok:#8FC9AA; }

/* przelacznik w pasku makiety */




@media(max-width:720px){.proto .akc{margin-left:0;width:100%;margin-top:6px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  padding-top:34px;
}
img{max-width:100%;display:block;height:auto}
button, input, select, textarea, a{font:inherit;color:inherit}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.028em;line-height:1.04;margin:0}
h1{font-size:clamp(30px,5.2vw,62px)}
h2{font-size:clamp(23px,3.1vw,38px)}
h3{font-size:clamp(18px,1.7vw,23px);letter-spacing:-.02em}
h4{font-size:15px;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 14px}
ul{margin:0 0 14px;padding-left:20px}
li{margin-bottom:6px}
.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.lead{font-size:clamp(16px,1.35vw,19px);color:var(--warm);max-width:62ch}
.muted{color:var(--warm)}
.small{font-size:13px;line-height:1.55}
.tiny{font-size:11.5px;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;font-family:var(--mono)}
.center{text-align:center}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--on-accent);padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:40px}

/* ---------- layout ---------- */
.wrap{padding-inline:var(--gut)}
.sec{padding-block:clamp(34px,4.4vw,68px);border-top:1px solid var(--line)}
.sec.flush{border-top:0}
.sec-head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline;justify-content:space-between;margin-bottom:clamp(18px,2vw,30px)}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* ---------- proto bar ---------- */




/* ---------- header ---------- */
.hdr{position:sticky;top:34px;z-index:100;background:var(--paper);border-bottom:1px solid var(--line)}
.hdr-top{display:flex;align-items:center;gap:18px;padding:14px var(--gut);border-bottom:1px solid var(--line)}
.brand{font-family:var(--display);font-weight:800;letter-spacing:-.04em;font-size:20px;text-decoration:none;line-height:1;white-space:nowrap;background:none;border:0;padding:0;cursor:pointer}
.brand em{font-style:normal;color:var(--accent)}
.brand small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--warm);font-weight:400;margin-top:3px}
.hdr-spacer{flex:1}
.hdr-note{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--warm);display:none}
@media(min-width:1080px){.hdr-note{display:block}}
.hdr-acts{display:flex;align-items:center;gap:6px}
.iconbtn{
  display:inline-flex;align-items:center;gap:7px;background:none;border:1px solid transparent;
  padding:8px 10px;cursor:pointer;font-size:13px;font-weight:600;position:relative;
}
.iconbtn:hover{border-color:var(--line);background:var(--surface)}
.iconbtn svg{width:19px;height:19px;flex:none}
.iconbtn .lbl{display:none}
@media(min-width:760px){.iconbtn .lbl{display:inline}}
.badge{
  font-family:var(--mono);font-size:10.5px;min-width:18px;height:18px;padding:0 4px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent);color:var(--on-accent);border-radius:9px;font-variant-numeric:tabular-nums;
}
.badge[data-zero="1"]{background:var(--line);color:var(--warm)}
.nav{display:none;gap:2px;padding:0 var(--gut);overflow-x:auto}
@media(min-width:1000px){.nav{display:flex}}
.nav button, .nav a{
  background:none;border:0;border-bottom:2px solid transparent;padding:11px 13px;cursor:pointer;
  font-size:13.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;color:var(--ink)
}
.nav button:hover, .nav a:hover{color:var(--accent)}
.nav button[aria-current="page"], .nav a[aria-current="page"]{border-bottom-color:var(--accent);color:var(--accent)}
.burger{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);padding:8px 12px;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap}
@media(max-width:560px){
  .hdr-top{gap:8px;padding-left:16px;padding-right:16px}
  .brand{font-size:16px}
  .brand small{font-size:8px;letter-spacing:.16em;margin-top:2px}
  .iconbtn{padding:6px 5px;gap:5px}
  .iconbtn svg{width:18px;height:18px}
  .burger{padding:7px 9px;font-size:12.5px}
  .hdr-acts{gap:2px}
}
@media(max-width:360px){
  .brand small{display:none}
  .brand{font-size:15px}
  .iconbtn{padding:6px 3px;gap:4px}
  .iconbtn .badge{min-width:16px;height:16px;font-size:9.5px}
  .burger{padding:6px 7px;font-size:12px}
  .hdr-top{gap:6px;padding-left:12px;padding-right:12px}
}
@media(min-width:1000px){.burger{display:none}}
.mnav{display:none;border-top:1px solid var(--line);padding:8px var(--gut) 16px}
.mnav.open{display:block}
@media(min-width:1000px){.mnav.open{display:none}}
.mnav button, .mnav a{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 2px;font-size:15px;font-weight:600;cursor:pointer}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);
  padding:14px 22px;font-size:15px;font-weight:700;letter-spacing:-.01em;cursor:pointer;
  text-decoration:none;transition:background .15s ease;
}
.btn:hover{background:var(--accent-2);border-color:var(--accent-2)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.line{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn.line:hover{background:var(--accent);color:var(--on-accent)}
.btn.block{width:100%}
.btn.sm{padding:9px 14px;font-size:13.5px}
.btn.big{padding:17px 26px;font-size:16px}
.btn .price-in-btn{margin-left:auto;font-family:var(--mono);font-weight:500}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.linkbtn{background:none;border:0;padding:0;cursor:pointer;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.linkbtn:hover{text-decoration-thickness:2px}

/* ---------- tags ---------- */
.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:4px 8px;color:var(--warm);background:var(--surface)}
.tag.acc{border-color:var(--accent);color:var(--accent)}
.tag.ph{border-style:dashed;border-color:var(--alert);color:var(--alert)}
.ph-note{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--alert);border-left:2px solid var(--alert);padding-left:10px;margin:10px 0}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-bottom:1px solid var(--line)}
@media(min-width:940px){.hero{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr)}}
.hero-txt{padding:clamp(26px,4vw,64px) var(--gut);display:flex;flex-direction:column;justify-content:center}
.hero-txt h1{margin-bottom:18px;max-width:16ch}
.hero-txt .lead{margin-bottom:24px}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.hero-media{position:relative;background:var(--surface-2);min-height:280px}
.hero-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
@media(min-width:940px){.hero-media img{aspect-ratio:auto;position:absolute;inset:0}}
.hero-cap{position:absolute;left:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);border-right:1px solid var(--line);padding:9px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;max-width:86%}
.pricecut{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;font-family:var(--mono);font-size:13px;border-top:1px solid var(--line);padding-top:16px}
.pricecut .pricecut-note{flex:1 1 100%;color:var(--warm);font-family:var(--sans);font-size:13px;line-height:1.5;max-width:60ch}
.pricecut b{font-size:21px;color:var(--accent)}

/* ---------- promise strip ---------- */
.promise{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
@media(min-width:900px){.promise{grid-template-columns:repeat(4,minmax(0,1fr))}}
.promise div{background:var(--paper);padding:18px var(--gut)}
.promise .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.promise .v{font-size:14px;line-height:1.45;font-weight:600}
.promise .s{font-size:12.5px;color:var(--warm);margin-top:4px}

/* ---------- product grid ---------- */
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line)}
@media(min-width:900px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pgrid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1200px){.pgrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pcard{background:var(--paper);display:flex;flex-direction:column;padding:0 0 16px;min-width:0}
.pcard-media{position:relative;background:var(--surface-2);overflow:hidden}
.pcard-media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s ease}
.pcard:hover .pcard-media img{transform:scale(1.02)}
.pcard-flag{position:absolute;top:10px;left:10px;background:var(--paper);border:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px}
.pcard-body{padding:14px clamp(10px,1.4vw,18px) 0;display:flex;flex-direction:column;gap:9px;flex:1;min-width:0}
.pcard-name{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.02em;text-align:left;background:none;border:0;padding:0;cursor:pointer}
.pcard-name:hover{color:var(--accent)}
.pcard-meta{font-size:12.5px;color:var(--warm);margin-top:-4px}
.pcard-price{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;font-family:var(--mono)}
.pcard-price b{font-size:18px;font-weight:500}
.pcard-price span{font-size:12px;color:var(--warm)}
.swrow{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-width:0}
.sw{
  width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.22);
  cursor:pointer;padding:0;position:relative;flex:none;
}
.sw[aria-pressed="true"]{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent)}
.sw.lg{width:40px;height:40px;border-radius:0}
.sw-more{font-family:var(--mono);font-size:11px;color:var(--warm);margin-left:2px}
.pcard-cta{display:flex;gap:8px;flex-wrap:wrap;padding:0 clamp(10px,1.4vw,18px);margin-top:12px;min-width:0}

/* ---------- PLP ---------- */
.plp{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0}
@media(min-width:1000px){.plp{grid-template-columns:278px minmax(0,1fr)}}
.filters{border-right:1px solid var(--line);padding:20px var(--gut) 40px}
@media(max-width:999px){.filters{display:none;border-right:0;border-bottom:1px solid var(--line)}.filters.open{display:block}}
.fgroup{border-bottom:1px solid var(--line);padding:14px 0}
.fgroup:first-of-type{padding-top:0}
.fgroup>summary{cursor:pointer;list-style:none;font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;padding:2px 0}
.fgroup>summary::-webkit-details-marker{display:none}
.fgroup>summary::after{content:"+";font-size:15px;line-height:1}
.fgroup[open]>summary::after{content:"\2013"}
.fopts{padding-top:12px;display:flex;flex-direction:column;gap:9px}
.fopt{display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer}
.fopt input{width:17px;height:17px;accent-color:var(--accent);flex:none;margin:0}
.fopt .cnt{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--warm)}
.fopt.dis{opacity:.4}
.fopt .dot{width:15px;height:15px;border-radius:50%;border:1px solid rgba(0,0,0,.25);flex:none}
.plp-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px var(--gut);border-bottom:1px solid var(--line)}
.plp-bar select{border:1px solid var(--line);background:var(--surface);padding:8px 10px;font-size:13.5px}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:12px var(--gut) 0}
.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--accent);color:var(--accent);background:var(--surface);font-size:12.5px;padding:5px 9px;cursor:pointer}
.chip b{font-weight:700}

/* ---------- PDP ---------- */
.pdp{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
@media(min-width:1000px){.pdp{grid-template-columns:minmax(0,1.22fr) minmax(380px,.78fr)}}
.gal{border-right:1px solid var(--line)}
.gal-main{background:var(--surface-2);position:relative}
.gal-main img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gal-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.gal-thumbs button, .gal-thumbs a{padding:0;border:0;background:var(--surface-2);cursor:pointer;position:relative}
.gal-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gal-thumbs button[aria-current="true"]::after, .gal-thumbs a[aria-current="true"]::after{content:"";position:absolute;inset:0;border:3px solid var(--accent)}
.buy{padding:22px var(--gut) 30px}
@media(min-width:1000px){.buy{position:sticky;top:calc(34px + var(--hdr-h));align-self:start}}
.buy h1{font-size:clamp(26px,2.7vw,36px);margin-bottom:8px}
.rating{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--warm);margin-bottom:16px;flex-wrap:wrap}
.stars{color:var(--accent);letter-spacing:2px;font-size:14px}
.stars .st{font-style:normal;display:inline-block}
.stars .st.half{position:relative;color:var(--line)}
.stars .st.half::before{content:"\2605";position:absolute;left:0;top:0;width:50%;overflow:hidden;color:var(--accent)}
.fabcard .in .flags{display:flex;flex-wrap:wrap;gap:6px}
.addon input:disabled+span .n{color:var(--warm)}
.addon.off{opacity:.55}
.boxcell .co{position:absolute;left:6px;top:6px;background:var(--surface);border:1px dashed var(--alert);color:var(--alert);font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:2px 5px;line-height:1.2}
.tline{list-style:none;margin:16px 0 0;padding:0;border-left:2px solid var(--line)}
.tline li{position:relative;padding:0 0 16px 20px;margin:0}
.tline li::before{content:"";position:absolute;left:-6px;top:5px;width:10px;height:10px;background:var(--accent);border-radius:50%}
.tline b{display:block;font-size:14.5px}
.tline span{display:block;font-size:13px;color:var(--warm)}
.price-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:20px}
.price-now{font-family:var(--mono);font-size:clamp(28px,3.2vw,40px);font-weight:500;line-height:1;letter-spacing:-.02em}
.price-rata{font-family:var(--mono);font-size:14px;color:var(--accent);margin-top:9px}
.price-30{font-size:11.5px;color:var(--warm);margin-top:7px;font-family:var(--mono)}
.opt{margin-bottom:20px}
.opt-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.opt-h .t{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase}
.opt-h .v{font-size:13.5px;font-weight:700}
.sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(min-width:520px){.sizes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px) and (max-width:1240px){.sizes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sizebtn{
  border:1px solid var(--line);background:var(--surface);padding:11px 8px;cursor:pointer;text-align:center;line-height:1.3;
}
.sizebtn:hover{border-color:var(--ink)}
.sizebtn strong{display:block;font-family:var(--mono);font-size:13.5px;font-weight:500}
.sizebtn span{display:block;font-family:var(--mono);font-size:12px;color:var(--warm);margin-top:3px}
.sizebtn[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:var(--on-accent);box-shadow:inset 0 0 0 1px var(--accent)}
.sizebtn[aria-pressed="true"] span{color:var(--on-accent);opacity:.85}
.swgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media(min-width:520px){.swgrid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(min-width:1000px) and (max-width:1240px){.swgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.swcell{border:0;background:none;padding:0;cursor:pointer;text-align:center}
.swcell i{display:block;width:100%;aspect-ratio:1/1;border:1px solid rgba(0,0,0,.2)}
.swcell b{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;margin-top:5px;font-weight:400;color:var(--warm)}
.swcell[aria-pressed="true"] i{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent)}
.swcell[aria-pressed="true"] b{color:var(--ink);font-weight:500}
.addons{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line)}
.addon{display:flex;align-items:flex-start;gap:11px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}
.addon input{width:18px;height:18px;accent-color:var(--accent);margin:3px 0 0;flex:none}
.addon .n{display:block;font-size:14px;font-weight:600;line-height:1.35}
.addon .d{display:block;font-size:12.5px;color:var(--warm);margin-top:3px}
.addon .p{margin-left:auto;font-family:var(--mono);font-size:13.5px;white-space:nowrap;padding-left:8px}
.deliv-date{display:flex;gap:11px;min-width:0;align-items:flex-start;border:1px solid var(--accent);padding:13px 15px;margin:16px 0;background:var(--surface)}
.deliv-date svg{width:20px;height:20px;flex:none;color:var(--accent);margin-top:1px}
.deliv-date .d1{font-size:14.5px;font-weight:700}
.deliv-date .d2{font-size:12.5px;color:var(--warm);margin-top:3px}
.guar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:20px 0}
@media(min-width:520px){.guar{grid-template-columns:repeat(4,minmax(0,1fr))}}
.guar div{background:var(--paper);padding:12px 10px;text-align:center}
.guar .g1{font-family:var(--mono);font-size:16px;color:var(--accent);font-weight:500}
.guar .g2{font-size:11.5px;color:var(--warm);line-height:1.35;margin-top:4px}

/* ---------- accordions / tables ---------- */
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{cursor:pointer;list-style:none;padding:15px 30px 15px 0;position:relative;font-weight:700;font-size:15px;letter-spacing:-.01em}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";position:absolute;right:4px;top:14px;font-family:var(--mono);font-size:18px;color:var(--accent)}
.acc details[open] summary::after{content:"\2013"}
.acc .accbody{padding:0 0 18px;font-size:14.5px}
.dtable{width:100%;border-collapse:collapse;font-size:13.5px}
.dtable th,.dtable td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.dtable th{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--warm);font-weight:400}
.dtable td.n{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- generic blocks ---------- */
.cols{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,2.6vw,44px)}
@media(min-width:860px){.cols.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:860px){.cols.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:860px){.cols.side{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}
.panel{border:1px solid var(--line);background:var(--surface);padding:clamp(18px,2.2vw,30px)}
.panel.acc-bg{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.panel.acc-bg .muted,.panel.acc-bg .lead{color:rgba(247,245,241,.78)}
.panel.acc-bg .btn{background:var(--on-accent);color:var(--accent);border-color:var(--on-accent)}
.panel.acc-bg .btn:hover{background:transparent;color:var(--on-accent)}
.numrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:860px){.numrow{grid-template-columns:repeat(4,minmax(0,1fr))}}
.numrow div{background:var(--paper);padding:clamp(14px,1.8vw,24px)}
.numrow .n{font-family:var(--mono);font-size:clamp(24px,3vw,36px);font-weight:500;letter-spacing:-.03em;line-height:1}
.numrow .l{font-size:12.5px;color:var(--warm);margin-top:8px;line-height:1.4}
.steps{counter-reset:s;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:760px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.steps li{background:var(--paper);padding:20px;list-style:none;counter-increment:s;margin:0}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em;margin-bottom:10px}
.quote{border-left:2px solid var(--accent);padding-left:18px;font-size:clamp(17px,1.9vw,23px);font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.28}
.rev{border:1px solid var(--line);background:var(--surface);padding:18px}
.rev .stars{margin-bottom:8px}
.rev p{font-size:14.5px}
.rev .who{font-size:12.5px;color:var(--warm);font-family:var(--mono)}
.blogcard{border:1px solid var(--line);background:var(--surface);padding:18px;display:flex;flex-direction:column;gap:10px;text-align:left;cursor:pointer;width:100%}
.blogcard:hover{border-color:var(--accent)}
.blogcard h3{font-size:19px}

/* ---------- fabric guide ---------- */
.fabgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:760px){.fabgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.fabgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fabcard{background:var(--paper);padding:0 0 16px;display:flex;flex-direction:column}
.fabcard .sm{width:100%;aspect-ratio:16/10}
.fabcard .in{padding:13px clamp(12px,1.2vw,16px) 0;display:flex;flex-direction:column;gap:8px;flex:1}
.fabcard dl{margin:0;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:3px 10px;font-size:12px}
.fabcard dt{color:var(--warm);font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;align-self:center;min-width:0;overflow-wrap:anywhere}
.fabcard dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;min-width:0;overflow-wrap:anywhere}
.fabcard .in .btn{margin-top:auto}

/* ---------- samples ---------- */
.boxgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:640px){.boxgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1100px){.boxgrid{grid-template-columns:repeat(6,minmax(0,1fr))}}
.boxcell{background:var(--paper);padding:0;border:0;cursor:pointer;text-align:left;position:relative}
.boxcell i{display:block;width:100%;aspect-ratio:1/1}
.boxcell b{display:block;font-family:var(--mono);font-size:11px;font-weight:400;padding:8px 10px 10px}
.boxcell[aria-pressed="true"]::after{content:"\2713";position:absolute;top:8px;right:8px;width:24px;height:24px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-size:13px}
.boxcell[aria-pressed="true"] i{outline:3px solid var(--accent);outline-offset:-3px}

/* ---------- forms ---------- */
.form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media(min-width:640px){.form.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--warm)}
.field input,.field textarea,.field select{
  border:1px solid var(--line);background:var(--surface);padding:12px 13px;font-size:15px;width:100%;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}
.field textarea{min-height:120px;resize:vertical}
.field .hint{font-size:12px;color:var(--warm)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--warm);grid-column:1/-1}
.consent input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:2px 0 0}

/* ---------- radios (delivery) ---------- */
.radios{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.radio{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}
.radio input{width:18px;height:18px;accent-color:var(--accent);margin:3px 0 0;flex:none}
.radio .n{display:block;font-size:14.5px;font-weight:700}
.radio .d{display:block;font-size:12.5px;color:var(--warm);margin-top:3px;max-width:56ch}
.radio>span{min-width:0}
.radio .p{margin-left:auto;font-family:var(--mono);font-size:14px;white-space:nowrap;padding-left:10px}
.radio .p,.addon .p{flex:0 0 auto;min-width:-webkit-max-content;min-width:max-content}
.radio:has(input:checked) .n{color:var(--accent)}

/* ---------- cart ---------- */
.cartrow{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}
@media(min-width:640px){.cartrow{grid-template-columns:110px minmax(0,1fr) auto}}
.cartrow img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--surface-2)}
.cartrow>div{min-width:0}
.cartrow .sp{display:block}
.cartrow .nm{font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:-.02em}
.cartrow .sp{font-size:12.5px;color:var(--warm);margin-top:4px}
.cartrow .rp{font-family:var(--mono);font-size:15px;white-space:nowrap}
.qty{display:inline-flex;border:1px solid var(--line);margin-top:8px}
.qty button, .qty a{width:32px;height:32px;background:var(--surface);border:0;cursor:pointer;font-size:16px;line-height:1}
.qty button:hover, .qty a:hover{background:var(--surface-2)}
.qty span{width:38px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;border-inline:1px solid var(--line)}
.sumline{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:14.5px;flex-wrap:wrap}
.sumline.total{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:19px;font-weight:700}
.sumline .n{font-family:var(--mono);font-variant-numeric:tabular-nums}
.empty{padding:40px 0;text-align:center;color:var(--warm)}

/* ---------- drawer ---------- */
.scrim{position:fixed;inset:0;background:rgba(10,12,10,.46);z-index:130;opacity:0;pointer-events:none;transition:opacity .2s ease}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);
  border-left:1px solid var(--line);z-index:140;transform:translateX(102%);transition:transform .22s ease;
  display:flex;flex-direction:column;
}
.drawer.on{transform:none}
.drawer-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.drawer-b{flex:1;overflow-y:auto;padding:4px 18px 18px}
.drawer-f{border-top:1px solid var(--line);padding:16px 18px;background:var(--surface)}
.xbtn{background:none;border:1px solid var(--line);width:34px;height:34px;cursor:pointer;font-size:17px;line-height:1}
.xbtn:hover{background:var(--surface)}

/* ---------- sticky mobile CTA ---------- */
.stickycta{
  position:fixed;left:0;right:0;bottom:0;z-index:110;background:var(--paper);
  border-top:1px solid var(--line);padding:10px var(--gut);display:none;gap:10px;align-items:center;
}
body.pdp-mobile .stickycta{display:flex}
@media(min-width:1000px){body.pdp-mobile .stickycta{display:none}body.pdp-mobile.cta-away .stickycta{display:flex}}
.stickycta .sp{font-family:var(--mono);font-size:17px;line-height:1.1}
.stickycta .sl{font-size:11px;color:var(--warm);font-family:var(--mono)}
.stickycta .btn{flex:1;padding:13px 12px;font-size:14px;min-width:0}
.stickycta>div{min-width:0}
body.pdp-mobile{padding-bottom:78px}
@media(min-width:1000px){body.pdp-mobile{padding-bottom:0}}

/* ---------- toast ---------- */
.toast{
  position:fixed;left:50%;bottom:22px;transform:translate(-50%,16px);z-index:150;
  background:var(--ink);color:var(--paper);padding:12px 18px;font-size:14px;font-weight:600;
  opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;max-width:calc(100vw - 32px);text-align:center;
}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- footer ---------- */
.ftr{border-top:1px solid var(--line);background:var(--surface);margin-top:0}
.ftr-in{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;padding:clamp(30px,3.4vw,52px) var(--gut)}
@media(min-width:760px){.ftr-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.ftr-in{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}}
.ftr h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm);margin-bottom:12px;font-weight:400}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{margin-bottom:8px}
.ftr button.linkbtn, .ftr a.linkbtn{color:var(--ink);text-decoration:none;font-weight:500;font-size:14px}
.ftr button.linkbtn:hover, .ftr a.linkbtn:hover{color:var(--accent);text-decoration:underline}
.ftr-bot{border-top:1px solid var(--line);padding:14px var(--gut);display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;font-size:12px;color:var(--warm);font-family:var(--mono)}
.ftr address{font-style:normal;font-size:14px;line-height:1.7}

/* ---------- calc ---------- */
.calcgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media(min-width:900px){.calcgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.verdict{border:1px solid var(--line);padding:16px 18px;background:var(--surface)}
.verdict.ok{border-color:var(--ok);border-left-width:4px}
.verdict.no{border-color:var(--alert);border-left-width:4px}
.verdict .vt{font-weight:800;font-family:var(--display);font-size:19px;letter-spacing:-.02em;margin-bottom:6px}
.checklist{list-style:none;padding:0;margin:12px 0 0}
.checklist li{display:flex;gap:9px;font-size:13.5px;padding:6px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.checklist .m{font-family:var(--mono);margin-left:auto;white-space:nowrap}

.hide{display:none!important}
.view{display:none}
.view.on{display:block}
.imgfail{display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--warm);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-align:center;padding:10px}



/* ============================================================
   WARSTWA WIZUALNA v2
   Kinowe kadry, portretowe kafle, realne makro tkanin, rytm tonalny.
   Nadpisuje wybrane reguly z bloku podstawowego, nie zmienia logiki.
   ============================================================ */
:root{
  --studio:#FFFFFF;
  --studio-2:#F2EEE7;
  --sand:#ECE5DA;
  --deep:#111310;
  --on-deep:#FAF8F4;
  --shade-1:rgba(9,10,9,.92);
  --shade-2:rgba(9,10,9,.74);
  --shade-3:rgba(9,10,9,.30);
}


/* ---------- typografia, mocniejsza skala ---------- */
h1{font-size:clamp(34px,6.1vw,76px);letter-spacing:-.042em;line-height:.98}
h2{font-size:clamp(26px,3.8vw,48px);letter-spacing:-.036em;line-height:1.02}
h3{font-size:clamp(19px,1.85vw,26px);letter-spacing:-.025em}
.eyebrow{font-size:11.5px;letter-spacing:.2em;font-weight:500}
.lead{font-size:clamp(16.5px,1.4vw,20px);line-height:1.55;max-width:64ch}
.quote{font-size:clamp(20px,2.5vw,32px);line-height:1.2}
.sec{padding-block:clamp(38px,4.8vw,78px)}
.sec-head{margin-bottom:clamp(18px,2.2vw,34px)}

/* ---------- pasma tonalne, rytm strony ---------- */
.band-dark{
  --paper:#16181A; --surface:#1D2023; --surface-2:#24282C; --ink:#F4F2ED;
  --line:#32373D; --warm:#A9AEA9; --accent:#8FC9AA; --accent-2:#A9D9BF;
  --on-accent:#0C1410; --alert:#E9A891; --ok:#8FC9AA; --studio:#EFECE6;
  background:var(--paper);color:var(--ink);border-top:0;
}
.band-dark .ph-note{color:var(--alert);border-left-color:var(--alert)}
.band-dark .tag.ph{color:var(--alert);border-color:var(--alert)}
.band{border-top:1px solid var(--line)}
.band-soft{background:var(--surface-2);border-top:1px solid var(--line)}
.band-soft .pricecut b{color:var(--accent)}
.band-in{padding-block:clamp(26px,3.4vw,52px);display:grid;gap:clamp(18px,2.4vw,38px)}
@media(min-width:900px){.band-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}}
.band-in .pricecut{border-top:0;border-left:2px solid var(--accent);padding:2px 0 2px 18px}
.band-in .pricecut b{font-size:26px}
.band-in.solo{grid-template-columns:minmax(0,1fr)}





/* ---------- lista korzyści w paśmie pod hero ---------- */
.leadlist{list-style:none;margin:clamp(16px,2vw,24px) 0 0;padding:0;display:grid;gap:0}
.leadlist li{position:relative;padding:13px 0 13px 30px;border-top:1px solid var(--line);
  font-size:clamp(14.5px,1.1vw,16px);line-height:1.5;color:var(--warm);margin:0}
.leadlist li:last-child{border-bottom:1px solid var(--line)}
.leadlist li b{color:var(--ink);font-weight:700}
.leadlist li::before{content:"";position:absolute;left:2px;top:20px;width:12px;height:2px;
  background:var(--accent)}

/* ---------- zdjecia w dolnych sekcjach, zeby nie bylo sciany tekstu ---------- */
.quotefig{margin:0 0 clamp(16px,2vw,24px)}
.quotefig img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.quotefig.sm{margin:clamp(16px,2vw,24px) 0 clamp(14px,1.8vw,20px)}
.quotefig.sm img{aspect-ratio:16/9}
.quotefig figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--warm);margin-top:9px;line-height:1.45}
.rev-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.rev-th{width:46px;height:46px;object-fit:cover;flex:0 0 auto;background:var(--surface-2)}
.blogcard{padding:0;overflow:hidden}
.blog-media{display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--surface-2);margin-bottom:14px}
.blog-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.blogcard:hover .blog-media img{transform:scale(1.05)}
.blogcard>:not(.blog-media){padding-left:18px;padding-right:18px}
.blogcard>.linkbtn{padding-bottom:18px}

/* ---------- pasmo z ceną: zdjęcie modelu obok liczby ---------- */
.pricebox{display:grid;gap:clamp(14px,1.8vw,24px);align-items:start}
@media(min-width:620px){.pricebox{grid-template-columns:minmax(0,190px) minmax(0,1fr)}}
.pricebox-img{position:relative;display:block;width:100%;aspect-ratio:4/5;overflow:hidden;
  border:0;padding:0;margin:0;background:var(--surface-2);cursor:pointer}
.pricebox-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.pricebox-img:hover img{transform:scale(1.05)}
.pricebox-tag{position:absolute;left:0;right:0;bottom:0;padding:9px 11px;color:#fff;text-align:left;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;line-height:1.35;
  background:linear-gradient(to top,rgba(9,10,9,.82),rgba(9,10,9,0))}
.pricebox .pricecut{border-left:2px solid var(--accent);padding:2px 0 2px 18px}
.pricebox-go{margin-top:12px;display:inline-block}

/* ---------- hero F1: napis nachodzi na zdjecie, zdjecie schodkiem wchodzi w napis ---------- */
.fhero{position:relative;
  --fs1:clamp(44px,15.5vw,292px);
  --fs2:clamp(20.5px,7.15vw,135px);
  /* zaklad = dokladna wysokosc wiersza OD PRODUCENTA, wiec szew idzie miedzy wierszami,
     nigdy przez srodek liter */
  --lh:.9;
  --ov:calc(var(--fs2) * var(--lh));
  --up:clamp(40px,8vw,150px);
  --step:56vw;padding-top:clamp(18px,2.4vw,42px)}
.fhead{position:relative;z-index:3;padding:0 var(--gut);display:grid;gap:clamp(16px,2.4vw,44px);
  grid-template-columns:minmax(0,1fr);align-items:end}
@media(min-width:920px){.fhead{grid-template-columns:minmax(0,1fr) auto}}
.fstack{position:relative}
.fstack .fl2{position:absolute;inset:0}
.fstack h1,.fstack .fl2{font-family:var(--display);font-weight:800;text-transform:uppercase;
  letter-spacing:-.05em;line-height:var(--lh);margin:0}
.ftt{display:inline;white-space:nowrap}
.fr1{font-size:var(--fs1)}
.fr2{font-size:var(--fs2)}
.fmask{background-image:var(--heropic);background-size:cover;background-position:center 44%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.fwht{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.fl1{clip-path:polygon(0 0,100% 0,
  100% calc(100% - var(--ov) - var(--up)),
  calc(var(--step) - var(--gut)) calc(100% - var(--ov) - var(--up)),
  calc(var(--step) - var(--gut)) calc(100% - var(--ov)),
  0 calc(100% - var(--ov)))}
.fl2{clip-path:polygon(0 calc(100% - var(--ov)),
  calc(var(--step) - var(--gut)) calc(100% - var(--ov)),
  calc(var(--step) - var(--gut)) calc(100% - var(--ov) - var(--up)),
  100% calc(100% - var(--ov) - var(--up)),100% 100%,0 100%)}
.fmark{justify-self:end;margin-bottom:calc(var(--ov) + var(--up));color:var(--accent);line-height:0}
.fmark-mob{display:none}
.fmark svg{width:clamp(150px,17vw,270px);height:auto;display:block}
.fph{position:relative;margin-top:calc(-1 * (var(--ov) + var(--up)));
  height:calc(min(62vh,600px) + var(--up));min-height:330px;overflow:hidden;background:#0E100D;
  clip-path:polygon(0 var(--up),var(--step) var(--up),var(--step) 0,100% 0,100% 100%,0 100%)}
.fph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(1.06)}
.fph::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(9,10,9,.76),rgba(9,10,9,.16) 46%,rgba(9,10,9,.28))}
.fdi{position:absolute;inset:auto 0 0 0;z-index:5;padding:0 var(--gut) clamp(22px,2.8vw,44px);color:#fff}
.fdi p{max-width:44ch;color:rgba(255,255,255,.93);margin:0 0 15px;font-size:clamp(14.5px,1.15vw,16.5px)}
.fcap{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.78);margin-top:16px;border-top:1px solid rgba(255,255,255,.28);padding-top:11px;max-width:52ch}
@media(max-width:919px){
  .fhero{--fs1:clamp(38px,19.9vw,150px);--fs2:clamp(17.5px,9.2vw,70px)}
  .fhero{padding-top:0}
  .fhead{position:relative;gap:0}
  .fhead{padding-top:0}
  .fmark{display:none}
  .fmark-mob{display:block;position:absolute;z-index:6;right:var(--gut);
    top:calc(var(--ov) + clamp(58px,17vw,120px));width:clamp(160px,52vw,280px);color:#fff}
  .fmark-mob svg{width:100%;height:auto;display:block;
    filter:drop-shadow(0 1px 8px rgba(0,0,0,.45))}
  .fph{clip-path:none;margin-top:calc(-1 * var(--ov));height:min(66vh,540px)}
  .fcap{display:none}
  .fl1{clip-path:inset(0 0 var(--ov) 0)}
  .fl2{clip-path:inset(calc(100% - var(--ov)) 0 0 0)}
  .fdi{padding-bottom:clamp(18px,5vw,30px)}
  .fdi .hero-cta{gap:8px}
}
@media(max-width:420px){.fdi .btn{width:100%}}

/* ---------- kinowy hero ---------- */
.chero{
  position:relative;width:100%;overflow:hidden;background:#0D0F0C;
  min-height:clamp(400px,62vh,620px);display:flex;align-items:flex-end;isolation:isolate;
}
.chero.tall{min-height:clamp(400px,66vh,640px)}
.chero>img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center 48%;z-index:0;filter:brightness(1.1) saturate(1.03);
}
.chero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(to top,rgba(9,10,9,.60) 0%,rgba(9,10,9,.46) 26%,rgba(9,10,9,.24) 48%,rgba(9,10,9,.05) 74%,rgba(9,10,9,.12) 100%),
    linear-gradient(to right,rgba(9,10,9,.26) 0%,rgba(9,10,9,.05) 56%,rgba(9,10,9,0) 100%);
}
.chero-in{
  position:relative;z-index:2;width:100%;color:#FBFAF7;max-width:none;
  padding:clamp(36px,5.2vw,76px) var(--gut) clamp(24px,3.2vw,52px);
  background:linear-gradient(to top,rgba(9,10,9,.34) 0%,rgba(9,10,9,.24) 52%,rgba(9,10,9,.08) 84%,rgba(9,10,9,0) 100%);
}
.chero-in>*{max-width:1180px}
.chero-in .eyebrow{color:var(--on-img-acc);margin-bottom:14px}
.chero-in h1{color:#fff;max-width:15ch;text-shadow:0 2px 30px rgba(0,0,0,.55);margin-bottom:clamp(16px,2vw,26px)}
.chero-in .hero-cta{margin-bottom:18px}
.chero-cap{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.86);border-top:1px solid rgba(255,255,255,.3);
  padding-top:12px;max-width:52ch;
}
.btn.onimg{
  background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
}
.btn.onimg:hover{background:#fff;color:#15170F;border-color:#fff}
.chero-in :focus-visible{outline-color:#fff}

/* ---------- portretowe kafle, od krawedzi do krawedzi ---------- */
.tilerow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:var(--surface-2)}
@media(min-width:960px){.tilerow{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tilerow.three{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:860px){.tilerow.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tile{
  position:relative;display:block;width:100%;aspect-ratio:3/4;overflow:hidden;
  background:#14150F;border:0;padding:0;margin:0;text-align:left;color:#FBFAF7;
}
.tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);z-index:0}
.tile:hover>img,.tile:focus-within>img{transform:scale(1.045)}
.tile::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(9,10,9,.80) 0%,rgba(9,10,9,.62) 34%,rgba(9,10,9,.34) 54%,rgba(9,10,9,.08) 80%,rgba(9,10,9,0) 100%);
}
.tile-in{
  position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;
  gap:7px;padding:clamp(14px,1.7vw,24px);text-shadow:0 1px 3px rgba(0,0,0,.62),0 2px 18px rgba(0,0,0,.5);
}
button.tile, a.tile{cursor:pointer}
.tilerow.three .tile-in .s{max-width:46ch}
.tile-in .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--on-img-acc)}
.tile-in .v{font-family:var(--display);font-weight:800;letter-spacing:-.025em;line-height:1.08;font-size:clamp(17px,1.6vw,24px);color:#fff}
.tile-in .s{font-size:12.5px;line-height:1.42;color:rgba(251,250,247,.88);max-width:34ch}
.tile-in .go{
  margin-top:6px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;border-bottom:1px solid rgba(255,255,255,.55);align-self:flex-start;padding-bottom:3px;
}
.tile:hover .go,.tile:focus-within .go{border-bottom-color:#fff}
.tile:focus-visible{outline:3px solid #fff;outline-offset:-5px}

/* ---------- karuzela wychodzaca poza prawa krawedz ---------- */
.railwrap{position:relative}
.rail{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(214px,25vw);gap:3px;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;
  padding:0 0 0 var(--gut);-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent;
}
.rail::-webkit-scrollbar{height:8px}
.rail::-webkit-scrollbar-thumb{background:var(--line)}
.railcard{
  position:relative;scroll-snap-align:start;display:block;width:100%;aspect-ratio:3/4;
  overflow:hidden;border:0;padding:0;margin:0;background:var(--surface-2);cursor:pointer;text-align:left;
}
.railcard>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);z-index:0}
.railcard:hover>img{transform:scale(1.05)}
.railcard::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(9,10,9,.90) 0%,rgba(9,10,9,.55) 28%,rgba(9,10,9,0) 62%)}
.railcard .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 15px;color:#fff}
.railcard .cap b{display:block;font-family:var(--display);font-weight:800;font-size:15.5px;letter-spacing:-.02em}
.railcard .cap span{display:block;font-size:12px;color:rgba(255,255,255,.82);margin-top:3px;line-height:1.35}
.railhint{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--warm);padding:12px var(--gut) 0}

/* ---------- siatka hali ---------- */
.hallgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:var(--line)}
@media(min-width:900px){.hallgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hallgrid figure{position:relative;margin:0;overflow:hidden;background:var(--surface-2);aspect-ratio:4/3}
.hallgrid figure.wide{grid-column:1/-1;aspect-ratio:16/7}
.hallgrid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hallgrid figcaption{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:38px 15px 14px;color:#fff;
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;line-height:1.45;
  background:linear-gradient(to top,rgba(9,10,9,.94) 0%,rgba(9,10,9,.90) 42%,rgba(9,10,9,.62) 72%,rgba(9,10,9,0) 100%);
}

/* ---------- kafel produktu, portret, zdjecie dominuje ---------- */
.pgrid{gap:2px}
@media(min-width:1280px){.pgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pcard{padding:0 0 18px}
.pcard-media{aspect-ratio:3/4;background:var(--studio);isolation:isolate}
.pcard-media img{
  position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .35s ease;
}
.pcard-media.studio{background:linear-gradient(168deg,#FBF7F1 0%,#EFE8DD 58%,#E6DED1 100%)}
/* packshoty maja czyste biale tlo, multiply wtapia je w cieply kadr */
.pcard-media.studio img{object-fit:contain;padding:5% 4%;mix-blend-mode:multiply}
.pcard-media.studio::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(115% 78% at 50% 16%,rgba(0,0,0,0) 42%,rgba(92,79,60,.13) 100%);
}
.pc-b{opacity:0}
.pcard:hover .pc-b,.pcard:focus-within .pc-b{opacity:1}
.pcard:hover .pcard-media img{transform:scale(1.035)}
.pcard-flag{
  top:auto;bottom:10px;left:10px;background:rgba(9,10,9,.72);color:#fff;border-color:transparent;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3;
}
.pcard-media.studio .pcard-flag{background:rgba(9,10,9,.78)}
.pcard-body{padding-top:12px;gap:7px}
.pcard-name{font-size:18px}
.swrow .sw{width:26px;height:26px}

/* ---------- swatche jako realne makro tkanin ---------- */
.sw{overflow:hidden;background:var(--surface-2);border-color:rgba(0,0,0,.18)}
.sw>img{width:100%;height:100%;object-fit:cover;display:block}
.sw[aria-pressed="true"]{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent)}
.sw[disabled],.sw.na{opacity:.38;cursor:not-allowed}
.swcell i{overflow:hidden;background:var(--surface-2);border-radius:2px}
.swcell i>img{width:100%;height:100%;object-fit:cover;display:block}
.swcell b{font-size:10px;letter-spacing:0}
.swcell[disabled] i,.swcell.na i{opacity:.4}
.boxcell i{overflow:hidden;background:var(--surface-2)}
.boxcell i>img{width:100%;height:100%;object-fit:cover;display:block}
.boxcell.na i>img{filter:grayscale(.55);opacity:.55}
.swpic{display:block;overflow:hidden;background:var(--surface-2);flex:none}
.swpic>img{width:100%;height:100%;object-fit:cover;display:block}
.fopt .dot{width:22px;height:22px;border-radius:3px;overflow:hidden;border:1px solid rgba(0,0,0,.2)}
.fopt .dot>img{width:100%;height:100%;object-fit:cover;display:block}
.fabgrid{gap:2px}
.fabcard img.sm{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.boxgrid{gap:2px}

/* ---------- karta produktu, wieksza galeria ---------- */
.gal-main{background:#FFFFFF}
.gal-main img{aspect-ratio:4/5;object-fit:contain;padding:3%}
.gal-thumbs{gap:2px}
.gal-thumbs img{background:#FFFFFF}
@media(min-width:1000px){
  .gal{display:grid;grid-template-columns:96px minmax(0,1fr);align-content:start}
  .gal-main{grid-column:2;grid-row:1}
  .gal-main img{aspect-ratio:1/1;padding:2%}
  .gal-thumbs{
    grid-column:1;grid-row:1;grid-template-columns:minmax(0,1fr);
    align-content:start;border-top:0;border-right:1px solid var(--line);
  }
  .gal>.wrap{grid-column:1/-1;grid-row:2}
}
.swgrid{gap:6px}

/* ---------- drobne ---------- */
.sec.flush{border-top:0}
.numrow{border-left:0;border-right:0}
img{background-color:transparent}
@media (prefers-reduced-motion:reduce){
  .tile>img,.railcard>img,.pcard-media img{transition:none!important;transform:none!important}
}

/* ---------- poprawki ---------- */
/* .fabcard .sm z bloku bazowego lapal tez przycisk .btn.sm, stad rozciagniecie */
.fabcard .btn.sm{width:100%;aspect-ratio:auto}
.gal-main{position:relative}
.gal-main::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 82% at 50% 14%,rgba(0,0,0,0) 46%,rgba(92,79,60,.14) 100%);
}
#home-samples .cols.side>.panel{align-self:start}
@media(min-width:900px){.hallgrid figure.w2{grid-column:span 2;aspect-ratio:16/7}}
.chero-cap{text-shadow:0 1px 12px rgba(0,0,0,.5)}
.railcard .cap{text-shadow:0 1px 12px rgba(0,0,0,.5)}
.hallgrid figcaption{text-shadow:0 1px 10px rgba(0,0,0,.6)}



/* ——— warstwa zgodnosci z WordPress ——— */
/* brak routera SPA: kazdy widok jest widoczny */
.view{display:block}
.wp-site-blocks > *{margin-block:0}
.wp-block-group.is-layout-constrained > *{max-width:none}
main.wp-block-group{display:block}
.monti-raw{display:contents}
body .wp-block-image img{height:auto}
.admin-bar .hdr{top:32px}
@media (max-width:782px){.admin-bar .hdr{top:46px}}


/* ——— po konwersji <button> na <a>: linki nie moga wygladac jak linki ——— */
.nav a, .mnav a, .ftr a.linkbtn, a.brand, a.linkbtn, a.tile, a.pcard,
a.blogcard, a.catcard, a.boxcell, a.iconbtn, a.btn, a.chip{
  text-decoration:none;
}
.nav a{display:inline-block}
a.brand{display:block;color:inherit}
.ftr ul a{text-decoration:none}
.ftr ul a:hover{text-decoration:underline}

/* ——— listing renderowany po stronie serwera ——— */
.plp-main{min-width:0}
.fopt{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;text-decoration:none;color:inherit}
.fopt > span:first-child{flex:1;min-width:0}
.fopt::before{content:"";width:15px;height:15px;flex:none;border:1.5px solid var(--line-mocna,#D3CCC1);border-color:var(--line);background:var(--paper);border-radius:2px}
.fopt.on::before{background:var(--accent);border-color:var(--accent);
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2 6.2 4.6 9 10 3.4'/%3E%3C/svg%3E");
  background-size:11px;background-position:center;background-repeat:no-repeat}
.fopt:hover{color:var(--accent)}
.fopt .cnt{font-family:var(--mono);font-size:11px;color:var(--warm)}
.paginacja{padding:26px var(--gut) 40px}
.paginacja ul{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap}
.paginacja a,.paginacja span{display:inline-block;min-width:36px;text-align:center;padding:7px 10px;border:1px solid var(--line);font-family:var(--mono);font-size:13px;text-decoration:none;color:inherit}
.paginacja .current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.paginacja a:hover{border-color:var(--accent);color:var(--accent)}
.swrow .sw{background:none;border:0;padding:0;display:inline-flex}

/* ——— karta produktu: natywny formularz Woo w skórze makiety ——— */
/* Selecty zostają w DOM (liczy na nich WooCommerce), ale gdy jest JS
   użytkownik klika kafelki .sizes/.swgrid, więc tabelę wariantów chowamy. */
body.monti-js .monti-formularz table.variations{display:none}
.monti-formularz table.variations{width:100%;border-collapse:collapse;margin-bottom:14px}
.monti-formularz table.variations th{text-align:left;font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;padding:6px 0}
.monti-formularz table.variations td{padding:0 0 10px}
.monti-formularz select{width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--paper);font:inherit;font-size:14px}
.monti-formularz .reset_variations{font-size:12px;color:var(--warm)}
.monti-formularz .woocommerce-variation-price{display:none}
.monti-formularz .woocommerce-variation-availability{font-size:13px;color:var(--warm);margin-bottom:10px}
.monti-formularz .stock.out-of-stock{color:#9B2C2C;font-size:13.5px}
.monti-formularz .quantity{display:inline-flex;margin-right:10px;vertical-align:middle}
.monti-formularz .quantity input{width:74px;padding:13px 10px;border:1px solid var(--line);background:var(--paper);font:inherit;text-align:center}
.monti-formularz .quantity label{position:absolute;left:-9999px}
.monti-formularz button[type="submit"],
.monti-formularz .single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  width:100%;margin-top:4px;padding:17px 22px;border:1px solid var(--accent);
  background:var(--accent);color:var(--on-accent);cursor:pointer;
  font-family:var(--mono);font-size:15px;letter-spacing:.04em;text-transform:uppercase;
  transition:background .18s ease,border-color .18s ease
}
.monti-formularz button[type="submit"]:hover,
.monti-formularz .single_add_to_cart_button:hover{background:var(--accent-2);border-color:var(--accent-2)}
.monti-formularz .single_add_to_cart_button.disabled,
.monti-formularz .single_add_to_cart_button:disabled{opacity:.45;cursor:not-allowed}
.monti-formularz .quantity + .single_add_to_cart_button{width:calc(100% - 84px)}
.monti-formularz .woocommerce-variation-add-to-cart{display:block}
#pdp-below .guar{margin-top:0}

/* ——— wyszukiwarka w kolumnie filtrów ——— */
.szukajka{display:flex;border:1px solid var(--line);background:var(--paper);margin-bottom:16px}
.szukajka input[type="search"]{flex:1;min-width:0;border:0;background:none;padding:11px 12px;font:inherit;font-size:13.5px}
.szukajka input[type="search"]:focus{outline:2px solid var(--accent);outline-offset:-2px}
.szukajka button{border:0;border-left:1px solid var(--line);background:none;padding:0 12px;cursor:pointer;color:var(--warm)}
.szukajka button:hover{color:var(--accent)}
.szukajka svg{width:17px;height:17px;display:block}

/* ——— poprawki po audycie ——— */
/* .fopt ma teraz do trzech dzieci: próbkę, nazwę i licznik. */
.fopt > .dot{flex:none}
.fopt .nazwa{flex:1;min-width:0}
.fopt.dis{pointer-events:none}
.chips .chip{text-decoration:none}
/* Klasa z rdzenia WordPressa, motyw blokowy jej nie wnosi. */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ——— komunikat po wysłaniu formularza ——— */
.monti-komunikat{margin:10px 0 0;padding:11px 14px;font-size:13.5px;border:1px solid var(--line)}
.monti-komunikat.ok{border-color:var(--accent);color:var(--accent);background:var(--surface)}
.monti-komunikat.zle{border-color:#9B2C2C;color:#9B2C2C;background:var(--surface)}

/* ——— treść wpisu poradnika ——— */
.monti-tresc p{margin-top:16px;font-size:16.5px;line-height:1.7}
.monti-tresc h2{margin-top:28px}
.monti-tresc h3{margin-top:22px}
.monti-tresc ul,.monti-tresc ol{margin-top:14px;padding-left:20px}
.monti-tresc img{max-width:100%;height:auto}

/* ——— koszyk, zamówienie i konto: klasyczne szablony Woo w skórze motywu ——— */
.monti-woo{font-size:14.5px}
.monti-woo a{color:var(--accent)}
.monti-woo h2,.monti-woo h3{margin-bottom:12px}
.monti-woo table{width:100%;border-collapse:collapse}
.monti-woo table th,.monti-woo table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.monti-woo table th{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--warm);font-weight:400}
.monti-woo .product-thumbnail img{width:74px;height:auto;display:block}
.monti-woo .amount,.monti-woo .woocommerce-Price-amount{font-family:var(--mono)}
.monti-woo .cart_totals,.monti-woo .cross-sells{margin-top:28px}
.monti-woo .cart-collaterals{margin-top:28px}
.monti-woo .cart_totals{border:1px solid var(--line);padding:20px;max-width:440px;margin-left:auto}
.monti-woo .cart_totals h2{font-size:18px}
.monti-woo .coupon{display:flex;gap:0;align-items:stretch;max-width:420px}
.monti-woo .coupon input[type="text"]{border-right:0}
.monti-woo input[type="text"],.monti-woo input[type="email"],.monti-woo input[type="tel"],
.monti-woo input[type="password"],.monti-woo input[type="number"],.monti-woo textarea,.monti-woo select,
.monti-woo .select2-selection{
  width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--paper);font:inherit;font-size:14px
}
.monti-woo label{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--warm);margin-bottom:6px}
.monti-woo .form-row{margin-bottom:14px}
.monti-woo .button,.monti-woo button[type="submit"],.monti-woo .checkout-button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);
  font-family:var(--mono);font-size:14px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;
  transition:background .18s ease,border-color .18s ease
}
.monti-woo .button:hover,.monti-woo button[type="submit"]:hover,.monti-woo .checkout-button:hover{background:var(--accent-2);border-color:var(--accent-2)}
.monti-woo .button[name="update_cart"],.monti-woo .button.wc-backward{background:none;color:var(--ink);border-color:var(--line)}
.monti-woo .button[name="update_cart"]:hover,.monti-woo .button.wc-backward:hover{border-color:var(--ink);background:none}
.monti-woo .checkout-button{width:100%;margin-top:14px}
.monti-woo .woocommerce-info,.monti-woo .woocommerce-message,.monti-woo .woocommerce-error,.monti-woo .cart-empty{
  border:1px solid var(--line);padding:14px 16px;margin-bottom:20px;list-style:none
}
.monti-woo .woocommerce-message{border-color:var(--accent)}
.monti-woo .woocommerce-error{border-color:#9B2C2C;color:#9B2C2C}
.monti-woo .quantity input{width:74px;text-align:center}
.monti-woo .product-remove a{color:var(--warm);text-decoration:none;font-size:18px;line-height:1}
.monti-woo .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.monti-woo .woocommerce-MyAccount-navigation a{display:inline-block;padding:8px 12px;border:1px solid var(--line);text-decoration:none;font-size:13px;color:inherit}
.monti-woo .woocommerce-MyAccount-navigation .is-active a{border-color:var(--accent);color:var(--accent)}
@media(min-width:860px){
  .monti-woo .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .monti-woo #customer_details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
}
.monti-woo #order_review{margin-top:28px;border:1px solid var(--line);padding:20px}
