/* =====================================================================
   SmartLED V2 – odświeżony wygląd strony głównej
   Plik ładowany po stylach szablonu Hammer (scripts/header.tpl).
   Kolory i kroje zmienisz w jednym miejscu: sekcja :root poniżej.
   ===================================================================== */

:root {
  --v2-font: "Manrope", "Montserrat", system-ui, sans-serif;
  --v2-ink: #111318;          /* tekst główny, ciemne przyciski */
  --v2-ink-2: #4b5160;        /* tekst pomocniczy */
  --v2-muted: #6b7280;        /* etykiety */
  --v2-line: #e6e8ec;         /* linie i ramki */
  --v2-surface: #f5f6f8;      /* jasne tło kart */
  --v2-dark: #0e1014;         /* ciemne sekcje */
  --v2-accent: #f97316;       /* pomarańcz marki – przyciski na ciemnym tle */
  --v2-accent-ink: #c2410c;   /* pomarańcz do tekstu na jasnym tle */
  --v2-accent-soft: #fff4ec;  /* jasne pomarańczowe tło */
  --v2-radius: 20px;
  --v2-radius-sm: 12px;
}

/* ---------- Krój pisma w całym sklepie ---------- */
body,
body .wrap,
body input, body button, body select, body textarea,
body h1, body h2, body h3, body h4, body h5, body h6,
body .btn, body .boxhead, body .productname, body .price {
  font-family: var(--v2-font);
}

/* ---------- Wspólne elementy modułów V2 ---------- */
.v2 *, .v2 *::before, .v2 *::after { box-sizing: border-box; }
/* Odstępy między modułami daje siatka szablonu (40 px), więc moduły V2 nie mają własnych marginesów */
.v2 { font-family: var(--v2-font); color: var(--v2-ink); margin: 0; }
.v2 a, .v2 a:hover, .v2 a:focus, .v2 a * { text-decoration: none !important; }
.v2 a.v2-promo, .v2 a.v2-promo:hover, .v2 a.v2-cat, .v2 a.v2-cat:hover { color: var(--v2-ink) !important; }
.v2 a.v2-promo--dark, .v2 a.v2-promo--dark:hover { color: #fff !important; }
.v2 a.v2-promo span, .v2 a.v2-cat span { color: inherit !important; text-transform: none; }
/* moduł własny Shoper dodaje własne marginesy – w modułach V2 odstępy ustawia ten plik */
.box:has(> .v2) { margin-bottom: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.box:has(> .v2-usp) { margin-top: -20px !important; }
.v2 p { margin: 0; }
.v2 svg { display: inline-block; vertical-align: middle; flex: none; }
/* listy w modułach V2 bez wcięć i punktorów szablonu */
.v2 ul, ul.v2 { list-style: none !important; padding: 0 !important; margin-left: 0 !important; }
.v2 li { margin: 0 !important; list-style: none !important; }
.v2 li::before { content: none !important; }

.v2-btn,
.v2 a.v2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 26px; border-radius: var(--v2-radius-sm);
  background: var(--v2-accent); color: var(--v2-ink) !important;
  font: 800 15px/1.2 var(--v2-font); letter-spacing: 0; text-transform: none;
  border: 0; cursor: pointer; transition: transform .15s ease, filter .15s ease;
}
.v2 a.v2-btn:hover { filter: brightness(1.08); transform: translateY(-1px); color: var(--v2-ink) !important; }
.v2 a.v2-btn--dark { background: var(--v2-ink); color: #fff !important; }
.v2 a.v2-btn--dark:hover { color: #fff !important; }
.v2 a.v2-btn--ghost { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.45); font-weight: 700; }
.v2 a.v2-btn--ghost:hover { box-shadow: inset 0 0 0 1.5px #fff; color: #fff !important; }
.v2 a.v2-btn--outline { background: transparent; color: var(--v2-ink) !important; box-shadow: inset 0 0 0 1.5px var(--v2-ink); font-weight: 700; }

.v2-eyebrow {
  display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: 1.6px;
  text-transform: uppercase; color: var(--v2-accent-ink);
}
.v2-head {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;
  gap: 12px; margin: 0 0 24px;
}
.v2-head h2 { margin: 0; font: 800 32px/1.15 var(--v2-font); letter-spacing: -.8px; color: var(--v2-ink); text-transform: none; }
.v2-head a { font-weight: 700; font-size: 14px; color: var(--v2-ink); border-bottom: 2px solid var(--v2-accent); padding-bottom: 2px; }

/* =====================================================================
   1. HERO: slider + 2 wyróżnienia
   ===================================================================== */
.v2-hero { display: flex; flex-wrap: wrap; gap: 20px; }
.v2-hero__slider {
  flex: 999 1 620px; min-width: 0; position: relative; overflow: hidden;
  border-radius: var(--v2-radius); background: var(--v2-dark); min-height: 460px;
}
.v2-hero__track { display: flex; height: 100%; min-height: inherit; transition: transform .6s cubic-bezier(.4,0,.2,1); }
.v2-hero__slider.is-static .v2-hero__track { transition: none; }

.v2-slide {
  --slide-bg: var(--v2-dark);
  position: relative; flex: 0 0 100%; min-height: inherit; overflow: hidden;
  background: var(--slide-bg); color: #fff;
  display: flex; flex-direction: column; justify-content: center; gap: 18px;
  padding: 56px 56px 52px;
}
/* Przed uruchomieniem skryptu widać tylko pierwszy slajd */
.v2-hero__slider:not(.is-ready) .v2-slide:not(:first-child) { display: none; }

.v2-slide > *:not(.v2-slide__media):not(.v2-slide__pattern) { position: relative; z-index: 2; max-width: 540px; }
.v2-slide__media {
  position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; width: 58%;
  background-size: cover; background-repeat: no-repeat; background-position: right center;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 34%);
          mask-image: linear-gradient(90deg, transparent 0, #000 34%);
}
.v2-slide__pattern { position: absolute; z-index: 1; right: -40px; top: 0; height: 100%; width: 62%; pointer-events: none; }

.v2-slide .v2-slide__eyebrow {
  align-self: flex-start; font-size: 12px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase;
  color: #fb923c; border: 1px solid #fb923c; border-radius: 99px; padding: 6px 12px; line-height: 1.2;
}
.v2-slide .v2-slide__title {
  margin: 0; color: #fff; font: 800 52px/1.04 var(--v2-font); letter-spacing: -1.5px; text-transform: none;
}
.v2-slide .v2-slide__text { color: #c9cdd5; font-size: 17px; line-height: 1.6; }
.v2-slide .v2-slide__buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.v2-slide .v2-slide__facts {
  list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 28px;
  font-size: 13px; color: #c9cdd5;
}
.v2-slide .v2-slide__facts strong { display: block; color: #fff; font-size: 20px; font-weight: 800; }

/* Jasny slajd: <div class="v2-slide v2-slide--light"> */
.v2-slide--light { --slide-bg: #f5f6f8; color: var(--v2-ink); }
.v2-slide--light .v2-slide__title { color: var(--v2-ink); }
.v2-slide--light .v2-slide__text, .v2-slide--light .v2-slide__facts { color: var(--v2-ink-2); }
.v2-slide--light .v2-slide__facts strong { color: var(--v2-ink); }
.v2-slide--light .v2-slide__eyebrow { color: var(--v2-accent-ink); border-color: var(--v2-accent-ink); }
.v2-slide--light a.v2-btn--ghost { color: var(--v2-ink) !important; box-shadow: inset 0 0 0 1.5px var(--v2-ink); }

/* Slajd-obrazek (gotowa grafika z tekstem): <a class="v2-slide v2-slide--image"><img></a> */
.v2-slide--image { padding: 0; display: block; }
.v2-slide--image img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }

/* Sterowanie sliderem */
.v2-hero__nav {
  position: absolute; z-index: 5; left: 56px; bottom: 22px; display: flex; align-items: center; gap: 8px;
}
.v2-hero__dot {
  width: 28px; height: 28px; padding: 0; border: 0; background: transparent; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.v2-hero__dot::before { content: ""; width: 8px; height: 8px; border-radius: 99px; background: rgba(255,255,255,.45); transition: all .25s ease; }
.v2-hero__dot[aria-current="true"]::before { width: 26px; background: var(--v2-accent); }
.v2-hero__arrows { position: absolute; z-index: 5; right: 20px; bottom: 18px; display: flex; gap: 8px; }
.v2-hero__arrow {
  width: 44px; height: 44px; border-radius: 99px; border: 0; cursor: pointer;
  background: rgba(255,255,255,.14); color: #fff; display: inline-flex; align-items: center; justify-content: center;
  transition: background .2s ease;
}
.v2-hero__arrow:hover { background: rgba(255,255,255,.28); }
.v2-hero__slider.is-light .v2-hero__dot::before { background: rgba(17,19,24,.25); }
.v2-hero__slider.is-light .v2-hero__dot[aria-current="true"]::before { background: var(--v2-accent-ink); }
.v2-hero__slider.is-light .v2-hero__arrow { background: rgba(17,19,24,.08); color: var(--v2-ink); }
.v2-hero__dot:focus-visible, .v2-hero__arrow:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }

/* Wyróżnienia po prawej */
.v2-hero__side { flex: 1 1 300px; display: flex; flex-direction: column; gap: 20px; }
.v2 a.v2-promo {
  position: relative; overflow: hidden; flex: 1; min-height: 200px; border-radius: var(--v2-radius);
  background: var(--v2-surface); color: var(--v2-ink); padding: 28px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 16px;
  background-size: cover; background-position: center;
  transition: transform .2s ease, box-shadow .2s ease;
}
.v2 a.v2-promo:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(17,19,24,.10); color: var(--v2-ink); }
.v2-promo > * { position: relative; z-index: 2; }
.v2 a.v2-promo .v2-promo__label { font-size: 12px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: var(--v2-ink-2) !important; }
.v2-promo__title { font-size: 26px; font-weight: 800; line-height: 1.15; letter-spacing: -.5px; max-width: 70%; }
.v2-promo__cta { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.v2-promo__img {
  position: absolute !important; z-index: 1 !important; right: -6px; bottom: -6px; width: 46%; max-height: 92%;
  object-fit: contain; object-position: right bottom; pointer-events: none;
}
.v2 a.v2-promo--warm { background-color: var(--v2-accent-soft); }
.v2 a.v2-promo--warm .v2-promo__label { color: var(--v2-accent-ink) !important; }
.v2 a.v2-promo--dark { background-color: var(--v2-ink); color: #fff; }
.v2 a.v2-promo--dark:hover { color: #fff; }
.v2 a.v2-promo--dark .v2-promo__label { color: #fb923c !important; }

/* =====================================================================
   2. ATUTY
   ===================================================================== */
.v2-usp {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--v2-line); border-radius: 16px; background: #fff;
}
.v2-usp li { display: flex; gap: 14px; align-items: center; padding: 20px 22px; border-left: 1px solid var(--v2-line); font-size: 13px; color: var(--v2-ink-2); line-height: 1.4; }
.v2-usp li:first-child { border-left: 0; }
.v2-usp strong { display: block; color: var(--v2-ink); font-size: 15px; font-weight: 800; }
.v2-usp svg { color: var(--v2-accent-ink); }

/* =====================================================================
   3. KATEGORIE
   ===================================================================== */
.v2-cats { margin-top: 0; }
.v2 a.v2-head__link { border: 0; padding: 0; color: var(--v2-accent-ink) !important; font-size: 15px; }
/* 6 kafli w jednym rzędzie; na węższych ekranach rząd przewija się w bok */
.v2-cats__grid {
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(160px, 1fr); gap: 16px;
  overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; scrollbar-width: none;
}
.v2-cats__grid::-webkit-scrollbar { display: none; }
.v2 a.v2-cat { display: flex; flex-direction: column; gap: 6px; min-width: 0; scroll-snap-align: start; }
.v2-cat__img {
  display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px;
  background: var(--v2-surface); margin-bottom: 8px; transition: transform .25s ease, filter .25s ease;
}
.v2 a.v2-cat:hover .v2-cat__img { filter: brightness(1.05); transform: translateY(-2px); }
.v2 a.v2-cat .v2-cat__img--promo {
  display: flex; align-items: center; justify-content: center; background: #1c1d21;
  color: var(--v2-accent) !important; font-size: 64px; font-weight: 800; line-height: 1;
}
.v2 a.v2-cat .v2-cat__name { font-weight: 800; font-size: 16px; line-height: 1.25; }
.v2 a.v2-cat .v2-cat__sub { font-size: 13px; color: var(--v2-ink-2) !important; }

/* =====================================================================
   4. B2B
   ===================================================================== */
.v2-b2b {
  border-radius: var(--v2-radius); background: var(--v2-ink); color: #fff;
  padding: 40px 44px; display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: space-between;
}
.v2-b2b .v2-eyebrow { color: #fb923c; }
.v2-b2b h2 { margin: 10px 0 0; color: #fff; font: 800 30px/1.2 var(--v2-font); letter-spacing: -.6px; text-transform: none; }
.v2-b2b__main { flex: 1 1 360px; }
.v2-b2b ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; color: #c9cdd5; font-size: 15px; flex: 1 1 300px; }
.v2-b2b li { display: flex; gap: 10px; align-items: center; }
.v2-b2b li svg { color: #fb923c; }

/* =====================================================================
   5. SALON
   ===================================================================== */
.v2-salon { display: flex; flex-wrap: wrap; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); overflow: hidden; background: #fff; }
.v2-salon__text { flex: 1 1 420px; padding: 44px; display: flex; flex-direction: column; gap: 18px; }
.v2-salon h2 { margin: 0; font: 800 32px/1.15 var(--v2-font); letter-spacing: -.8px; color: var(--v2-ink); text-transform: none; }
.v2-salon__text > p { color: var(--v2-ink-2); font-size: 15px; line-height: 1.65; }
.v2-salon dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; font-size: 14px; }
.v2-salon dt { color: var(--v2-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; }
.v2-salon dd { margin: 4px 0 0; font-weight: 700; color: var(--v2-ink); }
.v2-salon__buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.v2-salon__map { flex: 1 1 380px; min-height: 340px; background: #eef0f3; position: relative; }
.v2-salon__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* =====================================================================
   6. Strona główna – istniejące moduły w nowym stylu
   ===================================================================== */

/* ---------- „Polecane produkty”: nagłówek po lewej, przełącznik po prawej ---------- */
.shop_index .wce_tabs { margin-top: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.shop_index .wce_tabs > .v2-tabs-title { margin: 0; font: 800 32px/1.15 var(--v2-font); letter-spacing: -.8px; color: var(--v2-ink); text-transform: none; }
.shop_index .wce_tabs > .wce_content-tabs { flex: 0 0 100%; min-width: 0; }
.shop_index .wce_tabs > nav {
  display: inline-flex !important; flex-wrap: nowrap; gap: 4px; padding: 4px; margin: 0 !important;
  background: var(--v2-surface); border: 0 !important; border-radius: 12px; width: auto !important;
}
.shop_index .wce_tabs > nav::before, .shop_index .wce_tabs > nav::after { content: none !important; display: none !important; }
.shop_index .wce_tabs > nav a {
  font: 700 14px/1 var(--v2-font) !important; color: var(--v2-ink-2) !important; background: transparent !important;
  padding: 0 18px !important; min-height: 44px; border-radius: 9px; border: 0 !important; box-shadow: none;
  text-transform: none !important; letter-spacing: 0 !important; display: inline-flex; align-items: center; margin: 0 !important;
  transform: none !important; left: auto !important; right: auto !important; /* Hammer przesuwa zakładki o -5px */
}
.shop_index .wce_tabs > nav a.none { display: none !important; }
.shop_index .wce_tabs > nav a::before, .shop_index .wce_tabs > nav a::after { content: none !important; display: none !important; }
.shop_index .wce_tabs > nav a.wce_current { background: #fff !important; color: var(--v2-ink) !important; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.shop_index .wce_tabs .boxhead { display: none !important; }

/* ---------- Karty produktów w modułach strony głównej ---------- */
.wrap .v2-cards.box .slider-wrap,
.shop_index .wce_tabs .wce_content { height: auto !important; }
.wrap .v2-cards.box .product {
  position: relative; padding: 8px !important; text-align: left !important;
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "link link" "ship ship" "price buy"; align-items: end; column-gap: 8px;
}
/* ramka karty (rysowana pod treścią, z odstępem między kartami) */
.wrap .v2-cards.box .product::before {
  content: "" !important; display: block !important; position: absolute !important; inset: 8px !important; width: auto !important; height: auto !important;
  border: 1px solid var(--v2-line) !important; border-radius: 16px; background: #fff; z-index: 0; pointer-events: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
/* clearfix szablonu (.row::after) nie może być elementem siatki karty */
.wrap .v2-cards.box .product::after { content: none !important; display: none !important; }
.wrap .v2-cards.box .product:hover::before { border-color: var(--v2-ink) !important; box-shadow: 0 10px 28px rgba(17,19,24,.10); }

/* serduszko – dodaj do ulubionych */
.wrap .v2-cards.box .product .v2-fav {
  position: absolute !important; z-index: 3 !important; top: 18px; right: 18px; width: 40px; height: 40px; border-radius: 99px;
  background: #fff; color: var(--v2-ink) !important; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 1px 3px rgba(17,19,24,.12); text-decoration: none !important; transition: transform .15s ease, color .15s ease;
}
.wrap .v2-cards.box .product .v2-fav:hover { color: var(--v2-accent-ink) !important; transform: scale(1.06); }
.wrap .v2-cards.box .product .v2-fav:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
.wrap .v2-cards.box .product > * { position: relative; z-index: 1; }
.wrap .v2-cards.box .product > a.row {
  grid-area: link; display: block; border: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important;
  border-radius: 16px 16px 0 0; overflow: hidden; text-decoration: none !important;
}
.wrap .v2-cards.box .product .boximgsize { background: var(--v2-surface) !important; border-radius: 15px 15px 0 0; margin: 1px 1px 0 !important; }
.wrap .v2-cards.box .product .boximgsize img { mix-blend-mode: multiply; }
.wrap .v2-cards.box .product .productnamewrap {
  padding: 14px 16px 0 !important; margin: 0 !important; text-align: left !important; height: auto !important; min-height: 0 !important;
  display: flex !important; flex-direction: column; gap: 8px;
}
.wrap .v2-cards.box .product .v2-pcat {
  font: 700 11px/1.2 var(--v2-font); letter-spacing: .8px; text-transform: uppercase; color: var(--v2-muted);
}
.wrap .v2-cards.box .product .productnamewrap .productname {
  position: static !important; top: auto !important; left: auto !important; width: auto !important; padding: 0 !important; margin: 0 !important;
  font: 600 15px/1.4 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; text-align: left !important;
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 42px; height: auto !important; max-height: none !important;
}
.wrap .v2-cards.box .product .price::before,
.wrap .v2-cards.box .product .price::after,
.wrap .v2-cards.box .product .productnamewrap::before,
.wrap .v2-cards.box .product .productnamewrap::after { content: none !important; display: none !important; }
.wrap .v2-cards.box .product .tm-multihornet,
.wrap .v2-cards.box .product .wce_rate { display: none !important; }

/* nagłówek modułu produktów poza stroną główną (np. „Bestsellery” na karcie produktu) */
.wrap .v2-cards.box > .boxhead { display: block !important; border: 0 !important; background: none !important; padding: 0 !important; margin: 0 0 20px !important; height: auto !important; text-align: left !important; }
.wrap .v2-cards.box > .boxhead::before, .wrap .v2-cards.box > .boxhead::after,
.wrap .v2-cards.box > .boxhead span::before, .wrap .v2-cards.box > .boxhead span::after { content: none !important; display: none !important; }
.wrap .v2-cards.box > .boxhead span { font: 800 28px/1.2 var(--v2-font) !important; letter-spacing: -.6px; color: var(--v2-ink) !important; text-transform: none !important; background: none !important; padding: 0 !important; }
.wrap .v2-cards.box > .boxhead span img { display: none !important; }
.wce_tabs .v2-cards.box > .boxhead { display: none !important; }

/* „Wysyłka dziś” – widoczne tylko, gdy licznik wysyłki mówi „nadamy dziś” */
.wrap .v2-cards.box .product .v2-ship {
  grid-area: ship; display: none; align-items: center; gap: 7px; padding: 10px 16px 0;
  font: 600 12px/1.2 var(--v2-font); color: #15803d;
}
.wrap .v2-cards.box .product .v2-ship::before { content: ""; width: 7px; height: 7px; border-radius: 99px; background: #16a34a; flex: none; }
html.v2-ship-today .wrap .v2-cards.box .product .v2-ship { display: inline-flex; }

.wrap .v2-cards.box .product .price {
  grid-area: price; padding: 12px 0 18px 16px !important; margin: 0 !important; text-align: left !important;
  border: 0 !important; background: none !important; height: auto !important; min-height: 0 !important;
}
.wrap .v2-cards.box .product .price p,
.wrap .v2-cards.box .product .price .price-netto { margin: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; }
.wrap .v2-cards.box .product .price em { font: 800 22px/1.15 var(--v2-font) !important; color: var(--v2-ink) !important; letter-spacing: -.4px; }
.wrap .v2-cards.box .product .price del { color: var(--v2-muted) !important; font-size: 13px !important; }
.wrap .v2-cards.box .product .price .price-netto { display: block !important; margin-top: 2px; }
.wrap .v2-cards.box .product .price .price-netto em { font: 500 12px/1.2 var(--v2-font) !important; color: var(--v2-muted) !important; letter-spacing: 0; }
.wrap .v2-cards.box .product .price .price-netto em::after { content: " netto"; }

.wrap .v2-cards.box .product form.basket {
  grid-area: buy; padding: 0 16px 18px 0 !important; margin: 0 !important; border: 0 !important; background: none !important;
  height: auto !important; min-height: 0 !important; text-align: right !important;
}
.wrap .v2-cards.box .product form.basket fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; display: flex; justify-content: flex-end; }
.wrap .v2-cards.box .product form.basket .shaded_inputwrap,
.wrap .v2-cards.box .product form.basket .unit { display: none !important; }
.wrap .v2-cards.box .product .addtobasket {
  width: 46px !important; height: 46px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-ink) !important; color: #fff !important;
  display: inline-flex !important; align-items: center; justify-content: center; position: relative; box-shadow: none !important;
  font-size: 0 !important; transition: background .15s ease, transform .15s ease;
}
.wrap .v2-cards.box .product .addtobasket span,
.wrap .v2-cards.box .product .addtobasket img { display: none !important; }
.wrap .v2-cards.box .product .addtobasket::before {
  content: ""; width: 20px; height: 20px; background: currentColor; display: block;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Cpath d='M13 9v4M11 11h4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Cpath d='M13 9v4M11 11h4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wrap .v2-cards.box .product .addtobasket::after { content: none !important; }
.wrap .v2-cards.box .product .addtobasket:hover { background: var(--v2-accent-ink) !important; transform: translateY(-1px); }
.wrap .v2-cards.box .product .addtobasket:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }

@media (max-width: 767px) {
  .shop_index .wce_tabs > .v2-tabs-title { font-size: 24px; }
  .shop_index .wce_tabs > nav { width: 100% !important; }
  .shop_index .wce_tabs > nav a { flex: 1; justify-content: center; padding: 0 10px !important; }
  .wrap .v2-cards.box .product .price em { font-size: 18px !important; }
  .wrap .v2-cards.box .product .productnamewrap .productname { font-size: 13px !important; min-height: 36px; }
  .wrap .v2-cards.box .product .addtobasket { width: 44px !important; height: 44px !important; }
}

/* Blog na stronie głównej */

.shop_index #box_articlelist .boxhead,
.shop_index #box_articlelist .boxhead span { font: 800 32px/1.15 var(--v2-font) !important; letter-spacing: -.8px; color: var(--v2-ink); text-transform: none !important; }
.shop_index #box_articlelist .boxhead::after, .shop_index #box_articlelist .boxhead span::after { display: none !important; }
.shop_index #box_articlelist article {
  border: 1px solid var(--v2-line) !important; border-radius: 16px !important; overflow: hidden; background: #fff !important; box-shadow: none !important;
}
.shop_index #box_articlelist .article-name { font: 700 17px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; }
.shop_index #box_articlelist .article-info { color: var(--v2-muted) !important; font-size: 12px !important; }
.shop_index #box_articlelist .article-content { color: var(--v2-ink-2) !important; font-size: 14px !important; line-height: 1.6 !important; }
.shop_index #box_articlelist .article-content { max-height: none !important; overflow: hidden !important; }
.shop_index #box_articlelist .article-content p { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.shop_index #box_articlelist .readmore {
  background: transparent !important; color: var(--v2-ink) !important; border: 0 !important; text-transform: none !important;
  font: 700 14px/1 var(--v2-font) !important; text-decoration: underline; text-decoration-color: var(--v2-accent); text-underline-offset: 4px; text-decoration-thickness: 2px;
}

/* Newsletter – mała jasna karta na wszystkich stronach (zamiast zdjęcia w tle) */
.wrap #box_newsletter {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(300px, 520px); column-gap: 40px; row-gap: 6px; align-items: center;
  max-width: 1320px; width: auto !important; box-sizing: border-box; margin: 48px auto !important; padding: 32px 40px !important;
  background: var(--v2-surface) !important; background-image: none !important; border: 0 !important; border-radius: var(--v2-radius);
  text-align: left !important; color: var(--v2-ink); font-family: var(--v2-font); min-height: 0 !important; height: auto !important;
}
.wrap #box_newsletter::before, .wrap #box_newsletter::after { content: none !important; display: none !important; }
.wrap #box_newsletter > .boxhead { grid-column: 1; grid-row: 1; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; height: auto !important; }
.wrap #box_newsletter > .boxhead::before, .wrap #box_newsletter > .boxhead::after,
.wrap #box_newsletter > .boxhead span::before, .wrap #box_newsletter > .boxhead span::after { content: none !important; display: none !important; }
.wrap #box_newsletter > .boxhead span { font: 800 26px/1.2 var(--v2-font) !important; letter-spacing: -.5px; color: var(--v2-ink) !important; text-transform: none !important; padding: 0 !important; background: none !important; }
.wrap #box_newsletter > .boxhead span img { display: none !important; }
.wrap #box_newsletter > .innerbox { display: contents !important; }
.wrap #box_newsletter .boxintro {
  grid-column: 1; grid-row: 2; margin: 0 !important; padding: 0 !important; text-align: left !important;
  font: 500 15px/1.5 var(--v2-font) !important; color: var(--v2-ink-2) !important; text-transform: none !important;
}
.wrap #box_newsletter form { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; padding: 0 !important; width: 100% !important; }
.wrap #box_newsletter form fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; width: 100% !important; }
.wrap #box_newsletter .newsletter-input-container { display: flex !important; gap: 10px; max-width: none !important; }
.wrap #box_newsletter .newsletter-input {
  flex: 1 1 auto; min-width: 0; width: auto !important; height: 52px !important; margin: 0 !important; padding: 0 18px !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
.wrap #box_newsletter .newsletter-input:focus { border-color: var(--v2-ink) !important; outline: none; }
.wrap #box_newsletter .btn-red {
  flex: none; height: 52px !important; min-height: 0 !important; margin: 0 !important; padding: 0 24px !important; border: 0 !important;
  border-radius: 12px !important; background: var(--v2-ink) !important; color: #fff !important; box-shadow: none !important;
  font: 800 15px/1 var(--v2-font) !important; text-transform: none !important; display: inline-flex !important; align-items: center;
}
.wrap #box_newsletter .btn-red:hover { background: var(--v2-accent-ink) !important; }
.wrap #box_newsletter .btn-red { width: auto !important; min-width: 0 !important; max-width: none !important; position: relative; overflow: hidden; }
.wrap #box_newsletter .btn-red::before, .wrap #box_newsletter .btn-red::after { content: none !important; display: none !important; }
.wrap #box_newsletter > .boxhead span { display: block; text-align: left !important; }
.wrap #box_newsletter .newsletter-input-container { text-align: left !important; }
.wrap #box_newsletter .btn-red span { color: inherit !important; font: inherit !important; }
.wrap #box_newsletter .btn-red img { display: none !important; }
@media (max-width: 980px) {
  .wrap #box_newsletter { grid-template-columns: minmax(0, 1fr); padding: 24px 20px !important; margin: 32px 16px !important; }
  .wrap #box_newsletter form { grid-column: 1; grid-row: 3; margin-top: 10px !important; }
  .wrap #box_newsletter > .boxhead span { font-size: 22px !important; }
}

/* Karta produktu: duży baner „Darmowa dostawa” ukryty – ta informacja jest w pasku u góry i w kafelkach przy przycisku */
body.shop_product #box_freeshipping { display: none !important; }

/* =====================================================================
   RWD
   ===================================================================== */
@media (max-width: 1100px) {
  .v2-usp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-usp li:nth-child(3) { border-left: 0; }
  .v2-usp li:nth-child(n+3) { border-top: 1px solid var(--v2-line); }
  .v2-hero__side { flex-direction: row; flex-basis: 100%; }
  .v2 a.v2-promo { min-height: 170px; }
}
@media (max-width: 767px) {
  .v2-hero { gap: 12px; }
  .v2-hero__slider { min-height: 0; border-radius: 16px; }
  .v2-slide { padding: 0 22px 76px; justify-content: flex-start; gap: 14px; }
  .v2-slide__media {
    position: relative; width: auto; height: 190px; margin: 0 -22px 4px; order: -1;
    -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent 100%);
            mask-image: linear-gradient(180deg, #000 60%, transparent 100%);
  }
  .v2-slide:not(:has(.v2-slide__media)) { padding-top: 28px; }
  .v2-slide__pattern { width: 100%; right: 0; height: 60%; top: auto; bottom: 0; opacity: .35; }
  .v2-slide .v2-slide__title { font-size: 32px; letter-spacing: -.8px; }
  .v2-slide .v2-slide__text { font-size: 15px; }
  .v2-slide .v2-slide__facts { display: none; }
  .v2-slide .v2-slide__buttons a.v2-btn--ghost { display: none; }
  .v2-slide--image { aspect-ratio: 16 / 9; padding: 0; }
  .v2-hero__nav { left: 14px; bottom: 16px; }
  .v2-hero__arrows { right: 12px; bottom: 12px; }
  .v2-hero__side { gap: 12px; }
  .v2 a.v2-promo { padding: 18px; min-height: 130px; border-radius: 16px; }
  .v2-promo__title { font-size: 18px; max-width: 100%; }
  .v2-promo__img { display: none; }
  .v2-cats__grid { grid-auto-columns: 42%; gap: 12px; }
  .v2 a.v2-cat .v2-cat__name { font-size: 14px; }
  .v2-usp li { padding: 14px; flex-direction: column; align-items: flex-start; gap: 8px; }
  .v2-usp strong { font-size: 14px; }
  .v2 a.v2-promo .v2-promo__label { font-size: 10px; letter-spacing: 1px; }
  .v2-head h2, .v2-salon h2 { font-size: 24px; }
  .v2-b2b { padding: 26px 22px; }
  .v2-b2b h2 { font-size: 22px; }
  .v2-salon__text { padding: 26px 22px; }
  .v2-salon__map { min-height: 260px; }
}
@media (prefers-reduced-motion: reduce) {
  .v2-hero__track, .v2 a.v2-promo, .v2 a.v2-cat, .v2-btn { transition: none !important; }
}

/* Gdy na stronie jest nowy hero V2, stary slider aplikacji WebCoders jest ukrywany */
.v2-has-hero [id^="box_wce_slider-"] { display: none !important; }

/* =====================================================================
   7. NAGŁÓWEK SKLEPU (wszystkie strony)
   Pasek informacyjny budowany przez js/v2_smartled.js, reszta to przestylowany
   nagłówek szablonu (logo, wyszukiwarka, Konto, Ulubione, Koszyk).
   ===================================================================== */
.v2-topbar { background: var(--v2-dark); color: #d7dae0; font: 500 13px/1.3 var(--v2-font); position: relative; z-index: 60; }
.v2-topbar a { color: #d7dae0; text-decoration: none; }
.v2-topbar a:hover { color: #fff; }
.v2-topbar__in {
  max-width: 1320px; margin: 0 auto; padding: 8px 20px; box-sizing: border-box;
  display: flex; flex-wrap: wrap; gap: 6px 28px; justify-content: space-between; align-items: center; min-height: 40px;
}
.v2-topbar__left, .v2-topbar__right { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 26px; }
.v2-topbar__item { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.v2-topbar__item svg { color: #fb923c; flex: none; }
.v2-topbar a.v2-topbar__phone { color: #fff; font-weight: 800; display: inline-flex; align-items: center; gap: 8px; }
.v2-topbar a.v2-topbar__phone svg { color: #fb923c; }

/* licznik „Zamów w ciągu” (aplikacja WebCoders) przeniesiony do paska */
.v2-topbar .wceShippingCounter-wrap { display: inline-block !important; background: none !important; padding: 0 !important; margin: 0 !important; width: auto !important; height: auto !important; border: 0 !important; box-shadow: none !important; }
.v2-topbar .wceShippingCounter-innerwrap { display: inline-flex !important; align-items: center; gap: 6px; padding: 0 !important; margin: 0 !important; width: auto !important; max-width: none !important; }
.v2-topbar .wceShippingCounter-wrap .wce_text,
.v2-topbar .wceShippingCounter-wrap .wce_text p { display: inline !important; margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit !important; white-space: nowrap; }
.v2-topbar #wceShippingCounter { display: inline-flex !important; align-items: center; gap: 0 !important; margin: 0 !important; padding: 0 !important; }
.v2-topbar #wceShippingCounter .wce_item { display: inline-flex !important; background: none !important; padding: 0 !important; margin: 0 !important; min-width: 0 !important; width: auto !important; height: auto !important; border: 0 !important; box-shadow: none !important; }
.v2-topbar #wceShippingCounter .wce_item.none { display: none !important; }
.v2-topbar #wceShippingCounter .wce_item::before,
.v2-topbar #wceShippingCounter .wce_item::after { content: none !important; display: none !important; }
.v2-topbar #wceShippingCounter .wce_item b { color: #fff !important; font: 800 13px/1.3 var(--v2-font) !important; font-variant-numeric: tabular-nums; background: none !important; padding: 0 !important; margin: 0 !important; border: 0 !important; min-width: 0 !important; }
.v2-topbar #wceShippingCounter .wce_item.min b::before,
.v2-topbar #wceShippingCounter .wce_item.sec b::before { content: ":"; }
.v2-topbar #wceShippingCounter .wce_item.day b::after { content: " d "; }

/* język i waluta przeniesione do paska */
.v2-topbar .wce_i18n-container { position: static !important; display: flex !important; align-items: center; gap: 4px; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.v2-topbar .wce_i18n-container .boxhead { position: relative !important; height: auto !important; min-height: 0 !important; padding: 2px 8px !important; margin: 0 !important; border: 0 !important; background: none !important; cursor: pointer; display: flex; align-items: center; }
.v2-topbar .wce_i18n-container .boxhead > span { display: none !important; }
.v2-topbar .wce_i18n-container .wce_currency { display: inline-flex !important; align-items: center; }
.v2-topbar .wce_i18n-container .wce_currency::before { content: none !important; display: none !important; }
.v2-topbar .wce_i18n-container .wce_currency b { display: inline !important; color: #d7dae0 !important; font: 700 12px var(--v2-font) !important; }
.v2-topbar .wce_i18n-container .submenu { top: 100% !important; right: 0 !important; left: auto !important; z-index: 70; }

@media screen and (min-width: 981px) {
  .wrap > header.row { display: block !important; background: #fff; border-bottom: 1px solid var(--v2-line); padding: 0 !important; }
  .wrap > header .login-bar { display: none !important; }
  .wrap > header .logo-bar {
    display: flex !important; align-items: center; gap: 28px; position: relative;
    max-width: 1320px; width: auto !important; margin: 0 auto !important; padding: 16px 20px !important; box-sizing: border-box; float: none !important;
  }
  .wrap > header .logo-bar > * { float: none !important; }
  .wrap > header .logo-bar > .link-logo { order: 1; flex: none; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; display: flex; align-items: center; }
  .wrap > header .logo-bar > .link-logo img { max-height: 56px; width: auto; height: auto; }
  .wrap > header .logo-bar > #box_wce_headerinfo { display: none !important; }
  .wrap > header .logo-bar > .search__container,
  .wrap > header .logo-bar > form.search-form { order: 2; flex: 1 1 420px; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; position: relative; }
  .wrap > header .logo-bar > .v2-hactions { order: 3; }
  .wrap > header .logo-bar > .basket { order: 4; position: relative !important; top: auto !important; left: auto !important; right: auto !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
  .wrap > header .logo-bar > .basket-contain { top: 100% !important; right: 20px !important; left: auto !important; z-index: 80; }
  .wrap > header .logo-bar > .wce_i18n-container { display: none !important; }
}

/* wyszukiwarka */
.wrap > header .search__input-area {
  border: 1.5px solid var(--v2-ink) !important; border-radius: 12px !important; height: 50px !important;
  overflow: hidden; background: #fff !important; box-shadow: none !important;
}
.wrap > header .search__input-area-item_grow { height: 100%; }
.wrap > header .search__input {
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important; height: 100% !important;
  padding: 0 18px !important; border: 0 !important; background: none !important; box-shadow: none !important; outline: none;
}
.wrap > header .search__input::placeholder { color: var(--v2-muted); }
.wrap > header .search__btn-search {
  height: 100% !important; min-height: 0 !important; width: auto !important; padding: 0 22px !important; margin: 0 !important;
  border: 0 !important; border-radius: 0 !important; background: var(--v2-ink) !important; color: #fff !important; gap: 8px;
  font: 700 14px var(--v2-font) !important; text-transform: none !important;
}
.wrap > header .search__btn-search .fa { color: #fff !important; font-size: 17px !important; }
.wrap > header .search__btn-search::after { content: "Szukaj"; }
.wrap > header .search__input-area > .search__input-area-item:last-child { height: 100%; display: flex; align-items: stretch; }

/* Konto, Ulubione */
.v2-hactions { display: flex; align-items: center; gap: 4px; font-family: var(--v2-font); }
.v2-hbtn {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  min-width: 64px; min-height: 52px; padding: 4px 10px; border-radius: 10px;
  font: 600 12px/1.2 var(--v2-font); color: var(--v2-ink) !important; text-decoration: none !important;
}
.v2-hbtn:hover { background: var(--v2-surface); color: var(--v2-ink) !important; }
.v2-hbtn svg { width: 22px; height: 22px; }
.v2-acc { position: relative; }
.v2-acc__menu {
  position: absolute; top: 100%; right: 0; z-index: 90; min-width: 220px; padding: 8px;
  background: #fff; border: 1px solid var(--v2-line); border-radius: 14px; box-shadow: 0 16px 40px rgba(17,19,24,.14);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
}
.v2-acc:hover .v2-acc__menu, .v2-acc:focus-within .v2-acc__menu, .v2-acc.is-open .v2-acc__menu {
  opacity: 1; visibility: visible; transform: none; transition-delay: 0s;
}
.v2-acc__menu ul.links { display: flex !important; flex-direction: column; gap: 2px; margin: 0 !important; padding: 0 !important; list-style: none !important; position: static !important; width: auto !important; height: auto !important; background: none !important; }
.v2-acc__menu ul.links li { display: block !important; margin: 0 !important; padding: 0 !important; width: auto !important; height: auto !important; border: 0 !important; float: none !important; }
.v2-acc__menu ul.links li.hello { padding: 8px 12px !important; font-size: 13px; color: var(--v2-ink-2); }
.v2-acc__menu ul.links a {
  display: flex !important; align-items: center; gap: 10px; padding: 10px 12px !important; border-radius: 9px; width: auto !important; height: auto !important;
  font: 600 14px/1.2 var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: none !important; background: none !important; cursor: pointer;
}
.v2-acc__menu ul.links a:hover { background: var(--v2-surface) !important; }
.v2-acc__menu ul.links a span { display: inline !important; color: inherit !important; font: inherit !important; }

/* koszyk */
.wrap > header .logo-bar > .basket a.count {
  display: flex !important; align-items: center; gap: 10px; min-height: 52px; padding: 0 18px !important; border-radius: 12px;
  background: var(--v2-surface) !important; color: var(--v2-ink) !important; text-decoration: none !important; border: 0 !important;
  width: auto !important; height: auto !important; position: relative;
}
.wrap > header .logo-bar > .basket a.count::before {
  content: ""; width: 24px; height: 24px; background: currentColor; flex: none; position: static !important; margin: 0 !important; border: 0 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wrap > header .logo-bar > .basket a.count::after { content: none !important; }
.wrap > header .logo-bar > .basket a.count > img { display: none !important; }
.wrap > header .logo-bar > .basket .countlabel { display: flex !important; align-items: center; gap: 6px; font: 700 14px/1.2 var(--v2-font) !important; color: var(--v2-ink) !important; position: static !important; margin: 0 !important; padding: 0 !important; }
.wrap > header .logo-bar > .basket .countlabel > span { display: none !important; }
.wrap > header .logo-bar > .basket .countlabel b { font: inherit !important; color: inherit !important; display: inline-flex; gap: 6px; align-items: center; }
.wrap > header .logo-bar > .basket.empty-basket .countlabel b { font-size: 0 !important; }
.wrap > header .logo-bar > .basket.empty-basket .countlabel b::after { content: "Koszyk"; font: 700 14px/1.2 var(--v2-font); }
/* licznik sztuk: Shoper wypisuje „(3)” – nawiasy ukrywamy, sama liczba jest plakietką na ikonie */
.wrap > header .logo-bar > .basket .countlabel b.count {
  font-size: 0 !important; line-height: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important;
  min-width: 0 !important; width: 0 !important; height: 0 !important; display: inline !important; overflow: visible !important;
}
.wrap > header .logo-bar > .basket .countlabel b.count span {
  position: absolute !important; top: 6px !important; left: 30px !important; right: auto !important; bottom: auto !important; transform: none !important;
  min-width: 20px; height: 20px; padding: 0 5px !important; margin: 0 !important; border-radius: 99px !important; box-sizing: border-box;
  background: var(--v2-accent-ink) !important; color: #fff !important; border: 2px solid var(--v2-surface) !important;
  font: 800 11px/16px var(--v2-font) !important; text-align: center; display: inline-block !important;
}
.wrap > header .logo-bar > .basket .countlabel b.count span::before,
.wrap > header .logo-bar > .basket .countlabel b.count span::after,
.wrap > header .logo-bar > .basket .countlabel b.count::before,
.wrap > header .logo-bar > .basket .countlabel b.count::after { content: none !important; display: none !important; }

/* pasek menu pod nagłówkiem */
@media screen and (min-width: 981px) {
  .wrap > .menu.row { background: #fff !important; border-bottom: 1px solid var(--v2-line); }
  .wrap > .menu.row .menu-list > li { background: none !important; border: 0 !important; margin: 0 2px 0 0 !important; }
  .wrap > .menu.row .menu-list > li > h3 > a,
  .wrap > .menu.row .menu-list > li > a {
    background: none !important; border: 0 !important; color: var(--v2-ink) !important;
    font: 600 14px/1 var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important;
  }
  .wrap > .menu.row .menu-list > li > h3 > a:hover,
  .wrap > .menu.row .menu-list > li > a:hover { color: var(--v2-accent-ink) !important; }
  /* pierwsza pozycja (Katalog produktów) jako pomarańczowy przycisk */
  .wrap > .menu.row .menu-list > li#hcategory_0 > h3 > a {
    background: var(--v2-accent) !important; color: var(--v2-ink) !important; font-weight: 800 !important;
    border-radius: 10px; padding: 0 18px !important; min-height: 40px; display: inline-flex !important; align-items: center; margin: 6px 8px 6px 0 !important;
  }
}

/* nagłówek na telefonie: pasek informacyjny w skróconej wersji */
@media screen and (max-width: 980px) {
  .v2-topbar__in { justify-content: center; padding: 7px 12px; min-height: 0; }
  .v2-topbar__right, .v2-topbar__item--salon, .v2-topbar__item--dhl { display: none !important; }
  .v2-topbar { font-size: 12px; }
  .v2-hactions { display: none !important; }
}

/* =====================================================================
   8. KARTA PRODUKTU
   Opis produktu (HTML z Allegro) zostaje bez zmian – zmienia się tylko oprawa:
   galeria, nazwa, cena, dostępność, przycisk koszyka i nagłówki sekcji.
   ===================================================================== */

/* Karta produktu na pełnej szerokości – lewa kolumna (Menu, Tłumacz) ukryta.
   Docelowo wyłącz ją też w panelu: Wygląd › Układ › Szczegóły produktu › lewa kolumna. */
@media screen and (min-width: 981px) {
  body.shop_product .main .leftcol { display: none !important; }
  body.shop_product .main .centercol { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; margin-left: 0 !important; float: none !important; }
}
/* licznik wysyłki nad kartą – jest już w pasku u góry i w panelu zakupu */
body.shop_product #box_wce_licznikwysylki { display: none !important; }

/* okruszki */
body.shop_product .breadcrumbs { background: none !important; border: 0 !important; }
body.shop_product .breadcrumbs, body.shop_product .breadcrumbs a, body.shop_product .breadcrumbs span { font: 500 13px/1.4 var(--v2-font) !important; color: var(--v2-ink-2) !important; text-transform: none !important; }
body.shop_product .breadcrumbs li.last span { color: var(--v2-ink) !important; font-weight: 600 !important; }

/* układ: galeria | informacje */
body.shop_product #box_productfull { margin-top: 8px !important; border: 0 !important; background: none !important; padding: 0 !important; }
body.shop_product #box_productfull > .boxhead { display: none !important; }
body.shop_product #box_productfull .innerbox { padding: 0 !important; border: 0 !important; background: none !important; }
body.shop_product #box_productfull .maininfo > .f-row {
  display: grid !important; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 48px; align-items: start; margin: 0 !important;
}
body.shop_product #box_productfull .maininfo > .f-row::before,
body.shop_product #box_productfull .maininfo > .f-row::after { content: none !important; display: none !important; }
body.shop_product #box_productfull .maininfo > .f-row > div {
  width: auto !important; max-width: none !important; height: auto !important; float: none !important; margin: 0 !important; padding: 0 !important;
}
body.shop_product #box_productfull .productimg { position: sticky; top: 90px; }

/* galeria */
body.shop_product #box_productfull .mainimg {
  background: var(--v2-surface) !important; border: 0 !important; border-radius: var(--v2-radius); padding: 28px !important;
  height: auto !important; display: flex !important; align-items: center; justify-content: center; position: relative; overflow: hidden;
}
body.shop_product #box_productfull .mainimg img.photo { mix-blend-mode: multiply; max-width: 100%; height: auto; border: 0 !important; }
body.shop_product #box_productfull .mainimg .tags,
body.shop_product #box_productfull .mainimg [class*="wce_tag"] { top: 16px !important; left: 16px !important; }
body.shop_product #box_productfull .mainimg .tags li,
body.shop_product #box_productfull .mainimg .tags li span {
  background: var(--v2-ink) !important; color: #fff !important; border-radius: 6px !important; font: 800 11px/1 var(--v2-font) !important; letter-spacing: .5px;
}
body.shop_product #box_productfull .smallgallery { margin-top: 14px !important; height: auto !important; border: 0 !important; }
body.shop_product #box_productfull .smallgallery .wce_gallery { gap: 10px; }
body.shop_product #box_productfull .smallgallery li { padding: 0 !important; margin: 0 !important; border: 0 !important; }
body.shop_product #box_productfull .smallgallery li a {
  display: flex !important; width: 76px; height: 76px; border-radius: 12px; overflow: hidden; background: var(--v2-surface) !important;
  border: 1px solid var(--v2-line) !important; padding: 4px !important; box-sizing: border-box;
}
body.shop_product #box_productfull .smallgallery li a.current { border: 2px solid var(--v2-ink) !important; }
body.shop_product #box_productfull .smallgallery li img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }

/* informacje: kod, nazwa */
.v2-pd-meta { font: 600 13px/1.4 var(--v2-font); color: var(--v2-muted); margin: 0 0 10px; }
.v2-pd-meta a { color: var(--v2-ink-2) !important; text-decoration: none !important; }
body.shop_product .v2-pd-head h1.name {
  margin: 0 0 22px !important; padding: 0 !important; border: 0 !important;
  font: 800 30px/1.2 var(--v2-font) !important; letter-spacing: -.6px; color: var(--v2-ink) !important; text-transform: none !important;
}
body.shop_product .v2-pd-head h1.name::before, body.shop_product .v2-pd-head h1.name::after { content: none !important; display: none !important; }
body.shop_product #box_productfull .availability .manufacturer,
body.shop_product #box_productfull .availability .code,
body.shop_product #box_productfull .productdetails-more .manufacturer,
body.shop_product #box_productfull .productdetails-more .code { display: none !important; }

/* panel zakupu */
body.shop_product #box_productfull .bottomborder { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; }
body.shop_product #box_productfull .bottomborder::before, body.shop_product #box_productfull .bottomborder::after { content: none !important; }
body.shop_product #box_productfull .basket { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
body.shop_product #box_productfull .price,
body.shop_product #box_productfull .price-netto { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
body.shop_product #box_productfull .price .price-name,
body.shop_product #box_productfull .price-netto .price-name,
body.shop_product #box_productfull .price-netto .tax-additional-info { display: none !important; }
body.shop_product #box_productfull .price .price__container { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
body.shop_product #box_productfull .price em.main-price { font: 800 40px/1.1 var(--v2-font) !important; letter-spacing: -1px; color: var(--v2-ink) !important; }
body.shop_product #box_productfull .price del { font: 600 18px var(--v2-font) !important; color: var(--v2-muted) !important; }
body.shop_product #box_productfull .price .tax-additional-info { flex: 0 0 100%; order: 5; font: 500 12px var(--v2-font) !important; color: var(--v2-muted) !important; margin: 2px 0 0 !important; }
body.shop_product #box_productfull .price-netto { margin-top: 4px !important; }
body.shop_product #box_productfull .price-netto em.main-price { font: 600 15px/1.3 var(--v2-font) !important; color: var(--v2-ink-2) !important; letter-spacing: 0; }
body.shop_product #box_productfull .price-netto em.main-price::after { content: " netto"; }

/* dostępność i dostawa – karta */
body.shop_product #box_productfull .availability { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.shop_product #box_productfull .v2-pd-status {
  margin: 22px 0 0; border: 1px solid var(--v2-line); border-radius: 16px; overflow: hidden; font-family: var(--v2-font);
}
body.shop_product #box_productfull .v2-pd-status .availability,
body.shop_product #box_productfull .v2-pd-status .delivery,
body.shop_product #box_productfull .v2-pd-status .shipping-costs,
body.shop_product #box_productfull .v2-pd-status .v2-pd-row {
  display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 13px 18px !important; margin: 0 !important;
  border: 0 !important; border-top: 1px solid var(--v2-line) !important; height: auto !important; width: auto !important; float: none !important;
  font-size: 14px !important; color: var(--v2-ink-2) !important;
}
body.shop_product #box_productfull .v2-pd-status > :first-child,
body.shop_product #box_productfull .v2-pd-status > .row:first-child > :first-child { border-top: 0 !important; }
body.shop_product #box_productfull .v2-pd-status .first { width: auto !important; min-width: 96px; float: none !important; color: var(--v2-muted) !important; font: 500 13px var(--v2-font) !important; }
body.shop_product #box_productfull .v2-pd-status .second { width: auto !important; float: none !important; color: var(--v2-ink) !important; font: 700 14px var(--v2-font) !important; }
body.shop_product #box_productfull .v2-pd-status .availability .second::before {
  content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 99px; background: #16a34a; margin-right: 8px; vertical-align: 1px;
}
body.shop_product #box_productfull .v2-pd-status .showShippingCost { font: 600 13px var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; margin-left: auto; }
body.shop_product #box_productfull .v2-pd-status .v2-pd-row--ship { background: #f0fdf4; color: #166534 !important; font-weight: 700 !important; }
body.shop_product #box_productfull .v2-pd-status .v2-pd-row--ship::before { content: ""; width: 8px; height: 8px; border-radius: 99px; background: #16a34a; }
body.shop_product #box_productfull .v2-pd-status .v2-pd-row--later { background: var(--v2-surface); color: var(--v2-ink) !important; }
body.shop_product #box_productfull .v2-pd-status .v2-pd-row--later::before { background: var(--v2-muted); }

/* ilość + przycisk */
body.shop_product #box_productfull form.form-basket { margin: 22px 0 0 !important; padding: 0 !important; }
body.shop_product #box_productfull .addtobasket-container { display: flex !important; gap: 10px; align-items: stretch; margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.shop_product #box_productfull .quantity_wrap { display: flex !important; flex: none !important; align-items: center; margin: 0 !important; padding: 0 !important; width: auto !important; min-width: 0 !important; float: none !important; }
body.shop_product #box_productfull .quantity_wrap .quantity_name,
body.shop_product #box_productfull .quantity_wrap .unit { display: none !important; }
body.shop_product #box_productfull .quantity_wrap .number-wrap {
  display: flex !important; align-items: stretch; height: 56px; border: 1px solid #d2d6dc; border-radius: 12px; overflow: hidden; background: #fff; position: relative;
}
body.shop_product #box_productfull .quantity_wrap input[name="quantity"] {
  order: 2; width: 44px !important; height: 100% !important; border: 0 !important; background: none !important; box-shadow: none !important;
  text-align: center; font: 800 16px var(--v2-font) !important; color: var(--v2-ink) !important; padding: 0 !important; margin: 0 !important; -moz-appearance: textfield;
}
body.shop_product #box_productfull .quantity_wrap input[name="quantity"]::-webkit-inner-spin-button,
body.shop_product #box_productfull .quantity_wrap input[name="quantity"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.shop_product #box_productfull .quantity_wrap .wce_qdec,
body.shop_product #box_productfull .quantity_wrap .wce_qinc {
  position: static !important; width: 46px !important; height: 100% !important; display: flex !important; align-items: center; justify-content: center;
  border: 0 !important; background: none !important; font: 600 20px/1 var(--v2-font) !important; color: var(--v2-ink) !important; cursor: pointer; margin: 0 !important; padding: 0 !important;
}
body.shop_product #box_productfull .quantity_wrap .wce_qdec { order: 1; }
body.shop_product #box_productfull .quantity_wrap .wce_qinc { order: 3; }
body.shop_product #box_productfull .quantity_wrap .wce_qdec:hover,
body.shop_product #box_productfull .quantity_wrap .wce_qinc:hover { background: var(--v2-surface) !important; }
body.shop_product #box_productfull .button_wrap { flex: 1 1 0 !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
body.shop_product #box_productfull .button_wrap .addtobasket {
  width: 100% !important; height: 56px !important; min-height: 0 !important; margin: 0 !important; padding: 0 20px !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important; box-shadow: none !important;
  display: flex !important; align-items: center; justify-content: center; gap: 10px; text-transform: none !important;
  font: 800 16px/1 var(--v2-font) !important; letter-spacing: 0 !important; transition: filter .15s ease, transform .15s ease;
}
body.shop_product #box_productfull .button_wrap .addtobasket:hover { filter: brightness(1.06); transform: translateY(-1px); }
body.shop_product #box_productfull .button_wrap .addtobasket span { color: inherit !important; font: inherit !important; }
body.shop_product #box_productfull .button_wrap .addtobasket img { display: none !important; }
body.shop_product #box_productfull .button_wrap .addtobasket::before {
  content: ""; width: 20px; height: 20px; background: currentColor; flex: none; position: static !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.shop_product #box_productfull .button_wrap .addtobasket::after { content: none !important; }
body.shop_product #box_productfull .js__product-availability:not(.none) {
  margin: 16px 0 0 !important; padding: 14px 18px; border-radius: 12px; background: #fef2f2; color: #991b1b; font: 700 15px var(--v2-font) !important;
}

/* przechowalnia, zapytaj, poleć */
body.shop_product #box_productfull .productdetails-more-details { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.shop_product #box_productfull a.addtofav,
body.shop_product #box_productfull .links-q a {
  display: inline-flex !important; align-items: center; gap: 8px; min-height: 40px; padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important;
  font: 600 13px var(--v2-font) !important; color: var(--v2-ink-2) !important; text-decoration: none !important; text-transform: none !important;
}
body.shop_product #box_productfull a.addtofav span,
body.shop_product #box_productfull .links-q a span { color: inherit !important; font: inherit !important; text-decoration: none !important; }
body.shop_product #box_productfull a.addtofav:hover,
body.shop_product #box_productfull .links-q a:hover { color: var(--v2-ink) !important; }
body.shop_product #box_productfull a.addtofav img,
body.shop_product #box_productfull .links-q a img { display: none !important; }
body.shop_product #box_productfull a.addtofav::before,
body.shop_product #box_productfull .links-q a::before {
  content: ""; width: 18px; height: 18px; background: currentColor; flex: none; position: static !important; margin: 0 !important; border: 0 !important;
  -webkit-mask: var(--v2-ico) center / contain no-repeat; mask: var(--v2-ico) center / contain no-repeat;
}
body.shop_product #box_productfull a.addtofav { --v2-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 20s-8-4.7-8-10.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 8 2.5C20 15.3 12 20 12 20z'/%3E%3C/svg%3E"); }
body.shop_product #box_productfull .links-q a.question { --v2-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E"); }
body.shop_product #box_productfull .links-q a.mailfriend { --v2-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
body.shop_product #box_productfull a.addtofav::after,
body.shop_product #box_productfull .links-q a::after { content: none !important; }
body.shop_product #box_productfull .v2-pd-links { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 10px; }
body.shop_product #box_productfull .links-q { display: contents !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
body.shop_product #box_productfull .links-q li { display: block !important; margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; border: 0 !important; }
body.shop_product #box_productfull .links-q li::before { content: none !important; }

/* zaufanie pod przyciskiem */
.v2-pd-trust { list-style: none !important; margin: 18px 0 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; font-family: var(--v2-font); }
.v2-pd-trust li { margin: 0 !important; padding: 12px 14px !important; border-radius: 12px; background: var(--v2-surface); font-size: 12px; line-height: 1.35; color: var(--v2-ink-2); list-style: none !important; }
.v2-pd-trust li::before { content: none !important; }
.v2-pd-trust strong { display: block; color: var(--v2-ink); font-size: 13px; font-weight: 800; }

/* sekcje pod kartą: Opis, Koszty dostawy, Opinie */
body.shop_product .product-modules { margin-top: 64px !important; }
body.shop_product .product-modules > .box { border: 0 !important; background: none !important; padding: 0 !important; margin: 0 0 56px !important; }
body.shop_product .product-modules > .box > .boxhead { border: 0 !important; background: none !important; padding: 0 0 12px !important; margin: 0 0 24px !important; border-bottom: 1px solid var(--v2-line) !important; height: auto !important; }
body.shop_product .product-modules > .box > .boxhead::before,
body.shop_product .product-modules > .box > .boxhead::after,
body.shop_product .product-modules > .box > .boxhead h3::before,
body.shop_product .product-modules > .box > .boxhead h3::after { content: none !important; display: none !important; }
body.shop_product .product-modules > .box > .boxhead h3 {
  margin: 0 !important; padding: 0 !important; background: none !important; display: flex; align-items: center; gap: 10px;
  font: 800 28px/1.2 var(--v2-font) !important; letter-spacing: -.6px; color: var(--v2-ink) !important; text-transform: none !important;
}
body.shop_product #box_description .innerbox { padding: 0 !important; border: 0 !important; }
body.shop_product #box_description .fr-view { font-family: var(--v2-font); color: var(--v2-ink-2); }
body.shop_product #box_productdeliveries .shipping {
  display: flex !important; justify-content: space-between; gap: 16px; padding: 12px 0 !important; margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--v2-line) !important;
  font: 500 14px var(--v2-font) !important; color: var(--v2-ink-2) !important; max-width: 640px;
}
body.shop_product #box_productdeliveries .shipping > * { width: auto !important; float: none !important; padding: 0 !important; }
body.shop_product #box_productdeliveries .shipping > :last-child { font-weight: 800; color: var(--v2-ink) !important; }
body.shop_product #box_productdeliveries .delivery-container { width: auto !important; }

/* telefon i tablet */
@media screen and (max-width: 980px) {
  body.shop_product #box_productfull .maininfo > .f-row { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.shop_product #box_productfull .productimg { position: static; }
  body.shop_product #box_productfull .mainimg { padding: 16px !important; border-radius: 16px; }
  body.shop_product #box_productfull .smallgallery li a { width: 64px; height: 64px; }
  body.shop_product .v2-pd-head h1.name { font-size: 22px !important; }
  body.shop_product #box_productfull .price em.main-price { font-size: 32px !important; }
  .v2-pd-trust { grid-template-columns: minmax(0, 1fr); }
  body.shop_product .product-modules { margin-top: 40px !important; }
  body.shop_product .product-modules > .box > .boxhead h3 { font-size: 22px !important; }
}

/* ---------- Poprawki karty produktu (układ 3-kolumnowy Hammer przy pełnej szerokości) ---------- */
/* Hammer przy wyłączonej lewej kolumnie dzieli kolumnę informacji na 2 części – wyłączamy to */
body.shop_product #box_productfull .maininfo > .f-row > .productimg + div,
body.shop_product #box_productfull .maininfo > .f-row > div:not(.productimg) {
  display: block !important; grid-template-columns: none !important; float: none !important; width: auto !important;
}
body.shop_product #box_productfull .maininfo > .f-row > div:not(.productimg) > * {
  grid-column: auto !important; grid-row: auto !important; position: static !important; top: auto !important;
}
/* galeria: bez wewnętrznej ramki i pomniejszenia z szablonu */
body.shop_product #box_productfull .mainimg::before { border: 0 !important; }
body.shop_product #box_productfull .mainimg > img,
body.shop_product #box_productfull .mainimg > a img { transform: none !important; border-radius: 0 !important; }
body.shop_product #box_productfull .mainimg { padding: 0 !important; }
body.shop_product #box_productfull .mainimg > img,
body.shop_product #box_productfull .mainimg > a img { top: 6% !important; left: 6% !important; right: auto !important; width: 88% !important; height: 88% !important; }
body.shop_product #box_productfull .mainimg .tags { position: absolute !important; z-index: 5; }
body.shop_product #box_productfull .smallgallery .innersmallgallery { padding: 0 34px !important; }

/* karta dostępności – równe wiersze */
body.shop_product #box_productfull .v2-pd-status > * {
  display: flex !important; flex-wrap: nowrap; align-items: center; gap: 8px 12px !important;
  padding: 14px 18px !important; margin: 0 !important; grid-template-columns: none !important; box-sizing: border-box;
}
body.shop_product #box_productfull .v2-pd-status > .shipping-costs { flex-wrap: wrap; }
body.shop_product #box_productfull .v2-pd-status .first { flex: 0 0 110px; min-width: 0 !important; margin: 0 !important; padding: 0 !important; }
body.shop_product #box_productfull .v2-pd-status .second { flex: 1 1 auto; margin: 0 !important; padding: 0 !important; display: inline-flex !important; align-items: center; flex-wrap: wrap; gap: 4px; }
body.shop_product #box_productfull .v2-pd-status .shipping-costs .showShippingCost { flex: 0 0 auto; margin: 0 0 0 auto !important; }
body.shop_product #box_productfull .v2-pd-status .v2-pd-row--ship { gap: 10px !important; font-size: 14px !important; }

/* ilość + przycisk w jednym rzędzie, przycisk z tekstem w jednej linii */
body.shop_product #box_productfull .button_wrap .addtobasket span { white-space: nowrap; }

/* linki pod przyciskiem – w jednym rzędzie, bez tła */
body.shop_product #box_productfull .v2-pd-links { background: none !important; padding: 0 !important; border: 0 !important; }
body.shop_product #box_productfull .v2-pd-links > *,
body.shop_product #box_productfull .v2-pd-links li { display: inline-flex !important; width: auto !important; background: none !important; padding: 0 !important; margin: 0 !important; }
body.shop_product #box_productfull .v2-pd-links ul.links-q { display: contents !important; }

/* ---------- Koszty dostawy – czytelna tabela ---------- */
body.shop_product #box_productdeliveries .innerbox { padding: 0 !important; border: 0 !important; background: none !important; }
body.shop_product #box_productdeliveries .delivery-container { max-width: 720px; width: 100% !important; float: none !important; margin: 0 !important; }
body.shop_product #box_productdeliveries .shippings {
  border: 1px solid var(--v2-line); border-radius: 16px; overflow: hidden; background: #fff; width: 100% !important;
}
body.shop_product #box_productdeliveries .shipping {
  display: flex !important; align-items: center; justify-content: space-between; gap: 16px;
  max-width: none !important; width: 100% !important; box-sizing: border-box; margin: 0 !important;
  padding: 16px 22px !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; background: #fff;
}
body.shop_product #box_productdeliveries .shipping:first-child { border-top: 0 !important; }
body.shop_product #box_productdeliveries .shipping:nth-child(even) { background: #fafbfc; }
body.shop_product #box_productdeliveries .shipping > * {
  width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; text-align: left !important;
  font: 500 15px/1.4 var(--v2-font) !important; color: var(--v2-ink) !important;
}
body.shop_product #box_productdeliveries .shipping > :first-child { flex: 1 1 auto; }
body.shop_product #box_productdeliveries .shipping > :last-child { flex: none; text-align: right !important; font-weight: 800 !important; white-space: nowrap; }
body.shop_product #box_productdeliveries .boxhead .hint .icon { font-size: 18px; color: var(--v2-muted); }
/* clearfix szablonu (::before/::after w .row) zabierał miejsce w wierszach karty dostępności */
body.shop_product #box_productfull .v2-pd-status > :not(.v2-pd-row)::before,
body.shop_product #box_productfull .v2-pd-status > :not(.v2-pd-row)::after { content: none !important; display: none !important; }

/* ---------- Zakładki pod kartą produktu ---------- */
body.shop_product .product-modules[data-v2-tabs] { margin-top: 56px !important; }
.v2-ptabs {
  display: flex; gap: 4px; margin: 0 0 32px; padding: 0; border-bottom: 1px solid var(--v2-line);
  overflow-x: auto; scrollbar-width: none; font-family: var(--v2-font); scroll-margin-top: 90px;
}
.v2-ptabs::-webkit-scrollbar { display: none; }
.v2-ptabs__tab {
  flex: none; min-height: 52px; padding: 0 20px; margin: 0 0 -1px; border: 0; border-bottom: 3px solid transparent;
  background: none; cursor: pointer; white-space: nowrap;
  font: 700 16px/1 var(--v2-font); color: var(--v2-ink-2); transition: color .15s ease, border-color .15s ease;
}
.v2-ptabs__tab:hover { color: var(--v2-ink); }
.v2-ptabs__tab[aria-selected="true"] { color: var(--v2-ink); border-bottom-color: var(--v2-ink); }
.v2-ptabs__tab:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: -3px; border-radius: 8px 8px 0 0; }
.v2-ptabs__tab[hidden] { display: none; }
body.shop_product .product-modules .v2-ptab-hidden { display: none !important; }
/* nagłówek sekcji zastępuje zakładka */
body.shop_product .product-modules .v2-ptab-panel > .boxhead { display: none !important; }
body.shop_product .product-modules .v2-ptab-panel { margin: 0 0 56px !important; }
@media (max-width: 980px) {
  .v2-ptabs { margin: 0 -16px 24px; padding: 0 16px; }
  .v2-ptabs__tab { padding: 0 14px; font-size: 15px; }
}

/* ---------- Karta produktu na wąskich telefonach (np. Galaxy S10, 360 px) ---------- */
body.shop_product #box_productfull form.form-basket,
body.shop_product #box_productfull .addtobasket-container { min-width: 0 !important; max-width: 100% !important; }
body.shop_product #box_productfull .button_wrap .addtobasket { overflow: hidden; }
body.shop_product #box_productfull .v2-pd-status .v2-pd-row--ship { flex-wrap: nowrap !important; align-items: baseline; }
body.shop_product #box_productfull .v2-pd-status .v2-pd-row--ship::before { flex: none; transform: translateY(-1px); }
@media (max-width: 480px) {
  body.shop_product #box_productfull .addtobasket-container { gap: 8px; }
  body.shop_product #box_productfull .quantity_wrap .number-wrap { height: 52px; }
  body.shop_product #box_productfull .quantity_wrap .wce_qdec,
  body.shop_product #box_productfull .quantity_wrap .wce_qinc { width: 36px !important; font-size: 18px !important; }
  body.shop_product #box_productfull .quantity_wrap input[name="quantity"] { width: 32px !important; font-size: 15px !important; }
  body.shop_product #box_productfull .button_wrap .addtobasket { height: 52px !important; padding: 0 12px !important; gap: 8px; font-size: 15px !important; }
  body.shop_product #box_productfull .button_wrap .addtobasket::before { width: 18px; height: 18px; }
  body.shop_product #box_productfull .v2-pd-status > * { padding: 12px 14px !important; }
  body.shop_product #box_productfull .v2-pd-status .first { flex-basis: 92px; }
  body.shop_product #box_productfull .v2-pd-status > .shipping-costs .first { flex-basis: 100%; }
  body.shop_product #box_productfull .v2-pd-status .shipping-costs .showShippingCost { margin: 0 !important; }
  body.shop_product #box_productfull .v2-pd-links { gap: 0 18px; }
  /* kafelki zaufania jako zwarta lista */
  .v2-pd-trust { gap: 0 !important; border-radius: 12px; overflow: hidden; background: var(--v2-surface); }
  .v2-pd-trust li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 14px !important; border-radius: 0; background: none; font-size: 12px; }
  .v2-pd-trust li + li { border-top: 1px solid var(--v2-line); }
  .v2-pd-trust strong { display: inline; font-size: 13px; }
}
@media (max-width: 360px) {
  body.shop_product #box_productfull .button_wrap .addtobasket::before { display: none !important; }
}

/* =====================================================================
   9. LOGOWANIE (scripts/login/login.tpl) i REJESTRACJA
   ===================================================================== */
.v2-auth { max-width: 1040px; margin: 8px auto 80px; padding: 0 4px; font-family: var(--v2-font); color: var(--v2-ink); }
.v2-auth *, .v2-auth *::before, .v2-auth *::after { box-sizing: border-box; }
.v2-auth__title { margin: 0 0 8px !important; font: 800 34px/1.15 var(--v2-font) !important; letter-spacing: -.8px; color: var(--v2-ink) !important; text-transform: none !important; }
.v2-auth__title::before, .v2-auth__title::after { content: none !important; }
.v2-auth__lead { margin: 0 0 32px; font-size: 16px; color: var(--v2-ink-2); }
.v2-auth__grid { display: flex; flex-wrap: wrap; gap: 24px; align-items: stretch; }
.v2-auth__card { flex: 1 1 480px; min-width: 0; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); padding: 32px; display: flex; flex-direction: column; gap: 22px; background: #fff; }

/* przełącznik Zaloguj się / Załóż konto */
.v2-auth__switch { display: flex; gap: 4px; padding: 4px; background: var(--v2-surface); border-radius: 12px; }
.v2-auth__switch button {
  flex: 1; min-height: 44px; border: 0; border-radius: 9px; background: transparent; cursor: pointer;
  font: 700 14px var(--v2-font); color: var(--v2-ink-2);
}
.v2-auth__switch button[aria-selected="true"] { background: #fff; color: var(--v2-ink); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.v2-auth__switch button:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }

/* logowanie przez Google / Facebook / Shoper ONE */
.v2-auth__social { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.v2-auth .v2-auth__sbtn {
  display: flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 50px; height: auto !important;
  margin: 0 !important; padding: 0 14px !important; border: 1.5px solid #d2d6dc !important; border-radius: 12px !important;
  background: #fff !important; background-image: none !important; box-shadow: none !important; width: auto !important;
  font: 700 14px/1.2 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; text-decoration: none !important; text-align: center;
}
.v2-auth .v2-auth__sbtn:hover { border-color: var(--v2-ink) !important; }
.v2-auth .v2-auth__sbtn span { color: inherit !important; font: inherit !important; }
.v2-auth .v2-auth__sbtn.btn-login-google { order: -1; }
.v2-auth .v2-auth__sbtn.btn-login-facebook { order: 0; }
.v2-auth .v2-auth__sbtn.btn-login-shoper_sso { order: 1; }
.v2-auth .v2-auth__sbtn.btn-login-facebook::before { color: #1877f2 !important; position: static !important; margin: 0 !important; }
.v2-auth .v2-auth__sbtn.btn-login-google::before { position: static !important; margin: 0 !important; }
.v2-auth .v2-auth__sbtn .shoper_sso__logo { display: inline-block !important; height: 17px; width: auto; }
.v2-auth .v2-auth__sbtn .shoper_sso__logo_dark { display: none !important; }
.v2-auth__or { display: flex; align-items: center; gap: 14px; color: var(--v2-muted); font-size: 13px; font-weight: 600; }
.v2-auth__or::before, .v2-auth__or::after { content: ""; flex: 1; height: 1px; background: var(--v2-line); }

/* formularz */
.v2-auth__pane[hidden] { display: none !important; }
.v2-auth__form, .v2-auth__form fieldset, .v2-auth .register-form, .v2-auth .register-form fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; width: auto !important; float: none !important; }
.v2-auth__form fieldset { display: flex !important; flex-direction: column; gap: 16px; }
.v2-auth__field { display: flex; flex-direction: column; gap: 6px; }
.v2-auth__labelrow { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.v2-auth label { margin: 0 !important; padding: 0 !important; font: 700 14px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; float: none !important; width: auto !important; }
.v2-auth__forgot { font: 600 13px var(--v2-font); color: var(--v2-accent-ink) !important; text-decoration: none !important; }
.v2-auth__forgot:hover { text-decoration: underline !important; }
.v2-auth input[type="email"], .v2-auth input[type="text"], .v2-auth input[type="password"] {
  width: 100% !important; max-width: none !important; height: 52px !important; margin: 0 !important; padding: 0 16px !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
.v2-auth input:focus { border-color: var(--v2-ink) !important; outline: none; }
.v2-auth__pass { position: relative; }
.v2-auth__pass input { padding-right: 88px !important; }
.v2-auth__show {
  position: absolute; right: 6px; top: 6px; height: 40px; padding: 0 12px; border: 0; border-radius: 8px;
  background: var(--v2-surface); font: 700 13px var(--v2-font); color: var(--v2-ink); cursor: pointer;
}
.v2-auth .v2-auth__submit {
  width: 100% !important; min-height: 54px; height: auto !important; margin: 0 !important; padding: 0 20px !important; border: 0 !important;
  border-radius: 12px !important; background: var(--v2-ink) !important; background-image: none !important; color: #fff !important; box-shadow: none !important;
  font: 800 16px/1 var(--v2-font) !important; text-transform: none !important; display: flex !important; align-items: center; justify-content: center; cursor: pointer;
}
.v2-auth .v2-auth__submit:hover { background: var(--v2-accent-ink) !important; }
.v2-auth .v2-auth__submit span { color: inherit !important; font: inherit !important; }
.v2-auth .v2-auth__submit::before, .v2-auth .v2-auth__submit::after { content: none !important; display: none !important; }
.v2-auth__note { margin: 0 0 16px; font-size: 15px; line-height: 1.6; color: var(--v2-ink-2); }
.v2-auth__legal { margin: 0; font-size: 12px; line-height: 1.5; color: var(--v2-muted); }

/* korzyści */
.v2-auth__perks { flex: 1 1 340px; min-width: 0; border-radius: var(--v2-radius); background: var(--v2-surface); padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.v2-auth__perks h2 { margin: -8px 0 4px !important; font: 800 24px/1.2 var(--v2-font) !important; letter-spacing: -.5px; color: var(--v2-ink) !important; text-transform: none !important; }
.v2-auth__perks h2::before, .v2-auth__perks h2::after { content: none !important; }
.v2-auth__perks ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 16px; }
.v2-auth__perks li {
  position: relative; margin: 0 !important; padding: 0 0 0 54px !important; min-height: 40px; list-style: none !important;
  display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.45; color: var(--v2-ink-2);
}
.v2-auth__perks li::before {
  content: "" !important; position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 12px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 20px no-repeat;
}
.v2-auth__perks li strong { color: var(--v2-ink); font-size: 15px; }
.v2-auth__guest { margin-top: auto; border-top: 1px solid var(--v2-line); padding-top: 20px; display: flex; flex-direction: column; gap: 12px; }
.v2-auth__guest p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--v2-ink-2); }
.v2-auth__guest strong { color: var(--v2-ink); }
.v2-auth__outline {
  align-self: flex-start; display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 12px;
  border: 1.5px solid var(--v2-ink); font: 700 14px var(--v2-font); color: var(--v2-ink) !important; text-decoration: none !important;
}
.v2-auth__outline:hover { background: var(--v2-ink); color: #fff !important; }
.v2-auth__b2b {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 18px; border-radius: 14px;
  background: var(--v2-ink); color: #fff !important; text-decoration: none !important;
}
.v2-auth__b2b > span:first-child { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: #c9cdd5; }
.v2-auth__b2b strong { color: #fff; font-size: 15px; }
.v2-auth__b2b > span:last-child { color: #fb923c; font-size: 20px; font-weight: 800; }

@media (max-width: 767px) {
  .v2-auth { margin: 0 auto 48px; }
  .v2-auth__title { font-size: 26px !important; }
  .v2-auth__lead { margin-bottom: 20px; font-size: 15px; }
  .v2-auth__card, .v2-auth__perks { padding: 20px; border-radius: 16px; }
}

/* Rejestracja (/pl/reg) – formularz Shopera jako karta w stylu logowania */
body.shop_login_register .main .leftcol { display: none !important; }
body.shop_login_register .main .centercol { width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; }
body.shop_login_register #box_register {
  max-width: 560px; margin: 16px auto 80px !important; padding: 32px !important; box-sizing: border-box;
  border: 1px solid var(--v2-line) !important; border-radius: var(--v2-radius); background: #fff !important; font-family: var(--v2-font); color: var(--v2-ink);
}
body.shop_login_register #box_register form, body.shop_login_register #box_register fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.shop_login_register #box_register .social-login-buttons { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0 0 20px !important; padding: 0 !important; border: 0 !important; }
body.shop_login_register #box_register .social-login-buttons h3 { margin: 0 0 4px !important; font: 800 30px/1.2 var(--v2-font) !important; letter-spacing: -.6px; color: var(--v2-ink) !important; text-transform: none !important; }
body.shop_login_register #box_register .social-login-buttons h3 { font-size: 0 !important; }
body.shop_login_register #box_register .social-login-buttons h3::after { content: "Załóż konto"; font: 800 30px/1.2 var(--v2-font); letter-spacing: -.6px; }
body.shop_login_register #box_register .social-login-buttons p, body.shop_login_register #box_register .social-login-buttons small { order: 9; margin: 0 !important; font: 500 12px/1.5 var(--v2-font) !important; color: var(--v2-muted) !important; }
body.shop_login_register #box_register .social-login-buttons a.btn {
  display: flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 50px; height: auto !important; margin: 0 !important;
  padding: 0 14px !important; border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; background-image: none !important;
  box-shadow: none !important; width: auto !important; font: 700 14px/1.2 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; text-decoration: none !important;
}
body.shop_login_register #box_register .social-login-buttons a.btn:hover { border-color: var(--v2-ink) !important; }
body.shop_login_register #box_register .social-login-buttons h3 { order: -2; }
body.shop_login_register #box_register .social-login-buttons a.btn-login-google { order: -1; }
body.shop_login_register #box_register .social-login-buttons a.btn-login-facebook::before { color: #1877f2 !important; position: static !important; margin: 0 !important; }
body.shop_login_register #box_register .social-login-buttons a.btn-login-google::before { position: static !important; margin: 0 !important; }
/* logo Shoper ONE: na białym przycisku ciemna wersja (biały plik odwrócony do czerni) */
body.shop_login_register #box_register .shoper_sso__logo_light { display: none !important; }
body.shop_login_register #box_register .social-login-buttons a.btn img.shoper_sso__logo.shoper_sso__logo_dark { display: inline-block !important; filter: invert(1); height: 17px; width: auto; }
body.shop_login_register #box_register > form > fieldset > h3 { margin: 0 0 16px !important; padding: 0 !important; background: none !important; border: 0 !important; font: 800 18px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; }
body.shop_login_register #box_register > form > fieldset > h3 { font-size: 0 !important; display: flex; justify-content: center; background: linear-gradient(var(--v2-line), var(--v2-line)) center / 100% 1px no-repeat !important; }
body.shop_login_register #box_register > form > fieldset > h3::before { content: none !important; }
body.shop_login_register #box_register > form > fieldset > h3::after { content: "lub e-mailem"; padding: 0 14px; background: #fff; font: 600 13px/1.6 var(--v2-font); color: var(--v2-muted); }
body.shop_login_register #box_register h3 img, body.shop_login_register #box_register .btn img { display: none !important; }
body.shop_login_register #box_register .innerbox { padding: 0 !important; border: 0 !important; background: none !important; display: flex; flex-direction: column; gap: 16px; }
body.shop_login_register #box_register .innerbox > div { display: flex !important; flex-direction: column; gap: 6px; margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
body.shop_login_register #box_register .innerbox > div::before, body.shop_login_register #box_register .innerbox > div::after { content: none !important; display: none !important; }
body.shop_login_register #box_register .login-label, body.shop_login_register #box_register .input,
body.shop_login_register #box_register .shaded_inputwrap { display: block !important; width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; text-align: left !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.shop_login_register #box_register label { font: 700 14px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-align: left !important; }
body.shop_login_register #box_register em.color { color: var(--v2-accent-ink) !important; font-style: normal; }
body.shop_login_register #box_register input[type="text"], body.shop_login_register #box_register input[type="password"], body.shop_login_register #box_register input[type="email"], body.shop_login_register #box_register select {
  width: 100% !important; max-width: none !important; height: 52px !important; margin: 0 !important; padding: 0 16px !important; box-sizing: border-box;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
body.shop_login_register #box_register input:focus, body.shop_login_register #box_register select:focus { border-color: var(--v2-ink) !important; outline: none; }
body.shop_login_register #box_register .hint { display: block !important; position: static !important; width: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; font: 500 12px var(--v2-font) !important; color: var(--v2-ink-2) !important; }
body.shop_login_register #box_register .hint::before, body.shop_login_register #box_register .hint::after { content: none !important; }
body.shop_login_register #box_register h4.separator { margin: 8px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font: 700 14px var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; }
body.shop_login_register #box_register h4.separator::before, body.shop_login_register #box_register h4.separator::after { content: none !important; }
body.shop_login_register #box_register .innerbox .input:has(.checkbox-wrap) { display: flex !important; align-items: flex-start; gap: 10px; }
body.shop_login_register #box_register .check-label { display: none !important; }
body.shop_login_register #box_register .checkbox-wrap { flex: none; display: inline-flex !important; margin: 1px 0 0 !important; }
body.shop_login_register #box_register .checkbox-wrap label { display: none !important; }
body.shop_login_register #box_register input[type="checkbox"] { display: inline-block !important; position: static !important; opacity: 1 !important; width: 18px !important; height: 18px !important; margin: 0 !important; accent-color: var(--v2-ink); }
body.shop_login_register #box_register .input:has(.checkbox-wrap) > label { font: 500 13px/1.5 var(--v2-font) !important; color: var(--v2-ink-2) !important; }
body.shop_login_register #box_register .bottombuttons { margin: 4px 0 0 !important; padding: 0 !important; border: 0 !important; }
body.shop_login_register #box_register .bottombuttons .btn {
  float: none !important; width: 100% !important; min-height: 54px; height: auto !important; margin: 0 !important; padding: 0 20px !important; border: 0 !important;
  border-radius: 12px !important; background: var(--v2-ink) !important; background-image: none !important; color: #fff !important; box-shadow: none !important;
  font: 800 16px/1 var(--v2-font) !important; text-transform: none !important; display: flex !important; align-items: center; justify-content: center;
}
body.shop_login_register #box_register .bottombuttons .btn:hover { background: var(--v2-accent-ink) !important; }
body.shop_login_register #box_register .bottombuttons .btn span { color: inherit !important; font: inherit !important; }
body.shop_login_register #box_register .bottombuttons .btn::before, body.shop_login_register #box_register .bottombuttons .btn::after { content: none !important; }
body.shop_login_register #box_register .innerbox > div > span:only-child { font: 500 12px var(--v2-font); color: var(--v2-muted); }
@media (max-width: 767px) {
  body.shop_login_register #box_register { padding: 20px !important; margin: 8px 16px 48px !important; border-radius: 16px; }
  body.shop_login_register #box_register .social-login-buttons h3::after { font-size: 24px; }
}

/* =====================================================================
   §10. Koszyk (krok 1)
   ===================================================================== */
#box_basketlist.v2-cart { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 48px !important; font-family: var(--v2-font); color: var(--v2-ink); }
#box_basketlist.v2-cart > .boxhead { display: none !important; }
#box_basketlist.v2-cart > .innerbox { padding: 0 !important; border: 0 !important; background: none !important; }
#box_basketlist.v2-cart #cart-options {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start;
  width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important;
}
#box_basketlist.v2-cart #cart-options::before, #box_basketlist.v2-cart #cart-options::after { display: none !important; }
.v2-cart__main { min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.v2-cart__aside { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.v2-cart__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; padding-top: 8px; }
.v2-cart__head h1 { margin: 0 !important; font: 800 32px/1.15 var(--v2-font) !important; letter-spacing: -0.8px; color: var(--v2-ink) !important; text-transform: none !important; }
.v2-cart__head h1 span { color: var(--v2-muted); font-weight: 700; }
.v2-cart__back { font-size: 14px; font-weight: 700; color: var(--v2-ink) !important; text-decoration: none !important; }
.v2-cart__back:hover { color: var(--v2-accent-ink) !important; }

/* karty */
#box_basketlist.v2-cart .v2-cart__card {
  display: block !important; float: none !important; width: auto !important; margin: 0 !important;
  border: 1px solid var(--v2-line) !important; border-radius: var(--v2-radius) !important; background: #fff !important;
  padding: 24px 26px !important; box-shadow: none !important;
}
#box_basketlist.v2-cart .v2-cart__card h5,
#box_basketlist.v2-cart .v2-cart__card h2 {
  margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: none !important;
  font: 800 20px/1.25 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; letter-spacing: 0 !important; text-align: left !important;
}
#box_basketlist.v2-cart .v2-cart__card h5::before, #box_basketlist.v2-cart .v2-cart__card h5::after { display: none !important; }

/* lista produktów */
#box_basketlist.v2-cart table.productlist { display: block !important; width: 100% !important; margin: 0 !important; border: 0 !important; background: none !important; }
#box_basketlist.v2-cart table.productlist thead { display: none !important; }
#box_basketlist.v2-cart table.productlist tbody { display: block !important; }
#box_basketlist.v2-cart table.productlist tbody tr {
  display: grid !important; grid-template-columns: 88px minmax(0, 1fr) auto 110px 40px; align-items: center; column-gap: 20px;
  padding: 18px 0 !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; background: none !important;
}
#box_basketlist.v2-cart table.productlist tbody tr:first-child { border-top: 0 !important; padding-top: 0 !important; }
#box_basketlist.v2-cart table.productlist tbody tr:last-child { padding-bottom: 0 !important; }
#box_basketlist.v2-cart table.productlist td { display: block !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; text-align: left !important; font-family: var(--v2-font); }
#box_basketlist.v2-cart table.productlist td::before, #box_basketlist.v2-cart table.productlist td::after { display: none !important; content: none !important; }
#box_basketlist.v2-cart td.img { grid-column: 1; grid-row: 1 / span 2; width: 88px !important; height: 88px; border-radius: 14px; background: var(--v2-surface) !important; overflow: hidden; display: flex !important; align-items: center; justify-content: center; }
#box_basketlist.v2-cart td.img img { max-width: 80px !important; max-height: 80px !important; width: auto !important; height: auto !important; mix-blend-mode: multiply; }
#box_basketlist.v2-cart td.name { grid-column: 2; grid-row: 1 / span 2; font-size: 13px; color: var(--v2-muted); }
#box_basketlist.v2-cart td.name a { display: block; font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--v2-ink) !important; text-decoration: none !important; margin-bottom: 4px; }
#box_basketlist.v2-cart td.name a:hover { color: var(--v2-accent-ink) !important; }
#box_basketlist.v2-cart td.time { grid-column: 2; grid-row: 3; font-size: 13px; color: #15803d !important; font-weight: 600; margin-top: 6px; }
#box_basketlist.v2-cart td.time::before { content: "● " !important; display: inline !important; }
#box_basketlist.v2-cart td.price { display: none !important; }
#box_basketlist.v2-cart td.quantity { grid-column: 3; grid-row: 1 / span 3; display: flex !important; align-items: center; gap: 8px; font-size: 13px; color: var(--v2-muted); white-space: nowrap; }
#box_basketlist.v2-cart td.sum { grid-column: 4; grid-row: 1 / span 3; text-align: right !important; font-size: 13px; }
#box_basketlist.v2-cart td.sum em { font: 800 17px var(--v2-font) !important; color: var(--v2-ink) !important; font-style: normal !important; white-space: nowrap; }
#box_basketlist.v2-cart td.actions { grid-column: 5; grid-row: 1 / span 3; justify-self: end; }
#box_basketlist.v2-cart td.actions a.prodremove {
  width: 40px; height: 40px; border-radius: 10px; display: flex !important; align-items: center; justify-content: center;
  color: var(--v2-muted) !important; background: none !important; border: 0 !important; text-decoration: none !important; font-size: 0 !important; position: relative;
}
#box_basketlist.v2-cart td.actions a.prodremove > * { display: none !important; }
#box_basketlist.v2-cart td.actions a.prodremove::before {
  content: "" !important; display: block !important; width: 20px; height: 20px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13'/%3E%3C/svg%3E") center / contain no-repeat;
}
#box_basketlist.v2-cart td.actions a.prodremove:hover { color: #b91c1c !important; background: #fef2f2 !important; }

/* ilość −/+ */
.v2-qty { display: inline-flex; align-items: center; height: 44px; border: 1.5px solid #d2d6dc; border-radius: 12px; overflow: hidden; background: #fff; }
.v2-qty__btn { width: 38px; height: 100%; border: 0 !important; background: none !important; font: 600 18px var(--v2-font); color: var(--v2-ink); cursor: pointer; padding: 0 !important; }
.v2-qty__btn:hover { background: var(--v2-surface) !important; }
.v2-qty .shaded_inputwrap { display: block !important; border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; width: auto !important; }
.v2-qty input { width: 40px !important; height: 40px !important; border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; text-align: center !important; font: 700 15px var(--v2-font) !important; color: var(--v2-ink) !important; -moz-appearance: textfield; }
.v2-qty input::-webkit-outer-spin-button, .v2-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* darmowa dostawa (box Shopera) – kompaktowa jasna belka */
#box_freeshipping.v2-cart__free { margin: 0 !important; border: 0 !important; border-radius: 14px !important; background: var(--v2-accent-soft) !important; padding: 14px 18px !important; box-shadow: none !important; width: auto !important; float: none !important; }
#box_freeshipping.v2-cart__free .boxhead, #box_freeshipping.v2-cart__free .arrow { display: none !important; }
#box_freeshipping.v2-cart__free .innerbox { display: flex !important; flex-direction: column-reverse; gap: 4px; padding: 0 !important; background: none !important; border: 0 !important; }
#box_freeshipping.v2-cart__free .innerbox::before, #box_freeshipping.v2-cart__free .innerbox::after { display: none !important; }
#box_freeshipping.v2-cart__free .free-shipping__content { font: 700 15px/1.4 var(--v2-font) !important; color: var(--v2-accent-ink) !important; text-align: left !important; }
#box_freeshipping.v2-cart__free .boxintro { margin: 0 !important; font: 500 12px/1.5 var(--v2-font) !important; color: var(--v2-ink-2) !important; text-align: left !important; text-transform: none !important; }

/* dostawa i płatność – karty wyboru */
#box_basketlist.v2-cart .delivery-container > div:not(.deliverycountry) { display: grid; gap: 10px; }
#box_basketlist.v2-cart .delivery-container > div.none { display: none !important; }
#box_basketlist.v2-cart .delivery-container > div > h5 { margin-bottom: 6px !important; }
#box_basketlist.v2-cart .payment-container { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#box_basketlist.v2-cart .payment-container.none { display: none !important; }
#box_basketlist.v2-cart .payment-container > h5 { grid-column: 1 / -1; margin-bottom: 6px !important; }
#box_basketlist.v2-cart #payments-online-container { display: contents !important; }
#box_basketlist.v2-cart div.delivery,
#box_basketlist.v2-cart div.payment {
  position: relative; display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 60px; margin: 0 !important; padding: 14px 18px !important; float: none !important; width: auto !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 14px !important; background: #fff !important; cursor: pointer; box-sizing: border-box;
  transition: border-color .15s;
}
#box_basketlist.v2-cart div.delivery.none, #box_basketlist.v2-cart div.payment.none { display: none !important; }
#box_basketlist.v2-cart div.delivery:hover, #box_basketlist.v2-cart div.payment:hover { border-color: #9ca3af !important; }
#box_basketlist.v2-cart div.delivery.v2-on, #box_basketlist.v2-cart div.payment.v2-on { border: 2px solid var(--v2-ink) !important; padding: 13.5px 17.5px !important; }
#box_basketlist.v2-cart div.delivery::before, #box_basketlist.v2-cart div.delivery::after,
#box_basketlist.v2-cart div.payment::before, #box_basketlist.v2-cart div.payment::after { display: none !important; }
#box_basketlist.v2-cart div.delivery .name, #box_basketlist.v2-cart div.payment .name {
  display: flex !important; flex-wrap: wrap; align-items: center; column-gap: 12px; row-gap: 2px; min-width: 0; flex: 1; width: auto !important; float: none !important; padding: 0 !important;
}
#box_basketlist.v2-cart .name > label { font: 700 15px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; cursor: pointer; margin: 0 !important; padding: 0 !important; }
/* cała karta klikalna: rozciągnięta etykieta */
#box_basketlist.v2-cart .name > label::after { content: "" !important; position: absolute; inset: 0; display: block !important; background: none !important; border: 0 !important; width: auto !important; height: auto !important; }
#box_basketlist.v2-cart .name .description { flex-basis: 100%; padding-left: 34px; font: 500 12px/1.45 var(--v2-font) !important; color: var(--v2-muted) !important; }
#box_basketlist.v2-cart .name .description:empty, #box_basketlist.v2-cart .name .description:blank { display: none !important; }
#box_basketlist.v2-cart div.delivery .value, #box_basketlist.v2-cart div.payment .value { font: 800 15px var(--v2-font) !important; color: var(--v2-ink) !important; white-space: nowrap; float: none !important; width: auto !important; padding: 0 !important; text-align: right !important; }
#box_basketlist.v2-cart div.payment .value:empty { display: none !important; }
/* własne kółko radia */
#box_basketlist.v2-cart .radio-wrap { position: relative; display: inline-block !important; width: 22px; height: 22px; flex: none; margin: 0 !important; }
#box_basketlist.v2-cart .radio-wrap input { position: absolute !important; inset: 0; opacity: 0 !important; margin: 0 !important; width: 22px !important; height: 22px !important; }
#box_basketlist.v2-cart .radio-wrap label {
  display: block !important; width: 22px !important; height: 22px !important; margin: 0 !important; padding: 0 !important;
  border: 2px solid #b8bec8 !important; border-radius: 99px !important; background: #fff !important; box-sizing: border-box;
}
#box_basketlist.v2-cart .radio-wrap label::before, #box_basketlist.v2-cart .radio-wrap label::after { display: none !important; }
#box_basketlist.v2-cart .radio-wrap input:checked + label { border: 7px solid var(--v2-ink) !important; }
#box_basketlist.v2-cart .radio-wrap input:focus-visible + label { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
#box_basketlist.v2-cart .deliverycountry:not(.none) { display: flex !important; align-items: center; gap: 12px; margin: 0 0 14px !important; font-size: 14px; }
#box_basketlist.v2-cart .deliverycountry select { height: 44px; border: 1.5px solid #d2d6dc; border-radius: 10px; padding: 0 12px; font: 600 14px var(--v2-font); }

/* podsumowanie */
#box_basketlist.v2-cart .v2-cart__sumcard { background: var(--v2-surface) !important; border-color: var(--v2-surface) !important; }
#box_basketlist.v2-cart .summary-container { display: flex !important; flex-direction: column; gap: 0; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-family: var(--v2-font); }
#box_basketlist.v2-cart .summary-container > div { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; float: none !important; width: auto !important; text-align: left !important; }
#box_basketlist.v2-cart .summary-container > div::before, #box_basketlist.v2-cart .summary-container > div::after { display: none !important; }
#box_basketlist.v2-cart .summary-container .recount > span { display: flex !important; justify-content: space-between; align-items: baseline; width: 100%; gap: 12px; }
#box_basketlist.v2-cart .summary-container .recount,
#box_basketlist.v2-cart .summary-container .deliveryhead { padding: 6px 0 !important; font-size: 14px; color: var(--v2-ink-2); }
#box_basketlist.v2-cart .summary-container em { font-style: normal !important; }
#box_basketlist.v2-cart .summary-container .recount .desc,
#box_basketlist.v2-cart .summary-container .deliveryhead .cost { order: 1; flex: 1; font: 500 14px var(--v2-font) !important; color: var(--v2-ink-2) !important; text-align: left !important; float: none !important; width: auto !important; padding: 0 !important; }
#box_basketlist.v2-cart .summary-container .recount .sum,
#box_basketlist.v2-cart .summary-container .deliveryhead .value { order: 2; float: none !important; width: auto !important; padding: 0 !important; text-align: right !important; }
#box_basketlist.v2-cart .summary-container .recount .sum em,
#box_basketlist.v2-cart .summary-container .deliveryhead .value em { font: 700 14px var(--v2-font) !important; color: var(--v2-ink) !important; }
#box_basketlist.v2-cart .summary-container .deliveryhead .actions { display: none !important; }
#box_basketlist.v2-cart #recalc { order: 3; flex-basis: 100%; float: none !important; }
#box_basketlist.v2-cart .summary-container .recount > span { flex-wrap: wrap; }
#box_basketlist.v2-cart #recalc button { width: 100%; min-height: 40px; margin: 6px 0 4px; border: 1.5px solid var(--v2-ink) !important; border-radius: 10px !important; background: #fff !important; color: var(--v2-ink) !important; font: 700 14px var(--v2-font) !important; text-transform: none !important; }
#box_basketlist.v2-cart #recalc button::before, #box_basketlist.v2-cart #recalc button::after { display: none !important; }
#box_basketlist.v2-cart .summary-container > div.sum { margin-top: 10px !important; padding-top: 14px !important; border-top: 1px solid #dfe2e7 !important; }
#box_basketlist.v2-cart .summary-container > div.sum .desc { font: 800 16px var(--v2-font) !important; color: var(--v2-ink) !important; float: none !important; width: auto !important; padding: 0 !important; text-align: left !important; }
#box_basketlist.v2-cart .summary-container > div.sum .value { font: 800 30px/1.1 var(--v2-font) !important; letter-spacing: -0.6px; color: var(--v2-ink) !important; float: none !important; width: auto !important; padding: 0 !important; text-align: right !important; white-space: nowrap; }
#box_basketlist.v2-cart .summary-container .tax-additional-info { justify-content: flex-end !important; font-size: 12px; color: var(--v2-muted); padding-top: 2px !important; }
#box_basketlist.v2-cart .summary-container .loyalty_points { font-size: 13px; color: var(--v2-ink-2); padding-top: 6px !important; }

/* kupon */
#box_basketlist.v2-cart .promo-container { order: 5; flex-direction: column; align-items: stretch !important; margin-top: 14px !important; padding-top: 14px !important; border-top: 1px solid #dfe2e7 !important; }
#box_basketlist.v2-cart .promo-container:empty { display: none !important; }
#box_basketlist.v2-cart .promocode { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
#box_basketlist.v2-cart .promocode .checkbox-wrap { display: none !important; }
#box_basketlist.v2-cart .promocode .desc { flex-basis: 100%; float: none !important; width: auto !important; padding: 0 !important; }
#box_basketlist.v2-cart .promocode .desc label { font: 700 14px var(--v2-font) !important; color: var(--v2-accent-ink) !important; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; margin: 0 !important; padding: 0 !important; }
#box_basketlist.v2-cart .promocode .desc label::before, #box_basketlist.v2-cart .promocode .desc label::after { display: none !important; }
#box_basketlist.v2-cart .promocode .input { flex: 1; min-width: 0; float: none !important; width: auto !important; padding: 0 !important; }
#box_basketlist.v2-cart .promocode .input .shaded_inputwrap { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
#box_basketlist.v2-cart .promocode .input input { width: 100% !important; height: 44px !important; border: 1.5px solid #d2d6dc !important; border-radius: 10px !important; padding: 0 12px !important; font: 600 14px var(--v2-font) !important; background: #fff !important; box-sizing: border-box; text-transform: uppercase; }
#box_basketlist.v2-cart .promocode .action { float: none !important; width: auto !important; padding: 0 !important; }
#box_basketlist.v2-cart .promocode .action .btn { height: 44px; min-width: 0 !important; padding: 0 18px !important; border: 0 !important; border-radius: 10px !important; background: var(--v2-ink) !important; color: #fff !important; font: 700 14px var(--v2-font) !important; text-transform: none !important; }
#box_basketlist.v2-cart .promocode .action .btn i, #box_basketlist.v2-cart .promocode .action .btn::before, #box_basketlist.v2-cart .promocode .action .btn::after { display: none !important; }
#box_basketlist.v2-cart .promo-container .promo { display: flex !important; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 14px; color: #15803d; font-weight: 700; padding: 4px 0 !important; float: none !important; }
#box_basketlist.v2-cart .promo-container .promo .desc, #box_basketlist.v2-cart .promo-container .promo .value { float: none !important; width: auto !important; padding: 0 !important; }
#box_basketlist.v2-cart .btn-remove-promocode { border: 0 !important; background: none !important; padding: 0 !important; color: var(--v2-muted) !important; font: 600 12px var(--v2-font) !important; text-decoration: underline; text-transform: none !important; min-width: 0 !important; }

/* przyciski */
#box_basketlist.v2-cart .buttons { display: flex !important; flex-direction: column; gap: 10px; margin: 20px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; float: none !important; width: auto !important; }
#box_basketlist.v2-cart .buttons::before, #box_basketlist.v2-cart .buttons::after { display: none !important; }
#box_basketlist.v2-cart .buttons > span, #box_basketlist.v2-cart .buttons > div { display: block; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; text-align: center; }
#box_basketlist.v2-cart .buttons > .none, #box_basketlist.v2-cart .buttons .none { display: none !important; }
#box_basketlist.v2-cart .buttons .forward { order: -1; }
#box_basketlist.v2-cart .buttons button.order {
  width: 100% !important; min-width: 0 !important; min-height: 56px; margin: 0 !important; padding: 0 20px !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important;
  font: 800 16px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
  display: flex !important; align-items: center; justify-content: center; gap: 10px;
}
#box_basketlist.v2-cart .buttons button.order::before { display: none !important; }
#box_basketlist.v2-cart .buttons button.order::after { content: "→" !important; display: inline !important; position: static !important; background: none !important; border: 0 !important; font-size: 18px; width: auto !important; height: auto !important; }
#box_basketlist.v2-cart .buttons button.order:hover { background: #ea580c !important; }
#box_basketlist.v2-cart .buttons button.back {
  width: 100% !important; min-width: 0 !important; min-height: 44px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  color: var(--v2-ink-2) !important; font: 700 14px var(--v2-font) !important; text-transform: none !important; text-decoration: underline; text-underline-offset: 3px;
}
#box_basketlist.v2-cart .buttons button.back::before, #box_basketlist.v2-cart .buttons button.back::after { display: none !important; }
#box_basketlist.v2-cart .buttons .gpay-button { width: 100% !important; }

.v2-cart__trust { list-style: none; margin: 0; padding: 18px 20px; border: 1px solid var(--v2-line); border-radius: 16px; display: grid; gap: 12px; font-family: var(--v2-font); }
.v2-cart__trust li { display: grid; grid-template-columns: 22px 1fr; column-gap: 12px; font-size: 13px; color: var(--v2-ink-2); line-height: 1.35; }
.v2-cart__trust li::before { content: ""; grid-row: 1 / span 2; width: 22px; height: 22px; border-radius: 99px; background: #dcfce7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat; }
.v2-cart__trust strong { color: var(--v2-ink); font-weight: 700; }

@media (max-width: 1100px) {
  #box_basketlist.v2-cart #cart-options { grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; }
}
@media (max-width: 900px) {
  #box_basketlist.v2-cart #cart-options { grid-template-columns: minmax(0, 1fr); }
  .v2-cart__aside { position: static; }
}
@media (max-width: 640px) {
  .v2-cart__head h1 { font-size: 26px !important; }
  #box_basketlist.v2-cart .v2-cart__card { padding: 18px 16px !important; border-radius: 16px !important; }
  #box_basketlist.v2-cart table.productlist tbody tr { grid-template-columns: 72px minmax(0, 1fr) 36px; column-gap: 14px; row-gap: 10px; }
  #box_basketlist.v2-cart td.img { width: 72px !important; height: 72px; grid-row: 1 / span 2; }
  #box_basketlist.v2-cart td.img img { max-width: 64px !important; max-height: 64px !important; }
  #box_basketlist.v2-cart td.name { grid-row: 1; grid-column: 2; }
  #box_basketlist.v2-cart td.time { grid-row: 2; grid-column: 2; margin: 0; }
  #box_basketlist.v2-cart td.actions { grid-column: 3; grid-row: 1; align-self: start; }
  #box_basketlist.v2-cart td.quantity { grid-column: 1 / span 2; grid-row: 3; }
  #box_basketlist.v2-cart td.sum { grid-column: 2 / span 2; grid-row: 3; align-self: center; }
  #box_basketlist.v2-cart .payment-container { grid-template-columns: minmax(0, 1fr); }
  #box_basketlist.v2-cart .summary-container > div.sum .value { font-size: 26px !important; }
}

/* --- koszyk: poprawki po testach (przyciski WCE, radia, mobile) --- */
.v2-qty .wce_qdec, .v2-qty .wce_qinc { display: none !important; }
#box_basketlist.v2-cart table.productlist td.price { display: none !important; }
#box_basketlist.v2-cart .radio-wrap { position: relative !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; transform: none !important; }
#box_basketlist.v2-cart .promocode:not(.v2-open) .input, #box_basketlist.v2-cart .promocode:not(.v2-open) .action { display: none !important; }
#box_basketlist.v2-cart .promocode.v2-open .input, #box_basketlist.v2-cart .promocode.v2-open .action { display: block !important; }
#box_basketlist.v2-cart .buttons button.order::after { content: none !important; display: none !important; }
#box_basketlist.v2-cart .delivery-container > div:not(.deliverycountry) { grid-template-columns: minmax(0, 1fr); }
#box_basketlist.v2-cart div.delivery, #box_basketlist.v2-cart div.payment { min-width: 0 !important; max-width: 100% !important; }
#box_basketlist.v2-cart .v2-qty .shaded_inputwrap { width: 44px !important; min-width: 0 !important; flex: none !important; }
#box_basketlist.v2-cart .v2-qty input { width: 44px !important; min-width: 0 !important; max-width: 44px !important; }
#box_basketlist.v2-cart div.delivery .value, #box_basketlist.v2-cart div.payment .value { position: static !important; }
#box_basketlist.v2-cart div.delivery .name, #box_basketlist.v2-cart div.payment .name { position: static !important; display: grid !important; grid-template-columns: 22px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; align-items: center; }
#box_basketlist.v2-cart .name .description { grid-column: 2; padding-left: 0 !important; }
#box_basketlist.v2-cart .name .additional_cost_percent { grid-column: 2; }
#box_basketlist.v2-cart .name .additional_cost_percent:empty { display: none !important; }
#box_basketlist.v2-cart table.productlist tbody tr td.actions { display: block !important; visibility: visible !important; }
#box_basketlist.v2-cart td.actions a.prodremove { position: relative !important; top: auto !important; right: auto !important; left: auto !important; bottom: auto !important; }
@media (max-width: 640px) {
  #box_basketlist.v2-cart table.productlist tbody tr { grid-template-columns: 72px minmax(0, 1fr) auto 36px !important; }
  #box_basketlist.v2-cart td.name { grid-column: 2 / span 2 !important; grid-row: 1 !important; }
  #box_basketlist.v2-cart td.name a { font-size: 14px !important; }
  #box_basketlist.v2-cart td.time { grid-column: 2 / -1 !important; grid-row: 2 !important; }
  #box_basketlist.v2-cart td.quantity { grid-column: 1 / span 2 !important; grid-row: 3 !important; }
  #box_basketlist.v2-cart td.sum { grid-column: 3 / span 2 !important; grid-row: 3 !important; }
  #box_basketlist.v2-cart table.productlist tbody tr td.actions { grid-column: 4 !important; grid-row: 1 !important; align-self: start !important; margin-top: -6px !important; }
  #box_basketlist.v2-cart td.actions a.prodremove { width: 36px; height: 36px; }
}

/* =====================================================================
   §11. Kasa: nagłówek z krokami, krok 2 (gość / konto), Twoje dane
   ===================================================================== */
/* --- nagłówek kasy --- */
header.checkout { background: #fff !important; border-bottom: 1px solid var(--v2-line) !important; box-shadow: none !important; font-family: var(--v2-font); }
header.checkout .logo-bar { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 32px; padding-top: 16px !important; padding-bottom: 16px !important; min-height: 0 !important; height: auto !important; }
header.checkout .logo-bar::before, header.checkout .logo-bar::after { display: none !important; }
header.checkout .link-logo { float: none !important; margin: 0 !important; padding: 0 !important; position: static !important; transform: none !important; }
header.checkout .link-logo img { max-height: 48px !important; width: auto !important; }
header.checkout .basket-steps { float: none !important; position: static !important; margin: 0 !important; padding: 0 !important; width: auto !important; transform: none !important; }
header.checkout .basket-steps ol { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 10px; counter-reset: v2step; background: none !important; }
header.checkout .basket-steps li {
  counter-increment: v2step; display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important;
  float: none !important; width: auto !important; height: auto !important; background: none !important; border: 0 !important;
  font: 700 14px var(--v2-font) !important; color: var(--v2-muted) !important; text-transform: none !important;
}
header.checkout .basket-steps li::after { display: none !important; }
header.checkout .basket-steps li + li::before {
  content: "" !important; display: block !important; width: 22px; height: 2px; border-radius: 2px; background: #d2d6dc !important; margin-right: 0;
  position: static !important; border: 0 !important;
}
header.checkout .basket-steps li a, header.checkout .basket-steps li span { display: flex !important; align-items: center; gap: 10px; color: inherit !important; text-decoration: none !important; background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; font: inherit !important; width: auto !important; height: auto !important; line-height: 1.2 !important; }
header.checkout .basket-steps li a span::before, header.checkout .basket-steps li > span::before {
  content: counter(v2step) !important; display: flex !important; align-items: center; justify-content: center; flex: none;
  width: 28px !important; height: 28px !important; border-radius: 99px !important; border: 1.5px solid #d2d6dc !important; background: #fff !important;
  font: 700 13px var(--v2-font) !important; color: var(--v2-muted) !important; position: static !important; margin: 0 !important; box-sizing: border-box;
}
header.checkout .basket-steps li a span::after, header.checkout .basket-steps li > span::after { display: none !important; }
header.checkout .basket-steps li.mark-green { color: #15803d !important; }
header.checkout .basket-steps li.mark-green a span::before, header.checkout .basket-steps li.mark-green > span::before { content: "✓" !important; background: #dcfce7 !important; border-color: #dcfce7 !important; color: #15803d !important; }
header.checkout .basket-steps li.mark-green a:hover { color: #166534 !important; text-decoration: underline !important; }
header.checkout .basket-steps li.active-step { color: var(--v2-ink) !important; }
header.checkout .basket-steps li.active-step > span::before, header.checkout .basket-steps li.active-step a span::before { content: counter(v2step) !important; background: var(--v2-ink) !important; border-color: var(--v2-ink) !important; color: #fff !important; }
.v2-co-help { display: flex; flex-direction: column; font: 500 12px/1.3 var(--v2-font); color: var(--v2-ink-2) !important; text-decoration: none !important; text-align: right; }
.v2-co-help strong { font-size: 16px; font-weight: 800; color: var(--v2-ink); }
.v2-co-help:hover strong { color: var(--v2-accent-ink); }

/* --- układ: formularz + podsumowanie --- */
.v2-co { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; margin: 8px 0 56px; font-family: var(--v2-font); color: var(--v2-ink); }
.v2-co *, .v2-co *::before, .v2-co *::after { box-sizing: border-box; }
.v2-co__main { min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.v2-co__main.box { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.v2-co__title { margin: 8px 0 0 !important; padding: 0 !important; font: 800 32px/1.15 var(--v2-font) !important; letter-spacing: -0.8px; color: var(--v2-ink) !important; text-transform: none !important; text-align: left !important; border: 0 !important; }
.v2-co__title::before, .v2-co__title::after { display: none !important; }
.v2-co__card { border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: #fff; padding: 26px; display: flex; flex-direction: column; gap: 16px; }
.v2-co__card[hidden] { display: none !important; }
.v2-co__card h2, .v2-co__sum h2 { margin: 0 !important; padding: 0 !important; font: 800 20px/1.25 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; border: 0 !important; background: none !important; text-align: left !important; }
.v2-co__card h2::before, .v2-co__card h2::after, .v2-co__sum h2::before, .v2-co__sum h2::after { display: none !important; }
.v2-co__card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--v2-ink-2); }

/* przełącznik gość / konto */
.v2-co__switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.v2-co__switch button {
  text-align: left; padding: 16px 18px; border: 1.5px solid #d2d6dc; border-radius: 14px; background: #fff; cursor: pointer;
  display: flex; flex-direction: column; gap: 4px; font-family: var(--v2-font); color: var(--v2-ink); min-height: 0; margin: 0; box-shadow: none; text-transform: none;
}
.v2-co__switch button strong { font-size: 15px; font-weight: 800; }
.v2-co__switch button span { font-size: 13px; color: var(--v2-ink-2); line-height: 1.4; }
.v2-co__switch button:hover { border-color: #9ca3af; }
.v2-co__switch button[aria-selected="true"] { border: 2px solid var(--v2-ink); padding: 15.5px 17.5px; }
.v2-co__switch button:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }

.v2-co__ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14px; color: var(--v2-ink-2); }
.v2-co__ticks li { display: flex; gap: 10px; align-items: center; }
.v2-co__ticks li::before { content: ""; flex: none; width: 20px; height: 20px; border-radius: 99px; background: #dcfce7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* przyciski */
.v2-co .btn.v2-co__primary, .v2-co .btn.v2-co__dark, .v2-co .btn.v2-co__ghost {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-width: 0 !important; width: auto !important; min-height: 52px; height: auto !important;
  margin: 0 !important; padding: 0 28px !important; border-radius: 12px !important; font: 800 15px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important;
  box-shadow: none !important; cursor: pointer; line-height: 1.2 !important; float: none !important;
}
.v2-co .btn.v2-co__primary { background: var(--v2-accent) !important; border: 0 !important; color: var(--v2-ink) !important; align-self: flex-start; }
.v2-co .btn.v2-co__primary:hover { background: #ea580c !important; }
.v2-co .btn.v2-co__primary::after { content: "→" !important; display: inline !important; position: static !important; background: none !important; border: 0 !important; width: auto !important; height: auto !important; font-size: 18px; }
.v2-co .btn.v2-co__dark { background: var(--v2-ink) !important; border: 0 !important; color: #fff !important; }
.v2-co .btn.v2-co__dark:hover { background: #2a2e37 !important; }
.v2-co .btn.v2-co__ghost { background: #fff !important; border: 1.5px solid var(--v2-ink) !important; color: var(--v2-ink) !important; min-height: 46px; padding: 0 20px !important; font-size: 14px !important; }
.v2-co .btn.v2-co__primary::before, .v2-co .btn.v2-co__dark::before, .v2-co .btn.v2-co__dark::after, .v2-co .btn.v2-co__ghost::before, .v2-co .btn.v2-co__ghost::after { display: none !important; }
.v2-co .btn span { color: inherit !important; font: inherit !important; background: none !important; padding: 0 !important; margin: 0 !important; }

/* logowanie */
.v2-co__social { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.v2-co .btn.v2-co__sbtn {
  display: flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 50px; height: auto !important; min-width: 0 !important; width: auto !important;
  margin: 0 !important; padding: 0 14px !important; border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
  font: 700 14px var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; text-decoration: none !important; float: none !important;
}
.v2-co .btn.v2-co__sbtn:hover { border-color: var(--v2-ink) !important; }
.v2-co .btn.v2-co__sbtn::after { display: none !important; }
.v2-co .btn.v2-co__sbtn.btn-login-google { grid-column: 1 / -1; order: -1; }
.v2-co .btn.v2-co__sbtn .shoper_sso__logo { display: inline-block !important; height: 16px; width: auto; }
.v2-co .btn.v2-co__sbtn .shoper_sso__logo_dark { display: none !important; }
.v2-co__legal { font-size: 12px !important; color: var(--v2-muted) !important; }
.v2-co__or { display: flex; align-items: center; gap: 14px; color: var(--v2-muted); font-size: 13px; font-weight: 600; }
.v2-co__or::before, .v2-co__or::after { content: ""; flex: 1; height: 1px; background: var(--v2-line); }
.v2-co__login { margin: 0; display: flex; flex-direction: column; gap: 16px; }
.v2-co__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.v2-co__field { display: flex; flex-direction: column; gap: 6px; }
.v2-co__field label { font: 700 14px var(--v2-font); color: var(--v2-ink); margin: 0; }
.v2-co__field input { height: 52px !important; border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; padding: 0 16px !important; font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important; background: #fff !important; box-shadow: none !important; width: 100% !important; margin: 0 !important; }
.v2-co__field input:focus { outline: none; border-color: var(--v2-ink) !important; }
.v2-co__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.v2-co__link { font-size: 13px; font-weight: 700; color: var(--v2-accent-ink) !important; text-decoration: none !important; }
.v2-co__link:hover { text-decoration: underline !important; }
.v2-co__reg { margin: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 18px 22px; border-radius: 16px; background: var(--v2-surface); font-size: 14px; line-height: 1.5; color: var(--v2-ink-2); }
.v2-co__reg > span { flex: 1 1 280px; }
.v2-co__back { align-self: flex-start; font-size: 14px; font-weight: 700; color: var(--v2-ink) !important; text-decoration: none !important; }
.v2-co__back:hover { color: var(--v2-accent-ink) !important; }

/* podsumowanie po prawej */
.v2-co__aside { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.v2-co__sum { border-radius: var(--v2-radius); background: var(--v2-surface); padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.v2-co__sumhead { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.v2-co__sumhead a { font-size: 13px; font-weight: 700; color: var(--v2-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.v2-co__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; max-height: 340px; overflow: auto; }
.v2-co__items li { display: flex; gap: 12px; align-items: center; }
.v2-co__img { width: 56px; height: 56px; flex: none; border-radius: 12px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.v2-co__img img { max-width: 48px; max-height: 48px; width: auto; height: auto; }
.v2-co__name { flex: 1; min-width: 0; font-size: 13px; font-weight: 600; line-height: 1.35; color: var(--v2-ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.v2-co__name small { display: block; font-size: 12px; font-weight: 500; color: var(--v2-muted); }
.v2-co__items strong { font-size: 14px; font-weight: 800; white-space: nowrap; }
.v2-co__line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-top: 1px solid #dfe2e7; padding-top: 14px; font-size: 15px; color: var(--v2-ink-2); }
.v2-co__line strong { font-size: 22px; font-weight: 800; color: var(--v2-ink); letter-spacing: -0.3px; }
.v2-co__note { margin: 0; font-size: 12px; line-height: 1.5; color: var(--v2-muted); }
.v2-co__safe { padding: 16px 18px 16px 52px; border: 1px solid var(--v2-line); border-radius: 14px; font-size: 13px; line-height: 1.5; color: var(--v2-ink-2); position: relative; }
.v2-co__safe::before { content: ""; position: absolute; left: 18px; top: 17px; width: 22px; height: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat; }
.v2-co__safe strong { color: var(--v2-ink); }

/* --- Twoje dane (formularz adresu Shopera) --- */
.v2-co #box_basketaddress { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.v2-co #box_basketaddress .innerbox, .v2-co #box_basketaddress .basket-step-border { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.v2-co #box_basketaddress .basket-step-border { display: flex; flex-direction: column; gap: 20px; }
.v2-co #box_basketaddress .f-row { display: flex !important; flex-direction: column; gap: 20px; margin: 0 !important; width: auto !important; }
.v2-co #box_basketaddress .f-row::before, .v2-co #box_basketaddress .f-row::after { display: none !important; }
.v2-co #box_basketaddress .f-grid-6 { width: auto !important; max-width: none !important; float: none !important; padding: 0 !important; margin: 0 !important; display: flex; flex-direction: column; gap: 20px; flex: none !important; }
.v2-co #box_basketaddress .client-data,
.v2-co #box_basketaddress .client-address,
.v2-co #box_basketaddress .v2-co-extra,
.v2-co #box_basketaddress .client-address-different.v2-diff-on {
  border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: #fff; padding: 24px 26px; margin: 0 !important;
}
.v2-co #box_basketaddress .client-address-different:not(.v2-diff-on) { display: none !important; }
.v2-co #box_basketaddress h4.separator {
  margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important;
  font: 800 20px/1.25 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.v2-co #box_basketaddress h4.separator::before, .v2-co #box_basketaddress h4.separator::after { display: none !important; }
.v2-co #box_basketaddress h4.separator.none { display: none !important; }

/* tabele pól → siatka 6 kolumn */
.v2-co #box_basketaddress table { display: block !important; width: 100% !important; margin: 0 !important; border: 0 !important; background: none !important; }
.v2-co #box_basketaddress table > tbody { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.v2-co #box_basketaddress table tr { grid-column: span 6; display: flex !important; flex-direction: column; gap: 6px; border: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; min-width: 0; }
.v2-co #box_basketaddress table tr.none, .v2-co #box_basketaddress table tr.hide-state, .v2-co #box_basketaddress table tr[style*="none"] { display: none !important; }
.v2-co #box_basketaddress table tr.name, .v2-co #box_basketaddress table tr.surname,
.v2-co #box_basketaddress table tr.name2, .v2-co #box_basketaddress table tr.surname2 { grid-column: span 3; }
.v2-co #box_basketaddress table tr.coname, .v2-co #box_basketaddress table tr.coname2 { grid-column: span 4; }
.v2-co #box_basketaddress table tr.nip { grid-column: span 2; }
.v2-co #box_basketaddress table tr.zip, .v2-co #box_basketaddress table tr.zip2 { grid-column: span 2; }
.v2-co #box_basketaddress table tr.city, .v2-co #box_basketaddress table tr.city2 { grid-column: span 4; }
.v2-co #box_basketaddress table td { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
.v2-co #box_basketaddress table td:empty { display: none !important; }
.v2-co #box_basketaddress td.label, .v2-co #box_basketaddress td.label label { font: 700 14px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; margin: 0 !important; padding: 0 !important; }
.v2-co #box_basketaddress td.label em.color, .v2-co #box_basketaddress td.input_checkbox em.color { color: var(--v2-accent-ink) !important; font-style: normal; }
.v2-co #box_basketaddress .shaded_inputwrap, .v2-co #box_basketaddress .shaded_textareawrap { display: block !important; width: 100% !important; border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; }
.v2-co #box_basketaddress .shaded_inputwrap::before, .v2-co #box_basketaddress .shaded_inputwrap::after { display: none !important; }
.v2-co #box_basketaddress input[type="text"], .v2-co #box_basketaddress input[type="email"], .v2-co #box_basketaddress input[type="tel"],
.v2-co #box_basketaddress input[type="number"], .v2-co #box_basketaddress input[type="password"], .v2-co #box_basketaddress select, .v2-co #box_basketaddress textarea {
  width: 100% !important; max-width: none !important; height: 52px !important; margin: 0 !important; padding: 0 16px !important; box-sizing: border-box;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background-color: #fff !important; box-shadow: none !important;
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
.v2-co #box_basketaddress textarea { height: auto !important; min-height: 96px; padding: 14px 16px !important; resize: vertical; }
.v2-co #box_basketaddress input:focus, .v2-co #box_basketaddress select:focus, .v2-co #box_basketaddress textarea:focus { outline: none; border-color: var(--v2-ink) !important; }
.v2-co #box_basketaddress .error input, .v2-co #box_basketaddress select.error, .v2-co #box_basketaddress input[aria-invalid="true"] { border-color: #dc2626 !important; background: #fef2f2 !important; }
.v2-co #box_basketaddress td.error { margin-top: -4px; }
.v2-co #box_basketaddress .input_error { margin: 0 !important; padding: 0 !important; list-style: none !important; font: 600 13px var(--v2-font) !important; color: #b91c1c !important; }
.v2-co #box_basketaddress .input_error li { margin: 0 !important; padding: 0 !important; background: none !important; }
/* telefon z wyborem kraju */
.v2-co #box_basketaddress tr.js__phone-table-row td.label { display: flex !important; flex-direction: column; gap: 6px; }
.v2-co #box_basketaddress .select__phone-container.none { display: none !important; }

/* osoba prywatna / firma → przełącznik */
.v2-co #box_basketaddress tr.address_type td.input {
  display: inline-flex !important; align-self: flex-start; gap: 4px; padding: 4px !important; border-radius: 12px; background: var(--v2-surface) !important; position: relative;
}
.v2-co #box_basketaddress tr.address_type .radio-wrap { position: absolute !important; opacity: 0; width: 1px; height: 1px; overflow: hidden; pointer-events: none; }
.v2-co #box_basketaddress tr.address_type td.input > label {
  display: flex !important; align-items: center; min-height: 40px; padding: 0 18px !important; margin: 0 !important; border-radius: 9px; cursor: pointer;
  font: 700 14px var(--v2-font) !important; color: var(--v2-ink-2) !important; text-transform: none !important; background: none !important;
}
.v2-co #box_basketaddress tr.address_type td.input > label::before, .v2-co #box_basketaddress tr.address_type td.input > label::after { display: none !important; }
.v2-co #box_basketaddress tr.address_type td.input > label.v2-on,
.v2-co #box_basketaddress tr.address_type .radio-wrap:has(input:checked) + label { background: #fff !important; color: var(--v2-ink) !important; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.v2-co #box_basketaddress tr.address_type .radio-wrap:has(input:focus-visible) + label { outline: 3px solid var(--v2-accent); outline-offset: 1px; }

/* checkboxy: inny adres, zgody, faktura */
.v2-co #box_basketaddress tr.different_address td.input,
.v2-co #box_basketaddress td.input_checkbox,
.v2-co #box_basketaddress tr.vat_eu td.input { display: flex !important; align-items: flex-start; gap: 10px; }
.v2-co #box_basketaddress .checkbox-wrap { position: relative !important; display: inline-block !important; width: 20px; height: 20px; flex: none; margin: 1px 0 0 !important; left: auto !important; top: auto !important; }
.v2-co #box_basketaddress .checkbox-wrap input { position: absolute !important; inset: 0; opacity: 0 !important; width: 20px !important; height: 20px !important; margin: 0 !important; cursor: pointer; z-index: 1; }
.v2-co #box_basketaddress .checkbox-wrap label { display: block !important; width: 20px !important; height: 20px !important; margin: 0 !important; padding: 0 !important; border: 2px solid #b8bec8 !important; border-radius: 6px !important; background: #fff !important; position: static !important; }
.v2-co #box_basketaddress .checkbox-wrap label::before { display: none !important; }
.v2-co #box_basketaddress .checkbox-wrap label::after { content: none !important; display: none !important; }
.v2-co #box_basketaddress .checkbox-wrap input:checked + label {
  background: var(--v2-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat !important; border-color: var(--v2-ink) !important;
}
.v2-co #box_basketaddress .checkbox-wrap input:focus-visible + label { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
.v2-co #box_basketaddress .checkbox-wrap + label, .v2-co #box_basketaddress td.input_checkbox > label {
  font: 500 14px/1.5 var(--v2-font) !important; color: var(--v2-ink-2) !important; margin: 0 !important; padding: 0 !important; cursor: pointer; text-transform: none !important;
}
.v2-co #box_basketaddress .checkbox-wrap + label::before, .v2-co #box_basketaddress .checkbox-wrap + label::after { display: none !important; }
.v2-co #box_basketaddress td.input_checkbox > label a { color: var(--v2-ink) !important; text-decoration: underline !important; font-weight: 700; }
.v2-co #box_basketaddress tr.different_address { margin-top: 4px !important; }
.v2-co #box_basketaddress tr.different_address label { color: var(--v2-ink) !important; font-weight: 700 !important; }
.v2-co #box_basketaddress .hint { display: inline-block; vertical-align: middle; }
/* pola ukryte typu hidden w dodatkowych */
.v2-co #box_basketaddress tr.additional-fields:has(> td.input_hidden) { display: none !important; }
.v2-co #box_basketaddress td.input_info { font-size: 13px; color: var(--v2-ink-2); }
/* „* pole wymagane” */
.v2-co #box_basketaddress .basket-step-border > div:last-child:not(.f-row) { font-size: 12px; color: var(--v2-muted); }
.v2-co #box_basketaddress .basket-step-border > div:last-child em.color { color: var(--v2-accent-ink) !important; font-style: normal; }

/* przyciski na dole */
.v2-co #box_basketaddress .bottombuttons { display: flex !important; flex-direction: row-reverse; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin: 20px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.v2-co #box_basketaddress .bottombuttons::before, .v2-co #box_basketaddress .bottombuttons::after { display: none !important; }
.v2-co #box_basketaddress .bottombuttons button.summary {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 56px; min-width: 0 !important; width: auto !important;
  padding: 0 32px !important; margin: 0 !important; border: 0 !important; border-radius: 12px !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important;
  font: 800 16px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; float: none !important;
}
.v2-co #box_basketaddress .bottombuttons button.summary:hover { background: #ea580c !important; }
.v2-co #box_basketaddress .bottombuttons button.summary::before { display: none !important; }
.v2-co #box_basketaddress .bottombuttons button.summary::after { content: "→" !important; display: inline !important; position: static !important; background: none !important; border: 0 !important; width: auto !important; height: auto !important; font-size: 18px; }
.v2-co #box_basketaddress .bottombuttons button.summary span, .v2-co #box_basketaddress .bottombuttons button.back span { color: inherit !important; font: inherit !important; }
.v2-co #box_basketaddress .bottombuttons button.back {
  min-height: 44px; min-width: 0 !important; width: auto !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  color: var(--v2-ink) !important; font: 700 14px var(--v2-font) !important; text-transform: none !important; float: none !important; cursor: pointer;
}
.v2-co #box_basketaddress .bottombuttons button.back::before { content: "← " !important; display: inline !important; position: static !important; background: none !important; border: 0 !important; width: auto !important; height: auto !important; }
.v2-co #box_basketaddress .bottombuttons button.back::after { display: none !important; }
.v2-co #box_basketaddress .bottombuttons button.back:hover { color: var(--v2-accent-ink) !important; }
.v2-co #box_basketaddress .bottombuttons img.px1, .v2-co .btn img.px1 { display: none !important; }

@media (max-width: 1100px) { .v2-co { grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; } }
@media (max-width: 900px) {
  .v2-co { grid-template-columns: minmax(0, 1fr); }
  .v2-co__aside { position: static; }
  .v2-co__items { max-height: none; }
  header.checkout .basket-steps li a span, header.checkout .basket-steps li > span { font-size: 0 !important; gap: 0; }
  header.checkout .basket-steps li.active-step > span, header.checkout .basket-steps li.active-step a span { font-size: 14px !important; gap: 10px; }
  .v2-co-help span { display: none; }
}
@media (max-width: 640px) {
  .v2-co__title { font-size: 26px !important; }
  .v2-co__card, .v2-co #box_basketaddress .client-data, .v2-co #box_basketaddress .client-address,
  .v2-co #box_basketaddress .v2-co-extra, .v2-co #box_basketaddress .client-address-different.v2-diff-on { padding: 18px 16px; border-radius: 16px; }
  .v2-co__switch { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .v2-co__fields { grid-template-columns: minmax(0, 1fr); }
  .v2-co__social { grid-template-columns: minmax(0, 1fr); }
  .v2-co .btn.v2-co__primary, .v2-co .btn.v2-co__dark { width: 100% !important; align-self: stretch; }
  .v2-co__row { flex-direction: column-reverse; align-items: stretch; text-align: center; }
  .v2-co__sum { padding: 18px 16px; }
  .v2-co #box_basketaddress table tr.name, .v2-co #box_basketaddress table tr.surname,
  .v2-co #box_basketaddress table tr.name2, .v2-co #box_basketaddress table tr.surname2,
  .v2-co #box_basketaddress table tr.coname, .v2-co #box_basketaddress table tr.coname2, .v2-co #box_basketaddress table tr.nip { grid-column: span 6; }
  .v2-co #box_basketaddress .bottombuttons { flex-direction: column; align-items: stretch; }
  .v2-co #box_basketaddress .bottombuttons button.summary { width: 100% !important; }
  header.checkout .link-logo img { max-height: 36px !important; }
  header.checkout .logo-bar { gap: 10px 16px; }
  header.checkout .basket-steps { order: 3; width: 100% !important; }
  header.checkout .basket-steps li + li::before { width: 12px; }
}

/* --- kasa: poprawki po testach --- */
header.checkout .basket-steps li:first-child::before { display: none !important; content: none !important; }
.v2-co #box_basketaddress table tr.coname2 { grid-column: span 6; }
.v2-co #box_basketaddress table tr.v2-moved { display: none !important; }
.v2-co #box_basketaddress td.input .input_error { margin-top: 6px !important; }
/* zgody: gwiazdka „wymagane” za treścią */
.v2-co #box_basketaddress tr.additional-fields:has(td.input_checkbox) { flex-direction: row !important; align-items: flex-start; gap: 2px; }
.v2-co #box_basketaddress tr.additional-fields:has(td.input_checkbox) td.label_checkbox { display: block !important; order: 2; font-size: 14px !important; line-height: 1.5 !important; }
.v2-co .btn.v2-co__primary, .v2-co .btn.v2-co__dark, .v2-co .btn.v2-co__ghost, .v2-co .btn.v2-co__sbtn { position: static !important; top: auto !important; right: auto !important; left: auto !important; bottom: auto !important; transform: none !important; }

/* --- koszyk: poprawki 2 --- */
/* ramka kart: jasna dla niewybranych, ciemna tylko dla zaznaczonej (Hammer pogrubia .payment.first) */
#box_basketlist.v2-cart #cart-options .payment-container div.payment:not(.v2-on),
#box_basketlist.v2-cart #cart-options .delivery-container div.delivery:not(.v2-on) { border: 1.5px solid #d2d6dc !important; padding: 14px 18px !important; }
#box_basketlist.v2-cart #cart-options .payment-container div.payment.v2-on,
#box_basketlist.v2-cart #cart-options .delivery-container div.delivery.v2-on { border: 2px solid var(--v2-ink) !important; padding: 13.5px 17.5px !important; }
/* opis płatności zawija się w kafelku */
#box_basketlist.v2-cart #cart-options .name .description,
#box_basketlist.v2-cart #cart-options .name > label { width: auto !important; max-width: 100% !important; min-width: 0 !important; white-space: normal !important; overflow-wrap: anywhere; float: none !important; position: static !important; margin: 0 !important; }
#box_basketlist.v2-cart #cart-options .name .description img { max-width: 100% !important; height: auto !important; }
#box_basketlist.v2-cart #cart-options div.delivery .name, #box_basketlist.v2-cart #cart-options div.payment .name { overflow: hidden; }
/* belka darmowej dostawy ukryta, gdy tej formy dostawy nie ma w koszyku */
#box_freeshipping.v2-cart__free.v2-hide, body.v2-nofree #box_freeshipping { display: none !important; }

/* --- koszyk: kupon rabatowy i rabat w podsumowaniu --- */
/* kolejność wierszy: Razem → Rabat → Koszt dostawy → Do zapłaty → (pole kuponu) */
#box_basketlist.v2-cart .summary-container .promo-container { display: contents !important; }
#box_basketlist.v2-cart .summary-container .recount { order: 1; }
#box_basketlist.v2-cart .summary-container .promo-container > .promo { order: 2; }
#box_basketlist.v2-cart .summary-container .deliveryhead { order: 3; }
#box_basketlist.v2-cart .summary-container > div.sum { order: 4; }
#box_basketlist.v2-cart .summary-container .tax-additional-info { order: 5; }
#box_basketlist.v2-cart .summary-container .loyalty_points { order: 6; }
#box_basketlist.v2-cart .summary-container .promo-container > .promocode { order: 7; }

/* wiersz rabatu */
#box_basketlist.v2-cart .summary-container .promo-container > .promo {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 2px; align-items: baseline;
  padding: 6px 0 !important; margin: 0 !important; float: none !important; width: auto !important; border: 0 !important; background: none !important;
}
#box_basketlist.v2-cart .summary-container .promo-container > .promo::before,
#box_basketlist.v2-cart .summary-container .promo-container > .promo::after { display: none !important; }
#box_basketlist.v2-cart .summary-container .promo > .desc {
  grid-column: 1; grid-row: 1; float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; text-align: left !important;
  font: 600 14px/1.35 var(--v2-font) !important; color: #15803d !important;
}
#box_basketlist.v2-cart .summary-container .promo > .value {
  grid-column: 2; grid-row: 1; float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; text-align: right !important;
  font: 800 14px var(--v2-font) !important; color: #15803d !important; white-space: nowrap;
}
#box_basketlist.v2-cart .summary-container .promo > div { grid-column: 1 / -1; grid-row: 2; margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; text-align: left !important; }
#box_basketlist.v2-cart .summary-container .promo .btn-remove-promocode {
  display: inline !important; min-width: 0 !important; width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: none !important; box-shadow: none !important; cursor: pointer; position: static !important; float: none !important;
  font: 600 12px var(--v2-font) !important; color: var(--v2-muted) !important; text-transform: none !important; text-decoration: underline !important; text-underline-offset: 2px;
}
#box_basketlist.v2-cart .summary-container .promo .btn-remove-promocode span { font: inherit !important; color: inherit !important; display: inline !important; }
#box_basketlist.v2-cart .summary-container .promo .btn-remove-promocode::before,
#box_basketlist.v2-cart .summary-container .promo .btn-remove-promocode::after { display: none !important; }
#box_basketlist.v2-cart .summary-container .promo .btn-remove-promocode:hover { color: #b91c1c !important; }

/* pole kuponu */
#box_basketlist.v2-cart .summary-container .promo-container > .promocode {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center;
  margin: 14px 0 0 !important; padding: 14px 0 0 !important; border: 0 !important; border-top: 1px solid #dfe2e7 !important; float: none !important; width: auto !important; background: none !important;
}
#box_basketlist.v2-cart .summary-container .promocode::before, #box_basketlist.v2-cart .summary-container .promocode::after { display: none !important; }
#box_basketlist.v2-cart .summary-container .promocode .desc { grid-column: 1 / -1; text-align: left !important; float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
#box_basketlist.v2-cart .summary-container .promocode .desc label { display: inline-flex !important; align-items: center; gap: 6px; text-decoration: none !important; font: 700 14px var(--v2-font) !important; color: var(--v2-accent-ink) !important; }
#box_basketlist.v2-cart .summary-container .promocode .desc label::before {
  content: "+" !important; display: inline-flex !important; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 99px;
  border: 1.5px solid currentColor !important; font: 700 13px/1 var(--v2-font); position: static !important; background: none !important; margin: 0 !important;
}
#box_basketlist.v2-cart .summary-container .promocode.v2-open .desc label::before { content: "−" !important; }
#box_basketlist.v2-cart .summary-container .promocode .input { grid-column: 1; min-width: 0; float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
#box_basketlist.v2-cart .summary-container .promocode .input .shaded_inputwrap { display: block !important; width: 100% !important; margin: 0 !important; }
#box_basketlist.v2-cart .summary-container .promocode .input input {
  width: 100% !important; height: 46px !important; margin: 0 !important; padding: 0 14px !important; box-sizing: border-box;
  border: 1.5px solid #d2d6dc !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important;
  font: 700 14px var(--v2-font) !important; letter-spacing: 0.5px; color: var(--v2-ink) !important; text-transform: uppercase;
}
#box_basketlist.v2-cart .summary-container .promocode .input input::placeholder { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--v2-muted); }
#box_basketlist.v2-cart .summary-container .promocode .input input:focus { outline: none; border-color: var(--v2-ink) !important; }
#box_basketlist.v2-cart .summary-container .promocode .error input { border-color: #dc2626 !important; background: #fef2f2 !important; }
#box_basketlist.v2-cart .summary-container .promocode .action { grid-column: 2; float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
#box_basketlist.v2-cart .summary-container .promocode .action .btn {
  display: inline-flex !important; align-items: center; justify-content: center; height: 46px !important; min-height: 0 !important; min-width: 0 !important; width: auto !important;
  padding: 0 18px !important; margin: 0 !important; border: 0 !important; border-radius: 10px !important; position: static !important;
  background: var(--v2-ink) !important; color: #fff !important; box-shadow: none !important; cursor: pointer;
  font: 700 14px/1 var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; text-indent: 0 !important;
}
#box_basketlist.v2-cart .summary-container .promocode .action .btn span {
  display: inline !important; position: static !important; font: 700 14px/1 var(--v2-font) !important; color: #fff !important;
  visibility: visible !important; opacity: 1 !important; text-indent: 0 !important; width: auto !important; height: auto !important;
}
#box_basketlist.v2-cart .summary-container .promocode .action .btn img,
#box_basketlist.v2-cart .summary-container .promocode .action .btn i { display: none !important; }
#box_basketlist.v2-cart .summary-container .promocode .action .btn:hover { background: #2a2e37 !important; }
/* pole kuponu: ukryte do kliknięcia „Mam kupon rabatowy” */
#box_basketlist.v2-cart .summary-container .promocode:not(.v2-open) .input,
#box_basketlist.v2-cart .summary-container .promocode:not(.v2-open) .action { display: none !important; }
#box_basketlist.v2-cart .summary-container .promocode.v2-open .input,
#box_basketlist.v2-cart .summary-container .promocode.v2-open .action { display: block !important; }

/* =====================================================================
   §12. Katalog produktów – mega menu (power menu Hammera + v2_smartled.js §8)
   ===================================================================== */
/* przyciemnienie strony pod otwartym menu */
body.v2-mm-open::after {
  content: ""; position: fixed; left: 0; right: 0; bottom: 0; top: var(--v2-mm-top, 0px); z-index: 40; background: rgba(14, 16, 20, .42); pointer-events: none;
  animation: v2mmFade .15s ease-out;
}
@keyframes v2mmFade { from { opacity: 0; } to { opacity: 1; } }
body.v2-mm-open .wrap > .menu, body.v2-mm-open #box_wce_sticky-header { position: relative; z-index: 60; }
body.v2-mm-open #box_wce_sticky-header { position: fixed; }

/* panel */
.menu-list .wce_power-container.v2-mm.v2-mm {
  grid-template-columns: 300px minmax(0, 1fr) !important; gap: 0 !important;
  background: #fff !important; border: 0 !important; border-radius: 0 0 24px 24px !important; overflow: hidden;
  box-shadow: 0 24px 60px rgba(14, 16, 20, .22) !important; font-family: var(--v2-font); color: var(--v2-ink);
}
.menu-list .wce_power-container.v2-mm.v2-mm > *:nth-child(n+3) { display: none !important; }
.menu-list .wce_power-container.v2-mm.v2-mm *, .menu-list .wce_power-container.v2-mm.v2-mm *::before, .menu-list .wce_power-container.v2-mm.v2-mm *::after { box-sizing: border-box; }

/* --- lewa kolumna --- */
.menu-list .v2-mm.v2-mm .wce_left-side {
  width: auto !important; padding: 14px 10px !important; margin: 0 !important; background: #fff !important; box-shadow: none !important;
  border: 0 !important; border-right: 1px solid var(--v2-line) !important; display: flex !important; flex-direction: column; gap: 2px;
}
.menu-list .v2-mm.v2-mm .wce_left-side::before, .menu-list .v2-mm.v2-mm .wce_left-side::after { display: none !important; }
.menu-list .v2-mm.v2-mm .v2-mm__group { display: block; padding: 10px 14px 6px; font: 800 11px var(--v2-font); letter-spacing: 1.5px; text-transform: uppercase; color: var(--v2-muted); }
.menu-list .v2-mm.v2-mm .v2-mm__group:not(:first-child) { padding-top: 16px; }
.menu-list .v2-mm.v2-mm .wce_left-side a {
  display: flex !important; align-items: center; gap: 12px; min-height: 44px; padding: 6px 12px !important; margin: 0 !important;
  border: 0 !important; border-radius: 12px !important; background: none !important; color: var(--v2-ink) !important;
  font: 600 14px/1.25 var(--v2-font) !important; text-decoration: none !important; text-transform: none !important; position: relative;
}
.menu-list .v2-mm.v2-mm .wce_left-side a::before { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_left-side a::after { display: none !important; content: none !important; }
.menu-list .v2-mm.v2-mm .wce_left-side a > span:not(.v2-mm__ico) { flex: 1; color: inherit !important; font: inherit !important; padding: 0 !important; margin: 0 !important; }
.menu-list .v2-mm.v2-mm .wce_left-side a > img { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_left-side a .v2-mm__ico {
  width: 32px; height: 32px; flex: none; border-radius: 10px; background: var(--v2-surface); color: var(--v2-ink-2);
  display: flex; align-items: center; justify-content: center; transition: background .15s, color .15s;
}
.menu-list .v2-mm.v2-mm .wce_left-side a:hover { background: var(--v2-surface) !important; }
.menu-list .v2-mm.v2-mm .wce_left-side a.wce_current { background: var(--v2-accent-soft) !important; color: var(--v2-accent-ink) !important; font-weight: 800 !important; }
.menu-list .v2-mm.v2-mm .wce_left-side a.wce_current .v2-mm__ico { background: var(--v2-accent); color: #fff; }
.menu-list .v2-mm.v2-mm .wce_left-side a.wce_current::after {
  content: "" !important; display: block !important; position: static !important; width: 8px; height: 8px; flex: none; margin-right: 2px;
  border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: rotate(-45deg); background: none !important;
}
.menu-list .v2-mm.v2-mm .v2-mm__moreBtn {
  display: flex; align-items: center; min-height: 40px; margin: 6px 0 0; padding: 6px 14px; border: 0; border-radius: 12px; background: none;
  font: 700 13px var(--v2-font); color: var(--v2-ink-2); cursor: pointer; text-align: left;
}
.menu-list .v2-mm.v2-mm .v2-mm__moreBtn:hover { background: var(--v2-surface); color: var(--v2-ink); }
.menu-list .v2-mm.v2-mm .v2-mm__more { display: flex; flex-direction: column; gap: 2px; }
.menu-list .v2-mm.v2-mm .v2-mm__more[hidden] { display: none !important; }
.menu-list .v2-mm.v2-mm .v2-mm__more a { min-height: 38px !important; font-size: 13px !important; }
.menu-list .v2-mm.v2-mm .v2-mm__more a .v2-mm__ico { width: 26px; height: 26px; border-radius: 8px; }

/* --- prawa strona --- */
.menu-list .v2-mm.v2-mm .wce_right-side { padding: 26px 30px 28px !important; background: #fff !important; display: flex !important; flex-direction: column; gap: 22px; min-width: 0; }
.menu-list .v2-mm.v2-mm .wce_head-row {
  display: flex !important; flex-wrap: wrap; align-items: center; gap: 14px 20px; padding: 0 !important; margin: 0 !important;
  background: none !important; border: 0 !important; min-height: 0 !important;
}
.menu-list .v2-mm.v2-mm .wce_head-row::before, .menu-list .v2-mm.v2-mm .wce_head-row::after { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_ea-categories { width: 56px !important; height: 56px !important; flex: none; margin: 0 !important; padding: 0 !important; border-radius: 14px; background: var(--v2-surface) !important; overflow: hidden; border: 0 !important; }
.menu-list .v2-mm.v2-mm .wce_ea-categories .wce_avatar-wrap { width: 100% !important; height: 100% !important; margin: 0 !important; padding: 4px !important; border: 0 !important; background: none !important; display: flex; align-items: center; justify-content: center; }
.menu-list .v2-mm.v2-mm .wce_ea-categories img { max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; mix-blend-mode: multiply; }
.menu-list .v2-mm.v2-mm .wce_subcategories-header { flex: 1 1 260px; display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 0 !important; padding: 0 !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories-header > span { font: 800 28px/1.15 var(--v2-font) !important; letter-spacing: -0.6px; color: var(--v2-ink) !important; text-transform: none !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories-header > span + span { font-size: 22px !important; color: var(--v2-ink-2) !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories-header > span + span::before { content: "› "; color: var(--v2-muted); }
.menu-list .v2-mm.v2-mm .wce_subcategories-header .v2-mm__count { font: 600 14px var(--v2-font); font-style: normal; color: var(--v2-muted); }
.menu-list .v2-mm.v2-mm .wce_subCategories-back { width: 36px; height: 36px; border-radius: 10px; background: var(--v2-surface); display: inline-flex !important; align-items: center; justify-content: center; color: var(--v2-ink) !important; cursor: pointer; align-self: center; }
.menu-list .v2-mm.v2-mm .wce_links-wrap { display: flex !important; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; position: static !important; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_card-link {
  display: inline-flex !important; align-items: center; gap: 8px; height: 40px; padding: 0 14px !important; margin: 0 !important; border: 0 !important;
  border-radius: 10px !important; background: var(--v2-surface) !important; color: var(--v2-ink) !important; text-decoration: none !important;
  font: 700 13px var(--v2-font) !important; white-space: nowrap;
}
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_card-link.none { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_card-link::before { display: none !important; content: none !important; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_card-link span, .menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_card-link b { color: inherit !important; font: inherit !important; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_card-link .wce_more-count { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_show-new { order: 1; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_show-new::after { content: "" !important; order: -1; width: 8px; height: 8px; border-radius: 99px; background: #2563eb; display: block !important; position: static !important; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_show-promo { order: 2; background: var(--v2-accent-soft) !important; color: var(--v2-accent-ink) !important; font-weight: 800 !important; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_show-all { order: 3; background: var(--v2-ink) !important; color: #fff !important; font-weight: 800 !important; padding: 0 18px !important; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_show-all::after { content: "→" !important; display: inline !important; position: static !important; background: none !important; font-size: 16px; width: auto !important; height: auto !important; border: 0 !important; }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_card-link:hover { filter: brightness(.96); }
.menu-list .v2-mm.v2-mm .wce_links-wrap a.wce_show-all:hover { background: #2a2e37 !important; filter: none; }

/* kafelki podkategorii */
.menu-list .v2-mm.v2-mm .wce_top-row { padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories { padding: 0 !important; margin: 0 !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul:last-of-type { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li {
  position: relative; display: grid !important; grid-template-columns: 64px minmax(0, 1fr); column-gap: 14px; row-gap: 8px; align-content: start;
  padding: 14px !important; margin: 0 !important; width: auto !important; float: none !important; min-height: 92px;
  border: 1px solid var(--v2-line) !important; border-radius: 16px !important; background: #fff !important; transition: border-color .15s;
}
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li::before, .menu-list .v2-mm.v2-mm .wce_subcategories > ul > li::after { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li:hover { border-color: var(--v2-ink) !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > .wce_trigger { display: none !important; }
.menu-list .v2-mm.v2-mm .v2-mm__pic { grid-column: 1; grid-row: 1 / span 3; width: 64px; height: 64px; border-radius: 12px; background: var(--v2-surface); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.menu-list .v2-mm.v2-mm .v2-mm__pic img { max-width: 56px; max-height: 56px; width: auto; height: auto; mix-blend-mode: multiply; opacity: 0; transition: opacity .2s; }
.menu-list .v2-mm.v2-mm .v2-mm__pic.v2-has img { opacity: 1; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > h3 { grid-column: 2; margin: 0 !important; padding: 2px 0 0 !important; border: 0 !important; background: none !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > h3 > a {
  display: block !important; padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important;
  font: 800 15px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: none !important; text-transform: none !important;
}
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > h3 > a::before, .menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > h3 > a::after { display: none !important; }
/* cały kafelek klikalny (link w nazwie rozciągnięty), chipy nad nim */
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > h3 > a > span::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > h3 > a img { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li:hover > h3 > a { color: var(--v2-accent-ink) !important; }
.menu-list .v2-mm.v2-mm .v2-mm__chips { grid-column: 2; display: flex; flex-wrap: wrap; gap: 5px; position: relative; z-index: 2; }
.menu-list .v2-mm.v2-mm .v2-mm__chips a {
  padding: 4px 9px; border-radius: 99px; background: var(--v2-surface); font: 600 12px/1.3 var(--v2-font); color: var(--v2-ink-2) !important; text-decoration: none !important;
}
.menu-list .v2-mm.v2-mm .v2-mm__chips a:hover { background: var(--v2-ink); color: #fff !important; }
.menu-list .v2-mm.v2-mm .v2-mm__chips a.v2-mm__plus { background: none; color: var(--v2-accent-ink) !important; font-weight: 800; padding: 4px 4px; }
.menu-list .v2-mm.v2-mm .v2-mm__chips a.v2-mm__plus:hover { background: none; text-decoration: underline !important; color: var(--v2-accent-ink) !important; }
.menu-list .v2-mm.v2-mm .v2-mm__go { grid-column: 2; font: 600 12px var(--v2-font); color: var(--v2-muted); }

/* produkty + karta pomocy */
.menu-list .v2-mm.v2-mm .wce_right-side { display: grid !important; grid-template-columns: minmax(0, 1fr) 250px; grid-template-areas: "head head" "top top" "prod help"; align-content: start; }
.menu-list .v2-mm.v2-mm .wce_head-row { grid-area: head; }
.menu-list .v2-mm.v2-mm .wce_top-row { grid-area: top; }
.menu-list .v2-mm.v2-mm .wce_bottom-row { grid-area: prod; }
.menu-list .v2-mm.v2-mm .v2-mm__help { grid-area: help; }
.menu-list .v2-mm.v2-mm .wce_bottom-row {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-content: start;
  margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; min-width: 0;
}
.menu-list .v2-mm.v2-mm .wce_bottom-row:empty { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row::before {
  content: "Polecane w kategorii"; grid-column: 1 / -1; display: block; font: 800 12px var(--v2-font); letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-muted);
}
.menu-list .v2-mm.v2-mm .wce_bottom-row::after { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row > .product:nth-child(n+4) { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row > .product {
  position: relative; display: grid !important; grid-template-columns: 60px minmax(0, 1fr); column-gap: 12px; row-gap: 4px; align-items: center; align-content: center;
  width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 12px !important; text-align: left !important;
  border: 1px solid var(--v2-line) !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; transition: border-color .15s;
}
.menu-list .v2-mm.v2-mm .wce_bottom-row > .product::before, .menu-list .v2-mm.v2-mm .wce_bottom-row > .product::after { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row > .product:hover { border-color: var(--v2-ink) !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product > a.wce_proportioner {
  grid-column: 1; grid-row: 1 / span 3; width: 60px !important; height: 60px !important; padding: 0 !important; margin: 0 !important;
  border-radius: 10px; background: var(--v2-surface) !important; display: flex !important; align-items: center; justify-content: center; overflow: hidden; border: 0 !important;
}
.menu-list .v2-mm.v2-mm .wce_bottom-row .product > a.wce_proportioner > * { position: static !important; width: 100% !important; height: 100% !important; display: flex !important; align-items: center; justify-content: center; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product > a.wce_proportioner img { max-width: 52px !important; max-height: 52px !important; width: auto !important; height: auto !important; mix-blend-mode: multiply; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product .productnamewrap { grid-column: 2; padding: 0 !important; margin: 0 !important; min-height: 0 !important; height: auto !important; text-decoration: none !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product .productnamewrap::after { content: ""; position: absolute; inset: 0; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product .productname {
  font: 600 13px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; text-align: left !important; padding: 0 !important; margin: 0 !important; height: auto !important; max-height: none !important;
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.menu-list .v2-mm.v2-mm .wce_bottom-row .product .wce_rate, .menu-list .v2-mm.v2-mm .wce_bottom-row .product .tm-multihornet, .menu-list .v2-mm.v2-mm .wce_bottom-row .product .tags { display: none !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product .wce_price-wrapper { grid-column: 2; display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 0 !important; margin: 0 !important; text-align: left !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product .price { margin: 0 !important; padding: 0 !important; text-align: left !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product .price em { font: 800 15px var(--v2-font) !important; color: var(--v2-ink) !important; font-style: normal !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product .price del { font-size: 12px !important; color: var(--v2-muted) !important; }
html.v2-ship-today .menu-list .v2-mm.v2-mm .wce_bottom-row .product .wce_price-wrapper::after {
  content: "● Wysyłka dziś"; font: 700 11px var(--v2-font); color: #15803d; white-space: nowrap;
}
.menu-list .v2-mm.v2-mm .v2-mm__help {
  align-self: stretch; border-radius: 16px; background: var(--v2-dark, #0e1014); color: #e6e8ec; padding: 18px 20px; margin-top: 26px;
  display: flex; flex-direction: column; justify-content: center; gap: 6px; font: 500 13px/1.5 var(--v2-font);
}
.menu-list .v2-mm.v2-mm .v2-mm__help strong { font-size: 15px; font-weight: 800; color: #fff; }
.menu-list .v2-mm.v2-mm .v2-mm__help a { font-size: 18px; font-weight: 800; color: var(--v2-accent) !important; text-decoration: none !important; }
.menu-list .v2-mm.v2-mm .v2-mm__help small { font-size: 12px; color: #9ca3af; }
.menu-list .v2-mm.v2-mm .wce_bottom-row:empty ~ .v2-mm__help { margin-top: 0; }

@media (max-width: 1280px) {
  .menu-list .wce_power-container.v2-mm.v2-mm { grid-template-columns: 260px minmax(0, 1fr) !important; }
  .menu-list .v2-mm.v2-mm .wce_subcategories > ul:last-of-type { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-list .v2-mm.v2-mm .wce_right-side { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "top" "prod" "help"; }
  .menu-list .v2-mm.v2-mm .v2-mm__help { margin-top: 0; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
}

/* --- mega menu: poprawki po testach (siatki Hammera, wysokość panelu) --- */
.menu-list .v2-mm.v2-mm .wce_subcategories > ul:last-of-type { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li { grid-template-columns: 64px minmax(0, 1fr) !important; grid-template-rows: auto !important; grid-auto-rows: auto !important; column-gap: 14px !important; row-gap: 8px !important; align-content: start !important; align-items: start !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > .v2-mm__pic { grid-column: 1 !important; grid-row: 1 / span 3 !important; }
.menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > h3, .menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > .v2-mm__chips, .menu-list .v2-mm.v2-mm .wce_subcategories > ul > li > .v2-mm__go { grid-column: 2 !important; grid-row: auto !important; width: auto !important; }
.menu-list .v2-mm.v2-mm .v2-mm__chips { display: flex !important; flex-wrap: wrap !important; gap: 5px !important; width: auto !important; height: auto !important; background: none !important; }
.menu-list .v2-mm.v2-mm .v2-mm__chips a { display: inline-block !important; padding: 4px 9px !important; margin: 0 !important; border: 0 !important; border-radius: 99px !important; background: var(--v2-surface) !important; font: 600 12px/1.3 var(--v2-font) !important; color: var(--v2-ink-2) !important; width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important; line-height: 1.3 !important; text-transform: none !important; }
.menu-list .v2-mm.v2-mm .v2-mm__chips a::before, .menu-list .v2-mm.v2-mm .v2-mm__chips a::after { display: none !important; content: none !important; }
.menu-list .v2-mm.v2-mm .v2-mm__chips a:hover { background: var(--v2-ink) !important; color: #fff !important; }
.menu-list .v2-mm.v2-mm .v2-mm__chips a.v2-mm__plus { background: none !important; color: var(--v2-accent-ink) !important; font-weight: 800 !important; padding: 4px !important; }
.menu-list .v2-mm.v2-mm .v2-mm__pic img { position: static !important; max-width: 56px !important; max-height: 56px !important; width: auto !important; height: auto !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row::before { grid-column: 1 / -1 !important; position: static !important; width: auto !important; height: auto !important; background: none !important; margin: 0 !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row > .product { grid-template-columns: 60px minmax(0, 1fr) !important; grid-template-rows: auto !important; column-gap: 12px !important; row-gap: 4px !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product > a.wce_proportioner { grid-column: 1 !important; grid-row: 1 / span 2 !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product > a.wce_proportioner img, .menu-list .v2-mm.v2-mm .wce_bottom-row .product > a.wce_proportioner .boximgsize { position: static !important; transform: none !important; top: auto !important; left: auto !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product > .productnamewrap, .menu-list .v2-mm.v2-mm .wce_bottom-row .product > .wce_price-wrapper { grid-column: 2 !important; grid-row: auto !important; width: auto !important; height: auto !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product > .productnamewrap { position: static !important; }
.menu-list .v2-mm.v2-mm .wce_bottom-row .product .productname { position: static !important; width: auto !important; left: auto !important; top: auto !important; }
/* panel mieści się w oknie – listy przewijają się w środku */
.menu-list .v2-mm.v2-mm .wce_left-side, .menu-list .v2-mm.v2-mm .wce_right-side { max-height: calc(100vh - var(--v2-mm-top, 160px) - 16px) !important; overflow-y: auto !important; overscroll-behavior: contain; }

/* =====================================================================
   §13. Lista produktów: boczne menu kategorii (#box_menu) i rozwijane
        Nowości / Promocje w menu górnym
   ===================================================================== */
.leftcol #box_menu {
  margin: 0 0 24px !important; padding: 14px 10px !important; border: 1px solid var(--v2-line) !important; border-radius: var(--v2-radius) !important;
  background: #fff !important; box-shadow: none !important; font-family: var(--v2-font);
}
.leftcol #box_menu > .boxhead { margin: 0 !important; padding: 6px 12px 10px !important; border: 0 !important; background: none !important; }
.leftcol #box_menu > .boxhead::before, .leftcol #box_menu > .boxhead::after { display: none !important; }
.leftcol #box_menu > .boxhead span { font-size: 0 !important; line-height: 0 !important; border: 0 !important; padding: 0 !important; display: block !important; }
.leftcol #box_menu > .boxhead span::before, .leftcol #box_menu > .boxhead span::after { display: none !important; }
.leftcol #box_menu > .boxhead::after {
  content: "Kategorie" !important; display: block !important; position: static !important; width: auto !important; height: auto !important; background: none !important;
  font: 800 12px var(--v2-font) !important; letter-spacing: 1.5px; text-transform: uppercase; color: var(--v2-muted) !important; border: 0 !important;
}
.leftcol #box_menu > .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
.leftcol #box_menu ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.leftcol #box_menu ul.standard { display: flex !important; flex-direction: column; gap: 2px; }
.leftcol #box_menu ul.standard > li {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 32px; align-items: center; column-gap: 2px;
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; position: relative;
}
.leftcol #box_menu ul.standard > li::before, .leftcol #box_menu ul.standard > li::after { display: none !important; }
.leftcol #box_menu ul.standard > li > a {
  grid-column: 1; display: flex !important; align-items: center; gap: 12px; min-height: 42px; padding: 5px 10px !important; margin: 0 !important;
  border-radius: 12px !important; border: 0 !important; background: none !important; color: var(--v2-ink) !important;
  font: 600 14px/1.25 var(--v2-font) !important; text-decoration: none !important; text-transform: none !important;
}
.leftcol #box_menu ul.standard > li > a::before, .leftcol #box_menu ul.standard > li > a::after { display: none !important; }
.leftcol #box_menu ul.standard > li > a .v2-mm__ico {
  width: 30px; height: 30px; flex: none; border-radius: 9px; background: var(--v2-surface); color: var(--v2-ink-2);
  display: flex; align-items: center; justify-content: center;
}
.leftcol #box_menu ul.standard > li > a .v2-mm__ico svg { width: 17px; height: 17px; }
.leftcol #box_menu ul.standard > li > a:hover { background: var(--v2-surface) !important; }
.leftcol #box_menu ul.standard > li.current > a,
.leftcol #box_menu ul.standard > li.v2-open-path > a { background: var(--v2-accent-soft) !important; color: var(--v2-accent-ink) !important; font-weight: 800 !important; }
.leftcol #box_menu ul.standard > li.current > a .v2-mm__ico,
.leftcol #box_menu ul.standard > li.v2-open-path > a .v2-mm__ico { background: var(--v2-accent); color: #fff; }
/* przycisk rozwijania */
.leftcol #box_menu .wce_submenu-trigger {
  grid-column: 2; grid-row: 1; width: 32px !important; height: 32px !important; margin: 0 !important; padding: 0 !important; border-radius: 9px;
  display: flex !important; align-items: center; justify-content: center; cursor: pointer; position: static !important; color: var(--v2-muted);
  font-size: 0 !important; background: none !important; border: 0 !important;
}
.leftcol #box_menu .wce_submenu-trigger:hover { background: var(--v2-surface) !important; color: var(--v2-ink); }
.leftcol #box_menu .wce_submenu-trigger::before {
  content: "" !important; display: block !important; width: 14px !important; height: 14px !important; border: 0 !important; background: currentColor !important;
  position: static !important; font-size: 0 !important; transition: transform .15s;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.leftcol #box_menu .wce_submenu-trigger.wce_close::before { transform: rotate(180deg); }
.leftcol #box_menu .wce_submenu-trigger::after { display: none !important; }
/* podkategorie */
.leftcol #box_menu ul.standard > li > ul, .leftcol #box_menu ul.standard ul ul {
  grid-column: 1 / -1; margin: 4px 0 8px 25px !important; padding: 0 0 0 14px !important; border-left: 2px solid var(--v2-line) !important; display: block;
}
.leftcol #box_menu ul.standard ul li { display: grid !important; grid-template-columns: minmax(0, 1fr) 28px; align-items: center; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.leftcol #box_menu ul.standard ul li::before, .leftcol #box_menu ul.standard ul li::after { display: none !important; }
.leftcol #box_menu ul.standard ul li > a {
  grid-column: 1; display: block !important; padding: 7px 10px !important; margin: 0 !important; border-radius: 9px !important; border: 0 !important; background: none !important;
  font: 500 13.5px/1.3 var(--v2-font) !important; color: var(--v2-ink-2) !important; text-decoration: none !important; text-transform: none !important;
}
.leftcol #box_menu ul.standard ul li > a::before, .leftcol #box_menu ul.standard ul li > a::after { display: none !important; content: none !important; }
.leftcol #box_menu ul.standard ul li > a:hover { background: var(--v2-surface) !important; color: var(--v2-ink) !important; }
.leftcol #box_menu ul.standard ul li.current > a { color: var(--v2-ink) !important; font-weight: 800 !important; background: var(--v2-surface) !important; }
.leftcol #box_menu ul.standard ul .wce_submenu-trigger { width: 28px !important; height: 28px !important; }
/* pozostałe kategorie */
.leftcol #box_menu .v2-side__moreBtn {
  display: flex; align-items: center; width: 100%; min-height: 38px; margin: 6px 0 0; padding: 6px 12px; border: 0; border-radius: 12px; background: none;
  font: 700 13px var(--v2-font); color: var(--v2-ink-2); cursor: pointer; text-align: left;
}
.leftcol #box_menu .v2-side__moreBtn:hover { background: var(--v2-surface); color: var(--v2-ink); }
.leftcol #box_menu ul.standard > li.v2-side__moreWrap { display: block !important; }
.leftcol #box_menu ul.standard > li[hidden] { display: none !important; }
.leftcol #box_menu ul.standard > li.v2-side__x > a { font-size: 13px !important; min-height: 38px; }

/* --- Nowości / Promocje w menu górnym: produkty i przycisk „zobacz wszystkie” --- */
.menu-list .wce_products-to-menu .wce_right-side { padding: 22px 26px 26px !important; background: #fff !important; }
.menu-list .wce_products-to-menu .wce_bottom-row { gap: 14px !important; }
.menu-list .wce_products-to-menu .wce_bottom-row > .product {
  border: 1px solid var(--v2-line) !important; border-radius: 16px !important; padding: 14px !important; margin: 0 !important; background: #fff !important; transition: border-color .15s;
}
.menu-list .wce_products-to-menu .wce_bottom-row > .product:hover { border-color: var(--v2-ink) !important; }
.menu-list .wce_products-to-menu .wce_bottom-row > .product::before, .menu-list .wce_products-to-menu .wce_bottom-row > .product::after { display: none !important; }
.menu-list .wce_products-to-menu .wce_rate, .menu-list .wce_products-to-menu .tm-multihornet { display: none !important; }
.menu-list .wce_products-to-menu .productname { font: 600 13.5px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; }
.menu-list .wce_products-to-menu .price em { font: 800 16px var(--v2-font) !important; color: var(--v2-ink) !important; font-style: normal !important; }
.menu-list .wce_btn-row { margin: 18px 0 0 !important; padding: 0 !important; text-align: center !important; }
.menu-list .wce_btn-row a.btn {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; height: 46px !important; min-width: 0 !important; width: auto !important;
  padding: 0 22px !important; margin: 0 !important; border: 0 !important; border-radius: 12px !important; background: var(--v2-ink) !important; color: #fff !important;
  font: 800 14px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; text-decoration: none !important;
}
.menu-list .wce_btn-row a.btn span { color: inherit !important; font: inherit !important; display: inline-block !important; }
.menu-list .wce_btn-row a.btn span::first-letter { text-transform: uppercase; }
.menu-list .wce_btn-row a.btn::before { display: none !important; }
.menu-list .wce_btn-row a.btn::after { content: "→" !important; display: inline !important; position: static !important; background: none !important; border: 0 !important; width: auto !important; height: auto !important; font-size: 16px; }
.menu-list .wce_btn-row a.btn:hover { background: #2a2e37 !important; }

/* =====================================================================
   §14. Lista produktów: panel filtrów, pasek filtrów, karty, stronicowanie
   ===================================================================== */
/* --- panel filtrów (Hammer: #box_filter .wce_innerbox-wrap.wce_opened) --- */
#box_filter .wce_innerbox-wrap {
  position: fixed !important; top: 0 !important; bottom: 0 !important; right: 0 !important; left: auto !important;
  width: min(440px, 100vw) !important; height: 100% !important; max-height: none !important; margin: 0 !important; padding: 0 !important;
  display: flex !important; flex-direction: column; background: #fff !important; z-index: 1001 !important;
  box-shadow: -20px 0 60px rgba(14, 16, 20, .2) !important; border: 0 !important; border-radius: 0 !important;
  transform: translateX(105%) !important; transition: transform .25s ease !important; visibility: hidden; font-family: var(--v2-font); color: var(--v2-ink);
}
#box_filter .wce_innerbox-wrap.wce_opened { transform: none !important; visibility: visible; }
#box_filter .wce_innerbox-wrap::before { display: none !important; }
.v2-f-backdrop { position: fixed; inset: 0; z-index: 1000; background: rgba(14, 16, 20, .45); opacity: 0; pointer-events: none; transition: opacity .2s; }
body.v2-f-open .v2-f-backdrop { opacity: 1; pointer-events: auto; }
#box_filter .v2-f-head { flex: none; display: flex; align-items: baseline; gap: 10px; padding: 22px 76px 20px 24px; border-bottom: 1px solid var(--v2-line); }
#box_filter .v2-f-head strong { font: 800 22px var(--v2-font); color: var(--v2-ink); }
#box_filter .v2-f-head span { font: 600 13px var(--v2-font); color: var(--v2-muted); }
#box_filter .wce_innerbox-wrap .wce_filter-close {
  position: absolute !important; top: 16px !important; right: 18px !important; left: auto !important; bottom: auto !important;
  width: 42px !important; height: 42px !important; border-radius: 12px; background: var(--v2-surface) !important; cursor: pointer; z-index: 2;
  display: flex !important; align-items: center; justify-content: center; transform: none !important; opacity: 1 !important;
}
#box_filter .wce_innerbox-wrap .wce_filter-close::before {
  content: "" !important; display: block !important; width: 16px; height: 16px; background: var(--v2-ink) !important; position: static !important; border: 0 !important; transform: none !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
}
#box_filter .wce_innerbox-wrap .wce_filter-close::after { display: none !important; }
#box_filter .wce_innerbox-wrap .wce_filter-close:hover { background: var(--v2-line) !important; }
#box_filter .wce_innerbox-wrap > .innerbox {
  flex: 1; min-height: 0; overflow-y: auto !important; overscroll-behavior: contain; height: auto !important; max-height: none !important;
  display: block !important; padding: 4px 24px 24px !important; margin: 0 !important; background: none !important; border: 0 !important;
}
#box_filter .wce_innerbox-wrap > .innerbox::before, #box_filter .wce_innerbox-wrap > .innerbox::after { display: none !important; }
/* grupa filtrów */
#box_filter .wce_innerbox-wrap .multiselect, #box_filter .wce_innerbox-wrap .group {
  display: block !important; position: static !important; width: auto !important; max-width: none !important; float: none !important;
  margin: 0 !important; padding: 18px 0 !important; border: 0 !important; border-bottom: 1px solid var(--v2-line) !important; background: none !important; box-shadow: none !important; height: auto !important;
}
#box_filter .wce_innerbox-wrap .multiselect::before, #box_filter .wce_innerbox-wrap .multiselect::after { display: none !important; }
#box_filter .wce_innerbox-wrap .multiselect:last-child { border-bottom: 0 !important; }
#box_filter .wce_innerbox-wrap .multiselect > span, #box_filter .wce_innerbox-wrap .group > h5 {
  display: flex !important; align-items: center; justify-content: space-between; gap: 12px; width: auto !important; height: auto !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; cursor: pointer; position: static !important;
  font: 800 15px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important;
}
#box_filter .wce_innerbox-wrap .multiselect > span::before { display: none !important; }
#box_filter .wce_innerbox-wrap .multiselect > span::after {
  content: "" !important; display: block !important; position: static !important; width: 14px; height: 14px; flex: none; background: var(--v2-muted) !important; border: 0 !important; transform: rotate(180deg); transition: transform .15s;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
#box_filter .wce_innerbox-wrap .multiselect.v2-f-closed > span::after { transform: none; }
#box_filter .v2-f-name { flex: 1; }
#box_filter .v2-f-sel { font: 700 12px var(--v2-font); color: var(--v2-accent-ink); }
/* wartości jako przyciski */
#box_filter .wce_innerbox-wrap .multiselect > ul {
  display: flex !important; flex-wrap: wrap; gap: 8px; position: static !important; top: auto !important; left: auto !important;
  width: auto !important; max-height: none !important; overflow: visible !important; margin: 14px 0 0 !important; padding: 0 !important;
  background: none !important; border: 0 !important; box-shadow: none !important; list-style: none !important; z-index: auto !important;
}
#box_filter .wce_innerbox-wrap .multiselect.v2-f-closed > ul { display: none !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li { display: block; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; float: none !important; position: relative; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li.none:not(.showmore) { display: none !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li::before, #box_filter .wce_innerbox-wrap .multiselect > ul > li::after { display: none !important; content: none !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li > a {
  display: inline-flex !important; align-items: center; gap: 6px; min-height: 38px; padding: 0 13px !important; margin: 0 !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 10px !important; background: #fff !important; cursor: pointer; text-decoration: none !important;
  font: 600 13px var(--v2-font) !important; color: var(--v2-ink) !important; white-space: nowrap; width: auto !important; height: auto !important;
}
#box_filter .wce_innerbox-wrap .multiselect > ul > li > a::before, #box_filter .wce_innerbox-wrap .multiselect > ul > li > a::after { display: none !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li > a img { display: none !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li > a span { color: inherit !important; font: inherit !important; padding: 0 !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li > a em { font: 600 12px var(--v2-font) !important; font-style: normal !important; color: var(--v2-muted) !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li > a:hover { border-color: var(--v2-ink) !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li.selected > a { background: var(--v2-ink) !important; border-color: var(--v2-ink) !important; color: #fff !important; font-weight: 700 !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li.selected > a::before { content: "✓" !important; display: inline !important; position: static !important; background: none !important; width: auto !important; height: auto !important; border: 0 !important; font: 800 13px var(--v2-font); }
#box_filter .wce_innerbox-wrap .multiselect > ul > li.selected > a em { color: #c9ccd3 !important; }
#box_filter .wce_innerbox-wrap .multiselect > ul > li.showmore {
  display: inline-flex !important; align-items: center; min-height: 38px; padding: 0 8px !important; cursor: pointer;
  font: 700 13px var(--v2-font) !important; color: var(--v2-accent-ink) !important; background: none !important; border: 0 !important;
}
#box_filter .wce_innerbox-wrap .multiselect > ul > li > a img.star1, #box_filter .wce_innerbox-wrap .multiselect > ul > li > a img.star0 { display: inline !important; }
/* cena */
#box_filter .wce_innerbox-wrap #filter_price > ul > li.priceinput {
  display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px 10px; width: 100% !important;
}
#box_filter .wce_innerbox-wrap #filter_price li.priceinput br { display: none; }
#box_filter .wce_innerbox-wrap #filter_price .fromto { font: 600 13px var(--v2-font) !important; color: var(--v2-muted) !important; }
#box_filter .wce_innerbox-wrap #filter_price input.short {
  width: 100% !important; height: 46px !important; margin: 0 !important; padding: 0 12px !important; box-sizing: border-box;
  border: 1.5px solid #d2d6dc !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important; font: 600 14px var(--v2-font) !important;
}
#box_filter .wce_innerbox-wrap #filter_price input.short:focus { outline: none; border-color: var(--v2-ink) !important; }
#box_filter .wce_innerbox-wrap #filter_price .bottombuttons { grid-column: 1 / -1; margin: 4px 0 0 !important; padding: 0 !important; text-align: left !important; border: 0 !important; background: none !important; }
#box_filter .wce_innerbox-wrap #filter_price .bottombuttons .btn {
  height: 42px !important; min-width: 0 !important; padding: 0 18px !important; margin: 0 !important; border: 1.5px solid var(--v2-ink) !important; border-radius: 10px !important;
  background: #fff !important; color: var(--v2-ink) !important; font: 700 13px var(--v2-font) !important; text-transform: none !important; box-shadow: none !important;
}
#box_filter .wce_innerbox-wrap #filter_price .bottombuttons .btn img { display: none !important; }
#box_filter .wce_innerbox-wrap #filter_price .bottombuttons .btn span { color: inherit !important; font: inherit !important; }
#box_filter .wce_innerbox-wrap #filter_price .bottombuttons .btn::before, #box_filter .wce_innerbox-wrap #filter_price .bottombuttons .btn::after { display: none !important; }
/* belka na dole panelu */
#box_filter .wce_filter-btn-wrap {
  flex: none; display: flex !important; flex-wrap: nowrap !important; gap: 10px; padding: 16px 24px !important; margin: 0 !important; width: auto !important;
  border-top: 1px solid var(--v2-line) !important; background: #fff !important; position: static !important;
}
#box_filter .wce_filter-btn-wrap a.btn {
  display: inline-flex !important; align-items: center; justify-content: center; height: 52px !important; min-width: 0 !important; margin: 0 !important;
  border-radius: 12px !important; font: 800 15px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; text-decoration: none !important;
}
#box_filter .wce_filter-btn-wrap a.btn::before, #box_filter .wce_filter-btn-wrap a.btn::after { display: none !important; }
#box_filter .wce_filter-btn-wrap a.wce_add-filters { flex: 1; width: auto !important; padding: 0 20px !important; border: 0 !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important; }
#box_filter .wce_filter-btn-wrap a.wce_add-filters:hover { background: #ea580c !important; }
#box_filter .wce_filter-btn-wrap a.v2-f-clear { flex: none; width: auto !important; padding: 0 20px !important; border: 1.5px solid #d2d6dc !important; background: #fff !important; color: var(--v2-ink) !important; font-weight: 700 !important; }
#box_filter .wce_filter-btn-wrap a.v2-f-clear:hover { border-color: var(--v2-ink) !important; }

/* --- pasek nad listą: Filtry / szybkie / wybrane --- */
#box_filter.box { margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
#box_filter > .boxhead { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; min-height: 0 !important; height: 0; overflow: visible; }
#box_filter > .boxhead > span, #box_filter > .boxhead > h2, #box_filter > .boxhead > h3 { display: none !important; }
#box_filter > .boxhead::before, #box_filter > .boxhead::after { display: none !important; }
#box_filter .wce_picked-filters { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; font-family: var(--v2-font); }
#box_filter .wce_picked-filters .wce_show-filter {
  order: -2; display: inline-flex !important; align-items: center; gap: 10px; height: 46px !important; width: auto !important; min-width: 0 !important; padding: 0 18px !important; margin: 0 !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-ink) !important; color: #fff !important; cursor: pointer; box-shadow: none !important;
  font: 800 14px var(--v2-font) !important; text-transform: none !important; position: static !important;
}
#box_filter .wce_picked-filters .wce_show-filter::before, #box_filter .wce_picked-filters .wce_show-filter::after { display: none !important; }
#box_filter .wce_picked-filters .wce_show-filter span { color: inherit !important; font: inherit !important; }
#box_filter .wce_picked-filters .wce_show-filter:hover { background: #2a2e37 !important; }
#box_filter .v2-f-count { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px; background: var(--v2-accent); color: var(--v2-ink); font: 800 12px/22px var(--v2-font); font-style: normal; text-align: center; }
#box_filter .v2-f-quick { order: -1; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#box_filter .v2-f-quickLabel { font: 700 13px var(--v2-font); color: var(--v2-muted); margin-left: 4px; }
#box_filter .v2-f-qchip {
  display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border: 1.5px solid #d2d6dc; border-radius: 99px; background: #fff;
  font: 700 13px var(--v2-font); color: var(--v2-ink) !important; text-decoration: none !important; white-space: nowrap;
}
#box_filter .v2-f-qchip em { font-style: normal; font-weight: 600; color: var(--v2-muted); }
#box_filter .v2-f-qchip:hover { border-color: var(--v2-ink); }
#box_filter .wce_picked-filters .wce_label:empty { display: none !important; }
#box_filter .wce_picked-filters .wce_label { flex-basis: 100%; font: 600 13px var(--v2-font) !important; color: var(--v2-muted) !important; margin: 0 !important; }
#box_filter .wce_picked-filters a.wce_filter {
  display: inline-flex !important; align-items: center; gap: 6px; height: 34px; padding: 0 12px !important; margin: 0 !important; border: 0 !important; border-radius: 99px !important;
  background: var(--v2-accent-soft) !important; color: var(--v2-accent-ink) !important; font: 700 13px var(--v2-font) !important; text-decoration: none !important; cursor: pointer;
}
#box_filter .wce_picked-filters a.wce_filter::before { display: none !important; }
#box_filter .wce_picked-filters a.wce_filter::after { content: "✕" !important; display: inline !important; position: static !important; background: none !important; border: 0 !important; width: auto !important; height: auto !important; font-size: 11px; }
#box_filter .wce_picked-filters a.wce_filter span { color: inherit !important; font: inherit !important; }
#box_filter .wce_picked-filters a.wce_filter span:first-child { font-weight: 600 !important; opacity: .8; }
#box_filter .wce_picked-filters a.wce_remove-filters {
  height: auto !important; min-width: 0 !important; padding: 0 4px !important; margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  font: 700 13px var(--v2-font) !important; color: var(--v2-ink-2) !important; text-transform: none !important; text-decoration: underline !important; text-underline-offset: 3px;
}
#box_filter .wce_picked-filters a.wce_remove-filters::before, #box_filter .wce_picked-filters a.wce_remove-filters::after { display: none !important; }
#box_filter > .boxhead .wce_show-filter { border-radius: 12px 0 0 12px !important; background: var(--v2-ink) !important; color: #fff !important; box-shadow: 0 8px 24px rgba(14, 16, 20, .25) !important; border: 0 !important; }

/* --- sortowanie i widok --- */
#box_mainproducts .sort-and-view { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; }
#box_mainproducts .sortlinks select {
  height: 46px !important; padding: 0 40px 0 14px !important; border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background-color: #fff !important;
  font: 700 14px var(--v2-font) !important; color: var(--v2-ink) !important; box-shadow: none !important; min-width: 220px;
}
#box_mainproducts ul.prodview li a { width: 44px !important; height: 44px !important; border-radius: 12px !important; border: 1.5px solid #d2d6dc !important; background: #fff !important; color: var(--v2-ink-2) !important; display: inline-flex !important; align-items: center; justify-content: center; }
#box_mainproducts ul.prodview li.selected a { background: var(--v2-ink) !important; border-color: var(--v2-ink) !important; color: #fff !important; }

/* --- karty produktów --- */
.v2-list .products .product { padding: 8px !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.v2-list .products .product::before, .v2-list .products .product::after { display: none !important; }
.v2-list .products .product .product-inner-wrap {
  position: relative; height: 100%; display: flex !important; flex-direction: column; gap: 10px; padding: 12px 12px 14px !important; margin: 0 !important;
  border: 1px solid var(--v2-line) !important; border-radius: 18px !important; background: #fff !important; box-shadow: none !important; transition: border-color .15s;
}
.v2-list .products .product .product-inner-wrap:hover { border-color: var(--v2-ink) !important; box-shadow: none !important; }
.v2-list .products .product .product-inner-wrap::before, .v2-list .products .product .product-inner-wrap::after { display: none !important; }
.v2-list .product a.prodimage { position: relative; display: block !important; margin: 0 !important; padding: 0 !important; border-radius: 12px; overflow: hidden; background: var(--v2-surface) !important; aspect-ratio: 1 / 1; }
.v2-list .product a.prodimage .img-wrap { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; padding: 8px !important; margin: 0 !important; display: flex !important; align-items: center; justify-content: center; }
.v2-list .product a.prodimage img { max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain; mix-blend-mode: multiply; position: static !important; }
.v2-list .product .v2-ship { position: absolute; left: 10px; top: 10px; z-index: 2; display: none; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 99px; background: #fff; font: 800 11px var(--v2-font); color: #15803d; }
.v2-list .product .v2-ship::before { content: ""; width: 7px; height: 7px; border-radius: 99px; background: #16a34a; }
html.v2-ship-today .v2-list .product .v2-ship { display: inline-flex; }
.v2-list .product .v2-fav {
  position: absolute; right: 22px; top: 22px; z-index: 3; width: 36px; height: 36px; border-radius: 99px; background: #fff; color: var(--v2-ink) !important;
  display: flex; align-items: center; justify-content: center; text-decoration: none !important; box-shadow: 0 1px 3px rgba(0, 0, 0, .08); transition: color .15s, transform .15s;
}
.v2-list .product .v2-fav:hover { color: #e11d48 !important; transform: scale(1.06); }
.v2-list .product a.prodname { display: block !important; margin: 0 !important; padding: 0 !important; min-height: 38px; text-decoration: none !important; }
.v2-list .product .productname {
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; height: auto !important; max-height: none !important; padding: 0 !important; margin: 0 !important;
  font: 700 14px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; text-align: left !important;
}
.v2-list .product a.prodname:hover .productname { color: var(--v2-accent-ink) !important; }
/* bez producenta, ocen, „zawiera VAT” i „zobacz więcej” */
.v2-list .product .manufacturer, .v2-list .product .tm-multihornet, .v2-list .product .wce_rate, .v2-list .product .evaluation,
.v2-list .product .price__additional-info, .v2-list .product .tax-additional-info, .v2-list .product .quickview, .v2-list .product .price > span:first-child { display: none !important; }
.v2-list .product .product__basket { margin-top: auto !important; display: flex !important; align-items: flex-end; justify-content: space-between; gap: 10px; padding: 0 !important; border: 0 !important; }
.v2-list .product .product__basket > .price { display: flex !important; flex-direction: column; margin: 0 !important; padding: 0 !important; text-align: left !important; width: auto !important; border: 0 !important; min-width: 0; }
.v2-list .product .product__basket > .price::before, .v2-list .product .product__basket > .price::after { display: none !important; }
.v2-list .product .price > p { margin: 0 !important; padding: 0 !important; }
.v2-list .product .price > p em { font: 800 20px var(--v2-font) !important; letter-spacing: -0.3px; color: var(--v2-ink) !important; font-style: normal !important; white-space: nowrap; }
.v2-list .product .price del { font: 500 12px var(--v2-font) !important; color: var(--v2-muted) !important; }
.v2-list .product .price-netto { display: block !important; font-style: normal !important; margin: 0 !important; padding: 0 !important; border: 0 !important; width: auto !important; }
.v2-list .product .price-netto::before, .v2-list .product .price-netto::after { display: none !important; }
.v2-list .product .price-netto p { margin: 0 !important; padding: 0 !important; font-size: 0 !important; display: block !important; border: 0 !important; }
.v2-list .product .price-netto p::before, .v2-list .product .price-netto p::after { display: none !important; }
.v2-list .product .price-netto p em { font: 500 11px var(--v2-font) !important; color: var(--v2-muted) !important; font-style: normal !important; }
.v2-list .product .price-netto p em::after { content: " netto"; }
.v2-list .product .product__basket > .buttons { flex: none; display: flex !important; align-items: center; margin: 0 !important; padding: 0 !important; width: auto !important; border: 0 !important; }
.v2-list .product .buttons form.basket, .v2-list .product .buttons fieldset { display: flex !important; align-items: center; gap: 6px; margin: 0 !important; padding: 0 !important; border: 0 !important; width: auto !important; }
.v2-list .product .buttons .unit { display: none !important; }
.v2-list .product .buttons .shaded_inputwrap {
  position: relative; display: flex !important; align-items: center; height: 42px !important; width: 74px !important; margin: 0 !important; padding: 0 22px !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; box-sizing: border-box;
}
.v2-list .product .buttons .shaded_inputwrap input {
  width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  text-align: center !important; font: 700 13px var(--v2-font) !important; color: var(--v2-ink) !important;
}
.v2-list .product .buttons .shaded_inputwrap .wce_qdec, .v2-list .product .buttons .shaded_inputwrap .wce_qinc {
  position: absolute !important; top: 0 !important; bottom: 0 !important; width: 22px !important; height: auto !important; display: flex !important; align-items: center; justify-content: center;
  font: 600 15px var(--v2-font) !important; color: var(--v2-ink-2) !important; cursor: pointer; background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important;
}
.v2-list .product .buttons .shaded_inputwrap .wce_qdec { left: 2px !important; right: auto !important; }
.v2-list .product .buttons .shaded_inputwrap .wce_qinc { right: 2px !important; left: auto !important; }
.v2-list .product .buttons .addtobasket {
  width: 44px !important; height: 42px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 12px !important;
  background: var(--v2-accent) !important; color: var(--v2-ink) !important; font-size: 0 !important; box-shadow: none !important; display: flex !important; align-items: center; justify-content: center;
}
.v2-list .product .buttons .addtobasket span, .v2-list .product .buttons .addtobasket img { display: none !important; }
.v2-list .product .buttons .addtobasket::after { display: none !important; }
.v2-list .product .buttons .addtobasket::before {
  content: "" !important; display: block !important; width: 21px; height: 21px; background: currentColor !important; position: static !important; border: 0 !important; margin: 0 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.v2-list .product .buttons .addtobasket:hover { background: #ea580c !important; }

/* --- stronicowanie --- */
#box_mainproducts ul.paginator { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 24px 0 8px !important; padding: 0 !important; list-style: none !important; }
#box_mainproducts ul.paginator li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; float: none !important; }
#box_mainproducts ul.paginator li.stick { display: none !important; }
#box_mainproducts ul.paginator li > a, #box_mainproducts ul.paginator li > span {
  min-width: 40px; height: 40px; padding: 0 12px !important; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 10px !important;
  background: var(--v2-surface) !important; border: 0 !important; color: var(--v2-ink) !important; font: 700 14px var(--v2-font) !important; text-decoration: none !important; box-sizing: border-box;
}
#box_mainproducts ul.paginator li > a:hover { background: var(--v2-line) !important; }
#box_mainproducts ul.paginator li.selected > span { background: var(--v2-ink) !important; color: #fff !important; }
#box_mainproducts ul.paginator li.first > span, #box_mainproducts ul.paginator li.last > span { opacity: .4; }

@media (max-width: 640px) {
  .v2-list .products .product { padding: 5px !important; }
  .v2-list .products .product .product-inner-wrap { padding: 8px 8px 10px !important; border-radius: 14px !important; gap: 8px; }
  .v2-list .product .product__basket { flex-direction: column; align-items: stretch; }
  .v2-list .product .buttons fieldset { justify-content: space-between; }
  .v2-list .product .buttons .shaded_inputwrap { flex: 1; width: auto !important; }
  .v2-list .product .v2-fav { right: 14px; top: 14px; width: 32px; height: 32px; }
  .v2-list .product .v2-ship { left: 6px; top: 6px; font-size: 10px; padding: 4px 7px; }
  .v2-list .product .price > p em { font-size: 17px !important; }
  #box_filter .v2-f-quick { display: none; }
}

/* --- lista i filtry: poprawki 2 (panel od lewej, nazwy grup, karty) --- */
/* panel wysuwany z LEWEJ (po prawej jest zakładka TrustMate) */
#box_filter .wce_innerbox-wrap { left: 0 !important; right: auto !important; transform: translateX(-105%) !important; box-shadow: 20px 0 60px rgba(14, 16, 20, .2) !important; }
#box_filter .wce_innerbox-wrap.wce_opened { transform: none !important; }
body.v2-f-open .tm-lemur-container { display: block !important; }
/* nazwa grupy z atrybutu – tekst Shopera ukryty */
#box_filter .wce_innerbox-wrap .multiselect > span[data-v2-name], #box_filter .wce_innerbox-wrap .group > h5[data-v2-name] {
  position: relative !important; display: flex !important; align-items: center; min-height: 24px !important; font-size: 0 !important; line-height: 0 !important; color: transparent !important; overflow: visible !important;
}
#box_filter .wce_innerbox-wrap .multiselect > span[data-v2-name]::before, #box_filter .wce_innerbox-wrap .group > h5[data-v2-name]::before {
  content: attr(data-v2-name) !important; display: block !important; position: static !important; flex: 1; width: auto !important; height: auto !important;
  background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important;
  font: 800 15px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; visibility: visible !important;
}
#box_filter .wce_innerbox-wrap .multiselect { position: relative !important; }
#box_filter .wce_innerbox-wrap .multiselect[data-v2-sel]::before {
  content: attr(data-v2-sel) !important; display: block !important; position: absolute !important; top: 21px; right: 26px; left: auto !important; width: auto !important; height: auto !important;
  background: none !important; border: 0 !important; font: 700 12px var(--v2-font) !important; color: var(--v2-accent-ink) !important; pointer-events: none;
}
/* wybrane w pasku nad listą */
#box_filter .wce_picked-filters .wce_label { flex-basis: auto !important; }
#box_filter .wce_picked-filters a.wce_filter .v2-f-gname { font-weight: 600 !important; opacity: .85; }
#box_filter .wce_picked-filters a.wce_filter .v2-f-val { font-weight: 800 !important; }

/* karty – wyższa szczegółowość niż style Hammera */
#box_mainproducts.v2-list .products .product a.prodimage span.v2-ship {
  position: absolute !important; left: 10px !important; top: 10px !important; right: auto !important; bottom: auto !important; z-index: 2;
  width: auto !important; height: auto !important; min-height: 0 !important; max-height: none !important; margin: 0 !important; padding: 5px 9px !important;
  line-height: 1.2 !important; border-radius: 99px !important; background: #fff !important; transform: none !important; float: none !important;
  font: 800 11px var(--v2-font) !important; color: #15803d !important; white-space: nowrap; display: none;
}
html.v2-ship-today #box_mainproducts.v2-list .products .product a.prodimage span.v2-ship { display: inline-flex !important; }
#box_mainproducts.v2-list .products .product a.prodimage span.v2-ship::after { display: none !important; }
#box_mainproducts.v2-list .products .product a.prodimage span.img-wrap { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; background: none !important; border-radius: 0 !important; }
#box_mainproducts.v2-list .products .product a.prodimage span.img-wrap::before, #box_mainproducts.v2-list .products .product a.prodimage span.img-wrap::after { display: none !important; }
#box_mainproducts.v2-list .products .product .product__basket > .price {
  display: flex !important; flex-direction: column !important; align-items: flex-start !important; text-align: left !important; width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important;
}
#box_mainproducts.v2-list .products .product .product__basket > .price > p,
#box_mainproducts.v2-list .products .product .product__basket > .price .price-netto { text-align: left !important; width: auto !important; float: none !important; position: static !important; }
#box_mainproducts.v2-list .products .product .product__basket > .buttons { width: 100% !important; float: none !important; position: static !important; margin: 0 !important; }
#box_mainproducts.v2-list .products .product .buttons fieldset { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; width: 100% !important; }
#box_mainproducts.v2-list .products .product .buttons .shaded_inputwrap { flex: 1 1 auto !important; width: auto !important; max-width: none !important; }
#box_mainproducts.v2-list .products .product .buttons .addtobasket { flex: none !important; }

/* =====================================================================
   §15. Okno zgód na pliki cookies (scripts/consents_modal.tpl – bez zmian w pliku)
   ===================================================================== */
.consents .consents__wrapper {
  position: fixed !important; z-index: 999999 !important; left: 20px !important; right: auto !important; bottom: 20px !important; top: auto !important;
  width: min(480px, calc(100vw - 32px)) !important; display: block !important; overflow: visible !important; box-shadow: none !important; background: none !important;
  font-family: var(--v2-font); color: var(--v2-ink);
}
.consents .consents__modal {
  width: auto !important; max-width: none !important; max-height: calc(100vh - 40px) !important; margin: 0 !important; padding: 24px !important; box-sizing: border-box;
  background: #fff !important; border: 1px solid var(--v2-line) !important; border-radius: 20px !important; box-shadow: 0 20px 50px rgba(14, 16, 20, .22) !important;
  display: flex; flex-direction: column; overflow: hidden;
}
.consents .consents__basic-view, .consents .consents__advanced-view { max-height: none !important; width: 100% !important; }
.consents .consents__basic-view { display: flex !important; flex-direction: column; gap: 18px; }
.consents .consents__basic-view.none, .consents .consents__advanced-view.none { display: none !important; }
.consents .consents__content { overflow: auto !important; max-height: 40vh; font: 500 13px/1.55 var(--v2-font) !important; color: var(--v2-ink-2) !important; }
.consents .consents__content p { margin: 0 0 8px !important; font: inherit !important; color: inherit !important; }
.consents .consents__content p:last-child { margin-bottom: 0 !important; }
.consents .consents__heading {
  display: flex !important; align-items: center; gap: 12px; margin: 0 0 12px !important; padding: 0 !important;
  font: 800 19px/1.25 var(--v2-font) !important; color: var(--v2-ink) !important; letter-spacing: -0.2px;
}
.consents .consents__basic-view .consents__heading::before {
  content: ""; flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--v2-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 9 9 4 4 0 0 1-4-4 4 4 0 0 1-4-4 1 1 0 0 0-1-1z'/%3E%3Ccircle cx='8.5' cy='11.5' r='1'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3Ccircle cx='15.5' cy='13' r='.8'/%3E%3C/svg%3E") center / 22px no-repeat;
}
.consents .consents__link, .consents .consents__content a { color: var(--v2-ink) !important; font-weight: 700 !important; text-decoration: underline !important; text-underline-offset: 3px; }
.consents .consents__link:hover, .consents .consents__content a:hover { color: var(--v2-accent-ink) !important; }

/* przyciski */
.consents .consents__buttons { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 !important; }
.consents .consents__advanced-buttons { display: flex !important; justify-content: flex-end; gap: 8px; margin: 16px 0 0 !important; padding-top: 16px !important; border-top: 1px solid var(--v2-line); text-align: right !important; }
.consents .consents__buttons .btn, .consents .consents__advanced-buttons .btn {
  display: inline-flex !important; align-items: center; justify-content: center; width: 100% !important; min-width: 0 !important; height: 46px !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 14px !important; border-radius: 12px !important; box-shadow: none !important; float: none !important;
  font: 700 14px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2 !important; white-space: nowrap; cursor: pointer;
  border: 1.5px solid #d2d6dc !important; background: #fff !important; color: var(--v2-ink) !important;
}
.consents .consents__buttons .btn::before, .consents .consents__buttons .btn::after,
.consents .consents__advanced-buttons .btn::before, .consents .consents__advanced-buttons .btn::after { display: none !important; }
.consents .consents__buttons .btn:hover, .consents .consents__advanced-buttons .btn:hover { border-color: var(--v2-ink) !important; }
.consents .consents__buttons .btn.btn-red, .consents .consents__advanced-buttons .btn.btn-red {
  border: 0 !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important; font-weight: 800 !important;
}
.consents .consents__buttons .btn.btn-red:hover, .consents .consents__advanced-buttons .btn.btn-red:hover { background: #ea580c !important; }
.consents .consents__buttons .btn.js__accept-all-consents { grid-column: 1 / -1; order: -1; height: 50px !important; font-size: 15px !important; }
.consents .consents__buttons .btn.js__show-advanced-view { border-color: transparent !important; background: var(--v2-surface) !important; }
.consents .consents__advanced-buttons .btn { width: auto !important; padding: 0 20px !important; }
.consents .btn:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }

/* tło: przy małym oknie nie blokuje strony, przy „Dostosuj zgody” przyciemnia */
.consents .consents__mask { display: none !important; }
.consents:has(.js__advanced-view:not(.none)) .consents__mask { display: block !important; background: rgba(14, 16, 20, .45) !important; }
.consents:has(.js__advanced-view:not(.none)) .consents__wrapper {
  left: 50% !important; bottom: auto !important; top: 50% !important; transform: translate(-50%, -50%); width: min(640px, calc(100vw - 32px)) !important;
}

/* widok „Dostosuj zgody” */
.consents .consents__advanced-view { display: flex !important; flex-direction: column; min-height: 0; max-height: calc(100vh - 88px) !important; }
.consents .consents__advanced-content { overflow: auto !important; padding: 0 4px 0 0 !important; font: 500 13px/1.55 var(--v2-font) !important; color: var(--v2-ink-2) !important; }
.consents .consents__advanced-content > br { display: none; }
.consents .consents__advanced-content p { margin: 0 0 6px !important; font: inherit !important; color: inherit !important; }
.consents .consents__consent {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; align-items: start; margin: 10px 0 0 !important; padding: 14px 16px !important;
  border: 1px solid var(--v2-line); border-radius: 14px; background: #fff;
}
.consents .consents__consent-checkbox { grid-column: 2; grid-row: 1; }
.consents .consents__consent-description { grid-column: 1; grid-row: 1; margin: 0 !important; }
.consents .consents__consent-description p:last-child { margin-bottom: 0 !important; }
.consents .consents__text, .consents .consents__text label { margin: 0 0 2px !important; font: 800 14px var(--v2-font) !important; color: var(--v2-ink) !important; cursor: pointer; }
.consents .consents__text strong { font-weight: 800 !important; }
/* przełącznik zamiast kwadracika */
.consents .checkbox-wrap { position: relative !important; display: inline-block !important; width: 44px; height: 26px; margin: 0 !important; }
.consents .checkbox-wrap input { position: absolute !important; inset: 0; width: 44px !important; height: 26px !important; margin: 0 !important; opacity: 0 !important; cursor: pointer; z-index: 1; }
.consents .checkbox-wrap label {
  display: block !important; width: 44px !important; height: 26px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 99px !important;
  background: #d2d6dc !important; position: relative !important; transition: background .15s;
}
.consents .checkbox-wrap label::before { display: none !important; }
.consents .checkbox-wrap label::after {
  content: "" !important; display: block !important; position: absolute !important; top: 3px !important; left: 3px !important; width: 20px !important; height: 20px !important;
  border-radius: 99px !important; background: #fff !important; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .15s; border: 0 !important; transform: none;
}
.consents .checkbox-wrap input:checked + label { background: var(--v2-ink) !important; }
.consents .checkbox-wrap input:checked + label::after { transform: translateX(18px) !important; }
.consents .checkbox-wrap input:disabled + label { background: #9ca3af !important; cursor: not-allowed; }
.consents .checkbox-wrap input:focus-visible + label { outline: 3px solid var(--v2-accent); outline-offset: 2px; }

@media (max-width: 520px) {
  .consents .consents__wrapper { left: 12px !important; right: 12px !important; bottom: 12px !important; width: auto !important; }
  .consents .consents__modal { padding: 18px !important; border-radius: 18px !important; }
  .consents .consents__heading { font-size: 17px !important; }
  .consents .consents__buttons { grid-template-columns: minmax(0, 1fr); }
  .consents:has(.js__advanced-view:not(.none)) .consents__wrapper { left: 12px !important; right: 12px !important; top: 12px !important; bottom: 12px !important; transform: none; width: auto !important; }
  .consents .consents__advanced-buttons .btn { flex: 1; }
}

/* =====================================================================
   §16. Popup newslettera (WebCoders Popup + v2_smartled.js §10)
   ===================================================================== */
.wce_overlay-popup.v2-nl { --popupWidth: 760px !important; font-family: var(--v2-font); color: var(--v2-ink); }
.wce_overlay-popup.v2-nl aside.wce_popup {
  width: min(760px, calc(100vw - 32px)) !important; max-width: none !important; margin: 0 auto !important; padding: 0 !important;
  border: 0 !important; border-radius: 24px !important; overflow: hidden !important; background: #fff !important; box-shadow: 0 30px 80px rgba(14, 16, 20, .35) !important;
}
.wce_overlay-popup.v2-nl .wce_popup-head {
  position: absolute !important; top: 14px; right: 14px; left: auto !important; z-index: 3; width: auto !important; height: auto !important;
  padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
}
.wce_overlay-popup.v2-nl .wce_popup-head-text { display: none !important; }
.wce_overlay-popup.v2-nl .wce_popup-head .wce_popup-close {
  position: static !important; display: flex !important; align-items: center; justify-content: center; width: 40px !important; height: 40px !important;
  margin: 0 !important; padding: 0 !important; border-radius: 12px !important; background: var(--v2-surface) !important; border: 0 !important; color: var(--v2-ink) !important;
  cursor: pointer; transform: none !important; box-shadow: none !important;
}
.wce_overlay-popup.v2-nl .wce_popup-head .wce_popup-close span { font: 400 26px/1 var(--v2-font) !important; color: inherit !important; margin: -2px 0 0 !important; }
.wce_overlay-popup.v2-nl .wce_popup-head .wce_popup-close::before, .wce_overlay-popup.v2-nl .wce_popup-head .wce_popup-close::after { display: none !important; }
.wce_overlay-popup.v2-nl .wce_popup-head .wce_popup-close:hover { background: var(--v2-line) !important; }
.wce_overlay-popup.v2-nl .wce_popup-body {
  position: relative !important; display: grid !important; grid-template-columns: 250px minmax(0, 1fr); min-height: 0 !important; height: auto !important;
  padding: 0 !important; margin: 0 !important; background: #fff !important; overflow: visible !important;
}
.wce_overlay-popup.v2-nl .wce_popup-body-proportion, .wce_overlay-popup.v2-nl .wce_popup-body-image { display: none !important; }
/* lewa, pomarańczowa część */
.wce_overlay-popup.v2-nl .v2-nl__side {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 6px; padding: 32px 28px; position: relative; overflow: hidden;
  background: radial-gradient(120% 90% at 0% 0%, #fb923c 0%, #f97316 45%, #c2410c 100%); color: #fff;
}
.wce_overlay-popup.v2-nl .v2-nl__side::before {
  content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; border: 28px solid rgba(255, 255, 255, .12);
}
.wce_overlay-popup.v2-nl .v2-nl__env {
  position: absolute; left: 28px; top: 30px; width: 64px; height: 64px; border-radius: 18px; background: rgba(255, 255, 255, .18);
  display: flex; align-items: center; justify-content: center; color: #fff;
}
.wce_overlay-popup.v2-nl .v2-nl__pct { font: 800 76px/0.95 var(--v2-font); letter-spacing: -3px; }
.wce_overlay-popup.v2-nl .v2-nl__pctl { font: 700 14px/1.3 var(--v2-font); opacity: .92; }
/* prawa część */
.wce_overlay-popup.v2-nl .v2-nl__main { display: flex; flex-direction: column; gap: 12px; padding: 36px 34px 28px; min-width: 0; }
.wce_overlay-popup.v2-nl .v2-nl__eyebrow { font: 800 12px var(--v2-font); letter-spacing: 1.4px; text-transform: uppercase; color: var(--v2-accent-ink); }
.wce_overlay-popup.v2-nl .v2-nl__title { margin: 0 !important; font: 800 28px/1.15 var(--v2-font) !important; letter-spacing: -0.6px; color: var(--v2-ink) !important; padding-right: 30px; }
.wce_overlay-popup.v2-nl .v2-nl__title em { font-style: normal; color: var(--v2-accent-ink); }
.wce_overlay-popup.v2-nl .v2-nl__lead { margin: 0 !important; font: 500 14px/1.55 var(--v2-font) !important; color: var(--v2-ink-2) !important; }
.wce_overlay-popup.v2-nl .v2-nl__perks { list-style: none !important; margin: 2px 0 6px !important; padding: 0 !important; display: grid; gap: 8px; }
.wce_overlay-popup.v2-nl .v2-nl__perks li {
  display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; font: 600 13.5px/1.4 var(--v2-font); color: var(--v2-ink); background: none !important;
}
.wce_overlay-popup.v2-nl .v2-nl__perks li::before {
  content: ""; flex: none; width: 20px; height: 20px; border-radius: 99px;
  background: #dcfce7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 12px no-repeat;
}
/* formularz */
.wce_overlay-popup.v2-nl form.wce_form-newsletter { position: static !important; margin: 0 !important; padding: 0 !important; width: auto !important; background: none !important; border: 0 !important; }
.wce_overlay-popup.v2-nl form.wce_form-newsletter fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.wce_overlay-popup.v2-nl .wce_popup-from-lay { display: flex !important; gap: 8px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.wce_overlay-popup.v2-nl .wce_popup-from-lay input {
  flex: 1; min-width: 0; height: 52px !important; margin: 0 !important; padding: 0 16px !important; box-sizing: border-box;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
.wce_overlay-popup.v2-nl .wce_popup-from-lay input:focus { outline: none; border-color: var(--v2-ink) !important; }
.wce_overlay-popup.v2-nl .wce_popup-from-lay .btn {
  flex: none; height: 52px !important; min-width: 0 !important; width: auto !important; padding: 0 22px !important; margin: 0 !important; border: 0 !important; border-radius: 12px !important;
  background: var(--v2-ink) !important; color: #fff !important; font: 800 15px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; cursor: pointer;
}
.wce_overlay-popup.v2-nl .wce_popup-from-lay .btn span { color: inherit !important; font: inherit !important; }
.wce_overlay-popup.v2-nl .wce_popup-from-lay .btn::before, .wce_overlay-popup.v2-nl .wce_popup-from-lay .btn::after { display: none !important; }
.wce_overlay-popup.v2-nl .wce_popup-from-lay .btn:hover { background: #2a2e37 !important; }
.wce_overlay-popup.v2-nl .v2-nl__note { margin: 10px 0 0 !important; font: 500 11.5px/1.5 var(--v2-font) !important; color: var(--v2-muted) !important; }

@media (max-width: 640px) {
  .wce_overlay-popup.v2-nl .wce_popup-body { grid-template-columns: minmax(0, 1fr); }
  .wce_overlay-popup.v2-nl .v2-nl__side { flex-direction: row; align-items: center; justify-content: flex-start; gap: 14px; padding: 20px 22px; }
  .wce_overlay-popup.v2-nl .v2-nl__env { position: static; width: 52px; height: 52px; border-radius: 14px; flex: none; }
  .wce_overlay-popup.v2-nl .v2-nl__env svg { width: 32px; height: 32px; }
  .wce_overlay-popup.v2-nl .v2-nl__pct { font-size: 48px; letter-spacing: -2px; }
  .wce_overlay-popup.v2-nl .v2-nl__pctl { max-width: 90px; }
  .wce_overlay-popup.v2-nl .v2-nl__main { padding: 22px 20px 20px; gap: 10px; }
  .wce_overlay-popup.v2-nl .v2-nl__title { font-size: 22px !important; padding-right: 0; }
  .wce_overlay-popup.v2-nl .v2-nl__title br { display: none; }
  .wce_overlay-popup.v2-nl .wce_popup-from-lay { flex-direction: column; }
  .wce_overlay-popup.v2-nl .wce_popup-head { top: 10px; right: 10px; }
  .wce_overlay-popup.v2-nl .wce_popup-head .wce_popup-close { background: rgba(255, 255, 255, .9) !important; }
}

/* =====================================================================
   §17. Strony informacyjne – bloki V2 (treść strony w panelu: Zawartość › Strony informacyjne)
   Bloki: .v2-page (opakowanie), .v2-page-hero, .v2-page-section, .v2-page-grid + .v2-page-card,
          .v2-page-steps, .v2-page-people + .v2-page-person, .v2-page-cta, .v2-page-note
   Opis i gotowe fragmenty: _moduly/strony/INSTRUKCJA_stron.md
   ===================================================================== */
/* gdy strona ma bloki V2, standardowy nagłówek boksu jest zbędny (tytuł jest w bloku hero) */
.box_infopage:has(.v2-page) { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.box_infopage:has(.v2-page) > .boxhead { display: none !important; }
.box_infopage:has(.v2-page) > .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
.v2-page { display: flex; flex-direction: column; gap: 28px; font-family: var(--v2-font); color: var(--v2-ink); margin: 0 0 40px; }
.v2-page *, .v2-page *::before, .v2-page *::after { box-sizing: border-box; }
.fr-view .v2-page p, .v2-page p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--v2-ink-2); text-align: left; }
.v2-page a { color: var(--v2-ink); }
.v2-page ul, .v2-page ol { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.v2-page li { margin: 0 !important; list-style: none !important; }
.v2-page li::before { content: none; }
.fr-view .v2-page h1, .fr-view .v2-page h2, .fr-view .v2-page h3, .v2-page h1, .v2-page h2, .v2-page h3 { font-family: var(--v2-font) !important; color: var(--v2-ink); text-transform: none !important; text-align: left; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.v2-page h1::before, .v2-page h1::after, .v2-page h2::before, .v2-page h2::after, .v2-page h3::before, .v2-page h3::after { display: none !important; }

/* przyciski */
.v2-page .v2-page-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.v2-page a.v2-page-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 22px; border-radius: 12px;
  background: var(--v2-accent); color: var(--v2-ink) !important; font: 800 15px/1.2 var(--v2-font); text-decoration: none !important; transition: filter .15s, transform .15s;
}
.v2-page a.v2-page-btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
.v2-page a.v2-page-btn--ghost { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .45); }
.v2-page a.v2-page-btn--dark { background: var(--v2-ink); color: #fff !important; }
.v2-page a.v2-page-btn--line { background: #fff; color: var(--v2-ink) !important; box-shadow: inset 0 0 0 1.5px #d2d6dc; }
.v2-page a.v2-page-btn--line:hover { box-shadow: inset 0 0 0 1.5px var(--v2-ink); filter: none; }

/* HERO – ciemna karta otwierająca stronę (.v2-page-hero--light = jasna) */
.v2-page .v2-page-hero {
  position: relative; overflow: hidden; border-radius: var(--v2-radius); background: var(--v2-dark); color: #fff;
  padding: 44px 44px 40px; display: flex; flex-direction: column; gap: 16px;
}
.v2-page .v2-page-hero::after {
  content: ""; position: absolute; right: -80px; top: -80px; width: 300px; height: 300px; border-radius: 50%;
  border: 40px solid rgba(249, 115, 22, .16); pointer-events: none;
}
.v2-page .v2-page-hero > * { position: relative; z-index: 1; max-width: 640px; }
.v2-page .v2-page-eyebrow {
  align-self: flex-start; font: 800 12px/1.2 var(--v2-font); letter-spacing: 2px; text-transform: uppercase; color: #fb923c;
  border: 1px solid #fb923c; border-radius: 99px; padding: 6px 12px;
}
.fr-view .v2-page .v2-page-hero h1, .v2-page .v2-page-hero h1 { color: #fff !important; font: 800 40px/1.08 var(--v2-font) !important; letter-spacing: -1px; text-wrap: balance; }
.fr-view .v2-page .v2-page-hero p, .v2-page .v2-page-hero p { color: #c9cdd5; font-size: 16.5px; line-height: 1.6; }
.v2-page .v2-page-hero .v2-page-btns { margin-top: 6px; }
.v2-page .v2-page-hero--light { background: var(--v2-surface); color: var(--v2-ink); }
.fr-view .v2-page .v2-page-hero--light h1, .v2-page .v2-page-hero--light h1 { color: var(--v2-ink) !important; }
.fr-view .v2-page .v2-page-hero--light p, .v2-page .v2-page-hero--light p { color: var(--v2-ink-2); }
.v2-page .v2-page-hero--light .v2-page-eyebrow { color: var(--v2-accent-ink); border-color: var(--v2-accent-ink); }
.v2-page .v2-page-hero--light a.v2-page-btn--ghost { color: var(--v2-ink) !important; box-shadow: inset 0 0 0 1.5px var(--v2-ink); }

/* sekcja z nagłówkiem */
.v2-page .v2-page-section { display: flex; flex-direction: column; gap: 16px; }
.fr-view .v2-page .v2-page-section > h2, .v2-page .v2-page-section > h2 { font: 800 26px/1.2 var(--v2-font) !important; letter-spacing: -.5px; }
.v2-page .v2-page-section > p { max-width: 720px; }

/* siatka kart z ptaszkiem */
.v2-page .v2-page-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.v2-page .v2-page-card {
  display: flex; flex-direction: column; gap: 6px; padding: 20px; border: 1px solid var(--v2-line); border-radius: 16px; background: #fff;
}
.v2-page .v2-page-card::before {
  content: "" !important; width: 36px; height: 36px; border-radius: 10px; margin-bottom: 6px;
  background: var(--v2-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.v2-page .v2-page-card strong, .v2-page .v2-page-card h3 { font: 800 16px/1.3 var(--v2-font) !important; color: var(--v2-ink); }
.fr-view .v2-page .v2-page-card p, .v2-page .v2-page-card p { font-size: 14px; line-height: 1.55; }

/* kroki (kolejność ma znaczenie) */
.v2-page .v2-page-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; counter-reset: v2step; }
.v2-page .v2-page-steps > li {
  counter-increment: v2step; position: relative; display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 16px; background: var(--v2-surface);
}
.v2-page .v2-page-steps > li::before {
  content: counter(v2step) !important; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 99px;
  background: var(--v2-ink); color: #fff; font: 800 14px var(--v2-font); margin-bottom: 6px;
}
.v2-page .v2-page-steps strong { font: 800 16px/1.3 var(--v2-font); color: var(--v2-ink); }
.fr-view .v2-page .v2-page-steps p, .v2-page .v2-page-steps p { font-size: 14px; line-height: 1.55; }

/* osoby kontaktowe */
.v2-page .v2-page-people { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.v2-page .v2-page-person {
  display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 16px; row-gap: 4px; align-items: center;
  padding: 20px; border: 1px solid var(--v2-line); border-radius: 18px; background: #fff;
}
.v2-page .v2-page-avatar {
  grid-row: 1 / span 2; width: 56px; height: 56px; border-radius: 99px; background: var(--v2-accent-soft); color: var(--v2-accent-ink);
  display: flex; align-items: center; justify-content: center; font: 800 18px var(--v2-font); letter-spacing: .5px; overflow: hidden;
}
.v2-page .v2-page-avatar img { width: 100%; height: 100%; object-fit: cover; }
.v2-page .v2-page-person strong { font: 800 17px/1.25 var(--v2-font); color: var(--v2-ink); }
.v2-page .v2-page-person .v2-page-role { font: 600 13px var(--v2-font); color: var(--v2-muted); }
.v2-page .v2-page-person .v2-page-contact { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--v2-line); }
.v2-page .v2-page-contact a {
  display: flex; align-items: center; gap: 10px; min-height: 40px; font: 700 15px var(--v2-font); color: var(--v2-ink) !important;
  text-decoration: none !important; word-break: break-word;
}
.v2-page .v2-page-contact a::before {
  content: ""; flex: none; width: 36px; height: 36px; border-radius: 10px; background-color: var(--v2-surface); background-position: center; background-repeat: no-repeat; background-size: 18px;
}
.v2-page .v2-page-contact a[href^="tel:"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111318' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.v2-page .v2-page-contact a[href^="mailto:"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111318' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='M3.5 6.5l8.5 6.5 8.5-6.5'/%3E%3C/svg%3E"); }
.v2-page .v2-page-contact a:hover { color: var(--v2-accent-ink) !important; }
.v2-page .v2-page-contact a:hover::before { background-color: var(--v2-accent-soft); }

/* pasek z wezwaniem do działania */
.v2-page .v2-page-cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 26px 28px; border-radius: var(--v2-radius);
  background: var(--v2-accent-soft);
}
.v2-page .v2-page-cta > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 320px; }
.v2-page .v2-page-cta strong { font: 800 20px/1.25 var(--v2-font); color: var(--v2-ink); }
.fr-view .v2-page .v2-page-cta p, .v2-page .v2-page-cta p { font-size: 14px; }

/* uwaga / ramka informacyjna */
.v2-page .v2-page-note { padding: 16px 18px; border-left: 4px solid var(--v2-accent); border-radius: 0 12px 12px 0; background: var(--v2-surface); }
.fr-view .v2-page .v2-page-note p, .v2-page .v2-page-note p { font-size: 14px; }

@media (max-width: 767px) {
  .v2-page { gap: 22px; }
  .v2-page .v2-page-hero { padding: 28px 22px 26px; border-radius: 16px; }
  .fr-view .v2-page .v2-page-hero h1, .v2-page .v2-page-hero h1 { font-size: 28px !important; letter-spacing: -.6px; }
  .fr-view .v2-page .v2-page-hero p, .v2-page .v2-page-hero p { font-size: 15px; }
  .fr-view .v2-page .v2-page-section > h2, .v2-page .v2-page-section > h2 { font-size: 21px !important; }
  .v2-page .v2-page-btns a.v2-page-btn { flex: 1 1 auto; }
  .v2-page .v2-page-cta { padding: 20px; }
  .v2-page .v2-page-grid { gap: 8px; }
  .v2-page .v2-page-card { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; padding: 14px 16px; }
  .v2-page .v2-page-card::before { grid-row: 1 / span 2; margin: 0; }
}

/* =====================================================================
   §18. Pasek ikon nad stopką (aplikacja WebCoders Info Icons) i stopka
   Ikony podmieniane po nazwie ikony wybranej w aplikacji (data-wce-ii).
   Nieznana nazwa ikony = zostaje oryginalna ikona, ale w nowym kafelku.
   ===================================================================== */
.box_webcodersInfoiconsApp { background: #fff !important; color: var(--v2-ink) !important; padding: 8px 0 40px !important; margin: 0 !important; border: 0 !important; }
.box_webcodersInfoiconsApp .wceInfoiconsAppContainer { font-family: var(--v2-font); }
.box_webcodersInfoiconsApp .wce_listWrap .wce_groupList {
  display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; border: 0 !important;
}
.box_webcodersInfoiconsApp .wce_listWrap .wce_groupList > li.wce_group {
  display: flex !important; flex-direction: column; align-items: center; text-align: center; gap: 6px; width: auto !important; max-width: none !important; min-width: 0;
  margin: 0 !important; padding: 22px 14px 20px !important; border: 1px solid var(--v2-line) !important; border-radius: 18px; background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.box_webcodersInfoiconsApp .wce_listWrap .wce_groupList > li.wce_group:hover { border-color: #d2d6dc !important; box-shadow: 0 10px 24px rgba(17, 19, 24, .06); }
.box_webcodersInfoiconsApp .wce_groupList > li.wce_group::before, .box_webcodersInfoiconsApp .wce_groupList > li.wce_group::after { display: none !important; }
.box_webcodersInfoiconsApp .wce_group .img-wrap, .box_webcodersInfoiconsApp .wce_group .wce_counter-wrap {
  display: flex !important; align-items: center; justify-content: center; width: 56px !important; height: 56px !important; margin: 0 0 8px !important; padding: 0 !important;
  border-radius: 16px; background: var(--v2-accent-soft); color: var(--v2-accent-ink) !important; flex: none;
}
.box_webcodersInfoiconsApp .wce_group .wce_counter-wrap { width: auto !important; min-width: 56px; padding: 0 12px !important; }
.box_webcodersInfoiconsApp .wce_group .wce_counter { font: 800 22px/1 var(--v2-font) !important; color: var(--v2-accent-ink) !important; letter-spacing: -.5px; }
.box_webcodersInfoiconsApp .wce_group .img-wrap i { display: flex !important; align-items: center; justify-content: center; width: 28px !important; height: 28px !important; font-size: 26px !important; line-height: 1 !important; color: inherit !important; }
.box_webcodersInfoiconsApp .wce_group .img-wrap img { width: 28px !important; height: 28px !important; object-fit: contain; }
.box_webcodersInfoiconsApp .wce_group .img-wrap i[data-wce-ii]::before { width: 28px; height: 28px; display: block; }
.box_webcodersInfoiconsApp .wce_group .img-wrap i:is([data-wce-ii="tag"], [data-wce-ii="badge"], [data-wce-ii="quick-shipp"], [data-wce-ii="free-deliv"], [data-wce-ii="comment"])::before {
  content: "" !important; background: currentColor; -webkit-mask: var(--v2-ii) center / contain no-repeat; mask: var(--v2-ii) center / contain no-repeat;
}
.box_webcodersInfoiconsApp i[data-wce-ii="tag"] { --v2-ii: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3Cpath d='M10 15l5-5'/%3E%3C/svg%3E"); }
.box_webcodersInfoiconsApp i[data-wce-ii="badge"] { --v2-ii: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8.3-7 10-4-1.7-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.box_webcodersInfoiconsApp i[data-wce-ii="quick-shipp"] { --v2-ii: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13' cy='13' r='8'/%3E%3Cpath d='M13 9v4l2.5 2'/%3E%3Cpath d='M2 9h3M1 13h3M2 17h3'/%3E%3C/svg%3E"); }
.box_webcodersInfoiconsApp i[data-wce-ii="free-deliv"] { --v2-ii: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7h12v9H2z'/%3E%3Cpath d='M14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='6' cy='18' r='1.8'/%3E%3Ccircle cx='17' cy='18' r='1.8'/%3E%3C/svg%3E"); }
.box_webcodersInfoiconsApp i[data-wce-ii="comment"] { --v2-ii: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.6 5.6 6 .7-4.5 4.1 1.2 6L12 16.4 6.7 19.4l1.2-6L3.4 9.3l6-.7z'/%3E%3C/svg%3E"); }
.box_webcodersInfoiconsApp .wce_group .wce_h3 { display: block; margin: 0 !important; font: 800 15px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-wrap: balance; }
.box_webcodersInfoiconsApp .wce_group p { margin: 0 !important; font: 500 13px/1.45 var(--v2-font) !important; color: var(--v2-muted) !important; text-wrap: pretty; }
.box_webcodersInfoiconsApp .wce_group p:empty { display: none !important; }
.box_webcodersInfoiconsApp .wce_list-wrap-mobile-pagination { margin: 14px 0 0 !important; }
.box_webcodersInfoiconsApp .wce_list-wrap-mobile-pagination-item { background: var(--v2-line) !important; }
.box_webcodersInfoiconsApp .wce_list-wrap-mobile-pagination-item.active, .box_webcodersInfoiconsApp .wce_list-wrap-mobile-pagination-item.wce_active { background: var(--v2-ink) !important; }

/* ---------- stopka ---------- */
footer.footer {
  position: relative; margin-top: 0 !important; padding: 56px 0 0 !important; border: 0 !important; color: #c9cdd5; font-family: var(--v2-font);
  background: var(--v2-dark) !important; box-shadow: 0 0 0 100vmax var(--v2-dark); clip-path: inset(0 -100vmax);
}
footer.footer::before, footer.footer::after, footer.footer .innerfooter::before, footer.footer .innerfooter::after, footer.footer ul.overall::before, footer.footer ul.overall::after { display: none !important; }
footer.footer .innerfooter {
  display: grid !important; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); gap: 48px; align-items: start; padding: 0 0 44px !important; margin: 0 auto !important;
  background: none !important; border: 0 !important;
}
/* kolumny linków */
footer.footer .innerfooter > ul.overall {
  order: 2; display: grid !important; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 32px 24px; width: auto !important; margin: 0 !important; padding: 0 !important;
  background: none !important; position: static !important;
}
footer.footer ul.overall > li.overall { width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
footer.footer ul.overall > li.overall > ul { display: flex !important; flex-direction: column; gap: 2px; margin: 0 !important; padding: 0 !important; }
footer.footer ul.overall li.head {
  display: block !important; margin: 0 0 10px !important; padding: 0 !important; font: 800 12px/1.3 var(--v2-font) !important; letter-spacing: 1.4px; text-transform: uppercase;
  color: #fff !important; background: none !important; border: 0 !important;
}
footer.footer ul.overall li.head::before, footer.footer ul.overall li.head::after { display: none !important; }
footer.footer ul.overall > li.overall > ul > li:not(.head) { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
footer.footer ul.overall > li.overall > ul > li:not(.head)::before { display: none !important; }
footer.footer ul.overall a {
  display: inline-flex !important; align-items: center; min-height: 32px; padding: 0 !important; font: 500 14px/1.35 var(--v2-font) !important; color: #aab0bb !important;
  text-decoration: none !important; background: none !important; transition: color .15s;
}
footer.footer ul.overall a:hover { color: #fff !important; }
footer.footer ul.overall a img { display: none !important; }
/* karta kontaktowa */
footer.footer #wce_footer-info {
  order: 1; display: flex !important; flex-direction: column; gap: 14px; width: auto !important; max-width: none !important; margin: 0 !important; padding: 26px !important; float: none !important;
  border-radius: var(--v2-radius); background: #171a21 !important; border: 1px solid #262a33 !important; position: static !important; text-align: left !important;
}
footer.footer #wce_footer-info::before, footer.footer #wce_footer-info::after { display: none !important; }
footer.footer #wce_footer-info p { margin: 0 !important; padding: 0 !important; text-align: left !important; }
footer.footer #wce_footer-info .wce_info-head { font: 800 12px/1.3 var(--v2-font) !important; letter-spacing: 1.4px; text-transform: uppercase; color: #fb923c !important; }
footer.footer #wce_footer-info .wce_info-contacts { display: flex !important; flex-direction: column; gap: 10px; }
footer.footer #wce_footer-info .wce_info-contacts br, footer.footer #wce_footer-info .wce_info-text br.v2-hide { display: none; }
footer.footer #wce_footer-info .wce_info-contacts a {
  display: flex !important; align-items: center; gap: 12px; padding: 0 !important; margin: 0 !important; text-decoration: none !important; background: none !important;
  font: 700 15px/1.3 var(--v2-font) !important; color: #e5e7eb !important; word-break: break-word;
}
footer.footer #wce_footer-info .wce_info-contacts a::before {
  content: "" !important; flex: none; width: 40px; height: 40px; border-radius: 12px; background: #23272f center / 19px no-repeat; font-size: 0 !important; margin: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5e7eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='M3.5 6.5l8.5 6.5 8.5-6.5'/%3E%3C/svg%3E");
}
footer.footer #wce_footer-info .wce_info-contacts a[href^="tel:"] { font: 800 26px/1.1 var(--v2-font) !important; color: #fff !important; letter-spacing: -.5px; }
footer.footer #wce_footer-info .wce_info-contacts a[href^="tel:"]::before {
  background-color: var(--v2-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111318' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
}
footer.footer #wce_footer-info .wce_info-contacts a:hover { color: #fb923c !important; }
footer.footer #wce_footer-info .wce_info-text, footer.footer #wce_footer-info .v2-ft-hours {
  display: flex !important; align-items: flex-start; gap: 12px; font: 500 14px/1.5 var(--v2-font) !important; color: #aab0bb !important;
}
footer.footer #wce_footer-info .wce_info-text { padding-top: 14px !important; border-top: 1px solid #262a33; }
footer.footer #wce_footer-info .wce_info-text::before, footer.footer #wce_footer-info .v2-ft-hours::before {
  content: ""; flex: none; width: 20px; height: 20px; margin-top: 1px; background: center / 18px no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aab0bb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
}
footer.footer #wce_footer-info .v2-ft-hours::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aab0bb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
/* pas z logotypami płatności / dostaw (treść: Wygląd › stopka szablonu) */
footer.footer .userfooter { margin: 0 auto !important; padding: 0 0 28px !important; background: none !important; border: 0 !important; }
footer.footer .userfooter .row {
  display: block; margin: 0 !important; padding: 16px 20px !important; border-radius: 16px; background: #fff; text-align: center;
}
footer.footer .userfooter .row p { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 12px; margin: 0 !important; font-size: 0; }
footer.footer .userfooter img { display: block !important; width: auto !important; max-width: 100% !important; height: auto !important; max-height: none !important; margin: 0 !important; }
/* pasek praw autorskich – kolory tekstu narzuca Shoper, więc tło jasne */
footer.footer #shoper-foot { background: var(--v2-surface) !important; box-shadow: 0 0 0 100vmax var(--v2-surface); clip-path: inset(0 -100vmax); padding: 16px 0 !important; }
footer.footer #shoper-foot a:hover { text-decoration: underline !important; }
.up a.btn { border-radius: 12px !important; background: var(--v2-ink) !important; color: #fff !important; border: 0 !important; }

@media (max-width: 1200px) {
  .box_webcodersInfoiconsApp .wce_listWrap .wce_groupList { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  footer.footer .innerfooter { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  footer.footer #wce_footer-info { order: 0; }
}
@media (max-width: 767px) {
  .box_webcodersInfoiconsApp { padding: 4px 0 28px !important; }
  .box_webcodersInfoiconsApp .wce_listWrap .wce_groupList { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .box_webcodersInfoiconsApp .wce_listWrap .wce_groupList > li.wce_group {
    display: grid !important; grid-template-columns: 46px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: center; align-content: center;
    text-align: left; padding: 12px 14px !important; border-radius: 14px;
  }
  .box_webcodersInfoiconsApp .wce_listWrap .wce_groupList > li.wce_group > * { grid-column: 2; }
  .box_webcodersInfoiconsApp .wce_group .img-wrap, .box_webcodersInfoiconsApp .wce_group .wce_counter-wrap { grid-column: 1 !important; grid-row: 1 / span 3; width: 46px !important; height: 46px !important; border-radius: 13px; margin: 0 !important; }
  .box_webcodersInfoiconsApp .wce_group .wce_counter-wrap { min-width: 0 !important; padding: 0 !important; }
  .box_webcodersInfoiconsApp .wce_group .wce_counter { font-size: 14px !important; }
  .box_webcodersInfoiconsApp .wce_group .img-wrap i, .box_webcodersInfoiconsApp .wce_group .img-wrap i[data-wce-ii]::before { width: 24px !important; height: 24px !important; }
  .box_webcodersInfoiconsApp .wce_group .wce_h3 { font-size: 14px !important; }
  .box_webcodersInfoiconsApp .wce_group p { font-size: 12px !important; }
  .box_webcodersInfoiconsApp .wce_list-wrap-mobile-pagination { display: none !important; }
  footer.footer { padding-top: 32px !important; }
  footer.footer .innerfooter { padding-bottom: 28px !important; }
  footer.footer #wce_footer-info { padding: 20px !important; border-radius: 16px; }
  footer.footer #wce_footer-info .wce_info-contacts a[href^="tel:"] { font-size: 23px !important; }
  footer.footer .innerfooter > ul.overall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  footer.footer ul.overall > li.overall > ul > li:not(.head) { display: block !important; }
  footer.footer ul.overall a { font-size: 13.5px !important; min-height: 34px; }
}

/* =====================================================================
   §19. Szybkie logowanie w menu „Konto” (nagłówek, #box_loginsmall Hammera)
   Po najechaniu na „Zaloguj się” w menu „Konto” obok wysuwa się okno
   szybkiego logowania (Hammer przenosi je tam przy pierwszym najechaniu).
   ===================================================================== */
.v2-acc__menu ul.links li.login { position: relative !important; }
.v2-acc__menu #box_loginsmall {
  position: absolute !important; top: -9px !important; right: calc(100% + 18px) !important; left: auto !important; bottom: auto !important; z-index: 95;
  display: block !important; box-sizing: border-box !important; width: 360px !important; min-width: 0 !important; max-width: none !important; height: auto !important;
  margin: 0 !important; padding: 20px !important; background: #fff !important; border: 1px solid var(--v2-line) !important; border-radius: 16px !important;
  box-shadow: 0 16px 40px rgba(17, 19, 24, .16) !important; font-family: var(--v2-font); text-align: left !important;
  opacity: 0 !important; visibility: hidden !important; transform: translateX(6px) !important; transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s !important;
}
.v2-acc__menu ul.links li.login:hover > #box_loginsmall, .v2-acc__menu ul.links li.login:focus-within > #box_loginsmall {
  opacity: 1 !important; visibility: visible !important; transform: none !important; transition-delay: 0s !important;
}
@media (hover: none) { .v2-acc__menu #box_loginsmall { display: none !important; } }
.v2-acc__menu #box_loginsmall::after { display: none !important; }
/* „mostek” – okno nie znika przy przesuwaniu kursora z linku do okna */
.v2-acc__menu #box_loginsmall::before { content: "" !important; display: block !important; position: absolute; top: 0; bottom: 0; right: -20px; width: 20px; background: none !important; border: 0 !important; }
.v2-acc__menu #box_loginsmall .boxhead {
  display: block !important; margin: 0 0 14px !important; padding: 0 !important; background: none !important; border: 0 !important; height: auto !important;
}
.v2-acc__menu #box_loginsmall .boxhead span {
  display: block !important; padding: 0 !important; border: 0 !important; background: none !important; font: 800 18px/1.25 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important;
}
.v2-acc__menu #box_loginsmall .boxhead span img, .v2-acc__menu #box_loginsmall img.px1 { display: none !important; }
.v2-acc__menu #box_loginsmall .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
.v2-acc__menu #box_loginsmall fieldset { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 12px; text-align: left !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.v2-acc__menu #box_loginsmall .row { display: block !important; margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
.v2-acc__menu #box_loginsmall .login-inputs { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 6px; }
.v2-acc__menu #box_loginsmall label {
  display: block !important; margin: 6px 0 0 !important; padding: 0 !important; font: 700 13px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-align: left !important;
}
.v2-acc__menu #box_loginsmall label:first-child { margin-top: 0 !important; }
.v2-acc__menu #box_loginsmall input.mail, .v2-acc__menu #box_loginsmall input.pass {
  display: block !important; width: 100% !important; height: 46px !important; margin: 0 !important; padding: 0 14px !important; box-sizing: border-box !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
.v2-acc__menu #box_loginsmall input:focus { outline: none !important; border-color: var(--v2-ink) !important; }
.v2-acc__menu #box_loginsmall button.btn.login {
  display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 48px !important; margin: 4px 0 0 !important; padding: 0 16px !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-ink) !important; color: #fff !important; box-shadow: none !important; cursor: pointer;
  font: 800 15px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.v2-acc__menu #box_loginsmall button.btn.login:hover { background: #2a2e37 !important; }
.v2-acc__menu #box_loginsmall .btn::before, .v2-acc__menu #box_loginsmall .btn::after { display: none !important; }
.v2-acc__menu #box_loginsmall button.btn span, .v2-acc__menu #box_loginsmall a span { display: inline !important; color: inherit !important; font: inherit !important; text-transform: none !important; }
.v2-acc__menu #box_loginsmall a.remind {
  display: block !important; align-self: center; width: auto !important; margin: 0 !important; padding: 2px 0 !important; background: none !important; border: 0 !important;
  font: 600 13px/1.3 var(--v2-font) !important; color: var(--v2-ink-2) !important; text-decoration: underline !important; text-underline-offset: 3px; text-align: center;
}
.v2-acc__menu #box_loginsmall a.remind:hover { color: var(--v2-accent-ink) !important; }
.v2-acc__menu #box_loginsmall a.register {
  position: relative; display: flex !important; align-items: center; justify-content: center; width: auto !important; height: 46px !important; margin: 26px 0 0 !important; padding: 0 16px !important;
  border: 0 !important; border-radius: 12px !important; background: #fff !important; box-shadow: inset 0 0 0 1.5px #d2d6dc !important; color: var(--v2-ink) !important;
  font: 800 14px var(--v2-font) !important; text-decoration: none !important; text-transform: none !important;
}
.v2-acc__menu #box_loginsmall a.register:hover { box-shadow: inset 0 0 0 1.5px var(--v2-ink) !important; }
.v2-acc__menu #box_loginsmall a.register::before {
  content: "Nie masz konta?" !important; display: block !important; position: absolute; left: 0; right: 0; top: -22px; width: auto !important; height: auto !important;
  background: none !important; border: 0 !important; font: 600 12.5px/1.3 var(--v2-font) !important; color: var(--v2-muted) !important; text-align: center; text-transform: none !important;
}

/* =====================================================================
   §20. Panel klienta: Moje konto, edycja profilu, zmiana hasła, adresy,
   historia zamówień (scripts/panel/*.tpl – pliki bez zmian; układ kart: v2_smartled.js §12)
   ===================================================================== */
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) {
  margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--v2-font); color: var(--v2-ink);
}
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) > .boxhead {
  display: block !important; margin: 0 0 22px !important; padding: 0 !important; height: auto !important; border: 0 !important; background: none !important; text-align: left !important;
}
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) > .boxhead::before,
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) > .boxhead::after,
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) > .boxhead span::before,
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) > .boxhead span::after { content: none !important; display: none !important; }
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) > .boxhead span {
  display: block !important; padding: 0 !important; background: none !important; border: 0 !important; font: 800 32px/1.15 var(--v2-font) !important; letter-spacing: -.8px; color: var(--v2-ink) !important; text-transform: none !important;
}
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) img.px1 { display: none !important; }
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) > .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }

/* przyciski w panelu */
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) :is(a.btn, button.btn) {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; width: auto !important; min-width: 0 !important; height: 48px !important; margin: 0 !important; padding: 0 20px !important;
  border: 0 !important; border-radius: 12px !important; background: #fff !important; box-shadow: inset 0 0 0 1.5px #d2d6dc !important; color: var(--v2-ink) !important;
  font: 700 14px/1.2 var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important; float: none !important; cursor: pointer;
  transition: box-shadow .15s, background .15s;
}
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) :is(a.btn, button.btn):hover { box-shadow: inset 0 0 0 1.5px var(--v2-ink) !important; }
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) :is(a.btn, button.btn)::after { display: none !important; }
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) :is(a.btn, button.btn) span { display: inline !important; color: inherit !important; font: inherit !important; text-transform: none !important; }
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) :is(a.btn, button.btn) span, #box_addresses .links em span { display: inline-block !important; }
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) :is(a.btn, button.btn) span::first-letter { text-transform: uppercase; }
/* „.row” Hammera ma clearfix (::before/::after) – w siatkach i flexach zajmowałby miejsce */
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) .row::before,
:is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) .row::after { content: none !important; display: none !important; }
:is(#box_useredit, #box_passchange, #box_address) button.btn.save, #box_addresses a.btn.add, #box_orders a.btn.details {
  background: var(--v2-ink) !important; color: #fff !important; box-shadow: none !important; font-weight: 800 !important;
}
:is(#box_useredit, #box_passchange, #box_address) button.btn.save:hover, #box_addresses a.btn.add:hover, #box_orders a.btn.details:hover { background: #2a2e37 !important; box-shadow: none !important; }
/* ikonki przycisków */
:is(#box_panel, #box_addresses) a.btn:is(.editprofile, .changepass, .editaddresses, .allorders, .edit, .remove, .add)::before {
  content: "" !important; display: block !important; flex: none; width: 18px; height: 18px; margin: 0 !important; background: currentColor !important; border: 0 !important; position: static !important;
  -webkit-mask: var(--v2-pi) center / contain no-repeat; mask: var(--v2-pi) center / contain no-repeat;
}
#box_panel a.btn.editprofile, #box_addresses a.btn.edit { --v2-pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9a2.8 2.8 0 0 0-4-4L4 16z'/%3E%3Cpath d='M13.5 6.5l4 4'/%3E%3C/svg%3E"); }
#box_panel a.btn.changepass { --v2-pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E"); }
#box_panel a.btn.editaddresses { --v2-pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
#box_panel a.btn.allorders { --v2-pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5v8l9 5 9-5z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E"); }
#box_addresses a.btn.remove { --v2-pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 13h10l1-13M9 7V4h6v3'/%3E%3C/svg%3E"); }
#box_addresses a.btn.add { --v2-pi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }

/* ---------- Moje konto (#box_panel) – sekcje jako karty ---------- */
#box_panel > .innerbox { display: flex !important; flex-direction: column; gap: 16px; }
#box_panel .v2-psec { padding: 24px; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: #fff; display: flex; flex-direction: column; gap: 16px; }
#box_panel h4.separator {
  display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important;
  font: 800 20px/1.25 var(--v2-font) !important; letter-spacing: -.3px; color: var(--v2-ink) !important; text-transform: none !important;
}
#box_panel h4.separator::before, #box_panel h4.separator::after, #box_panel h4.separator span::before, #box_panel h4.separator span::after { content: none !important; display: none !important; }
#box_panel .v2-pid { display: flex; align-items: center; gap: 14px; min-width: 0; }
#box_panel .v2-pavatar {
  flex: none; width: 52px; height: 52px; border-radius: 99px; background: var(--v2-accent-soft); color: var(--v2-accent-ink);
  display: flex; align-items: center; justify-content: center; font: 800 18px var(--v2-font); letter-spacing: .5px;
}
#box_panel .v2-pid > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#box_panel p.name { margin: 0 !important; font: 800 17px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; }
#box_panel p.mail { margin: 0 !important; font: 500 14px/1.4 var(--v2-font) !important; color: var(--v2-muted) !important; word-break: break-word; }
#box_panel .v2-pbtns { display: flex; flex-wrap: wrap; gap: 8px; }
#box_panel ul.address { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; width: auto !important; }
#box_panel ul.address > li {
  display: flex !important; flex-direction: column; gap: 2px; width: auto !important; margin: 0 !important; padding: 18px 20px !important; float: none !important;
  border: 0 !important; border-radius: 16px; background: var(--v2-surface) !important; list-style: none !important; font: 500 14px/1.5 var(--v2-font); color: var(--v2-ink-2);
}
#box_panel ul.address > li::before { content: none !important; }
#box_panel ul.address b.title {
  display: block !important; margin: 0 0 8px !important; padding: 0 0 10px !important; border-bottom: 1px solid var(--v2-line) !important;
  font: 800 12px/1.3 var(--v2-font) !important; letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-muted) !important; background: none !important;
}
#box_panel ul.address p { margin: 0 !important; color: var(--v2-ink-2) !important; font: inherit !important; }
#box_panel ul.address p:only-of-type { color: var(--v2-muted) !important; }
#box_panel ul.address li > p:first-of-type { color: var(--v2-ink) !important; font-weight: 700 !important; }
#box_panel .v2-psec > a.btn, #box_panel .v2-psec > .v2-pbtns { align-self: flex-start; }
#box_panel ul.loyalty { margin: 0 !important; padding: 0 !important; list-style: none !important; display: flex; flex-direction: column; gap: 10px; }
#box_panel ul.loyalty li { margin: 0 !important; padding: 0 !important; list-style: none !important; }

/* tabele zamówień */
:is(#box_panel, #box_orders) table.orders { width: 100% !important; border-collapse: separate !important; border-spacing: 0 !important; margin: 0 !important; border: 1px solid var(--v2-line) !important; border-radius: 16px; overflow: hidden; font: 500 14px/1.45 var(--v2-font); }
:is(#box_panel, #box_orders) table.orders th {
  padding: 12px 16px !important; background: var(--v2-surface) !important; border: 0 !important; text-align: left !important;
  font: 800 12px/1.3 var(--v2-font) !important; letter-spacing: 1px; text-transform: uppercase; color: var(--v2-muted) !important;
}
:is(#box_panel, #box_orders) table.orders td { padding: 14px 16px !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; background: #fff !important; color: var(--v2-ink) !important; vertical-align: middle !important; text-align: left !important; }
:is(#box_panel, #box_orders) table.orders td a { color: var(--v2-ink) !important; font-weight: 700; }
:is(#box_panel, #box_orders) table.orders td a.js__payment-link { display: inline-flex; margin-left: 8px; padding: 4px 10px; border-radius: 8px; background: var(--v2-accent); color: var(--v2-ink) !important; text-decoration: none !important; font-size: 13px; }
:is(#box_panel, #box_orders) table.orders .smalldate, :is(#box_panel, #box_orders) table.orders .date { display: block; color: var(--v2-muted); font-size: 13px; }
#box_orders table.orders td.actions a.btn { height: 40px !important; padding: 0 16px !important; font-size: 13px !important; }

/* ---------- formularze: edycja profilu, zmiana hasła ---------- */
:is(#box_useredit, #box_passchange) form, #box_address form { max-width: 640px; margin: 0 !important; padding: 28px !important; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: #fff; box-sizing: border-box; }
:is(#box_useredit, #box_passchange, #box_address) fieldset { display: flex !important; flex-direction: column; align-items: stretch; gap: 6px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
:is(#box_useredit, #box_passchange) fieldset > label, #box_address td.label label {
  display: block !important; float: none !important; width: auto !important; margin: 10px 0 0 !important; padding: 0 !important; text-align: left !important;
  font: 700 13px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important;
}
:is(#box_useredit, #box_passchange) fieldset > label:first-of-type { margin-top: 0 !important; }
:is(#box_useredit, #box_passchange, #box_address) em.color { color: var(--v2-accent-ink) !important; font-style: normal; }
:is(#box_useredit, #box_passchange, #box_address) .shaded_inputwrap { display: block !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; float: none !important; }
:is(#box_useredit, #box_passchange, #box_address) :is(input[type="text"], input[type="password"], input[type="email"], input[type="tel"], select) {
  display: block !important; width: 100% !important; max-width: none !important; height: 48px !important; margin: 0 !important; padding: 0 14px !important; box-sizing: border-box !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background-color: #fff !important; box-shadow: none !important;
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
:is(#box_useredit, #box_passchange, #box_address) :is(input, select):focus { outline: none !important; border-color: var(--v2-ink) !important; }
:is(#box_useredit, #box_passchange, #box_address) :is(input, select).error, :is(#box_useredit, #box_passchange, #box_address) .shaded_inputwrap.error input { border-color: #dc2626 !important; }
:is(#box_useredit, #box_passchange, #box_address) ul.input_error { margin: 4px 0 0 !important; padding: 0 !important; list-style: none !important; }
:is(#box_useredit, #box_passchange, #box_address) ul.input_error li { margin: 0 !important; padding: 0 !important; font: 600 13px/1.4 var(--v2-font) !important; color: #dc2626 !important; background: none !important; list-style: none !important; }
/* zgody / checkboxy */
#box_useredit .shaded_inputwrap:has(.checkbox-wrap), #box_useredit .input:has(.checkbox-wrap), #box_address td.input:has(.checkbox-wrap) {
  display: flex !important; align-items: flex-start; gap: 10px; padding: 14px 16px !important; border-radius: 12px; background: var(--v2-surface) !important;
}
#box_useredit .input:has(.checkbox-wrap) { margin-top: 4px !important; }
:is(#box_useredit, #box_address) .checkbox-wrap { flex: none; margin: 0 !important; }
:is(#box_useredit, #box_address) .checkbox-wrap + label, #box_useredit .input:has(.checkbox-wrap) > label {
  display: block !important; margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; text-align: left !important;
  font: 500 14px/1.45 var(--v2-font) !important; color: var(--v2-ink-2) !important;
}
#box_useredit .input:has(.checkbox-wrap) .check-label { flex: none; order: -1; margin: 0 !important; }
#box_useredit .input:has(.checkbox-wrap) .check-label:empty { display: none; }
#box_useredit .input:has(.checkbox-wrap) .check-label em { line-height: 22px; }
:is(#box_useredit, #box_address) .checkbox-wrap + label a, #box_useredit .input label a { color: var(--v2-ink) !important; text-decoration: underline !important; font-weight: 700; }
#box_useredit h4.separator {
  display: block !important; margin: 18px 0 2px !important; padding: 16px 0 0 !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; background: none !important;
  font: 800 16px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; text-align: left !important;
}
#box_useredit h4.separator::before, #box_useredit h4.separator::after { content: none !important; display: none !important; }
#box_useredit .clear, #box_useredit .witherror { margin: 0 !important; padding: 0 !important; float: none !important; }
#box_useredit .input_info { font: 500 14px/1.5 var(--v2-font); color: var(--v2-ink-2); }
/* „* – pole wymagane” + przyciski */
:is(#box_useredit, #box_passchange, #box_address) fieldset > div:not([class]) { margin: 12px 0 0 !important; font: 500 12.5px/1.4 var(--v2-font); color: var(--v2-muted); }
:is(#box_useredit, #box_passchange, #box_address) .bottombuttons { display: flex !important; flex-wrap: wrap; gap: 10px; margin: 18px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; }
:is(#box_useredit, #box_passchange) .bottombuttons button.btn.save { min-width: 200px !important; }
#box_address .bottombuttons button.btn { flex: 1 1 160px; }
#box_address .bottombuttons button.btn.save { order: 2; }

/* ---------- nowy / edycja adresu (#box_address) – tabela jako lista pól ---------- */
#box_address table.address-handler, #box_address table.address-handler tbody { display: block !important; width: 100% !important; margin: 0 !important; border: 0 !important; }
#box_address table.address-handler tr { display: grid !important; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 6px; margin: 0 0 12px !important; border: 0 !important; background: none !important; }
#box_address table.address-handler td { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
#box_address table.address-handler td.label label { margin: 0 !important; }
#box_address table.address-handler td.label:empty, #box_address table.address-handler td:empty, #box_address table.address-handler td.spacer { display: none !important; }
#box_address table.address-handler td.hint { font: 500 12.5px/1.4 var(--v2-font) !important; color: var(--v2-muted) !important; margin-top: -2px !important; }
#box_address table.address-handler tr:has(td.error) { margin-top: -8px !important; }
#box_address select { appearance: none; -webkit-appearance: none; padding-right: 40px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111318' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat !important; }
/* para pól obok siebie na komputerze: imię+nazwisko, kod+miasto */
@media (min-width: 640px) {
  #box_address table.address-handler tbody { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
  #box_address table.address-handler tr { grid-column: 1 / -1; }
  #box_address table.address-handler tr:has(#input_name), #box_address table.address-handler tr:has(#input_surname),
  #box_address table.address-handler tr:has(#input_zip), #box_address table.address-handler tr:has(#input_city) { grid-column: auto; }
}

/* ---------- lista adresów (#box_addresses) ---------- */
#box_addresses ul.addresses { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin: 0 0 18px !important; padding: 0 !important; list-style: none !important; }
#box_addresses ul.addresses > li {
  display: flex !important; flex-direction: column; gap: 2px; margin: 0 !important; padding: 20px !important; width: auto !important; float: none !important; list-style: none !important;
  border: 1px solid var(--v2-line) !important; border-radius: 18px; background: #fff !important; font: 500 14px/1.5 var(--v2-font); color: var(--v2-ink-2);
}
#box_addresses ul.addresses > li::before { content: none !important; }
#box_addresses ul.addresses p { margin: 0 !important; color: inherit !important; font: inherit !important; }
#box_addresses ul.addresses p.name { color: var(--v2-ink) !important; font-weight: 800 !important; font-size: 16px !important; }
#box_addresses .links { display: flex !important; flex-wrap: wrap; gap: 6px; margin: 14px 0 0 !important; padding: 14px 0 0 !important; border-top: 1px solid var(--v2-line); }
#box_addresses .links a.btn { height: 36px !important; padding: 0 12px !important; font-size: 13px !important; border-radius: 10px !important; }
#box_addresses .links a.btn::before { width: 15px !important; height: 15px !important; }
#box_addresses .links a.btn.remove:hover { box-shadow: inset 0 0 0 1.5px #dc2626 !important; color: #dc2626 !important; }
#box_addresses .links em {
  display: inline-flex !important; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 10px; background: #dcfce7; color: #15803d;
  font: 700 13px var(--v2-font); font-style: normal;
}
#box_addresses .links em::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat; }
#box_addresses .links em span::first-letter { text-transform: uppercase; }
#box_addresses .links em img { display: none !important; }

@media (max-width: 767px) {
  :is(#box_panel, #box_useredit, #box_passchange, #box_addresses, #box_address, #box_orders, #box_order) > .boxhead span { font-size: 26px !important; letter-spacing: -.5px; }
  #box_panel .v2-psec { padding: 18px; border-radius: 16px; }
  #box_panel ul.address { grid-template-columns: minmax(0, 1fr); }
  #box_panel .v2-pbtns a.btn, #box_panel .v2-psec > a.btn { flex: 1 1 auto; }
  #box_panel .v2-psec > a.btn { align-self: stretch; }
  :is(#box_useredit, #box_passchange) form, #box_address form { padding: 18px !important; border-radius: 16px; }
  :is(#box_useredit, #box_passchange) .bottombuttons button.btn.save { flex: 1 1 auto; }
  :is(#box_panel, #box_orders) table.orders th, :is(#box_panel, #box_orders) table.orders td { padding: 10px !important; font-size: 13px !important; }
  :is(#box_panel, #box_orders) table.orders { display: block !important; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  :is(#box_panel, #box_orders) table.orders :is(th, td) { white-space: nowrap; }
}
/* lista adresów – porządki po ikonach i tłach Hammera */
#box_addresses ul.addresses p { padding: 0 !important; }
#box_addresses ul.addresses p::before { content: none !important; display: none !important; }
#box_addresses .links { background: none !important; }
#box_addresses .links a.btn:is(.shipping, .default)::before { content: none !important; display: none !important; }
#box_addresses .links em { padding: 0 12px !important; margin: 0 !important; border: 0 !important; background: #dcfce7 !important; color: #15803d !important; }
#box_addresses .links em::before { font-family: inherit !important; }
#box_addresses .links :is(a, em) span { text-decoration: none !important; }

/* =====================================================================
   §21. Komunikaty na górze strony (scripts/flash_messages.tpl – bez zmian)
   „Produkt dodany do koszyka”, błędy, ostrzeżenia, informacje
   ===================================================================== */
.wrap .alert {
  --v2-al: #15803d; --v2-al-bg: #f0fdf4; --v2-al-line: #bbf7d0;
  --v2-al-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");
  position: relative; display: flex !important; align-items: center; gap: 14px; max-width: 760px; margin: 16px auto !important; padding: 12px 56px 12px 14px !important;
  border: 1px solid var(--v2-al-line) !important; border-radius: 16px !important; background: var(--v2-al-bg) !important; box-shadow: 0 10px 30px rgba(17, 19, 24, .08) !important;
  font-family: var(--v2-font); color: var(--v2-ink) !important; text-align: left !important; box-sizing: border-box;
  animation: v2-alert-in .25s ease both;
}
@keyframes v2-alert-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.wrap .alert.alert-error { --v2-al: #b91c1c; --v2-al-bg: #fef2f2; --v2-al-line: #fecaca;
  --v2-al-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E"); }
.wrap .alert.alert-warning { --v2-al: #b45309; --v2-al-bg: #fffbeb; --v2-al-line: #fde68a;
  --v2-al-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v8M12 18.5v.5'/%3E%3C/svg%3E"); }
.wrap .alert.alert-info { --v2-al: #1d4ed8; --v2-al-bg: #eff6ff; --v2-al-line: #bfdbfe;
  --v2-al-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 11v7M12 5.5v.5'/%3E%3C/svg%3E"); }
/* ikona w kółku */
.wrap .alert::before {
  content: "" !important; flex: none; width: 36px; height: 36px; border-radius: 99px; background: var(--v2-al) !important; position: static !important; margin: 0 !important;
  -webkit-mask: none; box-shadow: none; display: block !important; font-size: 0 !important;
  background-image: none !important;
}
.wrap .alert::after {
  content: "" !important; position: absolute !important; left: 23px; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 !important; background: #fff !important; display: block !important;
  -webkit-mask: var(--v2-al-ico) center / contain no-repeat; mask: var(--v2-al-ico) center / contain no-repeat;
}
.wrap .alert > .row { display: block !important; flex: 1 1 auto; min-width: 0; width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; background: none !important; }
.wrap .alert > .row::before, .wrap .alert > .row::after { content: none !important; display: none !important; }
.wrap .alert p {
  margin: 0 !important; padding: 0 !important; background: none !important; text-align: left !important;
  font: 700 15px/1.45 var(--v2-font) !important; color: var(--v2-ink) !important;
}
.wrap .alert p::before, .wrap .alert p::after { content: none !important; display: none !important; }
.wrap .alert p a { color: var(--v2-al) !important; text-decoration: underline !important; text-underline-offset: 3px; font-weight: 800; }
/* zamknij */
.wrap .alert button.close {
  position: absolute !important; top: 50% !important; right: 12px !important; left: auto !important; width: 34px !important; height: 34px !important; margin: -17px 0 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 10px !important; background: transparent !important; box-shadow: none !important; opacity: 1 !important; cursor: pointer;
  font-size: 0 !important; color: transparent !important; text-indent: 0 !important; float: none !important;
}
.wrap .alert button.close:hover { background: rgba(17, 19, 24, .06) !important; }
.wrap .alert button.close span { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wrap .alert button.close img { display: none !important; }
.wrap .alert button.close::before {
  content: "" !important; position: absolute; inset: 0; margin: auto; width: 14px; height: 14px; background: var(--v2-ink-2) !important; display: block !important; font-size: 0 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wrap .alert button.close::after { content: none !important; display: none !important; }
@media (max-width: 767px) {
  .wrap .alert { margin: 12px 0 !important; gap: 12px; padding: 10px 48px 10px 12px !important; border-radius: 14px !important; }
  .wrap .alert::before { width: 32px; height: 32px; }
  .wrap .alert::after { left: 19px; width: 16px; height: 16px; margin-top: -8px !important; }
  .wrap .alert p { font-size: 14px !important; }
  .wrap .alert button.close { right: 8px !important; }
}

/* =====================================================================
   §22. Kasa – krok 3 „Podsumowanie” (scripts/basket/step3.tpl – przebudowany)
   oraz „Dziękujemy za zamówienie” / wynik płatności (done.tpl, finished.tpl)
   ===================================================================== */
.v2-co--sum #box_basketsummary { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.v2-co__lead { margin: -8px 0 0 !important; font: 500 15px/1.55 var(--v2-font); color: var(--v2-ink-2); }
.v2-sum__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.v2-sum__head h2 span { color: var(--v2-muted); font-weight: 700; }
.v2-co a.v2-sum__edit, .v2-co a.v2-sum__change {
  display: inline-block !important; width: auto !important; height: auto !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  font: 700 13px/1.4 var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; text-transform: none !important; float: none !important;
}
.v2-co a.v2-sum__edit:hover, .v2-co a.v2-sum__change:hover { color: var(--v2-accent-ink) !important; }
.v2-co a.v2-sum__change::before, .v2-co a.v2-sum__change::after { content: none !important; display: none !important; }
/* produkty */
.v2-sum__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.v2-sum__item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto 110px; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--v2-line); }
.v2-sum__item:first-child { border-top: 0; padding-top: 0; }
.v2-sum__img { width: 72px; height: 72px; border-radius: 14px; background: var(--v2-surface); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.v2-sum__img img { max-width: 62px; max-height: 62px; width: auto; height: auto; mix-blend-mode: multiply; }
.v2-sum__name { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.v2-sum__name > a { font: 700 15px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: none !important; }
.v2-sum__name > a:hover { text-decoration: underline !important; }
.v2-sum__name .variant { font: 500 13px/1.4 var(--v2-font); color: var(--v2-muted); }
.v2-sum__name .variant:empty { display: none; }
.v2-sum__name .bundle-products { font-size: 13px; color: var(--v2-ink-2); }
.v2-sum__name .bundle-products p { margin: 2px 0 0; }
.v2-sum__time { font: 700 13px/1.4 var(--v2-font); color: #15803d; }
.v2-sum__qty { display: flex; align-items: baseline; gap: 6px; white-space: nowrap; font: 500 14px var(--v2-font); color: var(--v2-ink-2); }
.v2-sum__x { color: var(--v2-muted); }
.v2-sum__total { text-align: right; white-space: nowrap; font: 800 16px var(--v2-font); color: var(--v2-ink); }
.v2-sum__total em { font-style: normal !important; color: inherit !important; font-weight: 800 !important; }
.v2-sum__total .line-through, .v2-sum__qty .line-through { text-decoration: line-through; color: var(--v2-muted) !important; font-weight: 500 !important; }
/* adresy i dostawa */
.v2-sum__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
#box_basketsummary .v2-sum__box {
  float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 22px !important; min-height: 0 !important;
  border: 1px solid var(--v2-line) !important; border-radius: var(--v2-radius) !important; background: #fff !important; gap: 10px;
}
#box_basketsummary .v2-sum__box h2 { font-size: 16px !important; letter-spacing: -.2px; }
#box_basketsummary .v2-sum__box p { margin: 0 !important; font: 500 14px/1.55 var(--v2-font) !important; color: var(--v2-ink-2) !important; }
#box_basketsummary .v2-sum__box .delivery-details p:first-child, #box_basketsummary .v2-sum__addr p:first-child { color: var(--v2-ink) !important; font-weight: 700 !important; }
#box_basketsummary .v2-sum__box p:has(> a.v2-sum__change) { margin-top: 10px !important; }
#box_basketsummary .v2-sum__box ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 12px; }
#box_basketsummary .v2-sum__box li { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; list-style: none !important; background: none !important; }
#box_basketsummary .v2-sum__box :is(li > span, strong, p) { width: auto !important; max-width: none !important; float: none !important; }
#box_basketsummary .v2-sum__box a.v2-sum__change { position: static !important; inset: auto !important; }
#box_basketsummary .v2-sum__box li::before { content: none !important; display: none !important; }
#box_basketsummary .v2-sum__box li > span { display: flex; flex-direction: column; gap: 2px; font: 500 13px/1.4 var(--v2-font); color: var(--v2-muted); }
#box_basketsummary .v2-sum__box li strong { font: 800 15px/1.35 var(--v2-font); color: var(--v2-ink); }
#box_basketsummary .v2-sum__box li a.v2-sum__change { align-self: flex-start; margin-top: 2px !important; }
/* do zapłaty */
.v2-sum__pay h2 { font-size: 20px !important; }
.v2-sum__rows { display: flex; flex-direction: column; gap: 8px; }
.v2-sum__rows > p { display: flex; justify-content: space-between; gap: 12px; margin: 0; font: 500 14px var(--v2-font); color: var(--v2-ink-2); }
.v2-sum__rows > p span:last-child { font-weight: 800; color: var(--v2-ink); }
.v2-co .v2-sum__taxes { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; margin: 0 !important; padding: 0 !important; text-align: left !important; float: none !important; width: auto !important; font: 500 14px var(--v2-font) !important; color: var(--v2-ink-2) !important; }
.v2-co .v2-sum__taxes br { display: none; }
.v2-co .v2-sum__taxes .label { color: var(--v2-ink-2) !important; font: inherit !important; text-align: left !important; }
.v2-co .v2-sum__taxes .cost { text-align: right; font-weight: 800 !important; color: var(--v2-ink) !important; white-space: nowrap; }
.v2-co p.v2-sum__final {
  display: flex !important; align-items: baseline; justify-content: space-between; gap: 12px; margin: 4px 0 0 !important; padding: 16px 0 0 !important; border-top: 1px solid #dfe2e7;
  float: none !important; width: auto !important; text-align: left !important; background: none !important;
}
.v2-co p.v2-sum__final .label { font: 800 16px var(--v2-font) !important; color: var(--v2-ink) !important; }
.v2-co p.v2-sum__final span.sum { font: 800 32px/1 var(--v2-font) !important; letter-spacing: -.8px; color: var(--v2-ink) !important; white-space: nowrap; }
.v2-sum__pay form, .v2-sum__pay fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.v2-sum__pay .bottombuttons { display: flex !important; flex-direction: column-reverse; gap: 6px; margin: 4px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; float: none !important; }
.v2-sum__pay .bottombuttons .btn img.px1 { display: none !important; }
.v2-sum__pay .bottombuttons button.btn.order {
  display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 100% !important; height: 58px !important; margin: 0 !important; padding: 0 20px !important;
  border: 0 !important; border-radius: 14px !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important; box-shadow: none !important; float: none !important;
  font: 800 17px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; transition: background .15s, transform .15s;
}
.v2-sum__pay .bottombuttons button.btn.order:hover { background: #ea580c !important; transform: translateY(-1px); }
.v2-sum__pay .bottombuttons button.btn.order::after {
  content: "" !important; display: block !important; position: static !important; width: 20px; height: 20px; background: currentColor !important; border: 0 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.v2-sum__pay .bottombuttons button.btn.order::before { content: none !important; display: none !important; }
.v2-sum__pay .bottombuttons button.btn span { color: inherit !important; font: inherit !important; text-transform: none !important; background: none !important; }
.v2-sum__pay .bottombuttons button.btn.back {
  display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 44px !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: none !important; box-shadow: none !important; color: var(--v2-ink) !important; float: none !important; cursor: pointer;
  font: 700 14px var(--v2-font) !important; text-transform: none !important; text-decoration: underline; text-underline-offset: 3px;
}
.v2-sum__pay .bottombuttons button.btn.back::before { content: "←" !important; display: inline !important; position: static !important; margin-right: 6px; background: none !important; border: 0 !important; width: auto !important; height: auto !important; text-decoration: none; }
.v2-sum__pay .bottombuttons button.btn.back::after { content: none !important; display: none !important; }
.v2-sum__pay form > :not(fieldset) { font: 500 13px/1.5 var(--v2-font); color: var(--v2-ink-2); }
.v2-co__safe a { color: var(--v2-ink) !important; font-weight: 800; text-decoration: none !important; white-space: nowrap; }

@media (max-width: 1100px) { .v2-sum__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } #box_basketsummary .v2-sum__box.information { grid-column: 1 / -1; } }
@media (max-width: 640px) {
  .v2-sum__grid { grid-template-columns: minmax(0, 1fr); }
  .v2-sum__item { grid-template-columns: 60px minmax(0, 1fr) auto; grid-template-areas: "img name name" "img qty total"; gap: 6px 12px; }
  .v2-sum__img { grid-area: img; width: 60px; height: 60px; }
  .v2-sum__name { grid-area: name; }
  .v2-sum__qty { grid-area: qty; font-size: 13px; }
  .v2-sum__total { grid-area: total; }
  .v2-co p.v2-sum__final span.sum { font-size: 28px !important; }
}

/* ---------- Dziękujemy za zamówienie / po płatności ---------- */
#box_basketfinal.v2-done { max-width: 820px; margin: 24px auto 56px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--v2-font); color: var(--v2-ink); display: flex; flex-direction: column; gap: 16px; }
.v2-done *, .v2-done *::before, .v2-done *::after { box-sizing: border-box; }
.v2-done__hero { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 40px 28px 34px; border-radius: var(--v2-radius); background: var(--v2-surface); }
.v2-done__ico { width: 76px; height: 76px; border-radius: 99px; background: #16a34a; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 10px #dcfce7; margin-bottom: 10px; animation: v2-pop .45s cubic-bezier(.2, 1.4, .4, 1) both; }
.v2-done--pay .v2-done__ico { background: var(--v2-ink); box-shadow: 0 0 0 10px #e6e8ec; }
@keyframes v2-pop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
#box_basketfinal.v2-done .boxhead { display: block !important; margin: 0 !important; padding: 0 !important; height: auto !important; border: 0 !important; background: none !important; text-align: center !important; }
#box_basketfinal.v2-done .boxhead::before, #box_basketfinal.v2-done .boxhead::after, #box_basketfinal.v2-done .boxhead span::before, #box_basketfinal.v2-done .boxhead span::after { content: none !important; display: none !important; }
#box_basketfinal.v2-done .boxhead span { display: block !important; padding: 0 !important; background: none !important; font: 800 36px/1.15 var(--v2-font) !important; letter-spacing: -.9px; color: var(--v2-ink) !important; text-transform: none !important; text-wrap: balance; }
#box_basketfinal.v2-done .boxhead img { display: none !important; }
.v2-done__meta { margin: 0 !important; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 10px; font: 500 16px/1.5 var(--v2-font); color: var(--v2-ink-2); }
.v2-done__meta strong { color: var(--v2-ink); font-weight: 800; }
.v2-done__lead { margin: 0 !important; max-width: 520px; font: 500 15px/1.55 var(--v2-font); color: var(--v2-ink-2); }
#box_basketfinal.v2-done .innerbox.v2-done__pay { margin: 0 !important; padding: 26px !important; border: 1px solid var(--v2-line) !important; border-radius: var(--v2-radius) !important; background: #fff !important; font: 500 15px/1.6 var(--v2-font); color: var(--v2-ink-2); text-align: left; }
#box_basketfinal.v2-done .innerbox.v2-done__pay:not(:has(*)) { display: none !important; }
.v2-done__pay h3, .v2-done__pay h4, .v2-done__pay h4.paystatus { margin: 0 0 10px !important; padding: 0 !important; font: 800 18px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; text-align: left !important; border: 0 !important; background: none !important; }
.v2-done__pay h4::before, .v2-done__pay h4::after { content: none !important; display: none !important; }
.v2-done__pay p { margin: 0 0 10px !important; }
.v2-done__pay table { width: 100%; border-collapse: collapse; margin: 6px 0 12px; font-size: 14px; }
.v2-done__pay td, .v2-done__pay th { padding: 10px 12px !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; text-align: left; background: none !important; }
.v2-done__pay tr:first-child td, .v2-done__pay tr:first-child th { border-top: 0 !important; }
.v2-done__pay td:last-child { font-weight: 800; color: var(--v2-ink); }
.v2-done__pay a:not(.btn) { color: var(--v2-ink) !important; font-weight: 800; text-decoration: underline !important; text-underline-offset: 3px; }
.v2-done__pay :is(a.btn, button, input[type="submit"]) {
  display: inline-flex !important; align-items: center; justify-content: center; min-height: 52px; height: auto !important; width: auto !important; margin: 8px 0 0 !important; padding: 0 26px !important;
  border: 0 !important; border-radius: 14px !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important; box-shadow: none !important;
  font: 800 16px var(--v2-font) !important; text-transform: none !important; text-decoration: none !important; cursor: pointer;
}
.v2-done__pay :is(a.btn, button)::before, .v2-done__pay :is(a.btn, button)::after { content: none !important; display: none !important; }
.v2-done__steps { list-style: none; counter-reset: v2d; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.v2-done__steps li { counter-increment: v2d; display: flex; flex-direction: column; gap: 4px; padding: 18px; border: 1px solid var(--v2-line); border-radius: 16px; background: #fff; font: 500 13px/1.5 var(--v2-font); color: var(--v2-ink-2); }
.v2-done__steps li::before { content: counter(v2d) !important; align-self: flex-start; flex: none; position: static !important; width: 30px !important; height: 30px !important; border: 0 !important; border-radius: 99px; background: var(--v2-accent-soft); color: var(--v2-accent-ink); display: flex; align-items: center; justify-content: center; font: 800 14px var(--v2-font); margin-bottom: 6px; }
.v2-done__steps strong { font: 800 15px/1.3 var(--v2-font); color: var(--v2-ink); }
.v2-done__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 4px; }
a.v2-done__btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border-radius: 12px;
  background: #fff; box-shadow: inset 0 0 0 1.5px #d2d6dc; color: var(--v2-ink) !important; font: 700 15px var(--v2-font); text-decoration: none !important;
}
a.v2-done__btn:hover { box-shadow: inset 0 0 0 1.5px var(--v2-ink); }
a.v2-done__btn--dark { background: var(--v2-ink); box-shadow: none; color: #fff !important; font-weight: 800; }
a.v2-done__btn--dark:hover { background: #2a2e37; box-shadow: none; }
a.v2-done__btn--plain { background: none; box-shadow: none; text-decoration: underline !important; text-underline-offset: 3px; }
a.v2-done__btn--plain:hover { box-shadow: none; color: var(--v2-accent-ink) !important; }
@media (max-width: 640px) {
  .v2-done__hero { padding: 30px 18px 26px; }
  #box_basketfinal.v2-done .boxhead span { font-size: 27px !important; }
  .v2-done__steps { grid-template-columns: minmax(0, 1fr); }
  .v2-done__btns a.v2-done__btn { flex: 1 1 100%; }
}

/* =====================================================================
   §23. Kontakt (scripts/contact/index.tpl – dodana kolumna z danymi; _form.tpl bez zmian)
   ===================================================================== */
.v2-contact { font-family: var(--v2-font); color: var(--v2-ink); margin: 8px 0 56px; display: flex; flex-direction: column; gap: 24px; }
.v2-contact *, .v2-contact *::before, .v2-contact *::after { box-sizing: border-box; }
.v2-contact__head h1 { margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; font: 800 40px/1.1 var(--v2-font) !important; letter-spacing: -1px; color: var(--v2-ink) !important; text-transform: none !important; text-align: left !important; }
.v2-contact__head h1::before, .v2-contact__head h1::after { content: none !important; display: none !important; }
.v2-contact__head p { margin: 0; max-width: 620px; font: 500 16px/1.6 var(--v2-font); color: var(--v2-ink-2); }
.v2-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
/* formularz */
.v2-contact #box_contact { margin: 0 !important; padding: 28px !important; border: 1px solid var(--v2-line) !important; border-radius: var(--v2-radius) !important; background: #fff !important; box-shadow: none !important; }
.v2-contact #box_contact .boxhead { display: block !important; margin: 0 0 18px !important; padding: 0 !important; height: auto !important; border: 0 !important; background: none !important; text-align: left !important; }
.v2-contact #box_contact .boxhead::before, .v2-contact #box_contact .boxhead::after, .v2-contact #box_contact .boxhead h3::before, .v2-contact #box_contact .boxhead h3::after { content: none !important; display: none !important; }
.v2-contact #box_contact .boxhead h3 { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; font: 800 20px/1.25 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; }
.v2-contact #box_contact img.px1 { display: none !important; }
.v2-contact #box_contact .innerbox, .v2-contact #box_contact form, .v2-contact #box_contact fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.v2-contact #box_contact fieldset { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 14px; }
.v2-contact #box_contact fieldset > * { grid-column: 1 / -1; }
.v2-contact #box_contact fieldset > .f-row:nth-of-type(1), .v2-contact #box_contact fieldset > .f-row:nth-of-type(2) { grid-column: auto; }
.v2-contact #box_contact .f-row { display: flex !important; flex-direction: column; gap: 6px; margin: 0 !important; padding: 0 !important; width: auto !important; }
.v2-contact #box_contact .f-row::before, .v2-contact #box_contact .f-row::after { content: none !important; display: none !important; }
.v2-contact #box_contact [class*="f-grid-"] { width: auto !important; max-width: none !important; flex: none !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.v2-contact #box_contact label { display: block !important; margin: 0 !important; padding: 0 !important; text-align: left !important; font: 700 13px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; }
.v2-contact #box_contact em.color { color: var(--v2-accent-ink) !important; font-style: normal; }
.v2-contact #box_contact :is(input[type="text"], input[type="email"], textarea[name="text"], select) {
  display: block !important; width: 100% !important; max-width: none !important; height: 48px !important; margin: 0 !important; padding: 0 14px !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
.v2-contact #box_contact fieldset textarea[name="text"] { height: 170px !important; padding: 12px 14px !important; line-height: 1.55 !important; resize: vertical; }
.v2-contact #box_contact :is(input, textarea):focus { outline: none !important; border-color: var(--v2-ink) !important; }
.v2-contact #box_contact :is(input, textarea).error { border-color: #dc2626 !important; }
.v2-contact #box_contact ul.error { margin: 2px 0 0 !important; padding: 0 !important; list-style: none !important; background: none !important; border: 0 !important; }
.v2-contact #box_contact ul.error li { margin: 0 !important; padding: 0 !important; font: 600 13px var(--v2-font) !important; color: #dc2626 !important; list-style: none !important; background: none !important; }
.v2-contact #box_contact fieldset > div:not([class]) { font: 500 12.5px var(--v2-font); color: var(--v2-muted); }
.v2-contact #box_contact .label-checkbox { display: flex; align-items: flex-start; gap: 10px; font: 500 14px/1.45 var(--v2-font); color: var(--v2-ink-2); }
.v2-contact #box_contact .bottombuttons { margin: 4px 0 0 !important; padding: 16px 0 0 !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; background: none !important; }
.v2-contact #box_contact .bottombuttons .f-grid-12 { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.v2-contact #box_contact .bottombuttons .g-recaptcha { margin: 0 !important; }
.v2-contact #box_contact button.btn.send {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-width: 200px !important; width: auto !important; height: 52px !important; margin: 0 0 0 auto !important; padding: 0 26px !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-ink) !important; color: #fff !important; box-shadow: none !important; float: none !important;
  font: 800 15px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer;
}
.v2-contact #box_contact button.btn.send:hover { background: #2a2e37 !important; }
.v2-contact #box_contact button.btn.send span { color: inherit !important; font: inherit !important; text-transform: none !important; }
.v2-contact #box_contact button.btn.send span::first-letter { text-transform: uppercase; }
.v2-contact #box_contact button.btn.send span { display: inline-block !important; }
.v2-contact #box_contact button.btn.send::before { content: none !important; display: none !important; }
.v2-contact #box_contact button.btn.send::after {
  content: "" !important; display: block !important; position: static !important; width: 18px; height: 18px; background: currentColor !important; border: 0 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l16-8-6 17-3-7z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l16-8-6 17-3-7z'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* dane kontaktowe */
.v2-contact__info { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 24px; }
.v2-contact__card { display: flex; flex-direction: column; gap: 6px; padding: 22px; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: #fff; color: var(--v2-ink); text-decoration: none !important; }
.v2-contact__card p { margin: 0; font: 500 15px/1.6 var(--v2-font); color: var(--v2-ink-2); }
.v2-contact__card p strong { color: var(--v2-ink); }
.v2-contact__label { font: 800 12px/1.3 var(--v2-font); letter-spacing: 1.4px; text-transform: uppercase; color: var(--v2-accent-ink); }
.v2-contact__card--dark { background: var(--v2-dark); border-color: var(--v2-dark); color: #fff; }
.v2-contact__card--dark .v2-contact__label { color: #fb923c; }
a.v2-contact__phone { font: 800 32px/1.1 var(--v2-font); letter-spacing: -.6px; color: #fff !important; text-decoration: none !important; }
a.v2-contact__phone:hover { color: #fb923c !important; }
.v2-contact__hours { font: 500 14px var(--v2-font); color: #aab0bb; }
a.v2-contact__mail { margin-top: 10px; padding-top: 14px; border-top: 1px solid #262a33; font: 700 15px var(--v2-font); color: #e5e7eb !important; text-decoration: none !important; word-break: break-word; }
a.v2-contact__mail:hover { color: #fb923c !important; }
a.v2-contact__card--link { background: var(--v2-accent-soft); border-color: var(--v2-accent-soft); transition: transform .15s; }
a.v2-contact__card--link:hover { transform: translateY(-2px); }
.v2-contact__card--link strong { font: 800 17px/1.3 var(--v2-font); color: var(--v2-ink); }
.v2-contact__more { font: 700 14px var(--v2-font); color: var(--v2-accent-ink); }
@media (max-width: 1000px) { .v2-contact__grid { grid-template-columns: minmax(0, 1fr); } .v2-contact__info { position: static; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } }
@media (max-width: 640px) {
  .v2-contact__head h1 { font-size: 30px !important; }
  .v2-contact #box_contact { padding: 18px !important; border-radius: 16px !important; }
  .v2-contact #box_contact fieldset { grid-template-columns: minmax(0, 1fr); }
  .v2-contact #box_contact button.btn.send { width: 100% !important; margin: 0 !important; }
}

/* =====================================================================
   §24. Blog – lista wpisów (body.shop_news_list) i wpis (body.shop_news)
   (scripts/news/*.tpl bez zmian; nagłówek listy, data i „wróć”: v2_smartled.js §13)
   ===================================================================== */
.shop_news_list .v2-blog-head { margin: 8px 0 24px; font-family: var(--v2-font); }
.shop_news_list .v2-blog-head h1 { margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; font: 800 40px/1.1 var(--v2-font) !important; letter-spacing: -1px; color: var(--v2-ink) !important; text-transform: none !important; text-align: left !important; }
.shop_news_list .v2-blog-head h1::before, .shop_news_list .v2-blog-head h1::after { content: none !important; display: none !important; }
.shop_news_list .v2-blog-head p { margin: 0; max-width: 620px; font: 500 16px/1.6 var(--v2-font); color: var(--v2-ink-2); }
.shop_news_list #box_articlelist { margin: 0 0 56px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.shop_news_list #box_articlelist > .innerbox { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
.shop_news_list #box_articlelist > .innerbox > .floatcenterwrap { grid-column: 1 / -1; }
.shop_news_list #box_articlelist article {
  position: relative; display: flex !important; flex-direction: column; gap: 10px; width: auto !important; margin: 0 !important; padding: 0 0 22px !important; float: none !important;
  border: 1px solid var(--v2-line) !important; border-radius: var(--v2-radius) !important; background: #fff !important; overflow: hidden; box-shadow: none !important;
  font-family: var(--v2-font); transition: box-shadow .2s, transform .2s, border-color .2s;
}
.shop_news_list #box_articlelist article:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(17, 19, 24, .1) !important; border-color: transparent !important; }
.shop_news_list #box_articlelist article > * { margin-left: 22px !important; margin-right: 22px !important; }
.shop_news_list #box_articlelist article .row::before, .shop_news_list #box_articlelist article .row::after { content: none !important; display: none !important; }
.shop_news_list #box_articlelist .article-content { display: contents !important; }
.shop_news_list #box_articlelist .article-content > * { margin-left: 22px !important; margin-right: 22px !important; }
.shop_news_list #box_articlelist article > :not(.article-content), .shop_news_list #box_articlelist .article-content > :not(img) { width: auto !important; max-width: none !important; box-sizing: border-box; }
.shop_news_list #box_articlelist .article-content > img.article-image {
  order: -1; position: static !important; inset: auto !important; padding: 0 !important; min-height: 0 !important; display: block !important; width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; margin: 0 0 8px !important; border-radius: 0 !important; float: none !important;
  transition: transform .4s ease;
}
.shop_news_list #box_articlelist article:hover img.article-image { transform: scale(1.03); }
.shop_news_list #box_articlelist .article-info { order: 0; display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 0 !important; padding: 0 !important; font: 600 12.5px/1.4 var(--v2-font) !important; color: var(--v2-muted) !important; background: none !important; }
.shop_news_list #box_articlelist .article-info::before { content: none !important; display: none !important; }
.shop_news_list #box_articlelist .article-header { order: 1; display: block !important; margin-top: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.shop_news_list #box_articlelist .article-header img.px1 { display: none !important; }
.shop_news_list #box_articlelist .article-name { display: block !important; font: 800 19px/1.3 var(--v2-font) !important; letter-spacing: -.3px; color: var(--v2-ink) !important; text-decoration: none !important; text-transform: none !important; text-wrap: balance; }
.shop_news_list #box_articlelist .article-comments { display: none !important; }
.shop_news_list #box_articlelist .article-content > :not(img):not(p:first-of-type) { display: none !important; }
.shop_news_list #box_articlelist article .article-content > p:first-of-type {
  order: 2; margin-top: 0 !important; margin-bottom: 0 !important; font: 500 14.5px/1.6 var(--v2-font) !important; color: var(--v2-ink-2) !important; text-align: left !important;
  display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-height: 4.8em; position: static !important;
}
.shop_news_list #box_articlelist .article-content > p:first-of-type * { font: inherit !important; color: inherit !important; }
.shop_news_list #box_articlelist a.readmore {
  order: 3; position: static !important; inset: auto !important; transform: none !important; display: inline-flex !important; align-items: center; gap: 6px; align-self: flex-start; width: auto !important; height: auto !important; margin-top: auto !important; padding: 6px 0 0 !important;
  border: 0 !important; background: none !important; box-shadow: none !important; color: var(--v2-accent-ink) !important; font: 800 14px var(--v2-font) !important; text-transform: none !important; text-decoration: none !important;
}
.shop_news_list #box_articlelist a.readmore::after { content: "" !important; position: absolute !important; inset: 0; z-index: 1; background: none !important; border: 0 !important; display: block !important; }
.shop_news_list #box_articlelist a.readmore::before { content: none !important; display: none !important; }
.shop_news_list #box_articlelist .article-info a { position: relative; z-index: 2; color: var(--v2-ink-2) !important; }
/* metryczka wpisu (lista i wpis) */
.v2-ameta { display: inline-flex; align-items: center; gap: 6px; }
.v2-ameta--date::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center / contain no-repeat; }
.v2-ameta--time::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat; }
.v2-ameta--cat { padding: 3px 9px; border-radius: 99px; background: var(--v2-accent-soft); color: var(--v2-accent-ink); font-weight: 700; }
.v2-ameta--cat a { color: inherit !important; text-decoration: none !important; }
.v2-ameta + .v2-ameta:not(.v2-ameta--cat)::after { content: none; }

/* pojedynczy wpis */
.shop_news #box_article { max-width: 820px; margin: 8px auto 32px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--v2-font); color: var(--v2-ink); display: flex; flex-direction: column; gap: 14px; }
.shop_news #box_article .row::before, .shop_news #box_article .row::after { content: none !important; display: none !important; }
.shop_news a.v2-blog-back { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; font: 700 14px var(--v2-font); color: var(--v2-ink-2) !important; text-decoration: none !important; }
.shop_news a.v2-blog-back:hover { color: var(--v2-accent-ink) !important; }
.shop_news #box_article .article-header { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.shop_news #box_article .article-header img.px1, .shop_news #box_article .article-comments { display: none !important; }
.shop_news #box_article .article-name { display: block !important; font: 800 44px/1.1 var(--v2-font) !important; letter-spacing: -1.2px; color: var(--v2-ink) !important; text-transform: none !important; text-wrap: balance; }
.shop_news #box_article .article-info { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 8px !important; padding: 0 0 18px !important; border: 0 !important; border-bottom: 1px solid var(--v2-line) !important; background: none !important; font: 600 14px var(--v2-font) !important; color: var(--v2-muted) !important; }
.shop_news #box_article .article-content { padding: 0 !important; margin: 0 !important; font: 400 17px/1.75 var(--v2-font) !important; color: var(--v2-ink-2) !important; }
.shop_news #box_article .article-content > img.article-image { display: block; width: 100% !important; height: auto !important; max-width: none !important; margin: 0 0 28px !important; border-radius: var(--v2-radius); float: none !important; }
.shop_news #box_article .article-content :is(p, li) { font: inherit !important; color: inherit !important; text-align: left !important; }
.shop_news #box_article .article-content p { margin: 0 0 18px !important; }
.shop_news #box_article .article-content :is(h2, h3, h4) { margin: 36px 0 12px !important; padding: 0 !important; border: 0 !important; background: none !important; font-family: var(--v2-font) !important; font-weight: 800 !important; color: var(--v2-ink) !important; text-transform: none !important; letter-spacing: -.4px; text-align: left !important; }
.shop_news #box_article .article-content h2 { font-size: 30px !important; line-height: 1.2 !important; }
.shop_news #box_article .article-content h3 { font-size: 25px !important; line-height: 1.25 !important; }
.shop_news #box_article .article-content h4 { font-size: 20px !important; line-height: 1.3 !important; }
.shop_news #box_article .article-content :is(h2, h3, h4)::before, .shop_news #box_article .article-content :is(h2, h3, h4)::after { content: none !important; display: none !important; }
.shop_news #box_article .article-content strong { color: var(--v2-ink); font-weight: 800; }
.shop_news #box_article .article-content a { color: var(--v2-accent-ink) !important; font-weight: 700; text-decoration: underline !important; text-decoration-color: rgba(194, 65, 12, .35) !important; text-underline-offset: 3px; text-decoration-thickness: 2px !important; }
.shop_news #box_article .article-content a:hover { text-decoration-color: currentColor !important; }
.shop_news #box_article .article-content img:not(.article-image) { max-width: 100% !important; height: auto !important; border-radius: 16px; margin: 8px 0; }
.shop_news #box_article .article-content :is(ul, ol) { margin: 0 0 20px !important; padding: 0 0 0 4px !important; list-style: none !important; }
.shop_news #box_article .article-content ul > li { position: relative; margin: 0 0 8px !important; padding: 0 0 0 24px !important; list-style: none !important; background: none !important; }
.shop_news #box_article .article-content ul > li::before { content: "" !important; position: absolute; left: 4px; top: .68em; width: 8px; height: 8px; border-radius: 99px; background: var(--v2-accent) !important; display: block !important; border: 0 !important; }
.shop_news #box_article .article-content ol { counter-reset: v2ol; }
.shop_news #box_article .article-content ol > li { counter-increment: v2ol; position: relative; margin: 0 0 10px !important; padding: 0 0 0 38px !important; list-style: none !important; }
.shop_news #box_article .article-content ol > li::before { content: counter(v2ol) !important; position: absolute; left: 0; top: .1em; width: 26px; height: 26px; border-radius: 99px; background: var(--v2-ink); color: #fff; font: 800 13px/26px var(--v2-font); text-align: center; display: block !important; }
.shop_news #box_article .article-content blockquote { margin: 24px 0 !important; padding: 18px 22px !important; border: 0 !important; border-left: 4px solid var(--v2-accent) !important; border-radius: 0 16px 16px 0; background: var(--v2-surface) !important; font: 600 17px/1.65 var(--v2-font) !important; color: var(--v2-ink) !important; font-style: normal !important; }
.shop_news #box_article .article-content blockquote p:last-child { margin-bottom: 0 !important; }
.shop_news #box_article .article-content table { width: 100% !important; border-collapse: separate; border-spacing: 0; margin: 0 0 22px; border: 1px solid var(--v2-line); border-radius: 14px; overflow: hidden; font-size: 15px; }
.shop_news #box_article .article-content :is(td, th) { padding: 10px 14px !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; text-align: left; }
.shop_news #box_article .article-content tr:first-child :is(td, th) { border-top: 0 !important; background: var(--v2-surface); color: var(--v2-ink); font-weight: 800; }
.shop_news ul.article-tags { max-width: 820px; margin: 0 auto 32px !important; padding: 18px 0 0 !important; border-top: 1px solid var(--v2-line); list-style: none !important; display: flex; flex-wrap: wrap; gap: 8px; }
.shop_news ul.article-tags li { margin: 0 !important; padding: 0 !important; list-style: none !important; background: none !important; }
.shop_news ul.article-tags li::before { content: none !important; }
.shop_news ul.article-tags a { display: inline-flex; padding: 7px 14px; border-radius: 99px; background: var(--v2-surface); font: 700 13px var(--v2-font); color: var(--v2-ink-2) !important; text-decoration: none !important; }
.shop_news ul.article-tags a:hover { background: var(--v2-accent-soft); color: var(--v2-accent-ink) !important; }
.shop_news :is(#box_articlecomments, #box_articlefiles) { max-width: 820px; margin: 0 auto 40px !important; font-family: var(--v2-font); }
@media (max-width: 640px) {
  .shop_news_list .v2-blog-head h1 { font-size: 30px !important; }
  .shop_news_list #box_articlelist > .innerbox { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .shop_news #box_article .article-name { font-size: 30px !important; letter-spacing: -.7px; }
  .shop_news #box_article .article-content { font-size: 16px !important; }
  .shop_news #box_article .article-content h2 { font-size: 24px !important; }
  .shop_news #box_article .article-content h3 { font-size: 21px !important; }
}

/* =====================================================================
   §25. Przyklejony nagłówek przy przewijaniu (Hammer: #box_wce_sticky-header)
   Komputer: jedna linia – logo, menu (Katalog jako pomarańczowy przycisk),
   wyszukiwarka, koszyk. Telefon: bez zmian (mobilny nagłówek Hammera).
   ===================================================================== */
@media screen and (min-width: 981px) {
  #box_wce_sticky-header {
    background: rgba(255, 255, 255, .97) !important; border: 0 !important; border-bottom: 1px solid var(--v2-line) !important;
    box-shadow: 0 10px 30px rgba(17, 19, 24, .08) !important; font-family: var(--v2-font); padding: 0 !important;
    -webkit-backdrop-filter: saturate(1.4) blur(8px); backdrop-filter: saturate(1.4) blur(8px);
  }
  #box_wce_sticky-header > .container {
    display: flex !important; align-items: center; gap: 18px; max-width: 1320px; width: auto !important; margin: 0 auto !important; padding: 10px 20px !important;
    box-sizing: border-box; min-height: 0 !important; height: auto !important; background: none !important; border: 0 !important;
  }
  #box_wce_sticky-header > .container::before, #box_wce_sticky-header > .container::after { content: none !important; display: none !important; }
  #box_wce_sticky-header > .container > * { float: none !important; grid-area: auto !important; margin: 0 !important; padding: 0 !important; width: auto !important; max-width: none !important; position: relative; }
  /* logo */
  #box_wce_sticky-header #wce_sticky-logo { order: 1; flex: none; display: flex !important; align-items: center; }
  #box_wce_sticky-header #wce_sticky-logo .link-logo { display: flex; align-items: center; margin: 0 !important; padding: 0 !important; width: auto !important; height: auto !important; }
  #box_wce_sticky-header #wce_sticky-logo img { max-height: 38px !important; width: auto !important; height: auto !important; }
  #box_wce_sticky-header #wce_sticky-logo .wce_contact-card { display: none !important; }
  /* menu */
  #box_wce_sticky-header #wce_sticky-menu { order: 2; flex: none; display: flex !important; align-items: center; position: static; }
  #box_wce_sticky-header #wce_sticky-roll-up { display: none !important; }
  /* rozwijane menu (Katalog) na pełną szerokość paska, tuż pod nim */
  #box_wce_sticky-header > .container { position: relative !important; }
  #box_wce_sticky-header > .container > #wce_sticky-menu, #box_wce_sticky-header #wce_sticky-menu .menu-list, #box_wce_sticky-header #wce_sticky-menu .menu-list > li { position: static !important; }
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li .wce_power-container,
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li > .submenu.level1 { top: 100% !important; left: 20px !important; right: 20px !important; width: auto !important; max-width: none !important; margin-top: 0 !important; }
  #box_wce_sticky-header #wce_sticky-menu .menu.row, #box_wce_sticky-header #wce_sticky-menu .innermenu {
    position: static !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; float: none !important;
  }
  #box_wce_sticky-header #wce_sticky-menu .innermenu::before, #box_wce_sticky-header #wce_sticky-menu .innermenu::after { content: none !important; }
  #box_wce_sticky-header #wce_sticky-menu .menu-list { display: flex !important; align-items: center; gap: 2px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li { float: none !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li.home-link-menu-li { display: none !important; }
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li > h3 { margin: 0 !important; padding: 0 !important; }
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li > h3 > a,
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li > a {
    display: inline-flex !important; align-items: center; min-height: 40px; height: auto !important; padding: 0 12px !important; border-radius: 10px;
    background: none !important; border: 0 !important; color: var(--v2-ink) !important; white-space: nowrap;
    font: 600 14px/1 var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important;
  }
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li > h3 > a:hover,
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li > a:hover { color: var(--v2-accent-ink) !important; background: var(--v2-surface) !important; }
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li#hcategory_0 > h3 > a {
    background: var(--v2-accent) !important; color: var(--v2-ink) !important; font-weight: 800 !important; padding: 0 16px !important; margin-right: 6px !important;
  }
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li#hcategory_0 > h3 > a:hover { background: #ea580c !important; color: var(--v2-ink) !important; }
  /* wyszukiwarka */
  #box_wce_sticky-header #wce_sticky-search { order: 3; flex: 1 1 260px; min-width: 200px; }
  #box_wce_sticky-header #wce_sticky-search form { margin: 0 !important; padding: 0 !important; width: auto !important; position: relative; }
  #box_wce_sticky-header .search__input-area { border: 1.5px solid var(--v2-ink) !important; border-radius: 12px !important; height: 44px !important; overflow: hidden; background: #fff !important; box-shadow: none !important; }
  #box_wce_sticky-header .search__input-area-item_grow { height: 100%; }
  #box_wce_sticky-header .search__input { font: 500 14px var(--v2-font) !important; color: var(--v2-ink) !important; height: 100% !important; padding: 0 14px !important; border: 0 !important; background: none !important; box-shadow: none !important; outline: none; }
  #box_wce_sticky-header .search__input::placeholder { color: var(--v2-muted); }
  #box_wce_sticky-header .search__input-area > .search__input-area-item:last-child { height: 100%; display: flex; align-items: stretch; }
  #box_wce_sticky-header .search__btn-search {
    height: 100% !important; min-height: 0 !important; width: auto !important; padding: 0 16px !important; margin: 0 !important;
    border: 0 !important; border-radius: 0 !important; background: var(--v2-ink) !important; color: #fff !important; box-shadow: none !important;
  }
  #box_wce_sticky-header .search__btn-search .fa { color: #fff !important; font-size: 16px !important; }
  /* koszyk (ten sam wygląd co w nagłówku) */
  #box_wce_sticky-header #wce_sticky-basket { order: 4; flex: none; }
  #box_wce_sticky-header #wce_sticky-basket .basket { position: relative !important; inset: auto !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; float: none !important; }
  #box_wce_sticky-header #wce_sticky-basket .basket a.count {
    display: flex !important; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px !important; border-radius: 12px;
    background: var(--v2-surface) !important; color: var(--v2-ink) !important; text-decoration: none !important; border: 0 !important; width: auto !important; height: auto !important; position: relative;
  }
  #box_wce_sticky-header #wce_sticky-basket .basket a.count::before {
    content: "" !important; width: 22px; height: 22px; background: currentColor !important; flex: none; position: static !important; margin: 0 !important; border: 0 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  #box_wce_sticky-header #wce_sticky-basket .basket a.count::after { content: none !important; display: none !important; }
  #box_wce_sticky-header #wce_sticky-basket .basket a.count > img { display: none !important; }
  #box_wce_sticky-header #wce_sticky-basket .basket .countlabel { display: flex !important; align-items: center; gap: 6px; font: 700 14px/1.2 var(--v2-font) !important; color: var(--v2-ink) !important; position: static !important; margin: 0 !important; padding: 0 !important; }
  #box_wce_sticky-header #wce_sticky-basket .basket .countlabel > span { display: none !important; }
  #box_wce_sticky-header #wce_sticky-basket .basket .countlabel b { font: inherit !important; color: inherit !important; display: inline-flex; gap: 6px; align-items: center; }
  #box_wce_sticky-header #wce_sticky-basket .basket.empty-basket .countlabel b { font-size: 0 !important; }
  #box_wce_sticky-header #wce_sticky-basket .basket.empty-basket .countlabel b::after { content: "Koszyk"; font: 700 14px/1.2 var(--v2-font); }
  #box_wce_sticky-header #wce_sticky-basket .basket .countlabel b.count { font-size: 0 !important; line-height: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; min-width: 0 !important; width: 0 !important; height: 0 !important; display: inline !important; overflow: visible !important; }
  #box_wce_sticky-header #wce_sticky-basket .basket .countlabel b.count span {
    position: absolute !important; top: 3px !important; left: 27px !important; right: auto !important; bottom: auto !important; transform: none !important;
    min-width: 20px; height: 20px; padding: 0 5px !important; margin: 0 !important; border-radius: 99px !important; box-sizing: border-box;
    background: var(--v2-accent-ink) !important; color: #fff !important; border: 2px solid var(--v2-surface) !important;
    font: 800 11px/16px var(--v2-font) !important; text-align: center; display: inline-block !important;
  }
  #box_wce_sticky-header #wce_sticky-basket .basket .countlabel b.count span::before, #box_wce_sticky-header #wce_sticky-basket .basket .countlabel b.count span::after,
  #box_wce_sticky-header #wce_sticky-basket .basket .countlabel b.count::before, #box_wce_sticky-header #wce_sticky-basket .basket .countlabel b.count::after { content: none !important; display: none !important; }
  #box_wce_sticky-header #wce_sticky-basket .basket-contain { top: calc(100% + 8px) !important; left: auto !important; right: 0 !important; }
  #box_wce_sticky-header #wce_sticky-mobile { display: none !important; }
}
/* węższe ekrany: zostaje tylko „Katalog produktów”, reszta menu chowa się */
@media screen and (min-width: 981px) and (max-width: 1240px) {
  #box_wce_sticky-header #wce_sticky-menu .menu-list > li:not(#hcategory_0) { display: none !important; }
}

/* =====================================================================
   §26. Podpowiedzi wyszukiwarki (Hammer: #wceAutocompleteContainer-*)
   Lista jest wstawiana do środka pola wyszukiwania – pole nie może ucinać
   zawartości (wcześniej overflow:hidden chował podpowiedzi).
   ===================================================================== */
.wrap > header .search__input-area, #box_wce_sticky-header .search__input-area { overflow: visible !important; }
.wrap > header .search__btn-search, #box_wce_sticky-header .search__btn-search { border-radius: 0 10px 10px 0 !important; }
.wrap > header .search__input-area .search__input, #box_wce_sticky-header .search__input-area .search__input { border-radius: 10px 0 0 10px !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) {
  top: calc(100% + 8px) !important; left: -1.5px !important; right: -1.5px !important; width: auto !important; min-width: 320px; z-index: 120 !important;
  padding: 0 !important; margin: 0 !important; border: 1px solid var(--v2-line) !important; border-radius: 16px !important; background: #fff !important; overflow: hidden !important;
  box-shadow: 0 24px 60px rgba(14, 16, 20, .18) !important; font-family: var(--v2-font); color: var(--v2-ink); text-align: left;
}
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_scroller { padding: 8px !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_block { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_area-0 { padding: 0 0 8px !important; margin: 0 0 6px !important; border-bottom: 1px solid var(--v2-line) !important; background: none !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_area-0:empty, :is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_area-1:empty { display: none !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) strong.wce_head {
  display: block !important; margin: 0 !important; padding: 8px 10px 6px !important; border: 0 !important; background: none !important;
  font: 800 11.5px/1.3 var(--v2-font) !important; letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-muted) !important;
}
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_words-block strong.wce_head { display: none !important; }
/* frazy: „szukaj …”, „… w kategorii …” */
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; list-style: none !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list a {
  display: flex !important; align-items: center; gap: 6px; min-height: 40px; padding: 8px 10px 8px 40px !important; border-radius: 10px; position: relative;
  font: 500 14px/1.35 var(--v2-font) !important; color: var(--v2-ink-2) !important; text-decoration: none !important; cursor: pointer; background: none !important; border: 0 !important;
}
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list a::before {
  content: ""; position: absolute; left: 12px; top: 50%; width: 16px; height: 16px; margin-top: -8px; background: var(--v2-muted);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list a .label { color: var(--v2-muted) !important; font: inherit !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list a b.name { font: 700 14px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list a b.name span { font-weight: 500; color: var(--v2-muted); }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list a b.name em { font-style: normal; color: var(--v2-accent-ink); }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list a i.wce_ico-right { margin-left: auto; color: var(--v2-muted) !important; font-size: 13px !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list a:hover, :is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list li.wce_active a, :is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) ul.wce_list a.wce_active { background: var(--v2-surface) !important; }
/* produkty */
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product > a {
  display: grid !important; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 8px 10px !important; border-radius: 12px;
  text-decoration: none !important; color: var(--v2-ink) !important; background: none !important; border: 0 !important; transition: background .12s;
}
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product > a:hover, :is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product.wce_active > a { background: var(--v2-surface) !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .image {
  display: flex !important; align-items: center; justify-content: center; width: 56px !important; height: 56px !important; margin: 0 !important; padding: 0 !important;
  border-radius: 12px; background: #fff; border: 1px solid var(--v2-line); overflow: hidden; float: none !important;
}
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .image img { max-width: 50px !important; max-height: 50px !important; width: auto !important; height: auto !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .details { display: block !important; min-width: 0; margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .details .name {
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font: 600 14px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important;
}
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .details .manufacturer { display: none !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .price { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; text-align: right; white-space: nowrap; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .price em { font: 800 15px var(--v2-font) !important; font-style: normal !important; color: var(--v2-ink) !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .price del, :is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .price s { display: block; font: 500 12px var(--v2-font); color: var(--v2-muted); }
/* „pokaż wszystkie” */
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_foot-new { margin: 6px 0 0 !important; padding: 8px 0 0 !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; background: none !important; text-align: center; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_foot-new a {
  display: flex !important; align-items: center; justify-content: center; min-height: 44px; border-radius: 12px; background: var(--v2-ink) !important; color: #fff !important;
  font: 800 14px var(--v2-font) !important; text-decoration: none !important; cursor: pointer;
}
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_foot-new a::first-letter { text-transform: uppercase; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_foot-new a:hover { background: #2a2e37 !important; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .ps__rail-y { width: 8px !important; background: none !important; opacity: .6; }
:is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .ps__thumb-y { width: 4px !important; right: 2px !important; background: #c7cbd2 !important; border-radius: 99px; }
@media (max-width: 767px) {
  :is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) { min-width: 0; border-radius: 14px !important; }
  :is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product > a { grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; }
  :is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .image { width: 48px !important; height: 48px !important; }
  :is(#wceAutocompleteContainer-0, #wceAutocompleteContainer-1, #wceAutocompleteContainer-2) .wce_product .details .name { font-size: 13px !important; }
}

/* =====================================================================
   §27. Wyszukiwanie zaawansowane, Przechowalnia (ulubione), okna Shopera
   („Zapytaj o produkt” i inne), „Poleć znajomemu”, poprawka popupu newslettera
   ===================================================================== */

/* ---------- wspólne pola formularzy ---------- */
:is(#box_productsearch, #box_mailfriend, .modal .ask-for-product) :is(input[type="text"], input[type="email"], select, textarea:not(.g-recaptcha-response)) {
  display: block !important; width: 100% !important; max-width: none !important; height: 48px !important; margin: 0 !important; padding: 0 14px !important; box-sizing: border-box !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background-color: #fff !important; box-shadow: none !important;
  font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
:is(#box_productsearch, #box_mailfriend, .modal .ask-for-product) fieldset textarea[name] { height: 140px !important; padding: 12px 14px !important; line-height: 1.5 !important; resize: vertical; }
:is(#box_productsearch, #box_mailfriend, .modal .ask-for-product) :is(input, select, textarea):focus { outline: none !important; border-color: var(--v2-ink) !important; }
:is(#box_productsearch, #box_mailfriend, .modal .ask-for-product) :is(input, textarea).error { border-color: #dc2626 !important; }
:is(#box_productsearch, #box_mailfriend, .modal .ask-for-product) label { display: block !important; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; text-align: left !important; font: 700 13px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; }
:is(#box_productsearch, #box_mailfriend, .modal .ask-for-product) em.color { color: var(--v2-accent-ink) !important; font-style: normal; }
:is(#box_productsearch, #box_mailfriend, .modal .ask-for-product) ul.error { margin: 4px 0 0 !important; padding: 0 !important; list-style: none !important; background: none !important; border: 0 !important; }
:is(#box_productsearch, #box_mailfriend, .modal .ask-for-product) ul.error li { margin: 0 !important; padding: 0 !important; font: 600 13px var(--v2-font) !important; color: #dc2626 !important; background: none !important; list-style: none !important; }
:is(#box_productsearch, #box_mailfriend) select, .modal .ask-for-product select {
  appearance: none; -webkit-appearance: none; padding-right: 40px !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111318' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat !important;
}
/* nagłówki boksów-stron */
:is(#box_productsearch, #box_mailfriend) { margin: 8px 0 32px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--v2-font); color: var(--v2-ink); }
:is(#box_productsearch, #box_mailfriend) > .boxhead { display: block !important; margin: 0 0 18px !important; padding: 0 !important; height: auto !important; border: 0 !important; background: none !important; text-align: left !important; }
:is(#box_productsearch, #box_mailfriend) > .boxhead::before, :is(#box_productsearch, #box_mailfriend) > .boxhead::after,
:is(#box_productsearch, #box_mailfriend) > .boxhead :is(span, h3)::before, :is(#box_productsearch, #box_mailfriend) > .boxhead :is(span, h3)::after { content: none !important; display: none !important; }
:is(#box_productsearch, #box_mailfriend) > .boxhead :is(span, h3) { display: block !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; font: 800 32px/1.15 var(--v2-font) !important; letter-spacing: -.8px; color: var(--v2-ink) !important; text-transform: none !important; }
:is(#box_productsearch, #box_mailfriend) img.px1 { display: none !important; }
:is(#box_productsearch, #box_mailfriend) > .innerbox { margin: 0 !important; padding: 26px !important; border: 1px solid var(--v2-line) !important; border-radius: var(--v2-radius) !important; background: #fff !important; }

/* ---------- wyszukiwanie zaawansowane ---------- */
#box_productsearch fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; display: flex !important; flex-direction: column; gap: 18px; }
#box_productsearch fieldset > .row { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 !important; width: auto !important; }
#box_productsearch fieldset > .row::before, #box_productsearch fieldset > .row::after, #box_productsearch .f-row::before, #box_productsearch .f-row::after { content: none !important; display: none !important; }
#box_productsearch .f-row { display: flex !important; flex-direction: column; gap: 6px; margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
#box_productsearch [class*="f-grid-"] { width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; flex: none !important; }
#box_productsearch .f-row.name { grid-column: 1 / -1; }
#box_productsearch .f-row.price .f-grid-8 { display: flex !important; align-items: center; gap: 8px; color: var(--v2-muted); }
#box_productsearch .f-row.price input.short { flex: 1; min-width: 0; }
#box_productsearch .f-row.promotion { grid-column: 1 / -1; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 10px; }
#box_productsearch .f-row.promotion label { font-weight: 600 !important; }
#box_productsearch fieldset > .f-row:last-of-type { flex-direction: row; padding-top: 16px !important; border-top: 1px solid var(--v2-line); }
#box_productsearch fieldset > .f-row:last-of-type > .f-grid-4:empty { display: none !important; }
#box_productsearch .buttons { display: flex !important; flex-wrap: wrap; gap: 10px; }
#box_productsearch .buttons button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; height: 50px !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 24px !important;
  border: 0 !important; border-radius: 12px !important; box-shadow: none !important; float: none !important; cursor: pointer;
  font: 800 15px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important;
}
#box_productsearch .buttons button img { display: none !important; }
#box_productsearch .buttons button span { color: inherit !important; font: inherit !important; display: inline-block !important; }
#box_productsearch .buttons button span::first-letter { text-transform: uppercase; }
#box_productsearch .buttons button::before, #box_productsearch .buttons button::after { content: none !important; display: none !important; }
#box_productsearch .buttons button.btn.search.search { background: var(--v2-ink) !important; color: #fff !important; min-width: 180px !important; }
#box_productsearch .buttons button.btn.search.search:hover { background: #2a2e37 !important; }
#box_productsearch .buttons button.reset { background: #fff !important; color: var(--v2-ink) !important; box-shadow: inset 0 0 0 1.5px #d2d6dc !important; font-weight: 700 !important; }
#box_productsearch .buttons button.reset:hover { box-shadow: inset 0 0 0 1.5px var(--v2-ink) !important; }
/* nad wynikami formularz jest zwinięty (Shoper: .folden) */
#box_productsearch.folden > .innerbox { padding: 18px 22px !important; }

/* ---------- Przechowalnia (ulubione) ---------- */
#box_favourites.v2-fav-page { margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--v2-font); color: var(--v2-ink); }
#box_favourites.v2-fav-page > .boxhead { display: block !important; margin: 0 0 6px !important; padding: 0 !important; height: auto !important; border: 0 !important; background: none !important; text-align: left !important; }
#box_favourites.v2-fav-page > .boxhead::before, #box_favourites.v2-fav-page > .boxhead::after, #box_favourites.v2-fav-page > .boxhead span::before, #box_favourites.v2-fav-page > .boxhead span::after { content: none !important; display: none !important; }
#box_favourites.v2-fav-page > .boxhead span { display: block !important; padding: 0 !important; background: none !important; font: 800 32px/1.15 var(--v2-font) !important; letter-spacing: -.8px; color: var(--v2-ink) !important; text-transform: none !important; }
#box_favourites.v2-fav-page img.px1 { display: none !important; }
#box_favourites.v2-fav-page > .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
.v2-fav__count { margin: 0 0 18px !important; font: 500 15px var(--v2-font); color: var(--v2-muted); }
.v2-fav__count strong { color: var(--v2-ink); }
.v2-fav__list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 12px; }
.v2-fav__item {
  display: grid; grid-template-columns: 96px minmax(0, 1fr) auto auto; align-items: center; gap: 20px; margin: 0 !important; padding: 14px 18px 14px 14px !important;
  border: 1px solid var(--v2-line); border-radius: 18px; background: #fff; list-style: none !important; transition: border-color .15s, box-shadow .15s;
}
.v2-fav__item::before { content: none !important; }
.v2-fav__item:hover { border-color: #d2d6dc; box-shadow: 0 10px 24px rgba(17, 19, 24, .06); }
.v2-fav__img { display: flex; align-items: center; justify-content: center; width: 96px; height: 96px; border-radius: 14px; background: var(--v2-surface); overflow: hidden; }
.v2-fav__img img { max-width: 84px; max-height: 84px; width: auto; height: auto; mix-blend-mode: multiply; }
.v2-fav__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.v2-fav__info a.name { font: 700 16px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-fav__info a.name:hover { text-decoration: underline !important; }
.v2-fav__info .variant { font: 500 13px var(--v2-font); color: var(--v2-muted); }
.v2-fav__info .variant:empty { display: none; }
.v2-fav__avail { display: inline-flex; align-items: center; gap: 6px; font: 600 13px var(--v2-font); color: #15803d; }
.v2-fav__avail::before { content: ""; width: 7px; height: 7px; border-radius: 99px; background: #16a34a; flex: none; }
.v2-fav__avail img { max-height: 14px; width: auto; }
.v2-fav__price { font: 800 20px/1.2 var(--v2-font); color: var(--v2-ink); white-space: nowrap; text-align: right; letter-spacing: -.3px; }
.v2-fav__price em.default-currency { display: block; font: 500 12px var(--v2-font); color: var(--v2-muted); font-style: normal; }
.v2-fav__actions { display: flex; align-items: center; gap: 8px; }
.v2-fav__actions > div { display: contents; }
.v2-fav__actions > div.none { display: none !important; }
.v2-fav__actions a.btn {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; height: 46px !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 18px !important;
  border: 0 !important; border-radius: 12px !important; box-shadow: none !important; float: none !important; white-space: nowrap;
  font: 800 14px var(--v2-font) !important; text-transform: none !important; text-decoration: none !important; letter-spacing: 0 !important;
}
.v2-fav__actions a.btn img { display: none !important; }
.v2-fav__actions a.btn span { color: inherit !important; font: inherit !important; display: inline-block !important; }
.v2-fav__actions a.btn span::first-letter { text-transform: uppercase; }
.v2-fav__actions a.btn::after { content: none !important; display: none !important; }
.v2-fav__actions a.btn.addtobasket.addtobasket { background: var(--v2-ink) !important; color: #fff !important; }
.v2-fav__actions a.btn.addtobasket.addtobasket:hover { background: var(--v2-accent-ink) !important; }
.v2-fav__actions a.btn:is(.addtobasket, .availability-notifier-btn, .availability-notifier-unsubscribe-btn)::before {
  content: "" !important; display: block !important; position: static !important; width: 18px; height: 18px; background: currentColor !important; border: 0 !important; margin: 0 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.v2-fav__actions a.btn:is(.availability-notifier-btn, .availability-notifier-unsubscribe-btn) { background: #fff !important; color: var(--v2-ink) !important; box-shadow: inset 0 0 0 1.5px #d2d6dc !important; }
.v2-fav__actions a.btn:is(.availability-notifier-btn, .availability-notifier-unsubscribe-btn)::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 16V11a6 6 0 0 1 12 0v5l2 2H4z'/%3E%3Cpath d='M10 20a2 2 0 0 0 4 0'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 16V11a6 6 0 0 1 12 0v5l2 2H4z'/%3E%3Cpath d='M10 20a2 2 0 0 0 4 0'/%3E%3C/svg%3E");
}
.v2-fav__actions a.btn.remove {
  width: 46px !important; padding: 0 !important; font-size: 0 !important; background: #fff !important; color: var(--v2-muted) !important; box-shadow: inset 0 0 0 1.5px var(--v2-line) !important;
}
.v2-fav__actions a.btn.remove span { display: none !important; }
.v2-fav__actions a.btn.remove::before {
  content: "" !important; display: block !important; position: static !important; width: 18px; height: 18px; background: currentColor !important; border: 0 !important; margin: 0 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 13h10l1-13M9 7V4h6v3'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 13h10l1-13M9 7V4h6v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.v2-fav__actions a.btn.remove:hover { color: #dc2626 !important; box-shadow: inset 0 0 0 1.5px #fecaca !important; background: #fef2f2 !important; }
.v2-fav__empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 48px 24px; border-radius: var(--v2-radius); background: var(--v2-surface); }
.v2-fav__heart { width: 64px; height: 64px; border-radius: 99px; background: #fff; color: var(--v2-accent-ink); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.v2-fav__empty strong { font: 800 20px var(--v2-font); color: var(--v2-ink); }
.v2-fav__empty p { margin: 0 0 10px; font: 500 15px var(--v2-font); color: var(--v2-ink-2); }
a.v2-fav__shop { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: 12px; background: var(--v2-ink); color: #fff !important; font: 800 15px var(--v2-font); text-decoration: none !important; }

/* ---------- okna Shopera (np. „Zapytaj o produkt”, powiadomienie o dostępności) ---------- */
.modal-overlay { background: rgba(14, 16, 20, .45) !important; }
.modal:has(> .modal-header) {
  width: min(500px, calc(100vw - 24px)) !important; max-width: none !important; box-sizing: border-box !important; margin-left: 0 !important;
  left: 50% !important; transform: translateX(-50%) !important; padding: 28px !important;
  border: 0 !important; border-radius: 22px !important; background: #fff !important; box-shadow: 0 30px 80px rgba(14, 16, 20, .3) !important; font-family: var(--v2-font); color: var(--v2-ink);
}
.modal > .modal-header { position: relative; margin: 0 0 18px !important; padding: 0 48px 0 0 !important; border: 0 !important; background: none !important; }
.modal > .modal-header h3 { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font: 800 22px/1.25 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; }
.modal > .modal-header h3::first-letter { text-transform: uppercase; }
.modal > .modal-header h3::before, .modal > .modal-header h3::after, .modal > .modal-header::before, .modal > .modal-header::after { content: none !important; display: none !important; }
.modal > .modal-header .modal-close {
  position: absolute !important; top: -8px !important; right: -8px !important; left: auto !important; width: 40px !important; height: 40px !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-surface) !important; box-shadow: none !important; cursor: pointer; display: flex !important; align-items: center; justify-content: center; font-size: 0 !important; color: var(--v2-ink) !important;
}
.modal > .modal-header .modal-close:hover { background: var(--v2-line) !important; }
.modal > .modal-header .modal-close:focus { outline: none !important; }
.modal > .modal-header .modal-close:focus-visible { outline: 3px solid var(--v2-accent) !important; outline-offset: 2px; }
.modal > .modal-header .modal-close .modal-close-txt { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.modal > .modal-header .modal-close::before {
  content: "" !important; width: 16px; height: 16px; background: currentColor !important; display: block !important; position: static !important; border: 0 !important; margin: 0 !important; font-size: 0 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
}
.modal > .modal-header .modal-close::after { content: none !important; display: none !important; }
.modal > .modal-body { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font: 500 14px/1.5 var(--v2-font); color: var(--v2-ink-2); }
.modal .ask-for-product form, .modal .ask-for-product fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.modal .ask-for-product fieldset { display: flex !important; flex-direction: column; gap: 14px; }
.modal .ask-for-product .edition-form-field { display: flex !important; flex-direction: column; gap: 6px; margin: 0 !important; padding: 0 !important; width: auto !important; }
.modal .ask-for-product fieldset > label { font: 500 13px/1.5 var(--v2-font) !important; color: var(--v2-muted) !important; }
.modal .ask-for-product fieldset > div:not([class]):not([id]) { font: 500 12.5px var(--v2-font); color: var(--v2-muted); margin-top: -8px; }
.modal .ask-for-product #ask-recaptcha { margin: 0 !important; }
.modal .ask-for-product fieldset > .row { margin: 4px 0 0 !important; padding: 0 !important; }
.modal .ask-for-product fieldset > .row::before, .modal .ask-for-product fieldset > .row::after { content: none !important; }
.modal .ask-for-product button.btn, #box_mailfriend button.btn.send {
  display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 100% !important; height: 52px !important; margin: 0 !important; padding: 0 20px !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-ink) !important; color: #fff !important; box-shadow: none !important; float: none !important; cursor: pointer;
  font: 800 15px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.modal .ask-for-product button.btn:hover, #box_mailfriend button.btn.send:hover { background: #2a2e37 !important; }
.modal .ask-for-product button.btn img, #box_mailfriend button.btn.send img { display: none !important; }
.modal .ask-for-product button.btn span, #box_mailfriend button.btn.send span { color: inherit !important; font: inherit !important; display: inline-block !important; }
.modal .ask-for-product button.btn span::first-letter, #box_mailfriend button.btn.send span::first-letter { text-transform: uppercase; }
.modal .ask-for-product button.btn::before, #box_mailfriend button.btn.send::before { content: none !important; display: none !important; }
.modal .ask-for-product button.btn::after, #box_mailfriend button.btn.send::after {
  content: "" !important; display: block !important; position: static !important; width: 18px; height: 18px; background: currentColor !important; border: 0 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l16-8-6 17-3-7z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l16-8-6 17-3-7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Poleć produkt znajomemu ---------- */
#box_mailfriend { max-width: 560px; }
#box_mailfriend fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; display: flex !important; flex-direction: column; gap: 8px; }
#box_mailfriend fieldset > label:not(:first-child) { margin-top: 8px !important; }
#box_mailfriend .shaded_inputwrap { display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
#box_mailfriend .g-recaptcha { margin: 8px 0 !important; }
#box_mailfriend button.btn.send { margin-top: 6px !important; }

/* ---------- popup newslettera: krzyżyk zawsze widoczny ---------- */
.wce_overlay-popup.v2-nl .wce_popup-head, .wce_overlay-popup.v2-nl .wce_popup-head .wce_popup-close {
  opacity: 1 !important; visibility: visible !important; z-index: 20 !important; pointer-events: auto !important;
}
.wce_overlay-popup.v2-nl .wce_popup-head { display: block !important; transform: none !important; }
.wce_overlay-popup.v2-nl .wce_popup-body { z-index: 1 !important; }

@media (max-width: 900px) {
  #box_productsearch fieldset > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  :is(#box_productsearch, #box_mailfriend, #box_favourites.v2-fav-page) > .boxhead :is(span, h3) { font-size: 26px !important; }
  :is(#box_productsearch, #box_mailfriend) > .innerbox { padding: 18px !important; border-radius: 16px !important; }
  #box_productsearch fieldset > .row { grid-template-columns: minmax(0, 1fr); }
  #box_productsearch .buttons button { flex: 1 1 auto; }
  .v2-fav__item { grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: "img info" "img price" "act act"; gap: 6px 14px; padding: 12px !important; }
  .v2-fav__img { grid-area: img; width: 72px; height: 72px; }
  .v2-fav__img img { max-width: 62px; max-height: 62px; }
  .v2-fav__info { grid-area: info; }
  .v2-fav__info a.name { font-size: 14px !important; }
  .v2-fav__price { grid-area: price; text-align: left; font-size: 18px; }
  .v2-fav__actions { grid-area: act; margin-top: 6px; }
  .v2-fav__actions a.btn:not(.remove) { flex: 1 1 auto; }
  .modal:has(> .modal-header) { padding: 20px !important; border-radius: 18px !important; }
}

/* =====================================================================
   §28. Ikonka w prawym górnym rogu kafelków obok slidera (.v2-promo__icon)
   ===================================================================== */
.v2 a.v2-promo .v2-promo__icon {
  position: absolute !important; z-index: 3 !important; top: 22px; right: 22px; width: 46px; height: 46px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; background: #fff; color: var(--v2-ink);
  box-shadow: 0 1px 3px rgba(17,19,24,.08); transition: transform .2s ease; pointer-events: none;
}
.v2 a.v2-promo .v2-promo__icon svg { width: 22px; height: 22px; display: block; }
.v2 a.v2-promo:hover .v2-promo__icon { transform: rotate(-6deg) scale(1.06); }
.v2 a.v2-promo--warm .v2-promo__icon { color: var(--v2-accent-ink); }
.v2 a.v2-promo--dark .v2-promo__icon { background: rgba(255,255,255,.1); color: #fb923c; box-shadow: none; }
.v2 a.v2-promo:has(.v2-promo__icon) .v2-promo__label { padding-right: 56px; }
@media (max-width: 767px) {
  .v2 a.v2-promo .v2-promo__icon { top: 14px; right: 14px; width: 34px; height: 34px; border-radius: 10px; }
  .v2 a.v2-promo .v2-promo__icon svg { width: 18px; height: 18px; }
  .v2 a.v2-promo:has(.v2-promo__icon) .v2-promo__label { padding-right: 40px; }
}
@media (prefers-reduced-motion: reduce) { .v2 a.v2-promo .v2-promo__icon { transition: none; } }

/* =====================================================================
   §29. Karta produktu – zakładki „Dane techniczne”, „Bezpieczeństwo”, „Opinie”
        (product/attributes.tpl i safety.tpl bez zmian, product/comments.tpl przebudowany)
        + pasek „Do koszyka” na telefonie (v2_smartled.js §14)
   ===================================================================== */
body.shop_product .product-modules > .box .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }

/* --- Dane techniczne --- */
body.shop_product #box_productdata table.table {
  display: table !important; width: 100% !important; max-width: 860px; margin: 0 !important; border-collapse: separate !important; border-spacing: 0 !important;
  border: 1px solid var(--v2-line) !important; border-radius: 16px; overflow: hidden; background: #fff; font-family: var(--v2-font);
}
body.shop_product #box_productdata table.table tbody { display: table-row-group !important; }
body.shop_product #box_productdata table.table tr { display: table-row !important; background: #fff !important; border: 0 !important; }
body.shop_product #box_productdata table.table tr:nth-child(even) { background: #fafbfc !important; }
body.shop_product #box_productdata table.table tr::before, body.shop_product #box_productdata table.table tr::after { content: none !important; display: none !important; }
body.shop_product #box_productdata table.table td {
  display: table-cell !important; width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 14px 22px !important;
  border: 0 !important; border-top: 1px solid var(--v2-line) !important; background: transparent !important; vertical-align: top !important; text-align: left !important;
  font: 500 15px/1.45 var(--v2-font) !important; color: var(--v2-ink) !important;
}
body.shop_product #box_productdata table.table tr:first-child td { border-top: 0 !important; }
body.shop_product #box_productdata table.table td.name { width: 42% !important; color: var(--v2-muted) !important; font-weight: 600 !important; }
body.shop_product #box_productdata table.table td.value { font-weight: 700 !important; word-break: break-word; }

/* --- Bezpieczeństwo produktu (GPSR) --- */
body.shop_product #box_productsafety .product-safety { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; max-width: 1000px; font-family: var(--v2-font); }
body.shop_product #box_productsafety .product-safety > aside {
  margin: 0 !important; padding: 22px 24px !important; border: 1px solid var(--v2-line); border-radius: 18px; background: #fff;
  font: 500 14px/1.6 var(--v2-font); color: var(--v2-ink-2); float: none !important; width: auto !important;
}
body.shop_product #box_productsafety .product-safety h4 {
  margin: 0 0 12px !important; padding: 0 0 12px !important; border: 0 !important; border-bottom: 1px solid var(--v2-line) !important; background: none !important;
  font: 800 12px/1.3 var(--v2-font) !important; letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-muted) !important;
}
body.shop_product #box_productsafety .product-safety h4 strong { font: inherit !important; color: inherit !important; }
body.shop_product #box_productsafety .product-safety p { margin: 0 0 8px !important; padding: 0 !important; font: inherit !important; color: inherit !important; word-break: break-word; }
body.shop_product #box_productsafety .product-safety p:last-child { margin-bottom: 0 !important; }
body.shop_product #box_productsafety .product-safety p strong { color: var(--v2-ink) !important; font-weight: 800; font-size: 15px; }
body.shop_product #box_productsafety .product-safety ul.list { margin: 0 !important; padding: 0 0 0 18px !important; }
body.shop_product #box_productsafety .product-safety ul.list li { margin: 0 0 6px !important; padding: 0 !important; list-style: disc !important; color: var(--v2-ink-2); }
body.shop_product #box_productsafety a.safety-contact-form-link {
  display: inline-block; margin-top: 6px; font: 700 13px var(--v2-font) !important; color: var(--v2-accent-ink) !important; text-decoration: none !important;
}
body.shop_product #box_productsafety a.safety-contact-form-link::after { content: " ↗"; }
body.shop_product #box_productsafety a.safety-contact-form-link:hover { text-decoration: underline !important; text-underline-offset: 3px; }
body.shop_product #box_productsafety .productfiles { grid-column: 1 / -1; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.shop_product #box_productsafety div.productfiles { padding: 22px 24px !important; border: 1px solid var(--v2-line) !important; border-radius: 18px; background: #fff !important; }
body.shop_product #box_productsafety div.productfiles h5 { margin: 0 0 12px !important; padding: 0 !important; font: 800 12px/1.3 var(--v2-font) !important; letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-muted) !important; background: none !important; }
body.shop_product #box_productsafety ul.productfiles { display: flex !important; flex-wrap: wrap; gap: 8px; list-style: none !important; }
body.shop_product #box_productsafety ul.productfiles li { margin: 0 !important; padding: 0 !important; list-style: none !important; background: none !important; }
body.shop_product #box_productsafety ul.productfiles li::before { content: none !important; }
body.shop_product #box_productsafety ul.productfiles a {
  display: inline-flex !important; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px !important; border-radius: 12px; background: var(--v2-surface) !important; border: 0 !important;
  font: 700 14px var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: none !important;
}
body.shop_product #box_productsafety ul.productfiles a:hover { background: #eceef2 !important; }
body.shop_product #box_productsafety ul.productfiles a img { display: none !important; }
body.shop_product #box_productsafety ul.productfiles a span { color: inherit !important; font: inherit !important; }
body.shop_product #box_productsafety ul.productfiles a::before {
  content: ""; width: 16px; height: 16px; background: currentColor; flex: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* --- Opinie --- */
.v2-rev { display: grid; grid-template-columns: 300px minmax(0, 1fr); grid-template-areas: "sum list" "sum form"; gap: 20px 40px; align-items: start; font-family: var(--v2-font); color: var(--v2-ink); }
.v2-rev *, .v2-rev *::before, .v2-rev *::after { box-sizing: border-box; }
.v2-rev__summary { grid-area: sum; position: sticky; top: 100px; display: flex; flex-direction: column; gap: 14px; padding: 26px; border-radius: 20px; background: var(--v2-surface); }
.v2-rev__score { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 14px; }
.v2-rev__avg { grid-row: span 2; font: 800 52px/1 var(--v2-font); letter-spacing: -1.5px; color: var(--v2-ink); }
.v2-rev__stars {
  --v2-rate: 0; display: block; width: 110px; height: 20px;
  background: linear-gradient(90deg, var(--v2-accent) calc(var(--v2-rate) / 5 * 100%), #d6d9df 0);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 20'%3E%3Cpath d='M11 1.5l2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L11 15.8l-5.6 2.9 1.1-6.2L2 8.1l6.2-.9z'/%3E%3C/svg%3E") left center / 22px 20px repeat-x;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 20'%3E%3Cpath d='M11 1.5l2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L11 15.8l-5.6 2.9 1.1-6.2L2 8.1l6.2-.9z'/%3E%3C/svg%3E") left center / 22px 20px repeat-x;
}
.v2-rev__votes { font: 600 13px/1.35 var(--v2-font); color: var(--v2-muted); }
.v2-rev__score:not(:has(.v2-rev__stars)) .v2-rev__votes { grid-row: span 2; font-size: 15px; color: var(--v2-ink-2); }
.v2-rev__note { margin: 0 !important; padding: 12px 0 0 !important; border-top: 1px solid var(--v2-line); font: 500 12.5px/1.5 var(--v2-font) !important; color: var(--v2-muted) !important; }
.v2-rev a.v2-rev__write {
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 12px; background: var(--v2-ink); color: #fff !important;
  font: 800 14px var(--v2-font); text-decoration: none !important; transition: background .15s;
}
.v2-rev a.v2-rev__write:hover { background: #2a2e37; }
.v2-rev a.v2-rev__write:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
.v2-rev__list { grid-area: list; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
#box_productcomments .v2-rev .productcomment.v2-rev__item {
  margin: 0 !important; padding: 22px 24px !important; border: 1px solid var(--v2-line) !important; border-radius: 18px; background: #fff !important; box-shadow: none !important; float: none !important; width: auto !important;
}
#box_productcomments .v2-rev .productcomment::before, #box_productcomments .v2-rev .productcomment::after { content: none !important; display: none !important; }
.v2-rev__head { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.v2-rev__avatar { flex: none; width: 42px; height: 42px; border-radius: 99px; background: var(--v2-accent-soft); color: var(--v2-accent-ink); display: flex; align-items: center; justify-content: center; font: 800 15px var(--v2-font); }
.v2-rev__who { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
#box_productcomments .v2-rev h5.reviewer { margin: 0 !important; padding: 0 !important; float: none !important; font: 800 15px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-transform: none !important; background: none !important; }
#box_productcomments .v2-rev .date { margin: 0 !important; padding: 0 !important; float: none !important; font: 500 13px/1.3 var(--v2-font) !important; color: var(--v2-muted) !important; }
#box_productcomments .v2-rev p.description { margin: 0 !important; padding: 0 !important; float: none !important; font: 500 15px/1.6 var(--v2-font) !important; color: var(--v2-ink-2) !important; white-space: pre-line; overflow-wrap: anywhere; }
.v2-rev__empty { display: flex; flex-direction: column; gap: 4px; padding: 28px; border: 1.5px dashed #d2d6dc; border-radius: 18px; font: 500 14px/1.5 var(--v2-font); color: var(--v2-ink-2); }
.v2-rev__empty strong { font-size: 16px; font-weight: 800; color: var(--v2-ink); }
.v2-rev__formcard { grid-area: form; padding: 28px; border: 1px solid var(--v2-line); border-radius: 20px; background: #fff; scroll-margin-top: 100px; }
.v2-rev__formtitle { margin: 0 0 4px !important; padding: 0 !important; border: 0 !important; background: none !important; font: 800 20px/1.25 var(--v2-font) !important; letter-spacing: -.3px; color: var(--v2-ink) !important; text-transform: none !important; }
.v2-rev__formtitle::before, .v2-rev__formtitle::after { content: none !important; }
.v2-rev__formlead { margin: 0 0 18px !important; font: 500 14px/1.5 var(--v2-font) !important; color: var(--v2-muted) !important; }
#box_productcomments .v2-rev form.comment, #box_productcomments .v2-rev form.comment fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; float: none !important; }
#box_productcomments .v2-rev form.comment fieldset { display: flex !important; flex-direction: column; gap: 6px; }
#box_productcomments .v2-rev form.comment label {
  display: block !important; float: none !important; width: auto !important; margin: 10px 0 0 !important; padding: 0 !important; text-align: left !important;
  font: 700 13px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important;
}
#box_productcomments .v2-rev form.comment label:first-of-type { margin-top: 0 !important; }
#box_productcomments .v2-rev form.comment .f-row { display: block !important; margin: 0 !important; padding: 0 !important; }
#box_productcomments .v2-rev form.comment .f-row::before, #box_productcomments .v2-rev form.comment .f-row::after { content: none !important; display: none !important; }
#box_productcomments .v2-rev form.comment :is(input[type="text"], textarea:not(.g-recaptcha-response)) {
  display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 12px 14px !important; box-sizing: border-box !important; float: none !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
  font: 500 15px/1.5 var(--v2-font) !important; color: var(--v2-ink) !important;
}
#box_productcomments .v2-rev form.comment input[type="text"] { height: 48px !important; padding: 0 14px !important; }
#box_productcomments .v2-rev form.comment textarea:not(.g-recaptcha-response) { min-height: 130px; resize: vertical; }
#box_productcomments .v2-rev form.comment :is(input, textarea):focus { outline: none !important; border-color: var(--v2-ink) !important; }
#box_productcomments .v2-rev form.comment ul.input_error { margin: 2px 0 0 !important; padding: 0 !important; list-style: none !important; }
#box_productcomments .v2-rev form.comment ul.input_error li { margin: 0 !important; padding: 0 !important; font: 600 13px var(--v2-font) !important; color: #dc2626 !important; background: none !important; }
#box_productcomments .v2-rev form.comment .g-recaptcha { margin-top: 10px; }
#box_productcomments .v2-rev form.comment button.btn {
  align-self: flex-start; display: inline-flex !important; align-items: center; justify-content: center; height: 50px !important; min-width: 180px; margin: 14px 0 0 !important; padding: 0 28px !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important; box-shadow: none !important; float: none !important;
  font: 800 15px var(--v2-font) !important; text-transform: none !important; cursor: pointer; transition: filter .15s, transform .15s;
}
#box_productcomments .v2-rev form.comment button.btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
#box_productcomments .v2-rev form.comment button.btn::before, #box_productcomments .v2-rev form.comment button.btn::after { content: none !important; display: none !important; }
#box_productcomments .v2-rev form.comment button.btn img { display: none !important; }
#box_productcomments .v2-rev form.comment button.btn span { color: inherit !important; font: inherit !important; }
#box_productcomments .v2-rev .alert { margin: 0 0 12px !important; }
@media (max-width: 980px) {
  .v2-rev { grid-template-columns: minmax(0, 1fr); grid-template-areas: "sum" "list" "form"; gap: 14px; }
  .v2-rev__summary { position: static; padding: 20px; border-radius: 16px; }
  .v2-rev__avg { font-size: 44px; }
  #box_productcomments .v2-rev .productcomment.v2-rev__item { padding: 18px !important; border-radius: 16px; }
  .v2-rev__formcard { padding: 20px; border-radius: 16px; }
  #box_productcomments .v2-rev form.comment button.btn { align-self: stretch; }
}

/* --- Dane techniczne / bezpieczeństwo na telefonie --- */
@media (max-width: 767px) {
  body.shop_product #box_productdata table.table td { padding: 12px 14px !important; font-size: 14px !important; }
  body.shop_product #box_productdata table.table td.name { width: 46% !important; }
  body.shop_product #box_productsafety .product-safety { grid-template-columns: minmax(0, 1fr); }
  body.shop_product #box_productsafety .product-safety > aside, body.shop_product #box_productsafety div.productfiles { padding: 18px !important; border-radius: 16px; }
}

/* --- Pasek „Do koszyka” na telefonie (pojawia się po przewinięciu za główny przycisk) --- */
.v2-buybar {
  position: fixed; z-index: 95; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 12px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid var(--v2-line);
  box-shadow: 0 -8px 24px rgba(14,16,20,.10); font-family: var(--v2-font); color: var(--v2-ink);
  transform: translateY(110%); transition: transform .22s ease; visibility: hidden;
}
.v2-buybar.is-on { transform: none; visibility: visible; }
.v2-buybar__info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.v2-buybar__name { font: 600 12.5px/1.3 var(--v2-font); color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-buybar__price { font: 800 19px/1.15 var(--v2-font); letter-spacing: -.3px; color: var(--v2-ink); white-space: nowrap; }
.v2-buybar__btn {
  flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 50px; padding: 0 20px; border: 0; border-radius: 12px;
  background: var(--v2-accent); color: var(--v2-ink); font: 800 15px var(--v2-font); cursor: pointer;
}
.v2-buybar__btn::before {
  content: ""; width: 18px; height: 18px; background: currentColor; flex: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='20' r='1.3'/%3E%3Ccircle cx='17' cy='20' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='20' r='1.3'/%3E%3Ccircle cx='17' cy='20' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.v2-buybar__btn:active { transform: scale(.98); }
.v2-buybar__btn:focus-visible { outline: 3px solid var(--v2-ink); outline-offset: 2px; }
@media (min-width: 981px) { .v2-buybar { display: none !important; } }
body.v2-buybar-on { padding-bottom: 76px !important; }
@media (max-width: 360px) { .v2-buybar__btn { padding: 0 14px; font-size: 14px; } .v2-buybar__btn::before { display: none; } }
@media (prefers-reduced-motion: reduce) { .v2-buybar { transition: none; } }

/* =====================================================================
   §30. Panel klienta – szczegóły zamówienia (panel/order.tpl bez zmian)
   ===================================================================== */
#box_order .order-details {
  display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 14px; margin: 0 0 32px !important; padding: 0 !important; width: auto !important;
}
#box_order .order-details > ul {
  width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 22px 24px !important; list-style: none !important;
  border: 1px solid var(--v2-line); border-radius: 18px; background: #fff; font: 500 14px/1.5 var(--v2-font); color: var(--v2-ink-2);
}
#box_order .order-details > ul > li { margin: 0 !important; padding: 0 !important; list-style: none !important; background: none !important; float: none !important; width: auto !important; }
#box_order .order-details > ul > li::before { content: none !important; display: none !important; }
#box_order ul.details > li { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0 !important; border-top: 1px solid var(--v2-line) !important; }
#box_order ul.details > li:first-child { border-top: 0 !important; padding-top: 0 !important; }
#box_order ul.details > li:last-child { padding-bottom: 0 !important; }
#box_order ul.details > li > strong { flex: none; font: 500 13px/1.4 var(--v2-font) !important; color: var(--v2-muted) !important; }
#box_order ul.details > li > :not(strong) { text-align: right; font: 700 14px/1.4 var(--v2-font) !important; color: var(--v2-ink) !important; word-break: break-word; }
#box_order ul.details > li.paid, #box_order ul.details > li.refunded { font: 700 14px var(--v2-font); color: var(--v2-ink); }
#box_order ul.details span.id { font-size: 16px !important; font-weight: 800 !important; }
#box_order ul.details span.status {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px !important; border-radius: 99px; background: var(--v2-accent-soft); color: var(--v2-accent-ink) !important; font-size: 13px !important;
}
#box_order ul.details span.status::before { content: ""; width: 7px; height: 7px; border-radius: 99px; background: currentColor; }
#box_order ul.details .confirm img { display: none !important; }
#box_order ul.details span.confirmed { color: #15803d !important; }
#box_order ul.details span.notconfirmed { color: #b91c1c !important; }
#box_order ul.details a { color: var(--v2-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; font-weight: 800; }
#box_order ul.details .parcel .date { display: block; font-weight: 500 !important; color: var(--v2-muted) !important; font-size: 12.5px; }
#box_order ul.address > li { display: flex !important; flex-direction: column; gap: 2px; }
#box_order ul.address b {
  display: block; margin: 0 0 8px; padding: 0 0 10px; border-bottom: 1px solid var(--v2-line);
  font: 800 12px/1.3 var(--v2-font); letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-muted);
}
#box_order ul.address p { margin: 0 !important; padding: 0 !important; font: inherit !important; color: inherit !important; }
#box_order ul.address b + p { color: var(--v2-ink) !important; font-weight: 700 !important; }
#box_order ul.address br + b { margin-top: 10px; }
/* produkty */
#box_order h4.products, #box_order h4.digital {
  display: block !important; margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important;
  font: 800 20px/1.25 var(--v2-font) !important; letter-spacing: -.3px; color: var(--v2-ink) !important; text-transform: none !important;
}
#box_order h4.products::before, #box_order h4.products::after, #box_order h4.digital::before, #box_order h4.digital::after { content: none !important; display: none !important; }
#box_order table.products {
  width: 100% !important; margin: 0 0 18px !important; border-collapse: separate !important; border-spacing: 0 !important; border: 1px solid var(--v2-line) !important; border-radius: 16px; overflow: hidden;
  background: #fff !important; font: 500 14px/1.45 var(--v2-font); color: var(--v2-ink);
}
#box_order table.products thead td {
  padding: 12px 18px !important; background: var(--v2-surface) !important; border: 0 !important;
  font: 800 12px/1.3 var(--v2-font) !important; letter-spacing: 1px; text-transform: uppercase; color: var(--v2-muted) !important;
}
#box_order table.products tbody td { padding: 16px 18px !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; background: #fff !important; vertical-align: middle !important; color: var(--v2-ink) !important; }
#box_order table.products :is(td.quantity, td.price, td.sum) { text-align: right !important; white-space: nowrap; width: 1%; }
#box_order table.products tbody td.sum { font-weight: 800 !important; }
#box_order table.products td.name a { color: var(--v2-ink) !important; font-weight: 700; text-decoration: none !important; }
#box_order table.products td.name a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
#box_order table.products td.name .variant { color: var(--v2-muted); font-weight: 500; }
#box_order table.products .bundle-products { margin-top: 6px; padding-left: 12px; border-left: 2px solid var(--v2-line); font-size: 13px; color: var(--v2-ink-2); }
#box_order table.products .bundle-products p { margin: 2px 0 !important; }
/* podsumowanie kwot */
#box_order .innerbox > div:not([class]):has(.r--l-flex) {
  max-width: 420px; margin: 0 0 24px auto !important; padding: 20px 24px; border-radius: 18px; background: var(--v2-surface); font-family: var(--v2-font);
}
#box_order .innerbox > div:not([class]) > .r--l-flex { display: flex !important; justify-content: space-between !important; align-items: baseline; gap: 16px; margin: 0 !important; padding: 6px 0 !important; text-align: left !important; }
#box_order .innerbox > div:not([class]) > .r--l-flex > span { flex: none !important; width: auto !important; max-width: none !important; padding: 0 !important; font: 500 14px/1.4 var(--v2-font) !important; color: var(--v2-ink-2) !important; }
#box_order .innerbox > div:not([class]) > .r--l-flex > span:last-child { font-weight: 700 !important; color: var(--v2-ink) !important; text-align: right !important; }
#box_order .innerbox > div:not([class]) > .r--l-flex:last-child { margin-top: 8px !important; padding-top: 14px !important; border-top: 1px solid #dfe2e7; }
#box_order .innerbox > div:not([class]) > .r--l-flex:last-child .r--fs-l { font: 800 16px var(--v2-font) !important; color: var(--v2-ink) !important; }
#box_order .innerbox > div:not([class]) > .r--l-flex:last-child strong.r--fs-l { font-size: 22px !important; letter-spacing: -.4px; }
/* zapłać */
#box_order form.pay { max-width: 420px; margin: 0 0 24px auto !important; padding: 0 !important; }
#box_order form.pay fieldset { display: flex !important; flex-direction: column; gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; font: 500 14px var(--v2-font); color: var(--v2-ink-2); }
#box_order form.pay button.btn.pay {
  width: 100% !important; height: 54px !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important; box-shadow: none !important; font-size: 16px !important; font-weight: 800 !important;
}
#box_order form.pay button.btn.pay:hover { filter: brightness(1.06); box-shadow: none !important; }
#box_order form.pay button.btn img { display: none !important; }
#box_order dl.details { margin: 0 0 10px !important; padding: 16px 20px !important; border: 1px solid var(--v2-line); border-radius: 14px; font: 500 14px var(--v2-font); }
#box_order dl.details dt { font-weight: 800; color: var(--v2-ink); margin: 0 0 4px; }
#box_order dl.details dd { margin: 0 !important; }
#box_order dl.details a { color: var(--v2-accent-ink) !important; font-weight: 700; }
@media (max-width: 980px) {
  #box_order .order-details { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #box_order ul.details { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  #box_order .order-details { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  #box_order .order-details > ul { padding: 18px !important; border-radius: 16px; }
  /* produkty jako karty */
  #box_order table.products, #box_order table.products tbody { display: block !important; border: 0 !important; border-radius: 0; background: none !important; overflow: visible; }
  #box_order table.products thead { display: none !important; }
  #box_order table.products tbody tr { display: grid !important; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 0 0 10px; padding: 16px; border: 1px solid var(--v2-line); border-radius: 16px; background: #fff; }
  #box_order table.products tbody td { display: block !important; padding: 0 !important; border: 0 !important; width: auto !important; text-align: left !important; }
  #box_order table.products tbody td.name { grid-column: 1 / -1; margin-bottom: 6px; }
  #box_order table.products tbody td.quantity { color: var(--v2-muted) !important; }
  #box_order table.products tbody td.quantity::after { content: " ×"; }
  #box_order table.products tbody td.price { justify-self: start; color: var(--v2-muted) !important; }
  #box_order table.products tbody td.sum { grid-column: 1 / -1; padding-top: 10px !important; margin-top: 6px; border-top: 1px solid var(--v2-line) !important; text-align: right !important; font-size: 16px !important; }
  #box_order .innerbox > div:not([class]):has(.r--l-flex), #box_order form.pay { max-width: none; margin-left: 0 !important; }
}

/* =====================================================================
   §31. Panel klienta – moje opinie (panel/comments.tpl bez zmian)
   ===================================================================== */
body:not(.shop_product) #box_productcomments { margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; background: none !important; font-family: var(--v2-font); color: var(--v2-ink); }
body:not(.shop_product) #box_productcomments > .boxhead { display: block !important; margin: 0 0 22px !important; padding: 0 !important; height: auto !important; border: 0 !important; background: none !important; text-align: left !important; }
body:not(.shop_product) #box_productcomments > .boxhead::before, body:not(.shop_product) #box_productcomments > .boxhead::after,
body:not(.shop_product) #box_productcomments > .boxhead span::before, body:not(.shop_product) #box_productcomments > .boxhead span::after { content: none !important; display: none !important; }
body:not(.shop_product) #box_productcomments > .boxhead span { display: block !important; padding: 0 !important; background: none !important; font: 800 32px/1.15 var(--v2-font) !important; letter-spacing: -.8px; color: var(--v2-ink) !important; text-transform: none !important; }
body:not(.shop_product) #box_productcomments img.px1 { display: none !important; }
body:not(.shop_product) #box_productcomments > .innerbox { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
body:not(.shop_product) #box_productcomments > .innerbox:not(:has(.productcomment))::before {
  content: "Nie dodałeś jeszcze żadnej opinii. Możesz to zrobić na stronie produktu, w zakładce „Opinie”.";
  grid-column: 1 / -1; padding: 28px; border: 1.5px dashed #d2d6dc; border-radius: 18px; font: 500 15px/1.5 var(--v2-font); color: var(--v2-ink-2);
}
body:not(.shop_product) #box_productcomments .productcomment {
  display: flex !important; flex-direction: column; gap: 8px; margin: 0 !important; padding: 22px 24px !important; float: none !important; width: auto !important;
  border: 1px solid var(--v2-line) !important; border-radius: 18px; background: #fff !important; box-shadow: none !important;
}
body:not(.shop_product) #box_productcomments .productcomment::before, body:not(.shop_product) #box_productcomments .productcomment::after { content: none !important; display: none !important; }
body:not(.shop_product) #box_productcomments .productcomment h5 { order: 2; margin: 0 !important; padding: 0 !important; float: none !important; background: none !important; border: 0 !important; }
body:not(.shop_product) #box_productcomments .productcomment h5 a { font: 800 16px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: none !important; text-transform: none !important; }
body:not(.shop_product) #box_productcomments .productcomment h5 a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
body:not(.shop_product) #box_productcomments .productcomment .date { order: 1; margin: 0 !important; padding: 0 !important; float: none !important; font: 700 12px/1.3 var(--v2-font) !important; letter-spacing: 1px; text-transform: uppercase; color: var(--v2-muted) !important; }
body:not(.shop_product) #box_productcomments .productcomment p { order: 3; margin: 4px 0 0 !important; padding: 12px 0 0 !important; border-top: 1px solid var(--v2-line); font: 500 14.5px/1.6 var(--v2-font) !important; color: var(--v2-ink-2) !important; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  body:not(.shop_product) #box_productcomments > .boxhead span { font-size: 26px !important; }
  body:not(.shop_product) #box_productcomments > .innerbox { grid-template-columns: minmax(0, 1fr); }
  body:not(.shop_product) #box_productcomments .productcomment { padding: 18px !important; border-radius: 16px; }
}

/* =====================================================================
   §32. Przypomnienie hasła (login/passremind.tpl – dodany opis i link; passremind2.tpl bez zmian)
        Formularz korzysta ze stylu „zmiany hasła” z §20 – tutaj tylko wyśrodkowanie.
   ===================================================================== */
body:is(.shop_login_passremind, .shop_login_passremind2, .shop_login_passremindstep3) #box_passchange { max-width: 520px; margin: 16px auto 80px !important; }
body:is(.shop_login_passremind, .shop_login_passremind2, .shop_login_passremindstep3) #box_passchange > .boxhead span { font-size: 32px !important; }
body:is(.shop_login_passremind, .shop_login_passremind2, .shop_login_passremindstep3) #box_passchange form { max-width: none !important; }
body:is(.shop_login_passremind, .shop_login_passremind2, .shop_login_passremindstep3) #box_passchange .bottombuttons button.btn { flex: 1 1 auto; min-width: 0 !important; background: var(--v2-ink) !important; color: #fff !important; box-shadow: none !important; font-weight: 800 !important; }
body:is(.shop_login_passremind, .shop_login_passremind2, .shop_login_passremindstep3) #box_passchange .bottombuttons button.btn:hover { background: #2a2e37 !important; }
#box_passchange .v2-pr__lead { margin: -10px 0 20px !important; font: 500 15px/1.55 var(--v2-font); color: var(--v2-ink-2); }
#box_passchange .v2-pr__back { margin: 18px 0 0 !important; text-align: center; font: 600 14px var(--v2-font); }
#box_passchange .v2-pr__back a { color: var(--v2-ink-2) !important; text-decoration: none !important; }
#box_passchange .v2-pr__back a:hover { color: var(--v2-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; }
#box_passchange .rightside, #box_passchange .bottombar, #box_passchange .floatfix { display: none !important; }
#box_passchange .g-recaptcha { margin-top: 12px; }

/* =====================================================================
   §33. Strona 404 (error/not-found.tpl – przebudowana)
   ===================================================================== */
#box_404 { margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
#box_404 > .boxhead { display: none !important; }
#box_404 > .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
.v2-404 { font-family: var(--v2-font); color: var(--v2-ink); }
.v2-404 *, .v2-404 *::before, .v2-404 *::after { box-sizing: border-box; }
.v2-404__hero {
  position: relative; overflow: hidden; padding: 64px 56px; border-radius: 24px; background: var(--v2-dark); color: #fff;
  display: flex; flex-direction: column; align-items: flex-start; gap: 16px;
}
.v2-404__hero::after {
  content: ""; position: absolute; right: -60px; top: 50%; width: 420px; height: 420px; margin-top: -210px; border-radius: 99px; pointer-events: none;
  background: radial-gradient(circle, rgba(249,115,22,.38) 0%, rgba(249,115,22,.08) 45%, transparent 70%);
}
.v2-404__hero > * { position: relative; z-index: 1; }
.v2-404__code {
  position: absolute !important; z-index: 0 !important; right: 48px; top: 50%; transform: translateY(-50%);
  font: 800 220px/1 var(--v2-font); letter-spacing: -10px; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.18); user-select: none;
}
.v2 .v2-404__title, .v2-404 h1.v2-404__title {
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; max-width: 640px;
  font: 800 48px/1.08 var(--v2-font) !important; letter-spacing: -1.4px; color: #fff !important; text-transform: none !important; text-align: left !important;
}
.v2-404__title::before, .v2-404__title::after { content: none !important; }
.v2-404__lead { margin: 0 !important; max-width: 560px; font: 500 17px/1.55 var(--v2-font) !important; color: rgba(255,255,255,.72) !important; }
.v2-404__sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.v2-404 form.v2-404__search { width: 100%; max-width: 620px; margin: 10px 0 0 !important; padding: 0 !important; }
.v2-404 form.v2-404__search fieldset { display: flex !important; gap: 0; min-width: 0 !important; width: 100%; margin: 0 !important; padding: 6px !important; border: 0 !important; border-radius: 16px; background: #fff; }
.v2-404 form.v2-404__search input[type="text"] {
  flex: 1 1 auto; min-width: 0; width: auto !important; height: 50px !important; margin: 0 !important; padding: 0 14px 0 44px !important; border: 0 !important; border-radius: 12px !important; box-shadow: none !important; float: none !important;
  font: 500 16px var(--v2-font) !important; color: var(--v2-ink) !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") 14px center / 20px no-repeat !important;
}
.v2-404 form.v2-404__search input[type="text"]:focus { outline: none !important; }
.v2-404 form.v2-404__search fieldset:focus-within { box-shadow: 0 0 0 3px var(--v2-accent); }
.v2-404 form.v2-404__search button.btn {
  flex: none; display: inline-flex !important; align-items: center; justify-content: center; height: 50px !important; margin: 0 !important; padding: 0 26px !important; float: none !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-accent) !important; color: var(--v2-ink) !important; box-shadow: none !important; cursor: pointer;
  font: 800 15px var(--v2-font) !important; text-transform: none !important;
}
.v2-404 form.v2-404__search button.btn:hover { filter: brightness(1.06); }
.v2-404 form.v2-404__search button.btn img { display: none !important; }
.v2-404 form.v2-404__search button.btn span { color: inherit !important; font: inherit !important; }
.v2-404 form.v2-404__search button.btn::before, .v2-404 form.v2-404__search button.btn::after { content: none !important; display: none !important; }
.v2-404__btns { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 0 !important; }
.v2-404 a.v2-404__btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 12px; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.28);
  font: 700 15px var(--v2-font); color: #fff !important; text-decoration: none !important; transition: box-shadow .15s, background .15s;
}
.v2-404 a.v2-404__btn:hover { box-shadow: inset 0 0 0 1.5px #fff; }
.v2-404 a.v2-404__btn--dark { background: #fff; color: var(--v2-ink) !important; box-shadow: none; }
.v2-404 a.v2-404__btn--dark:hover { background: #eceef2; box-shadow: none; }
.v2-404 a.v2-404__btn:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
.v2-404__cats { margin-top: 40px; }
.v2-404 .v2-404__h2 { margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: none !important; font: 800 24px/1.2 var(--v2-font) !important; letter-spacing: -.5px; color: var(--v2-ink) !important; text-transform: none !important; text-align: left !important; }
.v2-404__h2::before, .v2-404__h2::after { content: none !important; }
.v2-404__cats ul { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.v2-404__cats li { margin: 0 !important; padding: 0 !important; list-style: none !important; background: none !important; }
.v2-404__cats li::before { content: none !important; }
.v2-404__cats a {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 58px; padding: 0 18px; border: 1px solid var(--v2-line); border-radius: 14px; background: #fff;
  font: 700 15px/1.3 var(--v2-font); color: var(--v2-ink) !important; text-decoration: none !important; transition: border-color .15s, transform .15s;
}
.v2-404__cats a::after { content: "→"; color: var(--v2-muted); transition: transform .15s, color .15s; }
.v2-404__cats a:hover { border-color: var(--v2-ink); }
.v2-404__cats a:hover::after { color: var(--v2-ink); transform: translateX(3px); }
.v2-404__cats a:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
@media (max-width: 767px) {
  .v2-404__hero { padding: 36px 22px; border-radius: 18px; gap: 12px; }
  .v2-404__code { font-size: 120px; letter-spacing: -5px; right: -10px; top: 18px; transform: none; }
  .v2 .v2-404__title, .v2-404 h1.v2-404__title { font-size: 32px !important; letter-spacing: -.8px; }
  .v2-404__lead { font-size: 15px !important; }
  .v2-404 form.v2-404__search fieldset { flex-direction: column; gap: 6px; }
  .v2-404 form.v2-404__search button.btn { width: 100%; }
  .v2-404 form.v2-404__search input[type="text"] { width: 100% !important; flex: none; }
  .v2-404__btns { width: 100%; }
  .v2-404 a.v2-404__btn { flex: 1 1 140px; }
  .v2-404__cats { margin-top: 28px; }
  .v2-404__cats ul { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

/* =====================================================================
   §34. Lista kategorii (categories/list.tpl bez zmian)
   ===================================================================== */
#box_categories { margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--v2-font); }
#box_categories > .boxhead { display: block !important; margin: 0 0 22px !important; padding: 0 !important; height: auto !important; border: 0 !important; background: none !important; text-align: left !important; }
#box_categories > .boxhead::before, #box_categories > .boxhead::after, #box_categories > .boxhead h3::before, #box_categories > .boxhead h3::after { content: none !important; display: none !important; }
#box_categories > .boxhead h3 { margin: 0 !important; padding: 0 !important; background: none !important; font: 800 32px/1.15 var(--v2-font) !important; letter-spacing: -.8px; color: var(--v2-ink) !important; text-transform: none !important; }
#box_categories img.px1 { display: none !important; }
#box_categories > .innerbox { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
#box_categories > .innerbox::before, #box_categories > .innerbox::after { content: none !important; display: none !important; }
#box_categories h5 { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; float: none !important; width: auto !important; }
#box_categories h5::before, #box_categories h5::after { content: none !important; display: none !important; }
#box_categories h5 a {
  display: flex !important; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 0 20px !important; border: 1px solid var(--v2-line) !important; border-radius: 16px; background: #fff !important;
  font: 700 15px/1.3 var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: none !important; text-transform: none !important; transition: border-color .15s, box-shadow .15s;
}
#box_categories h5 a span { color: inherit !important; font: inherit !important; }
#box_categories h5 a::after { content: "→" !important; display: block !important; position: static !important; color: var(--v2-muted); font: 700 16px var(--v2-font) !important; transition: transform .15s, color .15s; }
#box_categories h5 a:hover { border-color: var(--v2-ink) !important; box-shadow: 0 8px 22px rgba(17,19,24,.07); }
#box_categories h5 a:hover::after { color: var(--v2-ink); transform: translateX(3px); }
#box_categories h5 a:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
@media (max-width: 767px) {
  #box_categories > .boxhead h3 { font-size: 26px !important; }
  #box_categories > .innerbox { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  #box_categories h5 a { min-height: 56px; padding: 0 16px !important; }
}

/* =====================================================================
   §35. Strony rzadkie
        – kod weryfikacyjny (podgląd zamówienia bez logowania, archiwum danych RODO),
          archiwum wygasło (panel/verification.tpl, archive/*.tpl – bez zmian)
        – wypisanie z newslettera (newsletter/unsign.tpl – bez zmian)
        – linki (links/index.tpl – bez zmian)
        – osobny krok wyboru dostawy i płatności (basket/shipping.tpl – bez zmian)
        – sklep wyłączony (off/index.tpl – przebudowany)
   ===================================================================== */

/* --- wspólna karta formularza --- */
.main.rodo .rodo__container, .main.rodo .center-row.s-grid-6 { float: none !important; width: 100% !important; max-width: 560px !important; margin: 24px auto 80px !important; padding: 0 !important; }
.main.rodo .box, #box_newsletterunsign {
  margin: 0 !important; padding: 32px !important; border: 1px solid var(--v2-line) !important; border-radius: var(--v2-radius) !important; background: #fff !important; box-shadow: none !important;
  font-family: var(--v2-font); color: var(--v2-ink); box-sizing: border-box;
}
.main.rodo .box form, .main.rodo .box fieldset, #box_newsletterunsign form, #box_newsletterunsign fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; }
.main.rodo .box fieldset, #box_newsletterunsign fieldset { display: flex !important; flex-direction: column; gap: 14px; }
:is(.main.rodo .box, #box_newsletterunsign) .boxhead { display: block !important; height: auto !important; margin: 0 0 4px !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
:is(.main.rodo .box, #box_newsletterunsign) .boxhead::before, :is(.main.rodo .box, #box_newsletterunsign) .boxhead::after,
:is(.main.rodo .box, #box_newsletterunsign) .boxhead h3::before, :is(.main.rodo .box, #box_newsletterunsign) .boxhead h3::after { content: none !important; display: none !important; }
:is(.main.rodo .box, #box_newsletterunsign) .boxhead h3 {
  margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important;
  font: 800 26px/1.2 var(--v2-font) !important; letter-spacing: -.5px; color: var(--v2-ink) !important; text-transform: none !important; text-align: left !important;
}
:is(.main.rodo, #box_newsletterunsign) img.px1 { display: none !important; }
.main.rodo .box .f-row { display: block !important; margin: 0 !important; padding: 0 !important; width: auto !important; }
.main.rodo .box .f-row::before, .main.rodo .box .f-row::after { content: none !important; display: none !important; }
.main.rodo .box .center-row, .main.rodo .box .f-grid-6 { float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.main.rodo .box p { margin: 0 !important; font: 500 15px/1.55 var(--v2-font) !important; color: var(--v2-ink-2) !important; }
.main.rodo .box p a, .main.rodo .box p a[verification-get-new-code] { color: var(--v2-accent-ink) !important; font-weight: 700; text-decoration: underline !important; text-underline-offset: 3px; cursor: pointer; }
.main.rodo .box #verification_code {
  display: block !important; width: 100% !important; max-width: none !important; height: 60px !important; margin: 4px 0 0 !important; padding: 0 16px !important; box-sizing: border-box !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; text-align: center;
  font: 800 26px/1 var(--v2-font) !important; letter-spacing: 10px; color: var(--v2-ink) !important;
}
.main.rodo .box #verification_code::placeholder { font-size: 15px; font-weight: 500; letter-spacing: 0; color: var(--v2-muted); }
.main.rodo .box #verification_code:focus { outline: none !important; border-color: var(--v2-ink) !important; }
.main.rodo .box #verification_code.error { border-color: #dc2626 !important; }
.main.rodo .box ul.error { margin: 6px 0 0 !important; padding: 0 !important; list-style: none !important; }
.main.rodo .box ul.error li { margin: 0 !important; padding: 0 !important; background: none !important; font: 600 13px/1.4 var(--v2-font) !important; color: #dc2626 !important; text-align: center; }
.main.rodo .box .bottombuttons { display: block !important; margin: 4px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.main.rodo .box .bottombuttons p { margin-top: 10px !important; text-align: center; font-size: 13px !important; color: var(--v2-muted) !important; }
:is(.main.rodo .box, #box_newsletterunsign) button.btn {
  display: flex !important; align-items: center; justify-content: center; gap: 6px; width: 100% !important; height: 52px !important; margin: 0 !important; padding: 0 20px !important; float: none !important;
  border: 0 !important; border-radius: 12px !important; background: var(--v2-ink) !important; color: #fff !important; box-shadow: none !important; cursor: pointer;
  font: 800 15px var(--v2-font) !important; text-transform: none !important; letter-spacing: 0 !important;
}
:is(.main.rodo .box, #box_newsletterunsign) button.btn:hover { background: #2a2e37 !important; }
:is(.main.rodo .box, #box_newsletterunsign) button.btn::before, :is(.main.rodo .box, #box_newsletterunsign) button.btn::after { content: none !important; display: none !important; }
:is(.main.rodo .box, #box_newsletterunsign) button.btn span { color: inherit !important; font: inherit !important; }
:is(.main.rodo .box, #box_newsletterunsign) button.btn:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
/* archiwum wygasło */
.main.rodo .rodo__expired-section { text-align: left; }
.main.rodo .rodo__expired-section .boxhead { margin-bottom: 10px !important; }

/* --- wypisanie z newslettera --- */
#box_newsletterunsign { max-width: 520px; margin: 24px auto 80px !important; }
#box_newsletterunsign > .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
#box_newsletterunsign label {
  display: block !important; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; text-align: left !important;
  font: 500 15px/1.55 var(--v2-font) !important; color: var(--v2-ink-2) !important;
}
#box_newsletterunsign .shaded_inputwrap { display: block !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
#box_newsletterunsign input[type="text"] {
  display: block !important; width: 100% !important; max-width: none !important; height: 52px !important; margin: 0 !important; padding: 0 16px !important; box-sizing: border-box !important;
  border: 1.5px solid #d2d6dc !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; font: 500 15px var(--v2-font) !important; color: var(--v2-ink) !important;
}
#box_newsletterunsign input[type="text"]:focus { outline: none !important; border-color: var(--v2-ink) !important; }
#box_newsletterunsign .shaded_inputwrap.error input { border-color: #dc2626 !important; }

/* --- linki --- */
#box_links { margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--v2-font); }
#box_links > .boxhead { display: block !important; margin: 0 0 22px !important; padding: 0 !important; height: auto !important; border: 0 !important; background: none !important; text-align: left !important; }
#box_links > .boxhead::before, #box_links > .boxhead::after, #box_links > .boxhead h3::before, #box_links > .boxhead h3::after { content: none !important; display: none !important; }
#box_links > .boxhead h3 { margin: 0 !important; padding: 0 !important; background: none !important; font: 800 32px/1.15 var(--v2-font) !important; letter-spacing: -.8px; color: var(--v2-ink) !important; text-transform: none !important; }
#box_links img.px1 { display: none !important; }
#box_links > .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
#box_links ul.links { max-width: 760px; margin: 0 !important; padding: 0 !important; list-style: none !important; border: 1px solid var(--v2-line); border-radius: 18px; overflow: hidden; background: #fff; }
#box_links ul.links > li { display: block !important; margin: 0 !important; padding: 0 0 18px !important; list-style: none !important; background: none !important; border: 0 !important; }
#box_links ul.links > li::before, #box_links ul.links > li::after { content: none !important; display: none !important; }
#box_links ul.links > li > img { display: block; max-width: 140px; max-height: 60px; margin: 18px 22px 0; object-fit: contain; }
#box_links ul.links > li > a {
  display: flex !important; align-items: center; justify-content: space-between; gap: 12px; margin: 0 !important; padding: 18px 22px 0 !important; border-top: 1px solid var(--v2-line);
  font: 800 16px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; text-decoration: none !important;
}
#box_links ul.links > li > a:first-child, #box_links ul.links > li > img:first-child + a { border-top: 0; }
#box_links ul.links > li > img + a { border-top: 0; padding-top: 10px !important; }
#box_links ul.links > li > a::after { content: "↗"; color: var(--v2-muted); font-weight: 700; }
#box_links ul.links > li > a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
#box_links ul.links > li > a:hover::after { color: var(--v2-ink); }
#box_links ul.links p.description { margin: 4px 22px 0 !important; padding: 0 !important; font: 500 14px/1.5 var(--v2-font) !important; color: var(--v2-ink-2) !important; }
#box_links ul.links p.description + img, #box_links ul.links p.description + a { margin-top: 18px !important; }

/* --- osobny krok: wybór dostawy i płatności --- */
#box_basketshipping { max-width: 980px; margin: 8px auto 60px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--v2-font); color: var(--v2-ink); }
#box_basketshipping > .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
#box_basketshipping .clearfix::before, #box_basketshipping .clearfix::after { content: none !important; display: none !important; }
#box_basketshipping form > .clearfix:first-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
#box_basketshipping :is(.shipping-container, .payment-container) { display: flex !important; flex-direction: column; gap: 10px; width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
#box_basketshipping :is(.shipping-container, .payment-container) > h5 {
  margin: 0 0 4px !important; padding: 0 !important; border: 0 !important; background: none !important;
  font: 800 20px/1.25 var(--v2-font) !important; letter-spacing: -.3px; color: var(--v2-ink) !important; text-transform: none !important;
}
#box_basketshipping :is(div.delivery, div.payment):not(.total-values *) {
  position: relative; display: flex !important; align-items: flex-start; justify-content: space-between; gap: 12px; margin: 0 !important; padding: 15px 18px !important; float: none !important; width: auto !important;
  border: 1.5px solid var(--v2-line) !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; cursor: pointer; transition: border-color .15s;
}
#box_basketshipping :is(div.delivery, div.payment):not(.total-values *):hover { border-color: #9ca3af !important; }
#box_basketshipping :is(div.delivery, div.payment):not(.total-values *):has(input:checked) { border: 2px solid var(--v2-ink) !important; padding: 14.5px 17.5px !important; }
#box_basketshipping :is(div.delivery, div.payment):not(.total-values *)::before, #box_basketshipping :is(div.delivery, div.payment):not(.total-values *)::after { content: none !important; display: none !important; }
#box_basketshipping :is(div.delivery, div.payment) .name { display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-width: 0; flex: 1 1 auto; width: auto !important; float: none !important; padding: 0 !important; }
#box_basketshipping :is(div.delivery, div.payment) .name > label { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; font: 700 15px/1.35 var(--v2-font) !important; color: var(--v2-ink) !important; cursor: pointer; }
#box_basketshipping :is(div.delivery, div.payment) .description { flex: 0 0 100%; padding-left: 34px; font: 500 13px/1.45 var(--v2-font) !important; color: var(--v2-muted) !important; }
#box_basketshipping :is(div.delivery, div.payment) .description:empty, #box_basketshipping .additional_cost_percent:empty { display: none !important; }
#box_basketshipping :is(div.delivery, div.payment) > .value { flex: none; width: auto !important; float: none !important; padding: 0 !important; font: 800 15px var(--v2-font) !important; color: var(--v2-ink) !important; white-space: nowrap; }
#box_basketshipping div.payment > .value:empty { display: none !important; }
#box_basketshipping .radio-wrap { position: relative !important; display: inline-block !important; flex: none; width: 22px; height: 22px; margin: 0 !important; left: auto !important; top: auto !important; }
#box_basketshipping .radio-wrap input { position: absolute !important; inset: 0; width: 22px !important; height: 22px !important; margin: 0 !important; opacity: 0 !important; cursor: pointer; }
#box_basketshipping .radio-wrap label {
  position: absolute !important; inset: 0; display: block !important; width: 22px !important; height: 22px !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box;
  border: 2px solid #c3c7cf !important; border-radius: 99px !important; background: #fff !important; transition: border-width .12s, border-color .12s;
}
#box_basketshipping .radio-wrap label::before, #box_basketshipping .radio-wrap label::after { content: none !important; display: none !important; }
#box_basketshipping .radio-wrap input:checked + label { border: 7px solid var(--v2-ink) !important; }
#box_basketshipping .radio-wrap input:focus-visible + label { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
#box_basketshipping .hint__content { display: block; position: static !important; flex: 0 0 100%; margin: 6px 0 0 34px; padding: 0 !important; background: none !important; box-shadow: none !important; font: 500 12.5px/1.4 var(--v2-font); color: var(--v2-accent-ink); }
#box_basketshipping .hint__content::before, #box_basketshipping .hint__content::after { content: none !important; }
/* podsumowanie */
#box_basketshipping .total-values {
  max-width: 420px; margin: 28px 0 0 auto !important; padding: 20px 24px !important; border: 0 !important; border-radius: 18px; background: var(--v2-surface) !important; float: none !important;
}
#box_basketshipping .total-values > div, #box_basketshipping .total-values .promo {
  display: flex !important; justify-content: space-between; align-items: baseline; gap: 16px; margin: 0 !important; padding: 6px 0 !important; border: 0 !important; background: none !important; float: none !important; width: auto !important;
}
#box_basketshipping .total-values .promos { display: block !important; padding: 0 !important; }
#box_basketshipping .total-values .promos:empty { display: none !important; }
#box_basketshipping .total-values :is(.desc, .value, .sum) { width: auto !important; float: none !important; padding: 0 !important; font: 500 14px/1.4 var(--v2-font) !important; color: var(--v2-ink-2) !important; text-align: left !important; }
#box_basketshipping .total-values .desc em { font-style: normal; }
#box_basketshipping .total-values > div > :last-child { font-weight: 700 !important; color: var(--v2-ink) !important; text-align: right !important; }
#box_basketshipping .total-values > div.payment:has(.value:empty) { display: none !important; }
#box_basketshipping .total-values > div.sum { margin-top: 8px !important; padding-top: 14px !important; border-top: 1px solid #dfe2e7 !important; }
#box_basketshipping .total-values > div.sum .desc { font: 800 16px var(--v2-font) !important; color: var(--v2-ink) !important; }
#box_basketshipping .total-values > div.sum .value { font: 800 22px var(--v2-font) !important; letter-spacing: -.4px; }
/* przyciski */
#box_basketshipping form > fieldset { margin: 20px 0 0 !important; padding: 0 !important; border: 0 !important; }
#box_basketshipping .bottombuttons { display: flex !important; justify-content: space-between; gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
#box_basketshipping .bottombuttons button.btn {
  display: inline-flex !important; align-items: center; justify-content: center; height: 54px !important; margin: 0 !important; padding: 0 26px !important; float: none !important; width: auto !important;
  border: 0 !important; border-radius: 12px !important; background: #fff !important; box-shadow: inset 0 0 0 1.5px #d2d6dc !important; color: var(--v2-ink) !important; cursor: pointer;
  font: 700 15px var(--v2-font) !important; text-transform: none !important;
}
#box_basketshipping .bottombuttons button.btn:hover { box-shadow: inset 0 0 0 1.5px var(--v2-ink) !important; }
#box_basketshipping .bottombuttons button.btn.order { min-width: 260px; background: var(--v2-accent) !important; box-shadow: none !important; font-weight: 800 !important; }
#box_basketshipping .bottombuttons button.btn.order:hover { filter: brightness(1.06); }
#box_basketshipping .bottombuttons button.btn img { display: none !important; }
#box_basketshipping .bottombuttons button.btn span { color: inherit !important; font: inherit !important; }
#box_basketshipping .bottombuttons button.btn::before, #box_basketshipping .bottombuttons button.btn::after { content: none !important; display: none !important; }
#box_basketshipping .bottombuttons button.btn.back::before { content: "←" !important; display: inline !important; position: static !important; margin-right: 8px; background: none !important; }

/* --- sklep wyłączony --- */
body.off { margin: 0; min-height: 100vh; background: var(--v2-surface, #f5f6f8) !important; font-family: var(--v2-font, "Manrope", system-ui, sans-serif); }
body.off .main { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 24px 16px; box-sizing: border-box; background: none !important; }
body.off #box_shopoff { width: 100%; max-width: 560px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.off #box_shopoff > .innerbox { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
.v2-off { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 40px; border: 1px solid #e6e8ec; border-radius: 24px; background: #fff; color: #111318; box-sizing: border-box; }
.v2-off__logo { margin-bottom: 14px; }
.v2-off__logo img { display: block; max-width: 200px; max-height: 56px; width: auto; height: auto; }
.v2-off__logo span { font: 800 28px/1 var(--v2-font, system-ui); letter-spacing: -.6px; color: #111318; }
.v2-off__logo b { color: #f97316; }
.v2-off__badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 99px; background: #fff4ec; color: #c2410c; font: 800 12px/1.2 var(--v2-font, system-ui); letter-spacing: 1px; text-transform: uppercase; }
.v2-off__badge::before { content: ""; width: 8px; height: 8px; border-radius: 99px; background: currentColor; animation: v2-off-blink 1.6s ease-in-out infinite; }
@keyframes v2-off-blink { 50% { opacity: .3; } }
body.off h1.v2-off__title { margin: 0 !important; padding: 0 !important; font: 800 40px/1.1 var(--v2-font, system-ui) !important; letter-spacing: -1.2px; color: #111318 !important; text-transform: none !important; }
.v2-off__msg p { margin: 0 !important; font: 500 16px/1.6 var(--v2-font, system-ui) !important; color: #4b5160 !important; }
.v2-off__contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; margin: 14px 0 0 !important; padding: 18px 0 0 !important; border-top: 1px solid #e6e8ec; list-style: none !important; }
.v2-off__contact li { display: flex; flex-direction: column; gap: 2px; margin: 0 !important; padding: 0 !important; list-style: none !important; background: none !important; }
.v2-off__contact li::before { content: none !important; }
.v2-off__contact span { font: 600 12px/1.3 var(--v2-font, system-ui); color: #6b7280; }
.v2-off__contact a { font: 800 15px/1.35 var(--v2-font, system-ui); color: #111318 !important; text-decoration: none !important; word-break: break-word; }
.v2-off__contact a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .v2-off__badge::before { animation: none; } }

@media (max-width: 767px) {
  .main.rodo .box, #box_newsletterunsign { padding: 22px !important; border-radius: 16px !important; }
  :is(.main.rodo .box, #box_newsletterunsign) .boxhead h3 { font-size: 22px !important; }
  #box_links > .boxhead h3 { font-size: 26px !important; }
  #box_basketshipping form > .clearfix:first-child { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #box_basketshipping .total-values { max-width: none; margin-left: 0 !important; }
  #box_basketshipping .bottombuttons { flex-direction: column-reverse; }
  #box_basketshipping .bottombuttons button.btn { width: 100% !important; min-width: 0 !important; }
  .v2-off { padding: 26px 22px; border-radius: 18px; }
  body.off h1.v2-off__title { font-size: 30px !important; }
  .v2-off__contact { grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================
   §36. Klasa energetyczna na karcie produktu (product/index.tpl – blok .v2-energy)
        Ikona klasy (images/user/a.png … g.png) pod ceną; jeśli produkt ma plik
        z opisem „Etykieta energetyczna”, kliknięcie pobiera PDF.
   ===================================================================== */
body.shop_product #box_productfull .v2-energy { display: block !important; margin: 14px 0 0 !important; padding: 0 !important; float: none !important; width: auto !important; font-family: var(--v2-font); }
body.shop_product #box_productfull .v2-energy::before, body.shop_product #box_productfull .v2-energy::after { content: none !important; display: none !important; }
body.shop_product #box_productfull .v2-energy__link {
  display: inline-flex !important; align-items: center; gap: 12px; min-height: 48px; padding: 6px 14px 6px 14px !important; margin: 0 !important;
  border: 1px solid var(--v2-line) !important; border-radius: 12px; background: #fff !important; box-shadow: none !important;
  color: var(--v2-ink) !important; text-decoration: none !important; box-sizing: border-box;
}
body.shop_product #box_productfull .v2-energy__label { font: 600 13px/1.3 var(--v2-font) !important; color: var(--v2-muted) !important; }
body.shop_product #box_productfull .v2-energy__img { display: block !important; width: 60px !important; height: 33px !important; max-width: none !important; margin: 0 !important; border: 0 !important; }
body.shop_product #box_productfull .v2-energy__txt { font: 800 16px var(--v2-font) !important; color: var(--v2-ink) !important; }
body.shop_product #box_productfull .v2-energy__pdf {
  display: inline-flex; align-items: center; gap: 6px; padding-left: 12px; border-left: 1px solid var(--v2-line);
  font: 700 13px/1.2 var(--v2-font); color: var(--v2-ink); white-space: nowrap;
}
body.shop_product #box_productfull .v2-energy__pdf::before {
  content: ""; width: 16px; height: 16px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.shop_product #box_productfull a.v2-energy__link { cursor: pointer; transition: border-color .15s, box-shadow .15s; }
body.shop_product #box_productfull a.v2-energy__link:hover { border-color: var(--v2-ink) !important; box-shadow: 0 6px 18px rgba(17,19,24,.08) !important; }
body.shop_product #box_productfull a.v2-energy__link:hover .v2-energy__pdf { text-decoration: underline; text-underline-offset: 3px; }
body.shop_product #box_productfull a.v2-energy__link:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 2px; }
@media (max-width: 360px) {
  body.shop_product #box_productfull .v2-energy__link { gap: 10px; padding: 6px 10px !important; }
  body.shop_product #box_productfull .v2-energy__label { font-size: 12px !important; }
}

/* =====================================================================
   §37. Dzwoneczek „Zobacz powiadomienia” (aplikacja WebCoders Popup)
        Pływający przycisk w lewym dolnym rogu + lista powiadomień nad nim.
        Aby wrócić do lewego górnego rogu: zamień „bottom: 20px; top: auto”
        na „top: 20px; bottom: auto” w pierwszej regule i w regule listy.
   ===================================================================== */
a.wce_popup-consolidator-trigger {
  top: auto !important; bottom: 20px !important; left: 20px !important; z-index: 9990 !important;
  width: 52px !important; height: 52px !important; line-height: normal !important; border-radius: 99px !important;
  display: flex !important; align-items: center; justify-content: center;
  background: var(--v2-ink) !important; color: #fff !important; box-shadow: 0 10px 28px rgba(14,16,20,.28) !important;
  transition: transform .15s ease, background .15s ease; font-family: var(--v2-font);
}
a.wce_popup-consolidator-trigger.wce_none { display: none !important; }
a.wce_popup-consolidator-trigger:hover { background: #2a2e37 !important; transform: translateY(-2px); }
a.wce_popup-consolidator-trigger:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 3px; }
/* dzwonek (zamiast ikony FontAwesome) */
a.wce_popup-consolidator-trigger::before {
  content: "" !important; font-family: inherit !important; position: static !important; display: block !important;
  width: 22px !important; height: 22px !important; line-height: 1 !important; font-size: 0 !important; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E") center / contain no-repeat;
  transform-origin: 50% 10%; animation: wce_bellShake 4s linear 1s infinite;
}
/* pomarańczowa kropka „nowe” */
a.wce_popup-consolidator-trigger::after {
  content: ""; position: absolute; top: 11px; right: 12px; width: 10px; height: 10px; border-radius: 99px;
  background: var(--v2-accent); box-shadow: 0 0 0 2px var(--v2-ink);
}
a.wce_popup-consolidator-trigger:hover::after { box-shadow: 0 0 0 2px #2a2e37; }
/* etykieta „Zobacz powiadomienia” po najechaniu */
a.wce_popup-consolidator-trigger span {
  position: absolute !important; top: 50% !important; bottom: auto !important; left: calc(100% + 10px) !important;
  height: auto !important; padding: 9px 14px !important; margin: 0 !important; border: 0 !important; border-radius: 10px;
  background: var(--v2-ink) !important; color: #fff !important; box-shadow: 0 8px 22px rgba(14,16,20,.18);
  font: 700 13px/1.2 var(--v2-font) !important; white-space: nowrap;
  transform: translateY(-50%) scale(.9) !important; transform-origin: 0 50% !important; opacity: 0; pointer-events: none; transition: opacity .15s, transform .15s !important;
}
a.wce_popup-consolidator-trigger span:empty { display: none !important; }
a.wce_popup-consolidator-trigger.wce_has-label:hover span, a.wce_popup-consolidator-trigger:focus-visible span { opacity: 1; transform: translateY(-50%) scale(1) !important; }
a.wce_popup-consolidator-trigger.wce_no-animation::before { animation: none !important; }

/* lista powiadomień (otwiera się nad przyciskiem) */
.wce_popup-tiles-wrap {
  top: auto !important; bottom: 84px !important; left: 20px !important; margin: 0 !important; z-index: 9991 !important;
  width: 300px !important; max-height: calc(100vh - 140px) !important; padding: 12px !important; gap: 8px !important;
  grid-template-columns: minmax(0, 1fr) 28px !important; transform-origin: 0 100% !important;
  border: 1px solid var(--v2-line); border-radius: 18px; background: #fff; box-shadow: 0 24px 60px rgba(14,16,20,.18);
  font-family: var(--v2-font); scrollbar-color: #c7cbd2 transparent !important;
}
.wce_popup-tiles-wrap .wce_popup-trigger {
  min-height: 52px !important; padding: 10px 14px 10px 46px !important; border: 1px solid var(--v2-line) !important; border-radius: 12px !important;
  background: #fff !important; box-shadow: none !important; color: var(--v2-ink) !important; text-decoration: none !important;
  font: 700 14px/1.3 var(--v2-font) !important; transition: border-color .15s, background .15s !important;
}
.wce_popup-tiles-wrap .wce_popup-trigger::before {
  content: "" !important; inset: auto !important; left: 12px !important; top: 50% !important; width: 24px !important; height: 24px !important; margin-top: -12px;
  border-radius: 8px !important; z-index: 0 !important; opacity: 1 !important;
  background: var(--v2-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E") center / 15px no-repeat !important;
}
.wce_popup-tiles-wrap .wce_trigger-basket::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3C/svg%3E") !important; }
.wce_popup-tiles-wrap .wce_popup-trigger span { position: relative; z-index: 1; color: inherit !important; }
.wce_popup-tiles-wrap .wce_popup-trigger:hover { transform: none !important; border-color: var(--v2-ink) !important; background: var(--v2-surface) !important; }
.wce_popup-tiles-wrap .wce_popup-tiles-wrap-close {
  width: 28px !important; height: 28px !important; border: 0 !important; background: var(--v2-surface) !important; color: var(--v2-ink) !important; font-size: 18px !important;
}
.wce_popup-tiles-wrap .wce_popup-tiles-wrap-close:hover { background: var(--v2-ink) !important; color: #fff !important; }

/* telefon: mniejszy przycisk; na karcie produktu nad paskiem „Do koszyka” */
@media (max-width: 767px) {
  a.wce_popup-consolidator-trigger { left: 14px !important; bottom: 14px !important; width: 46px !important; height: 46px !important; }
  a.wce_popup-consolidator-trigger::after { top: 9px; right: 10px; }
  a.wce_popup-consolidator-trigger span { display: none !important; }
  .wce_popup-tiles-wrap { left: 14px !important; right: 14px !important; width: auto !important; bottom: 72px !important; }
  body.v2-buybar-on a.wce_popup-consolidator-trigger { bottom: 90px !important; }
  body.v2-buybar-on .wce_popup-tiles-wrap { bottom: 148px !important; }
}
@media (prefers-reduced-motion: reduce) { a.wce_popup-consolidator-trigger::before { animation: none !important; } }

/* =====================================================================
   §38. Blog na stronie głównej – tło sekcji
        Zamiast zdjęcia article_bg.jpg (z „background-attachment: fixed”, które
        przycina przewijanie na telefonach): jasne tło z delikatną siatką
        heksagonów (motyw Hexagonów LED), wygaszoną pod kartami wpisów.
   ===================================================================== */
.shop_index .s-grid-12 #box_articlelist, .shop_index #box_articlelist {
  background-color: #f5f6f8 !important;
  background-image: radial-gradient(ellipse 48% 62% at 50% 55%, #f5f6f8 40%, rgba(245,246,248,0) 90%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='90' viewBox='0 0 52 90'%3E%3Cpath d='M26 0v15M0 30l26-15 26 15M0 30v30M52 30v30M0 60l26 15 26-15M26 75v15' fill='none' stroke='%23111318' stroke-opacity='.09' stroke-width='1.2'/%3E%3C/svg%3E") !important;
  background-size: auto, 52px 90px !important; background-position: center, center top !important; background-repeat: no-repeat, repeat !important;
  background-attachment: scroll !important;
}
.shop_index #box_articlelist::after { background: none !important; }

/* =====================================================================
   §39. Moduł „Darmowa dostawa” w bocznej kolumnie (boxes/FreeShipping – bez zmian)
        Tytuł i opis edytujesz w panelu: Wygląd › Moduły › Darmowa dostawa.
        W koszyku moduł ma osobny wygląd (§10, .v2-cart__free).
   ===================================================================== */
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) {
  position: relative; display: flex !important; flex-direction: column; gap: 6px;
  margin: 0 0 24px !important; padding: 22px 22px 22px !important; float: none !important; width: auto !important;
  border: 1px solid #fde3cf !important; border-radius: var(--v2-radius) !important; background: var(--v2-accent-soft) !important; box-shadow: none !important;
  font-family: var(--v2-font); color: var(--v2-ink); overflow: hidden;
}
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free)::before,
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free)::after { content: none !important; display: none !important; }
/* nagłówek z ikoną ciężarówki */
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) > .boxhead {
  display: flex !important; flex-direction: column; align-items: flex-start; gap: 14px; height: auto !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: none !important; text-align: left !important;
}
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) > .boxhead::after { content: none !important; display: none !important; }
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) > .boxhead::before {
  content: "" !important; display: block !important; position: static !important; width: 46px !important; height: 46px !important; margin: 0 !important; border-radius: 14px;
  font-size: 0 !important; color: transparent !important; box-shadow: 0 1px 3px rgba(17,19,24,.08);
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 9h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17.5' cy='17.5' r='1.8'/%3E%3C/svg%3E") center / 24px no-repeat !important;
}
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) > .boxhead span {
  display: block !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important;
  font: 800 20px/1.2 var(--v2-font) !important; letter-spacing: -.3px; color: var(--v2-ink) !important; text-transform: none !important; text-align: left !important;
}
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) > .boxhead span::before,
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) > .boxhead span::after { content: none !important; display: none !important; }
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) img.px1,
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) .arrow { display: none !important; }
/* opis + komunikat „brakuje X zł” */
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) > .innerbox {
  display: flex !important; flex-direction: column; gap: 10px; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important;
}
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) > .innerbox::before,
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) > .innerbox::after { content: none !important; display: none !important; }
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) .boxintro {
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; white-space: pre-line;
  font: 500 13.5px/1.55 var(--v2-font) !important; color: var(--v2-ink-2) !important; text-transform: none !important; text-align: left !important; letter-spacing: 0 !important;
}
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) .free-shipping__content {
  margin: 0 !important; padding: 0 !important; font: 700 13.5px/1.45 var(--v2-font) !important; color: var(--v2-accent-ink) !important; text-align: left !important;
}
:is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) .free-shipping__content * { color: inherit !important; font: inherit !important; }
@media (max-width: 767px) {
  :is(.leftcol, .rightcol) #box_freeshipping:not(.v2-cart__free) { padding: 18px !important; border-radius: 16px !important; }
}

/* =====================================================================
   §40. Górny pasek informacyjny – zawsze w jednej linii
        (licznik wysyłki zmienia długość co sekundę, np. w weekend „02 d 23:29:09 …”,
        przez co pasek przeskakiwał między jedną a dwiema liniami)
   ===================================================================== */
@media screen and (min-width: 981px) {
  .v2-topbar__in { flex-wrap: nowrap !important; min-height: 40px; }
  .v2-topbar__left, .v2-topbar__right { flex-wrap: nowrap !important; }
  .v2-topbar__left { flex: 1 1 auto; min-width: 0; overflow: hidden; gap: 6px 24px; }
  .v2-topbar__right { flex: none; }
  .v2-topbar__item--counter { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  /* stała szerokość cyfr licznika – nie „pływa” co sekundę */
  .v2-topbar .wceShippingCounter-wrap, .v2-topbar #wceShippingCounter { font-variant-numeric: tabular-nums; }
}
/* przy węższych ekranach chowamy kolejne mniej ważne elementy, zamiast łamać pasek */
@media screen and (min-width: 981px) and (max-width: 1420px) {
  .v2-topbar:has(.v2-topbar__item--counter:not([hidden])) .v2-topbar__item--salon { display: none !important; }
}
@media screen and (min-width: 981px) and (max-width: 1200px) {
  .v2-topbar__right > a.v2-topbar__item { display: none !important; } /* „Współpraca B2B” – jest też w menu */
}
@media screen and (min-width: 981px) and (max-width: 1100px) {
  .v2-topbar:has(.v2-topbar__item--counter:not([hidden])) .v2-topbar__item--dhl { display: none !important; }
}

/* =====================================================================
   §41. Strony informacyjne – nowe bloki: liczby w HERO (.v2-page-facts),
        tabela cen (.v2-page-table), wyróżnienia w tabeli (.v2-page-badge, .v2-page-free)
   ===================================================================== */
/* liczby w HERO */
.v2-page .v2-page-hero .v2-page-facts { display: flex !important; flex-wrap: wrap; gap: 14px 40px; margin: 10px 0 0 !important; padding: 20px 0 0 !important; border-top: 1px solid rgba(255,255,255,.12); max-width: none; }
.v2-page .v2-page-facts li { display: flex; flex-direction: column; gap: 2px; }
.v2-page .v2-page-facts strong { font: 800 26px/1.1 var(--v2-font); letter-spacing: -.5px; color: #fff; }
.v2-page .v2-page-facts span { font: 500 13px/1.3 var(--v2-font); color: #9ca3af; }
.v2-page .v2-page-hero--light .v2-page-facts { border-top-color: var(--v2-line); }
.v2-page .v2-page-hero--light .v2-page-facts strong { color: var(--v2-ink); }
.v2-page .v2-page-hero--light .v2-page-facts span { color: var(--v2-muted); }

/* tabela cen */
.v2-page .v2-page-table, .v2-page .v2-page-table .fr-table-scroll-wrapper { width: 100%; max-width: none; overflow-x: auto; }
.v2-page .v2-page-table table {
  width: 100% !important; margin: 0 !important; border-collapse: separate !important; border-spacing: 0 !important;
  border: 1px solid var(--v2-line) !important; border-radius: 18px; overflow: hidden; background: #fff; font-family: var(--v2-font);
}
.v2-page .v2-page-table th, .v2-page .v2-page-table td {
  padding: 16px 22px !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; background: none;
  text-align: left !important; vertical-align: middle !important; font: 500 15px/1.45 var(--v2-font) !important; color: var(--v2-ink) !important;
}
.v2-page .v2-page-table thead th {
  border-top: 0 !important; background: var(--v2-surface) !important; padding: 12px 22px !important;
  font: 800 12px/1.3 var(--v2-font) !important; letter-spacing: 1px; text-transform: uppercase; color: var(--v2-muted) !important;
}
.v2-page .v2-page-table th:last-child, .v2-page .v2-page-table td:last-child { text-align: right !important; white-space: nowrap; width: 1%; }
.v2-page .v2-page-table td:last-child { font-weight: 800 !important; font-size: 16px !important; }
.v2-page .v2-page-table td strong { display: block; font-weight: 700; }
.v2-page .v2-page-table td > span:not(.v2-page-badge):not(.v2-page-free) { display: block; margin-top: 2px; font: 500 13px/1.45 var(--v2-font); color: var(--v2-muted); }
.v2-page .v2-page-table tr.v2-page-group th {
  padding: 18px 22px 8px !important; background: #fff !important; text-align: left !important; white-space: normal; width: auto;
  font: 800 12px/1.3 var(--v2-font) !important; letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-accent-ink) !important;
}
.v2-page .v2-page-table tr.v2-page-group + tr td { border-top: 0 !important; }
.v2-page .v2-page-table tbody tr:not(.v2-page-group):hover td { background: #fafbfc; }
.v2-page .v2-page-badge {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; padding: 3px 10px; border-radius: 99px; background: #dcfce7; color: #15803d;
  font: 800 12px/1.3 var(--v2-font);
}
.v2-page .v2-page-badge::before { content: ""; width: 7px; height: 7px; border-radius: 99px; background: currentColor; }
.v2-page .v2-page-free { display: inline-block; padding: 3px 10px; border-radius: 99px; background: #dcfce7; color: #15803d; font: 800 14px/1.3 var(--v2-font); }
@media (max-width: 767px) {
  .v2-page .v2-page-hero .v2-page-facts { gap: 12px 26px; }
  .v2-page .v2-page-facts strong { font-size: 22px; }
  .v2-page .v2-page-table th, .v2-page .v2-page-table td { padding: 14px 14px !important; font-size: 14px !important; }
  .v2-page .v2-page-table tr.v2-page-group th { padding: 16px 14px 6px !important; }
  .v2-page .v2-page-table td:last-child { white-space: normal; font-size: 15px !important; }
}

/* §41b. Siatka kart w dwóch kolumnach (dłuższe teksty) */
.v2-page .v2-page-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2-page .v2-page-cta > .v2-page-btns { flex: 0 1 auto; min-width: 0; margin: 0 !important; }
@media (max-width: 767px) { .v2-page .v2-page-grid--2 { grid-template-columns: minmax(0, 1fr); } .v2-page .v2-page-cta > .v2-page-btns { width: 100%; } .v2-page .v2-page-cta > .v2-page-btns a.v2-page-btn { flex: 1 1 100%; } }

/* =====================================================================
   §42. Strony informacyjne – metody płatności (.v2-page-methods), lista z punktami
        (.v2-page-list), dane do przelewu (.v2-page-bank), pasek logotypów (.v2-page-logos)
   ===================================================================== */
.v2-page .v2-page-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.v2-page .v2-page-method {
  position: relative; display: flex; flex-direction: column; gap: 14px; padding: 24px; border: 1px solid var(--v2-line); border-radius: 18px; background: #fff;
}
.v2-page .v2-page-method::before {
  content: ""; width: 48px; height: 48px; border-radius: 14px; flex: none;
  background: var(--v2-surface) var(--v2-pm-ico) center / 24px no-repeat;
}
.v2-page .v2-page-method--online { --v2-pm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2.5' width='12' height='19' rx='2.5'/%3E%3Cpath d='M13 7l-2.5 5h3L11 17'/%3E%3C/svg%3E"); }
.v2-page .v2-page-method--transfer { --v2-pm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111318' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 4l9 6M5 10v8M9.5 10v8M14.5 10v8M19 10v8M3 20.5h18'/%3E%3C/svg%3E"); }
.v2-page .v2-page-method--cod { --v2-pm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111318' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 9h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17.5' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
.v2-page .v2-page-method--top { border: 2px solid var(--v2-accent); padding: 23px; background: var(--v2-accent-soft); }
.v2-page .v2-page-method--top::before { background-color: #fff; }
.v2-page .v2-page-method .v2-page-tag {
  position: absolute; top: 24px; right: 20px; max-width: calc(100% - 100px); padding: 5px 10px; border-radius: 99px; background: var(--v2-accent); color: var(--v2-ink);
  font: 800 11.5px/1.25 var(--v2-font); text-align: center;
}
.fr-view .v2-page .v2-page-method h3, .v2-page .v2-page-method h3 { font: 800 18px/1.3 var(--v2-font) !important; letter-spacing: -.2px; color: var(--v2-ink) !important; margin: 0 !important; }

/* lista z punktami */
.v2-page ul.v2-page-list { display: flex !important; flex-direction: column; gap: 10px; }
.v2-page ul.v2-page-list > li { position: relative; padding-left: 26px !important; font: 500 14.5px/1.55 var(--v2-font); color: var(--v2-ink-2); }
.v2-page ul.v2-page-list > li::before {
  content: "" !important; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 99px;
  background: var(--v2-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.v2-page .v2-page-method--top ul.v2-page-list > li::before { background-color: #fff; }
.v2-page ul.v2-page-list strong { color: var(--v2-ink); font-weight: 700; }

/* dane do przelewu */
.v2-page .v2-page-bank { display: flex; flex-direction: column; max-width: 760px; border-radius: 18px; background: var(--v2-dark); color: #fff; padding: 8px 26px; }
.v2-page .v2-page-bank__row { display: flex; align-items: center; justify-content: space-between; gap: 8px 24px; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.1); flex-wrap: wrap; }
.v2-page .v2-page-bank__row:first-child { border-top: 0; }
.v2-page .v2-page-bank__row > span { flex: none; font: 600 13px/1.3 var(--v2-font); color: #9ca3af; }
.v2-page .v2-page-bank__row > strong { flex: 1 1 auto; font: 700 15px/1.4 var(--v2-font); color: #fff; text-align: right; }
.v2-page .v2-page-bank .v2-page-iban { font: 800 19px/1.3 var(--v2-font); letter-spacing: .3px; font-variant-numeric: tabular-nums; color: #fff; }
.v2-page .v2-page-copy {
  display: inline-flex; align-items: center; gap: 6px; margin-left: 0; flex: none; height: 32px; padding: 0 12px; border: 0; border-radius: 9px; vertical-align: middle;
  background: var(--v2-accent); color: var(--v2-ink); font: 800 12.5px var(--v2-font); cursor: pointer;
}
.v2-page .v2-page-copy:hover { filter: brightness(1.06); }
.v2-page .v2-page-copy:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.v2-page .v2-page-copy.is-done { background: #dcfce7; color: #15803d; }

/* logotypy płatności */
.v2-page .v2-page-logos { padding: 18px 22px; border: 1px solid var(--v2-line); border-radius: 18px; background: #fff; }
.v2-page .v2-page-logos img { display: block; width: 100% !important; max-width: 100%; height: auto !important; }

@media (max-width: 980px) {
  .v2-page .v2-page-methods { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .v2-page .v2-page-method { padding: 20px; }
  .v2-page .v2-page-method--top { padding: 19px; }
  .v2-page .v2-page-method .v2-page-tag { position: static; align-self: flex-start; max-width: none; order: -1; }
  .v2-page .v2-page-bank { padding: 4px 18px; }
  .v2-page .v2-page-bank__row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .v2-page .v2-page-bank__row > strong { text-align: left; }
  .v2-page .v2-page-bank .v2-page-iban { font-size: 17px; }
  .v2-page .v2-page-copy { margin: 8px 0 0; }
  .v2-page .v2-page-logos { padding: 12px; }
}

/* =====================================================================
   §43. Strony informacyjne – dane + mapa obok siebie (.v2-page-split, .v2-page-map),
        jasna karta danych (.v2-page-bank--light)
   ===================================================================== */
.v2-page .v2-page-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: stretch; }
.v2-page .v2-page-split > .v2-page-bank { max-width: none; }
.v2-page .v2-page-map { position: relative; min-height: 320px; border-radius: 18px; overflow: hidden; border: 1px solid var(--v2-line); background: var(--v2-surface); }
.v2-page .v2-page-map iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0 !important; display: block; }
.v2-page .v2-page-bank--light { background: #fff; color: var(--v2-ink); border: 1px solid var(--v2-line); }
.v2-page .v2-page-bank--light .v2-page-bank__row { border-top-color: var(--v2-line); }
.v2-page .v2-page-bank--light .v2-page-bank__row > span { color: var(--v2-muted); }
.v2-page .v2-page-bank--light .v2-page-bank__row > strong, .v2-page .v2-page-bank--light .v2-page-bank__row > strong a { color: var(--v2-ink) !important; }
.v2-page .v2-page-bank__row > strong a { color: inherit !important; text-decoration: none !important; }
.v2-page .v2-page-bank__row > strong a:hover { color: var(--v2-accent-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; }
@media (max-width: 980px) {
  .v2-page .v2-page-split { grid-template-columns: minmax(0, 1fr); }
  .v2-page .v2-page-map { min-height: 280px; }
}

/* =====================================================================
   §44. Strony informacyjne – dokumenty (polityka prywatności, regulaminy):
        spis treści z boku (.v2-legal__toc) + treść (.v2-legal__body)
   ===================================================================== */
.v2-page .v2-legal { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; }
.v2-page .v2-legal__toc {
  position: sticky; top: 110px; max-height: calc(100vh - 130px); overflow: auto; padding: 18px; border: 1px solid var(--v2-line); border-radius: 18px; background: #fff;
}
.v2-page .v2-legal__toc > strong { display: block; margin: 0 0 10px; padding: 0 8px; font: 800 12px/1.3 var(--v2-font); letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-muted); }
.v2-page .v2-legal__toc ol { display: flex !important; flex-direction: column; gap: 2px; counter-reset: v2toc; }
.v2-page .v2-legal__toc li { counter-increment: v2toc; }
.v2-page .v2-legal__toc a {
  display: flex; gap: 10px; align-items: baseline; padding: 8px 10px; border-radius: 10px;
  font: 600 14px/1.35 var(--v2-font); color: var(--v2-ink-2) !important; text-decoration: none !important; transition: background .15s, color .15s;
}
.v2-page .v2-legal__toc a::before { content: counter(v2toc); flex: none; min-width: 16px; font: 800 12px var(--v2-font); color: var(--v2-muted); }
.v2-page .v2-legal__toc a:hover { background: var(--v2-surface); color: var(--v2-ink) !important; }
.v2-page .v2-legal__toc a.is-active { background: var(--v2-accent-soft); color: var(--v2-accent-ink) !important; }
.v2-page .v2-legal__toc a.is-active::before { color: var(--v2-accent-ink); }

.v2-page .v2-legal__body { display: flex; flex-direction: column; gap: 36px; min-width: 0; max-width: 820px; }
.v2-page .v2-legal__sec { display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 110px; }
.fr-view .v2-page .v2-legal__sec > h2, .v2-page .v2-legal__sec > h2 {
  font: 800 24px/1.25 var(--v2-font) !important; letter-spacing: -.4px; padding: 0 0 12px !important; border-bottom: 1px solid var(--v2-line) !important; margin: 0 !important;
}
.fr-view .v2-page .v2-legal__sec > h3, .v2-page .v2-legal__sec > h3 { font: 800 17px/1.35 var(--v2-font) !important; margin: 10px 0 0 !important; color: var(--v2-ink) !important; }
.fr-view .v2-page .v2-legal__sec p, .v2-page .v2-legal__sec p, .v2-page .v2-legal__sec li { font: 500 15px/1.7 var(--v2-font); color: var(--v2-ink-2); }
.v2-page .v2-legal__sec small { font-size: 13px; color: var(--v2-muted); }
.v2-page .v2-legal__sec a { color: var(--v2-accent-ink) !important; font-weight: 700; text-decoration: underline !important; text-underline-offset: 3px; }
.v2-page .v2-legal__sec ul { display: flex !important; flex-direction: column; gap: 6px; }
.v2-page .v2-legal__sec ul > li { position: relative; padding-left: 20px !important; }
.v2-page .v2-legal__sec ul > li::before { content: "" !important; position: absolute; left: 4px; top: .7em; width: 6px; height: 6px; border-radius: 99px; background: var(--v2-accent); }

/* tabele (cele przetwarzania, odbiorcy danych) */
.v2-page .v2-legal__table { width: 100%; overflow-x: auto; }
.v2-page .v2-legal__table table {
  width: 100% !important; margin: 0 !important; border-collapse: separate !important; border-spacing: 0 !important; table-layout: fixed;
  border: 1px solid var(--v2-line) !important; border-radius: 16px; overflow: hidden; background: #fff;
}
.v2-page .v2-legal__table th, .v2-page .v2-legal__table td {
  padding: 12px 16px !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important; text-align: left !important; vertical-align: top !important;
  font: 500 14.5px/1.55 var(--v2-font) !important; color: var(--v2-ink) !important; background: #fff;
}
.v2-page .v2-legal__table td + td { border-left: 1px solid var(--v2-line) !important; }
.v2-page .v2-legal__table tr:first-child > * { border-top: 0 !important; }
.v2-page .v2-legal__table th {
  background: var(--v2-surface) !important; padding: 9px 16px !important;
  font: 800 11.5px/1.3 var(--v2-font) !important; letter-spacing: 1px; text-transform: uppercase; color: var(--v2-muted) !important;
}
.v2-page .v2-legal__table td small { display: block; font-size: 13px; color: var(--v2-muted); }
.v2-page .v2-legal__table table.v2-legal__wide { table-layout: auto; min-width: 560px; }
.v2-page .v2-legal__table table.v2-legal__wide td[rowspan] { background: #fafbfc; font-weight: 700 !important; }
.v2-page .v2-legal__table table.v2-legal__wide td:last-child { color: var(--v2-muted) !important; }
.v2-page .v2-legal__table table.v2-legal__wide td + td { border-left: 1px solid var(--v2-line) !important; }

@media (max-width: 980px) {
  .v2-page .v2-legal { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .v2-page .v2-legal__toc { position: static; max-height: none; }
  .v2-page .v2-legal__toc ol { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .v2-page .v2-legal__toc ol { grid-template-columns: minmax(0, 1fr); }
  .fr-view .v2-page .v2-legal__sec > h2, .v2-page .v2-legal__sec > h2 { font-size: 20px !important; }
  .v2-page .v2-legal__table table:not(.v2-legal__wide) { table-layout: auto; }
  .v2-page .v2-legal__table table:not(.v2-legal__wide) tr { display: flex; flex-direction: column; }
  .v2-page .v2-legal__table table:not(.v2-legal__wide) td + td { border-left: 0 !important; border-top: 1px dashed var(--v2-line) !important; }
}

/* =====================================================================
   §45. Dokumenty – numeracja punktów (regulamin), definicje, formularz odstąpienia
   ===================================================================== */
.v2-page .v2-legal__toc--plain a::before { content: none !important; }
/* listy numerowane: 1. / a) / A. – numery muszą zostać (odwołania „§ 7 ust. 2”) */
.v2-page .v2-legal__sec ol { display: block !important; padding-left: 26px !important; margin: 0 !important; }
.v2-page .v2-legal__sec ol > li { list-style: decimal outside !important; padding-left: 4px !important; margin: 0 0 8px !important; }
.v2-page .v2-legal__sec ol.v2-ol-alpha > li { list-style-type: lower-alpha !important; }
.v2-page .v2-legal__sec ol.v2-ol-ALPHA > li { list-style-type: upper-alpha !important; }
.v2-page .v2-legal__sec ol > li::marker { font-weight: 800; color: var(--v2-accent-ink); }
.v2-page .v2-legal__sec ol ol, .v2-page .v2-legal__sec ol ul, .v2-page .v2-legal__sec ul ol { margin: 8px 0 4px !important; }
.v2-page .v2-legal__sec ol.v2-ol-ALPHA > li > strong:first-child { display: block; margin-bottom: 6px; font-size: 16px; color: var(--v2-ink); }
.v2-page .v2-legal__sec ul ul, .v2-page .v2-legal__sec ol ul { gap: 4px; }

.v2-page .v2-legal__sec a, .v2-page .v2-legal__sec li, .v2-page .v2-legal__sec p { overflow-wrap: anywhere; }

/* definicje */
.v2-page ul.v2-legal__defs { gap: 0 !important; border: 1px solid var(--v2-line); border-radius: 16px; overflow: hidden; }
.v2-page ul.v2-legal__defs > li { padding: 12px 18px !important; border-top: 1px solid var(--v2-line); margin: 0 !important; }
.v2-page ul.v2-legal__defs > li:first-child { border-top: 0; }
.v2-page ul.v2-legal__defs > li:nth-child(even) { background: #fafbfc; }
.v2-page ul.v2-legal__defs > li::before { content: none !important; display: none !important; }
.v2-page ul.v2-legal__defs > li > strong { color: var(--v2-ink); }

/* formularz odstąpienia (załącznik) */
.v2-page .v2-legal__form { padding: 28px 30px; border: 1.5px dashed #c9cdd5; border-radius: 18px; background: #fafbfc; }
.v2-page .v2-legal__form p { word-break: break-word; }
.v2-page .v2-legal__center { text-align: center !important; }
.v2-page .v2-legal__right { text-align: right !important; }
@media (max-width: 600px) {
  .v2-page .v2-legal__form { padding: 18px; }
  .v2-page .v2-legal__right { text-align: left !important; }
  .v2-page .v2-legal__sec ol { padding-left: 22px !important; }
}
@media print {
  .wrap > header, .v2-topbar, footer, .v2-legal__toc, .v2-page-hero { display: none !important; }
}

/* =====================================================================
   §46 Poprawki po wdrożeniu (02.11.2026)
   ===================================================================== */
/* puste kontenery boksów w siatce kolumn dawały 40 px odstępu (gap) */
:is(.centercol, .leftcol, .rightcol) > div:not([class]):not([id]):not(:has(*)) { display: none; }
body.shop_product .centercol > [data-boxes-side]:not(:has(> .box:not(#box_wce_licznikwysylki))) { display: none; }

/* kafelki obok slidera – długie słowa nie rozpychają strony na telefonie */
.v2-hero__side .v2-promo { min-width: 0; }
.v2-hero__side .v2-promo__title { overflow-wrap: anywhere; }

/* etykiety produktów Hammera (Nowość itp.) – pigułki w stylu V2 */
.product > ul.wce_apptags {
  position: absolute !important; left: 22px !important; top: 22px !important; right: auto !important; bottom: auto !important; z-index: 4;
  display: flex !important; flex-wrap: wrap; gap: 4px; margin: 0 !important; padding: 0 !important; list-style: none !important; max-width: calc(100% - 80px);
}
.product > ul.wce_apptags li { margin: 0 !important; padding: 0 !important; float: none !important; }
.product > ul.wce_apptags li a {
  display: inline-flex !important; align-items: center; width: auto !important; height: auto !important; min-height: 0 !important;
  padding: 4px 8px !important; border: 0 !important; border-radius: 99px !important; box-shadow: none !important;
  background: var(--v2-ink, #111318) !important; color: #fff !important;
  font: 800 10px/1.2 var(--v2-font) !important; letter-spacing: .4px; text-transform: uppercase;
}
.product > ul.wce_apptags li.wce_new a { background: #f97316 !important; color: #111318 !important; }
.product > ul.wce_apptags li a::before, .product > ul.wce_apptags li a::after, .product > ul.wce_apptags li a img { display: none !important; }
/* „Wysyłka dziś” schodzi pod etykietę, gdy produkt ją ma */
#box_mainproducts.v2-list .products .product:has(> ul.wce_apptags li) a.prodimage span.v2-ship,
.wrap .v2-cards.box .product:has(> ul.wce_apptags li) .v2-ship { top: 36px !important; }

@media (max-width: 640px) {
  .product > ul.wce_apptags { left: 20px !important; top: 20px !important; }
  #box_mainproducts.v2-list .products .product:has(> ul.wce_apptags li) a.prodimage span.v2-ship,
  .wrap .v2-cards.box .product:has(> ul.wce_apptags li) .v2-ship { top: 30px !important; }
  /* wąskie karty: „Wysyłka dziś” nie wchodzi pod serduszko */
  #box_mainproducts.v2-list .products .product a.prodimage span.v2-ship { left: 6px !important; top: 6px !important; padding: 4px 7px !important; font-size: 10px !important; gap: 5px; }
  #box_mainproducts.v2-list .products .product a.prodimage span.v2-ship::before { width: 6px; height: 6px; }
  .v2-list .product .v2-fav { right: 12px !important; top: 12px !important; width: 28px !important; height: 28px !important; }
  .v2-list .product .v2-fav svg { width: 14px; height: 14px; }
}

/* slider na telefonie: 11 kropek wchodziło pod strzałki */
@media (max-width: 767px) {
  .v2-hero__nav { gap: 0; max-width: calc(100% - 130px); }
  .v2-hero__dot { width: 16px; flex: 0 0 16px; }
  .v2-hero__dot[aria-current="true"] { width: 26px; flex-basis: 26px; }
  .v2-hero__dot::before { width: 6px; height: 6px; }
  .v2-hero__dot[aria-current="true"]::before { width: 18px; }
}

/* =====================================================================
   §47 Blog – bloki treści artykułu (wklejane w edytorze wpisu)
   .v2-post-lead, .v2-post-toc, .v2-post-pick(s), .v2-post-specs,
   .v2-post-btn, .v2-post-table, .v2-post-cta
   ===================================================================== */
.shop_news #box_article h1.article-name { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
.shop_news #box_article h1.article-name::before, .shop_news #box_article h1.article-name::after { content: none !important; display: none !important; }
.shop_news #box_article .article-content :is(h2, h3)[id] { scroll-margin-top: 110px; }

/* wstęp */
.shop_news #box_article .article-content p.v2-post-lead { margin: 0 0 24px !important; font-size: 19px !important; line-height: 1.65 !important; color: var(--v2-ink) !important; }

/* spis treści */
.shop_news #box_article .article-content .v2-post-toc { margin: 0 0 32px; padding: 20px 24px; border: 1px solid var(--v2-line); border-radius: 18px; background: var(--v2-surface); }
.shop_news #box_article .article-content .v2-post-toc__title { margin: 0 0 10px !important; font: 800 13px/1.3 var(--v2-font) !important; letter-spacing: .8px; text-transform: uppercase; color: var(--v2-muted) !important; }
.shop_news #box_article .article-content .v2-post-toc ol { margin: 0 !important; display: grid; gap: 6px; }
.shop_news #box_article .article-content .v2-post-toc ol > li { margin: 0 !important; padding-left: 34px !important; font-size: 16px !important; line-height: 1.45 !important; }
.shop_news #box_article .article-content .v2-post-toc ol > li::before { width: 22px; height: 22px; font-size: 12px; line-height: 22px; top: 0; background: var(--v2-accent); color: var(--v2-ink); }
.shop_news #box_article .article-content .v2-post-toc a { color: var(--v2-ink) !important; font-weight: 700; text-decoration: none !important; }
.shop_news #box_article .article-content .v2-post-toc a:hover { color: var(--v2-accent-ink) !important; }

/* przyciski */
.shop_news #box_article .article-content a.v2-post-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 18px; border-radius: 12px;
  background: var(--v2-accent); color: var(--v2-ink) !important; font: 800 14px/1.2 var(--v2-font) !important; text-decoration: none !important; transition: background .2s ease, transform .2s ease;
}
.shop_news #box_article .article-content a.v2-post-btn::after { content: "→"; }
.shop_news #box_article .article-content a.v2-post-btn:hover { background: #fb923c; transform: translateY(-1px); }
.shop_news #box_article .article-content a.v2-post-btn--light { background: #fff; }
.shop_news #box_article .article-content a.v2-post-btn--light:hover { background: var(--v2-accent); }

/* polecany produkt */
.shop_news #box_article .article-content .v2-post-picks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 8px 0 28px; }
.shop_news #box_article .article-content .v2-post-pick {
  display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; align-items: center; margin: 8px 0 28px; padding: 14px; border: 1px solid var(--v2-line); border-radius: 18px; background: #fff;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.shop_news #box_article .article-content .v2-post-pick:hover { border-color: transparent; box-shadow: 0 14px 34px rgba(17, 19, 24, .09); }
.shop_news #box_article .article-content .v2-post-picks .v2-post-pick { margin: 0; grid-template-columns: 1fr; align-items: start; }
.shop_news #box_article .article-content .v2-post-pick__img { display: block; aspect-ratio: 1; border-radius: 12px; background: var(--v2-surface); overflow: hidden; text-decoration: none !important; }
.shop_news #box_article .article-content .v2-post-pick__img img { display: block; width: 100% !important; height: 100% !important; margin: 0 !important; border-radius: 0 !important; object-fit: contain; mix-blend-mode: multiply; }
.shop_news #box_article .article-content .v2-post-picks .v2-post-pick__img { aspect-ratio: 4 / 3; }
.shop_news #box_article .article-content .v2-post-pick__body { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
.shop_news #box_article .article-content .v2-post-pick__label { font: 800 11px/1.3 var(--v2-font); letter-spacing: .8px; text-transform: uppercase; color: var(--v2-accent-ink); }
.shop_news #box_article .article-content a.v2-post-pick__name { color: var(--v2-ink) !important; font: 800 18px/1.3 var(--v2-font) !important; text-decoration: none !important; }
.shop_news #box_article .article-content a.v2-post-pick__name:hover { color: var(--v2-accent-ink) !important; }
.shop_news #box_article .article-content .v2-post-pick__specs { display: flex; flex-wrap: wrap; gap: 6px; }
.shop_news #box_article .article-content .v2-post-pick__specs > span { padding: 4px 10px; border-radius: 99px; background: var(--v2-surface); font: 700 12.5px/1.3 var(--v2-font); color: var(--v2-ink-2); }

/* tabela porównawcza */
.shop_news #box_article .article-content .v2-post-table { margin: 0 0 24px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.shop_news #box_article .article-content .v2-post-table table { min-width: 560px; margin: 0; }
.shop_news #box_article .article-content .v2-post-table td:first-child { font-weight: 800; color: var(--v2-ink); white-space: nowrap; }
.shop_news #box_article .article-content .v2-post-table tbody tr:first-child td { background: none !important; font-weight: 400 !important; color: inherit !important; }
.shop_news #box_article .article-content .v2-post-table tbody tr:first-child td:first-child { font-weight: 800 !important; color: var(--v2-ink) !important; }
.shop_news #box_article .article-content .v2-post-table thead th { background: var(--v2-ink) !important; color: #fff !important; font-weight: 800; }

/* wezwanie do działania na końcu */
.shop_news #box_article .article-content .v2-post-cta {
  display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 36px 0 8px; padding: 26px 28px; border-radius: 20px; background: var(--v2-ink); color: #fff;
}
.shop_news #box_article .article-content .v2-post-cta p { margin: 0 !important; color: inherit !important; }
.shop_news #box_article .article-content .v2-post-cta__title { font: 800 22px/1.25 var(--v2-font) !important; letter-spacing: -.3px; }
.shop_news #box_article .article-content .v2-post-cta__text { margin-top: 6px !important; font-size: 15px !important; line-height: 1.5 !important; color: #c9cdd5 !important; }
.shop_news #box_article .article-content .v2-post-cta a.v2-post-btn { flex: none; }

@media (max-width: 640px) {
  .shop_news #box_article .article-content p.v2-post-lead { font-size: 17px !important; }
  .shop_news #box_article .article-content .v2-post-toc { padding: 16px 18px; }
  .shop_news #box_article .article-content .v2-post-picks { grid-template-columns: minmax(0, 1fr); }
  .shop_news #box_article .article-content .v2-post-pick { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 12px; }
  .shop_news #box_article .article-content .v2-post-picks .v2-post-pick { grid-template-columns: 96px minmax(0, 1fr); align-items: center; }
  .shop_news #box_article .article-content .v2-post-picks .v2-post-pick__img { aspect-ratio: 1; }
  .shop_news #box_article .article-content a.v2-post-pick__name { font-size: 15.5px !important; }
  .shop_news #box_article .article-content .v2-post-pick__specs > span { font-size: 11.5px; padding: 3px 8px; }
  .shop_news #box_article .article-content a.v2-post-btn { padding: 9px 14px; font-size: 13px !important; }
  .shop_news #box_article .article-content .v2-post-cta { flex-direction: column; align-items: flex-start; padding: 22px; }
  .shop_news #box_article .article-content .v2-post-cta__title { font-size: 19px !important; }
}

/* §47b Blog – tabela kompaktowa */
.shop_news #box_article .article-content .v2-post-table--compact table { min-width: 0; }
.shop_news #box_article .article-content .v2-post-table--compact td:first-child { white-space: normal; }

/* §47c Blog – dwa przyciski obok siebie */
.shop_news #box_article .article-content p:has(> a.v2-post-btn) { display: flex; flex-wrap: wrap; gap: 8px; }

/* §48 Karta produktu – wiersz „Kod produktu” (JS §3b); gdy brak paska „Wysyłka dziś”, bez podwójnej linii u góry */
body.shop_product #box_productfull .v2-pd-status .v2-pd-row--ship[hidden] + .v2-pd-row--code { border-top: 0 !important; }
body.shop_product #box_productfull .v2-pd-status .v2-pd-row--code .second { font-variant-numeric: tabular-nums; letter-spacing: .2px; }
