/* ===================================================================
   Wresk-iDesign theme Ratujesz24 - warstwa kleju (theme.css)
   Łączy design system (tokens.css + components.css) z markupem
   WordPress / WooCommerce. Wczytywany jako ostatni.
   =================================================================== */

/* ---------- reset / podstawy WP ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img,svg{max-width:100%;height:auto;}
a img{border:0;}
.r24-main{min-height:50vh;}
.container{max-width:var(--container);margin-inline:auto;padding-inline:24px;width:100%;}
.container-narrow{max-width:var(--container-narrow);margin-inline:auto;padding-inline:24px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:var(--head-500);color:#fff;padding:12px 20px;border-radius:0 0 var(--radius-md) 0;}
.skip-link:focus{left:0;}

/* ---------- WP align / media ---------- */
.alignwide{max-width:1100px;margin-inline:auto;}
.alignfull{max-width:none;}
.aligncenter{display:block;margin-inline:auto;}
figure{margin:0 0 var(--sp-5);}
figcaption{font-size:var(--fs-small);color:var(--fg-muted);margin-top:var(--sp-2);}
blockquote{border-left:3px solid var(--brand-400);padding-left:var(--sp-5);margin:var(--sp-6) 0;color:var(--text-600);font-style:italic;}

/* ===================================================================
   HEADER - dopełnienia do .hdr z components.css
   =================================================================== */
/* Pasek promo - kampania wakacyjna -8% (napis Playfair + licznik + kod) */
.hdr-promo{background:linear-gradient(90deg,#65584a 0%,#83745f 50%,#65584a 100%);color:#f4efe9;position:relative;overflow:hidden;}
.hdr-promo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(228,207,163,.55),transparent);z-index:2;}
/* Powolny błysk szampańskiego światła przesuwający się przez pasek */
.hdr-promo::before{content:"";position:absolute;top:0;bottom:0;left:-45%;width:38%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.09) 40%,rgba(228,207,163,.14) 60%,transparent);transform:skewX(-18deg);animation:promoSheen 8s ease-in-out infinite;pointer-events:none;z-index:0;}
@keyframes promoSheen{0%,12%{left:-45%}58%,100%{left:135%}}
.hdr-promo .promo-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;padding:11px 24px;text-align:center;}
.hdr-promo .promo-text{display:inline-flex;align-items:center;gap:11px;margin:0;font-family:var(--font-display);font-weight:500;font-size:25px;line-height:1.2;letter-spacing:.005em;color:#f4efe9;}
.hdr-promo .promo-text svg{color:var(--champagne-soft);flex:none;}
.hdr-promo .promo-text b{font-weight:700;color:#fff;background:linear-gradient(180deg,#f3ddb2,#d8b678);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding:0 2px;}
/* Licznik odliczający */
.promo-countdown{display:inline-flex;align-items:center;gap:7px;}
.promo-countdown .cd-lead{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-soft);margin-right:3px;}
.promo-countdown .cd-unit{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:46px;padding:5px 8px;background:rgba(255,255,255,.10);border:1px solid rgba(228,207,163,.34);border-radius:11px;line-height:1;backdrop-filter:blur(2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);transition:transform .2s cubic-bezier(.16,1,.3,1);}
.promo-countdown .cd-unit.is-tick{transform:translateY(-1px) scale(1.05);}
.promo-countdown .cd-unit b{font-family:var(--font-body);font-weight:800;font-size:18px;color:#fff;font-variant-numeric:tabular-nums;}
.promo-countdown .cd-unit small{margin-top:4px;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--champagne-soft);}
.promo-countdown .cd-sep{font-style:normal;font-weight:700;color:var(--champagne-soft);opacity:.55;margin:0 -2px;align-self:flex-start;padding-top:6px;}
/* Przycisk kopiujący kod */
.hdr-promo .promo-code-btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;background:#f4efe9;color:#5a4632;border:1px solid #f4efe9;border-radius:var(--radius-pill);padding:10px 22px;font-family:var(--font-body);font-weight:700;font-size:15px;letter-spacing:.01em;text-transform:none;cursor:pointer;box-shadow:0 6px 16px -8px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.7);transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast);}
.hdr-promo .promo-code-btn svg{color:#8f745c;transition:color var(--dur-fast);}
.hdr-promo .promo-code-btn:hover{background:#fff;color:#3a2f29;transform:translateY(-1px);box-shadow:0 10px 22px -10px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.8);}
.hdr-promo .promo-code-btn:active{transform:translateY(0) scale(.98);}
.js-copy-code:focus-visible{outline:2px solid var(--champagne-soft);outline-offset:2px;}
.hdr-promo .promo-code-btn.is-copied{background:#e4cfa3;border-color:#e4cfa3;color:#4a3a24;}
.hdr-promo .promo-code-btn.is-copied svg{color:#4a3a24;}
@media (max-width:1100px){.hdr-promo .promo-inner{gap:18px;}.hdr-promo .promo-text{font-size:21px;}.promo-countdown .cd-unit{min-width:42px;}}
/* Licznik tylko na desktopie - poniżej 1024px pasek nie ma na niego miejsca */
@media (max-width:1024px){.promo-countdown{display:none;}}
@media (max-width:640px){
	.hdr-promo .promo-inner{gap:12px;padding:10px 14px;}
	.hdr-promo .promo-text{font-size:17px;gap:8px;}
	.hdr-promo .promo-text svg{width:18px;height:18px;}
	.hdr-promo .promo-code-btn{font-size:13.5px;padding:9px 16px;}
}

/* drugi pasek info (telefon / godziny + ikony użytkowe) - 1:1 z live */
.hdr-info{background:#ddcfc1;border-bottom:0;color:#524541;}
.hdr-info .container{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-block:8px;}
.hdr-info-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.hdr-info .info-q{font-size:16px;font-weight:400;color:#524541;}
.hdr-info .info-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.hdr-info .info-meta > span{position:relative;padding-left:16px;}
.hdr-info .info-meta > span:first-child{padding-left:0;}
.hdr-info .info-meta > span + span::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:13px;background:var(--sand-400);}
.hdr-info .info-meta span,.hdr-info .info-meta a{font-size:14px;font-weight:500;color:#524541;display:inline-flex;align-items:center;gap:7px;}
.hdr-info svg{width:15px;height:15px;color:var(--brand-600);stroke-width:1.75;}
/* ikony użytkowe (szukaj/konto/serce) przeniesione tu z głównego paska */
.hdr-info-actions{display:flex;align-items:center;gap:4px;padding-left:8px;border-left:1px solid var(--sand-400);}
.hdr-info-actions .icon-btn svg{color:var(--head-500);}
/* Pasek info na telefonie: kontakt (telefon + e-mail) wyśrodkowany u góry,
   ikony użytkowe w osobnym rzędzie pod spodem. Godziny chowamy (nieaktywne,
   są w Kontakcie/stopce) - dzięki temu pasek jest zwarty i logiczny. */
@media (max-width:560px){
  .hdr-info .container{justify-content:center;gap:8px;padding-block:9px;}
  .hdr-info .info-q{display:none;}
  .hdr-info-right{width:100%;flex-direction:column;align-items:center;gap:9px;}
  .hdr-info .info-meta{width:100%;justify-content:center;gap:7px 16px;}
  .hdr-info .info-meta > span{padding-left:0;white-space:nowrap;}
  .hdr-info .info-meta > span + span::before{display:none;}
  .hdr-info .info-hours{display:none;}
  .hdr-info .info-meta span,.hdr-info .info-meta a{font-size:13px;}
  .hdr-info-actions{border-left:0;padding-left:0;gap:14px;}
}

/* ---------------------------------------------------------------
   Globalny reset dla list w nav - usuwa bułki
   --------------------------------------------------------------- */
.nav,.nav-list,.nav > ul,.mega ul,.mobile-menu,.account-nav ul,.footer ul,
.contact-list,.chip-row{list-style:none;margin:0;padding:0;}
.nav-list{display:flex;align-items:center;gap:4px;}
.nav > .nav-list > .nav-item,
.nav > .nav-list > li{list-style:none;}

/* akcje nagłówka: cena koszyka + ikony */
.hdr-cart-total{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--head-500);white-space:nowrap;}
.icon-btn{position:relative;}
.icon-btn .count{position:absolute;top:2px;right:2px;background:var(--brand-600);color:#fff;font-size:10px;font-weight:700;min-width:17px;height:17px;border-radius:var(--radius-pill);display:grid;place-items:center;padding:0 4px;}

/* mobile nav toggle */
.nav-toggle{display:none;}
/* Panel wyszukiwarki (FiboSearch) - renderowany w stopce, pozycjonowany
   pod przyklejonym nagłówkiem; widoczny po kliknięciu lupy (body.search-open). */
.hdr-search-inline{position:fixed;top:calc(var(--hdr-h,120px) + 10px);left:50%;transform:translateX(-50%);
  width:min(92vw,560px);z-index:90;background:var(--sand-50);border:1px solid var(--sand-300);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:14px;}
.hdr-search-inline .dgwt-wcas-search-wrapp{max-width:none;}

/* ---------------------------------------------------------------
   Nawigacja - dopełnienia
   --------------------------------------------------------------- */
/* Usuwamy bullet z items_wrap <ul>. Odstęp responsywny + nowrap, by linki
   dwuwyrazowe ("Bez oświetlenia", "Współpraca B2B") nie zawijały się. */
.nav .nav-list,.nav > ul{display:flex;align-items:center;flex-wrap:nowrap;gap:clamp(14px,1.6vw,26px);list-style:none;padding:0;margin:0;}
.nav-item,.nav-list > li{list-style:none;padding:0;margin:0;}
/* Pośredni breakpoint: zacieśnij menu zanim przejdzie w wersję mobilną (<=1024px). */
@media (min-width:1025px) and (max-width:1240px){
  .nav .nav-list,.nav > ul{gap:14px;}
  .nav-link{font-size:15px;}
}

/* aktywny link */
.nav-item.is-current > .nav-link,.nav-item.current-menu-item > .nav-link{color:var(--brand-700);border-bottom:2px solid var(--brand-500);}

/* mega menu - 1 kolumna dla dropdownów kategorii */
.mega ul{display:flex;flex-direction:column;gap:4px;}
.mega li{list-style:none;padding:0;margin:0;}
.mega a{display:block;padding:9px 14px;border-radius:var(--radius-sm);color:var(--text-600);font-size:14px;border:0;transition:background var(--dur-fast),color var(--dur-fast);}
.mega a:hover{background:var(--sand-100);color:var(--brand-700);}
/* szerokość mega menu dopasowana do zawartości (min 200px) */
.mega{min-width:200px;grid-template-columns:1fr;}

/* Wyprzedaż - na live identyczna jak pozostałe linki (waga 400, ten sam kolor) */
.nav-sale>.nav-link,.nav-item.nav-sale>.nav-link{color:#4a4036;font-weight:400;}

/* ===================================================================
   HERO - sekcja z tłem wideo (Vimeo) + fallback obraz
   =================================================================== */
/* Wpasowany, zaokrąglony baner (jak Breakdance): margines strony + radius,
   niższy niż pełny ekran, treść wyśrodkowana. Wideo Vimeo wewnątrz kontenera. */
.front-page .hero{
  position:relative;
  margin:clamp(12px,2vw,28px);
  border-radius:var(--radius-xl);
  min-height:clamp(460px,62vh,720px);
  display:flex;align-items:center;justify-content:center;  /* treść wyśrodkowana */
  overflow:hidden;
  background:var(--head-800,#171211);  /* ciemne tło jako absolutny fallback */
}
.front-page .hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
/* gradientowa nakładka - jednolite przyciemnienie dla czytelności jasnej treści */
.front-page .hero-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(
    180deg,
    rgba(23,18,17,.32) 0%,
    rgba(23,18,17,.26) 45%,
    rgba(23,18,17,.46) 100%
  );
}
/* kontener wideo - 1:1 z kodem klienta */
.video-fix-container{
  position:absolute;inset:0;width:100%;height:100%;overflow:hidden;
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.video-fix-container iframe{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;
  transition:opacity .8s ease-in-out;opacity:1;border:0;
}
.video-fix-container.loading iframe{opacity:0;}
/* treść hero - nad wideo, wyśrodkowana w pionie i poziomie */
.front-page .hero-inner{
  position:relative;z-index:2;width:100%;
  padding-block:clamp(48px,7vw,84px);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.front-page .hero .eyebrow-pill{
  display:inline-flex;align-items:center;
  background:rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.55);color:#fff;
  font-family:var(--font-body);font-weight:700;font-size:11px;
  letter-spacing:var(--ls-eyebrow);text-transform:uppercase;
  padding:8px 18px;border-radius:var(--radius-pill);margin-bottom:var(--sp-4);
}
.front-page .hero h1{
  color:#fff;font-size:clamp(2.2rem,5.2vw,4.4rem);
  letter-spacing:.01em;line-height:1.05;
  text-shadow:0 2px 40px rgba(0,0,0,.4);
  margin:0 0 var(--sp-4);white-space:nowrap;
}
.front-page .hero .hero-lead{color:rgba(255,255,255,.9);font-size:var(--fs-body-lg);max-width:50ch;margin-bottom:var(--sp-5);}
.front-page .hero-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center;}
/* Przyciski hero - jawne, kuloodporne stany. Na hover ZMIENIA SIĘ tło i tekst
   pozostaje czytelny (przebijamy globalne a:hover, które zmieniało tylko kolor). */
.front-page .hero-actions .btn-primary{background:var(--brand-700);color:#fff;border-color:var(--brand-700);}
.front-page .hero-actions .btn-primary:hover,.front-page .hero-actions .btn-primary:focus-visible{background:#fff;color:var(--brand-800);border-color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.28);}
.front-page .hero-actions .btn-secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.6);}
.front-page .hero-actions .btn-secondary:hover,.front-page .hero-actions .btn-secondary:focus-visible{background:#fff;color:var(--brand-800);border-color:#fff;}
/* karta promo - jasny frosted glass (jak Breakdance, blur 7px) */
.hero-promo-card{
  margin-top:var(--sp-6);
  background:rgba(255,255,255,.16);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  border:1px solid rgba(255,255,255,.45);border-radius:var(--radius-lg);
  box-shadow:0 18px 45px rgba(0,0,0,.28);
  padding:22px 30px;max-width:620px;
  display:flex;align-items:center;justify-content:center;gap:36px;flex-wrap:wrap;text-align:left;
}
.hero-promo-card .hp-headline{color:#fff;}
.hero-promo-card .hp-headline span{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-soft);margin-bottom:4px;}
.hero-promo-card .hp-headline b{display:block;font-family:var(--font-display);font-size:34px;line-height:1;color:#fff;}
.hero-promo-card .hp-headline em{display:block;font-style:normal;font-size:14px;color:rgba(255,255,255,.85);margin-top:8px;}
.hero-promo-card .hp-code{text-align:center;}
.hero-promo-card .hp-code small{display:block;color:rgba(255,255,255,.8);font-size:12px;margin-bottom:8px;}
.hero-promo-card .hp-code-pill{display:inline-flex;align-items:center;gap:9px;border:0;cursor:pointer;border-radius:var(--radius-pill);background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.5);color:#fff;padding:12px 24px;font-family:var(--font-body);transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast);}
.hero-promo-card .hp-code-pill:hover{background:rgba(255,255,255,.92);color:var(--head-700);border-color:#fff;transform:translateY(-1px);}
.hero-promo-card .hp-code-pill svg{opacity:.85;}
.hero-promo-card .hp-code-pill .cc-label{letter-spacing:.14em;font-weight:700;}
.hero-promo-card .hp-code-pill.is-copied{background:var(--champagne-soft);border-color:var(--champagne-soft);color:#4a3a24;}
/* Wariant wakacyjny: cieplejsza, złota poświata + refrakcja szkła */
.hero-promo-card--vacation{
  border-color:rgba(228,207,163,.5);
  box-shadow:0 18px 45px rgba(0,0,0,.3),0 0 0 1px rgba(228,207,163,.14),inset 0 1px 0 rgba(255,255,255,.28);
  animation:heroCardIn .8s cubic-bezier(.16,1,.3,1) both;
}
@keyframes heroCardIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
/* „-8%" to złoty akcent nagłówka (nie eyebrow) - neutralizujemy ogólną regułę
   .hp-headline span, która inaczej robi z figury mały, rozstrzelony napis w bloku. */
.hero-promo-card--vacation .hp-headline b .hp-figure{
  display:inline;font-size:1.08em;letter-spacing:-.01em;text-transform:none;margin:0;line-height:inherit;
  font-family:var(--font-display);font-weight:700;
  background:linear-gradient(180deg,#fbe6c2,#dcb877);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-right:.12em;
}
/* --- Układ „kuponu": oferta | perforacja | odcinek z kodem --- */
.hero-promo-card--vacation{position:relative;flex-wrap:nowrap;gap:32px;max-width:730px;padding:24px 34px;}
.hero-promo-card--vacation .hp-headline{flex:1 1 auto;min-width:0;}
.hero-promo-card--vacation .hp-headline em{margin-top:10px;max-width:34ch;line-height:1.5;}
/* pionowa perforacja jak w bonie rabatowym (delikatnie „płynie") */
.hero-promo-card--vacation .hp-perf{
  flex:none;align-self:stretch;width:1px;min-height:118px;position:relative;
  background-image:linear-gradient(rgba(228,207,163,.7) 45%,rgba(228,207,163,0) 0);
  background-size:1px 12px;background-repeat:repeat-y;
  animation:perfFlow 7s linear infinite;
}
@keyframes perfFlow{to{background-position-y:12px;}}
.hero-promo-card--vacation .hp-perf::before,
.hero-promo-card--vacation .hp-perf::after{
  content:"";position:absolute;left:50%;width:8px;height:8px;border-radius:50%;
  background:var(--champagne-soft);transform:translateX(-50%);box-shadow:0 0 0 4px rgba(228,207,163,.16);
}
.hero-promo-card--vacation .hp-perf::before{top:-4px;}
.hero-promo-card--vacation .hp-perf::after{bottom:-4px;}
/* prawy odcinek z kodem */
.hero-promo-card--vacation .hp-code{flex:0 0 auto;min-width:200px;display:flex;flex-direction:column;align-items:center;gap:11px;}
.hero-promo-card--vacation .hp-code small{margin:0;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--champagne-soft);}
.hero-promo-card--vacation .hp-code-pill{font-size:17px;padding:13px 26px;}
.hero-promo-card--vacation .hp-valid{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.02em;color:rgba(255,255,255,.72);}
.hero-promo-card--vacation .hp-valid svg{color:var(--champagne-soft);opacity:.9;}
/* narożne szpilki ramki - klimat certyfikatu/vouchera */
.hero-promo-card--vacation::before,
.hero-promo-card--vacation::after{content:"";position:absolute;width:18px;height:18px;border:1.5px solid rgba(228,207,163,.5);pointer-events:none;}
.hero-promo-card--vacation::before{top:12px;left:12px;border-right:0;border-bottom:0;border-radius:6px 0 0 0;}
.hero-promo-card--vacation::after{bottom:12px;right:12px;border-left:0;border-top:0;border-radius:0 0 6px 0;}
/* pasek zaufania w hero */
.hero-trust{
  list-style:none;margin:var(--sp-5) 0 0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px 32px;
}
.hero-trust li{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.92);font-size:14px;font-weight:600;}
.hero-trust svg{color:var(--champagne-soft);flex:none;}
@media(max-width:760px){
  .hero-promo-card{flex-direction:column;align-items:center;text-align:center;gap:18px;}
  .hero-promo-card .hp-headline,.hero-promo-card .hp-code{text-align:center;}
}

/* ===================================================================
   SEKCJE / GRID - responsywność
   =================================================================== */
.section{padding-block:clamp(48px,7vw,84px);}
.bg-sunken{background:var(--bg-sunken);}
.bg-elevated{background:var(--bg-elevated);}

/* ---------- responsywny grid produktów - reguły w sekcji WooCommerce ---------- */
@media (max-width:1024px){
  .footer-main .container{grid-template-columns:1fr 1fr;}
}

/* ===================================================================
   NAWIGACJA MOBILNA / RESPONSYWNY NAGŁÓWEK
   =================================================================== */
@media (max-width:1024px){
  .nav{display:none;}
  .nav-toggle{display:grid;}
  .hdr-cart-total{display:none;}
  /* ikony użytkowe z górnego paska -> w panelu mobilnym */
  .hdr-info-actions{display:none;}
}

/* off-canvas menu mobilne */
.mobile-nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:var(--sand-50);box-shadow:var(--shadow-xl);z-index:120;transform:translateX(100%);transition:transform var(--dur-base) var(--ease-out);overflow-y:auto;padding:24px;}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav-overlay{position:fixed;inset:0;background:rgba(23,18,17,.5);opacity:0;visibility:hidden;transition:opacity var(--dur-base);z-index:110;}
.mobile-nav-overlay.open{opacity:1;visibility:visible;}
.mobile-nav ul{list-style:none;margin:0;padding:0;}
.mobile-nav li{border-bottom:1px solid var(--sand-300);}
.mobile-nav a{display:block;padding:14px 4px;color:var(--head-500);font-weight:600;border:0;}
.mobile-nav .mn-close{margin-left:auto;display:block;}

@media (max-width:768px){
  .hero-promo-card{flex-direction:column;align-items:flex-start;}
  .hero-promo-card .hp-code{text-align:left;}
  h1{font-size:var(--fs-h2);}
}

/* ===================================================================
   STOPKA / NEWSLETTER - dopełnienia
   =================================================================== */
.newsletter .container{align-items:center;}
.nl-copy{flex:1;min-width:240px;}
.footer-brand .tag{margin-top:8px;}
.footer-col h6{margin-bottom:16px;}
@media (max-width:600px){
  .newsletter .container{flex-direction:column;align-items:flex-start;}
  .nl-form{width:100%;flex-direction:column;}
  .nl-form input{min-width:0;width:100%;}
  .footer-main .container{grid-template-columns:1fr;gap:28px;}
}

/* ===================================================================
   BLOG / WPISY
   =================================================================== */
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.post-card{overflow:hidden;display:flex;flex-direction:column;}
.post-card-img img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.post-card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.post-card-title{font-family:var(--font-display);font-size:22px;margin:0;}
.post-card-title a{color:var(--fg-strong);border:0;}
.post-card .btn{margin-top:auto;align-self:flex-start;}
@media (max-width:1024px){.post-list{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.post-list{grid-template-columns:1fr;}}

/* paginacja */
.pagination,.woocommerce-pagination{margin-top:clamp(40px,5vw,56px);}
/* Reset domyślnych ramek/floatów WooCommerce (te stykające się owale z liniami) */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce-pagination ul,.pagination{
  display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px!important;
  list-style:none;padding:0!important;margin:0!important;border:0!important;
}
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-pagination ul li,.pagination li{
  border:0!important;margin:0!important;padding:0!important;background:none!important;float:none!important;overflow:visible!important;
}
/* Guziki: okrągłe, biały spód, piaskowa krawędź, brandowy tekst */
.woocommerce nav.woocommerce-pagination ul li a.page-numbers,
.woocommerce nav.woocommerce-pagination ul li span.page-numbers,
.pagination .page-numbers,.woocommerce-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:46px;height:46px;padding:0 14px;margin:0!important;
  border:1px solid var(--sand-300)!important;border-radius:999px!important;
  background:#fff!important;color:var(--head-600)!important;font-weight:600;font-size:15px;line-height:1;
  text-decoration:none;box-shadow:0 1px 2px rgba(53,45,42,.04);
  transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s var(--ease-out),border-color .2s,color .2s,box-shadow .2s;
}
/* Aktywna strona: brandowy fill + subtelny tintowany cień (bez neonu) */
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a.current,
.pagination .page-numbers.current,.woocommerce-pagination .page-numbers.current{
  background:var(--brand-600)!important;color:#fff!important;border-color:var(--brand-600)!important;
  box-shadow:0 8px 18px -8px rgba(122,92,58,.5);
}
/* Hover: delikatne wypełnienie marką + unos */
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
.pagination a.page-numbers:hover,.woocommerce-pagination a.page-numbers:hover{
  border-color:var(--brand-400)!important;color:var(--brand-700)!important;background:var(--brand-50)!important;
  transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(122,92,58,.45);
}
.pagination a.page-numbers:active,.woocommerce-pagination a.page-numbers:active,
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:active{transform:translateY(0);}
/* Strzałki prev/next: brandowa obwódka, wyraźny akcent */
.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce-pagination .page-numbers.prev,.woocommerce-pagination .page-numbers.next,
.pagination .page-numbers.prev,.pagination .page-numbers.next{
  padding:0!important;font-size:18px;color:var(--brand-700)!important;border-color:var(--brand-200)!important;
}
.woocommerce nav.woocommerce-pagination ul li a.next:hover,
.woocommerce nav.woocommerce-pagination ul li a.prev:hover{background:var(--brand-600)!important;color:#fff!important;border-color:var(--brand-600)!important;}
.woocommerce nav.woocommerce-pagination ul li span.dots,
.woocommerce-pagination .page-numbers.dots{border-color:transparent!important;background:none!important;box-shadow:none!important;min-width:24px;color:var(--text-500)!important;}
/* Bez tła/karty za paginacją - guziki wprost na tle strony */
.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination,.pagination,
.woocommerce nav.woocommerce-pagination ul,
.woocommerce-pagination ul,.pagination ul{
  background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;
}

/* ===================================================================
   WYSZUKIWARKA (trigger nagłówka)
   =================================================================== */
body.search-open .hdr-search-inline{display:block;}
.hdr-search-inline form{display:flex;}
.hdr-search-inline input[type="search"]{width:100%;border:1.5px solid var(--sand-300);border-radius:var(--radius-pill);padding:10px 18px;font-family:inherit;font-size:14px;background:var(--sand-50);}
.hdr-search-inline input:focus{outline:none;border-color:var(--brand-400);}

/* ===================================================================
   WOOCOMMERCE - sklep / archiwum
   =================================================================== */
.woo-main{padding-block:clamp(24px,4vw,40px) clamp(48px,7vw,84px);}
.archive-shop .shop-head .page-title{margin:6px 0 14px;}
.woocommerce-archive-description{color:var(--text-500);max-width:760px;}

/* ===================================================================
   SKLEP - LAYOUT SIDEBAR + MAIN (jak Breakdance 32298)
   =================================================================== */
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start;margin-top:20px;}

/* Sidebar */
.shop-sidebar{position:sticky;top:calc(var(--hdr-h,200px) + 16px);}
/* Blokowy koszyk/checkout (wc-block): sticky sidebar poniżej wysokiego, przyklejonego nagłówka */
.wc-block-checkout__sidebar,.wc-block-cart__sidebar{top:calc(var(--hdr-h,200px) + 16px)!important;}
.sidebar-widget{background:var(--sand-50);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:22px 20px;margin-bottom:16px;}
.sidebar-title{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-600);font-weight:700;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--sand-300);}

/* Drzewko kategorii */
.sidebar-cats{list-style:none;padding:0;margin:0;}
.sidebar-cats li,.sidebar-cat-parent{list-style:none;padding:0;margin:0 0 6px;}
.sidebar-cat-label{display:inline-flex;align-items:center;background:var(--sand-300);color:var(--head-600);border-radius:var(--radius-pill);padding:4px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.sidebar-cat-label.active{background:var(--brand-100,#f2ece6);color:var(--brand-700);}
.sidebar-cat-link{display:block;padding:8px 10px;font-size:14px;color:var(--text-600);border:0;border-radius:var(--radius-sm);transition:background var(--dur-fast),color var(--dur-fast);}
.sidebar-cat-link:hover,.sidebar-cat-link.active{background:var(--sand-200);color:var(--brand-700);}
.sidebar-cat-children{list-style:none;padding:0 0 0 2px;margin:0 0 6px;}
.sidebar-cat-children li{list-style:none;padding:0;margin:0;}
.sidebar-cat-children a{display:block;padding:7px 10px;font-size:14px;color:var(--text-600);border:0;border-radius:var(--radius-sm);transition:background var(--dur-fast),color var(--dur-fast);}
.sidebar-cat-children a:hover{background:var(--sand-200);color:var(--brand-700);}
.sidebar-cat-children .current-cat>a{background:var(--brand-50);color:var(--brand-700);font-weight:700;}
/* 3. poziom (podkategorie aktywnej gałęzi) - wcięcie + subtelna kreska */
.sidebar-cat-grandchildren{margin:2px 0 6px;padding-left:12px;border-left:1px solid var(--sand-300);}
.sidebar-cat-grandchildren a{font-size:13px;padding:6px 10px;color:var(--text-500);}

/* Wyszukiwarka w sidebarze */
.sidebar-search .search-form{flex-direction:column;gap:8px;}
.sidebar-search .search-field{font-size:13px;padding:10px 14px;}
.sidebar-search .search-submit{font-size:12px;padding:10px 16px;}

/* Nagłówek w shop-main */
.shop-head{margin-bottom:16px;}
.shop-h1{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.8rem);color:var(--head-500);margin:0 0 8px;}
.shop-desc{font-size:14px;color:var(--text-500);max-width:100%;margin-bottom:8px;line-height:1.6;}

/* W kontekście sklepu: 3 kolumny (sidebar zajmuje ~260px) */
.shop-main .products.grid-products,.shop-main ul.products{grid-template-columns:repeat(3,1fr)!important;}
@media(max-width:1200px){.shop-main .products.grid-products,.shop-main ul.products{grid-template-columns:repeat(2,1fr)!important;}}

/* Responsywność */
@media(max-width:1024px){.shop-layout{grid-template-columns:220px 1fr;gap:20px;}}
@media(max-width:760px){
  .shop-layout{grid-template-columns:1fr;}
  .shop-sidebar{position:static;}
  .shop-main .products.grid-products,.shop-main ul.products{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:600px){
  .shop-main .products.grid-products,.shop-main ul.products{grid-template-columns:1fr!important;}
}

.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 0 22px;border-bottom:1px solid var(--sand-300);margin-bottom:32px;}
.result-count{margin:0;font-size:13.5px;color:var(--fg-muted);}
.woocommerce-ordering{margin:0;}
.woocommerce-ordering select{appearance:none;-webkit-appearance:none;background:var(--sand-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238f745c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;border:1.5px solid var(--sand-300);border-radius:var(--radius-pill);padding:10px 40px 10px 18px;font-family:var(--font-body);font-size:13px;font-weight:700;color:var(--head-500);cursor:pointer;}
.woocommerce-ordering select:focus{outline:none;border-color:var(--brand-400);}

/* karta produktu - dopełnienia do .pcard (komponent) */
.pcard{position:relative;background:var(--sand-50);border:1px solid var(--sand-200);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 14px 34px -26px rgba(53,45,42,.34);
  transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1),border-color .45s ease;}
.pcard:hover{box-shadow:0 28px 54px -28px rgba(53,45,42,.46);transform:translateY(-5px);border-color:var(--sand-300);}
.pcard:active{transform:translateY(-2px) scale(.992);}
.pcard-body{padding:20px 20px 22px;}
.pcard-name a{color:inherit;border:0;}
.pcard-name,
.woocommerce ul.products li.product h3.pcard-name{font-size:18.5px;line-height:1.3;color:var(--head-700);
  /* ogranicz do 2 linii, zarezerwuj wysokość 2 linii (równe karty).
     !important, bo style Woo/wtyczek nadpisywały display na flow-root
     i dodawały padding .5em - wtedy overflow ucinał 3. linię w połowie.
     padding-bottom MUSI być 0: przy -webkit-line-clamp przycięte linie
     przebijają w strefie paddingu. */
  display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;
  overflow:hidden!important;padding:0!important;
  min-height:calc(2 * 1.3em);margin:0 0 8px;}
.pcard-imglink{display:block;height:100%;border:0;}
.pcard-img{aspect-ratio:1/1;} /* kwadratowe jak na oryginale */
/* WooCommerce-general ma `.woocommerce ul.products li.product a img{height:auto}`
   (0,3,4) i bije nasz selektor (obraz jest w <a class="pcard-imglink">). Wymuszamy. */
.pcard-imglink img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;display:block;}

/* Łączona pieczęć zaufania (lewy górny róg) - jeden szklany kafel:
   gwarancja jakości + produkt polski. "Liquid glass": blur+saturate,
   1px wewnętrzna krawędź refrakcji, tintowany cień. */
.pcard-seal{
  position:absolute;top:12px;left:12px;z-index:4;pointer-events:none;
  width:max-content;max-width:40%;
  display:flex;flex-direction:column;align-items:stretch;
  background:rgba(48,38,32,.56);
  -webkit-backdrop-filter:blur(7px) saturate(1.15);backdrop-filter:blur(7px) saturate(1.15);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;overflow:hidden;color:#fff;
  box-shadow:0 12px 26px -14px rgba(20,15,12,.6),inset 0 1px 0 rgba(255,255,255,.13);
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.pcard:hover .pcard-seal{transform:translateY(-1px);}
/* ikona U GÓRY, napis NA DOLE, wszystko wyśrodkowane (układ pionowy) */
.pcard-seal__row{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;padding:7px 8px;}
.pcard-seal__ribbon{display:inline-flex;width:21px;height:21px;flex:0 0 auto;margin:0;color:#fff;}
.pcard-seal__ribbon svg{width:21px;height:21px;}
.pcard-seal__flag{flex:0 0 auto;width:20px;height:13px;border-radius:2px;overflow:hidden;
  background:linear-gradient(180deg,#fff 0 50%,#cf2740 50% 100%);box-shadow:0 0 0 1px rgba(255,255,255,.28);}
.pcard-seal__label{font-size:7.5px;line-height:1.2;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff;text-align:center;}
.pcard-seal__divider{height:1px;margin:0 6px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);}
/* Dynamiczną plakietkę (Wyprzedaż/Nowość) przenosimy w prawo, by nie kolidowała z plakietkami zaufania */
.pcard-badge{left:auto;right:12px;}
.pcard .price,.pcard .pcard-price{font-family:var(--font-display);font-size:22px;color:var(--brand-700);font-weight:600;}
.pcard .price del{color:var(--fg-muted);font-size:14px;font-weight:400;margin-right:6px;}
.pcard .price ins{text-decoration:none;}
/* Kategoria jako kicker NAD tytułem (order:-1) - układ redakcyjny */
.pcard .pcard-meta{order:-1;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600;color:var(--brand-600);margin:0 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* przycisk pętli pod ceną - auto-szerokość, ze strzałką + tactile */
.pcard .btn,.pcard .added_to_cart{display:inline-flex;align-items:center;margin-top:16px;width:auto;align-self:flex-start;font-size:12px;letter-spacing:.07em;padding:12px 22px;gap:9px;}
.pcard .btn::after{content:"\2192";font-size:13px;line-height:1;display:inline-block;margin-left:9px;transition:transform .35s cubic-bezier(.16,1,.3,1);}
.pcard:hover .btn::after{transform:translateX(4px);}
.pcard .btn:active{transform:translateY(1px);}
/* TI Wishlist - ikona w rogu zdjęcia */
.pcard-img .tinvwl_add_to_wishlist_button,.pcard-img .tinv-wishlist{position:absolute;top:12px;right:12px;z-index:3;}
/* placeholder gdy brak zdjęcia */
.pcard-imglink img.woocommerce-placeholder{object-fit:contain;padding:24px;background:var(--sand-200);}

/* ---------------------------------------------------------------
   Grid produktów - 4 kolumny na szerokich ekranach jak na oryginale
   --------------------------------------------------------------- */
/* minmax(0,1fr) zamiast 1fr: track nie rozdyma się do min-content (nowrap meta),
   więc karty mają równą szerokość i nie wychodzą poza ekran. */
.grid-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;}
@media(max-width:1200px){.grid-products{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:860px){.grid-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}}
/* Mobile: ZAWSZE 1 karta w kolumnie (podwójne karty źle się układają) */
@media(max-width:600px){.grid-products{grid-template-columns:minmax(0,1fr)!important;gap:16px;}}
/* Karty i ich wnętrze muszą móc się zwężać (inaczej nowrap meta rozpycha grid) */
.grid-products li.product,.pcard,.pcard-body{min-width:0;}
.pcard-meta{max-width:100%;}
/* Reset domyślnego layoutu WooCommerce: w gridzie li.product nie może mieć
   width:30.75% / float / margin (psuje to karty - patrz inc/woocommerce.php). */
ul.products.grid-products{display:grid!important;padding:0!important;list-style:none!important;}
ul.products li.product,
.grid-products li.product{width:auto!important;float:none!important;margin:0!important;}
/* WooCommerce-general dokleja clearfix ::before/::after, które w gridzie
   stają się PUSTYMI komórkami (pusta pierwsza/ostatnia kratka) - wyłączamy. */
ul.products.grid-products::before,
ul.products.grid-products::after{content:none!important;display:none!important;}

/* notices woo -> tokeny statusów */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{border-radius:var(--radius-md);padding:14px 18px;font-size:14px;border:1px solid transparent;margin-bottom:18px;list-style:none;}
.woocommerce-message{background:var(--success-bg);color:var(--success-fg);border-color:var(--success);}
.woocommerce-info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info);}
.woocommerce-error{background:var(--error-bg);color:var(--error-fg);border-color:var(--error);}

/* ===================================================================
   WOOCOMMERCE - pojedynczy produkt
   =================================================================== */
.single-product .woo-main{padding-top:18px;}

/* ---------------------------------------------------------------
   LAYOUT 2-KOLUMNOWY: CSS grid bezpośrednio na article.product
   WooCommerce tworzy te elementy jako rodzeństwo w article.product:
     1. .woocommerce-product-gallery  (kolumna 1)
     2. .entry-summary                (kolumna 2)
     3. reszta (zakładki, powiązane)  (pełna szerokość)
   --------------------------------------------------------------- */
.single-product article.product,
.single-product div.product{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
  column-gap:clamp(28px,4vw,56px);
  row-gap:0;
  align-items:start;
  margin:0;
}
/* Galeria - kolumna 1, sticky.
   UWAGA na dwie pułapki (obie wystąpiły na produkcji):
   1) WooCommerce ma regułę `.woocommerce div.product div.images.woocommerce-product-gallery
      {position:relative}` o specyficzności (0,4,2). Gdy przebije nasze sticky,
      samotne `top:96px` przesuwa galerię wizualnie w dół (relative nie rezerwuje
      miejsca) i miniatury nachodzą na pasek atutów. Dlatego `html body...` (0,4,3).
   2) Chromium clampuje sticky grid-itemu do CAŁEGO kontenera siatki, nie do
      wiersza - sticky na samej galerii sunęłoby przy scrollu na sekcje poniżej
      (atuty, zakładki). Dlatego: galeria = align-self:stretch (wyznacza zakres
      = wysokość wiersza 1), a sticky dostaje wewnętrzny __wrapper. */
html body.single-product article.product > .woocommerce-product-gallery.images,
html body.single-product div.product > .woocommerce-product-gallery.images,
.single-product article.product > .woocommerce-product-gallery,
.single-product div.product > .woocommerce-product-gallery{
  position:relative;
  align-self:stretch;
  --active-glow:rgba(245,217,168,0.6);
}
html body.single-product article.product > .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper:not(.flexslider),
html body.single-product div.product > .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper:not(.flexslider){
  position:sticky;top:96px;
}
/* Summary - kolumna 2 */
.single-product article.product > .entry-summary,
.single-product div.product > .entry-summary{
  padding-top:4px;
}
/* Wszystko poza galerią i summary → pełna szerokość */
.single-product article.product > *:not(.woocommerce-product-gallery):not(.entry-summary),
.single-product div.product > *:not(.woocommerce-product-gallery):not(.entry-summary){
  grid-column:1 / -1;
}
/* stary wrapper .product-layout już nieużywany - transparent */
.product-layout{display:contents;}

/* galeria + sygnaturowa poświata LED
   Glow na __wrapper (nie na galerii): galeria jest rozciągnięta na wysokość
   wiersza siatki, a wrapper trzyma realny rozmiar zdjęć i sticky - poświata
   ma podążać za zdjęciami. Var --active-glow zostaje na galerii (ustawia ją
   configurator-enhance.js), ::before dziedziczy przez custom property. */
.woocommerce-product-gallery{--active-glow:rgba(245,217,168,0.6);}
.woocommerce-product-gallery{position:relative;}
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper::before{
  content:"";position:absolute;inset:8% 10%;z-index:0;
  border-radius:var(--radius-pill);
  background:radial-gradient(circle at 50% 45%,var(--active-glow) 0%,transparent 68%);
  filter:blur(28px);
  transition:background var(--dur-slow) var(--ease-out);
  pointer-events:none;
}
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image{position:relative;z-index:1;}
.woocommerce-product-gallery__image img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}
/* Link WooCommerce opakowujący zdjęcie (box > a > img):
   - display:block + height:100% -> <a> wypełnia kwadratowy box, dzięki czemu
     height:100% na <img> ma się od czego liczyć (inline'owy <a> przerywał
     łańcuch procentów i poziome zdjęcia zostawiały pusty pas na dole boxu);
   - border-bottom:0 -> globalny styl linków (tokens.css) podkreśla każdy <a>
     ramką, która pod zdjęciem wyglądała jak cienka kreska na hover. */
.woocommerce-product-gallery__image a{
  display:block;width:100%;height:100%;
  border-bottom:0!important;text-decoration:none;
}

/* ---------------------------------------------------------------
   TRYB AWARYJNY GALERII (gdy suwak FlexSlider się nie zainicjalizuje).
   WooCommerce układa miniatury floatami tuż pod głównym zdjęciem, bez
   odstępu. Zamieniamy floaty na flexbox z 'gap' - to deterministycznie
   tworzy odstęp między głównym zdjęciem a rzędem miniatur. NIE ruszamy
   samych <img> (żeby nie zniekształcić/zepsuć zdjęć).
   Scope :not(.flexslider) => nie dotyka działającego suwaka.
   --------------------------------------------------------------- */
.woocommerce-product-gallery__wrapper:not(.flexslider){
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image{
  float:none!important;
  margin:0!important;
}
/* Główne zdjęcie - kwadrat 1:1, pełny kadr (contain - nic nie ucięte),
   neutralne tło wypełnia ewentualne marginesy. Klik = lightbox. */
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:first-child{
  flex:0 0 100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--sand-100,#f4efe9);
  cursor:zoom-in;
  position:relative;
}
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:first-child img{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--radius-lg);
}
/* Podpowiedź o powiększeniu - lupa w rogu zdjęcia głównego */
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:first-child::after{
  content:"";position:absolute;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;
  background:rgba(28,22,18,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35M11 8v6M8 11h6'/%3E%3C/svg%3E") center/20px no-repeat;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;opacity:0;transition:opacity .3s;z-index:2;
}
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:first-child:hover::after{opacity:1;}
/* Miniatury - 4 w rzędzie, kwadratowe kadry, odstęp przez 'gap'. */
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image.is-thumb,
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:not(:first-child){
  flex:0 0 calc((100% - 48px) / 4);
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:var(--radius-md);
  cursor:pointer;
  transition:opacity var(--dur-fast),outline-color var(--dur-fast);
  outline:2px solid transparent;
  outline-offset:2px;
}
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:not(:first-child) img{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--radius-md);opacity:.82;transition:opacity var(--dur-fast);
}
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:not(:first-child):hover img,
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image.is-active-thumb img{opacity:1;}
.woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image.is-active-thumb{outline-color:var(--brand-400);}
@media (max-width:560px){
  .woocommerce-product-gallery__wrapper:not(.flexslider) > .woocommerce-product-gallery__image:not(:first-child){
    flex:0 0 calc((100% - 16px) / 2);
  }
}

/* ===================================================================
   KONFIGURATOR THWEPO - układ 2-kolumnowy (zamiast długiego "węża")
   =================================================================== */
.thwepo-field-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 24px;
  align-items:start;
  margin-top:8px;
}
.thwepo-field-wrapper > .thwepo-field{margin:0!important;}
/* Pola, które powinny zajmować całą szerokość (notatki, pliki, duże pola tekstowe) */
.thwepo-field-wrapper > .thwepo-field.thwepo_textarea,
.thwepo-field-wrapper > .thwepo-field.thwepo_fileupload,
.thwepo-field-wrapper > .thwepo-field.thwepo_heading,
.thwepo-field-wrapper > .thwepo-field.thwepo_paragraph,
.thwepo-field-wrapper > .thwepo-section-title{grid-column:1 / -1;}
.thwepo-field-wrapper > .thwepo-field label{font-size:.9rem;font-weight:600;color:var(--head-500);}
.thwepo-field-wrapper select,
.thwepo-field-wrapper input[type="text"],
.thwepo-field-wrapper input[type="number"]{width:100%;box-sizing:border-box;}
@media (max-width:600px){
  .thwepo-field-wrapper{grid-template-columns:1fr;}
}

/* miniaturki */
.woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:14px;margin-top:22px;padding:0;list-style:none;flex-wrap:wrap;}
.woocommerce-product-gallery .flex-control-thumbs li{width:72px;}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:var(--radius-md);cursor:pointer;opacity:.7;transition:opacity var(--dur-fast);}
.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs .flex-active{opacity:1;outline:2px solid var(--brand-400);outline-offset:2px;}
.woocommerce-product-gallery__trigger{z-index:2;}

/* ---------------------------------------------------------------
   STRZAŁKI GALERII - kod dostarczony przez klienta
   --------------------------------------------------------------- */
.woocommerce-product-gallery__wrapper{position:relative;}
.woocommerce-product-gallery .flex-direction-nav{
  display:block!important;position:absolute;top:0;left:0;
  width:100%;height:100%;pointer-events:none;z-index:999;margin:0;padding:0;
}
.woocommerce-product-gallery .flex-direction-nav li{list-style:none;margin:0;}
.woocommerce-product-gallery .flex-direction-nav a.flex-prev{
  position:absolute!important;left:10px;top:35%;transform:translateY(-50%);
  z-index:1000;width:50px;height:50px;
  background:rgba(0,0,0,.5);color:#fff!important;
  display:flex!important;align-items:center;justify-content:center;
  border-radius:50%;transition:all .3s ease;
  text-decoration:none;font-size:0;pointer-events:all;cursor:pointer;opacity:1!important;
}
.woocommerce-product-gallery .flex-direction-nav a.flex-next{
  position:absolute!important;right:10px;top:35%;transform:translateY(-50%);
  z-index:1000;width:50px;height:50px;
  background:rgba(0,0,0,.5);color:#fff!important;
  display:flex!important;align-items:center;justify-content:center;
  border-radius:50%;transition:all .3s ease;
  text-decoration:none;font-size:0;pointer-events:all;cursor:pointer;opacity:1!important;
}
.woocommerce-product-gallery .flex-direction-nav a.flex-prev::before{content:'←';font-size:30px;line-height:1;font-weight:700;color:#fff;display:block;}
.woocommerce-product-gallery .flex-direction-nav a.flex-next::before{content:'→';font-size:30px;line-height:1;font-weight:700;color:#fff;display:block;}
.woocommerce-product-gallery .flex-direction-nav a:hover{background:rgba(0,0,0,.8)!important;transform:translateY(-50%) scale(1.1);}
.woocommerce-product-gallery .flex-direction-nav a::after{display:none!important;}
.woocommerce-product-gallery .flex-control-thumbs{display:flex!important;flex-wrap:wrap;gap:14px;opacity:1!important;visibility:visible!important;margin-top:22px;}
.woocommerce-product-gallery .flex-control-thumbs li{display:block!important;width:72px;margin:0!important;}
@media(max-width:768px){
  .woocommerce-product-gallery .flex-direction-nav a.flex-prev{left:10px;width:40px;height:40px;}
  .woocommerce-product-gallery .flex-direction-nav a.flex-next{right:10px;width:40px;height:40px;}
  .woocommerce-product-gallery .flex-direction-nav a::before{font-size:24px;}
}

/* podsumowanie */
.entry-summary .product-eyebrow{display:block;margin-bottom:10px;}
.entry-summary .product_title{font-size:clamp(1.15rem,2.2vw,1.6rem);line-height:1.2;margin:0 0 14px;}
.entry-summary .price{font-family:var(--font-display);font-size:34px;color:var(--brand-700);font-weight:600;margin-bottom:18px;display:block;}
.entry-summary .price del{color:var(--fg-muted);font-size:22px;font-weight:400;margin-right:10px;}
.entry-summary .price ins{text-decoration:none;}
.entry-summary .woocommerce-product-details__short-description{color:var(--text-500);font-size:var(--fs-body-lg);margin-bottom:22px;}
.entry-summary .product_meta{margin-top:18px;font-size:13px;color:var(--fg-muted);border-top:1px solid var(--sand-300);padding-top:16px;}
.entry-summary .product_meta>span{display:block;margin-bottom:5px;}

/* formularz wariantów -> chipy (sync JS) */
.variations{margin:0 0 16px;border:0;}
.variations tr{display:block;margin-bottom:14px;}
.variations th.label{display:block;font-family:var(--font-body);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--head-500);padding:0 0 8px;text-align:left;}
.variations td.value{display:block;}
.variations select.is-enhanced{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.js-variation-chips{margin-top:2px;}
.reset_variations{font-size:12px;color:var(--link);margin-left:6px;}
.single_variation_wrap .price{font-size:28px;}
/* Sekcje THWEPO/wariant - pełna szerokość (układ 2-kolumnowy pól: blok niżej). */
.thwepo-sections,.thwepo-wrapper{display:block;float:none;width:100%;}
.single_variation{display:block!important;width:100%;float:none;clear:both;text-align:left;margin:6px 0 0;}
.single_variation .price{font-size:24px;}

/* przycisk dodania do koszyka */
.single_add_to_cart_button,.entry-summary .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:700;font-size:1rem;letter-spacing:var(--ls-button);text-transform:uppercase;padding:16px 30px;border-radius:var(--radius-md);border:1.5px solid transparent;background:var(--brand-700);color:#fff;transition:background var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard);cursor:pointer;}
.single_add_to_cart_button:hover{background:var(--brand-800);box-shadow:var(--shadow-md);}
.quantity .qty{width:72px;padding:13px 10px;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);font-family:inherit;text-align:center;}
.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;}

/* ===================================================================
   DESIGN SYSTEM - WSZYSTKIE PRZYCISKI W KOLORYSTYCE BRAND
   Fiolet "Dodaj do koszyka" pochodzi z wtyczki Breakdance, która ustawia
   var(--bde-button-primary-*) i wygrywa specyficznością. Przejmujemy te
   zmienne ORAZ wymuszamy kolory brandu na przyciskach woo/blocks/checkout.
   =================================================================== */
:root{
  --bde-button-primary-background-color:var(--brand-700);
  --bde-button-primary-background-color-hover:var(--brand-800);
  --bde-button-primary-text-color:#fff;
  --bde-button-primary-text-color-hover:#fff;
  --bde-button-primary-border-color:var(--brand-700);
  --wc-form-border-color:var(--sand-300);
}
.single_add_to_cart_button,
button.single_add_to_cart_button,
a.single_add_to_cart_button,
.wc-block-components-button,
.wp-block-button__link,
#place_order,
.checkout-button,
.wc-proceed-to-checkout .button,
button.button.alt,
a.button.alt{
  background:var(--brand-700)!important;
  background-image:none!important;
  color:#fff!important;
  border-color:var(--brand-700)!important;
}
.single_add_to_cart_button:hover,
button.single_add_to_cart_button:hover,
a.single_add_to_cart_button:hover,
.wc-block-components-button:hover,
.wp-block-button__link:hover,
#place_order:hover,
.checkout-button:hover,
.wc-proceed-to-checkout .button:hover,
button.button.alt:hover,
a.button.alt:hover{
  background:var(--brand-800)!important;
  color:#fff!important;
  border-color:var(--brand-800)!important;
}

/* ===================================================================
   THWEPO (konfigurator) - stylowanie outputu wtyczki
   =================================================================== */
.thwepo-sections,.thwepo-wrapper{margin:18px 0;}
.thwepo-section,.thwepo-section-wrapper{margin-bottom:22px;}
.thwepo-section-title,.thwepo-field-title,.thwepo-section h3{font-family:var(--font-body);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--head-500);margin:0 0 10px;}
/* pola tekstowe / select THWEPO */
.thwepo-field input[type="text"],.thwepo-field input[type="number"],.thwepo-field select,.thwepo-input-field,.thwepo-field textarea{width:100%;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);padding:12px 14px;font-family:inherit;font-size:14px;background:var(--sand-50);color:var(--fg);}
.thwepo-field input:focus,.thwepo-field select:focus,.thwepo-input-field:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--champagne-soft);}
/* dodatki (checkbox) -> wygląd .addon (klasę .addon dodaje JS) */
.thwepo-field.addon{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);background:var(--sand-50);margin-bottom:10px;transition:.18s;}
.thwepo-field.addon:hover{border-color:var(--brand-300);}
.thwepo-field.addon.on{border-color:var(--brand-500);background:var(--brand-50);}
.thwepo-field.addon label{flex:1;font-size:14px;font-weight:700;color:var(--head-500);margin:0;cursor:pointer;}
.thwepo-price,.thwepo-field .price{font-size:13px;color:var(--text-500);font-weight:700;}
/* etykiety radio/grid THWEPO (np. barwa LED) -> wygląd chipów */
.thwepo-field.thwepo-radio label,.thwepo-image-radio label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-pill);border:1.5px solid var(--sand-300);background:var(--sand-50);font-size:13px;font-weight:700;color:var(--text-600);cursor:pointer;margin:0 8px 8px 0;transition:.18s;}
.thwepo-field.thwepo-radio input:checked+label,.thwepo-image-radio input:checked+label{border-color:var(--brand-500);background:var(--brand-50);color:var(--brand-700);}

/* --- Dodatki EPO w 2 kolumnach (desktop) ---------------------------
   Pola .thwepo-field są dziećmi .thwepo-field-wrapper -> robimy z tego
   siatkę 2-kolumnową. Pola "szerokie" (chipy, addony, obrazki, textarea)
   oraz tytuły sekcji zajmują obie kolumny. */
div.thwepo-field-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 20px;
  align-items:start;
}
div.thwepo-field-wrapper > .thwepo-field{margin-bottom:0!important;}
/* Pełna szerokość: tytuły sekcji + typy, które źle wyglądają wąsko. */
div.thwepo-field-wrapper > .thwepo-section-title,
div.thwepo-field-wrapper > .thwepo-section-title-wrap,
div.thwepo-field-wrapper > .thwepo-field.addon,
div.thwepo-field-wrapper > .thwepo-field.thwepo-radio,
div.thwepo-field-wrapper > .thwepo-field.thwepo-image-radio,
div.thwepo-field-wrapper > .thwepo-field[data-type="textarea"],
div.thwepo-field-wrapper > .thwepo-field[data-type="radio"],
div.thwepo-field-wrapper > .thwepo-field[data-type="image-group"],
div.thwepo-field-wrapper > .thwepo-field[data-type="checkbox-group"]{
  grid-column:1 / -1;
}
@media (max-width:600px){
  div.thwepo-field-wrapper{grid-template-columns:1fr;}
}

/* ===================================================================
   FORMULARZ OPINII (WooCommerce reviews) - spójny z motywem
   =================================================================== */
#reviews .comment-form,#review_form .comment-form{display:flex;flex-direction:column;gap:14px;max-width:640px;}
#reviews .comment-form p{margin:0;}
#reviews .comment-form label{display:block;font-size:.85rem;font-weight:600;color:var(--head-500);margin-bottom:6px;}
#reviews .comment-form input[type="text"],
#reviews .comment-form input[type="email"],
#reviews .comment-form textarea{
  width:100%;box-sizing:border-box;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);
  padding:11px 14px;font-family:inherit;font-size:.95rem;background:var(--sand-50);color:var(--head-700);
  transition:border-color var(--dur-fast);
}
#reviews .comment-form input:focus,#reviews .comment-form textarea:focus{outline:none;border-color:var(--brand-500);}
#reviews .comment-form textarea{resize:vertical;min-height:120px;}
#reviews .form-submit{margin-top:4px;}
#reviews .form-submit input[type="submit"],
#reviews #respond input#submit,
#reviews #respond .submit{
  display:inline-block!important;background:var(--brand-700)!important;color:#fff!important;
  border:0!important;cursor:pointer;padding:13px 28px!important;border-radius:var(--radius-md)!important;
  font-family:inherit!important;font-weight:700!important;font-size:.95rem!important;
  letter-spacing:.02em;text-transform:none;width:auto!important;transition:background var(--dur-fast),transform var(--dur-fast);
}
#reviews .form-submit input[type="submit"]:hover,
#reviews #respond input#submit:hover,
#reviews #respond .submit:hover{background:var(--brand-600)!important;transform:translateY(-1px);}
/* Gwiazdki oceny - czytelny układ */
#reviews .comment-form-rating{display:flex;flex-direction:column;gap:6px;}
#reviews p.stars{margin:0;}
#reviews p.stars a{color:var(--brand-500);}

/* ===================================================================
   KRYTYCZNA NAPRAWA AKORDEONU
   button.acc-hd bez width:100% = każdy item jest wąski jak jego tekst
   =================================================================== */
.acc-item{width:100%;display:block;}
button.acc-hd{
  width:100%!important;
  display:flex!important;align-items:center;justify-content:space-between;gap:16px;
  text-align:left;background:transparent;border:none;cursor:pointer;font-family:inherit;
  padding:20px 4px;
}
.faq-accordion,.product-accordion{width:100%;}
.faq-accordion .acc-item,.product-accordion .acc-item{width:100%;}

/* ===================================================================
   Akordeon zakładek produktu (override .acc-bd max-height)
   =================================================================== */
.product-accordion{margin:8px 0 56px;max-width:980px;}
.product-accordion .acc-bd{max-height:0;}
.product-accordion .acc-item.open .acc-bd{max-height:none;} /* JS ustawia px; to fallback bez JS */
.acc-bd-inner{padding:0 4px 22px;color:var(--text-500);font-size:var(--fs-body);line-height:var(--lh-body);}
.acc-bd-inner table{width:100%;border-collapse:collapse;}
.acc-bd-inner th,.acc-bd-inner td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--sand-300);font-size:14px;}
.acc-bd-inner th{color:var(--head-500);font-weight:700;width:38%;}

/* powiązane produkty */
.related.products,.up-sells.products{margin-top:24px;}
.related.products>h2,.up-sells.products>h2{font-family:var(--font-display);font-size:var(--fs-h3);margin-bottom:24px;}

@media (max-width:900px){
  .single-product article.product,
  .single-product div.product{grid-template-columns:1fr;column-gap:0;}
  .single-product article.product > .woocommerce-product-gallery,
  .single-product div.product > .woocommerce-product-gallery{position:static;align-self:auto;}
  html body.single-product article.product > .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper:not(.flexslider),
  html body.single-product div.product > .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper:not(.flexslider){position:relative;top:auto;}
}

/* ===================================================================
   SEKCJA FUNKCJI (dodatki)
   =================================================================== */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.feature-card{display:flex;flex-direction:column;border:0;text-decoration:none;overflow:hidden;
  background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);
  transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);}
/* Zdjęcia dodatków są niejednorodne (ikony, urządzenia, foto). Stała wysokość
   obszaru; per-element 'cover' (foto) lub 'contain' (ikony/rendery - w całości,
   bez ucinania). */
.feature-media{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;
  background:#fff;border-bottom:1px solid var(--sand-200);}
.feature-media img{position:absolute;inset:0;width:100%;height:100%;
  transition:transform var(--dur-slow) var(--ease-out);}
.feature-media--is-cover img{object-fit:cover;}
.feature-media--is-contain{background:var(--sand-50);}
.feature-media--is-contain img{object-fit:contain;padding:24px;}
/* wariant z ikoną (fallback) - ten sam obszar, ikona wyśrodkowana */
.feature-card:not(.has-img) .feature-icon{display:grid;place-items:center;aspect-ratio:4/3;
  background:var(--sand-50);border-bottom:1px solid var(--sand-200);color:var(--brand-600);}
.feature-card:not(.has-img) .feature-icon svg{width:44px;height:44px;stroke-width:1.5;}
.feature-body{display:flex;flex-direction:column;gap:8px;padding:22px 26px 26px;}
.feature-title{font-family:var(--font-display);font-size:20px;color:var(--head-500);font-weight:600;}
.feature-desc{font-size:14px;color:var(--text-500);line-height:1.55;}
@media (hover:hover) and (pointer:fine){
  .feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
  .feature-card.has-img:hover .feature-media img{transform:scale(1.04);}
}
@media (max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.features-grid{grid-template-columns:1fr;}}

/* pasek korzyści - responsywność */
.benefit-text{display:flex;flex-direction:column;}
@media (max-width:880px){
  .benefits .container{grid-template-columns:repeat(2,1fr);}
  .benefit:nth-child(2){border-right:0;}
  .benefit{border-bottom:1px solid var(--sand-200);}
}
@media (max-width:480px){
  .benefits .container{grid-template-columns:1fr;}
  .benefit{border-right:0;}
}

/* ===================================================================
   PANEL KLIENTA (Moje konto)
   =================================================================== */
.woocommerce-account .woo-main{padding-block:32px clamp(48px,7vw,84px);}
.account-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start;}

/* sidebar */
.account-sidebar{padding:22px;position:sticky;top:calc(var(--hdr-h,200px) + 16px);}
.account-greeting{display:flex;align-items:center;gap:12px;padding-bottom:18px;margin-bottom:14px;border-bottom:1px solid var(--sand-300);}
.account-avatar{border-radius:var(--radius-circle);}
.account-hello{display:block;font-size:12px;color:var(--fg-muted);}
.account-name{font-family:var(--font-display);font-size:18px;color:var(--head-500);}
.account-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.account-nav a{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:var(--radius-md);color:var(--text-600);font-size:14px;font-weight:600;border:0;transition:background var(--dur-fast),color var(--dur-fast);}
.account-nav a:hover{background:var(--sand-200);color:var(--head-500);}
.account-nav svg{color:var(--brand-600);flex:none;}
.account-nav .is-active a,.account-nav li.is-active>a{background:var(--brand-50);color:var(--brand-700);}
.account-nav .is-active svg{color:var(--brand-700);}

/* treść */
.account-content{min-width:0;}
.account-content>h1,.account-h1{font-family:var(--font-display);font-size:var(--fs-h3);margin:0 0 14px;}
.account-intro{color:var(--text-500);margin-bottom:28px;}

/* pulpit - karty skrótów */
.account-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:8px;}
.account-shortcut{display:flex;align-items:center;gap:12px;padding:18px 20px;border:0;}
.account-shortcut:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.account-shortcut-icon{color:var(--brand-600);}
.account-shortcut b{flex:1;color:var(--head-500);font-family:var(--font-body);font-weight:700;font-size:14px;}
.account-shortcut-go{color:var(--brand-400);}

/* formularze konta (logowanie/rejestracja/edycja) */
.account-auth{display:grid;gap:24px;}
.account-auth.has-register{grid-template-columns:1fr 1fr;}
.account-auth-col{padding:32px;}
.account-auth-col h2{font-family:var(--font-display);font-size:26px;margin:6px 0 22px;}
.account-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.account-field label{font-size:13px;font-weight:700;color:var(--head-500);}
.account-field input[type="text"],.account-field input[type="email"],.account-field input[type="password"],.account-field input[type="tel"],
.woocommerce-MyAccount-content input.input-text,.woocommerce-MyAccount-content input[type="text"],.woocommerce-MyAccount-content input[type="email"],.woocommerce-MyAccount-content input[type="password"],.woocommerce-MyAccount-content input[type="tel"],.woocommerce-MyAccount-content select,.woocommerce-MyAccount-content textarea{width:100%;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);padding:12px 14px;font-family:inherit;font-size:14px;background:var(--sand-50);color:var(--fg);}
.account-field input:focus,.woocommerce-MyAccount-content input:focus,.woocommerce-MyAccount-content select:focus,.woocommerce-MyAccount-content textarea:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--champagne-soft);}
.account-field .rememberme{flex-direction:row;align-items:center;gap:8px;}
.account-field .rememberme input{width:auto;}
.lost_password a,.woocommerce-LostPassword a{color:var(--link);font-size:13.5px;}
.woocommerce-MyAccount-content form .btn,.woocommerce-MyAccount-content .button{margin-top:8px;}

/* tabela zamówień */
.woocommerce-orders-table,.woocommerce-MyAccount-content table.shop_table,.woocommerce-table--order-details{width:100%;border-collapse:collapse;background:var(--sand-50);border:1px solid var(--sand-300);border-radius:var(--radius-lg);overflow:hidden;}
.woocommerce-orders-table thead th,.shop_table thead th{background:var(--sand-200);color:var(--head-500);font-size:12px;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:14px 16px;font-weight:700;}
.woocommerce-orders-table td,.shop_table td,.woocommerce-orders-table th,.shop_table tbody th{padding:14px 16px;border-top:1px solid var(--sand-300);font-size:14px;color:var(--text-600);vertical-align:middle;}
.woocommerce-orders-table .woocommerce-button,.woocommerce-orders-table .button{padding:8px 14px;font-size:12px;}
.woocommerce-orders-table__cell-order-status,.order-status{display:inline-flex;align-items:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:var(--radius-pill);background:var(--info-bg);color:var(--info-fg);}
.order-status.status-completed,.status-completed{background:var(--success-bg);color:var(--success-fg);}
.order-status.status-processing,.status-processing{background:var(--warning-bg);color:var(--warning-fg);}
.order-status.status-cancelled,.status-cancelled,.status-failed{background:var(--error-bg);color:var(--error-fg);}

/* adresy */
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px;}
.woocommerce-Address{background:var(--sand-50);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:24px;}
.woocommerce-Address-title h3{font-family:var(--font-display);font-size:20px;margin:0 0 12px;}
.woocommerce-Address address{font-style:normal;color:var(--text-500);line-height:1.7;font-size:14px;}

@media (max-width:980px){
  .account-layout{grid-template-columns:1fr;}
  .account-sidebar{position:static;}
  .account-auth.has-register{grid-template-columns:1fr;}
  .account-shortcuts{grid-template-columns:1fr;}
  .woocommerce-Addresses{grid-template-columns:1fr;}
}

/* ===================================================================
   SEKCJE STRONY GŁÓWNEJ
   =================================================================== */
.section-cta{text-align:center;margin-top:36px;}

/* ===================================================================
   KATEGORIE - układ redakcyjny: indeks (lewa) + duży podgląd (prawa)
   =================================================================== */
.section-head--left{text-align:left;max-width:none;margin-left:0;align-items:flex-start;}
.cats-editorial{
  display:grid;
  grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);
  gap:clamp(28px,4vw,64px);
  align-items:stretch;
}

/* --- INDEKS (lewa) - hairline'y zamiast kart --- */
.cats-index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--sand-300);}
.cats-index li{margin:0;}
.cats-row{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;
  gap:18px;
  padding:clamp(13px,1.4vw,20px) 2px;
  border-bottom:1px solid var(--sand-300);
  text-decoration:none;border:0;border-bottom:1px solid var(--sand-300);
  color:var(--head-500);
  transition:padding-left var(--dur-base) var(--ease-out);
}
.cats-row__num{font-size:12px;color:var(--text-400);font-variant-numeric:tabular-nums;letter-spacing:.04em;}
.cats-row__name{
  font-family:var(--font-display);font-weight:600;line-height:1.05;letter-spacing:.01em;
  font-size:clamp(20px,2.1vw,29px);color:var(--head-700);
  transition:color var(--dur-base) var(--ease-out);
}
.cats-row__count{font-size:12px;color:var(--text-400);white-space:nowrap;}
.cats-row__thumb{display:none;}
.cats-row__arrow{display:inline-flex;color:var(--brand-700);opacity:0;transform:translateX(-8px);
  transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);}
.cats-row.is-active{padding-left:14px;}
.cats-row.is-active .cats-row__name{color:var(--brand-700);}
.cats-row.is-active .cats-row__num{color:var(--brand-600);}
.cats-row.is-active .cats-row__arrow{opacity:1;transform:translateX(0);}
.cats-row:focus-visible{outline:2px solid var(--brand-500);outline-offset:3px;border-radius:4px;}

/* --- PODGLĄD (prawa) - krzyżowe przenikanie obrazów --- */
.cats-preview{position:relative;border-radius:var(--radius-lg);overflow:hidden;
  min-height:clamp(360px,42vw,560px);background:var(--head-500);
  box-shadow:0 24px 50px -28px rgba(40,32,26,.55);}
.cats-figure{position:absolute;inset:0;margin:0;opacity:0;
  transition:opacity .55s var(--ease-out);will-change:opacity;}
.cats-figure.is-active{opacity:1;}
.cats-figure img{width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.06);transition:transform 7s linear;}
.cats-figure.is-active img{transform:scale(1);}
.cats-figure::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(23,18,17,0) 38%,rgba(23,18,17,.72) 100%);}
.cats-figure figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  padding:clamp(18px,2.4vw,32px);color:#fff;}
.cats-figure figcaption b{font-family:var(--font-display);font-weight:600;
  font-size:clamp(24px,2.6vw,38px);line-height:1.05;}
.cats-figure figcaption span{display:inline-flex;align-items:center;gap:6px;
  font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;}

/* --- Mobile: ukryj podgląd, lista z miniaturami --- */
@media (max-width:860px){
  .cats-editorial{grid-template-columns:1fr;gap:0;}
  .cats-preview{display:none;}
  .cats-row{grid-template-columns:auto 1fr auto;gap:12px;}
  .cats-row.is-active{padding-left:2px;}
  .cats-row__count{display:none;}
  .cats-row__arrow{display:none;}
  .cats-row__thumb{display:block;order:-1;width:62px;height:48px;object-fit:cover;border-radius:var(--radius-sm);}
  .cats-row__name{font-size:20px;}
}

/* marka */
.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}
.brand-media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;object-fit:cover;}
@media (max-width:860px){.brand-grid{grid-template-columns:1fr;}}

/* opinie */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.testimonial{padding:28px;margin:0;}
.testimonial blockquote{border:0;margin:0 0 16px;padding:0;font-family:var(--font-display);font-size:19px;line-height:1.5;color:var(--head-500);font-style:normal;}
.testimonial figcaption{font-size:13px;font-weight:700;color:var(--brand-600);text-transform:uppercase;letter-spacing:.06em;}
@media (max-width:860px){.testimonials-grid{grid-template-columns:1fr;}}

/* lokalizacje / kontakt */
.locations-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:start;}
.contact-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:14px;}
.contact-list li{display:flex;align-items:center;gap:12px;color:var(--text-600);font-size:15px;}
.contact-list svg{color:var(--brand-600);flex:none;}
.contact-details{padding:32px;}
.map-embed{aspect-ratio:4/3;width:100%;border-radius:var(--radius-lg);overflow:hidden;background:var(--sand-200);min-height:280px;}
.map-embed iframe{width:100%;height:100%;border:0;display:block;}
@media (max-width:860px){.locations-grid,.contact-grid{grid-template-columns:1fr;}}

/* instagram */
.instagram-embed{margin-top:8px;}

/* ===================================================================
   PARTNERZY (Gdzie można nas znaleźć)
   =================================================================== */
.partners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:8px;}
.partner-logo{background:var(--sand-50);border:1px solid var(--sand-300);border-radius:var(--radius-md);padding:28px 24px;min-height:128px;display:flex;align-items:center;justify-content:center;transition:box-shadow var(--dur-fast);}
.partner-logo:hover{box-shadow:var(--shadow-sm);}
.partner-logo img{max-height:80px;width:auto;max-width:180px;object-fit:contain;opacity:1;transition:transform var(--dur-base) var(--ease-out);}
@media (hover:hover) and (pointer:fine){.partner-logo:hover img{transform:scale(1.04);}}
@media(max-width:860px){.partners-grid{grid-template-columns:repeat(4,1fr);gap:14px;}}
@media(max-width:560px){.partners-grid{grid-template-columns:repeat(2,1fr);}}

/* ===================================================================
   BRAND - wideo YouTube (thumbnail + play button)
   =================================================================== */
.brand-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:var(--sp-5);}
.brand-video-wrap{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-lg);}
.brand-video-thumb{width:100%;height:100%;object-fit:cover;display:block;}
.brand-video-play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(23,18,17,.4);border:0;color:#fff;transition:background var(--dur-fast);
}
.brand-video-play:hover{background:rgba(23,18,17,.6);}
.brand-video-play svg{width:56px;height:56px;}
/* po kliknięciu: załadowany iframe */
.brand-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ===================================================================
   CTA z tłem wideo YouTube (wpasowany baner, jak hero)
   =================================================================== */
.cta-video{position:relative;margin:clamp(12px,2vw,28px);border-radius:var(--radius-xl);overflow:hidden;
  min-height:clamp(360px,42vh,520px);display:flex;align-items:center;justify-content:center;background:var(--head-800,#171211);}
.cta-video-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;}
.cta-video-bg iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;border:0;pointer-events:none;}
.cta-video-overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(23,18,17,.5) 0%,rgba(23,18,17,.55) 100%);}
.cta-video-inner{position:relative;z-index:2;width:100%;display:flex;justify-content:center;padding-block:clamp(40px,6vw,72px);}
.cta-video-box{max-width:1040px;width:100%;text-align:center;
  background:rgba(255,255,255,.1);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-lg);
  padding:clamp(32px,4.5vw,56px) clamp(32px,6vw,80px);box-shadow:0 18px 45px rgba(0,0,0,.28);}
.cta-video-box h2{color:#fff;font-size:clamp(2.1rem,3.8vw,3rem);line-height:1.1;margin:0 0 16px;}
.cta-video-box p{color:rgba(255,255,255,.9);font-size:var(--fs-body-lg);line-height:1.6;margin:0 auto 26px;max-width:760px;}
.cta-video-box .btn-secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.6);}
.cta-video-box .btn-secondary:hover,.cta-video-box .btn-secondary:focus-visible{background:#fff;color:var(--brand-800);border-color:#fff;}

/* ===================================================================
   KATEGORIE - dodatkowa responsywność (definicje bazowe wyżej)
   =================================================================== */
@media(max-width:1024px){.cats-editorial{gap:clamp(20px,3vw,40px);}}

/* ===================================================================
   Sprzedaż - wyróżnienie linku w nav
   =================================================================== */
.nav-sale .nav-link{color:#4a4036;font-weight:400;}
.nav-sale .nav-link:hover{color:var(--brand-600);}

/* treść wpisu/strony */
.entry-content{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-600);}
.entry-content h2{font-size:var(--fs-h3);margin-top:1.6em;}
.entry-content h3{font-size:var(--fs-h4);margin-top:1.4em;}
.entry-content ul,.entry-content ol{padding-left:1.4em;margin-bottom:1em;}
.entry-content li{margin-bottom:.4em;}
.entry-content img{border-radius:var(--radius-md);}
.entry-thumb{margin:0 0 28px;}
.entry-thumb img{width:100%;border-radius:var(--radius-lg);}
.entry-header{margin-bottom:24px;}

/* komentarze */
.comments-area{margin-top:48px;padding-top:32px;border-top:1px solid var(--sand-300);}
.comment-list{list-style:none;padding:0;}
.comment-list .comment-body{padding:18px 0;border-bottom:1px solid var(--sand-300);}

/* ===================================================================
   KOSZYK + CHECKOUT - TYLKO CSS (PHP nietknięte - Przelewy24/Furgonetka)
   =================================================================== */
.woocommerce-cart .woo-main,.woocommerce-checkout .woo-main{padding-block:32px clamp(48px,7vw,84px);}

/* tabela koszyka */
.woocommerce-cart-form table.shop_table{width:100%;border-collapse:collapse;background:var(--sand-50);border:1px solid var(--sand-300);border-radius:var(--radius-lg);overflow:hidden;}
.woocommerce-cart-form .shop_table th{background:var(--sand-200);color:var(--head-500);text-transform:uppercase;font-size:12px;letter-spacing:.06em;padding:14px 16px;text-align:left;}
.woocommerce-cart-form .shop_table td{padding:16px;border-top:1px solid var(--sand-300);vertical-align:top;}
.woocommerce-cart-form .product-name{min-width:0;}
.woocommerce-cart-form .product-thumbnail{width:72px;}
.woocommerce-cart-form .product-thumbnail img{width:72px!important;height:72px!important;min-width:72px;max-width:none!important;object-fit:cover;border-radius:var(--radius-md);display:block;}
.woocommerce-cart-form .product-name a{color:var(--head-500);font-weight:600;border:0;}
.cart_item .product-remove a{color:var(--error);font-weight:700;text-decoration:none;border:0;}
.woocommerce-cart .quantity .qty{width:64px;padding:10px;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);text-align:center;}

/* sumy koszyka */
.cart_totals,.cart-collaterals .cart_totals{background:var(--sand-50);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:24px;}
.cart_totals h2{font-family:var(--font-display);font-size:22px;margin:0 0 16px;}
.cart_totals table{width:100%;}
.cart_totals th,.cart_totals td{padding:10px 0;border-bottom:1px solid var(--sand-300);font-size:14px;}
.cart_totals .order-total .amount{font-family:var(--font-display);font-size:22px;color:var(--brand-700);}

/* przyciski koszyka/checkout -> styl marki */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce .button,
.wc-block-components-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:700;font-size:var(--fs-button);letter-spacing:var(--ls-button);text-transform:uppercase;padding:13px 22px;border-radius:var(--radius-md);border:1.5px solid transparent;background:var(--brand-700);color:#fff;cursor:pointer;transition:background var(--dur-fast),box-shadow var(--dur-fast);}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover,.wc-block-components-button:hover{background:var(--brand-800);box-shadow:var(--shadow-md);color:#fff;}
.woocommerce .button.alt,.checkout-button,#place_order{background:var(--brand-700);}
/* przyciski drugorzędne (np. "Aktualizuj koszyk") */
.woocommerce button[name="update_cart"],.woocommerce .button.wc-backward{background:transparent;color:var(--brand-700);border-color:var(--brand-400);}
.woocommerce button[name="update_cart"]:hover,.woocommerce .button.wc-backward:hover{background:var(--brand-50);color:var(--brand-700);}

/* checkout - układ i pola */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:24px;}
.woocommerce-checkout #customer_details{margin-bottom:8px;}
.woocommerce form .form-row label{font-size:13px;font-weight:700;color:var(--head-500);margin-bottom:6px;display:block;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container .select2-selection{border:1.5px solid var(--sand-300)!important;border-radius:var(--radius-md);padding:12px 14px;font-family:inherit;font-size:14px;background:var(--sand-50);min-height:46px;}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--champagne-soft);}
#order_review,.woocommerce-checkout-review-order{background:var(--sand-50);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:24px;}
#order_review table.shop_table{width:100%;}
#order_review .order-total .amount{font-family:var(--font-display);font-size:22px;color:var(--brand-700);}
/* metody płatności (Przelewy24) */
#payment,.wc_payment_methods{background:transparent;}
#payment ul.payment_methods{border:0;padding:0;list-style:none;}
#payment ul.payment_methods li{padding:12px 0;border-bottom:1px solid var(--sand-300);}
#payment .payment_box{background:var(--sand-200);border-radius:var(--radius-md);padding:14px;font-size:13px;color:var(--text-600);}
#payment #place_order{width:100%;padding:15px 24px;font-size:14px;letter-spacing:.05em;}

/* ===================================================================
   CHECKOUT / KOSZYK (bloki WooCommerce) - dopieszczenie w języku marki
   =================================================================== */
/* Pola: subtelna piaskowa krawędź + miękki focus marki (zamiast ciężkiej domyślnej) */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .components-form-token-field__input,
.wc-block-components-quantity-selector input{
  border:1.5px solid var(--sand-300)!important;
  border-radius:var(--radius-md)!important;
  background:var(--sand-50)!important;
  color:var(--head-700)!important;
  transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)!important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-components-address-form input:focus,
.wc-block-components-address-form select:focus,
.wc-block-components-text-input.is-active input,
.wc-blocks-components-select .wc-blocks-components-select__select:focus{
  border-color:var(--brand-500)!important;
  box-shadow:0 0 0 3px rgba(143,116,92,.16)!important;
  outline:none!important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step__description,
.wc-block-components-address-card{color:var(--text-500);}
/* Etykiety pływające na focus/wypełnieniu w kolorze marki */
.wc-block-components-text-input.is-active label{color:var(--brand-600)!important;}

/* Nagłówki kroków: Playfair, spójnie z resztą */
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title{
  font-family:var(--font-display);font-weight:600;color:var(--head-700);letter-spacing:.01em;
}

/* Karta podsumowania: tintowany cień dyfuzyjny + piaskowa krawędź */
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary,
.wc-block-checkout__sidebar > .is-large{
  border:1px solid var(--sand-200)!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:0 16px 38px -22px rgba(53,45,42,.34)!important;
  background:#fff!important;
}
.wc-block-cart__totals-title,.wc-block-components-totals-item__label{color:var(--head-500);}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-order-summary .wc-block-components-product-price{color:var(--brand-700);}

/* Przycisk złóż zamówienie: tactile press */
.wc-block-components-checkout-place-order-button:active,
.wc-block-cart__submit-button:active{transform:translateY(1px);}

@media (min-width:783px){
  .woocommerce-checkout .col2-set{grid-template-columns:1fr;}
}

/* ===================================================================
   UKŁAD 2-KOLUMNOWY: KOSZYK i ZAMÓWIENIE (desktop)
   Standardowa struktura WooCommerce ułożona w dwie kolumny samym CSS
   (bez ruszania PHP - Przelewy24/Furgonetka nietknięte).
   =================================================================== */
@media (min-width:900px){

  /* --- KOSZYK: tabela (lewa) + podsumowanie (prawa, lepkie) --- */
  .woocommerce-cart .woocommerce{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,400px);
    column-gap:32px;
    align-items:start;
  }
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1;}
  .woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0;margin:0;}
  .woocommerce-cart .cart-collaterals{
    grid-column:2;width:auto!important;float:none!important;margin:0!important;
    position:sticky;top:96px;
  }
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-cart .cart-collaterals .cross-sells{width:100%!important;float:none!important;}

  /* --- ZAMÓWIENIE (checkout): dane (lewa) + podsumowanie (prawa, lepkie) --- */
  form.checkout.woocommerce-checkout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,440px);
    column-gap:40px;
    align-items:start;
  }
  /* Górne paski pełnej szerokości (kupon / logowanie / komunikaty). */
  form.checkout > .woocommerce-form-login-toggle,
  form.checkout > .woocommerce-form-coupon-toggle,
  form.checkout > .woocommerce-NoticeGroup,
  form.checkout > .woocommerce-info,
  form.checkout > .woocommerce-error,
  form.checkout > .woocommerce-message{grid-column:1 / -1;}
  /* Lewa kolumna - dane klienta (rozpięta na obu wierszach prawej). */
  .woocommerce-checkout #customer_details{grid-column:1;grid-row:2 / span 2;min-width:0;}
  /* Prawa kolumna - nagłówek + podsumowanie zamówienia, lepkie. */
  .woocommerce-checkout #order_review_heading{grid-column:2;grid-row:2;margin:0 0 14px;}
  .woocommerce-checkout #order_review{grid-column:2;grid-row:3;position:sticky;top:calc(var(--hdr-h,200px) + 16px);min-width:0;}
  /* Kafelki zaufania pod danymi klienta - lewa kolumna. */
  .woocommerce-checkout form.checkout > .checkout-trust{grid-column:1;align-self:start;}

  /* Imię / Nazwisko obok siebie; pozostałe pola pełna szerokość. */
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
    display:grid;grid-template-columns:1fr 1fr;column-gap:16px;
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-wide,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row{grid-column:1 / -1;}
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first{grid-column:1;}
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last{grid-column:2;}
}

/* Przyciski koszyka/checkout - mniejsze, proporcjonalne. */
.woocommerce-cart .woocommerce .button,
.woocommerce-cart .woocommerce input.button,
.woocommerce-cart .woocommerce button.button,
.woocommerce-checkout .woocommerce .button{
  font-size:13px;letter-spacing:.04em;padding:12px 20px;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  font-size:13px;padding:13px 20px;letter-spacing:.04em;
}
/* Nagłówek podsumowania zamówienia - styl jak w sumach koszyka. */
.woocommerce-checkout #order_review_heading{
  font-family:var(--font-display);font-size:22px;color:var(--head-500);
}

/* ===================================================================
   KLASYCZNY CHECKOUT - pełne ostylowanie (pola, select2, płatność, logo)
   =================================================================== */
/* Pola na pełną szerokość kolumny */
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .woocommerce-additional-fields textarea{
  width:100%!important;box-sizing:border-box!important;color:var(--head-700);
}
.woocommerce-checkout form .form-row{margin:0 0 16px;}
.woocommerce-checkout form .form-row label{font-size:.85rem;font-weight:600;color:var(--head-500);margin-bottom:6px;display:block;}
.woocommerce-checkout .woocommerce-input-wrapper{display:block;width:100%;}

/* Select2 (Kraj / region) - spójny z polami */
.woocommerce-checkout .select2-container{width:100%!important;}
.woocommerce-checkout .select2-container .select2-selection--single{
  height:46px!important;border:1.5px solid var(--sand-300)!important;border-radius:var(--radius-md)!important;
  background:var(--sand-50)!important;display:flex;align-items:center;padding:0 14px;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:1.4;color:var(--head-700);padding:0;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px;right:8px;}
.woocommerce-checkout .select2-container--open .select2-selection--single{border-color:var(--brand-500)!important;}

/* Obszar płatności + przycisk - naprawa pionowego przycisku (.place-order to flex) */
.woocommerce-checkout #payment{background:transparent;border-radius:var(--radius-lg);}
.woocommerce-checkout #payment .place-order{display:block!important;padding:0!important;}
.woocommerce-checkout #payment #place_order{width:100%!important;display:flex!important;align-items:center;justify-content:center;}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:12px;line-height:1.55;color:var(--text-500);margin:0 0 16px;}
.woocommerce-checkout .woocommerce-privacy-policy-text a{color:var(--brand-600);text-decoration:underline;}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 18px;padding:0;border:0;}
.woocommerce-checkout #payment .woocommerce-info{margin:0 0 16px;}

/* Logo na górze LEWEJ kolumny - do lewej, nie wyśrodkowane */
.woocommerce-checkout .checkout-brand{text-align:left;}
.woocommerce-checkout .checkout-brand__wordmark{align-items:flex-start;}

/* Pasek korzyści pod formularzem (pełna szerokość) */
.checkout-benefits{list-style:none;margin:40px 0 0;padding:26px 0 0;border-top:1px solid var(--sand-300);
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.checkout-benefits li{display:flex;align-items:center;justify-content:center;gap:13px;text-align:left;}
.checkout-benefits li svg{color:var(--brand-600);flex:none;stroke-width:1.5;}
.checkout-benefits .cb-text{display:flex;flex-direction:column;}
.checkout-benefits .cb-text b{font-size:14px;font-weight:700;color:var(--head-500);line-height:1.2;}
.checkout-benefits .cb-text span{font-size:12px;color:var(--text-500);}
.checkout-help{display:flex;align-items:center;justify-content:center;gap:9px;margin:24px 0 0;font-size:14px;color:var(--text-600);}
.checkout-help svg{color:var(--brand-600);flex:none;}
.checkout-help a{color:var(--brand-700);font-weight:700;}
.checkout-help__hours{color:var(--text-400);margin-left:6px;}
@media (max-width:780px){
  .checkout-benefits{grid-template-columns:1fr 1fr;gap:16px;}
  .checkout-help{flex-direction:column;text-align:center;gap:4px;}
  .checkout-help__hours{margin-left:0;}
}
@media (max-width:440px){ .checkout-benefits{grid-template-columns:1fr;} }

/* ===================================================================
   KOSZYK + CHECKOUT v2 - ujednolicenie fontów, etykiet, przycisków
   (zgodne z realnym sklepem: Flexible Checkout Fields, THWEPO, Przelewy24)
   =================================================================== */
/* Pola: etykieta NAD polem + pełna szerokość (naprawa zawijania label-z-lewej z FCF) */
.woocommerce form.checkout .form-row{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  margin:0 0 16px!important;padding:0!important;
}
.woocommerce form.checkout .form-row label{
  display:block!important;float:none!important;width:auto!important;text-align:left!important;
  margin:0 0 6px!important;font-size:13px!important;font-weight:600!important;line-height:1.3!important;color:var(--head-500)!important;
}
.woocommerce form.checkout .form-row .woocommerce-input-wrapper{display:block;width:100%;}
.woocommerce form.checkout .form-row input.input-text,
.woocommerce form.checkout .form-row textarea,
.woocommerce form.checkout .form-row select,
.woocommerce form.checkout .select2-container{width:100%!important;box-sizing:border-box!important;font-size:14px!important;}
.woocommerce form.checkout .form-row .required{color:var(--brand-600);text-decoration:none;}

/* Opcje produktu (THWEPO/warianty) w koszyku i podsumowaniu.
   Wiele dodatków = czytelna, wyrównana siatka etykieta|wartość (nie ciąg inline). */
.woocommerce-cart dl.variation,.woocommerce-checkout dl.variation{
  display:grid;grid-template-columns:minmax(84px,40%) 1fr;gap:2px 12px;
  margin:8px 0 0!important;padding:10px 12px;font-size:12px!important;line-height:1.4!important;
  background:var(--sand-100);border:1px solid var(--sand-200);border-radius:var(--radius-md);
}
.woocommerce dl.variation dt{display:block!important;font-weight:600!important;color:var(--head-500)!important;margin:0!important;}
.woocommerce dl.variation dd,.woocommerce dl.variation dd p{display:block!important;margin:0!important;color:var(--text-600)!important;overflow-wrap:anywhere;}
/* Blokowy koszyk (wc-item-meta) - pary w wierszach, nie ciąg inline */
.woocommerce .wc-item-meta{margin:8px 0 0!important;padding:0;list-style:none;font-size:12px!important;line-height:1.4!important;}
.woocommerce .wc-item-meta li{display:grid;grid-template-columns:minmax(84px,40%) 1fr;gap:2px 12px;margin:0 0 2px;}
.woocommerce .wc-item-meta strong{font-weight:600!important;color:var(--head-500)!important;margin:0!important;}
.woocommerce .wc-item-meta li p{display:block!important;margin:0!important;color:var(--text-600)!important;overflow-wrap:anywhere;}

/* Przyciski koszyka/checkout - ujednolicone wielkości */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order{font-size:14px!important;letter-spacing:.05em!important;padding:16px 26px!important;}
.woocommerce-cart .actions .button,.woocommerce-cart .coupon .button{font-size:12px!important;letter-spacing:.04em!important;padding:13px 20px!important;}

/* Wiersze przesyłki + metody płatności - spójne, logo po prawej */
.woocommerce-checkout #payment ul.payment_methods > li,
.woocommerce ul#shipping_method li,
.woocommerce-checkout .woocommerce-shipping-methods li{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:14px;}
.woocommerce-checkout #payment ul.payment_methods > li label{display:inline-flex;align-items:center;gap:8px;font-size:14px;margin:0;}
.woocommerce-checkout #payment ul.payment_methods img{margin-left:auto;max-height:24px;width:auto;}
.woocommerce ul#shipping_method label,.woocommerce-checkout .woocommerce-shipping-methods label{font-size:14px;}

/* ===================================================================
   POLISH: checkout (logo, komunikaty) + wyrównanie koszyka
   =================================================================== */

/* Logo marki nad formularzem zamówienia. */
.checkout-brand{text-align:left;margin:0 0 26px;}
.checkout-brand img,.checkout-brand .custom-logo{max-height:52px;width:auto;display:inline-block;}
.checkout-brand__wordmark{display:inline-flex;flex-direction:column;align-items:center;gap:3px;
  font-family:var(--font-display);font-size:26px;line-height:1;color:var(--head-500);text-decoration:none;border:0;}
.checkout-brand__wordmark span{font-family:var(--font-body);font-size:11px;letter-spacing:.34em;font-weight:700;color:var(--brand-600);}

/* Zdublowany H1 "Zamówienie" niepotrzebny - mamy logo i breadcrumb. */
.woocommerce-checkout .page-text .entry-header{display:none;}

/* Komunikaty WooCommerce w kolorystyce marki (koniec niebieskiego boxu
   i glitchującej ikony ::before). */
.woocommerce-info,.woocommerce-message,.woocommerce-noreviews{
  background:var(--sand-50);border:1px solid var(--sand-300);border-top:2px solid var(--brand-500);
  border-radius:var(--radius-md);color:var(--text-600);font-size:14px;line-height:1.5;
  padding:14px 18px;box-shadow:var(--shadow-xs);
}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before,
.woocommerce-noreviews::before{display:none!important;}
.woocommerce-message{border-top-color:#5f8f63;} /* sukces - zielony akcent (znaczenie koloru) */
.woocommerce-info a,.woocommerce-message a{color:var(--brand-700);font-weight:700;}
.woocommerce-info a:hover,.woocommerce-message a:hover{color:var(--brand-800);}
.woocommerce-error{
  background:#fbf2f0;border:1px solid #e8c7c0;border-top:2px solid #b04a39;border-radius:var(--radius-md);
  color:#7c2f22;font-size:14px;line-height:1.5;padding:14px 18px;list-style:none;margin-left:0;
}
.woocommerce-form-coupon-toggle{margin-bottom:10px;}
form.checkout_coupon.woocommerce-form-coupon{
  border:1px solid var(--sand-300);border-radius:var(--radius-md);padding:18px;background:var(--sand-50);
}

/* KOSZYK: pozycje jako siatka. Tabela WooCommerce ma w nagłówku inną liczbę
   komórek niż w wierszach (4 vs 6), więc table-layout nie wyrówna kolumn -
   mylący nagłówek chowamy, a wiersze układamy gridem (niezawodne wyrównanie). */
@media (min-width:601px){
  .woocommerce-cart-form table.shop_table{display:block;border:0;background:transparent;border-radius:0;overflow:visible;}
  .woocommerce-cart-form table.shop_table thead{display:none;}
  .woocommerce-cart-form table.shop_table tbody{
    display:block;background:var(--sand-50);border:1px solid var(--sand-300);
    border-radius:var(--radius-lg);overflow:hidden;
  }
  .woocommerce-cart-form tbody tr.cart_item{
    display:grid;grid-template-columns:84px minmax(0,1fr) 108px 104px 120px 40px;
    align-items:center;gap:18px;padding:20px 22px;margin:0;border-top:1px solid var(--sand-300);
  }
  .woocommerce-cart-form tbody tr.cart_item:first-child{border-top:0;}
  .woocommerce-cart-form tbody tr.cart_item > td{display:block;border:0;padding:0;}
  .woocommerce-cart-form tr.cart_item .product-thumbnail{grid-column:1;}
  .woocommerce-cart-form tr.cart_item .product-name{grid-column:2;min-width:0;}
  .woocommerce-cart-form tr.cart_item .product-price{grid-column:3;text-align:right;}
  .woocommerce-cart-form tr.cart_item .product-quantity{grid-column:4;text-align:center;}
  .woocommerce-cart-form tr.cart_item .product-subtotal{grid-column:5;text-align:right;font-weight:700;color:var(--head-500);}
  .woocommerce-cart-form tr.cart_item .product-remove{grid-column:6;text-align:center;}
  /* Wiersz akcji (kupon + aktualizacja) jako stopka karty. */
  .woocommerce-cart-form tbody tr:not(.cart_item){display:block;border-top:1px solid var(--sand-300);}
  .woocommerce-cart-form tbody tr:not(.cart_item) > td.actions{display:flex;padding:18px 22px;}
}
/* Akcje: kupon i aktualizacja - bez nachodzenia (flex, przerwy). */
.woocommerce-cart-form td.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border:0;}
.woocommerce-cart-form td.actions .coupon{display:flex;gap:10px;align-items:center;flex:1 1 300px;margin:0;}
.woocommerce-cart-form td.actions .coupon .input-text{flex:1 1 auto;min-width:0;max-width:240px;margin:0;}
.woocommerce-cart-form td.actions button[name="update_cart"]{margin-left:auto;}

/* Kafelki zaufania pod formularzem checkoutu. */
.checkout-trust{
  list-style:none;margin:26px 0 0;padding:22px 0 0;border-top:1px solid var(--sand-300);
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.checkout-trust li{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;
  font-size:12.5px;font-weight:700;color:var(--text-500);line-height:1.35;
}
.checkout-trust li svg{color:var(--brand-500);width:40px;height:40px;flex:0 0 auto;stroke-width:1.5;}
@media (max-width:600px){.checkout-trust{gap:10px;}.checkout-trust li{font-size:11px;}.checkout-trust li svg{width:34px;height:34px;}}

/* Linki prawne pod przyciskiem płatności. */
.checkout-legal{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;
  margin-top:16px;font-size:13px;
}
.checkout-legal a{color:var(--text-500);text-decoration:none;border:0;transition:color var(--dur-fast) var(--ease-standard);}
.checkout-legal a:hover{color:var(--brand-700);}
.checkout-legal span{color:var(--sand-400);}

/* Dostawa i metody płatności jako wybieralne karty (stany hover/checked). */
ul#shipping_method li,
#payment ul.payment_methods > li{
  border:1.5px solid var(--sand-300)!important;border-radius:var(--radius-md);
  padding:12px 14px!important;margin-bottom:8px;background:var(--sand-50);
  transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard);
}
@media (hover:hover) and (pointer:fine){
  ul#shipping_method li:hover,
  #payment ul.payment_methods > li:hover{border-color:var(--brand-300)!important;}
}
ul#shipping_method li:has(input:checked),
#payment ul.payment_methods > li:has(input:checked){border-color:var(--brand-500)!important;background:var(--brand-50);}
ul#shipping_method li label,
#payment ul.payment_methods > li > label{cursor:pointer;margin:0;}

/* Pozycje koszyka - dopieszczenie miniatury i listy opcji. */
.woocommerce-cart-form .product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);}
.woocommerce-cart-form .product-name > a{font-size:15px;}
.woocommerce-cart-form .product-name .variation{margin:8px 0 0;font-size:13px;color:var(--text-500);line-height:1.5;}
.woocommerce-cart-form .product-name .variation dt{font-weight:700;color:var(--text-600);margin:0;}
.woocommerce-cart-form .product-name .variation dd{margin:0 0 2px;}
.woocommerce-cart .quantity .qty{min-height:44px;}

/* ===================================================================
   RESPONSYWNOŚĆ TABEL WOOCOMMERCE (koszyk / zamówienia / adresy)
   Na wąskich ekranach zamieniamy wiersze na "karty", żeby nic nie uciekało.
   =================================================================== */
@media (max-width:600px){
  /* KOSZYK - każda pozycja jako czytelna karta (nazwa/warianty pełnej szerokości) */
  .woocommerce-cart-form table.shop_table,
  .woocommerce-cart-form table.shop_table tbody,
  .woocommerce-cart-form table.shop_table tr,
  .woocommerce-cart-form table.shop_table td{display:block;width:100%;}
  .woocommerce-cart-form table.shop_table thead{display:none;}
  .woocommerce-cart-form table.shop_table tr.cart_item{
    position:relative;border:1px solid var(--sand-300);border-radius:var(--radius-lg);
    background:var(--sand-50);margin-bottom:14px;padding:16px 16px 6px;
  }
  .woocommerce-cart-form tr.cart_item td{border:0;padding:9px 0;text-align:left;}
  .woocommerce-cart-form tr.cart_item td::before{content:none;}
  /* zdjęcie */
  .woocommerce-cart-form tr.cart_item td.product-thumbnail{padding-top:0;}
  .woocommerce-cart-form tr.cart_item td.product-thumbnail img{width:96px;height:96px;}
  /* nazwa + warianty: pełna szerokość, czytelnie */
  .woocommerce-cart-form tr.cart_item td.product-name{border-bottom:1px solid var(--sand-200);padding-bottom:12px;}
  .woocommerce-cart-form tr.cart_item td.product-name > a{display:block;font-size:16px;font-weight:600;color:var(--head-700);}
  .woocommerce-cart-form tr.cart_item td.product-name .variation{margin-top:8px;}
  .woocommerce-cart-form tr.cart_item td.product-name .variation dt{margin-top:6px;}
  .woocommerce-cart-form tr.cart_item td.product-name .variation dd{margin:0 0 2px;color:var(--head-600);}
  /* proste pola: etykieta lewo, wartość prawo */
  .woocommerce-cart-form tr.cart_item td.product-price,
  .woocommerce-cart-form tr.cart_item td.product-quantity,
  .woocommerce-cart-form tr.cart_item td.product-subtotal{
    display:flex;justify-content:space-between;align-items:center;gap:12px;
    border-bottom:1px solid var(--sand-200);
  }
  .woocommerce-cart-form tr.cart_item td.product-subtotal{border-bottom:0;font-weight:700;color:var(--head-700);}
  .woocommerce-cart-form tr.cart_item td.product-price::before,
  .woocommerce-cart-form tr.cart_item td.product-quantity::before,
  .woocommerce-cart-form tr.cart_item td.product-subtotal::before{
    content:attr(data-title);font-weight:700;color:var(--head-500);font-size:12px;
    text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;
  }
  /* X usuń - prawy górny róg karty */
  .woocommerce-cart-form tr.cart_item td.product-remove{position:absolute;top:8px;right:10px;width:auto;padding:0;}
  .woocommerce-cart-form tr.cart_item td.product-remove a{font-size:22px;}
  /* wiersz akcji (kupon/aktualizacja) */
  .woocommerce-cart-form tbody tr:not(.cart_item){display:block;border:0;}
  .woocommerce-cart-form td.actions{flex-direction:column;align-items:stretch;gap:10px;padding:0;}
  .woocommerce-cart-form td.actions .coupon{flex:1 1 auto;}
  .woocommerce-cart-form td.actions .coupon .input-text{max-width:none;}

  /* Tabele konta/zamówień - przewijanie poziome jako bezpieczny fallback */
  .woocommerce-MyAccount-content .shop_table,
  .woocommerce-orders-table,
  .woocommerce-table--order-details{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;}

  /* Checkout - pełna szerokość pól i przycisków */
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .col2-set{grid-template-columns:1fr;}
  #payment #place_order,.checkout-button{width:100%;}

  /* Nagłówki na telefonie - delikatnie mniejsze */
  h2{font-size:var(--fs-h3);}
  .section-head{margin-bottom:32px;}
}

/* Logo na telefonach/tabletach - wyraźnie mniejsze niż na desktopie (71px) */
@media (max-width:768px){
  .hdr-logo img{height:46px;}
}
/* Bardzo małe ekrany - logo i akcje nagłówka */
@media (max-width:380px){
  .hdr-logo img{height:40px;}
  .hdr-actions{gap:8px;}
  .icon-btn{width:38px;height:38px;}
}

/* Szanuj preferencję ograniczonego ruchu */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

/* ===================================================================
   FORMULARZ WYSZUKIWANIA
   =================================================================== */
.search-form{display:flex;gap:10px;max-width:520px;margin-top:18px;}
.search-form .search-field{flex:1;border:1.5px solid var(--sand-300);border-radius:var(--radius-pill);padding:12px 18px;font-family:inherit;font-size:14px;background:var(--sand-50);}
.search-form .search-field:focus{outline:none;border-color:var(--brand-400);}
.search-form .search-submit{flex:none;}

/* ===================================================================
   WSPÓŁPRACA B2B
   =================================================================== */
.wspolpraca-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;padding-top:24px;}
.wspolpraca-hero__lead{font-size:1.2rem;font-weight:600;color:var(--head-500);margin-bottom:.75rem;}
.wspolpraca-hero__img img{width:100%;border-radius:var(--radius-xl);object-fit:cover;max-height:520px;}
.wspolpraca-why__lead{max-width:700px;margin:0 auto;text-align:center;font-size:1.05rem;line-height:1.65;}
.wspolpraca-why__note{max-width:700px;margin:18px auto 0;text-align:center;color:var(--text-500);font-weight:600;}
.wspolpraca-services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px;}
.wspolpraca-service{padding:28px;text-align:center;}
.wspolpraca-service__icon{
  margin:0 auto 18px;width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;background:var(--brand-50);color:var(--brand-600);border:1px solid var(--sand-300);
}
.wspolpraca-service__icon svg{width:32px;height:32px;stroke-width:1.6;}
.wspolpraca-service__icon img{width:64px;height:64px;object-fit:contain;}
.wspolpraca-service h3{font-size:1rem;font-weight:700;margin-bottom:8px;color:var(--head-500);}
.wspolpraca-logos{list-style:none;margin:40px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:center;}
.wspolpraca-logos li img{height:48px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s;}
.wspolpraca-logos li img:hover{filter:none;opacity:1;}
@media(max-width:900px){.wspolpraca-hero__grid{grid-template-columns:1fr;}.wspolpraca-services__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.wspolpraca-services__grid{grid-template-columns:1fr;}}

/* ===================================================================
   WYPRZEDAŻ
   =================================================================== */
.wyprzedaz-count{font-size:.9rem;color:var(--text-500);margin-bottom:24px;}
/* Ciemny hero - wymuś czytelny biały tekst (baza p{color:var(--fg)} go nadpisywała) */
.wyprzedaz-hero,.wyprzedaz-hero p,.wyprzedaz-hero h1,.wyprzedaz-hero .eyebrow{color:#fff;}
.wyprzedaz-hero .eyebrow{color:var(--accent-gold);}

/* ===================================================================
   DODATKI - strona katalogu akcesoriów
   =================================================================== */
.dodatki-intro{font-size:1.05rem;color:var(--text-600);max-width:700px;margin-top:.75rem;}
.dodatki-list{display:flex;flex-direction:column;gap:56px;}
.dodatki-card{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center;padding:40px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);}
.dodatki-card--alt{direction:rtl;}
.dodatki-card--alt>*{direction:ltr;}
.dodatki-card__img img{width:100%;border-radius:var(--radius-lg);object-fit:cover;max-height:380px;}
.dodatki-card__title{font-size:clamp(1.3rem,2.5vw,1.75rem);margin-bottom:12px;color:var(--head-700);}
.dodatki-card__desc{color:var(--text-600);line-height:1.7;margin-bottom:20px;}
.dodatki-card__specs{margin-bottom:20px;}
.dodatki-card__specs h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-400);margin-bottom:10px;}
.specs-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.specs-table th,.specs-table td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--sand-200);}
.specs-table th{font-weight:600;color:var(--head-500);white-space:nowrap;width:45%;background:var(--sand-50);}
.specs-table td{color:var(--text-600);}
.dodatki-card__note{font-size:.85rem;color:var(--text-500);background:var(--sand-100);border-left:3px solid var(--brand-400);padding:10px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:20px;}
.dodatki-card__cta{margin-top:4px;}
@media(max-width:860px){
  .dodatki-card,.dodatki-card--alt{grid-template-columns:1fr;direction:ltr;}
  .dodatki-card__img{order:-1;}
}

/* ===================================================================
   FORMULARZ KONTAKTOWY
   =================================================================== */
.contact-form{display:flex;flex-direction:column;gap:16px;margin-top:24px;}
.form-row{display:flex;gap:16px;}
.form-row--2col{flex-wrap:wrap;}
.form-row--2col .form-group{flex:1;min-width:180px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:.85rem;font-weight:600;color:var(--head-500);}
.form-group label span{color:var(--brand-700);}
.form-group input,.form-group textarea{
  border:1.5px solid var(--sand-300);
  border-radius:var(--radius-md);
  padding:12px 14px;
  font-family:inherit;
  font-size:.95rem;
  background:var(--sand-50);
  color:var(--head-700);
  transition:border-color .2s;
  width:100%;
  box-sizing:border-box;
}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-500);}
.form-group textarea{resize:vertical;min-height:120px;}
.form-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:4px;}
.form-gdpr{font-size:.8rem;color:var(--text-500);max-width:300px;}
.form-gdpr a{color:var(--brand-600);text-decoration:underline;}
.contact-submit{position:relative;min-width:200px;}
.contact-submit__spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-left:8px;}
.contact-submit.is-loading .contact-submit__label{opacity:.5;}
.contact-submit.is-loading .contact-submit__spinner{display:inline-block;}
@keyframes spin{to{transform:rotate(360deg);}}
.contact-status{padding:12px 16px;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;display:none;}
.contact-status:not(:empty){display:block;}
.contact-status.is-success{background:var(--status-success-bg,#ecfdf5);color:var(--status-success,#166534);}
.contact-status.is-error{background:var(--status-error-bg,#fef2f2);color:var(--status-error,#991b1b);}

/* ===================================================================
   SEKCJA DODATKÓW na stronie produktu (.acc-showcase)
   =================================================================== */
.acc-showcase{background:var(--sand-100,#f4efe9);padding:clamp(40px,6vw,72px) 0;border-top:1px solid var(--sand-300,#e6ddd2);}
.acc-showcase__head{max-width:640px;margin:0 0 32px;}
.acc-showcase__head h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:6px 0 10px;}
.acc-showcase__head p{color:var(--text-500,#6f5f52);margin:0;line-height:1.6;}
.acc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:18px;}
.acc-card{margin:0;}
.acc-card__link{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--sand-300,#e6ddd2);border-radius:var(--radius-lg,16px);overflow:hidden;text-decoration:none;color:inherit;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s;}
.acc-card__link:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(48,38,32,.45);border-color:var(--brand-400,#c9ab8f);}
.acc-card__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sand-200,#ece4d9);}
.acc-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.acc-card__link:hover .acc-card__img img{transform:scale(1.05);}
.acc-card__body{padding:13px 15px 16px;display:flex;flex-direction:column;gap:5px;}
.acc-card__name{font-family:var(--font-head,'Playfair Display',serif);font-size:1rem;line-height:1.25;color:var(--head-500,#3a2f29);}
.acc-card__desc{font-size:12.5px;line-height:1.5;color:var(--text-500,#6f5f52);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.acc-showcase__cta{margin-top:30px;text-align:center;}
@media (max-width:560px){
  .acc-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px;}
  .acc-card__name{font-size:.95rem;}
}
@media (max-width:380px){ .acc-grid{grid-template-columns:1fr 1fr;} }

/* ===================================================================
   STOPKA - dane firmy pod logo (.footer-company)
   =================================================================== */
.footer-company{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px;line-height:1.4;color:rgba(255,255,255,.72);}
/* Ikony social media pod danymi firmy - selektor .footer ul.footer-social,
   bo ogólne .footer ul (components.css) wymusza flex-direction:column */
.footer ul.footer-social{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;}
.footer-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.78);
  transition:color var(--dur-fast),border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast);}
.footer-social a:hover{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08);}
.footer-social a:active{transform:scale(.95);}
.footer-social svg{display:block;}
.footer-company li{display:flex;align-items:flex-start;gap:9px;}
.footer-company li svg{flex:0 0 auto;margin-top:1px;opacity:.7;}
.footer-company a{color:inherit;text-decoration:none;transition:color .25s;}
.footer-company a:hover{color:#fff;}
.footer-company__name{font-weight:700;color:#fff;letter-spacing:.01em;margin-bottom:2px;}
.footer-company__name::before{content:none;}

/* ===================================================================
   SEKCJA NAGRODY "Laur Konsumenta 2026" (strona O nas)
   =================================================================== */
.award-section{overflow:hidden;}
.award-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,64px);align-items:center;}
.award-copy h2{font-size:clamp(1.6rem,3.2vw,2.4rem);margin:8px 0 14px;}
.award-copy p{color:var(--text-500,#6f5f52);line-height:1.65;margin:0 0 14px;max-width:46ch;}
.award-copy .award-thanks{font-weight:600;color:var(--head-500,#3a2f29);}
.award-copy .btn{margin-top:10px;}
.award-media{margin:0;border-radius:var(--radius-lg,16px);overflow:hidden;box-shadow:0 34px 60px -32px rgba(48,38,32,.55);border:1px solid var(--sand-300,#e6ddd2);}
.award-media img{width:100%;height:auto;display:block;}
@media (max-width:820px){
  .award-grid{grid-template-columns:1fr;gap:28px;}
  .award-copy{order:2;}
  .award-media{order:1;}
}

/* ===================================================================
   LIGHTBOX galerii produktu (.wresk-lightbox)
   =================================================================== */
body.wresk-lb-lock{overflow:hidden;}
.wresk-lightbox{
  position:fixed;inset:0;z-index:9999;display:none;
  align-items:center;justify-content:center;
  background:rgba(24,18,14,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;transition:opacity .28s ease;
}
.wresk-lightbox.is-open{display:flex;opacity:1;}
.wresk-lb__stage{margin:0;max-width:92vw;max-height:88vh;display:flex;align-items:center;justify-content:center;}
.wresk-lb__img{
  max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;
  border-radius:10px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);
  animation:wreskLbIn .35s cubic-bezier(.16,1,.3,1);
}
@keyframes wreskLbIn{from{opacity:0;transform:scale(.96);}to{opacity:1;transform:none;}}
.wresk-lb__close,.wresk-lb__nav{
  position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;
  cursor:pointer;border-radius:50%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  transition:background .2s,transform .2s,border-color .2s;
}
.wresk-lb__close{top:20px;right:22px;width:46px;height:46px;font-size:26px;line-height:1;}
.wresk-lb__nav{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:30px;line-height:1;}
.wresk-lb__prev{left:max(18px,3vw);}
.wresk-lb__next{right:max(18px,3vw);}
.wresk-lb__close:hover,.wresk-lb__nav:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5);}
.wresk-lb__nav:hover{transform:translateY(-50%) scale(1.06);}
.wresk-lb__counter{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.85);font-size:13px;letter-spacing:.06em;font-weight:600;
  background:rgba(0,0,0,.35);padding:6px 14px;border-radius:999px;
}
@media (max-width:560px){
  .wresk-lb__nav{width:44px;height:44px;font-size:24px;}
  .wresk-lb__close{width:42px;height:42px;top:14px;right:14px;}
}

/* ===================================================================
   THWEPO Pro - układ formularza wariantu (odwzorowanie oryginału):
   pola dodatków w 2 KOLUMNACH, przeniesiona cena, ilość, przycisk,
   tabela podsumowania na dole. Kolory zharmonizowane z motywem
   (zamiast #4CAF50 → kolor marki). Działa dla produktów wariantowych.
   =================================================================== */
.woocommerce-variation-add-to-cart{
  display:flex !important;flex-wrap:wrap !important;gap:18px 20px !important;align-items:flex-start;margin-top:16px;
}
/* Pola dodatków - dwie kolumny */
.woocommerce-variation-add-to-cart .extra-options{
  order:1;flex:0 0 48% !important;max-width:48% !important;width:auto !important;float:none !important;box-sizing:border-box !important;
}
/* Przeniesiona cena - pełna szerokość, pod polami */
.woocommerce-variation-add-to-cart .woocommerce-variation-price.price-relocated{
  order:2 !important;flex:1 1 100% !important;width:100% !important;margin:6px 0 16px !important;
  display:flex !important;align-items:center;justify-content:flex-start;
  padding-bottom:15px !important;border-bottom:1px solid var(--sand-300) !important;
}
/* Cena finalna - typografia i kolor marki + dopisek */
.woocommerce-variation-add-to-cart .woocommerce-variation-price .price{
  font-family:var(--font-display) !important;font-size:30px !important;font-weight:600 !important;
  color:var(--brand-700) !important;margin:0 !important;line-height:1.2;
}
.woocommerce-variation-add-to-cart .woocommerce-variation-price .price::after{
  content:" Cena końcowa";font-family:var(--font-body);font-size:15px !important;font-weight:600 !important;
  color:var(--brand-600) !important;margin-left:10px !important;letter-spacing:.02em;
}
/* Wishlist pod ceną */
.woocommerce-variation-add-to-cart .add_to_wishlist,
.woocommerce-variation-add-to-cart .tinvwl_add_to_wishlist_button,
.woocommerce-variation-add-to-cart a[class*="wishlist"],
.woocommerce-variation-add-to-cart div[class*="wishlist"]{
  order:3 !important;flex:1 1 100% !important;margin:0 0 14px !important;display:flex !important;justify-content:flex-start;align-items:center;
}
/* Ilość + przycisk */
.woocommerce-variation-add-to-cart .quantity{order:4;flex:0 0 auto;margin:0 !important;}
.woocommerce-variation-add-to-cart .single_add_to_cart_button{order:5;flex:0 0 auto;margin:0 !important;}
/* Tabela podsumowania (produkt + opcje + suma) - na samym dole, pełna szerokość, ZAWSZE widoczna */
.woocommerce-variation-add-to-cart .thwepo-price-table,
.woocommerce-variation-add-to-cart table[class*="thwepo-price-table"]{
  order:999 !important;flex:1 1 100% !important;width:100% !important;margin:20px 0 0 !important;
}
.thwepo-price-table{
  display:block !important;visibility:visible !important;
  background:transparent !important;border:1px solid var(--sand-300) !important;border-radius:16px !important;
  padding:15px !important;box-sizing:border-box !important;font-size:15px !important;font-weight:500 !important;
  color:var(--head-700) !important;width:100% !important;
}
.thwepo-price-table .value,
.thwepo-price-table .woocommerce-Price-amount,
.thwepo-price-table .woocommerce-Price-amount bdi{font-size:15px !important;line-height:1.4 !important;font-weight:600 !important;}
/* Ukryj domyślny przycisk TI Wishlist nad formularzem (jest przeniesiony) */
.tinv-wraper.woocommerce.tinv-wishlist.tinvwl-after-add-to-cart{display:none !important;}
/* Mobile - wszystko w jednej kolumnie */
@media (max-width:767px){
  .woocommerce-variation-add-to-cart{flex-direction:column !important;flex-wrap:nowrap !important;}
  .woocommerce-variation-add-to-cart .extra-options{flex:1 1 100% !important;max-width:100% !important;}
  .woocommerce-variation-add-to-cart .woocommerce-variation-price.price-relocated{justify-content:flex-start;}
  .woocommerce-variation-add-to-cart .quantity{flex:0 0 80px;}
  .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 auto;}
}

/* ===================================================================
   KOSZYK - poprawki: mniejszy H1, ukrycie wyboru dostawy
   =================================================================== */
/* H1 "Koszyk" - mniejszy (był za duży) */
.woocommerce-cart .entry-title{font-size:clamp(1.7rem,3vw,2.3rem)!important;line-height:1.1;margin:6px 0 18px;}
/* Ukryj wybór sposobu dostawy w koszyku (klient wybiera w kasie) */
.woocommerce-cart .cart_totals .woocommerce-shipping-totals,
.woocommerce-cart .cart_totals tr.shipping,
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals,
.woocommerce-cart .cart_totals .shipping-calculator-form,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination{display:none!important;}

/* ===================================================================
   CHECKOUT v3 - węższy kontener 1200px + naprawy UX/UI
   =================================================================== */
/* Kontener treści checkoutu max 1200px */
.woocommerce-checkout .page-text > .container,
.woocommerce-checkout .woo-main > .container{max-width:1200px;}

/* Kupon przeniesiony na koniec - ostylowanie spójne, odstęp od formularza */
.woocommerce-checkout .checkout_coupon{margin:28px 0 0;border:1px solid var(--sand-300);border-radius:var(--radius-lg);background:var(--sand-50);padding:18px 20px;}
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:24px 0 0;}

/* Opcje produktu (THWEPO) w podsumowaniu - każda opcja "Etykieta: wartość"
   w osobnej linii, wykorzystując pełną szerokość komórki PRODUKT (bez nachodzenia). */
.woocommerce-checkout-review-order .product-name dl.variation,
.woocommerce-checkout-review-order .cart-item dl.variation,
.woocommerce-checkout #order_review dl.variation{
  display:block !important;margin:10px 0 0 !important;padding:0;white-space:normal;
}
.woocommerce-checkout-review-order dl.variation dt,
.woocommerce-checkout #order_review dl.variation dt{display:block !important;font-weight:600 !important;font-size:12px;line-height:1.35;color:var(--head-500);margin:8px 0 1px !important;float:none !important;}
.woocommerce-checkout-review-order dl.variation dt:first-child,
.woocommerce-checkout #order_review dl.variation dt:first-child{margin-top:0 !important;}
.woocommerce-checkout-review-order dl.variation dd,
.woocommerce-checkout #order_review dl.variation dd{display:block !important;font-size:13.5px;line-height:1.35;margin:0 !important;color:var(--text-600);float:none !important;}
.woocommerce-checkout-review-order dl.variation dd p,
.woocommerce-checkout #order_review dl.variation dd p{display:inline !important;margin:0 !important;}

/* Tabela podsumowania - kolumna KWOTA wąska (dopasowana do ceny), PRODUKT bierze resztę.
   Wysoka specyficzność + :last-child, bo klasowe width:1% było nadpisywane. */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table{table-layout:auto !important;width:100%;}
.woocommerce-checkout #order_review table.shop_table th:last-child,
.woocommerce-checkout #order_review table.shop_table td:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table th:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table td:last-child{
  width:1px !important;white-space:nowrap !important;text-align:right !important;padding-left:12px !important;
}
.woocommerce-checkout #order_review table.shop_table th:first-child,
.woocommerce-checkout #order_review table.shop_table td:first-child,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table th:first-child,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table td:first-child{width:auto !important;}

/* Logo checkoutu - na SAMEJ GÓRZE lewej kolumny, ROZCIĄGNIĘTE na całą jej szerokość */
.woocommerce-checkout form.checkout > .checkout-brand{grid-column:1;grid-row:1;align-self:start;margin-top:0 !important;}
.woocommerce-checkout .checkout-brand{
  display:block !important;width:100% !important;text-align:left !important;margin:0 0 22px !important;
  padding:0 0 18px;border-bottom:1px solid var(--sand-200);
}
.woocommerce-checkout .checkout-brand::before,
.woocommerce-checkout .checkout-brand::after{content:none !important;}
.woocommerce-checkout .checkout-brand__logo{display:block !important;width:100% !important;}
.woocommerce-checkout .checkout-brand__logo img{width:100% !important;height:auto !important;max-height:none !important;display:block;}
.woocommerce-checkout .checkout-brand .hdr-logo,
.woocommerce-checkout .checkout-brand .custom-logo{width:100%;max-height:none;height:auto;display:block;}

/* Kupon - w lewej kolumnie pod formularzem (zwężony, do lewej; nie pełna szerokość) */
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle{max-width:620px;margin-right:auto !important;}

/* Metody płatności - czysty układ pionowy, regulamin jako blok pod metodą (BEZ dymka, BEZ łamania słów) */
.woocommerce-checkout #payment ul.payment_methods{padding:0;margin:0;}
.woocommerce-checkout #payment ul.payment_methods > li{padding:8px 0;overflow:visible;}
.woocommerce-checkout #payment ul.payment_methods > li > label{display:inline;margin:0;font-size:14px;}
.woocommerce-checkout #payment ul.payment_methods > li img{display:inline-block;vertical-align:middle;margin:0 0 0 8px;max-height:24px;width:auto;}
/* Box regulaminu - pełna szerokość, w przepływie (nie dymek), bez strzałki */
.woocommerce-checkout #payment .payment_box{
  position:relative !important;width:100% !important;box-sizing:border-box;margin:10px 0 0 !important;
  font-size:13px;line-height:1.6;overflow-wrap:break-word;
}
.woocommerce-checkout #payment .payment_box::before{display:none !important;content:none !important;}
/* Treść regulaminu - KONIEC układu w kolumny: label.checkbox (Przelewy24) bywa
   flexem/columns, który rozbija zdanie na pionowe paski. Wymuszamy normalny akapit. */
/* UWAGA: NIE wymuszać display na samym .payment_box - WooCommerce ukrywa
   niewybrane metody przez style="display:none". Stylujemy tylko wnętrze. */
.woocommerce-checkout #payment .payment_box > div,
.woocommerce-checkout #payment .payment_box label,
.woocommerce-checkout #payment #payment .payment_box label.checkbox,
.woocommerce-checkout #payment .payment_box label.checkbox{
  display:block !important;flex-direction:unset !important;flex-wrap:nowrap !important;
  column-count:1 !important;columns:auto !important;-webkit-column-count:1 !important;
  float:none !important;max-width:100% !important;width:auto !important;
  text-align:left !important;line-height:1.6 !important;
}
.woocommerce-checkout #payment .payment_box label.checkbox > *,
.woocommerce-checkout #payment .payment_box a,
.woocommerce-checkout #payment .payment_box span,
.woocommerce-checkout #payment .payment_box strong{display:inline !important;float:none !important;width:auto !important;margin:0 !important;}
.woocommerce-checkout #payment .payment_box p{margin:0 0 8px !important;display:block !important;}
/* checkbox zgody - w linii z tekstem */
.woocommerce-checkout #payment .payment_box input[type="checkbox"]{display:inline-block !important;width:auto !important;margin:0 8px 0 0 !important;vertical-align:middle;}

/* Drobny polish: zgody/terms nie wystają */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{overflow-wrap:break-word;}
.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order{box-sizing:border-box;}

/* ===================================================================
   KONTAKT - układ 2-kolumnowy (info lewo / formularz w białej karcie prawo)
   =================================================================== */
.page-kontakt .contact-grid{grid-template-columns:0.9fr 1.1fr;align-items:start;gap:clamp(28px,4vw,60px);}
.contact-info{padding-top:4px;}
.contact-info .eyebrow{display:block;}
.contact-h1{font-size:clamp(2rem,4vw,2.9rem);line-height:1.05;margin:8px 0 14px;}
.contact-intro{color:var(--text-500);font-size:17px;line-height:1.6;margin:0 0 28px;max-width:40ch;}
.contact-info .contact-list{margin:0 0 28px;}
.contact-info .contact-list li{font-size:15.5px;}
.contact-faq-btn{display:inline-flex;align-items:center;gap:8px;}
.contact-form-wrap.card{
  background:#fff;border:1px solid var(--sand-300);border-radius:var(--radius-lg);
  padding:clamp(24px,3vw,40px);box-shadow:0 26px 54px -34px rgba(48,38,32,.42);
}
@media (max-width:860px){
  .page-kontakt .contact-grid{grid-template-columns:1fr;}
  .contact-form-wrap.card{order:2;}
}

/* ===================================================================
   Pole kuponu w formularzu checkoutu (przed "Wyślij na inny adres")
   =================================================================== */
.checkout-coupon-inline{margin:20px 0 10px;}
.checkout-coupon-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;color:var(--brand-700);font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;}
.checkout-coupon-toggle:hover{color:var(--brand-800);text-decoration:underline;}
.checkout-coupon-toggle svg{flex:0 0 auto;}
.checkout-coupon-fields{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:flex-start;}
.checkout-coupon-fields[hidden]{display:none;}
.checkout-coupon-fields .js-coupon-code{flex:1 1 220px;min-width:0;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);padding:12px 14px;font:inherit;font-size:14px;background:var(--sand-50);box-sizing:border-box;}
.checkout-coupon-fields .js-coupon-code:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--champagne-soft);}
.checkout-coupon-fields .js-coupon-apply{flex:0 0 auto;}
.checkout-coupon-msg{flex:1 1 100%;font-size:13px;}
.checkout-coupon-msg .woocommerce-message,.checkout-coupon-msg .woocommerce-error,.checkout-coupon-msg .woocommerce-info{margin:8px 0 0;}

/* ===================================================================
   HERO - dopracowanie wersji MOBILNEJ (porządek + czytelność)
   Na iOS wideo tła nie autoodtwarza się → widać obraz-fallback; układ
   musi być czysty i zwarty niezależnie od tego.
   =================================================================== */
@media (max-width:768px){
  /* mocniejsze przyciemnienie pod jasny tekst na mobile */
  .hero-media::after{background:linear-gradient(180deg,rgba(23,18,17,.42) 0%,rgba(23,18,17,.40) 40%,rgba(23,18,17,.60) 100%);}
}
@media (max-width:600px){
  .hero{margin:8px;min-height:auto;border-radius:var(--radius-lg);}
  .hero-inner{padding-block:38px 34px;gap:0;}
  .hero .eyebrow-pill{font-size:10px;padding:7px 14px;margin-bottom:14px;letter-spacing:.14em;}
  /* h1 w JEDNEJ LINII na mobile - nowrap + font dopasowany do szerokości */
  .hero h1{font-size:clamp(1.1rem,5.2vw,1.85rem);white-space:nowrap;line-height:1.1;margin-bottom:12px;text-shadow:0 2px 24px rgba(0,0,0,.5);}
  .hero .hero-lead{font-size:15px;line-height:1.5;margin-bottom:0;max-width:32ch;}
  /* Karta promo - zwarta, ciemniejsza, WYŚRODKOWANA na mobile */
  .hero-promo-card{
    margin-top:22px;padding:18px 18px;gap:14px;width:100%;max-width:none;
    flex-direction:column !important;align-items:center !important;text-align:center !important;
    background:rgba(23,18,17,.46);border-color:rgba(255,255,255,.28);box-shadow:0 12px 30px rgba(0,0,0,.32);
  }
  .hero-promo-card .hp-headline,
  .hero-promo-card .hp-code{text-align:center !important;}
  .hero-promo-card .hp-headline span{font-size:10px;letter-spacing:.1em;margin-bottom:6px;}
  .hero-promo-card .hp-headline b{font-size:25px;}
  .hero-promo-card .hp-headline em{font-size:12.5px;margin-top:6px;line-height:1.4;}
  .hero-promo-card .hp-code small{font-size:11px;margin-bottom:6px;}
  .hero-promo-card .hp-code-pill{padding:11px 20px;font-size:14px;}
  /* Na mobile kupon stackuje się pionowo - chowamy perforację i narożniki */
  .hero-promo-card--vacation{padding:18px 18px;gap:12px;}
  .hero-promo-card--vacation .hp-perf{display:none;}
  .hero-promo-card--vacation::before,
  .hero-promo-card--vacation::after{display:none;}
  .hero-promo-card--vacation .hp-code-pill{font-size:14px;padding:11px 20px;}
  .hero-promo-card--vacation .hp-code small{font-size:10px;}
  /* Korzyści - pionowo, zwarte, nie nachodzą na przycisk czatu */
  .hero-trust{gap:10px 22px;margin-top:20px;}
  .hero-trust li{font-size:13px;}
}
@media (max-width:400px){
  .hero h1{font-size:clamp(1rem,5.1vw,1.5rem);white-space:nowrap;}
  .hero-promo-card .hp-headline b{font-size:22px;}
}

/* ===================================================================
   CHECKOUT v4 - układy PIONOWE (jedno pod drugim)
   =================================================================== */
/* 1) Podsumowanie jako LISTA BLOKÓW (nie sztywna tabela) - pozycja produktu wypełnia
      całą szerokość kontenera; stopka (Kwota/Kupon/Łącznie) jako flex label|kwota. */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table,
.woocommerce-checkout #order_review table.shop_table thead,
.woocommerce-checkout #order_review table.shop_table tbody,
.woocommerce-checkout #order_review table.shop_table tfoot,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table thead,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tbody,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot{display:block !important;width:100% !important;}
/* nagłówek "Produkt" jako blok */
.woocommerce-checkout #order_review table.shop_table thead tr,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table thead tr{display:block !important;}
/* wiersz produktu - pełna szerokość */
.woocommerce-checkout #order_review table.shop_table tr.cart_item,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tr.cart_item{
  display:block !important;width:100% !important;box-sizing:border-box !important;
  padding:14px 0 !important;border-top:1px solid var(--sand-300) !important;
}
.woocommerce-checkout #order_review table.shop_table tr.cart_item:first-child,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tr.cart_item:first-child{border-top:0 !important;}
.woocommerce-checkout #order_review table.shop_table tr.cart_item > td,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tr.cart_item > td{
  display:block !important;width:100% !important;box-sizing:border-box !important;padding:0 !important;border:0 !important;white-space:normal !important;text-align:left !important;
}
/* stopka: Kwota / Kupon / Łącznie - etykieta po lewej, kwota po prawej */
.woocommerce-checkout #order_review table.shop_table tfoot tr,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr{
  display:flex !important;justify-content:space-between !important;align-items:center !important;gap:12px;width:100% !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr th,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr th{display:block !important;width:auto !important;text-align:left !important;}
.woocommerce-checkout #order_review table.shop_table tfoot tr td,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr td{display:block !important;width:auto !important;text-align:right !important;}
/* Kupon: kwota + [Usuń] wystawała poza kartę - ogólna reguła td:last-child
   (width:1px + nowrap) zwężała box w stopce-flex do ~24px, a treść wylewała się
   w prawo poza kontener. W stopce kolumna kwoty bierze szerokość z treści. */
.woocommerce-checkout #order_review table.shop_table tfoot tr th:last-child,
.woocommerce-checkout #order_review table.shop_table tfoot tr td:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr th:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr td:last-child{
  width:auto !important;flex:0 0 auto !important;
}
.woocommerce-checkout #order_review .woocommerce-remove-coupon,
.woocommerce-checkout .woocommerce-checkout-review-order .woocommerce-remove-coupon{display:inline-block;margin-left:6px;}
/* Wiersz "Przesyłka": etykieta NAD listą, kurierzy pełnej szerokości (fix rozjechanych metod) */
.woocommerce-checkout #order_review table.shop_table tfoot tr.woocommerce-shipping-totals,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.woocommerce-shipping-totals{display:block !important;}
.woocommerce-checkout #order_review table.shop_table tfoot tr.woocommerce-shipping-totals th,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.woocommerce-shipping-totals th{display:block !important;width:100% !important;text-align:left !important;margin:0 0 10px !important;}
.woocommerce-checkout #order_review table.shop_table tfoot tr.woocommerce-shipping-totals td,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.woocommerce-shipping-totals td{display:block !important;width:100% !important;text-align:left !important;}
.woocommerce-checkout #order_review ul#shipping_method,
.woocommerce-checkout .woocommerce-checkout-review-order ul#shipping_method{list-style:none !important;margin:0 !important;padding:0 !important;display:flex !important;flex-direction:column !important;gap:8px !important;}
.woocommerce-checkout #order_review ul#shipping_method li,
.woocommerce-checkout .woocommerce-checkout-review-order ul#shipping_method li{display:flex !important;align-items:center !important;gap:10px !important;margin:0 !important;padding:11px 13px !important;border:1.5px solid var(--sand-300) !important;border-radius:var(--radius-md) !important;background:var(--sand-50) !important;}
.woocommerce-checkout #order_review ul#shipping_method li:has(input:checked),
.woocommerce-checkout .woocommerce-checkout-review-order ul#shipping_method li:has(input:checked){border-color:var(--brand-500) !important;background:var(--brand-50) !important;}
.woocommerce-checkout #order_review ul#shipping_method li label,
.woocommerce-checkout .woocommerce-checkout-review-order ul#shipping_method li label{margin:0 !important;font-size:14px !important;line-height:1.4;}
.woocommerce-checkout #order_review ul#shipping_method li input[type="radio"],
.woocommerce-checkout .woocommerce-checkout-review-order ul#shipping_method li input[type="radio"]{margin:0 !important;flex:0 0 auto !important;}

/* 2) Metoda płatności: input + label w jednej linii, payment_box (regulamin) POD spodem,
      całość w jednym kontenerze <li> (jedno pod drugim). */
.woocommerce-checkout #payment ul.payment_methods > li{
  display:flex !important;flex-wrap:wrap !important;align-items:center !important;column-gap:8px;row-gap:0;
}
.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"]{flex:0 0 auto !important;order:1;margin:0 4px 0 0 !important;}
.woocommerce-checkout #payment ul.payment_methods > li > label{
  flex:1 1 auto !important;order:2;display:inline-flex !important;align-items:center;gap:8px;margin:0 !important;min-width:0;
}
.woocommerce-checkout #payment ul.payment_methods > li > .payment_box{
  flex:0 0 100% !important;width:100% !important;order:3;margin:10px 0 0 !important;
}

/* Podsumowanie - ukryj kolumnę "product-total" (nagłówek KWOTA + cena pozycji);
   cena widoczna w Kwota/Łącznie poniżej. Wysoka specyficzność, bo blok v4
   ustawia .cart_item > td na display:block !important. */
.woocommerce-checkout .woocommerce-checkout-review-order th.product-total,
.woocommerce-checkout #order_review th.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tr.cart_item > td.product-total,
.woocommerce-checkout #order_review table.shop_table tr.cart_item > td.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tr > td.product-total{display:none !important;}


/* ===================================================================
   CHECKOUT - cały formularz jako biała karta z delikatnym borderem (brand)
   =================================================================== */
.woocommerce-checkout form.checkout.woocommerce-checkout{
  background:#fff;
  border:1px solid var(--sand-300);
  border-radius:var(--radius-xl);
  padding:clamp(22px,3.5vw,44px);
  box-shadow:0 30px 64px -42px rgba(48,38,32,.40);
}
/* Logo (rząd 1) - linia podziału spójna z kartą */
.woocommerce-checkout form.checkout.woocommerce-checkout .checkout-brand{border-bottom-color:var(--sand-200);}
@media (max-width:600px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{padding:18px;border-radius:var(--radius-lg);}
}

/* ===================================================================
   MOBILE - wszystkie siatki produktów ZAWSZE 1 karta w kolumnie
   =================================================================== */
@media (max-width:600px){
  ul.products.grid-products,
  .related.products ul.products,
  .up-sells.products ul.products,
  .related ul.products,
  .up-sells ul.products,
  .related.products.grid-products,
  .up-sells.products.grid-products{grid-template-columns:1fr !important;gap:16px !important;}
}

/* ===================================================================
   Blok treści SEO pod produktami (archiwa kategorii + Dodatki)
   =================================================================== */
.category-seo{padding:clamp(48px,7vw,88px) 0;border-top:1px solid var(--sand-300);background:var(--bg);}
/* Wyśrodkowany blok: nagłówki centrowane, akapity do lewej dla czytelności */
.category-seo__entry{max-width:760px;margin:0 auto;}
.category-seo__entry h2{font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.25;margin:44px 0 14px;color:var(--head-700);text-align:center;}
.category-seo__entry h2:first-child{margin-top:0;}
.category-seo__entry p{color:var(--text-500);line-height:1.8;margin:0;}

/* ===================================================================
   UX/dostępność - bezpieczne, addytywne usprawnienia (emil-design-eng)
   =================================================================== */
/* Szanuj preferencję ograniczonego ruchu (mniej animacji, bez przewijania) */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
}
/* Kotwice dodatków (#dodatek-…) nie chowają się pod sticky nagłówkiem */
[id^="dodatek-"]{scroll-margin-top:calc(var(--hdr-h,160px) + 24px);}
#newsletter{scroll-margin-top:calc(var(--hdr-h,160px) + 24px);}
a.promo-code-btn,a.hp-code-pill{text-decoration:none;}

/* Archiwum kategorii: bez dolnego paddingu <main> - sekcja "Funkcje" styka się
   bezpośrednio z newsletterem (koniec jasnej, pustej luki pod dodatkami). */
.woo-main.archive-shop{padding-bottom:0;}

/* ===================================================================
   "O NAS" - hero 2-kolumnowy (tekst + zdjęcie) + większa sekcja wideo
   =================================================================== */
.onas-hero__grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(32px,5vw,64px);align-items:center;margin-top:10px;}
.onas-hero__copy .eyebrow{display:block;}
.onas-hero__copy h1{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.05;margin:10px 0 18px;}
.onas-hero__copy .entry-content p{margin:0 0 16px;line-height:1.75;color:var(--text-500);max-width:56ch;}
.onas-hero__copy .entry-content p:last-child{margin-bottom:0;}
.onas-hero__cta{margin-top:24px;}
.onas-hero__media{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 34px 64px -32px rgba(48,38,32,.5);}
.onas-hero__media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;}
@media (max-width:860px){
  .onas-hero__grid{grid-template-columns:1fr;gap:26px;}
  .onas-hero__media{order:-1;}
  .onas-hero__media img{min-height:230px;max-height:330px;}
}
/* sekcja wideo - lead + większy, mocniej oprawiony player */
.award-video__lead{max-width:600px;margin:14px auto 0;color:var(--text-500);line-height:1.65;}
.award-video__player{max-width:920px;margin:32px auto 0;}
.award-video__player .brand-video-wrap{box-shadow:0 40px 80px -36px rgba(48,38,32,.6);}

/* ===================================================================
   MOBILE: wyśrodkowane karty produktów (1 kolumna) + chowanie paska promo
   =================================================================== */
@media (max-width:600px){
  /* karty rozciągają się na pełną szerokość kontenera (równe, bez centrowania do treści) */
  .grid-products{justify-items:stretch!important;}
  ul.products.grid-products li.product,
  .grid-products li.product{width:auto!important;max-width:none!important;margin:0!important;float:none!important;}
}
/* Pasek promo: płynny slide-up przy scrollu w dół (tylko mobile) */
@media (max-width:768px){
  .hdr-promo{overflow:hidden;max-height:200px;transform-origin:top;
    transition:max-height .44s cubic-bezier(.4,0,.2,1),opacity .3s ease,transform .44s cubic-bezier(.4,0,.2,1);}
  body.promo-hidden .hdr-promo{max-height:0;opacity:0;transform:translateY(-10px);pointer-events:none;}
}

/* ===================================================================
   CHECKOUT - podsumowanie: wiersze Kwota/Łącznie (bez przepełnienia kwoty)
   =================================================================== */
/* Tabela i jej grupy NIGDY szersze niż karta (klucz: brak przepełnienia kwot w prawo) */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout #order_review table.shop_table thead,
.woocommerce-checkout #order_review table.shop_table tbody,
.woocommerce-checkout #order_review table.shop_table tfoot,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table thead,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tbody,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot{
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.cart-subtotal,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.order-total{
  display:flex!important;justify-content:space-between!important;align-items:baseline!important;
  gap:14px!important;width:100%!important;box-sizing:border-box!important;margin:0!important;
  padding:14px 0!important;border-top:1px solid var(--sand-300)!important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.cart-subtotal th,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.order-total th{
  flex:1 1 auto!important;min-width:0!important;padding:0!important;border:0!important;background:none!important;
  text-align:left!important;text-transform:none!important;letter-spacing:0!important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal td,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.cart-subtotal td,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.order-total td{
  flex:0 1 auto!important;min-width:0!important;padding:0!important;border:0!important;
  text-align:right!important;white-space:nowrap!important;
}
/* "Łącznie" - kwota wyróżniona, ale w granicach karty */
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td .amount,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.order-total td .amount{
  font-family:var(--font-display);color:var(--brand-700);font-weight:700;font-size:20px;line-height:1.1;
}

/* ===================================================================
   GALERIA PRODUKTU (FlexSlider): miniatury pod zdjęciem, nie nachodzą na opis
   =================================================================== */
.woocommerce-product-gallery{margin-bottom:22px;}
.woocommerce-product-gallery .flex-viewport{overflow:hidden;}
.woocommerce-product-gallery .flex-control-thumbs{
  display:flex!important;flex-wrap:wrap;gap:10px;margin:14px 0 0;padding:0;list-style:none;
  position:static!important;float:none!important;overflow:visible;
}
.woocommerce-product-gallery .flex-control-thumbs li{
  width:calc((100% - 30px) / 4)!important;margin:0!important;float:none!important;list-style:none;
}
.woocommerce-product-gallery .flex-control-thumbs img{
  width:100%;height:auto;display:block;border-radius:var(--radius-md);cursor:pointer;
  opacity:.7;transition:opacity var(--dur-fast) var(--ease-out);
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;}

/* ===================================================================
   MOBILE: brak poziomego przepełnienia w sekcjach (karty równe, nieprzesunięte)
   =================================================================== */
@media (max-width:600px){
  .product-section,.product-section .container,.product-section .grid-products,
  .categories-section,.categories-section .container{max-width:100%;}
  .product-section .container,.categories-section .container{overflow-x:clip;}
  /* karty produktów: pełna szerokość kontenera, równe, bez przesunięcia */
  ul.products.grid-products{justify-items:stretch!important;margin-inline:0!important;}
  ul.products.grid-products li.product{width:100%!important;max-width:none!important;margin:0!important;justify-self:stretch!important;}
}

/* ===================================================================
   MOBILE (<=900px): galeria produktu jako pewna siatka zdjęć
   (FlexSlider bywa nieobliczalny - wymuszamy stały, czytelny układ,
   żeby miniatury NIE nachodziły na tytuł/opis).
   =================================================================== */
@media (max-width:900px){
  .single-product .woocommerce-product-gallery{position:static!important;height:auto!important;margin-bottom:24px;}
  .single-product .woocommerce-product-gallery .flex-viewport{height:auto!important;overflow:visible!important;}
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{
    height:auto!important;transform:none!important;width:100%!important;
    display:flex!important;flex-wrap:wrap!important;gap:12px!important;
  }
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image{
    width:calc((100% - 12px) / 2)!important;float:none!important;margin:0!important;
  }
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child{width:100%!important;}
  /* nawigacja miniatur FlexSlidera zbędna gdy wszystkie zdjęcia widoczne */
  .single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs{display:none!important;}
}

/* ===================================================================
   CHECKOUT MOBILE (<=899px): pełna szerokość + kwoty TWARDO w karcie
   (wysoka specyficzność body.woocommerce-checkout, najpóźniejsze w pliku
   -> wygrywa nawet gdy tabela uparcie zostaje natywna i zawęża wiersze)
   =================================================================== */
@media (max-width:899px){
  form.checkout.woocommerce-checkout{display:block!important;}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout .checkout-brand{width:100%!important;max-width:100%!important;float:none!important;grid-column:auto!important;}
  .woocommerce-checkout #order_review{position:static!important;box-sizing:border-box!important;}

  /* Tabela podsumowania jako blok pełnej szerokości */
  body.woocommerce-checkout #order_review table.shop_table,
  body.woocommerce-checkout #order_review table.shop_table tbody,
  body.woocommerce-checkout #order_review table.shop_table tfoot{
    display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;
  }
  body.woocommerce-checkout #order_review table.shop_table thead{display:none!important;}

  /* Wiersze Kwota / Łącznie: pełna szerokość, etykieta lewo / kwota prawo - w karcie */
  body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal,
  body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total{
    display:flex!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;
    justify-content:space-between!important;align-items:baseline!important;gap:12px!important;
    padding:14px 6px!important;margin:0!important;border-top:1px solid var(--sand-300)!important;
  }
  body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal th,
  body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th{
    flex:1 1 auto!important;min-width:0!important;width:auto!important;padding:0!important;border:0!important;
    text-align:left!important;background:none!important;
  }
  body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal td,
  body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td{
    flex:0 0 auto!important;width:auto!important;padding:0!important;border:0!important;
    text-align:right!important;white-space:nowrap!important;
  }
}

/* ===================================================================
   FORMULARZ NEWSLETTERA (wtyczka Newsletter / TNP) - styl marki
   =================================================================== */
.entry-content .tnp.tnp-subscription,.tnp.tnp-subscription{max-width:560px;margin:8px auto 0;}
.tnp-subscription form{display:block;}
.tnp-field{margin:0 0 16px;}
.tnp-field > label{display:block;font-size:14px;font-weight:600;color:var(--head-600);margin:0 0 6px;}
.tnp-field input.tnp-email,.tnp-subscription input[type="email"],.tnp-subscription input[type="text"]{
  width:100%;box-sizing:border-box;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);
  background:var(--sand-50);padding:14px 16px;font-size:15px;color:var(--head-700);
  transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.tnp-field input.tnp-email:focus,.tnp-subscription input[type="email"]:focus{
  border-color:var(--brand-500);box-shadow:0 0 0 3px rgba(143,116,92,.16);outline:none;
}
.tnp-privacy-field label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13px;color:var(--text-500);line-height:1.55;cursor:pointer;}
.tnp-privacy-field input[type="checkbox"]{margin:3px 0 0;flex:0 0 auto;width:auto;}
.tnp-field-button{text-align:left;margin-top:4px;}
.tnp-submit,.tnp-subscription input[type="submit"]{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;
  background:var(--brand-600);color:#fff;border:0;border-radius:var(--radius-pill);
  padding:14px 30px;font-size:14px;font-weight:600;letter-spacing:.03em;cursor:pointer;
  transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);
}
.tnp-submit:hover,.tnp-subscription input[type="submit"]:hover{background:var(--brand-700);}
.tnp-submit:active,.tnp-subscription input[type="submit"]:active{transform:scale(.98);}

/* ===================================================================
   FORMULARZ KONTAKTU - pole załącznika (plik)
   =================================================================== */
.contact-form .contact-file{
  width:100%;box-sizing:border-box;border:1.5px dashed var(--sand-400);border-radius:var(--radius-md);
  background:var(--sand-50);padding:12px 14px;font-size:14px;color:var(--text-600);cursor:pointer;
  transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);
}
.contact-form .contact-file:hover{border-color:var(--brand-400);background:var(--sand-100);}
.contact-form .contact-file::file-selector-button{
  margin-right:12px;border:0;border-radius:var(--radius-pill);background:var(--brand-600);color:#fff;
  padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease-out);
}
.contact-form .contact-file::file-selector-button:hover{background:var(--brand-700);}
.contact-form .form-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-500);}

/* ===================================================================
   CHECKOUT - kwoty Kwota/Łącznie W KARCIE na KAŻDEJ szerokości (też desktop).
   Wysoka specyficzność body.woocommerce-checkout + najpóźniej w pliku ->
   wymusza blok zamiast natywnej tabeli (która ściskała kolumnę z kwotą).
   =================================================================== */
body.woocommerce-checkout #order_review table.shop_table,
body.woocommerce-checkout #order_review table.shop_table tbody,
body.woocommerce-checkout #order_review table.shop_table tfoot{
  display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;
}
body.woocommerce-checkout #order_review table.shop_table thead{display:none!important;}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total{
  display:flex!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  justify-content:space-between!important;align-items:baseline!important;gap:12px!important;
  padding:14px 6px!important;margin:0!important;border-top:1px solid var(--sand-300)!important;
}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal > th,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal > td,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total > th,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total > td{
  padding:0!important;border:0!important;background:none!important;min-width:0!important;text-transform:none!important;letter-spacing:0!important;
}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal > th,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total > th{
  flex:0 1 auto!important;width:auto!important;max-width:none!important;text-align:left!important;
}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal > td,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total > td{
  flex:0 0 auto!important;width:auto!important;text-align:right!important;white-space:nowrap!important;
}

/* ============================================================================
   R24 2026 - WARSTWA BRANDU RATUJESZ24 (header 3-rzedowy, hero, sekcje, stopka)
   Nadpisuje ustawienia odziedziczone po motywie-wzorcu. Trzymac sie tokenow!
   ============================================================================ */

/* ---------- HEADER: pasek kontaktowy (czarny) ---------- */
.hdr{background:#fff;}
.hdr-contact{background:var(--head-500);color:#d8d8d8;font-size:13px;}
.hdr-contact .container{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:9px;padding-bottom:9px;}
.hdr-contact-left{display:flex;gap:22px;align-items:center;}
.hc-item{display:inline-flex;align-items:center;gap:8px;color:#e8e8e8;border:0;font-weight:600;letter-spacing:.02em;}
.hc-item:hover{color:#fff;border:0;}
.hc-item svg{color:var(--brand-500);}
.hdr-contact-right{display:flex;gap:6px;align-items:center;}
.hc-social{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#e8e8e8;border:0;transition:background var(--dur-fast),color var(--dur-fast);}
.hc-social:hover{background:rgba(255,255,255,.12);color:#fff;border:0;}

/* ---------- HEADER: pas glowny (logo / szukajka / linki / koszyk) ---------- */
.hdr-main-wrap{border-bottom:1px solid var(--sand-300);background:#fff;}
.hdr-main{display:flex;align-items:center;gap:28px;height:88px;justify-content:flex-start;}
.hdr-logo img,.custom-logo-link img{height:64px;width:auto;border-radius:50%;}
.hdr-search{flex:1 1 auto;max-width:520px;}
.hdr-search .search-form{display:flex;align-items:stretch;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);overflow:hidden;background:#fff;transition:border-color var(--dur-fast);}
.hdr-search .search-form:focus-within{border-color:var(--brand-500);}
.hdr-search .search-field{flex:1;border:0;padding:11px 16px;font-family:var(--font-body);font-size:14px;color:var(--head-500);background:transparent;min-width:0;}
.hdr-search .search-field:focus{outline:none;}
.hdr-search .search-field::placeholder{color:var(--text-300);font-style:italic;}
.hdr-search .search-submit{border-radius:0;padding:0 18px;box-shadow:none;gap:0;}
.hdr-search .search-submit:hover{box-shadow:none;}
.hdr-search .search-submit svg{width:18px;height:18px;}
.hdr-search .search-submit .btn-label,.hdr-search .search-submit span{display:none;}
.hdr-links{display:flex;align-items:center;gap:24px;margin-left:auto;}
.hdr-link{font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--head-500);border:0;white-space:nowrap;transition:color var(--dur-fast);}
.hdr-link:hover{color:var(--brand-500);border:0;}
.hdr-actions{gap:10px;}
.js-cart{position:relative;}
.js-cart .count{position:absolute;top:2px;right:0;min-width:17px;height:17px;border-radius:999px;background:var(--brand-500);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;padding:0 4px;line-height:1;}

/* ---------- HEADER: rzad nawigacji (KATEGORIE + linki) ---------- */
.hdr-nav-wrap{background:#fff;border-bottom:1px solid var(--sand-300);}
.hdr-nav{display:flex;align-items:center;gap:34px;min-height:58px;}
.hdr-cat{position:relative;}
.hdr-cat-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--head-500);background:#fff;border:1.5px solid var(--sand-400);border-radius:var(--radius-pill);padding:10px 22px;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast);}
.hdr-cat-btn svg{transition:transform var(--dur-fast);}
.hdr-cat.open .hdr-cat-btn,.hdr-cat-btn:hover{background:var(--brand-500);border-color:var(--brand-500);color:#fff;}
.hdr-cat.open .hdr-cat-btn svg{transform:rotate(180deg);}
.catmenu{position:absolute;top:calc(100% + 10px);left:0;min-width:320px;background:#fff;border:1px solid var(--sand-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:10px;opacity:0;visibility:hidden;translate:0 8px;transition:.22s var(--ease-out);z-index:60;}
.hdr-cat.open .catmenu{opacity:1;visibility:visible;translate:0 0;}
.catmenu ul{list-style:none;margin:0;padding:0;}
.catmenu-item{position:relative;}
.catmenu-item > a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--head-500);border:0;transition:background var(--dur-fast),color var(--dur-fast);}
.catmenu-item > a:hover{background:var(--brand-50);color:var(--brand-600);}
.catmenu-item > a svg{color:var(--sand-500);flex:none;}
.catmenu-sub{position:absolute;top:-10px;left:calc(100% + 6px);min-width:260px;max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--sand-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:10px;opacity:0;visibility:hidden;translate:6px 0;transition:.18s var(--ease-out);}
.catmenu-item:hover > .catmenu-sub,.catmenu-item:focus-within > .catmenu-sub{opacity:1;visibility:visible;translate:0 0;}
.catmenu-sub a{display:block;padding:8px 14px;border-radius:var(--radius-md);font-size:13.5px;color:var(--text-600);border:0;}
.catmenu-sub a:hover{background:var(--brand-50);color:var(--brand-600);}
.hdr-nav .nav-list{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
.hdr-nav .nav-link{font-family:var(--font-display);font-weight:700;font-size:13.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--head-500);padding:18px 0;position:relative;}
.hdr-nav .nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:12px;height:2px;background:var(--brand-500);transition:right var(--dur-base) var(--ease-out);}
.hdr-nav .nav-link:hover{color:var(--brand-600);}
.hdr-nav .nav-link:hover::after{right:0;}

@media (max-width:1120px){
  .hdr-links{display:none;}
}
@media (max-width:900px){
  .hdr-contact-left .hc-item span{font-size:12px;}
  .hdr-main{height:72px;gap:16px;}
  .hdr-logo img,.custom-logo-link img{height:50px;}
  .hdr-nav{display:none;}
}
@media (max-width:600px){
  .hdr-contact .container{justify-content:center;}
  .hdr-contact-right{display:none;}
  .hdr-search{display:none;}
  .hdr-main{justify-content:space-between;}
}

/* ---------- HERO ---------- */
.front-page .hero{position:relative;overflow:hidden;background:
  radial-gradient(1200px 600px at 85% 20%, rgba(255,35,35,.16), transparent 60%),
  linear-gradient(160deg,#1b1b1d 0%,#141416 55%,#0e0e10 100%);
  color:#fff;}
.front-page .hero-media{position:absolute;inset:0;background-size:cover;background-position:center 30%;}
.front-page .hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,12,.82) 0%,rgba(10,10,12,.55) 45%,rgba(10,10,12,.15) 100%);}
.front-page .hero-inner{position:relative;z-index:1;display:flex;align-items:center;min-height:clamp(440px,56vh,620px);padding-top:56px;padding-bottom:56px;}
.front-page .hero-copy{max-width:640px;}
.eyebrow-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,35,35,.14);border:1px solid rgba(255,35,35,.42);color:#ffb3b0;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:7px 16px;border-radius:var(--radius-pill);}
.front-page .hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.6rem);margin:20px 0 0;}
.front-page .hero-lead{color:#d4d4d6;font-size:var(--fs-body-lg);max-width:34em;margin:18px 0 0;}
.front-page .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 0;}
.hero-btn-ghost{color:#fff;border-color:rgba(255,255,255,.32);}
.hero-btn-ghost:hover,.hero-btn-ghost:focus-visible{background:rgba(255,255,255,.1);color:#fff;}
.front-page .hero-trust{list-style:none;display:flex;gap:26px;flex-wrap:wrap;margin:34px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;}
.front-page .hero-trust li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#c9c9cb;font-weight:600;}
.front-page .hero-trust svg{color:var(--brand-500);flex:none;}

/* ---------- SEKCJE: naglowki z czerwona kreska ---------- */
.section-head--left{text-align:left;margin-left:0;max-width:760px;}
.section-title--bar{display:inline-block;padding-bottom:10px;border-bottom:3px solid var(--brand-500);text-transform:uppercase;letter-spacing:.01em;}
.section-cta{text-align:center;margin-top:36px;}

/* ---------- BENEFITY (karty) ---------- */
.benefits{background:var(--sand-200);border:0;padding:56px 0;}
.benefits .container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.benefit{flex-direction:column;text-align:center;background:#fff;border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:30px 22px;gap:14px;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);border-right:1px solid var(--sand-300);}
.benefit:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.benefit-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-lg);background:var(--brand-50);color:var(--brand-500);margin:0 auto;}
.benefit-ico svg{width:26px;height:26px;}
.benefit b{font-family:var(--font-display);font-size:15px;letter-spacing:.05em;text-transform:uppercase;}
.benefit .benefit-text > span{display:block;margin-top:6px;font-size:13.5px;color:var(--text-400);line-height:1.5;}
@media (max-width:960px){.benefits .container{grid-template-columns:repeat(2,1fr);}}
@media (max-width:540px){.benefits .container{grid-template-columns:1fr;}}

/* ---------- GRID PRODUKTOW: 4 kolumny na froncie ---------- */
.grid-products.columns-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1100px){.grid-products.columns-4{grid-template-columns:repeat(3,1fr);}}
@media (max-width:820px){.grid-products.columns-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.grid-products.columns-4{grid-template-columns:1fr;}}
.product-section .pcard-img{background:var(--sand-200);}

/* ---------- PARTNERZY: marquee logotypow ---------- */
.partners-section{overflow:hidden;background:#fff;}
.partners-marquee{margin-top:18px;position:relative;}
.partners-marquee::before,.partners-marquee::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:1;pointer-events:none;}
.partners-marquee::before{left:0;background:linear-gradient(90deg,#fff,transparent);}
.partners-marquee::after{right:0;background:linear-gradient(270deg,#fff,transparent);}
.partners-track{display:flex;gap:64px;align-items:center;width:max-content;animation:r24-marquee 38s linear infinite;padding:10px 0;}
.partners-marquee:hover .partners-track{animation-play-state:paused;}
.partner-logo{flex:none;display:grid;place-items:center;}
.partner-logo img{height:96px;width:auto;object-fit:contain;opacity:1;transition:transform var(--dur-base) var(--ease-out);}
.partner-logo:hover img{transform:scale(1.04);}
@keyframes r24-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.partners-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;}}

/* ---------- FAQ (front) ---------- */
.faq-section .acc-hd b{font-family:var(--font-body);font-weight:700;font-size:16.5px;}
.faq-section .acc-hd svg{color:var(--brand-500);}
.container-narrow{max-width:var(--container-narrow);}
.faq-section .section-head,.home-contact .section-head{text-align:center;margin-inline:auto;}

/* ---------- FORMULARZ KONTAKTOWY (front) ---------- */
.home-contact{background:#fff;}
.home-contact-card{padding:clamp(28px,5vw,56px);border-radius:var(--radius-xl);}
.home-contact .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.home-contact label{font-family:var(--font-body);font-size:14px;font-weight:700;color:var(--head-500);}
.home-contact label span{color:var(--brand-500);}
.home-contact input,.home-contact textarea{font:inherit;font-size:14.5px;padding:12px 14px;border:1.5px solid var(--sand-300);border-radius:var(--radius-md);background:#fff;color:var(--head-500);width:100%;transition:border-color var(--dur-fast);}
.home-contact input:focus,.home-contact textarea:focus{outline:none;border-color:var(--brand-500);}
.home-contact .form-footer{display:flex;justify-content:flex-start;}
.contact-status{margin-top:14px;font-size:14px;font-weight:600;}
.contact-status.is-success{color:var(--success-fg);}
.contact-status.is-error{color:var(--error-fg);}

/* ---------- STOPKA ---------- */
.footer{background:var(--head-600);}
.footer-main .container{display:grid;grid-template-columns:1.5fr 1fr 1fr 0.9fr 1.1fr;gap:34px;}
.flogo-link{border:0;display:inline-block;}
.footer img.flogo{height:88px;width:88px;border-radius:50%;margin-bottom:18px;}
.footer-company{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-company li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--head-100);letter-spacing:.04em;}
.footer-company svg{color:var(--brand-500);flex:none;}
.footer-company__name{font-family:var(--font-display);font-weight:700;color:#fff;font-size:14px;letter-spacing:.02em;}
.footer-payments{background:#fff;border-radius:var(--radius-lg);padding:16px 18px;max-width:340px;margin-bottom:20px;}
.fp-title{margin:0 0 10px;font-family:var(--font-body);font-weight:700;font-size:13.5px;color:var(--head-500);}
.fp-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;}
.fp-list li{border:1px solid var(--sand-300);border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:700;color:var(--text-600);background:var(--sand-200);letter-spacing:.02em;}
.footer-social{list-style:none;display:flex;gap:10px;margin:0;padding:0;}
.footer-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);color:#e8e8e8;border:0;transition:background var(--dur-fast),color var(--dur-fast);}
.footer-social a:hover{background:var(--brand-500);color:#fff;}
.footer a{color:var(--head-100);}
.footer a:hover{color:#fff;}
.footer-shipping{color:var(--head-100);font-size:13.5px;}
.footer-shipping li{display:flex;gap:6px;align-items:center;}
.footer-shipping li span{color:var(--head-200);}
.footer-shipping__free{margin-top:6px;color:#fff;font-weight:700;}
.footer-shipping__free svg{color:var(--brand-500);}
@media (max-width:1080px){.footer-main .container{grid-template-columns:1.4fr 1fr 1fr;}}
@media (max-width:720px){.footer-main .container{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1 / -1;}}
@media (max-width:460px){.footer-main .container{grid-template-columns:1fr;}}

/* ---------- R24: nadpisania odziedziczonego hero (lewe wyrownanie, lamanie H1) ---------- */
.front-page .hero-inner{flex-direction:row;align-items:center;text-align:left;}
.front-page .hero h1{white-space:normal;text-shadow:none;letter-spacing:var(--ls-display);}
.front-page .hero .eyebrow-pill{margin-bottom:0;}

/* Lista platnosci w stopce: pigulki w rzedzie (nadpisuje .footer ul column) */
.footer .fp-list{flex-direction:row;flex-wrap:wrap;}

/* ---------- R24 HERO SLIDER (scroll-snap + kropki; autoplay w navigation.js) ---------- */
.front-page .hero--slider{display:block;padding:0;min-height:0;margin:clamp(12px,2vw,28px);background:none;}
.hero-slider{position:relative;border-radius:var(--radius-xl);overflow:hidden;}
.hero-track{display:flex;touch-action:pan-y;}
.hero-track.is-animated{transition:transform .6s var(--ease-out);}

.hero-slide{position:relative;flex:0 0 100%;min-width:100%;min-height:clamp(440px,56vh,620px);display:flex;align-items:center;overflow:hidden;background:#141416;}
.hero-slide-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;}
.hero-slide .hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,12,.78) 0%,rgba(10,10,12,.5) 45%,rgba(10,10,12,.12) 100%);}
.hero-slide .hero-inner{position:relative;z-index:1;display:block;min-height:0;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(48px,7vw,84px);}
.hero-slide .hero-copy{max-width:620px;}
.hero-slide h1,.hero-slide .hero-h{color:#fff;font-size:clamp(2rem,4.2vw,3.3rem);font-weight:var(--fw-black);letter-spacing:var(--ls-display);line-height:var(--lh-tight);margin:0;white-space:normal;text-shadow:none;}
.hero-slide .hero-lead{color:#e3e3e5;font-size:var(--fs-body-lg);max-width:34em;margin:18px 0 0;}
.hero-slide .hero-cta{margin:26px 0 0;}
.hero-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px;z-index:2;}
.hero-dot{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.45);cursor:pointer;transition:background var(--dur-fast),transform var(--dur-fast);}
.hero-dot:hover{background:rgba(255,255,255,.8);}
.hero-dot.is-active{background:var(--brand-500);transform:scale(1.25);}
.front-page .hero--slider .hero-trust{list-style:none;display:flex;gap:26px;flex-wrap:wrap;margin:18px auto 0;padding:14px 24px 0;border-top:0;}
.front-page .hero--slider .hero-trust li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--text-500);font-weight:600;}
.front-page .hero--slider .hero-trust svg{color:var(--brand-500);flex:none;}
@media (max-width:640px){
  .hero-slide{min-height:520px;}
  .hero-slide .hero-copy{max-width:100%;}
}


/* Loga platnosci w stopce: obrazki z biblioteki zamiast tekstowych pigulek */
.fp-list li{display:grid;place-items:center;background:#fff;border:1px solid var(--sand-300);border-radius:6px;padding:4px 8px;min-height:32px;}
.fp-list img{height:22px;width:auto;display:block;}

/* ---------- R24 PODSTRONY: o-nas / odroczona platnosc / promocje ---------- */
.onas-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start;margin-top:8px;}
.onas-copy h1{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-top:10px;}
.onas-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.onas-contact{padding:28px;position:sticky;top:calc(var(--hdr-h,160px) + 16px);}
.onas-contact-h{font-size:1.15rem;margin-bottom:16px;}
.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;}
.contact-list li{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--text-600);}
.contact-list svg{color:var(--brand-500);flex:none;}
@media (max-width:900px){.onas-grid{grid-template-columns:1fr;gap:28px;}.onas-contact{position:static;}}

.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start;}
.shop-sidebar-h{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;padding-bottom:10px;border-bottom:2px solid var(--brand-500);display:inline-block;}
.sidebar-cats{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;}
.sidebar-cats a,.sidebar-cats .sidebar-cat-label{display:block;padding:7px 10px;border-radius:var(--radius-md);font-size:14px;color:var(--text-600);border:0;}
.sidebar-cats a:hover{background:var(--brand-50);color:var(--brand-600);}
.sidebar-cats .sidebar-cat-label{font-weight:700;color:var(--head-500);}
.sidebar-cat-children{list-style:none;margin:0;padding-left:12px;}
.sidebar-cats .current-cat > a{color:var(--brand-600);font-weight:700;}
.promo-empty{padding:clamp(28px,5vw,48px);text-align:center;}
.promo-empty h2{font-size:1.4rem;}
@media (max-width:900px){.shop-layout{grid-template-columns:1fr;}.shop-sidebar{order:2;}}

html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

/* ============================================================================
   R24 RESTYLE 2026-08 - nowa typografia (Archivo + Manrope) i modern polish.
   Kolory brandu bez zmian. Zatwierdzone przez Pawla: fonty wedle uznania.
   ============================================================================ */

/* Naglowki sekcji: Archivo w ciezarze display, mocna czerwona kreska */
.section-title--bar{font-weight:900;letter-spacing:-0.01em;border-bottom-width:4px;padding-bottom:12px;}
.section-head--left .eyebrow{font-size:12px;letter-spacing:.22em;}
.front-page .hero h1,.hero-slide h1,.hero-slide .hero-h{font-weight:900;}

/* Karty produktow: bez obrysu, warstwowy cien, wieksze zaokraglenie, zywszy hover */
.card.pcard{border:0;border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden;
  transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);}
.card.pcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.pcard-img{background:var(--sand-200);}
.pcard-body{padding:18px 20px 22px;}
.pcard-name{font-size:15.5px;font-weight:700;line-height:1.35;}
.pcard-name a{color:inherit;border:0;}
.pcard-meta{text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:10.5px;color:var(--brand-600);}
.pcard-price{font-family:var(--font-display);}
.woocommerce ul.products li.product h3.pcard-name{font-size:15.5px;}

/* Benefity i wieksze karty: ten sam jezyk zaokraglen */
.benefit,.home-contact-card,.onas-contact,.promo-empty{border-radius:18px;}

/* Przyciski: fizyczny wcisk wszedzie (Emil: scale ~0.97, 160ms ease-out) */
.btn,.icon-btn,.hdr-cat-btn,.hero-dot{transition-duration:var(--dur-fast);}
.icon-btn:active,.hdr-cat-btn:active{transform:scale(0.94);}

/* Focus ring w brandzie - spojny i widoczny */
a:focus-visible,button:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;box-shadow:none;}

/* Naglowek: chirurgiczna czern linkow, aktywne podkreslenie juz jest */
.hdr-link{font-family:var(--font-body);font-weight:700;}
.hdr-cat-btn{font-weight:800;}

/* Stopka: naglowki kolumn Archivo 800 */
.footer h6{font-weight:800;letter-spacing:.16em;}

/* Formularze: focus w brandzie zamiast domyslnego */
.home-contact input:focus,.home-contact textarea:focus,
.woocommerce form .form-row input:focus,.woocommerce form .form-row textarea:focus{
  outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100);}

/* Scroll-reveal kart na stronie glownej (JS w navigation.js; reduced-motion = brak) */
.r24-rv{opacity:0;transform:translateY(14px);}
.r24-rv-in{opacity:1;transform:none;
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);
  transition-delay:var(--d,0ms);}

/* ============================================================================
   R24 RESTYLE V2 2026-08 - pelna przebudowa wizualna (uklad i tresci bez zmian,
   kolory brandu bez zmian): full-bleed hero z paskami postepu, ciemny pas
   korzysci, czerwony marquee, ciemna karta formularza, szare tlo + biale karty.
   ============================================================================ */

/* Tlo strony: chlodna szarosc - biale karty i sekcje zyskuja glebie */
body{background:#f5f5f6;}
.hdr-main-wrap,.hdr-nav-wrap{background:#fff;}

/* --- HERO: full-bleed, wyzsze, wieksza typografia --- */
.front-page .hero--slider{margin:0;}
.hero-slider{border-radius:0;}
.hero-slide{min-height:clamp(520px,72vh,760px);}
.hero-slide h1,.hero-slide .hero-h{font-size:clamp(2.4rem,5vw,4.1rem);text-transform:uppercase;letter-spacing:-0.02em;line-height:1.02;}
.hero-slide .hero-lead{font-size:clamp(1rem,1.4vw,1.2rem);color:#d9d9db;}
.hero-slide .hero-copy{max-width:680px;}
.hero-slide .hero-scrim{background:linear-gradient(90deg,rgba(8,8,10,.86) 0%,rgba(8,8,10,.55) 48%,rgba(8,8,10,.1) 100%);}

/* kropki -> paski postepu */
.hero-dots{bottom:22px;gap:10px;justify-content:flex-start;padding-left:max(24px,calc((100% - var(--container)) / 2 + 24px));}
.hero-dot{width:44px;height:4px;border-radius:999px;background:rgba(255,255,255,.32);transform:none;}
.hero-dot:hover{background:rgba(255,255,255,.65);}
.hero-dot.is-active{background:var(--brand-500);transform:none;width:64px;transition:width var(--dur-base) var(--ease-out),background var(--dur-fast);}

/* pasek zaufania pod hero: ciemna wstega przylegajaca do slidera */
.front-page .hero--slider .hero-trust{margin:0;max-width:none;padding:16px 24px;background:var(--head-600);border-top:1px solid rgba(255,255,255,.06);justify-content:center;gap:40px;}
.front-page .hero--slider .hero-trust li{color:#cfcfd2;font-size:13px;letter-spacing:.02em;}

/* --- NAGLOWKI SEKCJI: wieksze, kicker + strzalka --- */
.section-title--bar{font-size:clamp(1.9rem,3.4vw,2.7rem);}
.product-section{background:transparent;}
.product-section .section-head{margin-bottom:34px;}

/* --- KARTY PRODUKTOW na szarym tle --- */
.card.pcard{background:#fff;}
.card.pcard .pcard-img{background:#fff;border-bottom:1px solid var(--sand-200);}

/* --- BENEFITY: ciemny pas zamiast bialych kart --- */
.benefits{background:var(--head-600);padding:64px 0;}
.benefit{background:transparent;border:1px solid rgba(255,255,255,.09);box-shadow:none;}
.benefit:hover{transform:translateY(-4px);box-shadow:none;border-color:rgba(255,255,255,.22);}
.benefit b{color:#fff;}
.benefit .benefit-text > span{color:#a8a8ad;}
.benefit-ico{background:rgba(255,35,35,.14);}

/* --- MARQUEE: czerwona kinetyczna wstega --- */
.r24-marquee{background:var(--brand-500);overflow:hidden;padding:18px 0;transform:rotate(-0.6deg) scale(1.01);margin:34px 0;}
.r24-marquee-track{display:flex;align-items:center;gap:34px;width:max-content;animation:r24-mq 26s linear infinite;}
.r24-marquee-item{font-family:var(--font-display);font-weight:800;font-size:clamp(15px,1.6vw,20px);letter-spacing:.06em;text-transform:uppercase;color:#fff;white-space:nowrap;}
.r24-marquee-sep{display:grid;place-items:center;color:rgba(255,255,255,.75);flex:none;}
@keyframes r24-mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.r24-marquee-track{animation:none;}.r24-marquee{transform:none;}}

/* --- PARTNERZY: biala sekcja (kontrast na szarym tle) --- */
.partners-section{background:#fff;}
.partners-marquee::before{background:linear-gradient(90deg,#fff,transparent);}
.partners-marquee::after{background:linear-gradient(270deg,#fff,transparent);}


/* --- FAQ: pozycje jako karty --- */
.faq-section .acc-item{background:#fff;border:0;border-radius:14px;margin-bottom:10px;box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-fast) var(--ease-out);}
.faq-section .acc-item:hover{box-shadow:var(--shadow-sm);}
.faq-section .acc-hd{padding:18px 20px;}
.faq-section .acc-bd p{padding:0 20px 18px;}

/* --- FORMULARZ KONTAKTOWY: ciemna karta premium --- */
.home-contact{background:transparent;}
.home-contact-card{background:var(--head-600);border:0;box-shadow:var(--shadow-lg);}
.home-contact .section-head h2{color:#fff;}
.home-contact .section-head p{color:#b9b9bd;}
.home-contact label{color:#e6e6e8;}
.home-contact input,.home-contact textarea{background:#1d1d1f;border-color:#333336;color:#f2f2f3;}
.home-contact input:focus,.home-contact textarea:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px rgba(255,35,35,.25);}
.home-contact .form-footer{justify-content:center;}
.contact-status.is-success{color:#7ed491;}
.contact-status.is-error{color:#ff938d;}

/* --- HEADER: KATEGORIE jako czerwony filar nawigacji --- */
.hdr-cat-btn{background:var(--brand-500);border-color:var(--brand-500);color:#fff;box-shadow:var(--glow-sm);}
.hdr-cat.open .hdr-cat-btn,.hdr-cat-btn:hover{background:var(--brand-600);border-color:var(--brand-600);color:#fff;}

/* --- STOPKA: czerwony akcent na krawedzi --- */
.footer{border-top:4px solid var(--brand-500);}

/* --- sekcje na szarym tle oddychaja --- */
.section{padding:72px 0;}

/* ============================================================================
   R24 RESTYLE V3 2026-08 - "czerwona aurora + liquid glass" zamiast czarnych
   pasow (feedback Pawla). Benefity i formularz: jasne sekcje z dryfujacymi,
   rozmytymi plamami czerwieni brandu i szklanymi kartami. Nadpisuje V2.
   ============================================================================ */

/* --- wspolne tlo aurora: pseudo-elementy z gradientowymi plamami (GPU) --- */
.benefits,.home-contact{position:relative;overflow:hidden;background:#fbfbfc;isolation:isolate;}
.benefits::before,.home-contact::before,
.benefits::after,.home-contact::after{
  content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none;
  will-change:transform;
}
/* plama 1: czerwien brandu, duza, miekka */
.benefits::before,.home-contact::before{
  width:640px;height:640px;left:-160px;top:-220px;
  background:radial-gradient(circle at 40% 40%,rgba(255,35,35,.16),rgba(255,35,35,.05) 55%,transparent 72%);
  animation:r24-blob-a 26s ease-in-out infinite alternate;
}
/* plama 2: cieplejsza, mniejsza, po przeciwnej stronie */
.benefits::after,.home-contact::after{
  width:520px;height:520px;right:-140px;bottom:-200px;
  background:radial-gradient(circle at 60% 60%,rgba(255,95,87,.14),rgba(255,35,35,.04) 55%,transparent 72%);
  animation:r24-blob-b 32s ease-in-out infinite alternate;
}
@keyframes r24-blob-a{from{transform:translate3d(0,0,0) scale(1);}to{transform:translate3d(120px,60px,0) scale(1.15);}}
@keyframes r24-blob-b{from{transform:translate3d(0,0,0) scale(1.1);}to{transform:translate3d(-110px,-70px,0) scale(0.95);}}
@media (prefers-reduced-motion:reduce){
  .benefits::before,.benefits::after,.home-contact::before,.home-contact::after{animation:none;}
}

/* --- BENEFITY: liquid glass na aurorze (nadpisuje ciemna wersje V2) --- */
.benefits{padding:72px 0;}
.benefit{
  background:rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 30px -12px rgba(17,17,17,.12);
}
.benefit:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 18px 40px -14px rgba(255,35,35,.22);}
.benefit b{color:var(--head-500);}
.benefit .benefit-text > span{color:var(--text-400);}
.benefit-ico{background:rgba(255,35,35,.12);}

/* --- FORMULARZ: szklana biala karta na aurorze (nadpisuje ciemna V2) --- */
.home-contact{background:#fbfbfc;}
.home-contact-card{
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),var(--shadow-lg);
}
.home-contact .section-head h2{color:var(--head-500);}
.home-contact .section-head p{color:var(--text-400);}
.home-contact label{color:var(--head-500);}
.home-contact input,.home-contact textarea{background:rgba(255,255,255,.85);border-color:var(--sand-300);color:var(--head-500);}
.home-contact input:focus,.home-contact textarea:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100);}
.contact-status.is-success{color:var(--success-fg);}
.contact-status.is-error{color:var(--error-fg);}

/* --- STOPKA V3: oddech, czerwone akcenty, pas platnosci, watermark --- */
.footer{position:relative;overflow:hidden;}
.footer-main{padding:72px 0 48px;}
.footer-main .container{gap:48px;}
.footer img.flogo{height:72px;width:72px;margin-bottom:20px;}
.footer h6{position:relative;padding-left:16px;margin-bottom:20px;}
.footer h6::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:2px;background:var(--brand-500);}
.footer ul{gap:12px;}
.footer a{font-size:14px;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);display:inline-block;}
.footer a:hover{color:#fff;transform:translateX(3px);}
.footer-company{gap:12px;margin-bottom:22px;}
.footer-company li{font-size:14px;color:#c9c9cc;}
.footer-company__name{font-size:15px;}
.footer-shipping li span{color:#9d9da2;}
.footer-social{margin-top:4px;}

/* pas platnosci: pelna szerokosc, subtelna linia, loga na bialych pigulkach */
.footer-pay-strip{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;}
.footer-pay-strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.footer-pay-strip .fp-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9d9da2;}
.footer-pay-strip .fp-list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;}
.footer-pay-strip .fp-list li{display:grid;place-items:center;background:#fff;border-radius:8px;padding:6px 12px;min-height:34px;}
.footer-pay-strip .fp-list img{height:20px;width:auto;display:block;}

/* watermark: wielki napis brandu, ledwo widoczny, przyciety dolem */
.footer-watermark{
  font-family:var(--font-display);font-weight:900;letter-spacing:-0.02em;
  font-size:clamp(72px,13.5vw,196px);line-height:.78;text-align:center;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);
  user-select:none;pointer-events:none;
  margin-bottom:-0.14em;
}
@supports not (-webkit-text-stroke: 1px black){
  .footer-watermark{color:rgba(255,255,255,.04);}
}
.footer-bottom{position:relative;background:var(--head-600);border-top:1px solid rgba(255,255,255,.08);padding:18px 0;}
.footer-bottom .container{align-items:center;}

/* --- FIX: mrugajacy sticky header - wylaczamy backdrop-filter (Chrome
   rasteryzuje blur przy scrollu i pasek "gasnie"). Header ma pelne biale tlo,
   wiec blur nic nie wnosil. Zdejmujemy tez hack kompozytora z metanoi. --- */
.hdr{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none;will-change:auto;}

/* --- FIX: ikony social w stopce - czytelne glify, obrys, czerwony hover --- */
.footer-social{gap:12px;margin-top:10px;}
.footer-social a{width:42px;height:42px;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;
  transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);}
.footer-social a svg{width:18px;height:18px;stroke-width:1.8;}
.footer-social a:hover{background:var(--brand-500);border-color:var(--brand-500);color:#fff;transform:translateY(-2px);}

/* --- FIX 2: ikony social w stopce - wieksze glify, IG grubsza kreska,
   FB wypelniony (konturowy "f" rozpadal sie w malej skali) --- */
.footer-social a svg{width:20px;height:20px;stroke-width:2;}
.footer-social a{width:44px;height:44px;}

/* ============================================================================
   R24 V4 2026-08: szerokosc contentu max 1440px (wlacznie ze sliderem hero)
   + ostateczny fix centrowania ikon social w stopce.
   ============================================================================ */

/* Ikony social: przywrocenie centrowania gridem - pozniejsza regula
   ".footer a{display:inline-block}" (hover linkow) psula os glifu w kolku */
.footer-social a{display:grid;place-items:center;padding:0;line-height:0;}
.footer-social a svg{display:block;}

/* Slider hero i wstega zaufania przyciete do 1440px i wysrodkowane */
.front-page .hero--slider{max-width:1440px;margin-inline:auto;}
/* na szerszych ekranach kapsula dostaje z powrotem zaokraglenia */
@media (min-width: 1472px){
  .hero-slider{border-radius:var(--radius-xl);}
  .front-page .hero--slider .hero-trust{border-radius:0 0 var(--radius-xl) var(--radius-xl);}
  .front-page .hero--slider{margin-top:16px;}
}

/* --- CHECKOUT: podsumowanie "Twoje zamowienie" zaraz pod naglowkiem ---
   #customer_details rozpiete na wiersze 2-3 rozpychalo wiersz naglowka
   (auto-rozklad wysokosci spinajacego elementu) i tabela zamowienia startowala
   setki px nizej. Jawne wiersze: nadmiar idzie w 1fr (wiersz 3). */
@media (min-width:900px){
  form.checkout.woocommerce-checkout{grid-template-rows:auto auto 1fr;}
  .woocommerce-checkout #order_review_heading{align-self:start;}
  .woocommerce-checkout #order_review{align-self:start;}
}

/* --- HERO V4.1: proporcje kadru pod szerokosc 1440 + odczepiony pasek zaufania ---
   (zgloszenie: zdjecie nie pasowalo do szerokosci, ciemny pasek "doklejony") */
.hero-slide{min-height:clamp(460px,54vh,600px);}
.hero-slide .hero-inner{padding-top:clamp(32px,5vw,56px);padding-bottom:clamp(40px,6vw,72px);}
/* kapsula: pelne zaokraglenia na duzych ekranach (bez zlepienia z paskiem) */
@media (min-width: 1472px){
  .hero-slider{border-radius:var(--radius-xl);}
}
/* pasek zaufania: lekki wiersz na tle strony zamiast ciemnej plyty */
.front-page .hero--slider .hero-trust{
  background:transparent;border:0;border-radius:0;
  margin:0 auto;padding:18px 24px 0;justify-content:center;gap:36px;
}
.front-page .hero--slider .hero-trust li{color:var(--text-500);font-size:13.5px;font-weight:600;}
.front-page .hero--slider .hero-trust svg{color:var(--brand-500);}

/* --- KARTY PRODUKTOW V4.2: mniejszy, spokojniejszy kadr zdjecia ---
   (zgloszenie: zdjecia za duze). Katalogowe fotografie na bialym tle wygladaja
   lepiej "wpisane" w kadr z marginesem niz kadrowane na cala szerokosc karty. */
.card.pcard .pcard-img{aspect-ratio:4/3;padding:16px;background:#fff;}
.card.pcard .pcard-imglink{display:grid;place-items:center;}
.card.pcard .pcard-imglink img{
  width:100%!important;height:100%!important;
  object-fit:contain!important;
  transition:transform var(--dur-base) var(--ease-out);
}
@media (hover:hover) and (pointer:fine){
  .card.pcard:hover .pcard-imglink img{transform:scale(1.05);}
}
/* placeholder Woo bez podwojnego paddingu */
.card.pcard .pcard-imglink img.woocommerce-placeholder{padding:0;background:transparent;}

/* --- KARTY PRODUKTOW V4.3: identyczny kadr w spoczynku i na hover ---
   Zoom obrazu przy object-fit:contain powodowal przycinanie krawedzi przez
   overflow:hidden (zdjecie "skakalo" miedzy stanami). Obraz zostaje nieruchomy,
   reakcja na hover = uniesienie calej karty (jak dotychczas). */
.card.pcard .pcard-imglink img{transform:none!important;}
@media (hover:hover) and (pointer:fine){
  .card.pcard:hover .pcard-imglink img{transform:none!important;}
}

/* --- CHECKOUT V4.4: wewnetrzne marginesy podsumowania zamowienia ---
   (zgloszenie: tekst przyklejony do borderow kontenera) */
.woocommerce-checkout #order_review{padding:8px;}
.woocommerce-checkout .woocommerce-checkout-review-order-table{width:100%;border-collapse:separate;border-spacing:0;}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:14px 18px;vertical-align:middle;}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{padding-right:12px;}
/* metody wysylki: oddech wewnatrz komorki i miedzy opcjami */
.woocommerce-checkout #shipping_method{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.woocommerce-checkout #shipping_method li{margin:0;padding:12px 14px;border:1px solid var(--sand-300);border-radius:12px;}
.woocommerce-checkout #shipping_method li label{display:flex;align-items:center;gap:10px;margin:0;}
/* bramki platnosci: padding i czytelny opis */
.woocommerce-checkout #payment{padding:0 10px 10px;}
.woocommerce-checkout #payment ul.payment_methods{padding:14px 16px;}
.woocommerce-checkout #payment div.payment_box{padding:12px 14px;margin:10px 0 0;}
.woocommerce-checkout .woocommerce-privacy-policy-text{padding:0 10px;}
.woocommerce-checkout #payment .place-order{padding:10px;}
/* zgoda na regulamin - czytelny wiersz z checkboxem */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{padding:0 10px 4px;}
.woocommerce-checkout .validate-required.terms label,
.woocommerce-checkout .woocommerce-form__label-for-checkbox{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;}
.woocommerce-checkout .woocommerce-form__input-checkbox{margin-top:3px;width:18px;height:18px;accent-color:var(--brand-500);flex:none;}

/* --- KARTY PRODUKTOW V4.4: gwarancja pelnego zdjecia w kadrze ---
   height:auto + max-height zamiast height:100% - obraz nigdy nie jest rozciagany
   ani przycinany, zawsze miesci sie w polu z marginesem. */
.card.pcard .pcard-img{display:grid;}
.card.pcard .pcard-imglink{width:100%;height:100%;display:grid;place-items:center;min-height:0;}
.card.pcard .pcard-imglink img{
  width:auto!important;height:auto!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;margin:0 auto!important;
}

/* --- KARTY PRODUKTOW V4.5: mniejszy, spokojniejszy produkt w kadrze ---
   (zgloszenie: zdjecia wciaz za duze). Bez cover - kadrowanie przycinaloby
   produkty. Zamiast tego: nizsze pole + wiekszy margines + limit rozmiaru
   samego zdjecia, wiec produkt "oddycha" i nie dotyka krawedzi. */
.card.pcard .pcard-img{aspect-ratio:16/11;padding:22px 26px;}
.card.pcard .pcard-imglink img{
  max-width:86%!important;max-height:92%!important;
}
@media (max-width:820px){
  .card.pcard .pcard-img{padding:18px 20px;}
  .card.pcard .pcard-imglink img{max-width:90%!important;}
}

/* --- MOJE KONTO: awatar z inicjalem (zastepuje brakujacy plik obrazka) --- */
.account-avatar{
  display:grid;place-items:center;flex:none;
  width:44px;height:44px;border-radius:50%;
  background:var(--brand-50);color:var(--brand-600);
  border:1px solid var(--brand-100);
  font-family:var(--font-display);font-weight:800;font-size:18px;line-height:1;
}

/* ============================================================================
   KARTY PRODUKTOW - REGULA KONCOWA (nadpisuje wszystkie wczesniejsze).
   Klucz: img wypelnia POLE (width/height 100%), a object-fit:contain skaluje
   SAMO ZDJECIE w srodku - produkt zawsze widoczny w calosci, tez na mobile.
   Procentowe max-height bywalo zawodne w gridzie -> wyrzucone.
   ============================================================================ */
.pcard-img,
.woocommerce ul.products li.product .pcard-img{
  aspect-ratio:16/11;padding:20px 22px;background:#fff;overflow:hidden;
  display:block;position:relative;
}
.pcard-imglink,
.woocommerce ul.products li.product .pcard-imglink{
  display:block;width:100%;height:100%;
}
.pcard-imglink img,
.woocommerce ul.products li.product .pcard-imglink img{
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;
  margin:0!important;display:block;
}
@media (max-width:820px){
  .pcard-img,
  .woocommerce ul.products li.product .pcard-img{aspect-ratio:4/3;padding:16px 18px;}
}

/* --- Lista kontrolna z czerwonymi ptaszkami (podstrony) --- */
.r24-checklist{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.r24-checklist li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--text-600);}
.r24-checklist svg{color:var(--brand-500);flex:none;margin-top:3px;}

/* ============================================================================
   KARTY PRODUKTOW - WYSOKOSC POLA W PIKSELACH (regula nadrzedna, na koncu pliku)
   Zamiast aspect-ratio/procentow: STALA wysokosc pola + STALY limit wysokosci
   miniatury. Produkt jest mniejszy, zawsze w calosci i identyczny w kazdej
   przegladarce oraz na kazdej szerokosci ekranu.
   ============================================================================ */
.pcard .pcard-img,
.pcard-img,
.woocommerce ul.products li.product .pcard-img{
  aspect-ratio:auto!important;
  height:210px!important;
  min-height:210px!important;
  padding:0!important;
  background:#fff!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;
}
.pcard .pcard-imglink,
.pcard-imglink,
.woocommerce ul.products li.product .pcard-imglink{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:100%!important;padding:0!important;
}
.pcard .pcard-imglink img,
.pcard-imglink img,
.woocommerce ul.products li.product .pcard-imglink img{
  width:auto!important;height:auto!important;
  max-width:78%!important;      /* margines po bokach */
  max-height:158px!important;   /* produkt mniejszy niz pole = powietrze u gory i dolu */
  object-fit:contain!important;
  margin:0 auto!important;display:block!important;
}
@media (max-width:820px){
  .pcard .pcard-img,.pcard-img,
  .woocommerce ul.products li.product .pcard-img{height:190px!important;min-height:190px!important;}
  .pcard .pcard-imglink img,.pcard-imglink img,
  .woocommerce ul.products li.product .pcard-imglink img{max-height:142px!important;max-width:76%!important;}
}
@media (max-width:480px){
  .pcard .pcard-img,.pcard-img,
  .woocommerce ul.products li.product .pcard-img{height:220px!important;min-height:220px!important;}
  .pcard .pcard-imglink img,.pcard-imglink img,
  .woocommerce ul.products li.product .pcard-imglink img{max-height:170px!important;max-width:70%!important;}
}

/* Miniatura renderowana przez motyw (klasa r24-pimg) - te same reguly pola */
.pcard-img .r24-pimg,
.woocommerce ul.products li.product .r24-pimg{
  width:auto!important;height:auto!important;
  max-width:78%!important;max-height:158px!important;
  object-fit:contain!important;margin:0 auto!important;display:block!important;
}
@media (max-width:820px){
  .pcard-img .r24-pimg,.woocommerce ul.products li.product .r24-pimg{max-height:142px!important;max-width:76%!important;}
}
@media (max-width:480px){
  .pcard-img .r24-pimg,.woocommerce ul.products li.product .r24-pimg{max-height:170px!important;max-width:70%!important;}
}

/* ============================================================================
   KARTY PRODUKTOW - REGULA UNIWERSALNA (dziala tez na starym/cache'owanym
   markupie, gdzie <img> lezy bezposrednio w .pcard-img, bez <a class=pcard-imglink>)
   ============================================================================ */
.pcard-img img,
.pcard-img > img,
.card.pcard .pcard-img img,
.woocommerce ul.products li.product .pcard-img img{
  width:auto!important;
  height:auto!important;
  max-width:78%!important;
  max-height:158px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  display:block!important;
  position:relative!important;
  inset:auto!important;
}
@media (max-width:820px){
  .pcard-img img,.pcard-img > img,
  .card.pcard .pcard-img img,
  .woocommerce ul.products li.product .pcard-img img{max-height:142px!important;max-width:76%!important;}
}
@media (max-width:480px){
  .pcard-img img,.pcard-img > img,
  .card.pcard .pcard-img img,
  .woocommerce ul.products li.product .pcard-img img{max-height:170px!important;max-width:70%!important;}
}

/* --- MARQUEE: wiekszy kat nachylenia (zgloszenie Pawla) ---
   Wstega szersza niz ekran (104%) i przesunieta o -2%, zeby przy mocniejszym
   obrocie nie bylo bialych trojkatow przy krawedziach. Wiekszy margines
   pionowy rekompensuje wyzszy "footprint" obroconego pasa. */
.r24-marquee{
  transform:rotate(-2.4deg)!important;
  width:104%!important;margin-left:-2%!important;
  margin-top:52px!important;margin-bottom:52px!important;
}
@media (max-width:640px){
  .r24-marquee{transform:rotate(-3deg)!important;width:110%!important;margin-left:-5%!important;
    margin-top:40px!important;margin-bottom:40px!important;}
}
@media (prefers-reduced-motion:reduce){
  .r24-marquee{transform:rotate(-2.4deg)!important;}
}

/* --- STRONY PRAWNE (regulamin, polityka prywatnosci) --- */
.page-legal .legal-content{max-width:820px;}
.page-legal .legal-content h2,
.page-legal .legal-content h3{margin:34px 0 12px;font-size:1.15rem;letter-spacing:0;text-transform:uppercase;}
.page-legal .legal-content h3:first-child{margin-top:0;}
.page-legal .legal-content p,
.page-legal .legal-content li{font-size:15.5px;line-height:1.75;color:var(--text-600);}
.page-legal .legal-content ol,
.page-legal .legal-content ul{padding-left:22px;margin:0 0 16px;}
.page-legal .legal-content li{margin-bottom:8px;}
.page-legal .legal-content a{color:var(--link);}
