/* Sklep Potfur x Waglees — wspolny CSS dla wszystkich 5 stron.
 * Reusuje tokeny z landing2.html: kolory, fonty, spacing, komponenty.
 * Bez myslnikow em/en. Wszystko po polsku. */

:root{
  --color-primary:#54595F;
  --color-secondary:#8B8D8F;
  --color-text:#7A7A7A;
  --color-ink:#1F1A2E;
  --color-ink-2:rgba(31,26,46,.62);
  --color-accent:#DF3080;
  --color-accent-d:#C42671;
  --color-magenta:#FA3DD3;
  --color-orange:#FA8C00;
  --color-yellow:#FFD23F;
  --color-cream:#FFFBF3;
  --color-paper:#FFFFFF;
  --color-paper-soft:#FCFAFF;
  --color-pale-pink:#FFF0F0;
  --color-pale-blue:#DDF1FF;
  --color-pale-green:#E8FFE2;
  --color-pale-lavender:#F9F8FF;
  --color-pale-sky:#F4F9FF;
  --color-blue:#67BDFB;
  --color-green:#A4D477;
  --color-purple:#957DD5;
  --color-hair:rgba(31,15,46,.12);
  --color-success:#10B981;
  --color-warn:#FA8C00;
  --color-danger:#EF4444;
  --r-img:12px;
  --r-card:16px;
  --r-btn:8px;
  --font-display:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-body:'Roboto',-apple-system,sans-serif;
  --font-serif:'Roboto Slab',Georgia,serif;
  --font-mono:'JetBrains Mono','SF Mono',Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--color-cream);color:var(--color-text);font-family:var(--font-body);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block;border-radius:var(--r-img)}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:1300px;margin:0 auto;padding:0 24px}
.serif{font-family:var(--font-serif);font-weight:400;font-style:italic;color:var(--color-accent)}
.label-up{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}
.star-tag{color:var(--color-accent)}

/* TICKER */
.ticker-bar{background:var(--color-primary);color:#fff;padding:9px 0;font-size:13px;text-align:center;font-family:var(--font-body)}
.ticker-bar a{color:var(--color-yellow);font-weight:500}
.ticker-bar a:hover{text-decoration:underline}

/* NAV */
.nav{padding:18px 0;background:rgba(255,251,243,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(84,89,95,.08);position:sticky;top:0;z-index:50}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--color-accent);display:flex;align-items:center;justify-content:center}
.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:0}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-family:var(--font-display);font-weight:800;font-size:16px;color:var(--color-primary);letter-spacing:-.01em}
.brand-text small{font-family:var(--font-body);font-size:11px;color:var(--color-secondary);font-weight:400;margin-top:3px}
.nav-links{display:flex;gap:22px;font-family:var(--font-display);font-size:14px;font-weight:500;color:var(--color-primary)}
.nav-links a:hover{color:var(--color-accent)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;background:var(--color-accent);color:#fff;font-family:var(--font-display);font-weight:600;font-size:14px;border-radius:var(--r-btn);transition:all .18s;cursor:pointer;text-decoration:none;border:2px solid var(--color-accent)}
.btn:hover{background:var(--color-accent-d);border-color:var(--color-accent-d);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--color-accent)}
.btn-outline:hover{background:var(--color-accent);color:#fff}
.btn-dark{background:var(--color-ink);border-color:var(--color-ink);color:#fff}
.btn-dark:hover{background:#000;border-color:#000;color:var(--color-yellow)}
.btn-yellow{background:var(--color-yellow);border-color:var(--color-yellow);color:var(--color-ink)}
.btn-yellow:hover{background:#FFC500;border-color:#FFC500;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--color-primary);border-color:var(--color-hair)}
.btn-ghost:hover{background:var(--color-paper);border-color:var(--color-primary)}
.btn-lg{padding:18px 32px;font-size:16px;border-radius:10px}
.btn-block{width:100%;justify-content:center}

/* PRODUCT HERO */
.product-hero{padding:60px 0 80px;background:var(--color-cream);position:relative;overflow:hidden}
.product-hero::before{content:'★';position:absolute;top:40px;right:6%;font-size:200px;color:var(--color-accent);opacity:.06;line-height:1;font-family:var(--font-display);pointer-events:none}
.product-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start;position:relative;z-index:2}

/* Lewa: galeria zdjec */
.gallery{display:grid;grid-template-columns:80px 1fr;gap:14px}
.thumbs{display:flex;flex-direction:column;gap:10px}
.thumb{width:80px;height:80px;background:var(--color-ink);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid transparent;transition:all .18s;overflow:hidden}
.thumb img{width:75%;height:auto;border-radius:0}
.thumb.active{border-color:var(--color-yellow);transform:scale(1.04)}
.thumb:hover{border-color:var(--color-accent)}
.main-shot{aspect-ratio:1/1.05;background:var(--color-ink);border:2px solid var(--color-yellow);border-radius:var(--r-card);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(31,26,46,.18)}
.main-shot img{max-width:78%;max-height:90%;border-radius:0}
.main-shot .badge-edition{position:absolute;top:18px;left:18px;background:var(--color-yellow);color:var(--color-ink);font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:6px}
.main-shot .badge-edition strong{display:block;font-size:13px}

/* Prawa: opis + warianty + CTA */
.product-meta h1{font-family:var(--font-display);font-weight:800;font-size:clamp(40px,5vw,64px);line-height:.98;letter-spacing:-.028em;color:var(--color-primary);margin:18px 0 18px}
.product-meta h1 .serif{color:var(--color-accent)}
.product-lead{font-family:var(--font-body);font-size:17px;line-height:1.6;color:var(--color-text);max-width:520px;margin-bottom:28px}
.product-lead strong{color:var(--color-primary);font-weight:700;background:linear-gradient(180deg,transparent 60%,rgba(255,210,63,.45) 60%);padding:0 2px}

.price-row{display:flex;align-items:baseline;gap:14px;margin-bottom:26px}
.price{font-family:var(--font-display);font-weight:900;font-size:64px;color:var(--color-ink);letter-spacing:-.04em;line-height:.9}
.price-sub{font-family:var(--font-mono);font-size:12px;color:var(--color-ink-2);letter-spacing:.06em;text-transform:uppercase}

.option-block{margin-bottom:22px}
.option-block .lbl{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-2)}
.option-block .lbl .picked{color:var(--color-ink);font-weight:600}
.size-grid{display:flex;gap:8px;flex-wrap:wrap}
.size-pill{min-width:62px;height:48px;padding:0 16px;border:1.5px solid var(--color-hair);border-radius:8px;background:var(--color-paper);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--color-primary);transition:all .15s;cursor:pointer;position:relative}
.size-pill:hover{border-color:var(--color-accent)}
.size-pill.active{background:var(--color-ink);color:var(--color-yellow);border-color:var(--color-ink)}
.size-pill.low::after{content:'';position:absolute;top:6px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--color-warn)}
.size-pill.out{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.color-grid{display:flex;gap:10px}
.color-swatch{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;background:var(--color-paper);border:1.5px solid var(--color-hair);border-radius:10px;cursor:pointer;transition:all .15s}
.color-swatch:hover{border-color:var(--color-accent)}
.color-swatch.active{border-color:var(--color-ink);background:var(--color-paper-soft);box-shadow:0 4px 12px rgba(31,26,46,.08)}
.color-swatch .dot{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(0,0,0,.08)}
.color-swatch .dot.black{background:var(--color-ink)}
.color-swatch .dot.yellow{background:var(--color-yellow)}
.color-swatch .name{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--color-primary)}

.stock-info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-pale-green);border-radius:10px;margin-bottom:22px;font-family:var(--font-mono);font-size:13px}
.stock-info.low{background:#FFF4E4}
.stock-info.out{background:var(--color-pale-pink)}
.stock-info .dot{width:9px;height:9px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 3px rgba(16,185,129,.20)}
.stock-info.low .dot{background:var(--color-warn);box-shadow:0 0 0 3px rgba(250,140,0,.20)}
.stock-info.out .dot{background:var(--color-danger);box-shadow:0 0 0 3px rgba(239,68,68,.20)}
.stock-info strong{color:var(--color-ink);font-weight:700}

.qty-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.qty{display:inline-flex;align-items:center;background:var(--color-paper);border:1.5px solid var(--color-hair);border-radius:10px;overflow:hidden}
.qty button{width:40px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:18px;font-weight:600;transition:background .15s}
.qty button:hover{background:var(--color-pale-pink)}
.qty input{width:54px;height:48px;text-align:center;font-family:var(--font-display);font-weight:700;font-size:17px;border:none;background:transparent;color:var(--color-ink);-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.cta-cluster{display:flex;flex-direction:column;gap:10px;margin-top:6px;margin-bottom:22px}

.product-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.product-pills .pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--color-paper);border:1px solid var(--color-hair);border-radius:24px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-ink-2)}
.product-pills .pill strong{color:var(--color-ink)}

/* MISJA / co kupujesz */
.section{padding:90px 0}
.section.cream{background:var(--color-cream)}
.section.dark{background:var(--color-ink);color:#fff}
.section.pink{background:var(--color-pale-pink)}
.section-head{text-align:center;max-width:760px;margin:0 auto 56px}
.section-head h2{font-family:var(--font-display);font-weight:800;font-size:clamp(34px,4.4vw,58px);line-height:1.02;letter-spacing:-.025em;color:var(--color-primary);margin:14px 0 16px}
.section.dark .section-head h2{color:#fff}
.section.dark .section-head h2 .serif{color:var(--color-yellow)}
.section-head h2 .serif{color:var(--color-accent)}
.section-head p{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--color-text);max-width:560px;margin:0 auto}

.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin:0 auto}
.impact-card{background:var(--color-paper);border-radius:var(--r-card);padding:36px 28px;text-align:center;position:relative;overflow:hidden;box-shadow:0 4px 14px rgba(84,89,95,.06)}
.impact-card .num{font-family:var(--font-display);font-weight:900;font-size:72px;color:var(--color-accent);letter-spacing:-.04em;line-height:.9;margin-bottom:10px}
.impact-card .what{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--color-ink);margin-bottom:6px}
.impact-card .equals{font-family:var(--font-body);font-size:14px;color:var(--color-ink-2);line-height:1.5}
.impact-card.alt{background:var(--color-yellow)}
.impact-card.alt .num{color:var(--color-ink)}
.impact-card.alt2{background:var(--color-ink);color:#fff}
.impact-card.alt2 .num{color:var(--color-yellow)}
.impact-card.alt2 .what{color:#fff}
.impact-card.alt2 .equals{color:rgba(255,255,255,.7)}

/* SPEC strip (kompozycja, rozmiar, dostawa) */
.spec-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1080px;margin:48px auto 0;padding:32px;background:var(--color-paper);border-radius:var(--r-card);box-shadow:0 4px 14px rgba(84,89,95,.06)}
.spec-strip > div h4{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-2);margin-bottom:8px}
.spec-strip > div p{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--color-ink);line-height:1.4}

/* KOSZYK / CHECKOUT */
.cart-layout{display:grid;grid-template-columns:1.7fr .9fr;gap:36px;padding:48px 0 80px}
.cart-items{background:var(--color-paper);border-radius:var(--r-card);padding:8px;box-shadow:0 4px 14px rgba(84,89,95,.06)}
.cart-item{display:grid;grid-template-columns:120px 1fr auto;gap:20px;padding:20px;border-radius:12px;align-items:center}
.cart-item + .cart-item{border-top:1px solid var(--color-hair)}
.cart-item .ph{aspect-ratio:1;background:var(--color-ink);border:2px solid var(--color-yellow);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cart-item .ph img{max-width:75%;max-height:80%;border-radius:0}
.cart-item .info{display:flex;flex-direction:column;gap:6px}
.cart-item .info strong{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--color-ink)}
.cart-item .info .meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--color-ink-2)}
.cart-item .info .meta span+span::before{content:' · ';color:var(--color-hair)}
.cart-item .info .remove{font-family:var(--font-body);font-size:12px;color:var(--color-accent);margin-top:2px;text-decoration:underline;align-self:flex-start;background:none;border:none;cursor:pointer;padding:0}
.cart-item .price-col{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.cart-item .price-col .total{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--color-ink);letter-spacing:-.02em}

/* Sidebar podsumowania */
.summary{background:var(--color-paper);border-radius:var(--r-card);padding:28px;box-shadow:0 4px 14px rgba(84,89,95,.06);position:sticky;top:90px}
.summary h3{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--color-ink);margin-bottom:18px;letter-spacing:-.01em}
.summary .row{display:flex;justify-content:space-between;font-family:var(--font-body);font-size:14px;color:var(--color-text);padding:8px 0}
.summary .row.total{padding-top:16px;margin-top:8px;border-top:1.5px solid var(--color-hair);font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--color-ink)}
.summary .promo{display:flex;gap:8px;margin:14px 0 8px}
.summary .promo input{flex:1;padding:10px 12px;border:1.5px solid var(--color-hair);border-radius:8px;background:var(--color-cream);font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.summary .promo input:focus{outline:none;border-color:var(--color-accent)}
.summary .promo button{padding:10px 16px;background:var(--color-paper-soft);border:1.5px solid var(--color-hair);border-radius:8px;font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--color-primary);transition:all .15s}
.summary .promo button:hover{border-color:var(--color-accent);color:var(--color-accent)}
.summary .note{font-family:var(--font-mono);font-size:11px;color:var(--color-ink-2);letter-spacing:.04em;line-height:1.6;margin-top:14px}
.summary .trust{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.10em;text-transform:uppercase;color:var(--color-ink-2)}
.summary .trust span{padding:4px 8px;background:var(--color-cream);border-radius:4px}

/* CHECKOUT steps */
.steps{display:flex;align-items:center;gap:6px;margin:32px 0 36px;font-family:var(--font-mono);font-size:11px;letter-spacing:.10em;text-transform:uppercase}
.steps .step{display:flex;align-items:center;gap:8px;color:var(--color-ink-2)}
.steps .step.active{color:var(--color-ink)}
.steps .step.done{color:var(--color-success)}
.steps .step .n{width:24px;height:24px;border-radius:50%;background:var(--color-hair);color:var(--color-ink-2);display:flex;align-items:center;justify-content:center;font-weight:700}
.steps .step.active .n{background:var(--color-ink);color:var(--color-yellow)}
.steps .step.done .n{background:var(--color-success);color:#fff}
.steps .sep{flex:1;height:2px;background:var(--color-hair);max-width:60px}

.checkout-card{background:var(--color-paper);border-radius:var(--r-card);padding:28px 32px;margin-bottom:18px;box-shadow:0 4px 14px rgba(84,89,95,.06)}
.checkout-card h3{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--color-ink);margin-bottom:18px;display:flex;align-items:center;gap:10px;letter-spacing:-.01em}
.checkout-card h3 .num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-ink);color:var(--color-yellow);font-family:var(--font-display);font-weight:800;font-size:14px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field-grid.col-3{grid-template-columns:2fr 1fr 1fr}
.field-grid.col-full > *{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-2)}
.field input,.field select,.field textarea{padding:12px 14px;border:1.5px solid var(--color-hair);border-radius:9px;background:var(--color-cream);font-family:var(--font-body);font-size:14px;color:var(--color-ink);transition:border-color .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-accent);background:var(--color-paper)}
.field .hint{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--color-ink-2);margin-top:2px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice{display:flex;align-items:flex-start;gap:14px;padding:18px 16px;background:var(--color-cream);border:1.5px solid var(--color-hair);border-radius:11px;cursor:pointer;transition:all .15s}
.choice:hover{border-color:var(--color-accent)}
.choice.active{border-color:var(--color-ink);background:var(--color-paper-soft);box-shadow:0 4px 14px rgba(31,26,46,.06)}
.choice .icon{width:42px;height:42px;border-radius:10px;background:var(--color-ink);color:var(--color-yellow);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:14px;flex-shrink:0}
.choice .body{display:flex;flex-direction:column;gap:4px;flex:1}
.choice .body strong{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--color-ink)}
.choice .body small{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--color-ink-2);line-height:1.5}
.choice .right{font-family:var(--font-display);font-weight:800;font-size:14px;color:var(--color-ink);text-align:right}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-family:var(--font-body);font-size:13px;color:var(--color-text);line-height:1.55;cursor:pointer;padding:8px 0}
.checkbox-row input[type="checkbox"]{margin-top:3px;width:16px;height:16px;accent-color:var(--color-accent)}
.checkbox-row strong{color:var(--color-ink);font-weight:600}
.checkbox-row a{color:var(--color-accent);text-decoration:underline}

/* DZIEKUJE */
.thanks{padding:80px 0;text-align:center}
.thanks .badge-ok{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;background:var(--color-pale-green);color:#0E7A4F;border-radius:24px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.thanks .badge-ok::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 3px rgba(16,185,129,.20)}
.thanks h1{font-family:var(--font-display);font-weight:800;font-size:clamp(40px,5.5vw,72px);color:var(--color-primary);letter-spacing:-.028em;line-height:1;margin-bottom:14px}
.thanks h1 .serif{color:var(--color-accent)}
.thanks .lead{font-family:var(--font-body);font-size:17px;color:var(--color-text);max-width:520px;margin:0 auto 36px;line-height:1.6}
.order-card{background:var(--color-paper);border-radius:var(--r-card);padding:32px;max-width:640px;margin:0 auto;box-shadow:0 8px 28px rgba(84,89,95,.10);text-align:left}
.order-card .row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dashed var(--color-hair);font-family:var(--font-body);font-size:14px;color:var(--color-text)}
.order-card .row:last-child{border-bottom:none}
.order-card .row strong{font-family:var(--font-display);font-weight:700;color:var(--color-ink)}
.order-card .row .big{font-family:var(--font-display);font-weight:900;font-size:22px;color:var(--color-ink)}
.order-card .meta-strip{display:flex;justify-content:center;gap:24px;margin:0 -32px 18px;padding:14px 32px;background:var(--color-pale-pink);font-family:var(--font-mono);font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:var(--color-ink-2)}
.order-card .meta-strip strong{color:var(--color-accent);font-weight:700}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px;max-width:880px;margin-left:auto;margin-right:auto}
.timeline .step{background:var(--color-paper);border-radius:12px;padding:18px 16px;text-align:left;box-shadow:0 4px 14px rgba(84,89,95,.06);position:relative}
.timeline .step .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:6px}
.timeline .step h5{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--color-ink);margin-bottom:4px}
.timeline .step p{font-family:var(--font-body);font-size:12.5px;color:var(--color-ink-2);line-height:1.5}
.timeline .step.done{border:1.5px solid var(--color-success)}
.timeline .step.done .num{color:var(--color-success)}
.timeline .step.done::before{content:'✓';position:absolute;top:14px;right:14px;color:var(--color-success);font-weight:700}

/* REGULAMIN / dokument prawny */
.legal{padding:60px 0 80px}
.legal-layout{display:grid;grid-template-columns:240px 1fr;gap:48px}
.legal-toc{position:sticky;top:90px;align-self:start;font-family:var(--font-body)}
.legal-toc h4{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-2);margin-bottom:14px}
.legal-toc a{display:block;padding:8px 0;font-size:13.5px;color:var(--color-text);border-left:2px solid transparent;padding-left:14px;margin-left:-14px;transition:all .15s}
.legal-toc a:hover{color:var(--color-accent);border-color:var(--color-accent)}
.legal-body{background:var(--color-paper);border-radius:var(--r-card);padding:42px 48px;box-shadow:0 4px 14px rgba(84,89,95,.06);font-family:var(--font-body);font-size:15px;line-height:1.75;color:var(--color-text)}
.legal-body h1{font-family:var(--font-display);font-weight:800;font-size:42px;color:var(--color-ink);letter-spacing:-.02em;margin-bottom:14px}
.legal-body .updated{font-family:var(--font-mono);font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:var(--color-ink-2);margin-bottom:32px;padding-bottom:18px;border-bottom:1.5px solid var(--color-hair)}
.legal-body h2{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--color-ink);margin:36px 0 14px;letter-spacing:-.01em}
.legal-body h2::before{content:'§ ';color:var(--color-accent)}
.legal-body p{margin-bottom:14px}
.legal-body ul,.legal-body ol{margin:12px 0 16px 22px}
.legal-body li{margin-bottom:6px}
.legal-body strong{color:var(--color-ink);font-weight:600}
.legal-body .placeholder{display:inline-block;padding:2px 8px;background:var(--color-pale-pink);color:var(--color-accent);border-radius:4px;font-family:var(--font-mono);font-size:12px;font-weight:600}
.legal-body .legal-notice{background:var(--color-pale-pink);padding:14px 18px;border-radius:8px;font-size:13.5px;color:var(--color-ink-2)}
.legal-body .legal-footer-meta{margin-top:32px;padding-top:24px;border-top:1.5px solid var(--color-hair);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-ink-2)}
.legal-body .legal-footer-meta code{background:var(--color-pale-pink);padding:2px 6px;border-radius:4px;color:var(--color-accent)}

/* FOOTER */
.footer{background:var(--color-ink);color:rgba(255,255,255,.75);padding:64px 0 28px;position:relative;overflow:hidden}
.footer::before{content:'★';position:absolute;top:30px;right:5%;font-size:140px;color:var(--color-yellow);opacity:.06;line-height:1;font-family:var(--font-display)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:42px;position:relative;z-index:2}
.brand-foot .brand{margin:14px 0}
.brand-foot .brand-text strong{color:#fff}
.brand-foot .brand-text small{color:rgba(255,255,255,.55)}
.brand-foot .wg-logo{width:118px;height:auto;filter:invert(1) brightness(2)}
.brand-foot p{font-family:var(--font-body);font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.65);max-width:380px;margin-top:14px}
.footer h5{font-family:var(--font-display);font-weight:700;font-size:13px;color:#fff;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}
.footer ul{list-style:none}
.footer li{margin-bottom:8px}
.footer a{font-family:var(--font-body);font-size:14px;color:rgba(255,255,255,.7);transition:color .15s}
.footer a:hover{color:var(--color-yellow)}
.foot-base{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-family:var(--font-body);font-size:13px;opacity:.6;border-top:1px solid rgba(255,255,255,.10);position:relative;z-index:2}

/* RESPONSIVE */
@media(max-width:1100px){
  .product-grid{gap:40px}
  .nav-links{display:none}
}
@media(max-width:980px){
  .product-grid{grid-template-columns:1fr;gap:32px}
  .gallery{grid-template-columns:64px 1fr}
  .thumb{width:64px;height:64px}
  .impact-grid{grid-template-columns:1fr 1fr}
  .impact-grid > *:last-child{grid-column:1/-1}
  .spec-strip{grid-template-columns:1fr 1fr;gap:18px}
  .cart-layout{grid-template-columns:1fr;gap:24px}
  .summary{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr 1fr}
  .legal-layout{grid-template-columns:1fr;gap:24px}
  .legal-toc{position:static}
}
@media(max-width:767px){
  .wrap{padding:0 18px}
  .product-hero{padding:32px 0 56px}
  .product-meta h1{font-size:38px}
  .price{font-size:48px}
  .section{padding:60px 0}
  .impact-grid{grid-template-columns:1fr}
  .impact-grid > *:last-child{grid-column:auto}
  .spec-strip{grid-template-columns:1fr;padding:20px}
  .cart-item{grid-template-columns:80px 1fr;gap:14px}
  .cart-item .price-col{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
  .field-grid,.field-grid.col-3{grid-template-columns:1fr}
  .choice-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .foot-base{flex-direction:column;align-items:flex-start;gap:8px;font-size:11px}
  .timeline{grid-template-columns:1fr}
  .checkout-card{padding:22px}
  .legal-body{padding:28px 24px}
  .legal-body h1{font-size:32px}
  .order-card{padding:24px}
  .order-card .meta-strip{margin:0 -24px 16px;padding:12px 24px}
  .nav{padding:14px 0}
  .brand-mark{width:40px;height:40px}
  .brand-text strong{font-size:14px}
  .brand-text small{font-size:10px}
}

/* ---- Walidacja checkout (Rekomendacja 2, 2026-06-23) ---- */
.field-error{display:none;font-family:var(--font-mono);font-size:11px;color:var(--color-danger);margin-top:4px;letter-spacing:.04em}
.field-error.show{display:block}
.field input.error,.field select.error,.field textarea.error{border-color:var(--color-danger);background:#FFEBEB}
.field input.error:focus,.field select.error:focus{border-color:var(--color-danger);background:#FFF6F6}
.checkbox-row input.error+span{color:var(--color-danger)}
a.btn[aria-disabled="true"]{cursor:not-allowed;opacity:.55}
