/* =========================================================
   CK MOBILNI — main.css
   Sekcje: Tokeny / Reset / Typografia / Layout / Komponenty /
   Header / Footer / Home / Usługi / WooCommerce / Formularze / Media
   ========================================================= */

/* ---------- Tokeny ---------- */
:root{
  --navy:#152C45; --accent:#2F80ED; --blue:var(--accent); --sky:var(--accent); --tint:#dbe8f4;
  --ground:#EEF4F8; --surface:#fff; --ink:#152C45; --muted:#667789; --line:#e3eaf1;
  --amber:#f5b400;
  --font-display:'Poppins',system-ui,sans-serif;
  --font-body:'Poppins',system-ui,sans-serif;
  --r-hero:24px; --r-card:16px; --r-pill:999px; --r-input:10px; --r-btn:12px;
  --container:1200px; --gutter:clamp(16px,4vw,32px);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:400;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,p,figure{ margin:0; }

:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* ---------- Typografia ---------- */
h1,h2,h3,.display{ font-family:var(--font-display); font-weight:700; line-height:1.2; letter-spacing:0; color:var(--navy); }
button, .btn, .pill-link, input, select{ font-weight:600; }
.tabular, .tabular *{ font-variant-numeric:tabular-nums; }
h1{ font-size:45px; }
h2{ font-size:34px; }
h3{ font-size:22px; }
.lead{ font-size:18px; line-height:1.5; color:var(--muted); max-width:65ch; }
.prose{ max-width:65ch; }
.prose p + p{ margin-top:1.1em; }
.prose table{ width:100%; border-collapse:collapse; margin:24px 0; }
.prose th, .prose td{ padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; font-size:14px; }
.prose th{ background:var(--tint); color:var(--navy); font-weight:700; }
@media (max-width:640px){ .prose table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; } }
.muted{ color:var(--muted); }
.tabular{ font-variant-numeric:tabular-nums; }

@media (max-width:640px){
  h1{ font-size:32px; }
  h2{ font-size:26px; }
}

/* ---------- Layout ---------- */
.container{ max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
:root{ --section-pad:64px; }
@media (max-width:780px){ :root{ --section-pad:44px; } }
/* Jeden rytm pionowy dla wszystkich sekcji home i podstron */
.section{ padding-block:var(--section-pad); }
.section--tight{ padding-block:var(--section-pad); }
.section--dark{ background:var(--navy); color:#fff; }
.section--dark h2, .section--dark h3{ color:#fff; }
.section--white{ background:var(--surface); }

/* ---------- Komponenty: przyciski, pigułki ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 24px; border-radius:var(--r-btn);
  font-family:var(--font-body); font-weight:600; font-size:16px;
  white-space:nowrap; transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.btn--primary{ background:var(--accent); color:#fff; }
.btn--primary:hover{ background:#2568c9; transform:translateY(-2px); box-shadow:0 10px 24px rgba(47,128,237,.28); }
.btn--outline{ background:transparent; color:var(--navy); box-shadow:inset 0 0 0 1.5px var(--navy); }
.btn--outline:hover{ background:var(--tint); transform:translateY(-2px); }
.btn--sm{ padding:10px 18px; font-size:14px; }

.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.skip-link{
  position:absolute; top:-100px; left:8px; z-index:100;
  padding:12px 20px; background:var(--navy); color:#fff; border-radius:var(--r-input);
  font-weight:700;
}
.skip-link:focus{ top:8px; }

/* ---------- Topbar (desktop: ukryty — numer jest w nav; mobile: numer w nagłówku) ---------- */
.topbar{ display:none; }
@media (max-width:767px){
  .topbar{ display:block; background:var(--navy); color:#fff; font-size:13px; }
  .topbar__row{ display:flex; align-items:center; justify-content:center; padding-block:0; }
  .topbar__group:last-child{ display:none; }
  .topbar__item--phone2, .topbar__item--hours{ display:none; }
  .topbar__item--phone{ padding-block:10px; min-height:40px; font-weight:700; }
}

/* ---------- Nav ---------- */
.nav{ background:var(--surface); position:sticky; top:0; z-index:40; border-bottom:1px solid var(--line); }
.nav__row{ display:flex; align-items:center; gap:32px; height:76px; }
.nav__logo{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:19px; color:var(--navy); margin-right:auto; min-width:0; }
.nav__logo img{ border-radius:50%; flex-shrink:0; }
.nav__logo span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.nav__menu{ display:flex; }
.nav__menu > ul{ display:flex; align-items:center; gap:28px; }
.nav__menu a, .nav__dropdown-toggle{ font-weight:600; font-size:15px; color:var(--ink); display:inline-flex; align-items:center; gap:4px; }
.nav__menu a:hover, .nav__dropdown-toggle:hover{ color:var(--accent); }
.nav__chevron{ transition:transform .15s ease; }

.nav__has-dropdown{ position:relative; }
.nav__dropdown{
  position:absolute; top:calc(100% + 12px); left:-16px; min-width:240px;
  background:var(--surface); border-radius:var(--r-card); box-shadow:0 12px 32px rgba(21,44,69,.14);
  padding:8px; opacity:0; visibility:hidden; transform:translateY(4px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s;
}
.nav__has-dropdown.is-open .nav__dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.nav__has-dropdown.is-open .nav__chevron{ transform:rotate(180deg); }
.nav__dropdown li a{ display:block; padding:10px 12px; border-radius:10px; font-weight:600; font-size:14px; }
.nav__dropdown li a:hover{ background:var(--tint); }
.nav__dropdown-all{ border-top:1px solid var(--line); margin-top:4px; padding-top:4px; }
.nav__dropdown-all a{ color:var(--accent); }

.nav__actions{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.nav__call{ border-radius:var(--r-btn); }
.nav__call span{ display:inline; }
.nav__cart{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; min-height:44px; color:var(--ink);
}
.nav__cart-count{
  position:absolute; top:2px; right:2px; min-width:18px; height:18px; padding:0 4px;
  background:var(--accent); color:#fff; font-size:11px; font-weight:700; border-radius:var(--r-pill);
  display:flex; align-items:center; justify-content:center; line-height:1;
}
.nav__burger{
  display:none; align-items:center; justify-content:center;
  min-width:44px; min-height:44px; color:var(--navy);
}
.nav__burger-close{ display:none; }
.nav__burger[aria-expanded="true"] .nav__burger-open{ display:none; }
.nav__burger[aria-expanded="true"] .nav__burger-close{ display:block; }

.nav__search-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; min-height:44px; color:var(--ink);
}
.nav__search-toggle:hover{ color:var(--accent); }
.nav__search-panel{
  display:none; border-top:1px solid var(--line); background:var(--surface);
  padding-block:16px; overflow:hidden;
}
.nav__search-panel.is-open{ display:block; }
.nav__search-panel .search-form{ max-width:none; }

.nav__mobile{ display:none; border-top:1px solid var(--line); }
.nav__mobile ul{ padding:12px var(--gutter) 20px; display:flex; flex-direction:column; }
.nav__mobile a{ display:block; padding:12px 0; font-weight:600; border-bottom:1px solid var(--line); }
.nav__mobile-label{ padding-top:14px; font-size:12px; color:var(--muted); font-weight:700; }

@media (max-width:900px){
  .nav__row{ gap:12px; }
  .nav__menu{ display:none; }
  .nav__call span{ display:none; }
  .nav__burger{ display:block; }
  .nav.is-open .nav__mobile{ display:block; }
}

@media (max-width:767px){
  .nav__row{ position:relative; height:68px; }
  .nav__call{ display:none; }
  .nav__actions{ display:contents; }
  .nav__burger{ order:-2; }
  .nav__logo{ order:-1; margin:0 auto; }
  .nav__search-toggle{ order:1; }
  .nav__cart{ order:1; }
}

/* ---------- Footer ---------- */
/* ---------- Stopka (jedno miejsce definicji) ---------- */
.footer{ background:var(--navy); color:#fff; padding-block:48px 20px; }
.footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.3fr; gap:32px 40px; align-items:start; }
.footer__col{ min-width:0; }
.footer__brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:20px; margin-bottom:12px; }
.footer__brand img{ border-radius:50%; }
.footer .muted{ color:#a9b7c6; font-size:14px; line-height:1.55; max-width:32ch; }
.footer__social{ display:flex; gap:12px; margin-top:16px; }
.footer__social a{ color:#fff; opacity:.85; display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:9px; border:1.5px solid rgba(255,255,255,.25); }
.footer__social a:hover{ opacity:1; border-color:#fff; }
.footer__brand-menu{ margin-top:18px; }
.footer__brand-menu ul, .footer__brand-menu .menu{ display:flex; flex-wrap:wrap; gap:2px 16px; margin:0; padding:0; list-style:none; }
.footer__brand-menu a{ color:#cdd9e6; font-size:13px; padding-block:5px; display:inline-block; }
.footer__brand-menu a:hover{ color:#fff; }
.footer__heading{ font-weight:700; margin:0 0 10px; font-size:14px; color:#fff; }
.footer__col ul, .footer__col .menu{ display:flex; flex-direction:column; gap:0; margin:0; padding:0; list-style:none; }
.footer__col .footer__brand-menu ul{ flex-direction:row; flex-wrap:wrap; gap:2px 16px; }
.footer__col li{ margin:0; }
.footer__col a{ display:inline-block; padding-block:5px; color:#cdd9e6; font-size:13px; line-height:1.4; }
.footer__col a:hover{ color:#fff; }
.footer__contact{ gap:4px !important; }
.footer__contact li{ display:flex; align-items:flex-start; gap:8px; font-size:13px; color:#cdd9e6; line-height:1.45; padding-block:3px; }
.footer__contact .ck-icon{ flex-shrink:0; opacity:.8; margin-top:2px; }
.footer__contact a{ padding:0; display:inline; }
.footer__bottom{ display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'legal legal' 'copy author'; align-items:center; gap:16px 24px; margin-top:32px; padding-top:16px; border-top:1px solid rgba(255,255,255,.12); font-size:12px; color:#a9b7c6; }
.footer__bottom p{ margin:0; grid-area:copy; }
.footer__bottom .footer__legal{ grid-area:legal; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.08); }
.footer__bottom .footer__author{ grid-area:author; }
.footer__legal{ display:flex; flex-wrap:wrap; justify-content:center; gap:2px 16px; list-style:none; margin:0; padding:0; }
.footer__legal a{ color:#a9b7c6; font-size:12px; padding-block:4px; display:inline-block; white-space:nowrap; }
.footer__legal a:hover{ color:#fff; }
.footer__author{ display:inline-flex; align-items:center; color:#a9b7c6; opacity:.85; }
.footer__author img{ height:22px; width:auto; display:block; }
.footer__author:hover{ opacity:1; }
@media (max-width:1024px){ .footer__grid{ grid-template-columns:1fr 1fr; gap:28px 32px; } }
@media (max-width:640px){
  .footer{ padding-block:36px 16px; }
  .footer__grid{ grid-template-columns:1fr; gap:24px; }
  .footer__bottom{ grid-template-columns:1fr; grid-template-areas:'legal' 'copy' 'author'; text-align:center; gap:10px; }
  .footer__bottom p{ white-space:normal; } /* nazwa firmy + NIP nie mieszczą się w jednej linii na telefonie */
  .footer__legal{ justify-content:center; }
  .footer__author{ justify-content:center; }
}


/* ---------- Mobile CTA bar ---------- */
.mobile-cta-bar{
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:50;
  background:var(--surface); border-top:1px solid var(--line);
  padding:10px var(--gutter) 14px; gap:12px;
  box-shadow:0 -8px 24px rgba(21,44,69,.1);
}
.mobile-cta-bar .btn{ flex:1; }
@media (max-width:640px){
  .mobile-cta-bar{ display:flex; }
  body{ padding-bottom:76px; }
}

.mobile-cart-bar{
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:50;
  align-items:center; justify-content:space-between; gap:16px;
  background:var(--navy); color:#fff; padding:16px var(--gutter);
  font-weight:700; font-size:15px;
}
.mobile-cart-bar__sum{ display:inline-flex; align-items:center; gap:10px; }
.mobile-cart-bar.is-hidden{ display:none !important; }
@media (max-width:767px){
  .mobile-cart-bar:not(.is-hidden){ display:flex; }
  body:has(.mobile-cart-bar:not(.is-hidden)){ padding-bottom:76px; }
}

/* ---------- Okruszki ---------- */
.breadcrumbs{ padding-block:20px; font-size:13px; color:var(--muted); display:flex; align-items:center; gap:8px; margin-block:-14px; flex-wrap:wrap; }
.breadcrumbs a{ display:inline-flex; align-items:center; padding-block:14px; color:var(--muted); }
.breadcrumbs span{ display:inline-flex; align-items:center; }
.breadcrumbs a:hover{ color:var(--accent); }
.breadcrumbs span:last-child{ color:var(--ink); }

/* ---------- Hero (bazowy, np. archiwum usług) ---------- */
.hero{ background:var(--ground); padding-block:var(--section-pad); overflow:hidden; }
/* Hero podstron pod okruszkami: mniejszy górny odstęp (okruszki mają własne 20 px) */
.breadcrumbs + .hero, .breadcrumbs + .hero--sub, .hero--sub{ padding-top:28px; }
.hero__row{ display:flex; gap:48px; align-items:flex-start; justify-content:space-between; }
.hero__copy{ flex:1; max-width:560px; }
.hero__copy h1{ margin-bottom:16px; }
/* H1 z frazą w etykiecie nad hasłem (strona główna, landing poleasingowych); hasło wygląda jak dawny H1 */
h1.tag--hard{ font-family:inherit; line-height:1.3; margin-bottom:20px; }
.hero__title{ font-family:var(--font-display); font-weight:700; line-height:1.2; color:var(--navy); font-size:45px; margin-bottom:16px; }
@media (max-width:640px){ .hero__title{ font-size:32px; } }
.hero__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }

/* ---------- Hero home: zdjęcie warsztatu w tle + nakładka gradientowa ---------- */
.hero__line{ display:block; }
.hero__line--navy{ color:var(--navy); }
.hero__line--light{ color:var(--navy); font-weight:400; }
.hero__accent-word{ color:var(--accent); }

.hero--photo{
  position:relative; overflow:hidden;
  height:480px;
  display:flex; align-items:center; padding-block:0; background:var(--ground);
}
@media (min-width:1280px){ .hero--photo{ height:640px; } }
@media (min-width:1700px){ .hero--photo{ height:680px; } }
.hero--photo picture{ position:absolute; inset:0; z-index:0; display:block; width:100%; height:100%; }
.hero__bg{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover; object-position:center center;
}
/* Pionowe kadrowanie: pokazujemy górę zdjęcia (ramka ekranu laptopa, ściana z narzędziami). */
@media (min-width:768px){ .hero__bg{ object-position:right 58%; } }
.hero__scrim{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, #EEF4F8 0%, rgba(238,244,248,.9) 35%, rgba(238,244,248,0) 60%);
}
/* Ta sama szerokość i wyśrodkowanie co zwykły .container — bez tego .hero--photo{display:flex}
   traktuje ten div jak pojedynczy flex-item: kurczy się do treści (fit-content) i wtedy
   margin-inline:auto z .container wyśrodkowuje go w poziomie zamiast pozwolić mu wypełnić
   sekcję, więc kolumna tekstu "ucieka" w prawo, daleko od lewej krawędzi kontenera. */
.hero__row--home{ position:relative; z-index:2; display:block; width:100%; }
/* 620, nie 560: lead przy 560 łamał się na 3 linie z sierotą "dni." — kolumna szersza
   dla całej treści (H1 nadal mieści się w jednej linii, lewy margines bez zmian). */
.hero__row--home .hero__copy{ max-width:620px; }

/* Etykieta w stylu "hard" (ta sama rodzina co .btn--hard, ale bez efektu hover — to nie
   jest przycisk): biały prostokąt, obrys navy, twardy cień mniejszy niż na przyciskach. */
.tag--hard{
  display:inline-flex; align-items:center; margin-bottom:20px;
  padding:8px 14px; border-radius:8px; border:2px solid var(--navy); background:#fff; color:var(--navy);
  box-shadow:3px 3px 0 var(--navy);
  font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase;
}

/* ---------- Przyciski "hard" (neo-brutal, twardy cień) — tylko hero home + hero landingów usług/poleasingowych/na zamówienie ---------- */
.btn--hard{
  height:52px; padding:0 22px; border-radius:9px; border:2.5px solid var(--navy);
  font-family:var(--font-body); font-weight:700; font-size:15px; letter-spacing:.2px;
  box-shadow:5px 5px 0 var(--navy);
  transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.btn--hard:hover{ transform:translate(2px,2px); box-shadow:3px 3px 0 var(--navy); }
.btn--hard:active{ transform:translate(5px,5px); box-shadow:0 0 0 var(--navy); }
.btn--hard:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; }
.btn--hard svg{ stroke-width:2.5; }
@media (prefers-reduced-motion: reduce){
  .btn--hard{ transition:background 120ms ease; }
  .btn--hard:hover, .btn--hard:active{ transform:none; box-shadow:5px 5px 0 var(--navy); }
}
/* !important: warianty koloru muszą wygrywać niezależnie od kontekstu (np.
   .woocommerce .button ma wyższą specyficzność przez podwójną klasę i inaczej
   nadpisuje tło z powrotem na navy). */
.btn--hard-primary{ background:var(--accent) !important; color:#fff !important; }
.btn--hard-primary:hover{ background:#2568c7 !important; }
.btn--hard-secondary{ background:#fff !important; color:var(--navy) !important; }
.btn--hard-secondary:hover{ background:var(--ground) !important; }
.btn--hard-dark{ background:var(--navy) !important; color:#fff !important; }
.btn--hard-dark:hover{ background:#1f3a56 !important; }
.btn__arrow-circle{
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  width:28px; height:28px; border-radius:50%; background:var(--accent); border:2px solid var(--navy);
}
/* Cień nie może uciąć overflow:hidden hero — margines na wierszu przycisków go rezerwuje. */
.hero__actions:has(.btn--hard){ margin-bottom:5px; }
@media (max-width:640px){
  .hero__actions:has(.btn--hard){ flex-direction:column; align-items:stretch; margin-bottom:4px; }
  .hero__actions:has(.btn--hard) .btn--hard{ width:100%; box-shadow:4px 4px 0 var(--navy); }
  .hero__actions:has(.btn--hard) .btn--hard:hover{ box-shadow:2px 2px 0 var(--navy); }
  .hero__actions:has(.btn--hard) .btn--hard:active{ box-shadow:0 0 0 var(--navy); }
}

/* Lead w hero na zdjęciu: --muted na jasnej nakładce daje ok. 4,15:1 — pogłębiony
   odcień tylko tutaj, żeby nie zmieniać --muted używanego sitewide. */
.hero--photo .lead{ color:#2E4155; font-weight:500; }

.hero__rating{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:28px; font-size:15px; color:var(--ink); }
.hero__stars{ display:inline-flex; gap:2px; color:var(--amber); }
.hero__rating strong{ color:var(--navy); }
.hero__rating .muted{ color:#5b6b7b; }

@media (max-width:900px){
  .hero--photo{ height:auto; min-height:0; max-height:none; padding-block:48px; }
  .hero__scrim{ background:rgba(238,244,248,.92); }
  .hero__row--home .hero__copy{ max-width:none; }
  .hero--photo .hero__actions{ flex-direction:column; align-items:stretch; }
}

/* ---------- Slider w hero strony głównej (4 slajdy, prośba klienta 19.10.2026).
   Slajdy na jednej komórce siatki: sekcja ma wysokość najwyższego slajdu, przejście = przenikanie. */
.hero--slider{ display:block; }
.hero__slides{ display:grid; height:100%; }
.hero__slide{
  grid-area:1/1; position:relative; display:flex; align-items:center; padding-bottom:56px;
  opacity:0; visibility:hidden; transition:opacity .6s ease, visibility 0s linear .6s;
}
.hero__slide.is-active{ opacity:1; visibility:visible; transition:opacity .6s ease; }
@media (min-width:901px) and (max-width:1279px){ .hero--slider{ height:560px; } }
/* Slajdy 2–4 mają przedmiot bliżej środka kadru — zdjęcie dosunięte do prawej i mocniejszy gradient, żeby tekst nie leżał na sprzęcie. */
@media (min-width:901px){
  .hero__slide + .hero__slide .hero__bg{ left:auto; right:0; width:82%; object-position:right center; }
  .hero__slide + .hero__slide .hero__scrim{ background:linear-gradient(90deg, #EEF4F8 0%, rgba(238,244,248,.94) 40%, rgba(238,244,248,.5) 56%, rgba(238,244,248,0) 68%); }
}
.hero__dots-wrap{ position:absolute; left:0; right:0; bottom:24px; z-index:3; }
.hero__dots{ display:flex; flex-wrap:wrap; gap:8px; }
.hero__dot{
  display:inline-flex; align-items:center; height:34px; padding:0 14px; border-radius:999px;
  border:2px solid var(--navy); background:rgba(255,255,255,.88); color:var(--navy);
  font:600 13px/1 var(--font-body); cursor:pointer; transition:background .15s ease, color .15s ease;
}
.hero__dot:hover{ background:#fff; }
.hero__dot.is-active{ background:var(--navy); color:#fff; }
.hero__dot:focus-visible{ outline:3px solid var(--accent); outline-offset:2px; }
@media (max-width:900px){
  .hero--slider{ padding-block:0; }
  .hero__slide{ padding-block:44px 76px; }
}
@media (max-width:640px){
  .hero--slider .hero__copy{ text-align:center; }
  .hero--slider .hero__rating{ justify-content:center; }
  .hero__dots{ justify-content:center; gap:10px; }
  .hero__dot{ width:14px; height:14px; padding:0; }
  .hero__dot span{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
}
@media (prefers-reduced-motion: reduce){
  .hero__slide, .hero__slide.is-active{ transition:none; }
}

/* ---------- Hero podstron (usługi, poleasingowe, zamówienie, kontakt, archiwum usług):
   2 kolumny (tekst | wizual ikona na --tint) + wiersz zaufania pod CTA. .hero__row bazowe
   jest już flex 2-kolumnowe — dokładamy tylko wizual, zaufanie i zwinięcie na mobile. ---------- */
.hero__visual{ flex:0 0 220px; display:flex; align-items:center; justify-content:center; }
.hero__visual:has(.hero__visual-photo){ flex:0 1 480px; align-self:center; }
.hero__visual-icon{
  width:180px; height:180px; border-radius:50%; background:var(--tint); color:var(--accent);
  display:flex; align-items:center; justify-content:center;
}
.hero__visual-photo{ width:100%; max-width:520px; aspect-ratio:4/3; border-radius:var(--r-hero); overflow:hidden; background:var(--tint); margin-left:auto; }
.hero__visual-photo img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:900px){ .hero__visual-photo{ max-width:100%; aspect-ratio:16/10; margin-top:8px; } }
.hero__trust{ display:flex; flex-wrap:wrap; align-items:baseline; gap:20px; margin-top:28px; font-size:14px; color:var(--muted); }
.hero__trust strong{ color:var(--navy); }
@media (max-width:900px){
  .hero--sub{ padding-block:48px 40px; }
  .hero--sub .hero__row{ flex-direction:column; gap:28px; }
  .hero--sub .hero__visual{ display:none; }
  .hero--sub .hero__visual:has(.hero__visual-photo){ display:block; width:100%; flex:0 0 auto; }
}

/* ---------- Moduł "Co się dzieje z Twoim sprzętem?" — kompaktowy pasek, ≤300 px z paddingiem ---------- */
.problem{ background:var(--surface); padding-block:var(--section-pad); }
.problem__row{ display:flex; gap:32px; align-items:center; }
.problem__copy{ flex:1 1 auto; min-width:0; }
.problem__copy h2{ margin-bottom:8px; font-size:28px; }
.problem__copy .lead{ font-size:16px; margin-bottom:0; }
.problem__options{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
@media (min-width:1024px){ .problem__pill{ padding:0 12px; gap:6px; } }
@media (min-width:1360px){ .problem__options{ flex-wrap:nowrap; } }

.fix-pill__input{ position:absolute; opacity:0; width:1px; height:1px; }
.problem__pill{
  display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 14px;
  border-radius:9px; border:2px solid var(--navy); background:#fff; color:var(--navy);
  font-weight:700; font-size:14px; cursor:pointer; box-shadow:3px 3px 0 var(--navy);
  transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
  white-space:nowrap;
}
.problem__pill .ck-icon{ width:20px; height:20px; flex-shrink:0; }
.problem__pill:hover{ transform:translate(1px,1px); box-shadow:2px 2px 0 var(--navy); }
.fix-pill__input:checked + .problem__pill{ background:var(--accent); color:#fff; border-color:var(--navy); }
.fix-pill__input:focus-visible + .problem__pill{ outline:3px solid var(--accent); outline-offset:3px; }

.problem__card{
  flex:0 0 49%; min-width:0;
  display:grid; grid-template-columns:140px minmax(0,1fr) auto; align-items:stretch; gap:14px;
  background:#fff; border-radius:16px; border:2px solid var(--navy); box-shadow:4px 4px 0 var(--navy);
  padding:24px 28px;
}
.problem__zone--thumb{ width:140px; align-self:center; display:flex; align-items:center; justify-content:center; }
.problem__zone--thumb img{ max-width:150px; max-height:140px; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; transform:scale(1.3); }
.problem__zone--info{ min-width:0; display:flex; flex-direction:column; justify-content:center; }
.problem__zone--info h3{ font-size:19px; margin-bottom:8px; }
.problem__faults{ display:flex; flex-direction:column; gap:5px; }
.problem__faults li{ display:flex; align-items:center; gap:7px; font-size:13px; line-height:1.3; white-space:nowrap; }
.problem__faults .ck-icon{ color:var(--accent); flex-shrink:0; }
.problem__zone--time{
  border-left:1px solid var(--line); padding-left:16px;
  display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:6px; min-width:0;
}
.problem__clock{ color:var(--accent); }
.problem__time-value{ font-weight:700; font-size:18px; color:var(--navy); margin-bottom:10px; white-space:nowrap; }
.problem__zone--time .btn{ white-space:nowrap; }

@media (max-width:900px){
  .problem__row{ flex-direction:column; gap:24px; align-items:stretch; }
  .problem__copy, .problem__card{ flex:1 1 auto; }
  .problem__card{ display:flex; flex-direction:column; align-items:stretch; text-align:left; }
  .problem__zone--thumb{ width:80px; height:80px; }
  .problem__zone--thumb img{ max-width:80px; max-height:80px; }
  .problem__zone--info{ border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:16px; }
  .problem__zone--time{ border-left:0; padding-left:0; flex:1 1 auto; }
}

/* ---------- Usługi: 3 karty numerowane + panel "Pozostałe usługi" (wg makiety) ---------- */
.services-section{ background:var(--ground); padding-block:var(--section-pad); }
.shop-section{ background:var(--surface); padding-block:var(--section-pad); }
.services-section .lead{ margin-top:4px; }
.services-row{ display:grid; grid-template-columns:1fr 1fr 1fr 0.85fr; gap:20px; align-items:stretch; margin-top:36px; }

.service-feature{
  display:grid; grid-template-columns:40px 1fr; gap:16px;
  background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:4px 4px 0 var(--navy);
  padding:28px;
}
.service-feature__side{ display:flex; flex-direction:column; gap:10px; }
.service-feature__num{ font-size:13px; font-weight:500; color:var(--muted); }
.service-feature__icon{ color:var(--navy); }
.service-feature__body h3{ font-size:20px; font-weight:700; margin-bottom:16px; }
.service-feature__price{ margin-bottom:16px; }
.service-feature__price-from{ font-weight:400; color:var(--navy); font-size:20px; }
.service-feature__price-value{ font-weight:700; color:var(--accent); font-size:22px; }
.service-feature__body p.muted{ font-size:14px; margin-bottom:20px; }
.service-feature__link{ font-weight:600; color:var(--accent); font-size:14px; }

.service-more{ background:var(--tint); border-radius:12px; padding:24px; display:flex; flex-direction:column; }
.service-more h3{ font-size:16px; margin-bottom:16px; }
.service-more__list{ display:flex; flex-direction:column; gap:12px; margin-bottom:20px; flex:1; }
.service-more__list a{ display:flex; align-items:center; gap:10px; font-weight:500; font-size:14px; color:var(--navy); }
.service-more__icon{
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  width:32px; height:32px; border-radius:8px; background:#fff; color:var(--navy);
}
.service-more__all{ font-weight:600; color:var(--accent); font-size:14px; align-self:flex-start; }

@media (max-width:1024px){
  .services-row{ grid-template-columns:1fr 1fr; }
  .service-more{ grid-column:1 / -1; }
}
@media (max-width:640px){
  .services-row{ grid-template-columns:1fr; }
}

/* Usługi (archiwum / kafle podstawowe — 6 usług, landing "pozostałe usługi") */
.service-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.service-grid--sm{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
/* Wariant B (Kamil): „Pozostałe usługi” — 5 równych, kompaktowych kart, wyśrodkowane */
.service-grid--sm .service-card{ padding:16px 12px; align-items:center; text-align:center; gap:8px; border:1px solid var(--line); box-shadow:0 2px 8px rgba(21,44,69,.06); min-width:0; }
.service-grid--sm .service-card__icon{ width:44px; height:44px; border-radius:10px; margin-bottom:0; }
.service-grid--sm .service-card__icon .ck-icon{ width:22px; height:22px; }
.service-grid--sm .service-card__title{ font-size:13px; line-height:1.3; }
.service-grid--sm .service-card__price{ font-size:12px; margin-top:0; color:var(--accent); font-weight:700; }
.service-grid--sm .service-card__time{ display:none; }
.service-card{
  background:var(--surface); border-radius:var(--r-card); padding:28px;
  display:flex; flex-direction:column; gap:6px;
}
.service-card__icon{
  width:56px; height:56px; border-radius:14px; background:var(--tint); color:var(--accent);
  display:flex; align-items:center; justify-content:center; margin-bottom:10px;
}
.service-card__title{ font-size:19px; }
.service-card__price{ font-size:20px; margin-top:6px; }
.service-card__time{ font-size:14px; }

@media (max-width:900px){ .service-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } .service-grid--sm{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:560px){ .service-grid{ grid-template-columns:1fr; } .service-grid--sm{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } }

/* ---------- Landing usługi: layout ---------- */
.service-layout{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; padding-block:16px 64px; align-items:start; max-width:calc(var(--container)); }
.service-layout .prose, .service-layout .service-block{ max-width:820px; margin-inline:auto; width:100%; }
.service-block{ margin-top:56px; }
.service-block h2{ margin-bottom:20px; }
.service-block:first-of-type{ margin-top:48px; }

.fault-table{ width:100%; border-collapse:collapse; }
.fault-table td{ padding:14px 4px; border-bottom:1px solid var(--line); }
.fault-table__price{ text-align:right; font-weight:700; color:var(--navy); white-space:nowrap; }

.fixed-price-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fixed-price-card{ background:var(--surface); border-radius:var(--r-card); padding:28px; }
.fixed-price-card__name{ font-weight:700; font-size:17px; margin-bottom:10px; }
.fixed-price-card__price{ font-size:24px; margin-bottom:18px; }
.fixed-price-card .button{ display:inline-flex; align-items:center; padding:10px 18px; border-radius:var(--r-btn); background:var(--navy); color:#fff; font-weight:600; font-size:14px; }
.fixed-price-card .button:hover{ background:var(--accent); }
.fixed-price-card .button.loading{ opacity:.6; }
.fixed-price-card .added_to_cart{ display:inline-block; margin-left:10px; font-size:13px; color:var(--accent); font-weight:700; }
@media (max-width:560px){ .fixed-price-grid{ grid-template-columns:1fr; } }

.faq__item{ border-bottom:1px solid var(--line); padding-block:16px; }
.faq__item summary{ cursor:pointer; font-weight:700; list-style:none; display:flex; justify-content:space-between; gap:12px; }
.faq__item summary::-webkit-details-marker{ display:none; }
.faq__item summary::after{ content:'+'; font-size:20px; color:var(--accent); flex-shrink:0; }
.faq__item[open] summary::after{ content:'–'; }
.faq__item p{ margin-top:12px; color:var(--muted); max-width:65ch; }

.service-aside{ position:sticky; top:96px; }
.how-card{ background:var(--surface); border-radius:var(--r-card); padding:28px; border:2px solid var(--navy); box-shadow:4px 4px 0 var(--navy); }
.how-card h3{ white-space:nowrap; }
.how-card__steps{ counter-reset:step; list-style:none; margin-top:16px; padding-left:0; display:flex; flex-direction:column; gap:14px; }
.how-card__steps li{ counter-increment:step; position:relative; padding-left:40px; font-weight:600; line-height:1.4; }
.how-card__steps li::before{
  content:counter(step); position:absolute; left:0; top:-2px;
  width:28px; height:28px; border-radius:50%; background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700;
}
.how-card__contact{ margin-top:20px; padding-top:20px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px; font-size:14px; }
.how-card__contact a, .how-card__contact p{ display:flex; align-items:center; gap:8px; margin:0; color:var(--ink); }
.how-card__contact .ck-icon{ color:var(--accent); flex-shrink:0; }

@media (max-width:900px){
  .service-layout{ grid-template-columns:1fr; }
  .service-aside{ position:static; }
}

/* ---------- Pasek CTA ciemny (landingi usług) ---------- */
.cta-bar{ background:var(--navy); color:#fff; }
.cta-bar__row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding-block:36px; }
.cta-bar__row h3{ color:#fff; font-size:22px; }
.cta-bar__actions{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.cta-bar__phone{ font-family:var(--font-display); font-weight:800; font-size:18px; color:#fff; }

/* ---------- Opinie: karta pojedyncza ---------- */
.review-card{ background:var(--surface); border-radius:var(--r-card); padding:28px; margin:0; }
.review-card__quote{ margin:0 0 16px; font-size:16px; line-height:1.6; }
.review-card__meta{ display:flex; flex-direction:column; gap:2px; font-size:14px; }
.review-card__author{ font-weight:700; }
.review-card--featured{ padding:36px; }
.review-card--featured .review-card__quote{ font-size:20px; line-height:1.55; }

/* ---------- Kontakt ---------- */
.contact-section{ overflow:hidden; background:var(--ground); }
/* Rytm tła: opinie (ground) → FAQ (białe) → kontakt (ground) — granice sekcji widoczne, odstęp nie zlewa się */
.reviews-section{ background:var(--ground); }
.faq-section{ background:var(--surface); }
.faq-section h2{ margin-bottom:20px; }
.contact-section__row{ display:grid; grid-template-columns:1fr 1.2fr; gap:0; align-items:stretch; }
.contact-section__info{
  position:relative; padding:56px 48px; border-radius:var(--r-hero) 0 0 var(--r-hero);
  color:#fff; background-size:cover; background-position:center; overflow:hidden;
}
.contact-section__info::before{ content:''; position:absolute; inset:0; background:rgba(21,44,69,.82); }
.contact-section__info > *{ position:relative; z-index:1; }
.contact-section__info h2{ color:#fff; }
.contact-section__form{ background:var(--surface); border-radius:0 var(--r-hero) var(--r-hero) 0; padding:56px 48px; }
.contact-list{ display:flex; flex-direction:column; gap:16px; margin:24px 0 24px; }
.contact-list li{ display:flex; align-items:flex-start; gap:12px; }
.contact-list .ck-icon{ flex-shrink:0; margin-top:2px; }
.contact-section__info .contact-list .ck-icon{ color:#fff; opacity:.85; }
/* Telefon/e-mail jako linki: kolor dziedziczony, podkreślenie na hover, cel dotykowy >=44px
   (padding pionowy kompensowany ujemnym marginesem, żeby nie ruszać układu listy). */
.contact-list a{ color:inherit; text-decoration:none; display:inline-block; padding-block:12px; margin-block:-12px; }
.contact-list a:hover{ text-decoration:underline; }
.contact-page-map{ margin-top:24px; border-radius:12px; overflow:hidden; }
.contact-page-map iframe{ display:block; width:100%; height:260px; border:0; }
.contact-page-map-cta{ display:flex; justify-content:center; margin-top:20px; }
@media (max-width:900px){
  .contact-section__row{ grid-template-columns:1fr; }
  .contact-section__info{ border-radius:var(--r-hero) var(--r-hero) 0 0; padding:40px var(--gutter); }
  .contact-section__form{ border-radius:0 0 var(--r-hero) var(--r-hero); padding:40px var(--gutter); }
}

/* ---------- Pasek kategorii (home) ---------- */
.shop-pills-row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:28px 0 32px; }
.shop-see-all{ font-weight:600; color:var(--accent); font-size:14px; white-space:nowrap; flex-shrink:0; }
.product-grid--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:900px){ .product-grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* ---------- Karta produktu — JEDEN standard, wszędzie (home/archiwum/powiązane) ---------- */
.product-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:auto; align-items:stretch; gap:20px; }
/* Karta zostaje "miękka" (bez systemu hard-shadow — tylko przycisk w środku go używa).
   Kolejność stref: obraz biały (packshot contain / zdjęcie z tłem cover) → treść na
   --tint (nazwa, spec, cena+status) → przycisk na BIAŁYM, w normalnym przepływie, żeby
   nigdy nie nachodził na dolną krawędź karty niezależnie od długości nazwy. */
.product-card{
  position:relative; display:flex; flex-direction:column; height:100%;
  background:#fff; border:1px solid var(--line); border-radius:14px;
  box-shadow:0 1px 3px rgba(21,44,69,.06); list-style:none; cursor:pointer;
  transition:transform 180ms ease, box-shadow 180ms ease;
}
.product-card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(21,44,69,.1); }
.product-card__link{ position:absolute; inset:0; z-index:1; border-radius:inherit; }
.product-card__link:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; }

.product-card__image{ position:relative; aspect-ratio:4/3; overflow:hidden; display:block; background:#fff; padding:0; }
/* Kamil: każde zdjęcie wypełnia całą strefę (cover), także packshoty */
.product-card__image img{ width:100%; max-width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 180ms ease; display:block; }
.product-card__image.is-photo{ padding:0; }
.product-card__image.is-photo img{ object-fit:cover; mix-blend-mode:normal; }
.product-card:hover .product-card__image img{ transform:scale(1.03); }
@media (prefers-reduced-motion: reduce){
  .product-card, .product-card__image img{ transition:none; }
  .product-card:hover{ transform:none; }
  .product-card:hover .product-card__image img{ transform:none; }
}

.product-card__badges{ position:absolute; top:10px; left:10px; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:4px; }

.product-card__body{ display:flex; flex-direction:column; gap:6px; padding:16px 18px 18px; background:var(--tint); flex:1; }
.product-card__name{
  font-weight:600; font-size:15px; line-height:1.35; color:var(--navy);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:calc(1.35em * 2);
}
.product-card__spec{ font-size:13px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.product-card__row{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:auto; padding-top:4px; }
.product-card__price{ font-weight:700; color:var(--navy); font-size:18px; white-space:nowrap; flex-shrink:0; }
.product-card__price .price-from-label{ font-weight:400; font-size:14px; color:var(--navy); }
.product-card__price del{ color:var(--muted); font-weight:500; font-size:12px; margin-right:4px; }
.product-card__price ins{ text-decoration:none; }
.product-card__status{ display:inline-flex; align-items:center; gap:4px; font-size:13px; font-weight:600; flex-shrink:0; }
.product-card__status--in{ color:var(--accent); }
.product-card__status--out{ color:var(--muted); }
.badge{ display:inline-flex; align-items:center; padding:3px 8px; border-radius:6px; font-weight:600; font-size:12px; }
.badge--sale{ background:var(--accent); color:#fff; }
.badge--amber{ background:var(--amber); color:var(--navy); }
.section__cta{ margin-top:36px; }
.section__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; }
.section__head h2{ margin:0; }

/* Strefa przycisku: BIAŁA, statyczna, zawsze pod treścią — padding z zapasem, żeby
   twardy cień przycisku (4px) nigdy nie ucinał się na overflow:hidden karty. */
.product-card__add{ position:relative; z-index:2; background:#fff; padding:14px 18px 18px; }
.product-card__add .product-card__cta{ display:flex; width:100%; }
.product-card__cta .cta-label-added{ display:none; }
.product-card__cta.added .cta-label-default{ display:none; }
.product-card__cta.added .cta-label-added{ display:inline-flex; align-items:center; gap:6px; }
.product-card__cta.added{ background:var(--navy) !important; }
.product-card__cta.loading{ opacity:.6; }
.product-card__add .added_to_cart{ display:none; }

@media (max-width:1200px) and (min-width:901px){ .product-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px){ .product-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px){
  .product-grid{ gap:14px; }
  .product-card__image{ padding:0; }
  .product-card__name{ font-size:14px; }
  .product-card__add{ padding:12px 14px 14px; }
  /* .btn.btn--hard (3 klasy) potrzebne, bo ".woocommerce a.button" (typ+2 klasy) ma
     wyższą specyficzność niż sam ".product-card__cta" i wygrywał font-size — przycisk
     "Dodaj do koszyka" zostawał na 15px i przycinał tekst na wąskich kartach. */
  .product-card__cta.btn.btn--hard{ font-size:14px; }
}

/* ---------- "Nie wiesz, jaki komputer wybrać?" — scalony blok (dawne 3 sekcje) ---------- */
.builds-section{ background:var(--ground); padding-block:var(--section-pad); }
.builds-row{ display:grid; grid-template-columns:1fr 1.6fr; gap:40px; align-items:center; }
.builds-copy h2{ font-size:30px; margin-bottom:8px; }
.builds-copy .lead{ margin-bottom:20px; }
.builds-copy .btn{ margin-bottom:14px; }
.builds-copy__link{ display:block; font-weight:600; font-size:14px; color:var(--accent); }

.builds-tiles{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.build-tile{
  display:grid; grid-template-columns:96px 1fr; gap:16px; align-items:center;
  background:#fff; border-radius:14px; box-shadow:0 1px 3px rgba(21,44,69,.06); padding:20px;
  transition:transform 180ms ease, box-shadow 180ms ease;
}
.build-tile:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(21,44,69,.1); }
.build-tile__image{ width:96px; height:96px; display:flex; align-items:center; justify-content:center; }
.build-tile__image img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.build-tile__body{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.build-tile__name{ font-weight:700; font-size:16px; color:var(--navy); }
.build-tile__price{ font-size:18px; font-weight:700; color:var(--accent); }
.build-tile__price .price-from-label{ font-weight:400; font-size:14px; color:var(--navy); }
.build-tile__points{ display:flex; flex-direction:column; gap:3px; margin-top:4px; }
.build-tile__points span{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--ink); }
.build-tile__points .ck-icon{ color:var(--accent); flex-shrink:0; }

@media (max-width:900px){
  .builds-row{ grid-template-columns:1fr; }
  .builds-tiles{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){ .build-tile:hover{ transform:none; } }

/* ---------- Dla firm (sekcja ciemna, kompaktowa) ---------- */
.section--b2b{ padding-block:var(--section-pad); }
.business-row{ display:grid; grid-template-columns:1fr 1.9fr; gap:48px; align-items:center; }
.business-points h2{ color:#fff; font-size:28px; line-height:1.15; margin-bottom:10px; }
.business-lead{ color:#cdd9e6; font-size:14px; line-height:1.5; max-width:34ch; margin:0 0 16px; }
.check-list{ display:flex; flex-direction:column; gap:16px; margin-top:24px; }
.check-list li{ display:flex; align-items:flex-start; gap:12px; }
.check-list .ck-icon{ color:var(--accent); flex-shrink:0; margin-top:2px; }
.section--dark .check-list .ck-icon{ color:#fff; }
.check-list--2col{ display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; margin-top:0; }
.section--b2b .check-list--2col li{ color:#fff; font-size:13px; align-items:center; gap:8px; }
.section--b2b .check-list--2col .ck-icon{ color:#8fb8ea; margin-top:0; }
@media (max-width:640px){ .check-list--2col{ grid-template-columns:1fr; } }

.package-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch; }
.package-card{
  position:relative; display:flex; flex-direction:column; padding:20px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.18); border-radius:12px;
}
.package-card--featured{ background:var(--accent); border-color:var(--accent); }
.package-card__flag{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%); white-space:nowrap;
  background:#fff; color:var(--accent); font-weight:700; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  padding:4px 12px; border-radius:var(--r-pill); box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.package-card__name{ color:#fff; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:0 0 4px; }
.package-card__price{ color:#fff; font-size:24px; font-weight:700; margin:0 0 12px; line-height:1.1; }
.package-card__price small{ font-size:13px; font-weight:400; color:#cdd9e6; }
.package-card--featured .package-card__price small{ color:#e3eefc; }
.package-card__list{ display:flex; flex-direction:column; gap:6px; margin:0 0 16px; padding:0; list-style:none; }
.package-card__list li{ display:flex; align-items:center; gap:7px; font-size:13px; color:#e3eefc; }
.package-card__list .ck-icon{ color:#8fb8ea; flex-shrink:0; }
.package-card--featured .package-card__list li{ color:#fff; }
.package-card--featured .package-card__list .ck-icon{ color:#fff; }
.package-card .btn{ margin-top:auto; width:100%; justify-content:center; }
/* Przyciski hard na ciemnym tle */
.btn--hard-ghost{ background:transparent; color:#fff; border-color:#fff; box-shadow:3px 3px 0 #fff; }
.btn--hard-ghost:hover{ background:rgba(255,255,255,.08); color:#fff; box-shadow:2px 2px 0 #fff; }
.btn--hard-white{ background:#fff; color:var(--accent); border-color:#fff; box-shadow:3px 3px 0 var(--navy); }
.btn--hard-white:hover{ background:#f3f7fb; color:var(--accent); box-shadow:2px 2px 0 var(--navy); }
@media (max-width:1024px){ .business-row{ grid-template-columns:1fr; gap:32px; } }
@media (max-width:900px){ .package-grid{ grid-template-columns:1fr; gap:22px; } .package-card__flag{ top:-12px; } }

.logos-label{ font-weight:700; margin-bottom:20px; }
/* Jedna linia: powolny, zapętlony przesuw (druga kopia listy jest aria-hidden); pauza na hover, wyłączony przy reduced-motion */
.logos-marquee{ overflow:hidden; position:relative;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.logos-row{ display:flex; flex-wrap:nowrap; align-items:center; gap:64px; width:max-content; }
.logos-track{ animation:logos-scroll 45s linear infinite; }
.logos-marquee:hover .logos-track, .logos-marquee:focus-within .logos-track{ animation-play-state:paused; }
@keyframes logos-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.logos-row a{ display:flex; align-items:center; height:56px; flex-shrink:0; }
.logos-row img{
  height:52px; width:auto; max-width:220px; object-fit:contain; display:block;
  filter:grayscale(1); opacity:.75; transition:opacity .18s ease, filter .18s ease;
}
.logos-row a:hover img, .logos-row a:focus-visible img{ filter:grayscale(0); opacity:1; }
.logos-row img.logo--multiply{ mix-blend-mode:multiply; }
@media (prefers-reduced-motion: reduce){
  .logos-track{ animation:none; flex-wrap:wrap; width:auto; gap:24px 40px; }
  .logos-marquee{ mask-image:none; -webkit-mask-image:none; }
  .logos-track a[aria-hidden="true"]{ display:none; }
}
@media (max-width:640px){ .logos-row{ gap:36px; } .logos-row img{ max-width:140px; height:36px; } }

@media (max-width:900px){ .business-row{ grid-template-columns:1fr; gap:32px; } }

/* ---------- Laptopy poleasingowe: stan, benefity ---------- */
.grade-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:32px; }
.grade-card{ background:var(--surface); border-radius:var(--r-card); padding:28px; }
.grade-card .stan-badge{ width:40px; height:40px; font-size:17px; margin-bottom:16px; }
.grade-card h3{ margin-bottom:8px; }
@media (max-width:780px){ .grade-grid{ grid-template-columns:1fr; } }

/* ---------- Tiery komputerów gamingowych ---------- */
.tier-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:32px; }
.tier-card{ position:relative; background:var(--surface); border-radius:var(--r-card); padding:28px; box-shadow:inset 0 0 0 1.5px transparent; }
.tier-card--featured{ box-shadow:inset 0 0 0 2px var(--accent); }
.tier-card__flag{
  position:absolute; top:-13px; left:24px; background:var(--accent); color:#fff; font-weight:700; font-size:12px;
  padding:5px 14px; border-radius:var(--r-pill);
}
.tier-card__tag{ font-size:14px; margin-bottom:16px; }
.tier-card__specs{ width:100%; border-collapse:collapse; margin-bottom:12px; }
.tier-card__specs th, .tier-card__specs td{ padding:6px 0; font-size:14px; text-align:left; border-bottom:1px solid var(--line); }
.tier-card__specs th{ color:var(--muted); font-weight:600; width:40%; }
.tier-card__specs td{ color:var(--ink); font-weight:600; }
.tier-card__fps{ font-size:13px; margin-bottom:16px; }
.tier-card__price{ font-size:24px; margin-bottom:16px; }
@media (max-width:900px){ .tier-grid{ grid-template-columns:1fr; } }

/* ---------- Widełki budżetowe ---------- */
.budget-table{ display:flex; flex-direction:column; margin-top:24px; }
.budget-row{ display:grid; grid-template-columns:120px 160px 1fr; align-items:center; gap:20px; padding:16px 0; border-bottom:1px solid var(--line); }
.budget-row__tag{ display:inline-flex; padding:5px 12px; border-radius:var(--r-pill); background:var(--tint); color:var(--navy); font-weight:700; font-size:12px; justify-self:start; }
.budget-row__range{ font-size:18px; }
@media (max-width:640px){ .budget-row{ grid-template-columns:1fr; gap:6px; } }

/* ---------- Sama jednostka albo pełne stanowisko ---------- */
.tile-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:32px; }
.tile-card{ background:var(--surface); border-radius:var(--r-card); padding:20px; }
.tile-card__icon{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:var(--tint); color:var(--accent); margin-bottom:12px; }
.tile-card h3{ font-size:16px; margin-bottom:6px; }
.tile-card p{ font-size:13px; }
@media (max-width:900px){ .tile-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px){ .tile-grid{ grid-template-columns:1fr; } }

/* ---------- Proces 5 kroków ---------- */
.process-steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; counter-reset:step; list-style:none; padding:0; margin-top:32px; }
.process-steps li{ position:relative; padding-top:44px; }
.process-steps li::before{
  counter-increment:step; content:counter(step); position:absolute; top:0; left:0;
  width:32px; height:32px; border-radius:50%; background:var(--tint); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px;
}
.process-steps h3{ font-size:16px; margin-bottom:6px; }
.process-steps p{ font-size:13px; }
@media (max-width:900px){ .process-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px){ .process-steps{ grid-template-columns:1fr; } }

.ck-form__note{ margin-top:16px; font-size:13px; }
.ck-form__consent label{ font-weight:500; font-size:13px; display:flex; align-items:flex-start; gap:8px; }

.benefit-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.benefit-card{ background:var(--surface); border-radius:var(--r-card); padding:28px; }
.benefit-card h3{ display:flex; align-items:center; gap:10px; font-size:18px; margin-bottom:8px; }
.benefit-card h3 .ck-icon{ color:var(--accent); }
@media (max-width:780px){ .benefit-grid{ grid-template-columns:1fr; } }

@media (max-width:900px){ .business-row{ grid-template-columns:1fr; gap:32px; } }

/* ---------- Opinie ---------- */
.reviews-row{ display:grid; grid-template-columns:0.85fr 2fr; gap:56px; align-items:start; }
.reviews-summary__score{ font-size:56px; margin:20px 0 4px; }
.reviews-summary__stars{ display:inline-flex; gap:2px; color:var(--amber); margin-top:6px; }
.reviews-summary__links{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.reviews-summary__links a{
  display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 16px;
  border-radius:9px; border:2px solid var(--navy); background:var(--surface);
  font-weight:700; font-size:13px; color:var(--navy);
  box-shadow:var(--btn-shadow-sm) var(--btn-shadow-sm) 0 var(--navy);
  transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.reviews-summary__links a:hover{ background:var(--tint); transform:translate(1px,1px); box-shadow:2px 2px 0 var(--navy); }
.reviews-summary__links a:active{ transform:translate(3px,3px); box-shadow:0 0 0 var(--navy); }
.reviews-summary__links .review-source-logo--zf{ height:20px; width:auto; }
.reviews-summary__links .review-source-logo--of{ height:20px; width:20px; border-radius:4px; }
.review-card__source{ display:inline-flex; align-items:center; gap:6px; }
.review-card__source .review-source-logo--zf{ height:16px; width:auto; }
.review-card__source .review-source-logo--of{ height:16px; width:16px; border-radius:4px; }
.reviews-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.reviews-grid__featured{ grid-column:1 / -1; }

@media (max-width:900px){
  .reviews-row{ grid-template-columns:1fr; gap:28px; }
  .reviews-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   WooCommerce
   ========================================================= */

.category-bar{ background:var(--surface); border-bottom:1px solid var(--line); }

/* Pasek kategorii na stronach sklepu: białe kafle w systemie hard-shadow (jak pigułki modułu „Co się dzieje…”) */
.category-bar{ padding-block:16px 18px; }
.category-bar--inline{ background:transparent; border:0; padding:0 0 24px; }
.category-nav{
  display:flex; flex-wrap:nowrap; align-items:center; gap:10px;
  overflow-x:auto; -ms-overflow-style:none; scrollbar-width:none; padding-bottom:4px;
}
@media (min-width:1024px){ .category-nav{ flex-wrap:wrap; overflow:visible; } }
.category-nav::-webkit-scrollbar{ display:none; }
.category-nav__item{
  display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 14px; flex-shrink:0;
  border-radius:9px; border:2px solid var(--navy); background:#fff; color:var(--navy);
  font-weight:700; font-size:14px; white-space:nowrap; box-shadow:3px 3px 0 var(--navy);
  transition:transform 120ms ease, box-shadow 120ms ease, color 120ms ease;
}
.category-nav__item .ck-icon{ color:var(--navy); }
.category-nav__item:hover{ transform:translate(1px,1px); box-shadow:2px 2px 0 var(--navy); }
.category-nav__item.is-active{ color:var(--accent); border-color:var(--accent); box-shadow:3px 3px 0 var(--accent); }
.category-nav__item.is-active .ck-icon{ color:var(--accent); }
.category-nav__item:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; }
.category-nav--home{ flex:1 1 auto; min-width:0; }
.shop-pills-row{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:28px; }

@media (max-width:767px){
  .category-nav{ gap:20px; scroll-snap-type:x proximity; }
  .category-nav__item{ scroll-snap-align:start; }
  .woo-content .breadcrumbs{
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; padding-block:14px 0;
  }
}

.woo-content{ padding-block:16px 96px; }
.woo-content .breadcrumbs{ padding-inline:0; }

/* Wynik / sortowanie nad gridem (owinięte w .woo-toolbar przez hook w inc/woocommerce.php) */
.woo-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; float:none; }
.woocommerce-result-count{ color:var(--muted); font-size:14px; margin:0; }
.woocommerce-ordering{ margin:0; float:none; }
.woocommerce-ordering select{
  appearance:none; -webkit-appearance:none; cursor:pointer;
  border:2px solid var(--navy); border-radius:9px; padding:0 40px 0 14px; height:44px; min-width:220px;
  font-family:var(--font-body); font-size:14px; font-weight:600; color:var(--navy); background:#fff;
  background-image: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='%23152C45' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; box-shadow:3px 3px 0 var(--navy);
}
.woocommerce-ordering select:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; }
.woo-toolbar{ align-items:center; margin-bottom:20px; }
.woocommerce-result-count{ font-size:13px; }

/* Karta produktu w listingu (li generowane przez WooCommerce) */
/* Wariant "flat" (home, wg makiety): karta cała biała, bez strefy --tint. */
.product-card--flat .product-card__body{ background:#fff; }
.product-card--flat .product-card__status--in{ color:#16a34a; }

.woocommerce-pagination{ margin-top:40px; display:flex; justify-content:center; }
.woocommerce-pagination ul{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.woocommerce-pagination a, .woocommerce-pagination span{
  display:flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 12px;
  border-radius:9px; background:var(--surface); font-weight:700; font-size:14px; color:var(--navy);
}
.woocommerce-pagination .current{ background:var(--accent); color:#fff; border-color:var(--accent) !important; box-shadow:3px 3px 0 var(--navy) !important; }
.woocommerce-result-count{ margin-right:auto; }

/* Komunikaty WooCommerce */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice, .cart-empty{
  background:var(--tint); color:var(--navy); border-radius:var(--r-card);
  padding:16px 20px; margin:0 0 24px; list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.woocommerce-error{ background:#fbe6df; color:#7a2e17; }
.woocommerce-message a.button, .woocommerce-notice a.button{
  background:var(--navy); color:#fff; border-radius:var(--r-btn); padding:8px 16px; font-size:14px; font-weight:600; flex-shrink:0;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before,
.woocommerce-message svg, .woocommerce-info svg, .woocommerce-error svg, .woocommerce-notice svg{
  display:none;
}
.woocommerce-message > *:first-child, .woocommerce-notice > *:first-child{ margin-right:auto; }

/* Przyciski Woo ogólnie = radius 10-12 (wyjątek: strona produktu i podobne produkty, patrz niżej) */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 24px; border-radius:var(--r-btn); background:var(--navy); color:#fff;
  font-family:var(--font-body); font-weight:600; font-size:15px; border:0;
  transition:transform .18s ease, background .18s ease;
}
.woocommerce .button:hover{ background:var(--accent); transform:translateY(-2px); }
.woocommerce .button.alt{ background:var(--navy); }

/* Single product — 2 kolumny 1:1 */
.woocommerce div.product{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 56px; align-items:stretch; }
/* Kolumna opisu = wysokość galerii; „Dodaj do koszyka” kończy kolumnę na dole zdjęcia, notka o odbiorze nad nim */
@media (min-width:1024px){
  /* Zdjęcie i kolumna opisu zawsze tej samej wysokości: galeria rośnie, gdy opis jest wyższy */
  .product-gallery{ align-self:stretch; display:flex; flex-direction:column; }
  .product-gallery__main{ flex:1 1 auto; }
  .summary.entry-summary{ display:flex; flex-direction:column; align-self:stretch; }
  .summary.entry-summary .product_title{ font-size:32px; margin-bottom:6px !important; }
  .summary.entry-summary .product-summary__rating{ margin-bottom:8px; }
  .summary.entry-summary .product-summary__stan{ margin:-4px 0 8px; }
  .summary.entry-summary .price{ margin-bottom:0 !important; }
  .woocommerce div.product .woocommerce-product-details__short-description{ margin:8px 0 0 !important; font-size:14px; line-height:1.5; }
  .summary.entry-summary > .stock{ margin:0 !important; }
  .summary.entry-summary > .product-trust-line{ order:9; margin:auto 0 8px; padding-top:10px; }
  .summary.entry-summary .product-summary__cat{ margin-bottom:6px; }
  .summary.entry-summary > form.cart, .summary.entry-summary > .product-quote, .summary.entry-summary > .quote-cta{ order:10; margin:0 !important; }
  .summary.entry-summary .qty-stepper{ margin-bottom:10px; }
  .summary.entry-summary > .product_meta{ display:none; }
}

/* Galeria (własny, prosty renderer — patrz inc/woocommerce.php) */
.product-gallery__main{
  position:relative; background:var(--tint); border-radius:var(--r-hero); overflow:hidden;
  aspect-ratio:1; padding:40px;
}
.product-gallery__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:40px; mix-blend-mode:multiply; opacity:0; visibility:hidden; transition:opacity .15s ease; }
.product-gallery__img.is-active{ opacity:1; visibility:visible; }
.product-gallery__img.is-photo{ object-fit:cover; padding:0; mix-blend-mode:normal; }
.product-gallery__badge{
  position:absolute; top:20px; left:20px; z-index:2; background:var(--surface); color:var(--navy);
  width:76px; height:76px; border-radius:50%; box-shadow:0 4px 14px rgba(21,44,69,.16);
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-weight:700; font-size:13px; line-height:1.15; padding:6px;
}

/* ---------- Plakietka stanu A/B/C ---------- */
.stan-badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%; font-weight:700; font-size:13px; flex-shrink:0;
}
.stan-badge--a{ background:var(--accent); color:#fff; }
.stan-badge--b{ background:var(--tint); color:var(--navy); }
.stan-badge--c{ background:var(--line); color:var(--ink); }
.stan-badge--corner{ position:absolute; top:10px; left:10px; box-shadow:0 2px 8px rgba(21,44,69,.18); }
.stan-badge--gallery{ position:absolute; top:16px; right:16px; z-index:2; box-shadow:0 4px 14px rgba(21,44,69,.12); }
.product-summary__stan{ display:flex; align-items:center; gap:12px; margin:-8px 0 16px; }
.product-summary__stan-desc{ font-size:14px; color:var(--muted); max-width:44ch; }

.price-from-label{ font-size:16px; font-weight:600; color:var(--muted); }
.quote-cta{ margin-bottom:20px; }
.btn--quote{
  display:inline-flex; align-items:center; justify-content:center; width:100%; height:56px;
  padding:0 24px; background:var(--accent); color:#fff;
  font-family:var(--font-body); font-weight:700; font-size:16px;
}
.btn--quote:hover{ background:#2568c7; }
/* Ten sam wariant co "Dodaj do koszyka" w kartach — bez tego "Zapytaj o wycenę" wygląda
   jak inny, ciemniejszy przycisk i psuje jedną linię przycisków w rzędzie kart. */

/* Tabela "Dodatkowe informacje" (atrybuty produktu) */
.woocommerce-product-attributes{ width:100%; border-collapse:collapse; max-width:none; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td{
  padding:12px 4px; border-bottom:1px solid var(--line); text-align:left; font-size:14px;
}
.woocommerce-product-attributes th{ width:220px; font-weight:700; color:var(--ink); }
.woocommerce-product-attributes td{ color:var(--muted); }
.woocommerce-product-attributes th p, .woocommerce-product-attributes td p{ margin:0; }
.product-gallery__thumbs{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:12px; }
.product-gallery__thumb{
  aspect-ratio:1; background:var(--tint); border-radius:var(--r-card); padding:10px; overflow:hidden;
  box-shadow:inset 0 0 0 2px transparent;
}
.product-gallery__thumb.is-active{ box-shadow:inset 0 0 0 2px var(--accent); }
.product-gallery__thumb img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }

.summary.entry-summary{ min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.summary.entry-summary > *{ max-width:100%; }
.product-summary__cat{ font-size:13px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:10px; }
.woocommerce div.product .product_title{ font-size:40px; line-height:1.1; margin-bottom:16px; }

.product-summary__rating{ display:flex; align-items:center; gap:10px; margin-bottom:16px; font-size:14px; font-weight:600; color:var(--ink); }
.product-summary__stars{ display:inline-flex; gap:2px; color:var(--amber); }
.product-summary__vat{ font-size:14px; margin-left:8px; }

.woocommerce div.product p.price{ display:flex; align-items:baseline; gap:2px; font-family:var(--font-display); font-weight:800; font-size:40px; color:var(--navy); margin-bottom:8px; }
.woocommerce div.product p.price .woocommerce-Price-currencySymbol{ font-size:20px; font-weight:700; margin-left:2px; align-self:flex-start; }
.woocommerce div.product p.price del{ color:var(--muted); font-weight:600; font-size:18px; margin-right:8px; }
.woocommerce div.product p.price ins{ text-decoration:none; }
.price-gratis{ color:var(--accent); }
.woocommerce div.product .woocommerce-product-details__short-description{ color:var(--ink); margin:16px 0 24px; max-width:52ch; font-size:16px; line-height:1.6; }
.woocommerce div.product .woocommerce-product-details__short-description p{ margin:0 0 .8em; }

/* Pigułki atrybutów */
.attr-pills{ margin-bottom:20px; width:100%; }
.attr-pills__label{ font-weight:600; font-size:14px; margin-bottom:10px; }
.attr-pills__row{ display:flex; flex-wrap:wrap; gap:8px; }
.attr-pills__item{ padding:8px 16px; border-radius:var(--r-pill); background:var(--ground); font-weight:600; font-size:14px; box-shadow:inset 0 0 0 1.5px transparent; }
.attr-pills__item.is-active{ background:var(--tint); color:var(--navy); box-shadow:inset 0 0 0 1.5px var(--accent); }

/* Ilość: stepper */
.qty-stepper__label{ font-weight:600; font-size:14px; margin-bottom:10px; }
.qty-stepper{ display:inline-flex; align-items:center; gap:14px; margin-bottom:20px; }
.qty-stepper__btn{
  width:36px; height:36px; border-radius:50%; background:var(--tint); color:var(--navy);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.qty-stepper__btn:hover{ background:#cfe1f1; }

.woocommerce div.product form.cart{ display:flex; flex-direction:column; align-items:flex-start; margin-bottom:8px; width:100%; }
.woocommerce div.product .quantity{ display:inline-flex; }
.woocommerce div.product .quantity input.qty{
  width:48px; padding:6px; border:0; background:transparent;
  font-family:var(--font-body); font-size:17px; font-weight:700; text-align:center; color:var(--navy);
  -moz-appearance:textfield;
}
.woocommerce div.product .quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product .quantity input.qty::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
.woocommerce div.product form.cart .single_add_to_cart_button{
  width:100%; height:56px; font-size:18px; margin-top:4px;
}

.product-trust-line{ display:flex; align-items:center; gap:8px; margin:16px 0 0; font-size:14px; color:var(--muted); }
.product-trust-line .ck-icon{ color:var(--accent); flex-shrink:0; }

.stock{ font-size:14px; font-weight:600; padding:6px 14px; border-radius:var(--r-pill); display:inline-block; margin-bottom:16px; }
.stock.in-stock{ background:var(--tint); color:var(--accent); }
.stock.out-of-stock{ background:#fbe6df; color:#7a2e17; }
/* Domyślna pigułka stanu Woo zdubluje się z .product-summary__rating — chowamy tylko tę bezpośrednią */
.summary.entry-summary > .stock{ display:none; }
.product-summary__rating .stock{ margin-bottom:0; }

.product-benefits{ grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 24px; margin:0; padding:20px 24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); width:100%; }
@media (max-width:767px){ .product-benefits{ grid-template-columns:1fr; } }
.product-benefits li{ display:flex; align-items:center; gap:12px; font-size:14px; color:var(--ink); }
.product-benefits__icon{
  width:36px; height:36px; border-radius:50%; background:var(--tint); color:var(--accent); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}

.product_meta{ margin-top:20px; padding-top:20px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); display:flex; flex-direction:column; gap:4px; }
.product_meta > span{ display:block; }
.product_meta > span:has(a){ margin-block:-14px; }
.product_meta a{ display:inline-flex; align-items:center; padding-block:14px; color:var(--muted); }

@media (max-width:900px){
  .product-gallery__thumbs{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:767px){
  .product-gallery{ display:flex; flex-direction:row-reverse; gap:10px; align-items:stretch; width:100%; min-width:0; }
  .product-gallery__main{ flex:1 1 0; min-width:0; border-radius:var(--r-hero); padding:16px; aspect-ratio:auto; min-height:260px; }
  .product-gallery__main img{ max-width:100%; }
  .product-gallery__thumbs{
    display:flex; flex-direction:column; grid-template-columns:none; gap:10px;
    width:72px; flex-shrink:0; margin-top:0; overflow-y:auto;
  }
  .product-gallery__thumb{ width:72px; height:72px; flex-shrink:0; padding:6px; }

  .woocommerce div.product .product_title{ font-size:28px; }

  /* Panel sticky: ilość + dodaj do koszyka (patrz nota w raporcie o uproszczeniu) */
  /* Jeden wiersz: stepper po lewej, „Dodaj do koszyka” wypełnia resztę */
  .woocommerce div.product form.cart{
    position:fixed; left:0; right:0; bottom:0; z-index:45; margin:0 !important;
    background:var(--surface); box-shadow:0 -8px 24px rgba(21,44,69,.12);
    padding:12px var(--gutter) 14px; display:flex; flex-direction:row; align-items:center; gap:12px;
  }
  .qty-stepper__label{ display:none; }
  .qty-stepper{ margin:0; flex:0 0 auto; gap:6px; }
  .qty-stepper__btn{ width:36px; height:36px; }
  .qty-stepper__value, .qty-stepper input.qty{ width:32px; text-align:center; }
  .woocommerce div.product form.cart .single_add_to_cart_button{ margin:0; flex:1 1 auto; width:auto; min-width:0; height:48px; font-size:15px; padding-inline:10px; white-space:nowrap; }
  body.single-product{ padding-bottom:96px; }
}

/* Zakładki produktu jako zwykłe sekcje (bez przełącznika, patrz inc/woocommerce.php) —
   "Opis" ma stać osobno pod siatką, bez wrappera-karty (patrz naprawa .product-card niżej) */
.woocommerce-tabs{ margin-top:12px; grid-column:1 / -1; }
.woocommerce-tabs ul.tabs{ display:none; }
.woocommerce-tabs .woocommerce-Tabs-panel{ display:block !important; max-width:none; padding-top:32px; margin-top:32px; border-top:1px solid var(--line); }
.woocommerce-tabs .woocommerce-Tabs-panel p{ max-width:none; }
.woocommerce-tabs .woocommerce-Tabs-panel:first-of-type{ margin-top:0; border-top:0; padding-top:0; }
.woocommerce-tabs .panel h2, .woocommerce-Tabs-panel h2{ font-size:22px; margin-bottom:12px; }
.woocommerce-Tabs-panel #reviews .commentlist{ margin:0 0 24px; display:flex; flex-direction:column; gap:20px; }
.woocommerce-Tabs-panel #reviews .comment-text{ background:var(--surface); border-radius:var(--r-card); padding:20px; }
.woocommerce-Tabs-panel #review_form input, .woocommerce-Tabs-panel #review_form textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-input); font-family:var(--font-body); font-size:15px;
}
.woocommerce-Tabs-panel #review_form .comment-form-rating select{ padding:8px; border-radius:var(--r-input); border:1px solid var(--line); }

/* Podobne produkty — mini-karty: obraz na tint, nazwa + cena, "Zobacz produkt" pigułka */
.related.products{ grid-column:1 / -1; margin-top:24px; padding-top:32px; border-top:1px solid var(--line); }
.related.products > h2{ margin-bottom:24px; }

@media (max-width:900px){
  .woocommerce div.product{ grid-template-columns:1fr; gap:28px; }
}

/* ---------- Koszyk (shortcode klasyczny): 2 kolumny — tabela | podsumowanie ---------- */
.woocommerce-cart .woocommerce{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:32px; align-items:start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{ grid-column:1 / -1; }
.woocommerce-cart .woocommerce-cart-form{ min-width:0; }
.woocommerce-cart table.cart{ width:100%; table-layout:fixed; border-collapse:collapse; margin:0; background:var(--surface); border-radius:var(--r-card); overflow:hidden; border:1px solid var(--line); }
.woocommerce-cart table.cart th.product-price, .woocommerce-cart table.cart th.product-subtotal{ width:120px; }
.woocommerce-cart table.cart th.product-quantity{ width:110px; }
.woocommerce-cart table.cart th{ padding:14px 16px; background:var(--tint); font-size:13px; font-weight:700; color:var(--navy); text-align:left; }
.woocommerce-cart table.cart td{ padding:16px; border-bottom:1px solid var(--line); vertical-align:middle; text-align:left; }
.woocommerce-cart table.cart tbody tr:last-child td{ border-bottom:0; }
.woocommerce-cart table.cart th.product-remove, .woocommerce-cart table.cart td.product-remove{ width:44px; padding-inline:8px 0; text-align:center; }
.woocommerce-cart table.cart th.product-thumbnail, .woocommerce-cart table.cart td.product-thumbnail{ width:88px; }
.woocommerce-cart table.cart td.product-name a{ font-weight:600; color:var(--navy); }
.woocommerce-cart table.cart td.product-price, .woocommerce-cart table.cart td.product-subtotal{ white-space:nowrap; font-variant-numeric:tabular-nums; }
.woocommerce-cart table.cart td.product-subtotal{ font-weight:700; color:var(--navy); }
.woocommerce-cart table.cart th.product-price, .woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart th.product-subtotal, .woocommerce-cart table.cart td.product-subtotal{ text-align:right; }
.woocommerce-cart table.cart img{ width:64px; height:64px; object-fit:cover; border-radius:10px; }
.woocommerce-cart a.remove{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; color:var(--muted) !important; font-size:20px; line-height:1; text-decoration:none; }
.woocommerce-cart a.remove:hover{ background:#fde8e8; color:#c62828 !important; }
.woocommerce-cart .quantity input.qty{ width:64px; height:40px; padding:0 8px; border:2px solid var(--navy); border-radius:9px; text-align:center; font-weight:700; font-family:var(--font-body); }
/* Wiersz akcji pod tabelą: kupon po lewej, „Zaktualizuj” po prawej */
.woocommerce-cart table.cart td.actions{ background:var(--ground); padding:14px 16px; }
.woocommerce-cart table.cart td.actions::after{ content:''; display:table; clear:both; }
.woocommerce-cart table.cart td.actions > .coupon{ float:left; }
.woocommerce-cart table.cart td.actions > .button{ float:right; }
.coupon{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.coupon label{ display:none; }
.coupon input.input-text{ height:44px; padding:0 14px; border:2px solid var(--navy); border-radius:9px; font-family:var(--font-body); font-size:14px; background:var(--surface); width:180px; }
.woocommerce-cart td.actions .button{ height:44px; padding:0 18px; font-size:14px; }
.woocommerce-cart td.actions .button[name="update_cart"]:disabled{ opacity:.45; box-shadow:none; transform:none; }
/* Podsumowanie */
.cart-collaterals{ min-width:0; }
.cart-collaterals .cart_totals{ background:var(--surface); border-radius:var(--r-card); padding:24px; border:1px solid var(--line); max-width:none; margin:0; position:sticky; top:96px; }
.cart_totals h2{ font-size:22px; margin-bottom:14px; }
.cart_totals table{ width:100%; border-collapse:collapse; }
.cart_totals table th, .cart_totals table td{ padding:12px 0; border-bottom:1px solid var(--line); text-align:left; background:transparent; font-size:14px; }
.cart_totals table th{ font-weight:600; color:var(--muted); width:50%; }
.cart_totals table td{ text-align:right; font-weight:600; white-space:nowrap; }
.cart_totals .order-total th{ color:var(--navy); font-weight:700; }
.cart_totals .order-total td .amount{ font-weight:800; color:var(--navy); font-size:22px; }
.cart_totals .order-total td, .cart_totals .order-total th{ border-bottom:0; }
.cart_totals .wc-proceed-to-checkout{ margin-top:16px; padding:0; }
.cart_totals .wc-proceed-to-checkout .checkout-button{ width:100%; height:52px; font-size:16px; display:inline-flex; align-items:center; justify-content:center; }
.cart-collaterals .cross-sells{ grid-column:1 / -1; }
/* Pusty koszyk */
.woocommerce-cart .cart-empty{ grid-column:1 / -1; font-size:18px; font-weight:600; }
.woocommerce-cart .return-to-shop{ grid-column:1 / -1; }
@media (max-width:900px){
  .woocommerce-cart .woocommerce{ grid-template-columns:1fr; gap:20px; }
  .cart-collaterals .cart_totals{ position:static; }
}
@media (max-width:640px){
  /* Wiersz produktu jako karta: miniatura | nazwa + cena, ilość pod spodem */
  .woocommerce-cart table.cart thead{ display:none; }
  .woocommerce-cart table.cart, .woocommerce-cart table.cart tbody{ display:block; width:100%; }
  .woocommerce-cart table.cart tr.cart_item{ display:grid; grid-template-columns:72px minmax(0,1fr) auto; grid-template-areas:"thumb name remove" "thumb qty subtotal"; gap:8px 12px; padding:14px; border-bottom:1px solid var(--line); align-items:center; }
  .woocommerce-cart table.cart tr.cart_item td{ display:block; padding:0; border:0; width:auto; min-width:0; }
  .woocommerce-cart table.cart tr.cart_item td.product-thumbnail{ grid-area:thumb; }
  .woocommerce-cart table.cart tr.cart_item td.product-name{ grid-area:name; font-size:14px; }
  .woocommerce-cart table.cart tr.cart_item td.product-remove{ grid-area:remove; text-align:right; padding-inline:0; }
  .woocommerce-cart table.cart tr.cart_item td.product-price{ display:none; }
  .woocommerce-cart table.cart tr.cart_item td.product-quantity{ grid-area:qty; }
  .woocommerce-cart table.cart tr.cart_item td.product-subtotal{ grid-area:subtotal; text-align:right; font-size:16px; }
  .woocommerce-cart table.cart tr.cart_item td::before{ display:none !important; content:none !important; }
  .woocommerce-cart table.cart td.actions{ display:block; }
  .woocommerce-cart table.cart td.actions > .coupon, .woocommerce-cart table.cart td.actions > .button{ float:none; }
  .woocommerce-cart table.cart td.actions > .button{ margin-top:10px; }
  .coupon{ width:100%; }
  .coupon input.input-text{ flex:1 1 auto; width:auto; min-width:0; }
  .coupon .button, .woocommerce-cart td.actions .button{ width:100%; }
}
/* Zamówienie: tabela przeglądu (zostaje tabelą) */
.woocommerce-checkout table.shop_table{ width:100%; border-collapse:collapse; margin-bottom:24px; }
table.shop_table th, table.shop_table td{ padding:12px 8px; border-bottom:1px solid var(--line); text-align:left; }
table.shop_table img{ width:56px; height:56px; object-fit:cover; border-radius:10px; }

.woocommerce-checkout-review-order-table{ background:transparent; width:100%; }
#order_review{ background:var(--surface); border-radius:var(--r-card); padding:28px; align-self:start; }
#order_review h3{ margin-bottom:16px; }
#payment{ background:var(--tint); border-radius:var(--r-card); margin-top:20px; padding:20px; }
#payment ul.payment_methods{ list-style:none; }
#payment .place-order{ margin-top:16px; }
.woocommerce-billing-fields .form-row, .woocommerce-additional-fields .form-row{ margin-bottom:16px; }
.woocommerce form .form-row label{ display:block; font-weight:600; margin-bottom:6px; font-size:14px; }
.woocommerce form .form-row input.input-text,
.woocommerce .ck-paczkomat input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-input);
  font-family:var(--font-body); font-size:15px; background:var(--surface);
}
#customer_details{ display:grid; grid-template-columns:1fr; gap:0; min-width:0; }

@media (min-width:900px){
  .woocommerce-checkout form.checkout{
    display:grid; grid-template-columns:1.3fr 1fr;
    grid-template-areas:"details heading" "details body";
    gap:16px 48px; align-items:start;
  }
  .woocommerce-checkout form.checkout > #customer_details{ grid-area:details; }
  .woocommerce-checkout form.checkout > #order_review_heading{ grid-area:heading; margin:0; }
  .woocommerce-checkout form.checkout > #order_review{ grid-area:body; }
}
@media (min-width:780px){
  .woocommerce-checkout .col2-set{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
}

/* Moje konto: layout nawigacji i pulpitu — patrz sekcja na końcu pliku ("Moje konto: nawigacja jako kafle po lewej") */

/* ---------- Szukaj / 404 ---------- */
.search-form{ display:flex; gap:10px; max-width:480px; }
.search-form__input{ flex:1; padding:12px 16px; border:1px solid var(--line); border-radius:var(--r-input); font-family:var(--font-body); font-size:15px; background:var(--surface); }
.search-form__submit{ width:48px; border-radius:var(--r-input); background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.search-bar{ margin:24px 0 40px; }
/* Nazwa scoped (nie "search-results") — WordPress dokleja identyczną klasę "search-results" do <body> na stronie wyników, więc nieopisana nazwa nadpisywała layout całej strony. */
.search-results-list{ display:flex; flex-direction:column; gap:28px; max-width:65ch; }
.search-result__title{ font-family:var(--font-display); font-weight:800; font-size:20px; color:var(--navy); }
.not-found .hero__actions{ margin-top:32px; }

/* ---------- Formularz zgłoszenia (Contact Form 7) ---------- */
.ck-form form{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ck-form form > p{ grid-column:1 / -1; margin:0; }
.ck-form .wpcf7-form-control-wrap{ display:block; margin-top:6px; }
.ck-form label{ font-weight:600; font-size:14px; color:var(--ink); }
.ck-form input[type="text"],
.ck-form input[type="tel"],
.ck-form input[type="email"],
.ck-form textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-input);
  font-family:var(--font-body); font-size:15px; background:var(--surface); color:var(--ink);
}
.ck-form textarea{ resize:vertical; }
.ck-form input[type="file"]{
  display:block; margin-top:2px; font-family:var(--font-body); font-size:14px;
}
/* Slot na captchę (Cloudflare Turnstile — patrz README) — placeholder dopóki wtyczka nieaktywna. */
.ck-captcha{
  min-height:70px; border:1px dashed var(--line); border-radius:9px; background:var(--ground);
  display:flex; align-items:center; justify-content:center; padding:8px 16px;
}
.ck-captcha__hint{ font-size:12px; color:var(--muted); text-align:center; }
.wpcf7-form > .ck-captcha, .wpcf7-form > p:has(> .ck-captcha){ grid-column:1 / -1; width:100%; }
.ck-form input[type="file"]::file-selector-button{
  padding:9px 16px; margin:4px 12px 6px 0; border-radius:9px; border:2px solid var(--navy);
  background:#fff; color:var(--navy); font-family:var(--font-body); font-weight:700; font-size:14px; cursor:pointer;
  box-shadow:3px 3px 0 var(--navy); transition:transform 120ms ease, box-shadow 120ms ease;
}
.ck-form input[type="file"]:hover::file-selector-button{ transform:translate(1px,1px); box-shadow:2px 2px 0 var(--navy); }
.ck-form input[type="file"]:active::file-selector-button{ transform:translate(3px,3px); box-shadow:0 0 0 var(--navy); }
.ck-form input[type="file"]{ color:var(--muted); }
.contact-section__map-btn{ margin-top:18px; align-self:flex-start; }
.ck-form .wpcf7-submit{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 24px; border-radius:var(--r-btn); background:var(--navy); color:#fff;
  font-family:var(--font-body); font-weight:600; font-size:16px; border:0; cursor:pointer;
  transition:transform .18s ease, background .18s ease;
  max-width:100%; white-space:normal; text-align:center; line-height:1.3;
}
.ck-form .wpcf7-submit:hover{ background:var(--accent); transform:translateY(-2px); }
.ck-form .wpcf7-spinner{ margin-left:10px; }
.ck-form .wpcf7-not-valid-tip{ display:block; margin-top:6px; font-size:13px; color:#b5462f; font-weight:600; }
.ck-form .wpcf7-form-control.wpcf7-not-valid{ border-color:#b5462f; }
.ck-form .wpcf7-response-output{
  margin:16px 0 0; padding:14px 18px; border-radius:var(--r-card); background:var(--tint); color:var(--navy);
  font-size:14px; font-weight:600;
}
.ck-form .wpcf7-form.invalid .wpcf7-response-output,
.ck-form .wpcf7-form.failed .wpcf7-response-output,
.ck-form .wpcf7-form.aborted .wpcf7-response-output{ background:#fbe6df; color:#7a2e17; }
.ck-form form > p:nth-of-type(1),
.ck-form form > p:nth-of-type(2){ grid-column:auto; }

@media (max-width:640px){
  .ck-form form > p:nth-of-type(1),
  .ck-form form > p:nth-of-type(2){ grid-column:1 / -1; }
}

.ck-form select{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-input);
  font-family:var(--font-body); font-size:15px; background:var(--surface); color:var(--ink);
}
.ck-form .wpcf7-checkbox{ display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:6px; }
.ck-form .wpcf7-list-item{ margin:0; }
.ck-form .wpcf7-list-item-label{ display:inline-flex; align-items:center; gap:8px; font-weight:500; font-size:14px; cursor:pointer; }
.ck-form input[type="checkbox"]{ width:18px; height:18px; accent-color:var(--navy); }
.ck-form--build form > p:nth-of-type(1),
.ck-form--build form > p:nth-of-type(2),
.ck-form--build form > p:nth-of-type(4),
.ck-form--build form > p:nth-of-type(5){ grid-column:auto; }
@media (max-width:640px){
  .ck-form--build form > p{ grid-column:1 / -1 !important; }
}

/* ---------- Strona Kontakt ---------- */
.contact-page-row{ display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start; margin-top:32px; }
.contact-page-social{ display:flex; gap:12px; margin:20px 0; }
.contact-page-social a{ color:var(--navy); }
.contact-page-form{ background:var(--surface); border-radius:var(--r-card); padding:32px; }
.contact-page-form h2{ margin-bottom:20px; }

.contact-shortcuts{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:56px; }
.contact-shortcut{
  display:flex; flex-direction:column; gap:10px; background:var(--surface); border-radius:var(--r-card);
  padding:24px; font-weight:700; color:var(--navy);
}
.contact-shortcut .ck-icon{ color:var(--accent); }

@media (max-width:900px){
  .contact-page-row{ grid-template-columns:1fr; gap:32px; }
  .contact-shortcuts{ grid-template-columns:1fr; }
}

/* ---------- Toast "Dodano do koszyka" (AJAX, strona produktu i listingi) ---------- */
.added-toast{
  position:fixed; right:20px; bottom:20px; z-index:60; width:380px; max-width:calc(100vw - 32px);
  background:var(--surface); border-radius:var(--r-card); padding:20px;
  box-shadow:0 20px 48px rgba(21,44,69,.22);
  display:flex; flex-direction:column; gap:12px;
  transform:translateY(16px); opacity:0; transition:transform .22s ease, opacity .22s ease;
}
.added-toast.is-visible{ transform:translateY(0); opacity:1; }
.added-toast__head{ display:flex; align-items:center; gap:10px; font-weight:700; color:var(--navy); }
.added-toast__head .ck-icon{ color:var(--accent); flex-shrink:0; }
.added-toast__name{ font-size:14px; color:var(--muted); }
.added-toast__actions{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; padding:0 4px 4px 0; }
.added-toast__actions .btn{ width:100%; justify-content:center; white-space:nowrap; padding-inline:10px; margin:0; text-decoration:none; }
@media (max-width:420px){ .added-toast__actions{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:480px){
  .added-toast{ left:16px; right:16px; max-width:none; }
}

/* =========================================================
   System przycisków "hard" (twardy cień) — domyślny styl WSZYSTKICH CTA.
   Trzy wysokości: lg 52 (główne CTA, submit, Dodaj do koszyka na produkcie),
   md 44 (karty, listing, koszyk/kasa, pakiety, kafle), sm 36 (linki-przyciski,
   paginacja, tagi). Kolory tła zostają jak dotychczas (accent/navy/biel) —
   dokładamy tylko obrys, cień i mechanikę wciśnięcia.
   ========================================================= */
:root{ --btn-shadow-lg:5px; --btn-shadow-md:4px; --btn-shadow-sm:3px; }

.btn, .pill-link, .btn--quote, .btn-view-product,
.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.fixed-price-card .button, .ck-form .wpcf7-submit,
.woocommerce-pagination a, .woocommerce-pagination span,
.search-form__submit, .contact-shortcut,
.qty-stepper__btn{
  border-radius:9px !important;
  border:2px solid var(--navy);
  box-shadow:var(--btn-shadow-md) var(--btn-shadow-md) 0 var(--navy);
  transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.btn:hover, .pill-link:hover, .btn--quote:hover, .btn-view-product:hover,
.woocommerce .button:hover, .fixed-price-card .button:hover, .ck-form .wpcf7-submit:hover,
.woocommerce-pagination a:hover, .search-form__submit:hover, .contact-shortcut:hover,
.qty-stepper__btn:hover{
  transform:translate(2px,2px); box-shadow:2px 2px 0 var(--navy);
}
.btn:active, .pill-link:active, .btn--quote:active, .btn-view-product:active,
.woocommerce .button:active, .fixed-price-card .button:active, .ck-form .wpcf7-submit:active,
.qty-stepper__btn:active{
  transform:translate(4px,4px); box-shadow:0 0 0 var(--navy);
}
.btn:focus-visible, .pill-link:focus-visible, .woocommerce .button:focus-visible,
.ck-form .wpcf7-submit:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; }
.btn[disabled], .woocommerce .button[disabled], .woocommerce .button.disabled{
  opacity:.5; pointer-events:none; box-shadow:var(--btn-shadow-md) var(--btn-shadow-md) 0 var(--navy);
}

/* lg 52px — hero (patrz .btn--hard), submit formularzy, "Dodaj do koszyka" na stronie produktu */
.ck-form .wpcf7-submit,
.woocommerce div.product form.cart .single_add_to_cart_button{
  height:52px; border-width:2.5px; box-shadow:var(--btn-shadow-lg) var(--btn-shadow-lg) 0 var(--navy);
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{ transform:translate(2px,2px); box-shadow:3px 3px 0 var(--navy); }
.woocommerce div.product form.cart .single_add_to_cart_button:active{ transform:translate(5px,5px); box-shadow:0 0 0 var(--navy); }

/* sm 36px — linki-przyciski, paginacja, tagi kontaktowe, przyciski w okienku „Dodano do koszyka” */
.btn--sm, .woocommerce-pagination a, .woocommerce-pagination span{
  height:36px; box-shadow:var(--btn-shadow-sm) var(--btn-shadow-sm) 0 var(--navy);
}
.btn--sm:hover, .woocommerce-pagination a:hover{ box-shadow:1px 1px 0 var(--navy); }
.woocommerce-pagination a, .woocommerce-pagination span{ height:36px; width:36px; padding:0; }

/* md 44px — domyślna reszta: karty produktów, koszyk/kasa, pakiety, kafle usług */
.product-card__add .button, .fixed-price-card .button{ height:44px; }

/* Sekundary: biel + tekst navy (już mają tło białe/tint — dociągamy tylko kolor tekstu) */
.btn--outline, .pill-link{ background:#fff; }

/* Stepper ilości na stronie produktu: kwadrat, nie koło */
.qty-stepper__btn{ width:40px; height:40px; border-radius:9px !important; }

/* Ciemne tło (sekcja B2B, stopka, sticky paski mobile): obrys i cień w bieli */
.footer .btn, .mobile-cart-bar{
  border-color:#fff; box-shadow:var(--btn-shadow-md) var(--btn-shadow-md) 0 #fff;
}
.footer .btn:hover{ box-shadow:2px 2px 0 #fff; }
.footer .btn:active{ box-shadow:0 0 0 #fff; }
/* B2B: przyciski w kartach mają własne warianty .btn--hard-ghost / .btn--hard-white */
.mobile-cta-bar .btn{ height:48px; border-width:2px; box-shadow:4px 4px 0 var(--navy); font-size:15px; }

/* Filtry i pigułki wyboru NIE są przyciskami akcji — bez cienia, tylko obrys na aktywnej */
.attr-pills__item, .fix-pill{ box-shadow:none !important; border:0; }
.attr-pills__item.is-active{ box-shadow:inset 0 0 0 2px var(--navy) !important; }

/* Odstęp: cień nie może być ucięty przez overflow:hidden ani nachodzić na sąsiadów */
.hero__actions, .product-card__add, .fixed-price-grid, .package-card__list + .btn,
.woo-toolbar, .ck-form form > p:last-of-type{ margin-bottom:0; }
.product-grid, .service-grid, .build-grid, .package-grid, .fixed-price-grid{ row-gap:24px; }

@media (prefers-reduced-motion: reduce){
  .btn, .pill-link, .woocommerce .button, .ck-form .wpcf7-submit, .qty-stepper__btn,
  .woocommerce div.product form.cart .single_add_to_cart_button{ transition:background 120ms ease; }
  .btn:hover, .btn:active, .woocommerce .button:hover, .woocommerce .button:active,
  .ck-form .wpcf7-submit:hover, .ck-form .wpcf7-submit:active,
  .woocommerce div.product form.cart .single_add_to_cart_button:hover,
  .woocommerce div.product form.cart .single_add_to_cart_button:active{ transform:none; }
}

/* Mobile: karta produktu w 2 kolumnach — cena i status nie mogą rozpychać siatki poza ekran */
@media (max-width:767px){
  .product-card{ min-width:0; overflow:hidden; }
  .product-card__row{ flex-wrap:wrap; gap:4px 10px; }
  .product-card__status{ white-space:normal; font-size:12px; }
  .product-card__name{ font-size:14px; }
}
@media (max-width:767px){
  .woo-toolbar{ flex-wrap:wrap; gap:10px; }
  .woocommerce-ordering{ width:100%; max-width:100%; }
  .woocommerce-ordering select{ width:100%; max-width:100%; }
}
@media (max-width:480px){
  /* Tak samo jak wyżej: potrzebne 3 klasy, żeby przebić ".woocommerce a.button". */
  .product-card__add .product-card__cta.btn.btn--hard{ font-size:13px; padding-inline:8px; white-space:nowrap; letter-spacing:0; }
}
/* Mobile: główne CTA sekcji na całą szerokość */
@media (max-width:767px){
  .builds-section .btn--hard-dark, .problem__zone--time .btn, .contact-section__map-btn, .hero__actions .btn{ width:100%; justify-content:center; }
}
@media (max-width:767px){
  .contact-section__map-btn, .contact-section .btn{ width:100%; justify-content:center; }
  .ck-form .wpcf7-submit{ width:100%; }
  .ck-form input[type="file"]{ width:100%; }
  .ck-form input[type="file"]::file-selector-button{ width:100%; margin:0 0 8px; display:block; }
  .ck-captcha{ width:100% !important; max-width:100% !important; }
}
/* Ceny nigdy nie łamią się na spacji tysięcznej (koszyk, kasa, karty, produkt) */
.woocommerce-Price-amount, .product-card__price, .package-card__price, .price{ white-space:nowrap; }
/* Sklep: odstęp paska sortowania od siatki; przyciski w kartach na mobile z marginesem na cień */
.woo-toolbar.woo-toolbar{ margin-bottom:24px; }
@media (max-width:767px){
  .product-card__add{ padding:12px 12px 16px; }
  .product-card__add .btn, .product-card__add .button{ width:100%; }
}

/* Kategoria: notka pod przyciskami hero + tekst SEO pod listingiem */
.hero__note{ margin-top:18px; max-width:560px; font-size:15px; line-height:1.6; color:var(--muted); }
.shop-seo{ margin-top:56px; padding-top:40px; border-top:1px solid var(--line); }
.shop-seo .prose{ max-width:820px; margin-inline:auto; }
.shop-seo h2{ font-size:24px; margin-bottom:12px; }
.shop-seo h3{ font-size:18px; margin:20px 0 8px; }
/* Strona produktu: cała treść pod siatką na pełną szerokość kontenera */
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .woocommerce-Tabs-panel, .woocommerce div.product .woocommerce-Tabs-panel *, .woocommerce div.product .related.products{ max-width:none; }
.wc-page > h1{ margin-bottom:24px; }

/* ---------- Zamówienie: porządek (Kamil 2026-09-15) ---------- */
.woocommerce-checkout .wc-page > h1{ margin-bottom:16px; }
.woocommerce-checkout .breadcrumbs + .section{ padding-top:24px; }
/* Pasek „Masz już konto?” i „Masz kupon?” — kompaktowe, z linkiem-przyciskiem */
.woocommerce-form-login-toggle .woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info{
  display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; margin:0 0 10px; font-size:14px; border-radius:12px;
}
.woocommerce-form-login-toggle .woocommerce-info a, .woocommerce-form-coupon-toggle .woocommerce-info a{ font-weight:700; color:var(--accent); white-space:nowrap; }
.woocommerce-form-coupon-toggle .woocommerce-info{ margin-bottom:24px; }
.woocommerce-checkout form.woocommerce-form-login, .woocommerce-checkout form.checkout_coupon{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:20px; margin:0 0 20px;
}
.woocommerce-checkout form.woocommerce-form-login .form-row, .woocommerce-checkout form.checkout_coupon .form-row{ margin-bottom:12px; }
.woocommerce-checkout form.checkout_coupon{ display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.woocommerce-checkout form.checkout_coupon > p{ margin:0; flex:1 1 100%; }
.woocommerce-checkout form.checkout_coupon .form-row{ flex:1 1 220px; margin:0; }
/* Sekcje formularza */
.woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3, #order_review_heading{ font-size:20px; margin:0 0 14px; }
.woocommerce-additional-fields{ margin-top:24px; }
.woocommerce-billing-fields .form-row label, .woocommerce-additional-fields .form-row label{ font-size:13px; font-weight:600; margin-bottom:6px; display:block; }
.woocommerce-billing-fields .form-row, .woocommerce-additional-fields .form-row{ margin-bottom:14px; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last{ width:calc(50% - 8px); float:left; }
.woocommerce-checkout .form-row-last{ float:right; }
.woocommerce-checkout .form-row-wide{ clear:both; }
.woocommerce-checkout .select2-container .select2-selection--single{ height:46px; border:1px solid var(--line); border-radius:var(--r-input); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{ line-height:44px; padding-left:14px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{ height:44px; }
.create-account{ margin:8px 0 0; }
.create-account label{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14px; }
/* Podsumowanie po prawej — sticky */
.woocommerce-checkout form.checkout > #order_review{ position:sticky; top:96px; padding:20px; align-self:start; }
.woocommerce-checkout form.checkout{ grid-template-rows:auto 1fr; align-items:start; }
.woocommerce-checkout form.checkout > #order_review_heading{ align-self:end; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td{ padding:10px 0; font-size:14px; }
.woocommerce-checkout-review-order-table .order-total td .amount{ font-size:20px; font-weight:800; color:var(--navy); }
#payment{ margin-top:16px; padding:16px; }
#payment .woocommerce-privacy-policy-text p{ font-size:13px; color:var(--muted); margin:0 0 12px; }
#payment .place-order{ margin-top:12px; }
#payment .place-order .button{ width:100%; height:52px; font-size:16px; display:inline-flex; align-items:center; justify-content:center; }
.woocommerce-NoticeGroup-checkout{ grid-column:1 / -1; }
@media (max-width:640px){
  .woocommerce-form-login-toggle .woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info{ flex-direction:column; align-items:flex-start; gap:4px; }
  .woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last{ width:100%; float:none; }
}
/* Polecane produkty pod koszykiem / zamówieniem */
.recommended-products{ grid-column:1 / -1; margin-top:48px; padding-top:32px; border-top:1px solid var(--line); }
.recommended-products .section__head{ margin-bottom:20px; }
.recommended-products h2{ font-size:26px; }
.link-arrow{ color:var(--accent); font-weight:600; font-size:14px; }
/* Mniejszy odstęp okruszki → nagłówek na stronach Woo i zwykłych */
.breadcrumbs + .section.section--tight{ padding-top:20px; }
.wc-page > h1, .prose > h1{ margin-bottom:18px; }
/* Kasa: wybór dostawy i płatności jako czytelne listy */
#shipping_method{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
#shipping_method li{ display:flex; align-items:flex-start; gap:8px; font-size:14px; }
#shipping_method li input{ margin-top:4px; accent-color:var(--accent); }
#shipping_method li label{ line-height:1.4; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td{ vertical-align:top; }
#payment ul.payment_methods{ margin:0 0 12px; padding:0; display:flex; flex-direction:column; gap:10px; }
#payment ul.payment_methods li{ display:block; background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:12px 14px; font-size:14px; }
#payment ul.payment_methods li > label{ display:inline; font-weight:600; cursor:pointer; margin-left:6px; }
/* Logo bramki (np. Przelewy24) w jednej linii z nazwą metody, wyrównane do prawej */
#payment ul.payment_methods li > label img{ display:inline-block; float:right; height:20px; width:auto; max-width:80px; margin:0 0 0 10px; vertical-align:middle; }
#payment ul.payment_methods li > input{ accent-color:var(--accent); vertical-align:middle; margin:0; }
#payment ul.payment_methods .payment_box{ margin:8px 0 0 24px; font-size:13px; color:var(--muted); }
#payment ul.payment_methods .payment_box p{ margin:0; }
/* Koszyk: wiersz dostawy w podsumowaniu — pionowo, w obrębie karty */
.cart_totals table{ table-layout:fixed; }
.cart_totals table th{ width:30%; vertical-align:top; padding-top:14px; }
.cart_totals table td{ white-space:normal; text-align:left; }
.cart_totals .cart-subtotal td, .cart_totals .order-total td{ text-align:right; white-space:nowrap; }
/* „(zawiera X zł VAT)” pod kwotą łączną: mały, w osobnej linii — wcześniej dziedziczył duży krój ceny i wychodził poza kartę (klient 19.10). */
.order-total .includes_tax{ display:block; margin-top:4px; white-space:normal; font-size:13px; font-weight:400; color:var(--muted); }
.order-total .includes_tax .amount, .order-total .includes_tax .woocommerce-Price-amount{ font-size:13px !important; font-weight:600 !important; color:var(--muted) !important; }
.cart_totals .woocommerce-shipping-totals td{ font-weight:500; }
.cart_totals #shipping_method{ gap:6px; }
.cart_totals #shipping_method li{ font-size:13px; align-items:flex-start; }
.cart_totals #shipping_method li label{ font-weight:600; }
.cart_totals .woocommerce-shipping-destination{ display:none; }
.cart_totals .shipping-calculator-button{ display:none; }

/* ---------- Formularz doboru komputera (5 sekcji, CF7) ---------- */
.form-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:28px; margin:24px auto 0; max-width:900px; }
#zamowienie > .container > h2, #zamowienie > .container > .lead{ text-align:center; margin-inline:auto; }
.ck-form--build form{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; align-items:start; }
.ck-form--build form > h3{ grid-column:1 / -1; font-size:17px; margin:14px 0 0; padding-top:14px; border-top:1px solid var(--line); }
.ck-form--build form > h3:first-of-type{ margin-top:0; padding-top:0; border-top:0; }
.ck-form--build form > .hidden-fields-container, .ck-form--build form > fieldset{ display:none; }
.ck-form--build form > p{ grid-column:auto; margin:0; min-width:0; }
.ck-form--build form > p:has(textarea), .ck-form--build form > p:has(.wpcf7-checkbox), .ck-form--build form > p:has(.wpcf7-radio),
.ck-form--build form > p:has(input[name="gry"]), .ck-form--build form > .ck-form__consent, .ck-form--build form > p:has(.wpcf7-submit), .ck-form--build form > p:has(.ck-captcha),
.ck-form--build form > .wpcf7-response-output, .ck-form--build form > .ck-captcha{ grid-column:1 / -1; }
.ck-form--build label{ display:block; font-weight:600; font-size:14px; }
.ck-form--build label > br{ display:none; }
.ck-form--build .wpcf7-form-control-wrap{ display:block; margin-top:6px; }
.ck-form--build .wpcf7-checkbox, .ck-form--build .wpcf7-radio{ display:flex; flex-wrap:wrap; gap:8px 18px; }
.ck-form--build .wpcf7-list-item{ margin:0; }
.ck-form--build .wpcf7-list-item label{ display:inline-flex; align-items:center; gap:6px; font-weight:500; font-size:14px; cursor:pointer; }
.ck-form--build .wpcf7-list-item input[type=radio]{ margin:0; vertical-align:middle; }
.ck-form--build .wpcf7-radio .wpcf7-list-item-label, .ck-form--build .wpcf7-checkbox .wpcf7-list-item-label{ line-height:1; }
.ck-form--build .wpcf7-list-item input{ accent-color:var(--accent); width:16px; height:16px; }
.ck-form--build select{ width:100%; height:46px; padding:0 14px; border:1px solid var(--line); border-radius:var(--r-input); font-family:var(--font-body); font-size:15px; background:var(--surface); }
.ck-form--build .ck-form__consent label{ display:flex; gap:8px; align-items:flex-start; font-weight:500; font-size:14px; }
.ck-form--build .ck-form__consent .wpcf7-list-item{ display:block; }
.ck-form--build .ck-form__consent .wpcf7-list-item label{ align-items:flex-start; }
.ck-form--build .wpcf7-submit{ width:100%; }
.ck-form--build .ck-form__note{ margin-top:12px; font-size:13px; }
@media (max-width:640px){ .ck-form--build form{ grid-template-columns:1fr; } .form-card{ padding:18px; } }
/* Komputery na zamówienie: rytm tła sekcji (jasne/białe na przemian), bez drugiego formularza kontaktu */
.page-template-page-zamowienie-komputera main > section.section:nth-of-type(even){ background:var(--surface); }
/* Zgoda w formularzu doboru: checkbox w linii z tekstem */
.ck-form--build .ck-form__consent .wpcf7-list-item label{ display:flex; align-items:center; gap:10px; }
.ck-form--build .ck-form__consent input[type=checkbox]{ margin:0; flex:0 0 auto; width:18px; height:18px; }
.ck-form--build .ck-form__consent .wpcf7-list-item-label{ line-height:1.4; }
/* Zgoda: CF7 nie owija labelem każdej pozycji — wyrównujemy sam .wpcf7-list-item */
.ck-form--build .ck-form__consent > label{ display:block; }
.ck-form--build .ck-form__consent .wpcf7-form-control-wrap{ margin:0; }
.ck-form--build .ck-form__consent .wpcf7-list-item{ display:flex !important; align-items:center; gap:10px; margin:0; }
.ck-form--build .ck-form__consent .wpcf7-list-item input[type=checkbox]{ margin:0; flex:0 0 auto; width:18px; height:18px; accent-color:var(--accent); }
.ck-form--build .ck-form__consent .wpcf7-list-item-label{ font-weight:500; font-size:14px; line-height:1.4; }
.ck-form--build .wpcf7-not-valid-tip{ display:block; margin-top:6px; font-size:13px; color:#c62828; }
@media (max-width:640px){
  .ck-form--build .wpcf7-submit{ white-space:normal; height:auto; min-height:52px; padding:12px 16px; line-height:1.3; font-size:15px; }
}

/* ---------- Kontakt: mapa w hero, dane | formularz w karcie, skróty ---------- */
.hero__visual-map{ position:relative; background:var(--tint); }
.hero__visual-map iframe{ width:100%; height:100%; border:0; display:block; }
.hero__visual-map-cta{ position:absolute; left:16px; bottom:16px; }
.contact-page-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:40px; align-items:start; }
.contact-page-info .contact-list{ display:flex; flex-direction:column; gap:14px; }
.contact-page-info .contact-list li{ display:flex; align-items:flex-start; gap:10px; font-size:15px; }
.contact-page-info .contact-list .ck-icon{ color:var(--accent); flex-shrink:0; margin-top:3px; }
.contact-page-social{ display:flex; gap:12px; margin-top:20px; }
.contact-page-social a{ display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:9px; border:2px solid var(--navy); background:#fff; color:var(--navy); box-shadow:3px 3px 0 var(--navy); }
.contact-page-form.form-card{ margin:0; max-width:none; }
.contact-page-form h2{ font-size:22px; margin-bottom:16px; }
.contact-page-form form{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; }
.contact-page-form form > p{ margin:0; grid-column:auto; }
.contact-page-form form > p:has(textarea), .contact-page-form form > p:has(.wpcf7-submit), .contact-page-form form > p:has(.ck-captcha), .contact-page-form form > p:has(input[name="telefon"]), .contact-page-form form > .wpcf7-response-output{ grid-column:1 / -1; }
.contact-page-form label{ display:block; font-weight:600; font-size:14px; }
.contact-page-form label > br{ display:none; }
.contact-page-form .wpcf7-form-control-wrap{ display:block; margin-top:6px; }
.contact-page-form .wpcf7-submit{ width:100%; }
.contact-page-form form > .hidden-fields-container, .contact-page-form form > fieldset{ display:none; }
.contact-shortcuts{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:40px; }
@media (max-width:900px){ .contact-page-row{ grid-template-columns:1fr; gap:24px; } .contact-shortcuts{ grid-template-columns:1fr; } }
@media (max-width:640px){ .contact-page-form form{ grid-template-columns:1fr; } .hero__visual-map-cta{ left:10px; bottom:10px; } }
/* Kontakt: mniejszy odstęp hero → treść; mapa w hero nieco wyższa */
.page-template-page-kontakt .hero--sub{ padding-bottom:32px; }
.page-template-page-kontakt .hero--sub + .section{ padding-top:24px; }
.page-template-page-kontakt .hero__visual:has(.hero__visual-map){ flex:0 1 520px; }
.hero__visual-map{ aspect-ratio:16/10; }
/* Strony treściowe (regulamin, prywatność, cookies…): na całą szerokość kontenera */
.prose--wide{ max-width:none; }
.prose--wide p, .prose--wide li{ max-width:none; }
.prose--wide h2{ font-size:24px; margin:28px 0 10px; }
.prose--wide h3{ font-size:18px; margin:20px 0 8px; }
.prose--wide ul, .prose--wide ol{ padding-left:22px; list-style:disc; }
.prose--wide ol{ list-style:decimal; }
.prose--wide table{ width:100%; }
/* 404: hero z mapą po prawej */
.hero--404{ padding-top:48px; padding-bottom:64px; min-height:60vh; }
.hero--404 .hero__visual:has(.hero__visual-map){ flex:0 1 520px; }
.hero--404 .search-bar{ margin:20px 0 4px; max-width:480px; }
.hero--404 .hero__actions{ margin-top:16px; }
.not-found__contact{ display:flex; flex-direction:column; gap:8px; margin-top:22px; font-size:14px; color:var(--muted); }
.not-found__contact li{ display:flex; align-items:center; gap:8px; }
.not-found__contact .ck-icon{ color:var(--accent); }
@media (max-width:900px){ .hero--404 .hero__visual:has(.hero__visual-map){ display:block; width:100%; flex:0 0 auto; } }

/* ---------- Hero-lite: tylko tekst, bez kolumny wizualnej (podziękowanie, blog) ---------- */
.hero--lite .hero__row{ display:block; max-width:var(--container); }
.hero--lite .hero__copy{ max-width:none; }
.hero--lite .lead{ max-width:none; } /* krótki lead w jednej linii, bez osieroconego ostatniego słowa */

/* ---------- Strona podziękowania (order-received) ---------- */
.process-steps--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.process-steps--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:900px){ .process-steps--3, .process-steps--4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px){ .process-steps--3, .process-steps--4{ grid-template-columns:1fr; } }
.thankyou-payment p{ margin-bottom:12px; }
.thankyou-payment .wc-bacs-bank-details-account-name{ font-weight:700; }
.thankyou-summary .woocommerce-order-details__title{ font-size:20px; margin-bottom:16px; }
.thankyou-summary table.shop_table{ width:100%; border-collapse:collapse; margin-bottom:24px; }
.thankyou-summary table.shop_table th, .thankyou-summary table.shop_table td{ padding:10px 0; border-bottom:1px solid var(--line); font-size:14px; text-align:left; }
.thankyou-summary table.shop_table td.product-total{ text-align:right; white-space:nowrap; }
.thankyou-summary .order-total td .amount{ font-size:18px; font-weight:800; color:var(--navy); }
.thankyou-summary address{ font-style:normal; font-size:14px; line-height:1.6; }
.thankyou-summary .woocommerce-customer-details{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:8px; }
.thankyou-summary .woocommerce-customer-details h2{ font-size:16px; margin-bottom:8px; }
@media (max-width:640px){ .thankyou-summary .woocommerce-customer-details{ grid-template-columns:1fr; } }
.thankyou-actions{ display:flex; flex-direction:column; align-items:center; gap:14px; margin-top:28px; text-align:center; }
.thankyou-phone{ display:flex; align-items:center; gap:8px; font-weight:600; color:var(--navy); margin:0; }
.thankyou-phone .ck-icon{ color:var(--accent); }
.thankyou-phone a{ color:var(--navy); }

/* ---------- Produkt wyprzedany (outofstock) ---------- */
.badge--muted{ background:var(--line); color:var(--ink); }
.product-card__status--backorder{ color:var(--muted); }
.outofstock-notice{
  grid-column:1 / -1; background:var(--tint); border-radius:var(--r-card); padding:20px 24px; margin-top:8px;
}
.outofstock-notice__text{ display:flex; align-items:center; gap:10px; font-weight:600; color:var(--navy); margin:0 0 16px; }
.outofstock-notice__text .ck-icon{ color:var(--accent); flex-shrink:0; }
.outofstock-notice__actions{ display:flex; flex-wrap:wrap; gap:12px; }
@media (max-width:640px){ .outofstock-notice__actions{ flex-direction:column; } .outofstock-notice__actions .btn{ width:100%; } }

/* ---------- Koszyk pusty (cart-empty) ---------- */
.cart-empty-state{ text-align:center; max-width:520px; margin:0 auto; padding-block:20px; }
.cart-empty-state__icon{
  display:inline-flex; align-items:center; justify-content:center; width:72px; height:72px;
  border-radius:50%; background:var(--tint); color:var(--accent); margin-bottom:20px;
}
.cart-empty-state h1{ margin-bottom:10px; }
.cart-empty-state__actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:24px; }
@media (max-width:640px){ .cart-empty-state__actions{ flex-direction:column; } .cart-empty-state__actions .btn{ width:100%; } }
.empty-cart-cats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:720px; margin:40px auto 0; }
.empty-cart-cats .category-nav__item{ justify-content:center; }
@media (max-width:640px){ .empty-cart-cats{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* ---------- Moje konto: nawigacja jako kafle po lewej, treść po prawej ---------- */
.woocommerce-account.logged-in .woocommerce{ display:grid; grid-template-columns:230px minmax(0,1fr); gap:32px; align-items:start; }
.woocommerce-account .woocommerce-MyAccount-navigation{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:10px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ display:flex; flex-direction:column; gap:2px; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ list-style:none; }
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:flex; align-items:center; height:44px; padding:0 14px; border-radius:9px;
  font-weight:600; font-size:14px; color:var(--navy);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover{ background:var(--ground); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:var(--accent); color:#fff; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{ margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a{ color:#c62828; }
.woocommerce-MyAccount-content{ max-width:none; min-width:0; }
@media (max-width:900px){
  .woocommerce-account.logged-in .woocommerce{ grid-template-columns:minmax(0,1fr); gap:20px; }
  .woocommerce-account .woocommerce-MyAccount-navigation{ padding:8px; min-width:0; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul{ flex-direction:row; overflow-x:auto; gap:6px; -webkit-overflow-scrolling:touch; min-width:0; }
  .woocommerce-account .woocommerce-MyAccount-navigation li{ flex:0 0 auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{ margin-top:0; padding-top:0; border-top:0; border-left:1px solid var(--line); border-radius:0; padding-left:10px; }
}

/* Pulpit: kafle skrótów */
.account-dash-tiles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0; }
.account-dash-tile{
  display:flex; flex-direction:column; align-items:flex-start; gap:10px; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r-card); padding:20px; font-weight:700; color:var(--navy);
  transition:border-color 120ms ease;
}
.account-dash-tile .ck-icon{ color:var(--accent); }
.account-dash-tile:hover{ border-color:var(--accent); }
@media (max-width:640px){ .account-dash-tiles{ grid-template-columns:1fr; } }

/* Zamówienia: tabela jak koszyk */
.woocommerce-orders-table, table.my_account_orders{ width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; }
.woocommerce-orders-table th, table.my_account_orders th{ padding:14px 16px; background:var(--tint); font-size:13px; font-weight:700; color:var(--navy); text-align:left; }
.woocommerce-orders-table td, table.my_account_orders td{ padding:14px 16px; border-bottom:1px solid var(--line); font-size:14px; }
.woocommerce-orders-table tr:last-child td{ border-bottom:0; }
.woocommerce-orders-table .button, table.my_account_orders .button{ margin-right:6px; }
@media (max-width:767px){
  .woocommerce-orders-table thead, table.my_account_orders thead{ display:none; }
  .woocommerce-orders-table, .woocommerce-orders-table tbody, table.my_account_orders, table.my_account_orders tbody{ display:block; width:100%; }
  .woocommerce-orders-table tr, table.my_account_orders tr{ display:flex; flex-direction:column; gap:4px; padding:14px; border-bottom:1px solid var(--line); }
  .woocommerce-orders-table td, table.my_account_orders td{ display:flex; justify-content:space-between; gap:12px; padding:2px 0; border:0; }
  .woocommerce-orders-table td[data-title]::before, table.my_account_orders td[data-title]::before{ content:attr(data-title); font-weight:700; color:var(--navy); }
}

/* Szczegóły zamówienia: status jako pigułka */
mark.order-number, mark.order-date{ background:none; padding:0; color:var(--navy); font-weight:700; }
mark.order-status{ display:inline-flex; align-items:center; padding:3px 10px; border-radius:var(--r-pill); background:var(--tint); color:var(--navy); font-weight:700; font-size:13px; background-color:var(--tint); }
.woocommerce-table--order-details{ width:100%; border-collapse:collapse; margin:16px 0 24px; }
.woocommerce-table--order-details th, .woocommerce-table--order-details td{ padding:10px 0; border-bottom:1px solid var(--line); font-size:14px; text-align:left; }
.woocommerce-table--order-details .product-total{ text-align:right; white-space:nowrap; }
.woocommerce-table--order-details tfoot .amount{ font-weight:700; color:var(--navy); }

/* Adresy: 2 karty */
.woocommerce-Addresses{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.woocommerce-Address{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:24px; }
.woocommerce-Address-title{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.woocommerce-Address-title h2{ font-size:16px; margin:0; }
.woocommerce-Address address{ font-style:normal; font-size:14px; line-height:1.6; color:var(--ink); }
@media (max-width:640px){ .woocommerce-Addresses{ grid-template-columns:1fr; } }

/* Dane konta / zmiana hasła: formularz 2 kolumny */
.woocommerce-EditAccountForm .form-row-first, .woocommerce-EditAccountForm .form-row-last{ width:calc(50% - 10px); float:left; }
.woocommerce-EditAccountForm .form-row-first{ margin-right:20px; }
.woocommerce-EditAccountForm .form-row-wide{ clear:both; }
.woocommerce-EditAccountForm label{ display:block; font-weight:600; font-size:14px; margin-bottom:6px; }
.woocommerce-EditAccountForm input[type="text"], .woocommerce-EditAccountForm input[type="email"], .woocommerce-EditAccountForm input[type="password"]{
  width:100%; height:46px; padding:0 14px; border:1px solid var(--line); border-radius:var(--r-input); font-family:var(--font-body); font-size:15px;
}
.woocommerce-EditAccountForm fieldset{ border:0; padding:16px 0 0; margin:16px 0 0; border-top:1px solid var(--line); }
.woocommerce-EditAccountForm legend{ font-weight:700; padding:0 0 12px; }
.woocommerce-EditAccountForm button[type="submit"]{ background:var(--accent) !important; color:#fff !important; height:52px; padding:0 24px; margin-top:16px; }
@media (max-width:640px){ .woocommerce-EditAccountForm .form-row-first, .woocommerce-EditAccountForm .form-row-last{ width:100%; float:none; margin-right:0; } }

/* ---------- Odzyskiwanie hasła ---------- */
.woocommerce-account .lost_reset_password{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:28px; max-width:480px; margin:24px auto 0; }
.woocommerce-account .lost_reset_password .form-row{ margin-bottom:16px; }
.woocommerce-account .lost_reset_password label{ font-weight:600; font-size:14px; display:block; margin-bottom:6px; }
.woocommerce-account .lost_reset_password input[type="text"], .woocommerce-account .lost_reset_password input[type="password"]{
  width:100%; height:46px; padding:0 14px; border:1px solid var(--line); border-radius:var(--r-input); font-family:var(--font-body); font-size:15px;
}
.woocommerce-account .lost_reset_password button[type="submit"]{ width:100%; height:52px; background:var(--accent) !important; color:#fff !important; font-weight:700; margin-top:8px; }

/* ---------- Checkbox regulaminu w kasie ---------- */
.woocommerce-terms-and-conditions-wrapper{ margin:16px 0; }
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label{ display:flex; align-items:flex-start; gap:8px; font-size:13px; font-weight:500; cursor:pointer; }
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"]{ width:18px; height:18px; margin-top:2px; flex-shrink:0; accent-color:var(--accent); }
.woocommerce-terms-and-conditions-wrapper a{ color:var(--accent); font-weight:600; }

/* ---------- Blog: archiwum i wpis ---------- */
.blog-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.blog-card{
  position:relative; display:flex; flex-direction:column; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden;
  transition:transform 180ms ease, box-shadow 180ms ease;
}
.blog-card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(21,44,69,.1); }
.blog-card__link{ position:absolute; inset:0; z-index:1; }
.blog-card__image{ display:block; aspect-ratio:16/9; background:var(--tint); overflow:hidden; }
.blog-card__image img{ width:100%; height:100%; object-fit:cover; display:block; }
.blog-card__image-fallback{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--accent); }
.blog-card__body{ display:flex; flex-direction:column; gap:6px; padding:20px; }
.blog-card__cat{ font-size:12px; font-weight:700; color:var(--accent); text-transform:uppercase; letter-spacing:.04em; }
.blog-card__title{ font-family:var(--font-display); font-weight:700; font-size:17px; color:var(--navy); line-height:1.35; }
.blog-card__excerpt{ font-size:14px; color:var(--muted); }
.blog-card__date{ font-size:13px; color:var(--muted); margin-top:auto; padding-top:8px; }
@media (max-width:1024px){ .blog-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .blog-grid{ grid-template-columns:1fr; } }
.blog-post{ max-width:820px; margin-inline:auto; }

/* ---------- Stopka: link "O nas" w kolumnie marki ---------- */

/* Moje konto — ekran logowania / rejestracji: dwie karty obok siebie */
.woocommerce-account:not(.logged-in) .woocommerce > .u-columns, .woocommerce-account:not(.logged-in) .woocommerce > .col2-set{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; width:100%; }
.woocommerce-account:not(.logged-in) .u-column1, .woocommerce-account:not(.logged-in) .u-column2,
.woocommerce-account:not(.logged-in) .col2-set .col-1, .woocommerce-account:not(.logged-in) .col2-set .col-2{ float:none; width:auto; max-width:none; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:28px; }
.woocommerce-account:not(.logged-in) .u-column1 h2, .woocommerce-account:not(.logged-in) .u-column2 h2{ font-size:22px; margin-bottom:16px; }
.woocommerce-account form.login, .woocommerce-account form.register{ border:0; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.woocommerce-account form.login .form-row, .woocommerce-account form.register .form-row{ margin:0; width:100%; float:none; }
.woocommerce-account form.login label, .woocommerce-account form.register label{ display:block; font-weight:600; font-size:14px; margin-bottom:6px; }
.woocommerce-account form.login .woocommerce-form-login__rememberme{ display:inline-flex; align-items:center; gap:8px; font-weight:500; margin:0; }
.woocommerce-account form.login .woocommerce-form-login__submit, .woocommerce-account form.register .woocommerce-form-register__submit{ width:100%; }
.woocommerce-account .lost_password{ margin:0; font-size:14px; }
.woocommerce-account .lost_password a{ color:var(--accent); font-weight:600; }
.woocommerce-account form.register .woocommerce-privacy-policy-text p{ font-size:13px; color:var(--muted); margin:0; }
.cart-empty__title{ font-size:34px; }
@media (max-width:767px){ .woocommerce-account:not(.logged-in) .woocommerce > .u-columns, .woocommerce-account:not(.logged-in) .woocommerce > .col2-set{ grid-template-columns:1fr; } .cart-empty__title{ font-size:26px; } }
/* Strona podziękowania: bez dublowanego H1 „Zamówienie otrzymane”, dane bankowe czytelnie */
.woocommerce-order-received .wc-page > h1{ display:none; }
.woocommerce-order-received .breadcrumbs + .section{ padding-top:0; }
.thankyou-payment .wc-bacs-bank-details-heading{ font-size:16px; margin:12px 0 6px; }
.thankyou-payment .wc-bacs-bank-details-account-name{ font-size:15px; margin-bottom:4px; }
.thankyou-payment .wc-bacs-bank-details{ list-style:none; padding:0; margin:0; font-size:14px; }
.thankyou-payment .form-card{ max-width:none; }
.thankyou-summary.form-card, .thankyou-payment.form-card{ max-width:none; margin-top:12px; }
.woocommerce-order-received .hero--sub{ padding-bottom:8px; }
.blog .hero--sub, .single-post .hero--sub{ padding-bottom:24px; }
.blog .hero--sub + .section, .single-post .hero--sub + .section{ padding-top:16px; }
/* Wpis bloga: treść wyrównana do lewej krawędzi kontenera (jak hero), nie wyśrodkowana */
.blog-post{ margin-inline:0; }
/* Filtry sklepu: panel boczny + siatka (układ otwierany hookiem w inc/woocommerce.php) */
.shop-layout{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:32px; align-items:start; }
.shop-layout .product-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.shop-filters{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:20px; position:sticky; top:88px; }
.shop-filters__form{ display:flex; flex-direction:column; gap:18px; }
.shop-filters__head{ display:flex; align-items:baseline; justify-content:space-between; }
.shop-filters__title{ font-family:var(--font-display); font-weight:800; font-size:18px; color:var(--navy); }
.shop-filters__clear{ font-size:13px; font-weight:600; color:var(--accent); }
.shop-filters__clear:hover{ text-decoration:underline; }
.shop-filters__group{ border:0; padding:16px 0 0; margin:0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:2px; }
.shop-filters__label{ padding:0; margin-bottom:8px; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.shop-filters__option{ display:flex; align-items:center; gap:10px; padding:5px 0; font-size:14px; font-weight:500; color:var(--ink); cursor:pointer; }
.shop-filters__option input{ width:17px; height:17px; margin:0; accent-color:var(--accent); flex-shrink:0; }
.shop-filters__option:hover span:first-of-type{ color:var(--accent); }
.shop-filters__cat{ display:flex; align-items:center; gap:10px; padding:5px 0; font-size:14px; font-weight:500; color:var(--ink); }
.shop-filters__cat:hover span:first-child{ color:var(--accent); }
.shop-filters__cat.is-active{ color:var(--accent); font-weight:700; }
.shop-filters__cat--child{ margin-left:8px; padding:4px 0 4px 12px; border-left:2px solid var(--line, #dbe8f4); border-radius:0; font-size:13px; font-weight:400; color:var(--ink); }
.shop-filters__cat--child.is-active{ border-left-color:var(--accent); color:var(--accent); font-weight:600; }
.shop-filters__count{ margin-left:auto; font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; }
.shop-filters__more summary{ list-style:none; cursor:pointer; padding:5px 0; font-size:13px; font-weight:600; color:var(--accent); }
.shop-filters__more summary::-webkit-details-marker{ display:none; }
.shop-filters__more[open] summary{ display:none; }
.shop-filters__price{ display:flex; align-items:center; gap:8px; color:var(--muted); }
.shop-filters__input{
  width:100%; min-width:0; height:38px; padding:0 10px; border:1px solid var(--line); border-radius:var(--r-input);
  font-family:var(--font-body); font-size:14px; font-weight:600; color:var(--navy); background:#fff; -moz-appearance:textfield;
}
.shop-filters__input::-webkit-outer-spin-button, .shop-filters__input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.shop-filters__input:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.shop-filters__submit{ width:100%; }
.shop-filters__toggle{ display:none; }
@media (max-width:1200px){ .shop-layout{ grid-template-columns:220px minmax(0,1fr); gap:24px; } .shop-layout .product-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px){
  .shop-layout{ grid-template-columns:1fr; gap:16px; }
  .shop-filters{ display:none; position:static; }
  .shop-filters.is-open{ display:block; }
  .shop-filters__toggle{ display:inline-flex; justify-self:start; margin-bottom:-4px; }
}
/* Baner cookie — karta w lewym dolnym rogu, nad paskami mobilnymi */
.cookie-bar{
  position:fixed; left:20px; bottom:20px; z-index:70; max-width:380px;
  background:var(--surface); border:2px solid var(--navy); border-radius:12px; padding:20px;
  box-shadow:5px 5px 0 var(--navy); display:flex; flex-direction:column; gap:10px;
}
.cookie-bar[hidden]{ display:none; } /* bez tego display:flex nadpisywał atrybut hidden i baner nie znikał po kliknięciu */
.cookie-bar__title{ font-family:var(--font-display); font-weight:800; font-size:16px; color:var(--navy); }
.cookie-bar__text{ font-size:14px; line-height:1.5; color:var(--muted); }
.cookie-bar__text a{ color:var(--accent); font-weight:600; text-decoration:underline; }
.cookie-bar__actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
@media (max-width:767px){
  .cookie-bar{ left:12px; right:12px; bottom:12px; max-width:none; padding:16px; }
  body:has(.mobile-cta-bar) .cookie-bar, body:has(.mobile-cart-bar:not(.is-hidden)) .cookie-bar{ bottom:88px; }
  .cookie-bar__actions .btn{ flex:1; }
}
/* Pusty koszyk: sam komunikat wyśrodkowany na całą szerokość (bez siatki 2 kolumn) */
.woocommerce-cart .woocommerce:has(.cart-empty-state){ display:block; }
.cart-empty-state{ padding-block:32px 8px; }
.cart-empty-state .lead{ margin-inline:auto; }
/* Strona podziękowania (gość): formularz logowania Woo „zaloguj się, żeby zobaczyć zamówienie” — w karcie, wyrównany */
.woocommerce-order-received form.woocommerce-form-login{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:28px; margin:16px 0 0; max-width:none; width:100%;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; align-items:start;
}
.woocommerce-order-received form.woocommerce-form-login .password-input{ display:block; width:100%; }
.woocommerce-order-received form.woocommerce-form-login .password-input .show-password-input{ display:none; }
.woocommerce-order-received form.woocommerce-form-login > .form-row:has(.woocommerce-form-login__rememberme){ display:flex; justify-content:center; }
.woocommerce-order-received form.woocommerce-form-login > .form-row:has(.woocommerce-form-login__rememberme),
.woocommerce-order-received form.woocommerce-form-login > .lost_password{ grid-column:1 / -1; }
.woocommerce-order-received form.woocommerce-form-login > .form-row:has(.woocommerce-form-login__submit){ grid-column:1 / -1; display:flex; flex-direction:column; align-items:center; gap:12px; }
.woocommerce-order-received form.woocommerce-form-login .form-row{ margin:0; width:100%; float:none; }
.woocommerce-order-received form.woocommerce-form-login .clear{ display:none; }
.woocommerce-order-received form.woocommerce-form-login label{ display:block; font-weight:600; font-size:14px; margin-bottom:6px; }
.woocommerce-order-received form.woocommerce-form-login .woocommerce-form-login__rememberme{ display:inline-flex; align-items:center; gap:8px; font-weight:500; margin:0; }
.woocommerce-order-received form.woocommerce-form-login .woocommerce-form-login__rememberme input{ margin:0; width:16px; height:16px; accent-color:var(--accent); }
.woocommerce-order-received form.woocommerce-form-login .woocommerce-form-login__submit{ width:auto; min-width:280px; }
.woocommerce-order-received form.woocommerce-form-login .lost_password{ text-align:center; }
@media (max-width:640px){ .woocommerce-order-received form.woocommerce-form-login{ grid-template-columns:1fr; } .woocommerce-order-received form.woocommerce-form-login .woocommerce-form-login__submit{ width:100%; } }
.woocommerce-order-received form.woocommerce-form-login .lost_password{ margin:0; font-size:14px; }
.woocommerce-order-received form.woocommerce-form-login .lost_password a{ color:var(--accent); font-weight:600; }
.woocommerce-order-received .woocommerce-info:has(+ form.woocommerce-form-login), .woocommerce-order-received form.woocommerce-form-login ~ .woocommerce-info{ margin-bottom:0; }

/* =========================================================
   Uwagi klienta 2026-10-03
   ========================================================= */
/* Gwiazdka przy czasie naprawy z dymkiem (hover, fokus, stuknięcie) */
.time-note{ position:relative; display:inline-block; margin-left:1px; color:var(--accent); font-weight:700; cursor:help; border-radius:4px; }
.time-note:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.time-note__mark{ display:inline-block; padding:0 2px; }
.time-note__tip{
  position:absolute; left:50%; bottom:calc(100% + 8px); transform:translateX(-50%); z-index:30;
  width:max-content; max-width:240px; padding:8px 12px; border-radius:8px;
  background:var(--navy); color:#fff; font-size:13px; font-weight:500; line-height:1.4; text-align:left; letter-spacing:0;
  display:none; pointer-events:none;
}
/* display:none w stanie ukrytym — schowany dymek nie może poszerzać strony (overflow na telefonie) */
.time-note:hover .time-note__tip, .time-note:focus .time-note__tip, .time-note.is-open .time-note__tip{ display:block; }
.time-note__tip{ white-space:normal; font-weight:500; }
/* W karcie „Co się dzieje…” gwiazdka stoi przy prawej krawędzi: dymek otwiera się w lewo, nad wartością */
.problem__time-value .time-note__tip{ left:auto; right:-6px; transform:none; width:220px; }
/* Przypis pod siatką/cennikiem */
.footnote{ margin-top:12px; font-size:13px; line-height:1.5; }
/* Treść landingu usługi z nagłówkami i listami (cennik dla firm od klienta) */
.service-layout .prose h2{ font-size:24px; margin:36px 0 10px; }
.service-layout .prose h3{ font-size:18px; margin:24px 0 8px; }
.service-layout .prose ul{ list-style:disc; padding-left:22px; margin:10px 0 0; }
.service-layout .prose li + li{ margin-top:6px; }
.service-layout .prose ul + p, .service-layout .prose p + ul{ margin-top:10px; }

/* Warianty (zestawy PC): pigułki jako przyciski, natywne listy Woo ukryte */
button.attr-pills__item{ cursor:pointer; font-family:var(--font-body); color:var(--navy); }
.variations_form table.variations, .variations_form .reset_variations{ display:none !important; }
.woocommerce-variation-price .price{ font-size:22px; font-weight:800; color:var(--navy); margin:4px 0 12px; }
.price-net-label{ font-size:.7em; font-weight:600; color:var(--muted); }
/* Opis gotowych zestawów: kafelki korzyści i podzespołów */
/* Nagłówki sekcji w opisie zestawu („Zanim jeszcze zagrasz”, „Specyfikacja”) — odstęp od akapitu nad nimi */
:has(> .ck-tiles) > h2{ margin-top:36px; }
:has(> .ck-tiles) > p + p{ margin-top:12px; }
.ck-tiles{ list-style:none; padding:0 !important; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:12px 0 28px; }
.ck-tiles li{ background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:16px; margin:0; }
.ck-tiles strong{ display:block; color:var(--navy); margin-bottom:4px; }
.ck-tiles .ck-tiles__kind{ display:block; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.ck-note{ background:var(--tint); border-radius:12px; padding:16px 18px; }
/* Wydajność w grach (FPS) w opisie zestawu: kafelki gra / wynik / ustawienia */
.ck-fps__label{ font-size:16px; margin:20px 0 10px; color:var(--navy); }
.ck-fps{ list-style:none; padding:0 !important; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px; margin:0 0 8px; }
.ck-fps li{ background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin:0; display:flex; flex-direction:column; gap:2px; }
.ck-fps__game{ font-size:13px; font-weight:600; color:var(--muted); }
.ck-fps__value{ font-size:22px; color:var(--accent); line-height:1.2; }
.ck-fps__set{ font-size:13px; color:var(--muted); }
.ck-fps__note{ font-size:12px; color:var(--muted); margin:10px 0 28px; }
/* O nas: zespół */
.team-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:32px; }
.team-card{ display:flex; gap:18px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:22px; }
.team-card__photo{ flex:0 0 96px; }
.team-card__photo img{ width:96px; height:96px; border-radius:50%; object-fit:cover; }
.team-card__initial{ display:flex; align-items:center; justify-content:center; width:96px; height:96px; border-radius:50%; background:var(--tint); color:var(--navy); font-family:var(--font-display); font-weight:800; font-size:36px; }
.team-card h3{ font-size:20px; margin-bottom:2px; }
.team-card__role{ color:var(--accent); font-weight:700; font-size:14px; margin-bottom:10px; }
.team-card p:last-child{ color:var(--ink); font-size:15px; line-height:1.6; }
@media (max-width:820px){ .team-grid{ grid-template-columns:1fr; } .team-card{ flex-direction:column; } }
/* Pakiety dla klientów indywidualnych (/uslugi/) */
.package-table{ margin-top:8px; }
.package-table th, .package-table td{ padding:14px 10px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.package-table thead th{ font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.package-table tbody th{ color:var(--navy); font-weight:700; width:26%; }
.package-table__sub{ display:block; font-weight:500; font-size:13px; color:var(--muted); }
.package-table .fault-table__price{ text-align:right; white-space:nowrap; }
@media (max-width:700px){
  .package-table thead{ display:none; }
  .package-table tr{ display:block; padding:12px 0; border-bottom:1px solid var(--line); }
  .package-table th, .package-table td{ display:block; border:0; padding:4px 0; width:auto !important; }
  .package-table .fault-table__price{ text-align:left; white-space:normal; }
}
/* Pigułki wariantów: niewybrane też wyglądają na klikalne */
button.attr-pills__item{ background:#fff; border:1.5px solid var(--line) !important; }
button.attr-pills__item:hover{ border-color:var(--accent) !important; }
button.attr-pills__item.is-active{ background:var(--tint); border-color:var(--navy) !important; box-shadow:none !important; }
/* Zdjęcie w treści (O nas: zespół przed serwisem, Kontakt: mapa dojścia) */
.photo-figure{ margin:28px 0 0; }
.photo-figure img{ width:100%; height:auto; border-radius:var(--r-card); display:block; }
.photo-figure figcaption{ margin-top:10px; font-size:14px; color:var(--muted); }
/* Kasa: zgoda przy zestawach komputerowych — ten sam układ co checkbox regulaminu */
.ck-pc-consent{ margin:12px 0 0; font-size:14px; line-height:1.5; }
.ck-pc-consent label{ display:flex !important; gap:10px; align-items:flex-start; font-weight:500 !important; }
.ck-pc-consent input{ margin-top:4px; flex-shrink:0; }
/* Kasa: kod paczkomatu pod wyborem dostawy */
.woocommerce .ck-paczkomat input.input-text{ max-width:240px; text-transform:uppercase; }
.ck-paczkomat input::placeholder{ text-transform:none; }
.ck-paczkomat__link{ display:block; margin-top:6px; font-size:14px; font-weight:500; }
