/* ==========================================================================
   NIEMEN CRYSTAL - system designu motywu
   Inspiracja układem i estetyką: us.nudeglass.com
   ========================================================================== */

/* ---------- Tokeny ---------- */
:root{
  --bone:#F7F5F1;
  --paper:#FFFFFF;
  --stone:#EDE8E0;
  --sand:#E4DCD1;
  --ink:#14130F;
  --ink-70:rgba(20,19,15,.70);
  --ink-50:rgba(20,19,15,.50);
  --ink-30:rgba(20,19,15,.28);
  --line:#E2DBD1;
  --line-soft:rgba(20,19,15,.10);
  --brass:#A8875B;
  --brass-dark:#8A6C43;

  --max:1560px;
  --gutter:clamp(18px,4vw,64px);
  --gutter-slim:clamp(14px,1.6vw,28px);

  --f-display:"Jost","Futura","Century Gothic",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --f-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;

  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:.6s;

  --header-h:72px;        /* wysokość paska po zwinięciu logo */
  --logo-sm:56px;         /* logo po przewinięciu */
  --logo-big:104px;       /* logo na samej górze strony */
  --header-pad:8px;
  --bar-h:36px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--bone);color:var(--ink);
  font-family:var(--f-body);font-size:15px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,figure,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:1.5px solid var(--brass);outline-offset:3px}

/* ---------- Typografia ---------- */
.display{
  font-family:var(--f-display);font-weight:300;
  letter-spacing:-.01em;line-height:1.04;text-transform:none;
}
.d1{font-size:clamp(40px,6.1vw,88px)}
.d2{font-size:clamp(32px,4.6vw,64px)}
.d3{font-size:clamp(26px,3vw,42px)}
.d4{font-size:clamp(20px,2vw,28px)}

.eyebrow{
  font-family:var(--f-display);font-size:11px;font-weight:400;
  letter-spacing:.26em;text-transform:uppercase;color:var(--ink-50);
}
.lede{font-size:clamp(15px,1.15vw,17px);line-height:1.75;color:var(--ink-70);max-width:62ch}
.small{font-size:13px;color:var(--ink-50)}

/* ---------- Układ ---------- */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
/* pełna szerokość ekranu z wąskim marginesem bocznym */
.wrap--wide{max-width:none;padding-inline:var(--gutter-slim)}
.section{padding-block:clamp(56px,8vw,120px)}
.section--tight{padding-block:clamp(40px,5vw,72px)}
.rule{height:1px;background:var(--line);border:0;margin:0}
.center{text-align:center}
.stack-sm>*+*{margin-top:12px}
.stack>*+*{margin-top:20px}
.stack-lg>*+*{margin-top:32px}

/* ---------- Przyciski ---------- */
.btn{
  --bg:var(--ink);--fg:#fff;--bd:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 28px;
  background:var(--bg);color:var(--fg);border:1px solid var(--bd);
  font-family:var(--f-display);font-size:11.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);
}
.btn:hover{--bg:transparent;--fg:var(--ink)}
.btn--ghost{--bg:transparent;--fg:var(--ink);--bd:var(--ink)}
.btn--ghost:hover{--bg:var(--ink);--fg:#fff}
.btn--light{--bg:#fff;--fg:var(--ink);--bd:#fff}
.btn--light:hover{--bg:transparent;--fg:#fff;--bd:#fff}
.btn--outline-light{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.7)}
.btn--outline-light:hover{--bg:#fff;--fg:var(--ink);--bd:#fff}
.btn--block{display:flex;width:100%}
.btn--sm{min-height:40px;padding:0 20px;font-size:10.5px}

.link-u{
  font-family:var(--f-display);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  display:inline-block;padding-bottom:4px;border-bottom:1px solid var(--ink-30);
  transition:border-color .3s var(--ease),color .3s var(--ease);
}
.link-u:hover{border-color:var(--ink)}
.link-u--light{color:#fff;border-color:rgba(255,255,255,.45)}
.link-u--light:hover{border-color:#fff}

/* ---------- Pasek zapowiedzi ---------- */
.announce{
  background:var(--ink);color:#fff;height:var(--bar-h);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.announce__track{display:flex;align-items:center;gap:64px;white-space:nowrap}
.announce p{
  font-family:var(--f-display);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.9);
}
.announce__nav{display:none}

/* ---------- Nagłówek ---------- */
.header{
  position:sticky;top:0;z-index:60;
  background:#fff;transition:background .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease);
}
/* min-height zamiast height: pasek rośnie pod duże logo w stanie początkowym */
.header__inner{
  min-height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
  padding-block:var(--header-pad);
}
.header__nav{display:flex;align-items:center;gap:30px}
/* menu z WordPressa jest listą, w belce ma się układać w poziomie jak płaskie odnośniki */
.header__lista{display:flex;align-items:center;gap:30px}
.header__tools{display:flex;align-items:center;justify-content:flex-end;gap:20px}
.navlink{
  font-family:var(--f-display);font-size:11.5px;font-weight:400;
  letter-spacing:.18em;text-transform:uppercase;position:relative;padding-block:6px;
  white-space:nowrap;
}
.navlink::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;
  transition:right .4s var(--ease);
}
.navlink:hover::after,.navlink[aria-expanded="true"]::after{right:0}
.brand{display:inline-flex;align-items:center;justify-content:center;line-height:0}
/* Dwie wersje logo: biała na ciemnym tle (nagłówek nad hero, stopka), kolorowa na jasnym pasku. */
.brand__mark{height:var(--logo-sm);width:auto;transition:height .45s var(--ease)}
/* na samej górze strony logo jest duże, po ruszeniu przewijania zjeżdża do rozmiaru paska */
.header:not(.header--compact) .brand__mark{height:var(--logo-big)}
.brand__mark--color{display:none}
.header .brand__mark--color{display:block}
.header .brand__mark--white{display:none}
.footer .brand__mark{height:46px}
.icon-btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-display);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}
.icon-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.2}
.cart-count{
  display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;
  border:1px solid currentColor;border-radius:999px;font-size:9.5px;letter-spacing:0;
}
.burger{display:none}

.header--solid{background:#fff;color:var(--ink);box-shadow:0 1px 0 var(--line)}

/* ---------- Mega menu ---------- */
.mega{
  position:absolute;left:0;right:0;top:100%;background:var(--bone);color:var(--ink);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s;
}
.mega.is-open{opacity:1;visibility:visible;transform:none}
.mega__grid{display:grid;grid-template-columns:repeat(4,1fr) 1.1fr;gap:40px;padding-block:44px}
.mega h4,.mega .mega__tytul{font-weight:700;font-family:var(--f-display);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-50);margin-bottom:16px}
.mega li+li{margin-top:9px}
.mega a{font-size:14px;color:var(--ink-70);transition:color .25s}
.mega a:hover{color:var(--ink)}
.mega__promo{background:var(--stone);padding:0;overflow:hidden;position:relative}
.mega__promo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.mega__promo figcaption{position:absolute;left:20px;bottom:18px;font-family:var(--f-display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.45)}

/* ---------- Hero ---------- */
/* hero zostaje przyklejone do góry, treść pod nim nasuwa się przy przewijaniu */
.hero{position:sticky;top:0;z-index:0;min-height:min(92vh,900px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.over-hero{position:relative;z-index:1;background:var(--bone)}
.hero__media{position:absolute;inset:0}
.hero__media img,.hero__media video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04);animation:heroZoom 12s var(--ease) forwards}
.hero__media video{position:absolute;inset:0}
@keyframes heroZoom{to{transform:scale(1)}}
.hero__scrim{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(10,9,7,.42) 0%,rgba(10,9,7,.10) 32%,rgba(10,9,7,.22) 60%,rgba(10,9,7,.66) 100%)}
.hero__inner{position:relative;z-index:2;color:#fff;padding-bottom:clamp(48px,7vw,96px);padding-top:clamp(40px,6vw,80px);width:100%}
.hero__inner .lede{color:rgba(255,255,255,.82)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero__meta{position:absolute;right:var(--gutter);bottom:clamp(48px,7vw,96px);z-index:2;color:rgba(255,255,255,.7);writing-mode:vertical-rl;font-family:var(--f-display);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase}

/* ---------- Ethos / marquee ---------- */
.ethos{background:var(--ink);color:#fff;padding-block:clamp(64px,9vw,132px);text-align:center}
.ethos .d2{max-width:22ch;margin-inline:auto}
.ethos .lede{color:rgba(255,255,255,.65);margin-inline:auto;margin-top:24px}
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bone);padding-block:16px}
.marquee__track{display:flex;gap:56px;width:max-content;animation:slide 38s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee span{font-family:var(--f-display);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-50);white-space:nowrap}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- Kafle kategorii ---------- */
.tiles{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.2vw,20px)}
.tile{position:relative;overflow:hidden;background:var(--stone);display:block;isolation:isolate}
.tile--lg{grid-column:span 6;aspect-ratio:4/3.1}
.tile--sm{grid-column:span 4;aspect-ratio:3/3.4}
.tile--wide{grid-column:span 12;aspect-ratio:16/6}
.tile img,.tile video{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease)}
.tile:hover img,.tile:hover video{transform:scale(1.06)}
.tile__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.55) 100%)}
.tile__body{position:absolute;left:clamp(20px,2.4vw,36px);right:clamp(20px,2.4vw,36px);bottom:clamp(20px,2.4vw,34px);color:#fff;z-index:2}
.tile__body .eyebrow{color:rgba(255,255,255,.7)}
.tile__body h3{font-family:var(--f-display);font-weight:300;font-size:clamp(22px,2.3vw,34px);line-height:1.1;margin:8px 0 14px}

/* ---------- Sekcja split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:min(80vh,760px)}
.split__media{position:relative;overflow:hidden;background:var(--stone)}
.split__media img,.split__media video{width:100%;height:100%;object-fit:cover;display:block}
.split__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,96px);background:var(--stone)}
.split--reverse .split__media{order:2}
.split--ink .split__body{background:var(--ink);color:#fff}
.split--ink .lede{color:rgba(255,255,255,.66)}
.split--ink .eyebrow{color:rgba(255,255,255,.5)}

/* ---------- Siatka produktów ---------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(24px,3vw,44px)}
.grid-p{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,28px) clamp(12px,1.4vw,22px)}
.grid-p--3{grid-template-columns:repeat(3,1fr)}
.card{position:relative;display:flex;flex-direction:column;height:100%}
.card__media{position:relative;background:var(--paper);aspect-ratio:3/3.6;overflow:hidden;display:block}
.card__media img{width:100%;height:100%;object-fit:contain;padding:12% 14%;transition:opacity .5s var(--ease),transform 1s var(--ease)}
/* zdjęcie po najechaniu wypełnia cały kafel, bez marginesów */
.card__media img.is-alt{position:absolute;inset:0;opacity:0;object-fit:cover;padding:0}
.card:hover .card__media img.is-main{opacity:0}
.card:hover .card__media img.is-alt{opacity:1}
.card:hover .card__media img{transform:scale(1.03)}
.card__badge{
  position:absolute;top:12px;left:12px;z-index:3;background:var(--ink);color:#fff;
  font-family:var(--f-display);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;padding:5px 10px;
}
.card__badge--sale{background:var(--brass)}
.card__badge--out{background:transparent;color:var(--ink-50);border:1px solid var(--line)}
.card__body{padding-top:16px;display:flex;flex-direction:column;gap:5px;flex:1}
/* część produktów ma oceny, część nie, więc bez tego wiersz z ceną
   wypadałby w każdej karcie na innej wysokości */
.card__row{margin-top:auto;padding-top:8px}
.card__col{font-family:var(--f-display);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-50)}
.card__name{font-size:14.5px;line-height:1.4;font-weight:400}
.card__price{font-family:var(--f-display);font-size:14px;letter-spacing:.04em;display:flex;gap:10px;align-items:baseline}
.card__price del{color:var(--ink-30);font-size:12.5px}
.card__price ins{text-decoration:none;color:var(--brass-dark)}
.stars{color:var(--brass);font-size:11px;letter-spacing:.14em}

/* ---------- Opinie ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px)}
.quote p{font-family:var(--f-display);font-weight:300;font-size:clamp(17px,1.5vw,21px);line-height:1.5}
.quote footer{margin-top:16px;font-family:var(--f-display);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-50)}

/* ---------- Zalety ---------- */
.usps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,40px);border-top:1px solid var(--line);padding-top:clamp(28px,4vw,52px)}
.usp h4,.usp h3{font-weight:700;font-family:var(--f-display);font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px}
.usp p{font-size:13.5px;color:var(--ink-50);line-height:1.65}

/* ---------- Newsletter ---------- */
.news{background:var(--sand);text-align:center}
.news form{display:flex;gap:0;max-width:520px;margin:28px auto 0;border-bottom:1px solid var(--ink-30)}
.news input{flex:1;background:none;border:0;padding:14px 4px;font-size:14px}
.news input::placeholder{color:var(--ink-50)}
.news button{font-family:var(--f-display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:0 6px}

/* ---------- Stopka ---------- */
.footer{background:var(--ink);color:rgba(255,255,255,.7);padding-block:clamp(48px,6vw,84px) 28px}
.footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr) 1.1fr;gap:clamp(24px,3vw,48px)}
.footer h4,.footer .footer__tytul{font-weight:700;font-family:var(--f-display);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:#fff;margin-bottom:18px}
.footer li+li{margin-top:10px}
.footer a{font-size:13.5px;transition:color .25s}
.footer a:hover{color:#fff}
.footer .brand{color:#fff;margin-bottom:18px}
.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:clamp(36px,5vw,64px);padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:12px}
.pay{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pay img{height:15px;width:auto;opacity:.8;transition:opacity .25s}
.pay img:hover{opacity:1}
.pay span{border:1px solid rgba(255,255,255,.22);padding:4px 10px;font-family:var(--f-display);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.socials{display:flex;gap:14px}
.socials a{font-family:var(--f-display);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}

/* ---------- Okruszki ---------- */
.crumbs{display:flex;gap:8px;align-items:center;font-family:var(--f-display);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-50);padding-block:18px}
.crumbs a:hover{color:var(--ink)}

/* ---------- Kategoria ---------- */
.cat-hero{
  position:relative;
  min-height:clamp(300px,36vw,460px);
  display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);
}
.cat-hero img,.cat-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cat-hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.55))}
.cat-hero__body{position:relative;z-index:2;color:#fff;padding-bottom:clamp(24px,4vw,52px);width:100%}

.shop{display:grid;grid-template-columns:236px 1fr;gap:clamp(24px,3vw,56px);align-items:start}
.filters{position:sticky;top:calc(var(--header-h) + 16px)}
.fgroup{border-bottom:1px solid var(--line);padding-block:16px}
.fgroup:first-child{border-top:1px solid var(--line)}
.fgroup__head{display:flex;width:100%;align-items:center;justify-content:space-between;font-family:var(--f-display);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.fgroup__head span{transition:transform .3s var(--ease)}
.fgroup[data-open="false"] .fgroup__body{display:none}
.fgroup[data-open="false"] .fgroup__head span{transform:rotate(-90deg)}
.fgroup__body{padding-top:14px}
.check{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-70);cursor:pointer;padding-block:5px}
.check input{appearance:none;width:14px;height:14px;border:1px solid var(--ink-30);flex:none;transition:background .2s,border-color .2s}
.check input:checked{background:var(--ink);border-color:var(--ink)}
.check:hover{color:var(--ink)}
.check b{margin-left:auto;font-weight:400;color:var(--ink-30);font-size:12px}

.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:clamp(18px,2.4vw,30px)}
.toolbar__count{font-family:var(--f-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-50)}
.toolbar__right{display:flex;align-items:center;gap:18px}
.select{position:relative}
.select select{appearance:none;background:none;border:0;padding-right:20px;font-family:var(--f-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.select::after{content:"";position:absolute;right:4px;top:50%;width:6px;height:6px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:6px 12px;font-family:var(--f-display);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.chip button{font-size:13px;line-height:1}
.filters-open{display:none}
.filters__head{display:none}
.filters__apply{display:none}
.filters__inner{padding:0}
.empty{padding:60px 0;text-align:center;color:var(--ink-50)}
.pager{display:flex;justify-content:center;gap:6px;margin-top:clamp(32px,4vw,56px)}
.pager button{width:38px;height:38px;border:1px solid var(--line);font-family:var(--f-display);font-size:12px}
.pager button[aria-current="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- Produkt ---------- */
.pdp{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,4vw,72px);align-items:start}
.gallery{display:grid;grid-template-columns:76px 1fr;gap:14px}
.gallery__thumbs{display:flex;flex-direction:column;gap:10px}
.gallery__thumbs button{border:1px solid transparent;background:var(--paper);aspect-ratio:1;padding:8px}
.gallery__thumbs button[aria-current="true"]{border-color:var(--ink)}
.gallery__thumbs img{width:100%;height:100%;object-fit:contain}
.gallery__main{background:var(--paper);aspect-ratio:1/1.06;display:grid;place-items:center;overflow:hidden;position:relative}
.gallery__main img{width:100%;height:100%;object-fit:contain;padding:8%;transition:transform .8s var(--ease)}
.gallery__main:hover img{transform:scale(1.06)}
.pdp__info{position:sticky;top:calc(var(--header-h) + 24px)}
.price-row{display:flex;align-items:baseline;gap:14px;font-family:var(--f-display);font-size:22px}
.price-row del{color:var(--ink-30);font-size:16px}
.opt{display:flex;gap:8px;flex-wrap:wrap}
.opt button{border:1px solid var(--line);padding:10px 16px;font-family:var(--f-display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;transition:border-color .25s,background .25s}
.opt button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);height:48px}
.qty button{width:44px;height:100%;font-size:16px}
.qty input{width:44px;text-align:center;border:0;background:none;font-family:var(--f-display);font-size:14px}
.buybar{display:flex;gap:10px;align-items:stretch}
.acc{border-top:1px solid var(--line)}
.acc__item{border-bottom:1px solid var(--line)}
.acc__head{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-family:var(--f-display);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;text-align:left}
.acc__head span{transition:transform .3s var(--ease);font-size:16px;line-height:1}
.acc__item[data-open="true"] .acc__head span{transform:rotate(45deg)}
.acc__body{display:none;padding-bottom:22px;color:var(--ink-70);font-size:14px;line-height:1.75}
.acc__item[data-open="true"] .acc__body{display:block}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.specs div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px}
.specs dt{color:var(--ink-50)}
.trust{display:flex;flex-wrap:wrap;gap:18px 28px;font-family:var(--f-display);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-50)}

/* ---------- Szuflady (koszyk / menu / szukaj) ---------- */
.scrim{position:fixed;inset:0;background:rgba(20,19,15,.45);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s;z-index:90}
.scrim.is-open{opacity:1;visibility:visible}
.drawer{
  position:fixed;top:0;right:0;height:100dvh;width:min(420px,92vw);background:var(--bone);z-index:100;
  transform:translateX(100%);transition:transform .5s var(--ease);display:flex;flex-direction:column;
}
.drawer.is-open{transform:none}
.drawer--left{left:0;right:auto;transform:translateX(-100%);width:min(380px,90vw)}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:20px var(--gutter);border-bottom:1px solid var(--line)}
.drawer__head h3,.drawer__head .drawer__tytul{font-weight:700;margin:0;font-family:var(--f-display);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase}
.drawer__body{flex:1;overflow:auto;padding:20px var(--gutter)}
.drawer__foot{padding:20px var(--gutter);border-top:1px solid var(--line)}
.drawer nav a{display:block;font-family:var(--f-display);font-size:20px;font-weight:300;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.drawer__label{font-family:var(--f-display);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-50);margin-bottom:6px}
/* menu mobilne ma się zmieścić na jednym ekranie: dwie kolumny, ciaśniejsze odstępy, język w jednym rzędzie */
.drawer--menu .drawer__head,.drawer--menu .drawer__body,.drawer--menu .drawer__foot{padding-block:14px}
.drawer--menu nav ul{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.drawer--menu nav a{font-size:16px;line-height:1.35;padding:8px 0}
.drawer--menu .drawer__cats a{font-size:14px}
.drawer__body nav + .drawer__label{margin-top:18px}
.drawer__lang{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.drawer__lang button{min-width:40px;border:1px solid var(--line);padding:7px 10px;font-family:var(--f-display);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}
.drawer__lang button[aria-current="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
/* lupka po lewej istnieje tylko na telefonie, żeby zrównoważyć ikony po prawej */
.search-mobile{display:none}
.cart-line{display:grid;grid-template-columns:76px 1fr;gap:14px;padding-block:16px;border-bottom:1px solid var(--line-soft)}
.cart-line img{background:var(--paper);aspect-ratio:1;object-fit:contain;padding:8px}
.cart-empty{text-align:center;color:var(--ink-50);padding:48px 0}
.searchbar{position:fixed;top:0;left:0;right:0;background:var(--bone);z-index:100;transform:translateY(-100%);transition:transform .45s var(--ease);border-bottom:1px solid var(--line)}
.searchbar.is-open{transform:none}
.searchbar form{display:flex;align-items:center;gap:16px;padding-block:26px}
.searchbar input{flex:1;border:0;background:none;font-family:var(--f-display);font-weight:300;font-size:clamp(20px,3vw,34px)}
.searchbar input::placeholder{color:var(--ink-30)}

/* ---------- Toast ---------- */
.toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);z-index:120;
  background:var(--ink);color:#fff;padding:13px 22px;font-family:var(--f-display);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:0;pointer-events:none;
  transition:opacity .3s,transform .3s var(--ease);
}
.toast.is-on{opacity:1;transform:translate(-50%,0)}

/* ---------- Animacje wejścia ---------- */
[data-anim]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-anim].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important}
  [data-anim]{opacity:1;transform:none}
}

/* ---------- Zastępcze tło dla brakujących zdjęć ---------- */
img.is-missing{
  background:
    radial-gradient(120% 90% at 30% 10%,rgba(255,255,255,.9),rgba(0,0,0,0)),
    linear-gradient(140deg,#EDE8E0 0%,#DCD3C6 45%,#F3F0EA 100%);
  position:relative;
}
img.is-missing::after{
  content:attr(alt);position:absolute;inset:0;display:grid;place-items:center;padding:16px;
  background:linear-gradient(140deg,#EDE8E0,#DCD3C6);color:var(--ink-50);
  font-family:var(--f-display);font-size:10px;letter-spacing:.2em;text-transform:uppercase;text-align:center;
}


/* ---------- Przełącznik języka i waluty (atrapa, docelowo GTranslate) ---------- */
.lang{position:relative}
.lang__btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-display);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}
.lang__btn::after{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.lang__menu{
  position:absolute;top:calc(100% + 12px);right:0;min-width:168px;z-index:5;
  background:#fff;color:var(--ink);border:1px solid var(--line);padding:6px 0;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
}
.lang.is-open .lang__menu{opacity:1;visibility:visible;transform:none}
.lang__menu button{display:flex;width:100%;justify-content:space-between;gap:20px;padding:9px 16px;font-family:var(--f-display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;transition:background .2s}
.lang__menu button:hover{background:var(--bone)}
.lang__menu button[aria-current="true"]{color:var(--brass-dark)}
/* waluta w tym samym menu co jezyk, ale jako odnosniki: przelacza ja WooCommerce po stronie serwera */
.lang__sekcja{
  margin:8px 16px 4px;padding-top:10px;border-top:1px solid var(--line-soft);
  font-family:var(--f-display);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-50);
}
.lang__waluta{
  display:flex;width:100%;justify-content:space-between;gap:20px;padding:9px 16px;
  font-family:var(--f-display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);transition:background .2s;
}
.lang__waluta:hover{background:var(--bone)}
.lang__waluta[aria-current="true"]{color:var(--brass-dark)}
.drawer__lang a{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;
  border:1px solid var(--line);padding:7px 10px;
  font-family:var(--f-display);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  transition:background .2s,color .2s,border-color .2s;
}
.drawer__lang a:hover{border-color:var(--ink)}
.drawer__lang a[aria-current="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- Ikona koszyka na karcie produktu ---------- */
.card__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card__cart{
  flex:none;display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.card__cart svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.2}
.card__cart:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.card__cart[disabled]{opacity:.3;cursor:not-allowed}
.card__cart[disabled]:hover{background:none;color:inherit;border-color:var(--line)}

/* ---------- Sekcja historii z archiwaliami ---------- */
.ethos--historia{text-align:left}
.ethos--historia .lede{margin-inline:0}
.historia__glowa{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,72px);align-items:end}
.historia__glowa .d2{max-width:none;margin-inline:0}
.historia__galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,22px);margin-top:clamp(34px,4vw,64px)}
.historia__galeria figure{display:flex;flex-direction:column;gap:12px}
.historia__galeria figcaption{font-family:var(--f-display);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);line-height:1.6}
.zoom-frame{position:relative;overflow:hidden;background:rgba(255,255,255,.06);aspect-ratio:4/3}
.zoom-frame img{width:100%;height:100%;object-fit:cover;display:block}
/* element z efektem powiększania startuje od 90%, więc potrzebuje zapasu na krawędziach */
.zoom-frame [data-zoom]{position:absolute;top:-6%;left:-6%;width:112%;height:112%}

/* ---------- Aktualności ---------- */
.grid-news{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,40px)}
.news-card{display:flex;flex-direction:column}
.news-card__media{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--stone)}
.news-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.news-card:hover .news-card__media img{transform:scale(1.05)}
.news-card__meta{display:flex;align-items:center;gap:14px;margin-top:18px;font-family:var(--f-display);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-50)}
.news-card h3{font-family:var(--f-display);font-weight:300;font-size:clamp(19px,1.6vw,25px);line-height:1.25;margin-top:10px}
.news-card p{font-size:14px;line-height:1.7;color:var(--ink-70);margin-top:10px}
.news-card .link-u{margin-top:20px;align-self:flex-start}

/* ---------- Udostępnianie na karcie produktu ---------- */
.share{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.share__label{font-family:var(--f-display);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-50);margin-right:4px}
.share a,.share button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.share a:hover,.share button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.share svg{width:16px;height:16px;fill:currentColor;stroke:none}
.share__copy svg{fill:none;stroke:currentColor;stroke-width:1.4}


/* ---------- Elementy wymagane przez WordPress ---------- */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.skip-link:focus{
  position:fixed!important;top:10px;left:10px;z-index:200;width:auto;height:auto;
  clip:auto;clip-path:none;background:var(--ink);color:#fff;padding:12px 18px;
  font-family:var(--f-display);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
}
.szukajka{display:flex;gap:10px;align-items:stretch}
.szukajka input{flex:1;border:1px solid var(--line);background:var(--paper);padding:0 16px;min-height:44px;font-size:14px}

/* treść stron i wpisów wychodząca z edytora */
/* opis kategorii pod listą produktów: kontener taki jak w stopce, tekst na pełną szerokość */
.cat-opis{border-top:1px solid var(--line)}
.cat-opis__tresc{max-width:none}
.cat-opis__tresc>h2:first-child,.cat-opis__tresc>h3:first-child{margin-top:0}

.tresc-strony,.tresc-wpisu{font-size:15.5px;line-height:1.8;color:var(--ink-70)}
.tresc-strony>*+*,.tresc-wpisu>*+*{margin-top:20px}
.tresc-strony h2,.tresc-wpisu h2{font-family:var(--f-display);font-weight:300;font-size:clamp(24px,2.4vw,34px);line-height:1.15;color:var(--ink);margin-top:40px}
.tresc-strony h3,.tresc-wpisu h3{font-family:var(--f-display);font-weight:300;font-size:clamp(19px,1.8vw,25px);line-height:1.2;color:var(--ink);margin-top:32px}
.tresc-strony a,.tresc-wpisu a{color:var(--ink);border-bottom:1px solid var(--ink-30);transition:border-color .25s}
.tresc-strony a:hover,.tresc-wpisu a:hover{border-color:var(--ink)}
.tresc-strony ul,.tresc-wpisu ul{list-style:disc;padding-left:22px}
.tresc-strony ol,.tresc-wpisu ol{list-style:decimal;padding-left:22px}
.tresc-strony li+li,.tresc-wpisu li+li{margin-top:8px}
.tresc-strony blockquote,.tresc-wpisu blockquote{border-left:2px solid var(--brass);padding-left:22px;font-family:var(--f-display);font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:var(--ink)}
.tresc-strony img,.tresc-wpisu img{height:auto}
.tresc-strony figcaption,.tresc-wpisu figcaption{font-size:12.5px;color:var(--ink-50);margin-top:8px}

/* stronicowanie WordPressa korzysta z odnosnikow, nie przyciskow */
.pager a,.pager span{
  display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 10px;
  border:1px solid var(--line);font-family:var(--f-display);font-size:12px;
}
.pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}


/* widżet GTranslate musi się zainicjować, więc chowamy go stylem, a nie atrybutem hidden */
.gt-ukryty{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}

/* ---------- WooCommerce ---------- */
/* filtry sa odnosnikami, nie polami formularza: wynik da sie zalinkowac */
.check{text-decoration:none}
.check__box{width:14px;height:14px;border:1px solid var(--ink-30);flex:none;transition:background .2s var(--ease),border-color .2s var(--ease)}
.check.is-on{color:var(--ink)}
.check.is-on .check__box{background:var(--ink);border-color:var(--ink)}
.chip a{font-size:13px;line-height:1;text-decoration:none}

/* sortowanie WooCommerce w oprawie motywu */
.woocommerce-ordering{position:relative}
.woocommerce-ordering select{
  appearance:none;background:none;border:0;padding-right:20px;cursor:pointer;
  font-family:var(--f-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
}
.woocommerce-ordering::after{
  content:"";position:absolute;right:4px;top:50%;width:6px;height:6px;
  border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);
  transform:translateY(-70%) rotate(45deg);pointer-events:none;
}
.woocommerce-result-count{display:none}

/* przyciski i pola WooCommerce */
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button,.woocommerce #respond input#submit{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 28px;border-radius:0;
  background:var(--ink);color:#fff;border:1px solid var(--ink);
  font-family:var(--f-display);font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  transition:background .35s var(--ease),color .35s var(--ease);
}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button:hover,.woocommerce #respond input#submit:hover{background:transparent;color:var(--ink)}
.single_add_to_cart_button{flex:1}

.quantity{display:inline-flex;align-items:center;border:1px solid var(--line);height:48px}
.quantity input.qty{
  width:58px;height:100%;text-align:center;border:0;background:none;
  font-family:var(--f-display);font-size:14px;-moz-appearance:textfield;
}
.quantity input.qty::-webkit-outer-spin-button,.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
form.cart{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}

/* komunikaty */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{
  list-style:none;border:1px solid var(--line);border-left:2px solid var(--brass);
  background:var(--paper);padding:16px 20px;margin-bottom:20px;font-size:14px;
}
.woocommerce-notices-wrapper .woocommerce-error{border-left-color:#B23B2E}

/* baner rzemiosla na karcie produktu potrzebuje oddechu po siatce produktow */
.single-product .split--ink{margin-top:clamp(64px,8vw,128px)}

/* produkty powiazane i uzupelniajace */
.related.products,.upsells.products{margin-top:clamp(56px,7vw,110px)}
.related.products>h2,.upsells.products>h2{
  font-family:var(--f-display);font-weight:300;font-size:clamp(26px,3vw,42px);
  line-height:1.04;margin-bottom:clamp(24px,3vw,44px);
}
.related.products .products,.upsells.products .products{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,28px) clamp(12px,1.4vw,22px);
  list-style:none;margin:0;padding:0;
}
/* WooCommerce dokłada do listy produktów pseudoelementy czyszczące spod układu z pływaniem.
   W siatce zajmują one komórki, przez co pierwszy kafelek startuje z drugiego pola,
   a kolejne rzędy się rozjeżdżają. */
.related.products .products::before,.related.products .products::after,
.upsells.products .products::before,.upsells.products .products::after{content:none}
.related.products .products>*,.upsells.products .products>*{width:auto;float:none;margin:0;clear:none}
@media (max-width:1180px){.related.products .products,.upsells.products .products{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.related.products .products,.upsells.products .products{grid-template-columns:repeat(2,1fr)}}

/* koszyk, kasa i konto w typografii motywu */
.woocommerce-cart table.shop_table,.woocommerce-checkout table.shop_table{width:100%;border-collapse:collapse;font-size:14px}
.woocommerce-cart table.shop_table th,.woocommerce-checkout table.shop_table th{
  font-family:var(--f-display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  text-align:left;padding:14px 0;border-bottom:1px solid var(--line);
}
.woocommerce-cart table.shop_table td,.woocommerce-checkout table.shop_table td{padding:16px 0;border-bottom:1px solid var(--line-soft)}

/* ---------- Koszyk ---------- */
.strona-sklep{max-width:var(--max)}
/* towary po lewej, podsumowanie po prawej i przyklejone przy przewijaniu */
.woocommerce-cart .tresc-strony>.woocommerce{
  display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.85fr);
  gap:clamp(28px,4vw,72px);align-items:start;
}
.woocommerce-cart .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart .woocommerce-cart-form{min-width:0}
.woocommerce-cart .cart-collaterals{width:auto;float:none;position:sticky;top:calc(var(--header-h) + 20px)}
.woocommerce-cart .cart-collaterals .cart_totals{width:auto;float:none}

.woocommerce-cart table.cart th{padding-bottom:12px}
.woocommerce-cart table.cart td{vertical-align:middle;padding:22px 0}
.woocommerce-cart table.cart td.product-thumbnail{width:96px;padding-right:20px}
.woocommerce-cart table.cart td.product-thumbnail img{
  width:88px;min-width:88px;height:106px;object-fit:contain;background:var(--bone);padding:8px;display:block;
}
.woocommerce-cart table.cart td.product-name a{
  font-size:15px;line-height:1.45;color:var(--ink);border:0;text-decoration:none;
}
.woocommerce-cart table.cart td.product-name a:hover{color:var(--brass-dark)}
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal{font-family:var(--f-display);font-size:14px;letter-spacing:.04em;white-space:nowrap}
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.cart th.product-subtotal{text-align:right}
.woocommerce-cart table.cart td.product-remove{width:34px;padding-right:8px}
.woocommerce-cart table.cart td.product-remove a.remove{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border:1px solid var(--line);border-radius:50%;
  color:var(--ink-50)!important;background:none!important;font-size:15px;line-height:1;text-decoration:none;
  transition:color .25s var(--ease),border-color .25s var(--ease);
}
.woocommerce-cart table.cart td.product-remove a.remove:hover{color:var(--ink)!important;border-color:var(--ink)}
.woocommerce-cart table.cart td.product-quantity .quantity{height:44px}

/* wiersz z kuponem i odswiezeniem koszyka.
   Komorka ma colspan na cala tabele, wiec zostaje komorka tabeli:
   przy display:flex jej szerokosc spada do szerokosci pierwszej kolumny.
   Uklad robimy wewnatrz: kupon z lewej, odswiezenie z prawej. */
.woocommerce-cart table.cart td.actions{padding:24px 0 0;border-bottom:0;text-align:right}
.woocommerce-cart table.cart td.actions::after{content:"";display:block;clear:both}
.woocommerce-cart table.cart td.actions .coupon{
  float:left;display:flex;gap:12px;width:min(520px,62%);text-align:left;
}
.woocommerce-cart table.cart td.actions .coupon label{display:none}
.woocommerce-cart table.cart td.actions .coupon input#coupon_code{
  flex:1;min-width:0;height:48px;border:1px solid var(--line);background:var(--paper);
  padding:0 14px;font-size:14px;
}

/* podsumowanie jako karta */
.woocommerce-cart .cart_totals{border:1px solid var(--line);background:var(--paper);padding:clamp(22px,2.4vw,32px)}
.woocommerce-cart .cart_totals h2{
  font-family:var(--f-display);font-weight:300;font-size:clamp(20px,2vw,26px);
  line-height:1.1;margin-bottom:20px;
}
.woocommerce-cart .cart_totals table.shop_table{border:0}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  border:0;border-bottom:1px solid var(--line-soft);padding:14px 0;vertical-align:top;
}
.woocommerce-cart .cart_totals table.shop_table tr:last-child th,
.woocommerce-cart .cart_totals table.shop_table tr:last-child td{border-bottom:0}
.woocommerce-cart .cart_totals table.shop_table td{text-align:right;font-family:var(--f-display);font-size:14px}
.woocommerce-cart .cart_totals .order-total td{font-size:18px;letter-spacing:.02em}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .shipping-calculator-button{
  font-family:var(--f-body);font-size:12.5px;line-height:1.6;color:var(--ink-50);text-align:right;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout{margin-top:24px;padding:0}
.woocommerce-cart .cart_totals .checkout-button{width:100%}

/* ---------- Kasa ---------- */
/* dane zamowienia po lewej, podsumowanie po prawej i przyklejone */
.woocommerce-checkout .tresc-strony form.checkout{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);
  /* pierwszy rzad na wysokosc naglowka, drugi bierze reszte -
     bez tego kolumna z danymi rozpina oba rzedy i karta zamowienia odjezdza w dol */
  grid-template-rows:auto 1fr;
  column-gap:clamp(28px,4vw,72px);row-gap:0;align-items:start;
}
/* kolumna z danymi obejmuje oba rzedy, inaczej podsumowanie spada pod nia */
.woocommerce-checkout .tresc-strony form.checkout #customer_details{grid-column:1;grid-row:1/span 2;min-width:0}
.woocommerce-checkout .tresc-strony form.checkout #order_review_heading,
.woocommerce-checkout .tresc-strony form.checkout #order_review{grid-column:2}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:auto;float:none}
.woocommerce-checkout #customer_details .col-2{margin-top:28px}
.woocommerce-checkout #order_review_heading{
  font-family:var(--f-display);font-weight:300;font-size:clamp(20px,2vw,26px);line-height:1.1;margin-bottom:16px;
}
.woocommerce-checkout #order_review{
  border:1px solid var(--line);background:var(--paper);padding:clamp(22px,2.4vw,32px);
  position:sticky;top:calc(var(--header-h) + 20px);
}
.woocommerce-checkout #order_review table.shop_table{border:0}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{border:0;border-bottom:1px solid var(--line-soft);padding:12px 0}
.woocommerce-checkout #order_review table.shop_table td{text-align:right;font-family:var(--f-display)}
.woocommerce-checkout #order_review .order-total td{font-size:18px}
.woocommerce-checkout #payment{background:none;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:18px 0 0}
.woocommerce-checkout #payment div.form-row{padding:12px 0 0}
.woocommerce-checkout #payment #place_order{width:100%}
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin-bottom:24px}

@media (max-width:980px){
  .woocommerce-checkout .tresc-strony form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout .tresc-strony form.checkout #customer_details,
  .woocommerce-checkout .tresc-strony form.checkout #order_review_heading,
  .woocommerce-checkout .tresc-strony form.checkout #order_review{grid-column:1;grid-row:auto}
  .woocommerce-checkout #order_review{position:static}
}

/* komunikaty WooCommerce: domyslnie maja niebieska ramke i liliowe tlo */
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews{
  background:var(--bone);border:1px solid var(--line);border-top:2px solid var(--brass);
  padding:16px 20px;margin:0 0 28px;font-size:14px;line-height:1.6;color:var(--ink-70);
  list-style:none;
}
.woocommerce-error{border-top-color:#9C3B2E}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before{display:none}
.woocommerce-info a,.woocommerce-message a{color:var(--ink);border-bottom:1px solid var(--ink-30)}
.woocommerce-info .button,.woocommerce-message .button{float:none;margin-left:14px}

/* pola formularza: jednolita ramka, wyrazny stan aktywny */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout #order_comments,
.select2-container--default .select2-selection--single{
  border:1px solid var(--line)!important;background:var(--paper)!important;border-radius:0!important;
  font-family:var(--f-body);font-size:14px;color:var(--ink);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{height:48px;padding:0 14px}
.woocommerce form .form-row textarea,.woocommerce-checkout #order_comments{padding:12px 14px;min-height:96px;line-height:1.6}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:0;border-color:var(--ink)!important;box-shadow:0 0 0 1px var(--ink)}
.woocommerce form .form-row{margin-bottom:18px}
.woocommerce form .form-row label .required{color:var(--brass-dark);text-decoration:none}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:auto;float:none}

/* naglowki sekcji w kasie */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-additional-fields h3{
  font-family:var(--f-display);font-weight:300;font-size:clamp(20px,2vw,26px);
  line-height:1.1;margin-bottom:20px;
}
.woocommerce-checkout #ship-to-different-address{
  font-family:var(--f-display);font-weight:300;font-size:clamp(18px,1.7vw,22px);
  margin:32px 0 16px;
}
.woocommerce-checkout #ship-to-different-address label{display:inline-flex;align-items:center;gap:10px;cursor:pointer}

/* pola wyboru w kolorze marki */
.woocommerce input[type="checkbox"],.woocommerce input[type="radio"]{
  accent-color:var(--ink);width:17px;height:17px;margin:0;cursor:pointer;
}

/* metody platnosci */
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0;padding:18px 0 0}
.woocommerce-checkout #payment ul.payment_methods li{margin:0 0 10px;padding:0}
.woocommerce-checkout #payment ul.payment_methods li label{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-display);font-size:13px;letter-spacing:.06em;color:var(--ink);cursor:pointer;
}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:24px;width:auto;margin-left:6px}
.woocommerce-checkout #payment div.payment_box{
  background:var(--bone);border:1px solid var(--line);border-radius:0;
  margin:10px 0 0;padding:14px 16px;font-size:13px;line-height:1.6;color:var(--ink-70);
}
.woocommerce-checkout #payment div.payment_box::before{display:none}

/* zgody i informacja o danych */
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:13px;line-height:1.7;color:var(--ink-50);margin-top:18px}
.woocommerce-checkout .woocommerce-privacy-policy-text a{color:var(--ink);border-bottom:1px solid var(--ink-30)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin-top:16px}
.woocommerce-checkout .validate-required.woocommerce-validated label.checkbox,
.woocommerce-checkout .form-row.validate-required label.checkbox{
  display:flex;align-items:flex-start;gap:10px;
  font-family:var(--f-display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-70);line-height:1.5;cursor:pointer;
}
.woocommerce-checkout .form-row.validate-required label.checkbox a{color:var(--ink);border-bottom:1px solid var(--ink-30)}
.woocommerce-checkout #payment .form-row.place-order{margin-top:20px;padding:0}

/* pusty koszyk */
.woocommerce-cart .cart-empty{font-size:16px}
.woocommerce-cart .return-to-shop{margin-top:20px}

@media (max-width:980px){
  .woocommerce-cart .tresc-strony>.woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .cart-collaterals{position:static}
}
@media (max-width:620px){
  /* WooCommerce ma wlasny tryb responsywny dla tabel: chowa miniaturke
     i dokleja przed kazda komorka etykiete z naglowka kolumny.
     Wylaczamy to i skladamy wiersz sami. */
  .woocommerce-cart table.cart,
  .woocommerce-cart table.cart tbody{display:block}
  .woocommerce-cart table.cart thead{display:none}
  .woocommerce-cart table.cart tr.cart_item{
    display:grid;
    grid-template-columns:88px minmax(0,1fr) auto;
    grid-template-areas:
      "foto nazwa usun"
      "foto cena cena"
      "foto ilosc kwota";
    gap:8px 14px;align-items:center;
    padding:20px 0;border-bottom:1px solid var(--line-soft);
  }
  .woocommerce-cart table.cart tr.cart_item td{
    display:block!important;border:0!important;padding:0!important;text-align:left!important;
  }
  .woocommerce-cart table.cart tr.cart_item td::before{content:none!important;display:none!important}
  .woocommerce-cart table.cart td.product-thumbnail{grid-area:foto;width:auto!important;align-self:start}
  .woocommerce-cart table.cart td.product-name{grid-area:nazwa}
  .woocommerce-cart table.cart td.product-remove{grid-area:usun;width:auto;justify-self:end;align-self:start}
  .woocommerce-cart table.cart td.product-price{grid-area:cena;color:var(--ink-50)}
  .woocommerce-cart table.cart td.product-quantity{grid-area:ilosc}
  .woocommerce-cart table.cart td.product-subtotal{grid-area:kwota;justify-self:end;text-align:right!important}

  .woocommerce-cart table.cart tbody tr:last-child{display:block}
  .woocommerce-cart table.cart td.actions{display:block!important;text-align:left;padding:20px 0 0!important}
  .woocommerce-cart table.cart td.actions .coupon{float:none;width:100%;margin-bottom:12px}
  .woocommerce-cart table.cart td.actions .button{width:100%}
}
.woocommerce form .form-row label{font-family:var(--f-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-50);display:block;margin-bottom:6px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  width:100%;border:1px solid var(--line);background:var(--paper);padding:12px 14px;font-size:14px;
}
/* ---------- Kontakt ---------- */
.kontakt__glowa{margin-bottom:clamp(32px,4vw,60px)}
.kontakt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,72px);align-items:start}
.kontakt__dane{max-width:46ch}
.kontakt__grupa+.kontakt__grupa{margin-top:clamp(26px,3vw,40px)}
.kontakt__etykieta{
  font-family:var(--f-display);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink-50);margin-bottom:8px;
}
.kontakt__dana{font-size:17px;line-height:1.6;color:var(--ink)}
.kontakt__dana a{color:var(--ink);border-bottom:1px solid var(--ink-30);transition:border-color .25s var(--ease)}
.kontakt__dana a:hover{border-color:var(--ink)}
.kontakt__drobne{font-size:14px;line-height:1.7;color:var(--ink-70)}
.kontakt__spolecznosci{display:flex;flex-wrap:wrap;gap:10px}
.kontakt__spolecznosci a{
  display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border:1px solid var(--line);
  font-family:var(--f-display);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.kontakt__spolecznosci a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

.kontakt__foto{margin:0}
.kontakt__foto img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.kontakt__foto figcaption{margin-top:14px}

.kontakt__skroty{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px);
  margin-top:clamp(48px,6vw,96px);padding-top:clamp(32px,4vw,56px);border-top:1px solid var(--line);
}
.kontakt__skrot{
  display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2.2vw,30px);
  border:1px solid var(--line);background:var(--paper);
  transition:border-color .3s var(--ease),transform .3s var(--ease);
}
.kontakt__skrot:hover{border-color:var(--ink);transform:translateY(-2px)}
.kontakt__skrot-tytul{font-family:var(--f-display);font-size:15px;line-height:1.3;color:var(--ink)}
.kontakt__skrot-opis{font-size:13px;line-height:1.6;color:var(--ink-50)}

@media (max-width:900px){
  .kontakt{grid-template-columns:1fr}
  .kontakt__dane{max-width:none}
  .kontakt__foto{order:-1}
  .kontakt__skroty{grid-template-columns:1fr}
}

/* ---------- Moje konto ---------- */
/* strona konta idzie na pelnej szerokosci, ale sam formularz logowania
   rozciagniety na 1310 px wygladalby absurdalnie */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword{
  max-width:520px;border:1px solid var(--line);background:var(--paper);
  padding:clamp(24px,3vw,40px);margin:0;
}
.woocommerce-account .tresc-strony>.woocommerce>h2{
  font-family:var(--f-display);font-weight:300;font-size:clamp(20px,2vw,26px);
  line-height:1.1;margin-bottom:20px;
}
.woocommerce-account .woocommerce-form-login__rememberme{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-70);
}
.woocommerce-account .woocommerce-form-login__submit{width:100%;margin-bottom:16px}
.woocommerce-account .woocommerce-LostPassword{margin:0;font-size:13px}
.woocommerce-account .woocommerce-LostPassword a{color:var(--ink);border-bottom:1px solid var(--ink-30)}
.woocommerce-account .u-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,520px));gap:clamp(24px,3vw,48px)}
.woocommerce-account .u-columns .col-1,.woocommerce-account .u-columns .col-2{width:auto;float:none}

.woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.woocommerce-MyAccount-navigation a{
  display:inline-block;border:1px solid var(--line);padding:10px 16px;
  font-family:var(--f-display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
}
.woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:#fff;border-color:var(--ink)}


/* ---------- Przycisk WhatsApp (wtyczka Joinchat) ---------- */
/* Wtyczka zostaje, podmieniamy tylko wygląd, żeby przycisk pasował do reszty strony.
   Zielony kolor marki WhatsApp zachowujemy, bo to on czyni przycisk rozpoznawalnym. */
.joinchat{
  --joinchat-color:#25D366;
  --joinchat-ico-color:#fff;
  --joinchat-font:var(--f-body);
  right:clamp(14px,2vw,28px)!important;
  bottom:clamp(14px,2vw,28px)!important;
}
.joinchat__button{
  width:54px!important;height:54px!important;
  box-shadow:0 8px 26px rgba(0,0,0,.24)!important;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)!important;
}
.joinchat__button:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(0,0,0,.3)!important;
}
.joinchat__bubble{
  font-family:var(--f-body);font-size:13.5px;line-height:1.55;
  border-radius:2px!important;box-shadow:0 8px 26px rgba(0,0,0,.18)!important;
}
.joinchat__chatbox{border-radius:2px!important}
.joinchat__header{font-family:var(--f-display);letter-spacing:.12em;text-transform:uppercase}

@media (max-width:820px){
  .joinchat__button{width:48px!important;height:48px!important}
}

/* ==========================================================================
   RWD
   ========================================================================== */
@media (max-width:1180px){
  .grid-p{grid-template-columns:repeat(3,1fr)}
  .mega__grid{grid-template-columns:repeat(3,1fr);gap:28px}
  .mega__promo{display:none}
  .footer__grid{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:1024px){
  .header__lista{display:none}
  .burger{display:inline-flex}
  .shop{grid-template-columns:1fr}
  .filters{position:fixed;inset:0;z-index:100;background:var(--bone);padding:0;overflow:auto;transform:translateX(-100%);transition:transform .45s var(--ease)}
  .filters.is-open{transform:none}
  .filters__inner{padding:20px var(--gutter) 96px}
  .filters__head{display:flex;align-items:center;justify-content:space-between;padding:18px var(--gutter);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bone);z-index:2}
  .filters__apply{display:block;position:sticky;bottom:0;padding:14px var(--gutter);background:var(--bone);border-top:1px solid var(--line)}
  .filters-open{display:inline-flex}
  .pdp{grid-template-columns:1fr}
  .pdp__info{position:static}
  .split{grid-template-columns:1fr}
  .split--reverse .split__media{order:0}
  .usps{grid-template-columns:1fr 1fr;gap:26px}
  .historia__glowa{grid-template-columns:1fr;align-items:start}
  .historia__galeria{grid-template-columns:repeat(2,1fr)}
  .grid-news{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  :root{--header-h:60px;--logo-big:72px;--logo-sm:44px}
  .burger{display:inline-flex}
  .header__inner{grid-template-columns:1fr auto 1fr}
  .header__nav{gap:14px}
  .icon-btn span{display:none}
  .mega{display:none}
  .tile--lg,.tile--sm{grid-column:span 6;aspect-ratio:3/3.4}
  .tile--wide{aspect-ratio:16/11}
  .quotes{grid-template-columns:1fr;gap:32px}
  .grid-p{grid-template-columns:repeat(2,1fr)}
  .grid-p--3{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:1fr}
  .gallery__thumbs{flex-direction:row;order:2;overflow:auto}
  .gallery__thumbs button{width:72px;flex:none}
  .footer__grid{grid-template-columns:1fr 1fr}
  .specs{grid-template-columns:1fr}
  .hero__meta{display:none}
  .grid-news{grid-template-columns:1fr}
  /* symetria: lupka idzie na lewo obok menu, język i waluta do szuflady */
  .search-mobile{display:inline-flex}
  .header__tools .icon-btn[data-open="search"],.header__tools .lang{display:none}
  .wa{width:48px;height:48px}
  .wa svg{width:25px;height:25px}
}
@media (max-width:520px){
  .tile--lg,.tile--sm{grid-column:span 12;aspect-ratio:3/3.2}
  .usps{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
  .card__media{aspect-ratio:3/3.4}
  .hero__cta .btn{flex:1}
}

/* ---------- AEO/GEO: definicja kategorii, spis treści, FAQ ---------- */
.definicja{max-width:760px;margin:0 0 clamp(28px,4vw,48px);padding-left:20px;border-left:2px solid var(--brass)}
.definicja__pytanie{font-family:var(--f-display);font-weight:300;font-size:clamp(22px,2.4vw,30px);line-height:1.25;margin:0 0 12px}
.definicja__odpowiedz{font-size:16px;line-height:1.75;color:var(--ink-70);margin:0}
.toc{max-width:760px;margin:0 0 clamp(28px,4vw,48px);padding:20px 24px;background:var(--bone);border:1px solid var(--line)}
.toc__tytul{font-family:var(--f-display);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px;font-size:14px;line-height:1.7}
.toc li{break-inside:avoid}
.toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
.toc a:hover,.toc a:focus-visible{border-bottom-color:var(--brass)}
.cat-opis__tresc [id]{scroll-margin-top:110px}
.faq{max-width:860px;margin-top:clamp(40px,5vw,72px)}
.faq__tytul{font-family:var(--f-display);font-weight:300;font-size:clamp(24px,2.6vw,34px);margin:0 0 18px}
.faq__lista{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__pytanie{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;cursor:pointer;list-style:none}
.faq__pytanie::-webkit-details-marker{display:none}
.faq__pytanie h3{font-family:var(--f-body,inherit);font-size:16px;font-weight:500;line-height:1.45;margin:0;letter-spacing:0;text-transform:none}
.faq__znak{font-size:18px;line-height:1;flex:none;transition:transform .3s var(--ease)}
.faq__item[open] .faq__znak{transform:rotate(45deg)}
.faq__pytanie:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.faq__odpowiedz{padding:0 0 20px;color:var(--ink-70);font-size:15px;line-height:1.75;max-width:72ch}
.faq__odpowiedz p{margin:0}
.tresc-strony + .faq{margin-top:clamp(40px,5vw,64px)}
@media (max-width:640px){.toc ol{columns:1}.definicja{padding-left:14px}}

/* ---------- CMv2: baner zgód (style.txt z paczki Designum, kolory marki) ---------- */
#cc-main {
  --cc-font-family: var(--f-body);
  --cc-btn-primary-bg: #14130F;
  --cc-btn-primary-border-color: #14130F;
  --cc-btn-primary-hover-bg: #8A6C43;
  --cc-btn-primary-hover-border-color: #8A6C43;
  --cc-toggle-on-bg: var(--cc-btn-primary-bg);
  --cc-btn-border-radius: 0;
  --cc-pm--box-border-radius: 10px;
}
.disable--interaction #cc-main .cm-wrapper::before {
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(4px);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  z-index: 0;
}
.show--consent #cc-main .cc--anim .cm--middle { border-radius: 10px; }
#cc-main .cm__btns { border-radius: 10px; }
.show--preferences #cc-main .cc--anim .pm--box { border-radius: 10px !important; }
#cc-main .pm-overlay {
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(4px);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  z-index: 0;
}
/* przycisk "Odrzuć" na pierwszym ekranie zostaje widoczny (style.txt z paczki go ukrywa) - decyzja z 26.10.2026: odrzucenie równie łatwe jak akceptacja */
#cc-main .cm__title { font-family: var(--f-display); font-weight: 400; }
.footer__zgody { background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.footer__zgody:hover, .footer__zgody:focus-visible { color: #fff; }
