/*
Theme Name:   Astra Child - megawarsztat.pl
Theme URI:    https://megawarsztat.pl
Description:  Motyw dziecko Astry dla megawarsztat.pl
Author:       megawarsztat.pl
Author URI:   https://megawarsztat.pl
Template:     astra
Version:      1.1.3
License:      GNU General Public License v2 or later
Text Domain:  astra-child
*/

/* ═══════════════════════════════════════════════
   TOKENY PROJEKTU
═══════════════════════════════════════════════ */
:root {
  --mw-navy:      #0D0738;
  --mw-navy2:     #16232F;
  --mw-navydark:  #080420;
  --mw-orange:    #FF7900;
  --mw-orange2:   #EE5A0A;
  --mw-white:     #FFFFFF;
  --mw-bg:        #F4F5F7;
  --mw-border:    #E2E4E9;
  --mw-muted:     #6B7280;
  --mw-text:      #111827;
  --mw-green:     #059669;
  --mw-greenbg:   #ECFDF5;
  --mw-red:       #DC2626;
  --mw-redbg:     #FEF2F2;

  --mw-radius:    8px;
  --mw-shadow:    0 4px 20px rgba(0,0,0,.10);
  --mw-shadow-lg: 0 8px 40px rgba(0,0,0,.18);
  --mw-transition: 0.18s cubic-bezier(.4,0,.2,1);
  --mw-max-w:     1280px;
}

/* ═══════════════════════════════════════════════
   RESET / BASE
═══════════════════════════════════════════════ */
/* ── ZAKAZ POZIOMEGO PRZEWIJANIA — HEADER_FOOTER_SPEC_1.md sekcja 6 ──
   Reguły wymagane globalnie. Żadna strona serwisu nie może przewijać się
   w bok na żadnej szerokości ekranu. */
html, body { overflow-x: hidden; max-width: 100%; }
*, *::before, *::after { box-sizing: border-box; }
img, svg { max-width: 100%; height: auto; }

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--mw-text);
  background: var(--mw-bg);
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--mw-orange); text-decoration: none; transition: color var(--mw-transition); }
a:hover { color: var(--mw-orange2); }
img { display: block; }

/* Konkretne przyczyny przekroczenia szerokości wymienione w sekcji 6 spec:
   długie, niełamiące się ciągi (e-mail, URL, SKU) i tabele danych. */
p, li, td, th, dd, dt, figcaption,
.mw-topbar a, .mw-footer-col a, .mw-inquiry-channel-s {
  overflow-wrap: break-word;
  word-break: break-word;
}
table { max-width: 100%; }

/* ═══════════════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', 'Inter', system-ui, sans-serif;
  color: var(--mw-navy);
  font-style: italic;
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 0.5em;
}

/* ═══════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════ */
#masthead,
.site-header,
.ast-site-header-wrap,
.main-header-bar,
#ast-fixed-header,
.ast-primary-header-bar,
#ast-desktop-header,
.ast-above-header-bar,
.ast-below-header-bar {
  background-color: var(--mw-navy) !important;
  border-bottom: none !important;
}

/* Logo */
.site-title a,
.ast-site-identity .site-title a,
.ast-logo-title a {
  color: var(--mw-white) !important;
  font-weight: 900;
  font-style: italic;
  font-size: 1.25rem;
  letter-spacing: -0.03em;
}
.site-title a:hover { color: var(--mw-orange) !important; }

/* Logo — wg HEADER_FOOTER_SPEC.md sekcja 2 (wysokości ujednolicone) */
.mw-logo-link { display: block; flex-shrink: 0; text-decoration: none; margin-right: 28px; }
.mw-logo-img { width: auto; display: block; }
.mw-logo-img--full   { height: 54px; }
.mw-logo-img--simple { height: 40px; }
.mw-logo-img--footer { height: 34px; }
.mw-logo-fallback {
  font-size: 20px;
  font-weight: 900;
  font-style: italic;
  color: var(--mw-white);
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.mw-logo-fallback-orange { color: var(--mw-orange); }
@media (max-width: 768px) {
  /* Logo powiększone względem tabeli w spec (26px) — po usunięciu przycisków
     "Ulubione" i "Zamówienie" z headera mobile zwolniło się miejsce.
     Świadome odstępstwo, uzgodnione. */
  .mw-logo-img--full,
  .mw-logo-img--simple { height: 36px; }
  .mw-logo-img--footer { height: 24px; }
}

/* Top utility bar */
.mw-topbar {
  background: var(--mw-navydark);
  padding: 5px 0;
  font-size: 12px;
  color: rgba(255,255,255,.5);
}
.mw-topbar a { color: var(--mw-orange); font-weight: 600; }
.mw-topbar-inner {
  max-width: var(--mw-max-w);
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* ═══════════════════════════════════════════════
   NAWIGACJA DESKTOP
═══════════════════════════════════════════════ */
.main-navigation ul li a,
.ast-main-navigation ul li a,
#site-navigation ul li a {
  color: rgba(255,255,255,.85) !important;
  font-weight: 600;
  font-size: 13px;
  transition: color var(--mw-transition) !important;
  padding: 0 18px !important;
}
.main-navigation ul li a:hover,
#site-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
  color: var(--mw-orange) !important;
  background: transparent !important;
}

/* Linia pod aktywną pozycją */
.main-navigation ul li.current-menu-item > a {
  border-bottom: 2px solid var(--mw-orange);
}

/* Podkategorie nav (cat bar) */
.mw-catbar {
  background: var(--mw-navy);
  border-top: 1px solid rgba(255,255,255,.08);
  position: relative;
  /* Musi być NAD .mw-megamenu-overlay (z-index 499) — inaczej po otwarciu
     menu overlay przykrywa przyciski kategorii, mysz "wychodzi" z przycisku,
     menu się zamyka, przycisk wraca na wierzch, mysz znów "wchodzi" — pętla migotania. */
  z-index: 600;
}
.mw-catbar-inner {
  max-width: var(--mw-max-w);
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  height: 46px;
  gap: 0;
}
.mw-catbar-btn {
  height: 100%;
  padding: 0 18px;
  border: none;
  background: transparent;
  color: rgba(255,255,255,.75);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
  border-bottom: 2px solid transparent;
  transition: color var(--mw-transition), border-color var(--mw-transition);
  white-space: nowrap;
  font-family: inherit;
}
.mw-catbar-btn:hover,
.mw-catbar-btn.active {
  color: var(--mw-white);
  border-bottom-color: var(--mw-orange);
}
.mw-catbar-btn svg {
  transition: transform .2s;
  flex-shrink: 0;
}
.mw-catbar-btn.active svg { transform: rotate(180deg); }

/* Mega menu dropdown — kompaktowy panel pod konkretnym przyciskiem
   (pozycja "left" ustawiana dynamicznie w main.js), pionowy układ zamiast
   szerokiego paska na całą szerokość nagłówka. */
.mw-megamenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 320px;
  max-width: calc(100vw - 32px);
  background: var(--mw-white);
  border-top: 3px solid var(--mw-orange);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 12px 48px rgba(0,0,0,.14);
  z-index: 500;
  padding: 22px 24px;
  display: none;
  grid-template-columns: 1fr;
  gap: 18px;
}
.mw-megamenu.open { display: grid; }

.mw-megamenu-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--mw-muted);
  margin-bottom: 12px;
}
.mw-megamenu-title {
  font-size: 20px;
  font-weight: 800;
  font-style: italic;
  color: var(--mw-navy);
  margin-bottom: 16px;
}
.mw-megamenu-cta {
  display: block;
  width: 100%;
  padding: 10px 20px;
  background: var(--mw-orange);
  color: var(--mw-white);
  border: none;
  border-radius: var(--mw-radius);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  transition: background var(--mw-transition);
  font-family: inherit;
  text-decoration: none;
}
.mw-megamenu-cta:hover { background: var(--mw-orange2); color: var(--mw-white); }

.mw-megamenu-subs {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  max-height: 320px;
  overflow-y: auto;
}
.mw-megamenu-sub {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border: none;
  background: none;
  cursor: pointer;
  font-size: 13.5px;
  color: var(--mw-text);
  border-bottom: 1px solid var(--mw-border);
  text-align: left;
  transition: color var(--mw-transition);
  font-family: inherit;
  text-decoration: none;
}
.mw-megamenu-sub:hover { color: var(--mw-orange); }
.mw-megamenu-sub::before {
  content: '';
  width: 5px; height: 5px;
  background: var(--mw-orange);
  border-radius: 50%;
  flex-shrink: 0;
}

/* Overlay mega menu */
.mw-megamenu-overlay {
  position: fixed;
  inset: 0;
  z-index: 499;
  display: none;
}
.mw-megamenu-overlay.open { display: block; }

/* Header search bar */
.mw-search-bar {
  background: var(--mw-navy2);
  padding: 10px 0;
}
.mw-search-bar-inner {
  max-width: var(--mw-max-w);
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  gap: 16px;
  align-items: center;
}
.mw-search-wrap {
  flex: 1;
  display: flex;
  background: rgba(255,255,255,.1);
  border: 1.5px solid rgba(255,255,255,.18);
  border-radius: var(--mw-radius);
  overflow: hidden;
  transition: border-color var(--mw-transition);
}
.mw-search-wrap:focus-within { border-color: var(--mw-orange); }
.mw-search-input {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--mw-white);
  padding: 0 16px;
  font-size: 14px;
  height: 42px;
  outline: none;
  font-family: inherit;
}
.mw-search-input::placeholder { color: rgba(255,255,255,.4); }
/* Usuwa żółte tło autouzupełniania Chrome/Edge na polu wyszukiwania w ciemnym pasku */
.mw-search-input:-webkit-autofill,
.mw-search-input:-webkit-autofill:hover,
.mw-search-input:-webkit-autofill:focus,
.mw-search-input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--mw-white);
  -webkit-box-shadow: 0 0 0 1000px var(--mw-navy2) inset;
  box-shadow: 0 0 0 1000px var(--mw-navy2) inset;
  transition: background-color 5000s ease-in-out 0s;
}
.mw-search-btn {
  width: 46px;
  height: 42px;
  border: none;
  background: var(--mw-orange);
  color: var(--mw-white);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--mw-transition);
  flex-shrink: 0;
}
.mw-search-btn:hover { background: var(--mw-orange2); }
/* Przycisk lupy w rzędzie ikon — widoczny wyłącznie na mobile (patrz media query) */
.mw-search-toggle { display: none; }
.mw-search-btn svg {
  display: block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
}

/* Header right actions */
.mw-header-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}
.mw-header-action-btn {
  width: 44px;
  height: 44px;
  border: none;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.8);
  border-radius: var(--mw-radius);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--mw-transition);
  position: relative;
  text-decoration: none;
}
.mw-header-action-btn:hover { background: rgba(255,255,255,.18); color: #fff; }

.mw-cart-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px 0 12px;
  height: 44px;
  border: none;
  background: var(--mw-orange);
  color: var(--mw-white);
  border-radius: var(--mw-radius);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  transition: background var(--mw-transition);
  text-decoration: none;
  font-family: inherit;
}
.mw-cart-btn:hover { background: var(--mw-orange2); color: #fff; }
.mw-cart-count {
  background: rgba(255,255,255,.25);
  border-radius: 99px;
  font-size: 11px;
  font-weight: 800;
  padding: 1px 7px;
}

/* ═══════════════════════════════════════════════
   HEADER — WARIANT B (uproszczony: koszyk/checkout/potwierdzenie)
═══════════════════════════════════════════════ */
.mw-header-simple {
  background: var(--mw-navy) !important;
}
.mw-header-simple-inner {
  max-width: var(--mw-max-w);
  margin: 0 auto;
  padding: 0 40px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.mw-header-cta { flex-shrink: 0; white-space: nowrap; }

/* Pasek postępu — 4 kroki */
.mw-progress {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.mw-progress-step {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mw-progress-step:not(:last-child)::after {
  content: '';
  width: 28px;
  height: 1.5px;
  background: rgba(255,255,255,.18);
  margin: 0 10px;
  flex-shrink: 0;
}
.mw-progress-circle {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.6);
  flex-shrink: 0;
}
.mw-progress-step.is-done .mw-progress-circle { background: var(--mw-green); color: #fff; }
.mw-progress-step.is-active .mw-progress-circle { background: var(--mw-orange); color: #fff; }
.mw-progress-label {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.55);
  white-space: nowrap;
}
.mw-progress-step.is-active .mw-progress-label { color: #fff; }
.mw-progress-step.is-done .mw-progress-label { color: rgba(255,255,255,.75); }

@media (max-width: 768px) {
  .mw-header-simple-inner { padding: 0 16px; gap: 10px; }
  .mw-progress-label { display: none; }
  .mw-progress-step:not(:last-child)::after { width: 16px; margin: 0 6px; }
}

/* ═══════════════════════════════════════════════
   BREADCRUMB — Produkt, Kategoria, O nas, Kontakt (nie Homepage)
═══════════════════════════════════════════════ */
.mw-breadcrumb { background: var(--mw-navydark); }
.mw-breadcrumb-inner {
  max-width: var(--mw-max-w);
  margin: 0 auto;
  padding: 0 40px;
  height: 38px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgba(255,255,255,.5);
  overflow-x: auto;
  white-space: nowrap;
}
.mw-breadcrumb-inner a { color: rgba(255,255,255,.5); text-decoration: none; }
.mw-breadcrumb-inner a:hover { color: var(--mw-orange); }
.mw-breadcrumb-current { color: var(--mw-orange); font-weight: 600; }
.mw-breadcrumb-sep { color: rgba(255,255,255,.25); flex-shrink: 0; }
@media (max-width: 768px) {
  .mw-breadcrumb-inner { padding: 0 16px; }
}

/* ═══════════════════════════════════════════════
   MAIN LAYOUT
═══════════════════════════════════════════════ */
.mw-container {
  max-width: var(--mw-max-w);
  margin: 0 auto;
  padding: 0 40px;
}
.mw-section { padding: 60px 0; }
.mw-section--bg { background: var(--mw-bg); }
.mw-section--navy { background: linear-gradient(135deg, var(--mw-navy) 0%, #1a2a6c 100%); }

/* ═══════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════ */
.mw-hero {
  background: linear-gradient(135deg, var(--mw-navy) 0%, #1a2a6c 55%, #23074d 100%);
  min-height: 520px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.mw-hero::before {
  content: '';
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: 45%;
  background: rgba(255,255,255,.03);
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
  pointer-events: none;
}
.mw-hero-inner {
  display: grid;
  /* minmax(0,1fr) zamiast 1fr — bez tego kolumna grida ma min-width:auto
     i rozpycha się do szerokości najszerszej treści, wypychając hero poza ekran. */
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 80px;
  align-items: center;
  width: 100%;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.mw-hero-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--mw-orange);
  background: rgba(255,121,0,.12);
  border: 1px solid rgba(255,121,0,.3);
  padding: 4px 12px;
  border-radius: 100px;
  margin-bottom: 20px;
}
.mw-hero h1 {
  font-size: 52px;
  color: var(--mw-white);
  margin-bottom: 20px;
}
.mw-hero h1 span { color: var(--mw-orange); }
.mw-hero-sub {
  font-size: 17px;
  color: rgba(255,255,255,.7);
  line-height: 1.7;
  margin-bottom: 32px;
  max-width: 460px;
  font-style: normal;
  font-weight: 400;
}
.mw-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }

/* Hero stats */
.mw-hero-stats {
  display: flex;
  gap: 0;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.mw-hero-stat {
  flex: 1;
  /* min-width:0 — element flex domyślnie nie kurczy się poniżej długości
     swojego tekstu (min-width:auto), co rozpychało hero poza szerokość ekranu. */
  min-width: 0;
  padding-right: 24px;
  margin-right: 24px;
  border-right: 1px solid rgba(255,255,255,.12);
}
.mw-hero-stat:last-child { border-right: none; }
.mw-hero-stat-val {
  font-size: 28px;
  font-weight: 800;
  font-style: italic;
  color: var(--mw-white);
  line-height: 1;
  font-family: 'Poppins', sans-serif;
}
.mw-hero-stat-label {
  font-size: 12px;
  color: rgba(255,255,255,.5);
  margin-top: 4px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Hero video placeholder */
.mw-hero-video {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
  position: relative;
}
.mw-hero-play {
  width: 72px;
  height: 72px;
  background: rgba(255,121,0,.15);
  border: 2px solid rgba(255,121,0,.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background var(--mw-transition);
}
.mw-hero-play:hover { background: rgba(255,121,0,.3); }
.mw-hero-video-label {
  position: absolute;
  bottom: 14px;
  left: 14px;
  background: rgba(0,0,0,.6);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.mw-hero-video-badge {
  position: absolute;
  bottom: -18px;
  right: 24px;
  background: var(--mw-white);
  border-radius: 12px;
  padding: 12px 18px;
  box-shadow: var(--mw-shadow-lg);
  display: flex;
  align-items: center;
  gap: 10px;
}
.mw-hero-video-badge-icon {
  width: 40px;
  height: 40px;
  background: var(--mw-greenbg);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════
   TRUST BAR
═══════════════════════════════════════════════ */
.mw-trustbar {
  background: var(--mw-navydark);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.mw-trustbar-inner {
  max-width: var(--mw-max-w);
  margin: 0 auto;
  display: flex;
  gap: 0;
}
.mw-trust-item {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 24px;
  border-right: 1px solid rgba(255,255,255,.08);
}
.mw-trust-item:last-child { border-right: none; }
.mw-trust-icon {
  width: 42px;
  height: 42px;
  background: rgba(255,121,0,.15);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mw-orange);
  flex-shrink: 0;
}
.mw-trust-title { font-size: 13px; font-weight: 700; color: var(--mw-white); }
.mw-trust-desc { font-size: 12px; color: rgba(255,255,255,.5); margin-top: 2px; line-height: 1.4; }

/* ═══════════════════════════════════════════════
   SECTION HEADER
═══════════════════════════════════════════════ */
.mw-sechd {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
}
.mw-sechd h2 {
  border-left: 4px solid var(--mw-orange);
  padding-left: 14px;
  font-size: 26px;
  margin: 0;
}
.mw-sechd p {
  font-size: 14px;
  color: var(--mw-muted);
  margin: 6px 0 0 18px;
  font-style: normal;
  font-weight: 400;
}
.mw-sechd-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 700;
  color: var(--mw-orange);
  text-decoration: none;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════
   KATEGORIE GRID
═══════════════════════════════════════════════ */
.mw-cats-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 14px;
}
.mw-cat-tile {
  background: var(--mw-bg);
  border: 1.5px solid var(--mw-border);
  border-radius: 14px;
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  cursor: pointer;
  text-decoration: none;
  transition: box-shadow var(--mw-transition), border-color var(--mw-transition), transform var(--mw-transition);
}
.mw-cat-tile:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
  border-color: var(--mw-orange);
  transform: translateY(-2px);
}
.mw-cat-tile.featured {
  background: linear-gradient(135deg, var(--mw-navy) 0%, #1a2a6c 100%);
  border-color: var(--mw-navy);
  flex-direction: row;
  align-items: center;
  padding: 28px 24px;
  gap: 18px;
}
.mw-cat-tile-icon {
  width: 48px;
  height: 48px;
  background: var(--mw-white);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mw-navy);
  flex-shrink: 0;
}
.mw-cat-tile.featured .mw-cat-tile-icon {
  width: 60px;
  height: 60px;
  background: rgba(255,121,0,.18);
  color: var(--mw-orange);
}
.mw-cat-tile-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--mw-navy);
  line-height: 1.25;
  font-style: normal;
  font-family: inherit;
}
.mw-cat-tile-sub {
  font-size: 12px;
  color: var(--mw-muted);
  margin-top: 4px;
  font-weight: 400;
}
.mw-cat-tile.featured .mw-cat-tile-name { color: var(--mw-white); font-size: 16px; }
.mw-cat-tile.featured .mw-cat-tile-sub { color: rgba(255,255,255,.55); }
.mw-cat-tile-cta {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--mw-orange);
  font-size: 13px;
  font-weight: 700;
}

/* ═══════════════════════════════════════════════
   KODY RABATOWE
═══════════════════════════════════════════════ */
.mw-promos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.mw-promo-card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.mw-promo-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mw-promo-code {
  font-family: monospace;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .1em;
  color: var(--mw-orange);
  background: rgba(255,121,0,.12);
  border: 1.5px dashed rgba(255,121,0,.45);
  border-radius: 8px;
  padding: 6px 16px;
}
.mw-promo-copy {
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 9px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.7);
  transition: background var(--mw-transition), color var(--mw-transition);
  font-family: inherit;
}
.mw-promo-copy:hover,
.mw-promo-copy.copied { background: var(--mw-orange); color: var(--mw-white); }
.mw-promo-desc { font-size: 15px; font-weight: 700; color: var(--mw-white); }
.mw-promo-valid { font-size: 12px; color: rgba(255,255,255,.5); }
.mw-promo-saving {
  display: flex;
  align-items: center;
  gap: 7px;
  background: rgba(255,121,0,.1);
  border: 1px solid rgba(255,121,0,.2);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 12px;
  color: var(--mw-orange);
  font-weight: 600;
}
.mw-promo-saving svg { flex-shrink: 0; }

/* ═══════════════════════════════════════════════
   PRODUCT CARDS
═══════════════════════════════════════════════ */
.mw-products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.mw-product-card {
  background: var(--mw-white);
  border: 1.5px solid var(--mw-border);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--mw-transition), border-color var(--mw-transition);
  text-decoration: none;
  color: inherit;
}
.mw-product-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.10);
  border-color: var(--mw-orange);
  color: inherit;
}
.mw-product-img {
  height: 200px;
  background: var(--mw-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.mw-product-img img { object-fit: contain; max-height: 160px; }
.mw-product-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 5px;
  color: var(--mw-white);
  background: var(--mw-navy);
  letter-spacing: .03em;
}
.mw-product-badge.promo { background: var(--mw-red); }
.mw-product-body {
  padding: 14px 16px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mw-product-cat {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--mw-muted);
}
.mw-product-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--mw-text);
  line-height: 1.4;
  flex: 1;
  font-style: normal;
}
.mw-product-old-price {
  font-size: 12px;
  color: var(--mw-muted);
  text-decoration: line-through;
}
.mw-product-price {
  font-size: 18px;
  font-weight: 800;
  color: var(--mw-orange);
  line-height: 1;
}
.mw-product-price span {
  font-size: 11px;
  font-weight: 600;
  color: var(--mw-muted);
}
.mw-product-price-brutto {
  font-size: 12px;
  color: var(--mw-muted);
  margin-top: 2px;
}
.mw-product-cta {
  margin-top: 10px;
  height: 38px;
  background: var(--mw-navy);
  color: var(--mw-white);
  border: none;
  border-radius: var(--mw-radius);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
  transition: background var(--mw-transition);
  font-family: inherit;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mw-product-cta:hover { background: var(--mw-orange); }

/* ═══════════════════════════════════════════════
   BLOG / ARTYKUŁY
═══════════════════════════════════════════════ */
.mw-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.mw-blog-card {
  background: var(--mw-white);
  border: 1.5px solid var(--mw-border);
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: box-shadow var(--mw-transition), transform var(--mw-transition);
  display: flex;
  flex-direction: column;
}
.mw-blog-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.09);
  transform: translateY(-2px);
  color: inherit;
}
.mw-blog-thumb {
  height: 180px;
  background: linear-gradient(135deg, var(--mw-navy) 0%, #1a2a6c 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.mw-blog-body { padding: 18px 20px 22px; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.mw-blog-meta { display: flex; align-items: center; justify-content: space-between; }
.mw-blog-tag {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 5px;
}
.mw-blog-tag.tip { background: var(--mw-greenbg); color: var(--mw-green); }
.mw-blog-tag.news { background: rgba(255,121,0,.1); color: var(--mw-orange); }
.mw-blog-time { font-size: 11px; color: var(--mw-muted); }
.mw-blog-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--mw-navy);
  line-height: 1.4;
  margin: 0;
  font-style: normal;
}
.mw-blog-desc { font-size: 13px; color: var(--mw-muted); line-height: 1.6; font-style: normal; font-weight: 400; }

/* ═══════════════════════════════════════════════
   FORMULARZ KONTAKTOWY
═══════════════════════════════════════════════ */
.mw-contact-section {
  background: linear-gradient(135deg, var(--mw-navy) 0%, #1a2a6c 100%);
  padding: 72px 0;
}
.mw-contact-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.mw-contact-title {
  font-size: 36px;
  color: var(--mw-white);
  margin-bottom: 16px;
}
.mw-contact-title span { color: var(--mw-orange); }
.mw-contact-desc {
  font-size: 16px;
  color: rgba(255,255,255,.65);
  line-height: 1.7;
  margin-bottom: 36px;
  font-style: normal;
  font-weight: 400;
}
.mw-contact-info { display: flex; flex-direction: column; gap: 16px; }
.mw-contact-info-item { display: flex; align-items: center; gap: 14px; }
.mw-contact-info-icon {
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,.08);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mw-orange);
  flex-shrink: 0;
}
.mw-contact-info-label {
  font-size: 11px;
  color: rgba(255,255,255,.45);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.mw-contact-info-val {
  font-size: 16px;
  font-weight: 700;
  color: var(--mw-white);
  margin-top: 2px;
  display: block;
}
a.mw-contact-info-val:hover { color: var(--mw-orange); }

/* Formularz */
.mw-form-box {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  padding: 32px 28px;
}
.mw-form-title { font-size: 18px; font-weight: 800; color: var(--mw-white); margin-bottom: 20px; font-style: italic; }
.mw-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mw-form-group { display: flex; flex-direction: column; gap: 6px; }
.mw-form-group.full { grid-column: span 2; }
.mw-form-label {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.65);
}
.mw-form-label span { color: var(--mw-orange); }
.mw-form-input,
.mw-form-textarea {
  border: 1.5px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.07);
  color: var(--mw-white);
  border-radius: 9px;
  padding: 11px 14px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  transition: border-color var(--mw-transition);
  width: 100%;
}
.mw-form-input:focus,
.mw-form-textarea:focus { border-color: var(--mw-orange); }
.mw-form-input::placeholder,
.mw-form-textarea::placeholder { color: rgba(255,255,255,.35); }
.mw-form-textarea { resize: vertical; min-height: 100px; }
.mw-form-submit {
  width: 100%;
  height: 50px;
  background: var(--mw-orange);
  color: var(--mw-white);
  border: none;
  border-radius: 9px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background var(--mw-transition);
  font-family: inherit;
  margin-top: 4px;
}
.mw-form-submit:hover { background: var(--mw-orange2); }
.mw-form-privacy {
  font-size: 12px;
  color: rgba(255,255,255,.35);
  text-align: center;
  margin-top: 10px;
  line-height: 1.5;
}
.mw-form-privacy a { color: rgba(255,255,255,.5); text-decoration: underline; }

/* ═══════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════ */
.mw-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 52px;
  padding: 0 28px;
  background: var(--mw-orange);
  color: var(--mw-white) !important;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--mw-transition);
  font-family: inherit;
}
.mw-btn-primary:hover { background: var(--mw-orange2); color: #fff !important; }

.mw-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 52px;
  padding: 0 28px;
  background: transparent;
  color: rgba(255,255,255,.9) !important;
  border: 1.5px solid rgba(255,255,255,.3);
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: border-color var(--mw-transition), background var(--mw-transition);
  font-family: inherit;
}
.mw-btn-outline:hover { border-color: #fff; background: rgba(255,255,255,.08); color: #fff !important; }

.mw-btn-navy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 22px;
  background: var(--mw-navy);
  color: var(--mw-white) !important;
  border: none;
  border-radius: var(--mw-radius);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--mw-transition);
  font-family: inherit;
}
.mw-btn-navy:hover { background: #1a0f5e; color: #fff !important; }

.mw-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 44px;
  padding: 0 22px;
  background: transparent;
  border: 1.5px solid var(--mw-border);
  border-radius: var(--mw-radius);
  font-size: 13px;
  font-weight: 700;
  color: var(--mw-navy2);
  cursor: pointer;
  text-decoration: none;
  transition: border-color var(--mw-transition), background var(--mw-transition), color var(--mw-transition);
  font-family: inherit;
}
.mw-btn-ghost:hover { border-color: var(--mw-navy); background: var(--mw-navy); color: #fff !important; }

/* WooCommerce override */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #place_order {
  background: var(--mw-orange) !important;
  color: var(--mw-white) !important;
  border-radius: var(--mw-radius) !important;
  font-weight: 700 !important;
  border: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #place_order:hover {
  background: var(--mw-orange2) !important;
  color: #fff !important;
}
.woocommerce-Price-amount,
.woocommerce .price {
  color: var(--mw-orange) !important;
  font-weight: 800 !important;
}

/* ═══════════════════════════════════════════════
   INFO STRIP
═══════════════════════════════════════════════ */
.mw-info-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  background: var(--mw-white);
  border: 1px solid var(--mw-border);
  border-radius: 14px;
  overflow: hidden;
}
.mw-info-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
  border-right: 1px solid var(--mw-border);
}
.mw-info-item:last-child { border-right: none; }
.mw-info-icon {
  width: 36px;
  height: 36px;
  background: var(--mw-navy);
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mw-info-title { font-size: 12px; font-weight: 700; color: var(--mw-navy); display: block; font-style: normal; }
.mw-info-sub { font-size: 11px; color: var(--mw-muted); line-height: 1.4; }

/* ═══════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════ */
.site-footer,
#colophon {
  background: var(--mw-navydark) !important;
  color: rgba(255,255,255,.6);
  padding: 48px 0 28px;
}
.mw-footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 20px;
}
.mw-footer-logo {
  font-size: 20px;
  font-weight: 900;
  font-style: italic;
  color: var(--mw-white);
  display: block;
  margin-bottom: 14px;
  text-decoration: none;
}
.mw-footer-logo span { color: var(--mw-orange); }
.mw-footer-about {
  font-size: 13px;
  color: rgba(255,255,255,.45);
  line-height: 1.7;
  max-width: 280px;
}
.mw-footer-col-title {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255,255,255,.45);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 14px;
  display: block;
  font-style: normal;
}
.mw-footer-links { display: flex; flex-direction: column; gap: 9px; }
.mw-footer-links a,
.mw-footer-links span {
  font-size: 13px;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: color var(--mw-transition);
}
.mw-footer-links a:hover { color: var(--mw-orange); }
.mw-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: rgba(255,255,255,.3);
  flex-wrap: wrap;
  gap: 8px;
}
.mw-footer-logo-link { display: inline-block; margin-bottom: 14px; text-decoration: none; }
.mw-footer-social { display: flex; gap: 10px; margin-top: 20px; }
.mw-footer-social-btn {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.6);
  transition: background var(--mw-transition), color var(--mw-transition);
}
.mw-footer-social-btn:hover { background: var(--mw-orange); color: #fff; }

/* ═══════════════════════════════════════════════
   TYMCZASOWY KONTENER TREŚCI WOOCOMMERCE
   Dopóki koszyk i checkout renderują się w domyślnym
   kontenerze Astry (reskórowane samym CSS, bez nadpisywania
   szablonów WC — patrz sekcja "KOSZYK I CHECKOUT"), to tylko
   pilnuje sensownej szerokości/paddingu. Karta produktu i
   kategoria mają już własne szablony z własnym kontenerem,
   więc NIE są tu objęte.
═══════════════════════════════════════════════ */
.woocommerce-cart #primary.content-area,
.woocommerce-checkout #primary.content-area {
  max-width: var(--mw-max-w);
  margin: 0 auto;
  padding: 32px 40px 60px;
  box-sizing: border-box;
}
@media (max-width: 1024px) {
  .woocommerce-cart #primary.content-area,
  .woocommerce-checkout #primary.content-area { padding: 24px 24px 40px; }
}
@media (max-width: 768px) {
  .woocommerce-cart #primary.content-area,
  .woocommerce-checkout #primary.content-area { padding: 16px 16px 32px; }
}

/* ═══════════════════════════════════════════════
   KATEGORIA — woocommerce/archive-product.php
   (i główny listing sklepu /sklep/)
═══════════════════════════════════════════════ */
.mw-category-page { padding: 32px 0 60px; }
.mw-category-hero { margin-bottom: 28px; }
.mw-category-title { font-size: 28px; margin-bottom: 10px; }
.mw-category-desc { font-size: 14.5px; line-height: 1.75; color: var(--mw-muted); max-width: 720px; margin-bottom: 8px; }
.mw-category-desc p { margin: 0 0 10px; }
.mw-category-count { font-size: 12.5px; color: var(--mw-muted); font-weight: 600; }

.mw-category-layout { display: grid; grid-template-columns: 240px 1fr; gap: 32px; align-items: start; }

.mw-category-sidebar { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 20px; }
.mw-filter-block { background: var(--mw-white); border: 1.5px solid var(--mw-border); border-radius: 14px; padding: 18px; }
.mw-filter-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--mw-muted); margin-bottom: 12px; }
.mw-filter-list { display: flex; flex-direction: column; gap: 3px; }
.mw-filter-link {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 8px 9px; border-radius: 7px; font-size: 13.5px; font-weight: 600; color: var(--mw-text);
  transition: background var(--mw-transition), color var(--mw-transition);
}
.mw-filter-link:hover { background: var(--mw-bg); color: var(--mw-orange); }
.mw-filter-link.is-active { background: rgba(255,121,0,.08); color: var(--mw-orange); }
.mw-filter-count { font-size: 11px; color: var(--mw-muted); font-weight: 600; }
.mw-filter-link.is-active .mw-filter-count { color: var(--mw-orange); }

.mw-category-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--mw-border);
  font-size: 13px; color: var(--mw-muted);
}
.mw-category-toolbar select {
  border: 1.5px solid var(--mw-border); border-radius: 8px; padding: 7px 10px; font-size: 13px; font-family: inherit; background: var(--mw-white);
}
.mw-category-empty { text-align: center; padding: 60px 20px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.mw-category-empty p { font-size: 14px; color: var(--mw-muted); margin: 0; }

.woocommerce-pagination { margin-top: 28px; }
.woocommerce-pagination ul.page-numbers {
  display: flex; gap: 6px; list-style: none; padding: 0; margin: 0; justify-content: center;
}
.woocommerce-pagination .page-numbers li .page-numbers {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 8px; border: 1.5px solid var(--mw-border);
  font-size: 13px; font-weight: 600; color: var(--mw-text); background: var(--mw-white);
}
.woocommerce-pagination .page-numbers li .page-numbers.current { background: var(--mw-navy); border-color: var(--mw-navy); color: #fff; }
.woocommerce-pagination .page-numbers li .page-numbers:hover:not(.current) { border-color: var(--mw-orange); color: var(--mw-orange); }

@media (max-width: 1024px) {
  .mw-category-layout { grid-template-columns: 1fr; }
  .mw-category-sidebar { position: static; flex-direction: row; flex-wrap: wrap; }
  .mw-filter-block { flex: 1; min-width: 220px; }
}
@media (max-width: 768px) {
  .mw-category-sidebar { flex-direction: column; }
  .mw-category-toolbar { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ═══════════════════════════════════════════════
   WOOCOMMERCE SHOP PAGE
═══════════════════════════════════════════════ */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.woocommerce ul.products li.product {
  background: var(--mw-white);
  border: 1.5px solid var(--mw-border);
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow var(--mw-transition), border-color var(--mw-transition);
  margin: 0 !important;
  float: none !important;
  width: auto !important;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.10);
  border-color: var(--mw-orange);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  color: var(--mw-text) !important;
  font-style: normal !important;
  font-weight: 600 !important;
}
.woocommerce ul.products li.product .price {
  color: var(--mw-orange) !important;
  font-weight: 800 !important;
  font-size: 16px !important;
}

/* ═══════════════════════════════════════════════
   KARTA PRODUKTU — woocommerce/single-product.php
   Wg mockupy/mw_desktop_product_v8.jsx (desktop, tabs)
   i mockupy/mw_mobile_product_v3.jsx (mobile, accordion).
   Ten sam znacznik HTML dla obu — różnicę robi CSS niżej
   (na mobile .mw-tabs staje się listą accordion).
═══════════════════════════════════════════════ */
.mw-product-page { padding: 32px 0 60px; }

.mw-product-grid {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 40px;
  align-items: start;
}

/* Galeria */
.mw-product-gallery {
  background: var(--mw-white);
  border: 1.5px solid var(--mw-border);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px;
}
.mw-product-gallery-main {
  background: var(--mw-bg);
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.mw-product-gallery-main img { max-height: 380px; max-width: 90%; object-fit: contain; }
.mw-product-gallery-placeholder { display: flex; align-items: center; justify-content: center; }
.mw-gallery-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: var(--mw-navy);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 6px;
}
.mw-gallery-counter {
  position: absolute;
  bottom: 12px;
  right: 14px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 100px;
}
.mw-product-thumbs {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  overflow-x: auto;
  border-top: 1px solid var(--mw-border);
}
.mw-product-thumb {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border: 2px solid var(--mw-border);
  border-radius: 8px;
  background: var(--mw-bg);
  cursor: pointer;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: border-color var(--mw-transition);
}
.mw-product-thumb.is-active { border-color: var(--mw-orange); }
.mw-product-thumb img { max-height: 56px; max-width: 56px; object-fit: contain; }

/* Tabs (desktop) / Accordion (mobile) — jeden znacznik */
.mw-tabs {
  background: var(--mw-white);
  border: 1.5px solid var(--mw-border);
  border-radius: 16px;
  overflow: hidden;
}
.mw-tab-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 24px;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--mw-border);
  font-size: 15px;
  font-weight: 700;
  font-style: italic;
  font-family: 'Poppins', 'Inter', sans-serif;
  color: var(--mw-navy);
  text-align: left;
  cursor: pointer;
}
.mw-tab-chevron { flex-shrink: 0; color: var(--mw-orange); transition: transform .2s; }
.mw-tab-trigger[aria-expanded="true"] .mw-tab-chevron { transform: rotate(180deg); }
.mw-tab-panel {
  display: none;
  padding: 0 24px 24px;
  border-bottom: 1px solid var(--mw-border);
}
.mw-tab-panel.is-active { display: block; }
.mw-tab-panel:last-child { border-bottom: none; }
.mw-tab-empty { font-size: 14px; color: var(--mw-muted); padding-top: 16px; }

/* Treść wewnątrz zakładek (opis produktu, wg SYSTEM OPISÓW PRODUKTÓW) */
.mw-tab-panel p { font-size: 14.5px; line-height: 1.75; color: var(--mw-text); margin: 0 0 14px; }
.mw-tab-panel h2, .mw-tab-panel h3 { font-size: 15px; font-weight: 700; font-style: normal; color: var(--mw-navy); margin: 18px 0 12px; }
.mw-tab-panel ul.mw-applications,
.mw-tab-panel ul.mw-features {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin: 0 0 16px;
  padding: 0;
}
.mw-tab-panel ul.mw-applications li,
.mw-tab-panel ul.mw-features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  color: var(--mw-text);
  line-height: 1.5;
}
.mw-tab-panel ul.mw-applications li::before,
.mw-tab-panel ul.mw-features li::before {
  content: '';
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  background: var(--mw-greenbg);
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
table.mw-specs-table,
table.mw-specs {
  width: 100%;
  border-collapse: collapse;
  margin-top: 4px;
}
table.mw-specs-table td, table.mw-specs td,
table.mw-specs-table th, table.mw-specs th {
  padding: 11px 14px;
  font-size: 13px;
  border-bottom: 1px solid var(--mw-border);
}
table.mw-specs-table td:first-child, table.mw-specs td:first-child { font-weight: 600; color: var(--mw-navy2); width: 45%; }
table.mw-specs-table td:last-child, table.mw-specs td:last-child { font-weight: 700; color: var(--mw-text); }
table.mw-specs-table tr.alt, table.mw-specs tr:nth-child(odd) { background: var(--mw-bg); }
.mw-faq details, .mw-faq .mw-faq-item { border-bottom: 1px solid var(--mw-border); padding: 4px 0; }

/* Panel cenowy (prawa kolumna) */
.mw-product-side-col { position: sticky; top: 24px; }
.mw-price-panel {
  background: var(--mw-white);
  border: 1.5px solid var(--mw-border);
  border-radius: 16px;
  padding: 24px;
}
.mw-price-panel-cat {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--mw-muted);
  margin-bottom: 8px;
}
.mw-price-panel-title {
  font-size: 21px;
  margin-bottom: 14px;
  line-height: 1.25;
}
.mw-price-panel-status { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; min-height: 18px; }
.mw-status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.mw-status-dot.is-green { background: var(--mw-green); }
.mw-status-dot.is-orange { background: var(--mw-orange); }
.mw-status-text { font-size: 12px; font-weight: 700; }
.mw-status-text.is-green { color: var(--mw-green); }
.mw-status-text.is-orange { color: var(--mw-orange); }
.mw-viewers-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--mw-muted);
  margin-bottom: 16px;
}
.mw-price-box { background: var(--mw-bg); border-radius: 12px; padding: 16px 18px; margin-bottom: 14px; }
.mw-price-box-label { font-size: 11px; color: var(--mw-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.mw-price-old { font-size: 14px; color: var(--mw-muted); text-decoration: line-through; margin-bottom: 2px; }
.mw-price-main { font-size: 30px; font-weight: 900; color: var(--mw-orange); line-height: 1; font-family: 'Poppins', sans-serif; }
.mw-price-main span { font-size: 14px; color: var(--mw-muted); font-weight: 600; font-family: 'Inter', sans-serif; }
.mw-price-coupon-applied { font-size: 12px; color: var(--mw-green); font-weight: 700; margin-top: 5px; }
.mw-price-brutto { font-size: 13px; color: var(--mw-muted); margin-top: 6px; }

.mw-coupon-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  background: var(--mw-bg);
  border: 1.5px dashed var(--mw-border);
  border-radius: 10px;
  padding: 10px 14px;
  margin-bottom: 16px;
  cursor: pointer;
  font-family: inherit;
  transition: all var(--mw-transition);
}
.mw-coupon-toggle.is-active { background: rgba(255,121,0,.1); border-color: var(--mw-orange); }
.mw-coupon-code {
  font-family: monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  color: var(--mw-orange);
  background: rgba(255,121,0,.12);
  border-radius: 6px;
  padding: 4px 9px;
  flex-shrink: 0;
}
.mw-coupon-toggle.is-active .mw-coupon-code { color: #fff; background: var(--mw-orange); }
.mw-coupon-desc { font-size: 12px; color: var(--mw-muted); font-weight: 600; flex: 1; }
.mw-coupon-toggle.is-active .mw-coupon-desc { color: var(--mw-orange2); }
.mw-coupon-state { font-size: 11px; color: var(--mw-muted); font-weight: 600; flex-shrink: 0; }
.mw-coupon-toggle.is-active .mw-coupon-state { color: var(--mw-orange2); font-weight: 700; }

.mw-variant-group { margin-bottom: 16px; }
.mw-variant-label { font-size: 12px; font-weight: 700; color: var(--mw-navy2); margin-bottom: 10px; }
.mw-variant-list { display: flex; gap: 8px; flex-wrap: wrap; }
.mw-variant-chip {
  padding: 7px 14px;
  border: 1.5px solid var(--mw-border);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--mw-text);
  background: var(--mw-white);
  text-decoration: none;
  transition: all var(--mw-transition);
}
.mw-variant-chip:hover { border-color: var(--mw-orange); color: var(--mw-orange); }
.mw-variant-chip.is-active { border-color: var(--mw-orange); background: rgba(255,121,0,.07); color: var(--mw-orange); cursor: default; }

.mw-product-cta { display: flex; flex-direction: column; gap: 10px; }
.mw-btn-full { width: 100%; justify-content: center; }

/* Pliki do pobrania */
.mw-downloads-list { display: flex; flex-direction: column; gap: 8px; }
.mw-download-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--mw-bg);
  border: 1px solid var(--mw-border);
  border-radius: 10px;
  text-decoration: none;
  transition: border-color var(--mw-transition);
}
.mw-download-item:hover { border-color: var(--mw-orange); }
.mw-download-icon {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  background: var(--mw-redbg);
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mw-download-name { flex: 1; font-size: 13px; font-weight: 600; color: var(--mw-text); }
.mw-download-arrow { flex-shrink: 0; color: var(--mw-muted); display: flex; }

/* Sticky dolny pasek CTA — tylko mobile (patrz @media max-width:768px) */
.mw-sticky-cta { display: none; }

/* ═══════════════════════════════════════════════
   STICKY BOTTOM BAR — TYP A (nawigacja mobile)
   HEADER_FOOTER_SPEC_1.md sekcja 5. Ukryty na desktopie —
   sticky bottom bar to wyłącznie wzorzec mobile (tabela w sekcji 5).
═══════════════════════════════════════════════ */
.mw-tabbar { display: none; }
.mw-catsheet { display: none; }

@media (max-width: 1024px) {
  .mw-tabbar {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: end;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 400;
    height: 62px;
    background: var(--mw-navy);
    border-top: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 -4px 20px rgba(0,0,0,.18);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .mw-tabbar-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    height: 62px;
    padding: 0 2px;
    border: none;
    background: transparent;
    color: rgba(255,255,255,.6);
    font-family: inherit;
    font-size: 10px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: color var(--mw-transition);
  }
  .mw-tabbar-item:hover,
  .mw-tabbar-item.is-active { color: var(--mw-orange); }
  .mw-tabbar-item svg { flex-shrink: 0; }

  /* Środkowa zakładka — pomarańczowy FAB uniesiony nad paskiem */
  .mw-tabbar-fab-wrap { position: relative; justify-content: flex-end; padding-bottom: 8px; }
  .mw-tabbar-fab {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--mw-orange);
    color: var(--mw-white);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(255,121,0,.45);
    transition: background var(--mw-transition);
  }
  .mw-tabbar-fab-wrap:hover .mw-tabbar-fab { background: var(--mw-orange2); }
  .mw-tabbar-fab-wrap > span:last-child { margin-top: 0; }

  .mw-tabbar-icon-wrap { position: relative; display: flex; }
  .mw-tabbar-badge {
    position: absolute;
    top: -5px;
    right: -7px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 100px;
    background: var(--mw-orange);
    color: var(--mw-white);
    font-size: 9.5px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Pasek nie może zasłaniać końca treści ani stopki.
     Karta produktu ma Typ B i własny padding (.mw-product-page), więc wyłączona. */
  body:not(.single-product) { padding-bottom: 62px; }

  /* Wysuwany panel kategorii (środkowy FAB) */
  .mw-catsheet {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 500;
    background: rgba(8,4,32,.55);
  }
  .mw-catsheet[hidden] { display: none; }
  .mw-catsheet-panel {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    max-height: 72vh;
    overflow-y: auto;
    background: var(--mw-white);
    border-radius: 18px 18px 0 0;
    padding: 16px 16px calc(78px + env(safe-area-inset-bottom, 0px));
  }
  .mw-catsheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 800;
    font-style: italic;
    font-family: 'Poppins', 'Inter', sans-serif;
    color: var(--mw-navy);
    padding-bottom: 10px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--mw-border);
  }
  .mw-catsheet-close {
    width: 36px; height: 36px;
    border: none; background: var(--mw-bg);
    border-radius: 8px; cursor: pointer;
    color: var(--mw-navy2);
    display: flex; align-items: center; justify-content: center;
  }
  .mw-catsheet-list { list-style: none; margin: 0; padding: 0; }
  .mw-catsheet-group { padding: 10px 0 4px; border-bottom: 1px solid var(--mw-border); }
  .mw-catsheet-group:last-child { border-bottom: none; }
  .mw-catsheet-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 10px 2px;
    border: none;
    background: transparent;
    font-size: 14.5px;
    font-weight: 700;
    font-style: italic;
    font-family: 'Poppins', 'Inter', sans-serif;
    color: var(--mw-navy);
    text-decoration: none;
    text-align: left;
    cursor: pointer;
  }
  .mw-catsheet-main:hover { color: var(--mw-orange); }
  .mw-catsheet-chevron { flex-shrink: 0; color: var(--mw-orange); transition: transform .2s; }
  .mw-catsheet-main[aria-expanded="true"] .mw-catsheet-chevron { transform: rotate(180deg); }

  /* Podkategorie — rozwijane w miejscu po kliknięciu kategorii */
  .mw-catsheet-subs {
    list-style: none;
    margin: 0 0 8px;
    padding: 2px 0 2px 12px;
    border-left: 2px solid var(--mw-border);
  }
  .mw-catsheet-subs[hidden] { display: none; }
  .mw-catsheet-subs a {
    display: block;
    padding: 9px 4px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--mw-text);
    text-decoration: none;
  }
  .mw-catsheet-subs a:hover { color: var(--mw-orange); }
  .mw-catsheet-all { color: var(--mw-orange) !important; }

  /* Karta produktu: Typ B zamiast Typ A — usuwamy zduplikowany statyczny
     blok CTA z przepływu strony, zostaje wyłącznie przyklejony pasek.
     Formularz WooCommerce zostaje w DOM (ukryty), bo przycisk w pasku
     klika prawdziwy .single_add_to_cart_button. */
  .single-product .mw-product-cta { display: none; }
}
.mw-leasing-link {
  background: none;
  border: none;
  color: var(--mw-muted);
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
  padding: 2px;
  text-align: center;
}
.mw-leasing-link:hover { color: var(--mw-orange); }

/* Add-to-cart natywny WooCommerce — dopasowanie do naszego stylu */
.mw-product-cta form.cart { display: flex; gap: 8px; align-items: stretch; margin: 0 0 2px; }
.mw-product-cta form.cart .quantity { flex-shrink: 0; }
.mw-product-cta form.cart .qty {
  width: 60px;
  height: 52px;
  border: 1.5px solid var(--mw-border);
  border-radius: 10px;
  text-align: center;
  font-size: 15px;
  font-family: inherit;
}
.mw-product-cta form.cart .single_add_to_cart_button,
.mw-product-cta form.cart button[type="submit"] {
  flex: 1;
  height: 52px;
  background: var(--mw-navy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer;
}
.mw-product-cta form.cart .single_add_to_cart_button:hover { background: var(--mw-orange) !important; }

/* Brak na stanie — "Zamów jako pierwszy z nowej dostawy" */
.mw-backorder-box { background: var(--mw-bg); border: 1.5px dashed var(--mw-border); border-radius: 12px; padding: 18px; margin-bottom: 16px; }
.mw-backorder-title { font-size: 15px; font-weight: 700; font-style: italic; color: var(--mw-navy); margin-bottom: 6px; }
.mw-backorder-desc { font-size: 13px; color: var(--mw-muted); margin-bottom: 12px; }
.mw-notify-row { display: flex; gap: 8px; }
.mw-notify-row input {
  flex: 1;
  height: 44px;
  border: 1.5px solid var(--mw-border);
  border-radius: 9px;
  padding: 0 12px;
  font-size: 14px;
  font-family: inherit;
}
.mw-notify-row .mw-btn-primary { height: 44px; white-space: nowrap; }
.mw-notify-success { font-size: 12.5px; color: var(--mw-green); font-weight: 600; margin-top: 10px; }

.mw-trust-mini { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--mw-border); }
.mw-trust-mini-item { display: flex; gap: 10px; align-items: center; }
.mw-trust-mini-icon { width: 30px; height: 30px; background: var(--mw-bg); border-radius: 7px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mw-trust-mini-t { font-size: 12px; font-weight: 700; color: var(--mw-navy); }
.mw-trust-mini-s { font-size: 11px; color: var(--mw-muted); }

/* Formularz zapytania o produkt */
.mw-product-inquiry {
  margin-top: 48px;
  background: linear-gradient(135deg, var(--mw-navy) 0%, #1a2a6c 100%);
  border-radius: 20px;
  padding: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.mw-inquiry-title { font-size: 28px; color: #fff; margin-bottom: 14px; }
.mw-inquiry-title span { color: var(--mw-orange); }
.mw-inquiry-desc { font-size: 15px; color: rgba(255,255,255,.65); line-height: 1.7; margin-bottom: 26px; font-style: normal; font-weight: 400; }
.mw-inquiry-channels { display: flex; flex-direction: column; gap: 9px; }
.mw-inquiry-channel {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: 14px 16px;
  text-decoration: none;
  transition: background var(--mw-transition);
}
.mw-inquiry-channel:hover { background: rgba(255,255,255,.1); }
.mw-inquiry-channel.is-whatsapp { background: rgba(37,211,102,.12); border-color: rgba(37,211,102,.3); }
.mw-inquiry-channel.is-whatsapp:hover { background: rgba(37,211,102,.18); }
.mw-inquiry-channel-icon { width: 40px; height: 40px; background: rgba(255,255,255,.08); border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mw-inquiry-channel-t { display: block; font-size: 13px; font-weight: 700; color: #fff; }
.mw-inquiry-channel-s { display: block; font-size: 12px; color: rgba(255,255,255,.45); margin-top: 1px; }

.mw-inquiry-form { display: flex; flex-direction: column; gap: 14px; }
.mw-inquiry-tag { display: flex; align-items: center; gap: 10px; background: rgba(255,121,0,.12); border: 1px solid rgba(255,121,0,.3); border-radius: 9px; padding: 10px 14px; }
.mw-inquiry-tag-label { display: block; font-size: 10px; font-weight: 700; color: var(--mw-orange); text-transform: uppercase; letter-spacing: .06em; }
.mw-inquiry-tag-val { display: block; font-size: 13px; font-weight: 700; color: #fff; }
.mw-inquiry-success { background: rgba(5,150,105,.15); border: 1px solid rgba(5,150,105,.4); color: #fff; border-radius: 10px; padding: 14px 16px; font-size: 13.5px; margin-bottom: 14px; }

/* Powiązane produkty */
.mw-related-products { margin-top: 48px; }
.mw-related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.mw-related-card {
  background: var(--mw-white);
  border: 1.5px solid var(--mw-border);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: box-shadow var(--mw-transition), border-color var(--mw-transition);
  display: block;
}
.mw-related-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.09); border-color: var(--mw-orange); color: inherit; }
.mw-related-img { height: 140px; background: var(--mw-bg); display: flex; align-items: center; justify-content: center; }
.mw-related-img img { max-height: 110px; max-width: 80%; object-fit: contain; }
.mw-related-body { padding: 12px 14px 14px; }
.mw-related-cat { font-size: 10px; color: var(--mw-muted); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 5px; }
.mw-related-name { font-size: 13px; font-weight: 600; color: var(--mw-text); line-height: 1.4; margin-bottom: 8px; min-height: 36px; font-style: normal; }
.mw-related-price { font-size: 15px; font-weight: 800; color: var(--mw-orange); }
.mw-related-price span { font-size: 10px; font-weight: 600; color: var(--mw-muted); }

/* Desktop enhancement: pasek zakładek zamiast accordion */
@media (min-width: 1025px) {
  .mw-tabs { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
  .mw-tab-trigger { grid-row: 1; justify-content: center; border-bottom: 2px solid transparent; padding: 16px 12px; font-style: normal; font-weight: 600; font-size: 13px; color: var(--mw-muted); }
  .mw-tab-trigger.is-active,
  .mw-tab-trigger[aria-expanded="true"] { color: var(--mw-orange); border-bottom-color: var(--mw-orange); }
  .mw-tab-chevron { display: none; }
  .mw-tab-panel { grid-row: 2; grid-column: 1 / -1; padding: 28px 32px; border-bottom: none; }
}

@media (max-width: 1024px) {
  .mw-product-grid { grid-template-columns: 1fr; }
  .mw-product-side-col { position: static; }
  .mw-product-inquiry { grid-template-columns: 1fr; gap: 32px; padding: 32px 24px; }
  .mw-related-grid { grid-template-columns: repeat(2, 1fr); }

  /* Sticky dolny pasek CTA — wg mockupy/mw_mobile_product_v3_1.jsx (linie 469-484).
     Aktywny w tym samym breakpoincie, w którym layout schodzi do jednej kolumny,
     żeby na szerokościach 769-1024px przyciski nie przewijały się z treścią. */
  .mw-product-page { padding-bottom: 100px; }

  .mw-sticky-cta {
    display: flex;
    gap: 10px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 200;
    background: var(--mw-white);
    border-top: 1.5px solid var(--mw-border);
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -4px 20px rgba(0,0,0,.08);
  }
  .mw-sticky-btn {
    flex: 1;
    height: 48px;
    justify-content: center;
    font-size: 13px;
    padding: 0 14px;
    border-radius: 10px;
  }
  .mw-sticky-btn-main { flex: 1.4; }
  /* Wariant "Zapytaj" — obrys navy, jak w mockupie (nie domyślny szary .mw-btn-ghost) */
  .mw-sticky-cta .mw-btn-ghost {
    border-color: var(--mw-navy);
    color: var(--mw-navy);
  }
}
@media (max-width: 768px) {
  .mw-product-gallery-main { height: 300px; }
  .mw-price-panel-title { font-size: 19px; }
  .mw-inquiry-title { font-size: 22px; }
}

/* ═══════════════════════════════════════════════
   KOSZYK I CHECKOUT — restyle natywnych szablonów WooCommerce
   (bez nadpisywania cart.php/form-checkout.php — bezpieczniej,
   zachowuje działającą logikę AJAX/nonce/walidacji WC)
═══════════════════════════════════════════════ */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
  width: 100%;
  border-collapse: collapse;
  background: var(--mw-white);
  border: 1.5px solid var(--mw-border);
  border-radius: 14px;
  overflow: hidden;
  font-size: 14px;
}
.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th {
  background: var(--mw-bg);
  padding: 14px 16px;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--mw-muted);
  text-align: left;
}
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table td {
  padding: 16px;
  border-top: 1px solid var(--mw-border);
  vertical-align: middle;
}
.woocommerce-cart td.product-thumbnail img,
.woocommerce-checkout td.product-thumbnail img {
  width: 64px; height: 64px; object-fit: contain; border-radius: 8px; background: var(--mw-bg);
}
.woocommerce-cart td.product-name a,
.woocommerce a.remove {
  color: var(--mw-text);
  font-weight: 600;
}
.woocommerce a.remove {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%; color: var(--mw-red) !important;
  font-size: 18px !important; text-decoration: none !important;
}
.woocommerce a.remove:hover { background: var(--mw-redbg); }
.woocommerce td.product-quantity .qty {
  width: 64px; height: 40px; border: 1.5px solid var(--mw-border); border-radius: 8px;
  text-align: center; font-size: 14px; font-family: inherit;
}
.woocommerce td.product-price,
.woocommerce td.product-subtotal { font-weight: 700; color: var(--mw-orange); }

.woocommerce-cart-form__cart-item { }
.woocommerce-cart-form + * ,
.cart-collaterals { margin-top: 24px; }
.cart-collaterals .cart_totals { background: var(--mw-white); border: 1.5px solid var(--mw-border); border-radius: 14px; padding: 22px; max-width: 420px; margin-left: auto; }
.cart_totals h2 { font-size: 18px; margin-bottom: 16px; }
.cart_totals table.shop_table { border: none; }
.cart_totals table.shop_table th,
.cart_totals table.shop_table td { padding: 10px 0; border-top: 1px solid var(--mw-border); background: transparent; }
.cart_totals tr:first-child th,
.cart_totals tr:first-child td { border-top: none; }
.cart_totals .order-total .amount { color: var(--mw-orange); font-weight: 800; font-size: 20px; }

.mw-shipping-method { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mw-shipping-method-name { font-weight: 600; color: var(--mw-navy); }
.mw-shipping-old { font-size: 12px; color: var(--mw-muted); text-decoration: line-through; }
.mw-shipping-free { font-size: 12px; font-weight: 700; color: var(--mw-green); background: var(--mw-greenbg); padding: 2px 8px; border-radius: 5px; }
.mw-shipping-code { font-size: 11px; color: var(--mw-muted); width: 100%; }
.mw-shipping-quote { font-size: 12.5px; color: var(--mw-muted); font-style: italic; }
.mw-shipping-price { font-weight: 700; color: var(--mw-orange); }

.woocommerce-checkout .col2-set,
.woocommerce-checkout .woocommerce-checkout-review-order-table + * { }
.woocommerce-checkout form .form-row { margin-bottom: 14px; }
.woocommerce-checkout form label { display: block; font-size: 12.5px; font-weight: 600; color: var(--mw-navy2); margin-bottom: 6px; }
.woocommerce-checkout form .required { color: var(--mw-orange); text-decoration: none; }
.woocommerce-checkout form input.input-text,
.woocommerce-checkout form select,
.woocommerce-checkout form textarea {
  width: 100%; height: 46px; border: 1.5px solid var(--mw-border); border-radius: 9px;
  padding: 0 14px; font-size: 14px; font-family: inherit; background: var(--mw-white);
}
.woocommerce-checkout form textarea { height: auto; padding: 12px 14px; min-height: 90px; }
.woocommerce-checkout form input.input-text:focus,
.woocommerce-checkout form select:focus,
.woocommerce-checkout form textarea:focus { outline: none; border-color: var(--mw-orange); }

#payment { background: var(--mw-bg); border-radius: 14px; padding: 4px; }
#payment ul.payment_methods { list-style: none; padding: 16px; margin: 0; }
#payment .payment_box { background: var(--mw-white); border-radius: 10px; padding: 14px; margin-top: 10px; font-size: 13.5px; color: var(--mw-muted); }
#payment .place-order { padding: 16px; }
#place_order,
.woocommerce #payment #place_order {
  width: 100%; height: 54px; background: var(--mw-orange) !important; color: #fff !important;
  border: none !important; border-radius: 10px !important; font-size: 16px !important; font-weight: 700 !important;
}
#place_order:hover { background: var(--mw-orange2) !important; }

/* ═══════════════════════════════════════════════
   SILVER/GOLD — ekran przetwarzania zamówienia + zgoda RODO
   Nieblokujący, pełnoekranowy overlay pokazywany po kliknięciu
   "Złóż zamówienie", ukryty na start (patrz JS: pokazuje się na
   zdarzeniu checkout_place_order, znika na checkout_error —
   sukces = przekierowanie WooCommerce, nie sztuczny czas).
═══════════════════════════════════════════════ */
.mw-silver-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: linear-gradient(135deg, var(--mw-navy) 0%, #1a2a6c 100%);
  overflow-y: auto;
  padding: 40px 20px;
}
.mw-silver-overlay.is-active { display: flex; align-items: flex-start; justify-content: center; }
.mw-silver-panel { max-width: 560px; width: 100%; margin: auto; }

.mw-silver-loading { text-align: center; margin-bottom: 36px; }
.mw-silver-spinner {
  width: 44px; height: 44px; margin: 0 auto 16px;
  border: 3px solid rgba(255,255,255,.2); border-top-color: var(--mw-orange);
  border-radius: 50%; animation: mw-spin 0.8s linear infinite;
}
@keyframes mw-spin { to { transform: rotate(360deg); } }
.mw-silver-loading-text { font-size: 15px; font-weight: 600; color: #fff; }

.mw-silver-offer { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 30px; }
.mw-silver-badge {
  display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--mw-orange); background: rgba(255,121,0,.14); border: 1px solid rgba(255,121,0,.3);
  padding: 5px 12px; border-radius: 100px; margin-bottom: 14px;
}
.mw-silver-title { font-size: 21px; color: #fff; margin-bottom: 10px; line-height: 1.3; }
.mw-silver-sub { font-size: 13.5px; color: rgba(255,255,255,.6); line-height: 1.6; margin-bottom: 22px; font-style: normal; font-weight: 400; }

.mw-silver-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; }
.mw-silver-cat-item {
  display: flex; align-items: center; gap: 10px; font-size: 13px; color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 9px; padding: 10px 12px; cursor: pointer;
}
.mw-silver-cat-item input { width: 17px; height: 17px; accent-color: var(--mw-orange); flex-shrink: 0; cursor: pointer; }

.mw-silver-consent {
  display: flex; align-items: flex-start; gap: 12px; font-size: 12px; line-height: 1.6; color: rgba(255,255,255,.55);
  padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); cursor: pointer;
}
.mw-silver-consent input { width: 18px; height: 18px; accent-color: var(--mw-orange); flex-shrink: 0; margin-top: 2px; cursor: pointer; }

@media (max-width: 600px) {
  .mw-silver-cats { grid-template-columns: 1fr; }
  .mw-silver-offer { padding: 22px; }
  .mw-silver-title { font-size: 18px; }
}

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .mw-hero-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .mw-hero-video { display: none; }
  .mw-cats-grid { grid-template-columns: repeat(3, 1fr); }
  .mw-cats-grid .mw-cat-tile.featured { grid-column: span 3; }
  .mw-footer-inner { grid-template-columns: 1fr 1fr; gap: 24px; }
}

@media (max-width: 768px) {
  .mw-container { padding: 0 16px; }
  .mw-section { padding: 28px 0; }
  .mw-hero { min-height: auto; padding: 32px 0; }
  .mw-hero h1 { font-size: 28px; }
  .mw-cats-grid { grid-template-columns: repeat(2, 1fr); }
  .mw-cats-grid .mw-cat-tile.featured { grid-column: span 2; }
  .mw-products-grid { grid-template-columns: 1fr 1fr; }
  .mw-promos-grid { grid-template-columns: 1fr; }
  .mw-contact-inner { grid-template-columns: 1fr; gap: 24px; }
  .mw-form-grid { grid-template-columns: 1fr; }
  .mw-form-group.full { grid-column: span 1; }
  /* Hero: statystyki jako siatka, która realnie się kurczy */
  .mw-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
    padding-top: 20px;
  }
  .mw-hero-stat { padding-right: 10px; margin-right: 0; }
  .mw-hero-stat:nth-child(3) { border-right: none; }
  .mw-hero-stat-val { font-size: 21px; }
  .mw-hero-stat-label { font-size: 10px; letter-spacing: .04em; }
  .mw-hero-sub { font-size: 15px; margin-bottom: 24px; }
  .mw-hero-cta .mw-btn-primary,
  .mw-hero-cta .mw-btn-outline { height: 46px; padding: 0 18px; font-size: 14px; }

  /* Trust bar — kompaktowy (przeniesiony pod hero) */
  .mw-trustbar-inner { flex-wrap: wrap; gap: 0; }
  .mw-trust-item {
    width: 50%;
    border-right: none;
    min-width: 0;
    gap: 9px;
    padding: 12px 8px;
  }
  .mw-trust-icon { width: 34px; height: 34px; flex-shrink: 0; }
  .mw-trust-icon svg { width: 16px; height: 16px; }
  .mw-trust-title { font-size: 12.5px; line-height: 1.3; }
  .mw-trust-desc { font-size: 10.5px; line-height: 1.4; }
  .mw-info-strip { grid-template-columns: 1fr 1fr; }
  .mw-footer-inner { grid-template-columns: 1fr; }
  .mw-blog-grid { grid-template-columns: 1fr; }
  woocommerce ul.products { grid-template-columns: 1fr 1fr !important; }
  .mw-catbar { display: none; }
  .mw-topbar { display: none; }

  /* Wyszukiwarka na mobile: pole nie mieści się w jednym rzędzie z logo
     i ikonami (zgniatało się do zera), więc chowa się pod przycisk lupy
     i rozwija jako pełnoszerokościowy drugi rząd. */
  .mw-search-bar-inner {
    padding: 8px 16px;
    flex-wrap: wrap;
    gap: 8px;
  }
  .mw-logo-link { margin-right: auto; }
  .mw-search-toggle { display: flex; }
  /* "Ulubione" i "Zamówienie" znikają z headera — koszyk jest dostępny
     w dolnym pasku Typ A (zakładka "Zamówienie" z licznikiem), więc
     duplikowanie go na górze tylko zabierało miejsce logo i wyszukiwarce. */
  .mw-fav-btn,
  .mw-cart-btn { display: none; }
  .mw-search-wrap {
    order: 3;
    flex: 0 0 100%;
    width: 100%;
    display: none;
  }
  .mw-search-bar-inner.is-search-open .mw-search-wrap { display: flex; }
  .mw-search-bar-inner.is-search-open .mw-search-toggle {
    background: var(--mw-orange);
    border-color: var(--mw-orange);
  }

  /* Sekcja 6 spec: na mobile tabela przewija się TYLKO sama, w swoim obszarze,
     zamiast rozpychać całą stronę. */
  .mw-tab-panel table,
  .mw-specs,
  .woocommerce table.shop_table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* Kontenery pełnoszerokościowe nie mogą przekraczać viewportu */
  .mw-container,
  .mw-search-bar-inner,
  .mw-topbar-inner,
  .mw-footer-inner { max-width: 100%; }
}

/* ═══════════════════════════════════════════════
   FOCUS / ACCESSIBILITY
═══════════════════════════════════════════════ */
*:focus-visible {
  outline: 2px solid var(--mw-orange);
  outline-offset: 2px;
  border-radius: 4px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

/* Skip link */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 8px;
  background: var(--mw-orange);
  color: #fff;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  z-index: 9999;
  text-decoration: none;
}
.skip-link:focus { left: 8px; }

/* ═══════════════════════════════════════════════
   TOAST
═══════════════════════════════════════════════ */
.mw-toast {
  position: fixed;
  bottom: 28px;
  right: 28px;
  background: var(--mw-navy);
  color: #fff;
  padding: 11px 20px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 8px 32px rgba(0,0,0,.22);
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 10px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .2s, transform .2s;
  pointer-events: none;
}
.mw-toast.show { opacity: 1; transform: translateY(0); }
