/*
 * IThandy - warstwa wyglądu "Warsztat - tablica narzędziowa" (decyzja właściciela, październik 2026).
 * Wzorzec: projekt strony głównej Warsztat2 (1440 px). Ładowana PO ith-wyglad.css (metoda warsztatStyles()
 * modułu ithandy_brand), więc przy tej samej specyficzności wygrywa.
 *
 * Charakter: kąty proste wszędzie (wyjątki: logo i kropki motywu - koralowa kropka z logo, haczyki tablicy,
 * plakietka liczby w koszyku), obramowania 3 px ink, twarde przesunięte cienie (4-10 px, 0 rozmycia),
 * Poppins 800 w nagłówkach, Inter w tekście. Motywy: tablica narzędziowa (perforacja), taśma ostrzegawcza,
 * szuflady, miarka, koralowa kropka, perforowana stopka.
 *
 * Kolory wyłącznie z brand kitu (docs/01-brand-kit.md): ink #0B2B2A, teal 500 #12B5A5, teal 700 #0E8C80,
 * coral #FF6B5C, mint #F4FBFA, linie #D7E6E4, tekst pomocniczy #3E4F4E. Perforacja = przezroczyste odcienie
 * tych samych kolorów. Kontrast AA: ink na bieli 15:1, ink na coral 5,4:1, ink na teal 500 5,9:1,
 * #3E4F4E na bieli 9:1 i na mincie 8,6:1, biały na ink 15:1, teal 500 na ink 5,9:1, coral na ink 5,4:1 (fokus).
 *
 * Ikony: sprite SVG modułu (views/icons/ith-icons.svg, symbole ith-i-*), markup przez {ith_icon} / Ithandy_Brand::icon().
 * Spis: 1 tokeny, 2 kąty proste, 3 typografia i fokus, 4 ikony, 5 przyciski, 6 nagłówek i menu, 7 wskaźnik obłożenia,
 * 8 okruszki i nagłówki stron, 9 formularze, 10 listy usług, 11 strona usługi, 12 treści CMS i Baza wiedzy,
 * 13 kontakt, 14 koszyk i zamówienie, 15 konto, 16 stopka, 17 strona główna, 18 baner cookies, 19 telefon i tablet, 20 ruch.
 */

/* ===================== 1. Tokeny ===================== */
:root {
  --ith-ink: #0B2B2A;
  --ith-teal: #12B5A5;
  --ith-teal-d: #0E8C80;
  --ith-coral: #FF6B5C;
  --ith-mint: #F4FBFA;
  --ith-lines: #D7E6E4;
  --ith-help: #3E4F4E;
  --ith-bw: 3px;
  --ith-frame: 3px solid #0B2B2A;
  --ith-hard-xs: 3px 3px 0 #0B2B2A;
  --ith-hard-sm: 4px 4px 0 #0B2B2A;
  --ith-hard: 6px 6px 0 #0B2B2A;
  --ith-hard-lg: 10px 10px 0 #0B2B2A;
  /* perforacja tablicy narzędziowej (mint) i stopki (ink) */
  --ith-perf-mint: radial-gradient(circle, rgba(14, 140, 128, .28) 3px, transparent 3.5px);
  --ith-perf-ink: radial-gradient(circle, rgba(18, 181, 165, .16) 3px, transparent 3.5px);
  --ith-perf-size: 28px 28px;

  /* stare tokeny modułu i ith-wyglad.css przestawione na Warsztat */
  --ith-r-sm: 0; --ith-r-md: 0; --ith-r-lg: 0;
  --ith-radius-sm: 0; --ith-radius-md: 0; --ith-radius-lg: 0; --ith-radius-xl: 0; --ith-radius-pill: 0;
  --ith-shadow: 6px 6px 0 #0B2B2A;
  --ith-shadow-lift: 8px 8px 0 #0B2B2A;
  --ith-cta-shadow: 4px 4px 0 #0B2B2A;
  --ith-elev-1: none; --ith-elev-2: 4px 4px 0 #0B2B2A; --ith-elev-3: 6px 6px 0 #0B2B2A;
  --ith-elev-4: 8px 8px 0 #0B2B2A; --ith-elev-5: 10px 10px 0 #0B2B2A;
  --ith-gradient: linear-gradient(#12B5A5, #12B5A5);
  --ith-line: linear-gradient(#0B2B2A, #0B2B2A);
  --ith-ink-band: #0B2B2A;
  --ith-dots: var(--ith-perf-mint) 14px 14px / 28px 28px;
  --ith-ease-spring: cubic-bezier(.2, .8, .2, 1);
  --ith-muted: #3E4F4E;
  --ith-font-display: "Poppins", "Inter", sans-serif;

  /* Bootstrap / Hummingbird */
  --bs-border-radius: 0; --bs-border-radius-sm: 0; --bs-border-radius-lg: 0; --bs-border-radius-xl: 0;
  --bs-border-radius-xxl: 0; --bs-border-radius-2xl: 0; --bs-border-radius-pill: 0;
  --bs-box-shadow: 6px 6px 0 #0B2B2A; --bs-box-shadow-sm: 3px 3px 0 #0B2B2A; --bs-box-shadow-lg: 10px 10px 0 #0B2B2A;
  --bs-box-shadow-inset: none;
  --bs-body-color: #0B2B2A;
  --bs-secondary-color: #3E4F4E;
  --bs-border-color: #D7E6E4;
  /* ikony rysowane przez Bootstrap: te same kształty co sprite (kąty proste, końce kwadratowe) */
  --bs-breadcrumb-divider: "/";
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2B2A' stroke-width='2.5' stroke-linecap='square'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");
}
.accordion {
  --bs-accordion-border-radius: 0; --bs-accordion-inner-border-radius: 0;
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2B2A' stroke-width='2.5' stroke-linecap='square'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2B2A' stroke-width='2.5' stroke-linecap='square'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: none;
}
.btn-close {
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2B2A' stroke-width='2.5' stroke-linecap='square'%3e%3cpath d='M6 6l12 12M18 6L6 18'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 1;
  --bs-btn-close-focus-shadow: none;
}
.form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2B2A' stroke-width='2.5' stroke-linecap='square'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e"); }
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='square'%3e%3cpath d='M5 12l5 5L19 7'/%3e%3c/svg%3e");
}
.modal, .offcanvas, .dropdown-menu, .popover, .toast, .card, .list-group, .pagination, .alert, .nav-tabs, .progress {
  --bs-modal-border-radius: 0; --bs-modal-inner-border-radius: 0; --bs-dropdown-border-radius: 0; --bs-dropdown-inner-border-radius: 0;
  --bs-card-border-radius: 0; --bs-card-inner-border-radius: 0; --bs-list-group-border-radius: 0; --bs-pagination-border-radius: 0;
  --bs-alert-border-radius: 0; --bs-nav-tabs-border-radius: 0; --bs-popover-border-radius: 0; --bs-toast-border-radius: 0;
  --bs-progress-border-radius: 0; --bs-modal-box-shadow: 10px 10px 0 #0B2B2A; --bs-dropdown-box-shadow: 6px 6px 0 #0B2B2A;
}
.btn { --bs-btn-border-radius: 0; --bs-btn-focus-box-shadow: none; }

/* ===================== 2. Kąty proste (siatka bezpieczeństwa) =====================
 * !important wygrywa ze zwykłym inline style z bazy (opisy usług) i z regułami motywu bez !important.
 * Wyjątki (klasa + !important ma wyższą specyficzność niż *): kropki motywu, haczyki tablicy, licznik koszyka,
 * pola radio (okrągłe, żeby nie myliły się z polem wyboru), wskaźnik ładowania.
 */
*, *::before, *::after { border-radius: 0 !important; }
.ith-dot, .ith-board__hook, .header-block__badge, .blockcart .header-block__badge,
input[type=radio], .form-check-input[type=radio], .custom-radio, .spinner-border, .spinner-grow {
  border-radius: 50% !important;
}

/* ===================== 3. Typografia i fokus ===================== */
body { color: #0B2B2A; }
h1, .h1, h2, .h2 { font-family: "Poppins", "Inter", sans-serif; font-weight: 800; letter-spacing: -.03em; line-height: 1.08; }
h3, .h3 { font-family: "Poppins", "Inter", sans-serif; font-weight: 700; letter-spacing: -.01em; }
h4, .h4, h5, .h5 { font-family: "Poppins", "Inter", sans-serif; font-weight: 700; }
.page-title-section, .h1.page-title-section, h1.page-title-section { font-weight: 800; letter-spacing: -.035em; color: #0B2B2A; }
.product__name { font-weight: 800 !important; letter-spacing: -.03em; }
.text-muted, .form-text, small.text-muted { color: #3E4F4E !important; }

/* Fokus: obrys 3 px ink, na ciemnych tłach coral (5,4:1 na ink) */
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible, .btn:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible, [role=button]:focus-visible {
  outline: 3px solid #0B2B2A !important; outline-offset: 3px; box-shadow: none !important;
}
#footer :focus-visible, .header-top :focus-visible, .ith-mega-cta :focus-visible {
  outline-color: #FF6B5C !important;
}
/* na turkusowych pasach CTA obrys ink (biały z ith-wyglad.css miał tam za słaby kontrast) */
.ith-whome .ith-cta-band :focus-visible, .ith-cta-band2 .ith-cta-btn:focus-visible, .ith-article-cta a:focus-visible { outline-color: #0B2B2A !important; }
::selection { background: #12B5A5; color: #0B2B2A; }
/* Linki: ink (turkus #0E8C80 jako tekst ma tylko 4,1:1 na bieli). W treści podkreślenie z ith-wyglad.css. */
:root, [data-bs-theme=light] { --bs-link-color: #0B2B2A; --bs-link-color-rgb: 11, 43, 42; --bs-link-hover-color: #0B2B2A; --bs-link-hover-color-rgb: 11, 43, 42; }
a { color: #0B2B2A; }
a:hover { color: #0B2B2A; }
.ith-quote a, .ith-rodo a, .forgot-password a, .login-form a, .form-text a, .custom-checkbox a, label a, .alert a {
  color: #0B2B2A !important; text-decoration: underline; text-decoration-color: #12B5A5; text-decoration-thickness: 2px; text-underline-offset: 3px;
}
.category-tree a, .category-tree__item-link, .left-block a { color: #0B2B2A !important; }

/* ===================== 4. Ikony ===================== */
.ith-icon {
  display: inline-block; flex: none; vertical-align: middle; overflow: visible;
  fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: square; stroke-linejoin: miter;
}
.ith-qty-ic { display: inline-flex; font-style: normal; line-height: 1; }
.ith-qty-ic.d-none { display: none !important; }
.header-block__icon.ith-icon { width: 24px; height: 24px; }
/* Strzałka rozwijania (menu Oferta, sortowanie, konto): Hummingbird rysuje ją znakiem z fontu Material Icons
   w ::after, przez co font (125 KB) pobierał się na każdej stronie. Tu ten sam chevron co w sprite, maską CSS. */
.dropdown-toggle::after, .dropup .dropdown-toggle::after, .dropend .dropdown-toggle::after {
  content: "" !important; font-family: inherit !important; display: inline-block; width: 18px; height: 18px; margin-left: 4px;
  border: 0 !important; vertical-align: -4px; background: currentColor; transition: transform .15s ease;
  -webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='square'%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='%23000' stroke-width='2.5' stroke-linecap='square'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e") center / contain no-repeat;
}
.dropdown-toggle[aria-expanded="true"]::after, .dropup .dropdown-toggle::after { transform: rotate(180deg); }
.dropstart .dropdown-toggle::before { content: none !important; }
/* Material Icons zostają tylko w rzadkich miejscach (komunikaty JS, pokaż hasło, kroki zamówienia) - font pobiera się tylko tam */

/* Punktor i strzałka w treściach z bazy (migracja 0019): znak zostaje w HTML, CSS rysuje ikonę */
span.ith-check {
  display: inline-block; position: relative; width: 18px; height: 18px; margin: 0 .55em 0 0; padding: 0;
  vertical-align: -3px; border: 2px solid #0B2B2A; background: #FFFFFF; list-style: none;
  font-size: 0; line-height: 0; color: transparent; overflow: hidden; box-sizing: border-box;
}
span.ith-check::after {
  content: ""; position: absolute; inset: 1px; background: #0E8C80;
  -webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='square'%3e%3cpath d='M5 12l5 5L19 7'/%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='%23000' stroke-width='4' stroke-linecap='square'%3e%3cpath d='M5 12l5 5L19 7'/%3e%3c/svg%3e") center / contain no-repeat;
}
span.ith-arrow {
  display: inline-block; width: 1.1em; height: 1em; margin: 0 .2em; vertical-align: -.12em;
  font-size: inherit; color: transparent; overflow: hidden; background: #0E8C80; white-space: nowrap; text-indent: 2em;
  -webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='square'%3e%3cpath d='M4 12h15M13 6l6 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='%23000' stroke-width='2.5' stroke-linecap='square'%3e%3cpath d='M4 12h15M13 6l6 6-6 6'/%3e%3c/svg%3e") center / contain no-repeat;
}
ul.ith-ticks { list-style: none !important; padding: 0 !important; }
ul.ith-ticks > li { position: relative; padding-left: 28px; margin: 7px 0 !important; }
ul.ith-ticks > li > span.ith-check:first-child { position: absolute; left: 0; top: .2em; margin: 0; }
/* Lista do odhaczania z artykułu Black Week (ul.ith-check, migracja 0015): puste kwadraty 3 px ink */
ul.ith-check { list-style: none; padding-left: 0; margin: 12px 0 20px; }
ul.ith-check > li { position: relative; padding-left: 36px; margin: 10px 0; }
ul.ith-check > li::before {
  content: ""; position: absolute; left: 0; top: .2em; width: 22px; height: 22px;
  border: 3px solid #0B2B2A; background: #FFFFFF; box-shadow: 2px 2px 0 #0B2B2A; box-sizing: border-box;
}
/* Ilustracje w artykułach (.ith-fig, artykuł Black Week) */
.ith-fig { margin: 26px 0 30px; }
.ith-fig img { display: block; width: 100%; height: auto; border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A; background: #F4FBFA; }
.ith-fig figcaption { margin-top: 12px; color: #3E4F4E; font-size: .9rem; line-height: 1.5; }
.ith-fig figcaption a { color: #0B2B2A; }

/* Koralowa kropka z logo: powtarzalny akcent */
.ith-dot { display: inline-block; flex: none; width: 10px; height: 10px; background: #FF6B5C; }

/* ===================== 5. Przyciski ===================== */
/* CTA: coral, tekst ink, obramowanie 3 px ink, twardy cień 4 px; hover: przesunięcie i większy cień */
.btn-primary, .btn--primary, button.add-to-cart, .add-to-cart, [data-button-action="add-to-cart"],
.ith-btn, .ith-cta-btn, .ith-quote .ith-submit, .contact-form .form-footer .btn, .contact-form button[type=submit],
.ith-article-cta a, .ith-mega-cta a, a[style*="background:#FF6B5C"], a[style*="background: #FF6B5C"] {
  background-color: #FF6B5C !important; color: #0B2B2A !important;
  border: 3px solid #0B2B2A !important; box-shadow: 4px 4px 0 #0B2B2A !important;
  font-family: "Inter", sans-serif !important; font-weight: 700 !important; text-decoration: none !important;
  transform: none; transition: transform .12s ease, box-shadow .12s ease !important;
}
.btn-primary:hover, .btn--primary:hover, button.add-to-cart:hover, .add-to-cart:hover, [data-button-action="add-to-cart"]:hover,
.ith-btn:hover, .ith-cta-btn:hover, .ith-quote .ith-submit:hover, .contact-form .form-footer .btn:hover, .contact-form button[type=submit]:hover,
.ith-article-cta a:hover, .ith-mega-cta a:hover, a[style*="background:#FF6B5C"]:hover, a[style*="background: #FF6B5C"]:hover {
  background-color: #FF6B5C !important; color: #0B2B2A !important; border-color: #0B2B2A !important;
  transform: translate(-2px, -2px) !important; box-shadow: 6px 6px 0 #0B2B2A !important;
}
.btn-primary:active, .ith-btn:active, .ith-cta-btn:active, [data-button-action="add-to-cart"]:active,
a[style*="background:#FF6B5C"]:active, .ith-quote .ith-submit:active {
  transform: translate(2px, 2px) !important; box-shadow: 1px 1px 0 #0B2B2A !important;
}
.btn-primary:disabled, .btn-primary.disabled, [data-button-action="add-to-cart"]:disabled {
  transform: none !important; box-shadow: none !important; opacity: .6;
}
.ith-btn, .ith-cta-btn, .ith-quote .ith-submit, .contact-form .form-footer .btn, .contact-form button[type=submit], .ith-article-cta a {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 12px 26px; line-height: 1.2; font-size: 1.02rem;
}
/* Drugi przycisk: biały, obramowanie 3 px ink, bez cienia; hover: mint + cień */
.btn-outline-primary, .btn-secondary, .btn-outline-secondary, .btn-outline-tertiary, .products__sort-dropdown-button,
.ith-btn.ith-btn--ghost, .ith-cta-btn.ith-cta-btn--ghost, .product-miniature__details.btn, .product-miniature__details.btn.btn-outline-primary,
a[style*="border:2px solid #0E8C80"] {
  background-color: #FFFFFF !important; color: #0B2B2A !important; border: 3px solid #0B2B2A !important;
  box-shadow: none !important; font-family: "Inter", sans-serif !important; font-weight: 700 !important; text-decoration: none !important;
  transition: transform .12s ease, box-shadow .12s ease !important;
}
.btn-outline-primary:hover, .btn-secondary:hover, .btn-outline-secondary:hover, .btn-outline-tertiary:hover, .products__sort-dropdown-button:hover,
.ith-btn.ith-btn--ghost:hover, .ith-cta-btn.ith-cta-btn--ghost:hover, .product-miniature__details.btn:hover, .product-miniature__details.btn:focus,
.product-miniature__details.btn:active, a[style*="border:2px solid #0E8C80"]:hover {
  background-color: #F4FBFA !important; color: #0B2B2A !important; border-color: #0B2B2A !important;
  transform: translate(-2px, -2px) !important; box-shadow: 4px 4px 0 #0B2B2A !important;
}
.btn-link { color: #0B2B2A; font-weight: 600; text-decoration: underline; text-decoration-color: #FF6B5C; text-decoration-thickness: 3px; text-underline-offset: 5px; }
.btn-link:hover { color: #0B2B2A; text-decoration-color: #0B2B2A; }
/* Mniejsze przyciski z ikoną (ilość, zamknij, wyczyść) - obramowanie 2 px */
.btn-square-icon, .quantity-button__group .btn, .input-group .btn { border-width: 2px !important; box-shadow: none !important; transform: none !important; }
.quantity-button__group .btn { background: #FFFFFF !important; color: #0B2B2A !important; border-color: #0B2B2A !important; }
.quantity-button__group .btn:hover { background: #F4FBFA !important; }
.quantity-button__group .form-control { border-width: 2px 0 !important; border-color: #0B2B2A !important; text-align: center; }

/* ===================== 6. Nagłówek i menu ===================== */
#header, #header.js-sticky-header { background: #FFFFFF; border-bottom: 0 !important; box-shadow: none !important; }
#header::after { display: none !important; }
#header.ith-stuck { box-shadow: none !important; }
/* Górny pasek ink: telefon po lewej, obłożenie, logowanie i koszyk po prawej */
#header .header-top, .header-top {
  background: #0B2B2A !important; color: #FFFFFF; border-bottom: 0 !important; box-shadow: none !important;
  font-size: 13px; font-weight: 500;
}
.header-top .container-md > .row { min-height: 40px; align-items: center; }
.header-top a, .header-top .ps-contactinfo__phone, .header-top .header-block__action-btn, .header-top button.header-block__action-btn {
  color: #FFFFFF !important; text-decoration: none; font-weight: 500;
}
.header-top a:hover, .header-top .header-block__action-btn:hover { color: #FFFFFF !important; text-decoration: underline; text-decoration-color: #FF6B5C; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.header-top .ps-contactinfo__phone { font-weight: 600; }
.header-top__right { display: flex; align-items: center; justify-content: flex-end; gap: 22px !important; }
.header-top .header-block { padding: 0; }
.header-top .header-block__action-btn { display: inline-flex; align-items: center; gap: 8px; padding: 0; min-height: 40px; background: transparent; }
.header-top .header-block__icon { width: 18px; height: 18px; }
.header-top .header-block__title { font-size: 13px; font-weight: 600; }
/* Licznik koszyka: koralowa kropka, cyfra ink */
.header-block__badge {
  display: inline-flex !important; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px;
  background: #FF6B5C !important; color: #0B2B2A !important; font: 700 12px/1 "Inter", sans-serif; border: 0;
}
.header-top .header-block__badge { position: static; transform: none; margin-left: 2px; }
.header-top .dropdown-menu { font-size: .95rem; }
/* Pasek główny: biały, pod spodem linia 3 px ink */
.header-bottom { background: #FFFFFF; border-bottom: 3px solid #0B2B2A; padding-top: 0 !important; padding-bottom: 0 !important; }
.header-bottom__row { min-height: 88px; align-items: center !important; }
.header-bottom__logo .logo, .header-bottom__logo img { max-height: 44px; width: auto; }
.header-bottom .header-block__action-btn { color: #0B2B2A !important; }
/* Menu desktop */
.ps-mainmenu__tree { gap: 6px; align-items: center; }
.ps-mainmenu__tree-link {
  font-family: "Inter", sans-serif !important; font-weight: 600 !important; font-size: 15px !important; color: #0B2B2A !important;
  padding: 10px 14px !important; border: 2px solid transparent !important; background: transparent !important; box-shadow: none !important;
  transition: background-color .12s ease, border-color .12s ease !important;
}
.ps-mainmenu__tree-link:hover, .ps-mainmenu__tree-link:focus-visible,
.ps-mainmenu__tree-item.current > .ps-mainmenu__tree-item-wrapper > .ps-mainmenu__tree-link,
.ps-mainmenu__tree-link[aria-current="page"] {
  border-color: #0B2B2A !important; background: #F4FBFA !important; color: #0B2B2A !important; box-shadow: none !important;
}
.ps-mainmenu__tree-dropdown-toggle { color: #0B2B2A !important; }
/* Kontakt = jedyne CTA w menu */
.ps-mainmenu__tree-item:last-child .ps-mainmenu__tree-link {
  background: #FF6B5C !important; color: #0B2B2A !important; font-weight: 700 !important; border: 3px solid #0B2B2A !important;
  padding: 11px 22px !important; box-shadow: 4px 4px 0 #0B2B2A !important; margin-left: 8px;
  transition: transform .12s ease, box-shadow .12s ease !important;
}
.ps-mainmenu__tree-item:last-child .ps-mainmenu__tree-link:hover {
  background: #FF6B5C !important; transform: translate(-2px, -2px) !important; box-shadow: 6px 6px 0 #0B2B2A !important;
}
/* Mega menu "Oferta" */
.ps-mainmenu .js-sub-menu.submenu, .ps-mainmenu .submenu {
  border: 3px solid #0B2B2A !important; box-shadow: 10px 10px 0 #0B2B2A !important; background: #FFFFFF !important; padding: 14px !important;
}
.ps-mainmenu .submenu__left-item { border: 2px solid transparent !important; padding: 12px !important; }
.ps-mainmenu .submenu__left-item:hover, .ps-mainmenu .submenu__left-item:focus-visible { background: #F4FBFA !important; border-color: #0B2B2A !important; }
.ith-mega-ic {
  width: 44px !important; height: 44px !important; background: #FFFFFF !important; color: #0E8C80 !important;
  border: 2px solid #0B2B2A; box-shadow: 3px 3px 0 #0B2B2A !important;
}
.ith-mega-name { font-family: "Poppins", sans-serif; font-weight: 700 !important; color: #0B2B2A; }
.ith-mega-desc { color: #3E4F4E !important; }
.ith-mega-cta {
  background: var(--ith-perf-ink) 14px 14px / 28px 28px, #0B2B2A !important; color: #FFFFFF; border: 0; box-shadow: none !important;
  padding: 18px 22px !important;
}
.ith-mega-cta span { font-weight: 800; }
.ith-mega-cta small { color: #D7E6E4 !important; }
/* Wyszukiwarka */
.ps-searchbar__form { position: relative; }
.ps-searchbar__input, .ps-searchbar input[type=text], .header-search input[type=text] {
  border: 2px solid #0B2B2A !important; min-height: 46px; background: #FFFFFF !important; box-shadow: none !important;
  font-size: 14px !important; color: #0B2B2A;
}
.ps-searchbar__input:focus { border-color: #0B2B2A !important; box-shadow: 3px 3px 0 #0B2B2A !important; }
.ps-searchbar__input::placeholder { color: #3E4F4E; opacity: 1; }
.ps-searchbar__magnifier { color: #0B2B2A !important; width: 18px; height: 18px; }
.ps-searchbar__clear { border: 0 !important; color: #0B2B2A; }
.ps-searchbar__dropdown { border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A !important; }
.ps-searchbar__result-link:hover, .ps-searchbar__result-link:focus { background: #F4FBFA; }
/* Rozwijane menu konta */
.dropdown-menu { border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A !important; padding: 6px; }
.dropdown-item { color: #0B2B2A; font-weight: 500; display: flex; align-items: center; gap: 8px; }
.dropdown-item:hover, .dropdown-item:focus { background: #F4FBFA; color: #0B2B2A; }
.dropdown-item .ith-icon { width: 20px; height: 20px; color: #0E8C80; }
/* Menu na telefonie i tablecie (hamburger Hummingbird, offcanvas) */
.ps-mainmenu__mobile-toggle .menu-toggle { color: #0B2B2A; border: 2px solid #0B2B2A !important; padding: 6px; line-height: 0; }
.ps-mainmenu__mobile-toggle .menu-toggle .ith-icon { width: 26px; height: 26px; }
#mobileMenu.offcanvas, .ps-mainmenu--mobile.offcanvas { border-right: 3px solid #0B2B2A !important; box-shadow: 10px 0 0 rgba(11, 43, 42, .25); }
#mobileMenu .offcanvas-header { border-bottom: 3px solid #0B2B2A; background: var(--ith-perf-mint) 14px 14px / 28px 28px, #F4FBFA; }
.ps-mainmenu__mobile .menu__list > li { border-bottom: 2px solid #D7E6E4; }
.ps-mainmenu__mobile .menu__link, .ps-mainmenu__mobile .menu__list a {
  font-family: "Poppins", sans-serif; font-weight: 700; font-size: 1.05rem; color: #0B2B2A !important; padding-top: 12px; padding-bottom: 12px;
}
.ps-mainmenu__mobile .menu__list a:hover { background: #F4FBFA; }
.ps-mainmenu__mobile .menu__title { font-family: "Poppins", sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: .8rem; color: #3E4F4E; }
.ps-mainmenu__mobile .menu__toggle-child { color: #0B2B2A; }
.ps-mainmenu__mobile .type-link:last-child .menu__link { background: #FF6B5C; border: 3px solid #0B2B2A; box-shadow: 4px 4px 0 #0B2B2A; margin: 12px 0; display: inline-flex; padding: 10px 20px; }
.ps-mainmenu__back-button .btn { color: #0B2B2A; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; }
.header-bottom .header-block__action-btn .ith-icon, .ps-searchbar--mobile .ith-icon { width: 26px; height: 26px; }
.ps-searchbar__offcanvas { border-bottom: 3px solid #0B2B2A !important; }
/* Menu poziome (Hummingbird: d-xl-block, od 1200 px) - logo, 6 pozycji menu i wyszukiwarka zawsze w jednej linii.
   Kontener Bootstrapa ma stałą szerokość: 1140 px dla 1200-1399 px i 1320 px od 1400 px, więc progi zamiast clamp(vw). */
@media (min-width: 1200px) {
  .header-bottom__row { flex-wrap: nowrap !important; }
  .header-bottom__logo, #_desktop_ps_searchbar { flex: 0 0 auto; }
  .ps-mainmenu.ps-mainmenu--desktop { flex: 1 1 auto; min-width: 0; align-items: center; justify-content: center; }
  .ps-mainmenu.ps-mainmenu--desktop .ps-mainmenu__tree { flex-wrap: nowrap; align-items: center; gap: 6px; }
  .ps-mainmenu__tree-item, .ps-mainmenu__tree-link { white-space: nowrap; }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .header-bottom__logo .logo, .header-bottom__logo img { max-height: 40px; }
  .ps-mainmenu.ps-mainmenu--desktop .ps-mainmenu__tree { gap: 2px; }
  .ps-mainmenu__tree-link { font-size: 14px !important; padding: 9px 10px !important; }
  .ps-mainmenu__tree-item:last-child .ps-mainmenu__tree-link { padding: 9px 16px !important; margin-left: 6px; }
  #_desktop_ps_searchbar .ps-searchbar { min-width: 0; width: 220px; }
}

/* ===================== 7. Wskaźnik obłożenia "Grafik NN%" ===================== */
.ith-busy {
  display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 0; min-height: 40px; cursor: pointer;
  background: transparent !important; border: 0 !important; animation: none !important; box-shadow: none !important;
  color: #FFFFFF; font: 500 13px/1 "Inter", sans-serif;
}
.ith-busy:hover .ith-busy__lbl { text-decoration: underline; text-decoration-color: #FF6B5C; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ith-busy__flame { display: none !important; }
.ith-busy__lbl { font-weight: 600; }
.ith-busy__bar { display: inline-flex; gap: 3px; }
.ith-busy__cell { width: 8px; height: 14px; border: 1px solid #5B6B6A; box-sizing: border-box; background: transparent; }
.ith-busy__cell.on { background: #12B5A5; border-color: #12B5A5; }
.ith-busy--hot .ith-busy__cell.on { background: #FF6B5C; border-color: #FF6B5C; }
.ith-busy__txt { font-weight: 700; white-space: nowrap; }
/* wersja na telefon: w białym pasku obok ikony konta */
.ith-busy-slot { padding: 0 2px; }
.ith-busy--compact { color: #0B2B2A; gap: 6px; min-height: 44px; margin-right: 4px; }
.ith-busy--compact .ith-busy__bar { gap: 2px; }
.ith-busy--compact .ith-busy__cell { width: 4px; height: 14px; border-color: #3E4F4E; }
.ith-busy--compact .ith-busy__cell.on { background: #0E8C80; border-color: #0E8C80; }
.ith-busy--compact.ith-busy--hot .ith-busy__cell.on { background: #FF6B5C; border-color: #0B2B2A; }
.ith-busy--compact .ith-busy__txt { font-size: 12px; }
/* Okienko ze skalą */
.ith-busy-pop { border: 3px solid #0B2B2A !important; box-shadow: 8px 8px 0 #0B2B2A !important; padding: 18px 18px 14px !important; }
.ith-busy-pop h4 { font-weight: 800 !important; font-size: 1.1rem !important; }
.ith-busy-pop__sub, .ith-busy-pop__foot, .ith-busy-lvl__d, .ith-busy-lvl__r { color: #3E4F4E !important; }
.ith-busy-lvl { align-items: flex-start; gap: 12px; border-top: 2px solid #D7E6E4 !important; }
.ith-busy-lvl:first-of-type { border-top: 0 !important; }
.ith-busy-lvl.is-now { background: #F4FBFA !important; border: 2px solid #0B2B2A !important; padding: 10px !important; margin: 4px 0; }
.ith-busy-lvl.is-now + .ith-busy-lvl { border-top: 0 !important; }
.ith-busy-lvl.is-now .ith-busy-lvl__b::after { display: none !important; }
.ith-busy-lvl__bar { display: inline-flex; gap: 2px; margin-top: 5px; flex: none; }
.ith-busy-lvl__cell { width: 5px; height: 12px; border: 1px solid #3E4F4E; box-sizing: border-box; }
.ith-busy-lvl__cell.on { background: #0E8C80; border-color: #0E8C80; }
.ith-busy-lvl.is-hot .ith-busy-lvl__cell.on { background: #FF6B5C; border-color: #0B2B2A; }
.ith-busy-lvl__b { font-weight: 700 !important; }
.ith-busy-lvl__now {
  display: inline-block; margin-left: 8px; padding: 1px 7px; vertical-align: middle;
  background: #FF6B5C; color: #0B2B2A; border: 2px solid #0B2B2A; font: 700 .66rem/1.4 "Inter", sans-serif; text-transform: uppercase; letter-spacing: .06em;
}

/* ===================== 8. Okruszki i nagłówki stron ===================== */
.breadcrumb__wrapper {
  background: var(--ith-perf-mint) 14px 14px / 28px 28px, #F4FBFA !important; border-bottom: 3px solid #0B2B2A !important;
}
.breadcrumb { font-size: .9rem; font-weight: 500; }
.breadcrumb-item.active, .breadcrumb-item + .breadcrumb-item::before { color: #3E4F4E !important; }
.breadcrumb a { color: #0B2B2A !important; text-decoration-color: #FF6B5C !important; }
.page-title-section, h1.h1 { font-size: clamp(2rem, 4.2vw, 3rem); margin-bottom: .55em; }
.category__description, .block-category .category-description { color: #0B2B2A; }

/* ===================== 9. Formularze ===================== */
.form-control, .form-select, .ith-quote .ith-field, .ith-kb-sort, textarea, select.form-control {
  border: 2px solid #0B2B2A !important; background-color: #FFFFFF; color: #0B2B2A; box-shadow: none !important;
}
.form-control:focus, .form-select:focus, .ith-quote .ith-field:focus, .ith-kb-sort:focus, .ith-field:focus,
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus {
  border-color: #0B2B2A !important; box-shadow: 4px 4px 0 #0B2B2A !important; outline: none;
}
.form-control::placeholder, .ith-quote .ith-field::placeholder { color: #3E4F4E; }
.form-control.is-invalid, .was-validated .form-control:invalid { border-color: #DC2626 !important; }
.form-check-input { border: 2px solid #0B2B2A !important; }
.form-check-input:checked { background-color: #0B2B2A !important; border-color: #0B2B2A !important; }
.form-check-input:focus { box-shadow: none !important; }
input[type=checkbox], input[type=radio] { accent-color: #0B2B2A; }
.input-group > .form-control + .btn, .input-group > .btn + .form-control { margin-left: -2px; }
.alert { border: 3px solid #0B2B2A !important; box-shadow: 4px 4px 0 #0B2B2A; color: #0B2B2A; }
.alert-danger { background: #FFFFFF; border-left: 10px solid #DC2626 !important; }
.alert-success { background: #FFFFFF; border-left: 10px solid #16A34A !important; }
.alert-warning, .alert-info { background: #FFFFFF; border-left: 10px solid #12B5A5 !important; }
.modal-content { border: 3px solid #0B2B2A !important; box-shadow: 10px 10px 0 #0B2B2A !important; }
.modal-header { border-bottom: 3px solid #0B2B2A !important; background: #F4FBFA; }
.modal-footer { border-top: 2px solid #D7E6E4 !important; }
.modal-backdrop.show { opacity: .55; }
.blockcart-modal__title-icon { color: #0E8C80; }

/* Formularz zapytania o wycenę (moduł ithandy_brand, typ A) - tylko wygląd, po klasach.
   Markup i JS formularza poprawia osobna zmiana (lead.php, product_quote_form.tpl). */
.ith-quote {
  background: #FFFFFF !important; border: 3px solid #0B2B2A !important; border-top-width: 3px !important;
  box-shadow: 10px 10px 0 #0B2B2A !important; padding: 26px !important; position: relative;
}
.ith-quote::before {
  content: ""; position: absolute; top: -9px; right: 24px; width: 18px; height: 18px; background: #FF6B5C;
  border: 3px solid #0B2B2A; border-radius: 50% !important; box-sizing: border-box;
}
.ith-quote h2, .ith-quote .h2, .ith-quote h3 { font-weight: 800 !important; letter-spacing: -.02em; }
.ith-quote .ith-quote__sub, .ith-quote .ith-rodo, .ith-quote .ith-label__opt, .ith-quote .ith-quote__req, .ith-quote .ith-quote__info { color: #3E4F4E !important; }
.ith-quote .ith-label { font-family: "Poppins", sans-serif; font-weight: 700; }
.ith-quote .ith-submit { width: 100%; }
.ith-quote__ok, .ith-quote__err { border: 3px solid #0B2B2A !important; box-shadow: 4px 4px 0 #0B2B2A; background: #FFFFFF !important; }
.ith-quote__ok { border-left: 10px solid #16A34A !important; }
.ith-quote__err { border-left: 10px solid #DC2626 !important; }

/* ===================== 10. Listy usług (kategorie, wyniki wyszukiwania) ===================== */
.products { gap: 28px !important; }
#products .product-miniature, .products .product-miniature, .featured-products .product-miniature {
  background: #FFFFFF; border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A !important; overflow: hidden;
  transition: transform .12s ease, box-shadow .12s ease !important;
}
#products .product-miniature:hover, .products .product-miniature:hover {
  transform: translate(-2px, -2px) !important; box-shadow: 8px 8px 0 #0B2B2A !important; border-color: #0B2B2A !important;
}
.product-miniature__top, .product-miniature__image-container, .product-miniature__image-link { border-bottom: 3px solid #0B2B2A; }
.product-miniature__image-link img, .product-miniature__thumbnail img { border: 0 !important; }
.product-miniature__title, .product-miniature .product-title a {
  font-family: "Poppins", sans-serif !important; font-weight: 700 !important; color: #0B2B2A !important; font-size: 1.08rem; line-height: 1.3;
}
.product-miniature__price, .product-miniature .price { font-family: "Poppins", sans-serif; font-weight: 800 !important; color: #0B2B2A !important; }
.product-miniature__quickview, .product-miniature .quick-view {
  background: #FFFFFF !important; color: #0B2B2A !important; border: 2px solid #0B2B2A !important; box-shadow: 3px 3px 0 #0B2B2A;
}
.product-miniature__add .ith-icon { width: 22px; height: 22px; }
/* Plakietki (np. nowość): tabliczka coral z obramowaniem */
.product-flag, .product-flags .product-flag {
  background: #FF6B5C !important; color: #0B2B2A !important; border: 2px solid #0B2B2A !important; box-shadow: 2px 2px 0 #0B2B2A !important;
  font: 700 .72rem/1.3 "Inter", sans-serif !important; text-transform: uppercase; letter-spacing: .06em;
}
.ith-from {
  background: #FFFFFF !important; color: #0B2B2A !important; border: 2px solid #0B2B2A !important;
  font-family: "Poppins", sans-serif; font-weight: 700; padding: 4px 12px;
}
/* Lewa kolumna: kategorie i filtry jak tabliczki na tablicy */
.left-column .left-block, .wrapper__left-column .ps-contactinfo, #left-column .block-categories {
  background: #F4FBFA !important; border: 3px solid #0B2B2A !important; box-shadow: 4px 4px 0 #0B2B2A;
}
.left-block__title, .left-block__title-link { font-weight: 800 !important; }
.category-tree__item-link { border: 2px solid transparent; }
.category-tree__item-link:hover, .category-tree__item-link.current, .category-tree__item--current > .category-tree__item-header .category-tree__item-link {
  background: #FFFFFF !important; border-color: #0B2B2A;
}
.products__sort-dropdown-button { min-height: 44px; }
/* Paginacja: kwadraty */
.pagination { gap: 6px; }
.page-link { border: 2px solid #0B2B2A !important; color: #0B2B2A !important; min-width: 40px; text-align: center; font-weight: 700; }
.page-item.active > .page-link, .page-link.active { background: #0B2B2A !important; color: #FFFFFF !important; }
.page-link:hover { background: #F4FBFA !important; }
.page-link .ith-icon { width: 18px; height: 18px; }
.subcategory__link { border: 2px solid #0B2B2A !important; }

/* ===================== 11. Strona usługi (produkt) ===================== */
.product__images .carousel-inner, .product__images img, .product__images .carousel-item img {
  border: 0 !important; box-shadow: none !important;
}
.product__images .carousel-inner, .product__cover, .product__images > .product__carousel {
  border: 3px solid #0B2B2A !important; box-shadow: 10px 10px 0 #0B2B2A !important;
}
.product__thumbnails img, .product__thumbnail { border: 2px solid #0B2B2A !important; }
.product__price, .product__price .current-price-value, .product__prices .price, .current-price-value {
  font-weight: 800 !important; color: #0B2B2A !important;
}
.product__tax-infos, .product__tax-label { color: #3E4F4E !important; }
.product__accordion .accordion-item { border: 0 !important; border-top: 3px solid #0B2B2A !important; }
.product__accordion .accordion-item:last-child { border-bottom: 3px solid #0B2B2A !important; }
.product__accordion .accordion-button { font-weight: 800 !important; font-size: 1.25rem !important; }
.product__availability-status .ith-icon { width: 20px; height: 20px; }
/* Blok zaufania: tabliczka z ikonami w kwadratach */
.blockreassurance--product, .blockreassurance--light, .blockreassurance--dark, .blockreassurance_product {
  background: #F4FBFA !important; border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A; padding: 18px 20px !important;
}
.blockreassurance .reassurance, .blockreassurance--product .reassurance { display: flex; gap: 14px; align-items: flex-start; }
.blockreassurance--product .reassurance + .reassurance { border-top: 2px solid #D7E6E4 !important; padding-top: 12px; margin-top: 12px; }
.reassurance__image { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: #FFFFFF; border: 2px solid #0B2B2A; color: #0E8C80; box-shadow: 3px 3px 0 #0B2B2A; }
.reassurance__icon { width: 28px; height: 28px; }
.reassurance__title { font-family: "Poppins", sans-serif; font-weight: 700; color: #0B2B2A !important; }
.reassurance__desc { color: #3E4F4E !important; font-size: .88rem; }
.blockreassurance--horizontal { gap: 18px; }
/* Udostępnianie */
.ps-sharebuttons__link {
  display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  border: 2px solid #0B2B2A; color: #0B2B2A !important; background: #FFFFFF;
}
.ps-sharebuttons__link:hover { background: #F4FBFA; box-shadow: 3px 3px 0 #0B2B2A; }
.ps-sharebuttons__label { font-family: "Poppins", sans-serif; font-weight: 700; }
/* Pas CTA na końcu opisu usługi (34 strony, klasa .ith-cta z inline stylem) */
.ith-cta {
  background: var(--ith-perf-mint) 14px 14px / 28px 28px, #F4FBFA !important; border: 3px solid #0B2B2A !important;
  box-shadow: 6px 6px 0 #0B2B2A; padding: 22px 24px !important; position: relative;
}
.ith-cta > p:first-child { font-family: "Poppins", sans-serif; font-weight: 700 !important; font-size: 1.1rem; }
/* Karty pakietów (produkty 21 i 58, migracja 0019) */
.ith-plan {
  background: #FFFFFF !important; border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A; position: relative;
}
.ith-plan--featured { background: #F4FBFA !important; box-shadow: 10px 10px 0 #0B2B2A; }
.ith-plan h3 { font-weight: 800 !important; }
.ith-plan span[style*="font-size:1.6rem"] { color: #0B2B2A !important; font-weight: 800 !important; }
.ith-plan__badge {
  background: #FF6B5C !important; color: #0B2B2A !important; border: 2px solid #0B2B2A; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: .06em; font-size: .7rem !important; padding: 3px 10px !important;
  transform: rotate(-2deg);
}

/* ===================== 12. Treści CMS i Baza wiedzy ===================== */
.rich-text h2::after, .ith-article h2::after, body .ith-whome h2::after {
  content: ""; display: block; width: 48px; height: 6px; margin-top: 12px; background: #0B2B2A !important;
}
.ith-cta-band2 h2::after, .ith-article-cta h2::after, .ith-cta h2::after { display: none !important; }
.rich-text h2, .ith-article h2, .page-content--cms h2 { font-weight: 800 !important; letter-spacing: -.025em; }
.rich-text li::marker, .ith-article li::marker { color: #0B2B2A; }
.rich-text ul:not([class]):not([style]) { list-style: square; }
.rich-text blockquote { border-left: 6px solid #0B2B2A; background: #F4FBFA; }
.rich-text code { border: 2px solid #0B2B2A; background: #F4FBFA; }
/* Tabele: ramka 3 px ink, nagłówek na mincie */
.rich-text table, .ith-article table { border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A; }
.rich-text thead th, .ith-article thead th { background: #F4FBFA !important; color: #0B2B2A !important; border-bottom: 3px solid #0B2B2A !important; font-weight: 800; }
.rich-text th, .rich-text td, .ith-article th, .ith-article td { border-bottom: 2px solid #D7E6E4 !important; }
.rich-text table[style] { border: 3px solid #0B2B2A !important; }
@media (max-width: 640px) {
  .ith-rodo-tabela tr { border: 3px solid #0B2B2A !important; box-shadow: 4px 4px 0 #0B2B2A; }
  .rich-text table.ith-rodo-tabela { box-shadow: none; border: 0 !important; }
}
/* Komponenty treści: karty jak tabliczki */
.ith-card2, .ith-step2, .ith-compare__col, .ith-stat, .ith-author, .ith-toc, .ith-tldr, .ith-note {
  background: #FFFFFF; border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A !important;
}
.ith-tldr { background: #F4FBFA !important; border-left-width: 10px !important; }
.ith-toc { background: #F4FBFA !important; box-shadow: 4px 4px 0 #0B2B2A !important; }
.ith-note { border-left: 10px solid #FF6B5C !important; }
.ith-author { background: #F4FBFA !important; }
.ith-author img { border: 2px solid #0B2B2A; }
.ith-stat b, .ith-stat2 b { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: #0B2B2A !important; font-weight: 800 !important; }
.ith-card2 h3, .ith-step2 b, .ith-compare__col h3, .ith-compare__col h4 { color: #0B2B2A !important; font-weight: 800; }
.ith-chip { background: #FFFFFF !important; border: 2px solid #0B2B2A !important; color: #0B2B2A !important; font-weight: 600; }
.ith-about-hero {
  background: var(--ith-perf-mint) 14px 14px / 28px 28px, #F4FBFA !important; border: 3px solid #0B2B2A !important; box-shadow: 10px 10px 0 #0B2B2A;
}
.ith-about-hero__media { background: #FFFFFF !important; border: 3px solid #0B2B2A; box-shadow: 6px 6px 0 #0B2B2A !important; }
.ith-article-cover { border: 3px solid #0B2B2A !important; box-shadow: 10px 10px 0 #0B2B2A !important; }
/* Pasy CTA w treści: teal z koralową kropką i twardym cieniem (jak pas CTA strony głównej) */
.ith-cta-band2, .ith-article-cta {
  background: #12B5A5 !important; color: #0B2B2A !important; border: 3px solid #0B2B2A; box-shadow: 10px 10px 0 #0B2B2A;
  position: relative; padding: 30px 28px !important;
}
.ith-cta-band2::before, .ith-article-cta::before {
  content: ""; position: absolute; top: -14px; right: 40px; width: 28px; height: 28px; background: #FF6B5C;
  border: 3px solid #0B2B2A; border-radius: 50% !important; box-sizing: border-box;
}
.ith-cta-band2 h2, .ith-article-cta h2, .ith-article-cta h3, .ith-article-cta b, .ith-cta-band2 p, .ith-article-cta p { color: #0B2B2A !important; }
.ith-cta-band2 .ith-cta-btn.ith-cta-btn--ghost { background-color: #FFFFFF !important; color: #0B2B2A !important; border: 3px solid #0B2B2A !important; box-shadow: none !important; }
/* Baza wiedzy: karty, filtry, sortowanie */
.ith-kb-grid { gap: 28px !important; }
.ith-kb-card {
  background: #FFFFFF; border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A !important;
  transition: transform .12s ease, box-shadow .12s ease !important;
}
.ith-kb-card:hover { transform: translate(-2px, -2px) !important; box-shadow: 8px 8px 0 #0B2B2A !important; border-color: #0B2B2A !important; }
.ith-kb-card img { border-bottom: 3px solid #0B2B2A; }
.ith-kb-card__body h3 { font-weight: 800 !important; }
.ith-kb-card__cat {
  display: inline-block !important; align-self: flex-start; padding: 2px 8px !important; border: 2px solid #0B2B2A !important;
  color: #0B2B2A !important; background: #FFFFFF !important; font: 700 .7rem/1.5 "Poppins", sans-serif !important; letter-spacing: .1em;
}
.ith-kb-card__new {
  background: #FF6B5C !important; color: #0B2B2A !important; border: 2px solid #0B2B2A !important; box-shadow: 2px 2px 0 #0B2B2A !important;
  text-transform: uppercase; letter-spacing: .06em; transform: rotate(-3deg);
}
.ith-kb-filter {
  min-height: 42px; background: #FFFFFF !important; color: #0B2B2A !important; border: 2px solid #0B2B2A !important; box-shadow: none !important;
  font: 600 .9rem/1.2 "Inter", sans-serif !important; padding: 8px 14px !important;
}
.ith-kb-filter:hover { background: #F4FBFA !important; box-shadow: 3px 3px 0 #0B2B2A !important; }
.ith-kb-filter.is-active { background: #0B2B2A !important; color: #FFFFFF !important; box-shadow: 3px 3px 0 #FF6B5C !important; }
.ith-kb-bar__lbl { font-weight: 800 !important; }
.ith-kb-filter { display: inline-flex; align-items: center; gap: 7px; }
.ith-kb-filter .ith-icon { color: #0E8C80; }
.ith-kb-filter.is-active .ith-icon { color: #12B5A5; }
.ith-kb-card__cat .ith-icon { width: 14px; height: 14px; margin: -2px 5px 0 0; color: #0E8C80; }

/* ===================== 13. Kontakt ===================== */
#main .contact-form, .contact-form {
  border: 3px solid #0B2B2A !important; border-top-width: 3px !important; box-shadow: 10px 10px 0 #0B2B2A !important; background: #FFFFFF;
}
.contact-rich, .wrapper__left-column .ps-contactinfo { color: #0B2B2A; }
.ps-contactinfo__item, .contact-rich .block { display: flex; gap: 10px; align-items: flex-start; }
.ps-contactinfo .ith-icon, .contact-rich .ith-icon { color: #0E8C80; width: 22px; height: 22px; }

/* ===================== 14. Koszyk i zamówienie (tylko wygląd) ===================== */
.cart-grid .card, .cart-summary, .checkout-step, .order-confirmation .card, #js-checkout-summary, .cart-container, .card.cart-container {
  border: 3px solid #0B2B2A !important; box-shadow: 6px 6px 0 #0B2B2A !important;
}
.checkout-step .step-title, .cart-grid .card-header, .cart-summary__title { font-weight: 800 !important; }
.checkout-step.-current .step-title, .checkout-step--current .step-title { color: #0B2B2A; }
.cart-summary .price, .cart-total .value, .cart-summary-line .value { font-weight: 800; }
.product-line { border-color: #D7E6E4 !important; }
.product-line__image img, .product-line img { border: 2px solid #0B2B2A; }
.product-line__item-availability-icon { width: 18px; height: 18px; }
.cart-empty, .cart__empty { border: 3px dashed #0B2B2A; padding: 24px; background: #F4FBFA; }
.payment-option, .delivery-option { border: 2px solid #0B2B2A !important; }
.payment-option:has(input:checked), .delivery-option:has(input:checked) { background: #F4FBFA; box-shadow: 4px 4px 0 #0B2B2A; }
.order-confirmation__title, .card-title { font-weight: 800; }

/* ===================== 15. Konto klienta ===================== */
.account-menu, .my-account__links, .customer-links { gap: 14px; }
.account-menu__link, .my-account__link, a.account-link {
  border: 3px solid #0B2B2A !important; background: #FFFFFF; color: #0B2B2A !important; box-shadow: 4px 4px 0 #0B2B2A;
  transition: transform .12s ease, box-shadow .12s ease;
}
.account-menu__link:hover, .my-account__link:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 #0B2B2A; background: #F4FBFA; }
.account-menu__icon, .my-account__icon { color: #0E8C80; width: 28px; height: 28px; }
.customer-form, .login-form, .register-form, #authentication .page-content, .form--login {
  border-color: #0B2B2A;
}
/* 404 */
#pagenotfound .page-content, .page-not-found { border: 3px dashed #0B2B2A; background: var(--ith-perf-mint) 14px 14px / 28px 28px, #F4FBFA; padding: 28px; }

/* ===================== 16. Stopka ===================== */
#footer.footer, #footer .footer__main, #footer .footer__before {
  background: var(--ith-perf-ink) 14px 14px / 28px 28px, #0B2B2A !important; color: #FFFFFF;
}
#footer.footer { border-top: 3px solid #0B2B2A; }
#footer .footer__main { padding-top: 56px; padding-bottom: 12px; font-size: 15px; line-height: 1.8; }
#footer .footer-block__title, #footer .footer__title, #footer h3, #footer .h3, #footer p.footer-block__title {
  font: 800 13px/1.3 "Poppins", "Inter", sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: #12B5A5 !important;
}
#footer.footer a, #footer a { color: #FFFFFF; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .35); text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
#footer.footer a:hover, #footer a:hover { color: #FFFFFF; text-decoration-color: #FF6B5C; text-decoration-thickness: 3px; }
#footer .footer-block__title button, #footer .footer-block__title a { color: #12B5A5; text-decoration: none; }
#footer .ps-contactinfo, #footer .ps-contactinfo__phone, #footer .ps-contactinfo__email, #footer address { color: #FFFFFF; }
#footer .ps-contactinfo .ith-icon { color: #12B5A5; width: 18px; height: 18px; margin-right: 6px; }
#footer .copyright, #footer .footer__bottom { border-top: 2px solid rgba(215, 230, 228, .25) !important; color: #D7E6E4 !important; }
#footer .blockreassurance, #footer .footer__before .blockreassurance { background: transparent !important; border: 0 !important; box-shadow: none !important; }
#footer .footer-block__title--toggle .ith-icon { color: #12B5A5; }

/* ===================== 17. Strona główna (hookDisplayHome, klasa .ith-whome) ===================== */
.page-content--home { row-gap: 0 !important; gap: 0 !important; }
#index #center-column { padding-bottom: 0; }
.ith-whome {
  color: #0B2B2A; font-family: "Inter", sans-serif;
  max-width: 1440px; margin: 0 auto; padding: 0 clamp(16px, 4.5vw, 64px); box-sizing: border-box;
}
.ith-whome .ith-sec { position: relative; isolation: isolate; padding: 80px 0; }
/* pasy na całą szerokość okna (sekcja w kontenerze motywu) */
.ith-whome .ith-sec--mint::before, .ith-whome .ith-tape::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); z-index: -1; pointer-events: none;
}
.ith-whome .ith-sec--mint::before { background: #F4FBFA; border-top: 3px solid #0B2B2A; border-bottom: 3px solid #0B2B2A; }
.ith-whome .ith-sec--tight { padding-top: 56px; padding-bottom: 8px; }
.ith-whome h2 { font: 800 clamp(2rem, 3.6vw, 2.9rem)/1.08 "Poppins", "Inter", sans-serif; letter-spacing: -.03em; margin: 0 0 14px; color: #0B2B2A; }
.ith-whome h2::after { display: none !important; }
.ith-whome .ith-lead { color: #3E4F4E; font-size: 1.12rem; line-height: 1.6; max-width: 760px; margin: 0 0 36px; }
.ith-whome .ith-sec__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.ith-more {
  display: inline-flex; align-items: center; gap: 8px; color: #0B2B2A !important; font-weight: 700; font-size: 1rem;
  text-decoration: underline; text-decoration-color: #FF6B5C; text-decoration-thickness: 4px; text-underline-offset: 6px; margin-bottom: 18px;
}
.ith-more:hover { text-decoration-color: #0B2B2A; }

/* Hero: tekst + tablica narzędziowa */
.ith-whome .ith-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; padding: 72px 0 84px; }
.ith-hero__text { display: flex; flex-direction: column; gap: 26px; }
.ith-hero__chip {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; margin: 0; transform: rotate(-2deg);
  background: #0B2B2A; color: #FFFFFF; padding: 9px 14px; font: 700 14px/1.2 "Poppins", sans-serif; letter-spacing: .1em; text-transform: uppercase;
}
.ith-whome .ith-hero__h {
  margin: 0; font: 800 clamp(2.5rem, 5vw, 4.5rem)/1.02 "Poppins", "Inter", sans-serif; letter-spacing: -.035em; color: #0B2B2A;
}
.ith-hl { box-shadow: inset 0 -.3em 0 #12B5A5; padding: 0 .04em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.ith-hero__lead { margin: 0; color: #3E4F4E; font-size: 1.18rem; line-height: 1.6; max-width: 560px; }
.ith-hero__cta { display: flex; gap: 20px; flex-wrap: wrap; }
.ith-hero__cta .ith-btn { min-height: 58px; padding: 0 28px; font-size: 1.06rem; }
.ith-hero__cta .ith-btn:not(.ith-btn--ghost) { box-shadow: 6px 6px 0 #0B2B2A !important; }
.ith-hero__cta .ith-btn:not(.ith-btn--ghost):hover { box-shadow: 8px 8px 0 #0B2B2A !important; }

.ith-board {
  position: relative; margin: 0; padding: 52px 40px 40px; min-height: 520px; box-sizing: border-box;
  border: 3px solid #0B2B2A; box-shadow: 10px 10px 0 #0B2B2A;
  background: var(--ith-perf-mint) 14px 14px / 28px 28px, #F4FBFA;
}
.ith-board__tag {
  position: absolute; top: -18px; left: 24px; background: #FFFFFF; border: 3px solid #0B2B2A; padding: 6px 12px;
  font: 800 14px/1.2 "Poppins", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #0B2B2A;
}
.ith-board__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 28px; }
.ith-board__tool a { text-decoration: none !important; display: flex; flex-direction: column; align-items: center; gap: 10px; color: #0B2B2A; text-decoration: none; text-align: center; }
.ith-board__hook { width: 14px; height: 14px; background: #0B2B2A; }
.ith-board__slot {
  position: relative; display: flex; align-items: center; justify-content: center; width: 116px; height: 116px; box-sizing: border-box;
  background: #FFFFFF; border: 3px solid #0B2B2A; box-shadow: 5px 5px 0 #0B2B2A; color: #0E8C80;
  transition: transform .12s ease, box-shadow .12s ease;
}
.ith-board__slot .ith-icon { width: 56px; height: 56px; }
.ith-board__tool a:hover .ith-board__slot, .ith-board__tool a:focus-visible .ith-board__slot { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 #0B2B2A; }
.ith-board__tool a:hover .ith-board__name { text-decoration: underline; text-decoration-color: #FF6B5C; text-decoration-thickness: 3px; text-underline-offset: 4px; }
.ith-board__name { font: 700 15px/1.3 "Poppins", sans-serif; }
.ith-board__note { display: block; font: 500 13px/1.4 "Inter", sans-serif; color: #3E4F4E; }
/* narzędzie "u klienta": puste miejsce z przerywaną ramką i koralową kropką */
.ith-board__tool.is-out .ith-board__slot { background: transparent; border: 3px dashed #0E8C80; box-shadow: none; color: #0E8C80; }
.ith-board__tool.is-out .ith-board__slot .ith-icon { opacity: .35; }
.ith-board__dot { position: absolute; top: -10px; right: -10px; width: 20px; height: 20px; border: 3px solid #0B2B2A; box-sizing: border-box; }

/* Taśma ostrzegawcza z telefonem */
.ith-whome .ith-tape {
  position: relative; isolation: isolate; height: 22px; margin: 0;
}
.ith-whome .ith-tape + .ith-sec--mint::before { border-top: 0; }
.ith-whome .ith-tape::before {
  background: repeating-linear-gradient(-45deg, #0B2B2A 0 18px, #12B5A5 18px 36px);
  border-top: 3px solid #0B2B2A; border-bottom: 3px solid #0B2B2A; box-sizing: content-box; top: -3px; bottom: -3px;
}
.ith-tape__call {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 10px;
  background: #FFFFFF; border: 3px solid #0B2B2A; padding: 8px 18px; white-space: nowrap;
  font: 800 15px/1.2 "Poppins", sans-serif; color: #0B2B2A !important; text-decoration: none;
}
.ith-tape__call:hover { box-shadow: 4px 4px 0 #0B2B2A; text-decoration: underline; text-decoration-color: #FF6B5C; text-decoration-thickness: 3px; }
.ith-tape__call .ith-icon { color: #0E8C80; }

/* Szuflady usług */
.ith-drawers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.ith-drawer {
  position: relative; display: flex; flex-direction: column; gap: 12px; padding: 36px 26px 26px;
  background: #FFFFFF; border: 3px solid #0B2B2A; box-shadow: 6px 6px 0 #0B2B2A; color: #0B2B2A !important; text-decoration: none !important;
  transition: transform .12s ease, box-shadow .12s ease;
}
.ith-drawer:hover, .ith-drawer:focus-visible { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 #0B2B2A; }
.ith-drawer__handle { position: absolute; top: 10px; left: 50%; width: 64px; height: 8px; transform: translateX(-50%); background: #0B2B2A; }
.ith-drawer__plate {
  align-self: flex-start; border: 2px solid #0B2B2A; padding: 3px 8px;
  font: 700 12px/1.3 "Poppins", sans-serif; letter-spacing: .12em; text-transform: uppercase;
}
.ith-drawer__ic { color: #0E8C80; }
.ith-drawer__ic .ith-icon { width: 32px; height: 32px; }
.ith-drawer__t { font: 700 1.35rem/1.25 "Poppins", sans-serif; letter-spacing: -.01em; }
.ith-drawer__d { color: #3E4F4E; font-size: .97rem; line-height: 1.55; }
.ith-drawer:hover .ith-drawer__t { text-decoration: underline; text-decoration-color: #FF6B5C; text-decoration-thickness: 3px; text-underline-offset: 4px; }

/* Liczby: tabliczki */
.ith-whome .ith-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ith-whome .ith-stat2 {
  display: flex; flex-direction: column; gap: 6px; padding: 22px; background: #FFFFFF; border: 3px solid #0B2B2A; box-shadow: 6px 6px 0 #0B2B2A; text-align: left;
}
.ith-whome .ith-stat2__ic { color: #0E8C80; }
.ith-whome .ith-stat2 b { font: 800 1.7rem/1.1 "Poppins", sans-serif; letter-spacing: -.02em; }
.ith-whome .ith-stat2 > span:last-child { color: #3E4F4E; font-size: .95rem; }

/* Filary, Dla kogo, Przewaga */
.ith-whome .ith-pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.ith-whome .ith-pillar {
  padding: 30px; background: var(--ith-perf-mint) 14px 14px / 28px 28px, #F4FBFA; border: 3px solid #0B2B2A; box-shadow: 10px 10px 0 #0B2B2A;
}
.ith-whome .ith-pillar__ic {
  display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; margin-bottom: 14px;
  background: #FFFFFF; border: 3px solid #0B2B2A; box-shadow: 4px 4px 0 #0B2B2A; color: #0E8C80;
}
.ith-whome .ith-pillar h3 { font: 800 1.45rem/1.2 "Poppins", sans-serif; margin: 0 0 8px; color: #0B2B2A; }
.ith-whome .ith-pillar p { margin: 0; color: #0B2B2A; line-height: 1.6; }
.ith-whome .ith-aud, .ith-whome .ith-why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ith-whome .ith-aud__card, .ith-whome .ith-why__item {
  position: relative; padding: 24px; background: #FFFFFF; border: 3px solid #0B2B2A; box-shadow: 6px 6px 0 #0B2B2A;
}
.ith-whome .ith-aud__ic, .ith-whome .ith-why__ic { display: block; color: #0E8C80; margin-bottom: 10px; }
.ith-whome .ith-aud__card b, .ith-whome .ith-why__item b { display: block; font: 700 1.15rem/1.3 "Poppins", sans-serif; margin-bottom: 6px; }
.ith-whome .ith-aud__card p, .ith-whome .ith-why__item p { margin: 0; color: #3E4F4E; line-height: 1.6; }
.ith-whome .ith-why__no {
  position: absolute; top: -3px; right: -3px; padding: 4px 9px; background: #0B2B2A; color: #FFFFFF;
  font: 800 .8rem/1.2 "Poppins", sans-serif; letter-spacing: .08em;
}

/* Proces na miarce */
.ith-ruler {
  position: relative; height: 64px; box-sizing: border-box; border: 3px solid #0B2B2A; background-color: #12B5A5;
  background-image: repeating-linear-gradient(90deg, #0B2B2A 0 2px, transparent 2px 24px), repeating-linear-gradient(90deg, #0B2B2A 0 3px, transparent 3px 120px);
  background-size: 100% 18px, 100% 32px; background-repeat: no-repeat;
}
.ith-ruler__steps { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; position: relative; }
.ith-ruler__step { display: flex; flex-direction: column; gap: 8px; padding-right: 24px; }
.ith-ruler__no { font: 800 2.6rem/1 "Poppins", sans-serif; color: #0B2B2A; display: flex; align-items: center; gap: 10px; }
.ith-ruler__no::before { content: ""; width: 3px; height: 28px; background: #0B2B2A; }
.ith-ruler__ic { color: #0E8C80; margin-top: 8px; }
.ith-ruler__t { margin: 0; font: 700 1.15rem/1.3 "Poppins", sans-serif; color: #0B2B2A; }
.ith-ruler__d { margin: 0; color: #3E4F4E; font-size: .97rem; line-height: 1.55; }

/* FAQ */
.ith-whome .ith-faqs { max-width: 900px; display: flex; flex-direction: column; gap: 14px; }
.ith-whome .ith-faq { background: #FFFFFF; border: 3px solid #0B2B2A; box-shadow: 4px 4px 0 #0B2B2A; margin: 0; padding: 0; }
.ith-whome .ith-faq[open] { box-shadow: 6px 6px 0 #0B2B2A; }
.ith-whome .ith-faq summary {
  display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 18px 20px; cursor: pointer; list-style: none;
  font: 700 1.06rem/1.4 "Poppins", sans-serif; color: #0B2B2A;
}
.ith-whome .ith-faq summary::-webkit-details-marker { display: none; }
.ith-whome .ith-faq summary::after { display: none !important; content: none !important; }
.ith-faq__ic {
  flex: none; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px;
  border: 2px solid #0B2B2A; background: #FF6B5C; color: #0B2B2A;
}
.ith-faq__minus { display: none; }
.ith-faq[open] .ith-faq__plus { display: none; }
.ith-faq[open] .ith-faq__minus { display: inline-block; }
.ith-faq[open] .ith-faq__ic { background: #FFFFFF; }
.ith-whome .ith-faq p { margin: 0; padding: 0 20px 20px; color: #0B2B2A; line-height: 1.65; max-width: 72ch; }

/* Pas CTA */
.ith-whome .ith-sec--cta { padding-top: 40px; padding-bottom: 96px; }
.ith-whome .ith-cta-band {
  position: relative; display: flex; justify-content: space-between; align-items: center; gap: 40px;
  background: #12B5A5; border: 3px solid #0B2B2A; box-shadow: 10px 10px 0 #0B2B2A; padding: 44px 48px; color: #0B2B2A; text-align: left;
}
.ith-cta-band__dot { position: absolute; top: -14px; right: 48px; width: 28px; height: 28px; border: 3px solid #0B2B2A; box-sizing: border-box; }
.ith-whome .ith-cta-band h2 { font-size: clamp(1.6rem, 2.8vw, 2.4rem); line-height: 1.15; letter-spacing: -.025em; margin: 0 0 8px; max-width: 760px; color: #0B2B2A; }
.ith-whome .ith-cta-band p { margin: 0; color: #0B2B2A; font-size: 1.08rem; }
.ith-whome .ith-cta-band .ith-btn { flex: none; min-height: 58px; box-shadow: 6px 6px 0 #0B2B2A !important; }

/* ===================== 18. Baner cookies (views/consent - plik wczytywany później, stąd "html body") ===================== */
html body .ith-cc__box {
  border: 3px solid #0B2B2A !important; box-shadow: 8px 8px 0 #0B2B2A !important; padding: 22px 24px 20px;
}
html body .ith-cc__box::before { display: none; }
html body .ith-cc__title { font-weight: 800; font-size: 1.1rem; }
html body .ith-cc__desc { color: #3E4F4E; }
/* "Akceptuję" i "Odrzucam" nadal identyczne (równorzędny wybór) - tylko kąty proste i twardy cień */
html body .ith-cc__btn { border: 3px solid #0B2B2A; background: #0B2B2A; color: #FFFFFF; box-shadow: 3px 3px 0 #12B5A5; font-weight: 700; }
html body .ith-cc__btn:hover { background: #FFFFFF; color: #0B2B2A; box-shadow: 3px 3px 0 #0B2B2A; }
html body .ith-cc__more { text-decoration: underline; text-decoration-color: #FF6B5C; text-decoration-thickness: 2px; text-underline-offset: 4px; }
html body .ith-cc__switch { border: 2px solid #0B2B2A; }
html body .ith-cc__switch::after { background: #0B2B2A; }
html body .ith-cc__switch:checked { background: #0E8C80; border-color: #0B2B2A; }
html body .ith-cc__switch:checked::after { background: #FFFFFF; }
html body .ith-cc__row { border-color: #D7E6E4; }

/* ===================== 19. Tablet i telefon ===================== */
@media (max-width: 1199px) {
  .ith-drawers, .ith-whome .ith-aud, .ith-whome .ith-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ith-whome .ith-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ith-ruler__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; }
}
@media (max-width: 991px) {
  .ith-whome .ith-hero { grid-template-columns: minmax(0, 1fr); gap: 52px; padding: 48px 0 64px; }
  .ith-board { min-height: 0; }
  .ith-whome .ith-pillars { grid-template-columns: minmax(0, 1fr); }
  .ith-whome .ith-cta-band { flex-direction: column; align-items: flex-start; gap: 22px; padding: 34px 28px; }
  .header-bottom__row { min-height: 72px; }
}
@media (max-width: 767px) {
  .ith-whome .ith-sec { padding: 56px 0; }
  .ith-whome .ith-sec--tight { padding: 44px 0 0; }
  .ith-whome .ith-lead { font-size: 1.02rem; margin-bottom: 26px; }
  .ith-drawers, .ith-whome .ith-aud, .ith-whome .ith-why { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  /* miarka w pionie: pasek z podziałką po lewej stronie listy etapów */
  .ith-ruler { display: none; }
  .ith-ruler__steps {
    grid-template-columns: minmax(0, 1fr); margin: 0; row-gap: 0; padding-left: 52px;
  }
  .ith-ruler__steps::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 34px; box-sizing: border-box; border: 3px solid #0B2B2A; background-color: #12B5A5;
    background-image: repeating-linear-gradient(180deg, #0B2B2A 0 2px, transparent 2px 24px), repeating-linear-gradient(180deg, #0B2B2A 0 3px, transparent 3px 120px);
    background-size: 12px 100%, 20px 100%; background-repeat: no-repeat;
  }
  .ith-ruler__step { padding: 0 0 26px; }
  .ith-ruler__no { font-size: 2rem; }
  .ith-whome .ith-cta-band .ith-btn, .ith-hero__cta .ith-btn { width: 100%; }
  .ith-whome .ith-faq summary { padding: 16px; font-size: 1rem; }
  .ith-whome .ith-faq p { padding: 0 16px 18px; }
}
@media (max-width: 575px) {
  .ith-whome .ith-hero { padding-top: 32px; }
  .ith-whome .ith-hero__h { font-size: clamp(2.1rem, 10vw, 2.6rem); }
  .ith-hero__chip { font-size: 12px; }
  .ith-hero__lead { font-size: 1.05rem; }
  /* tablica: 2 kolumny, mniejsze sloty */
  .ith-board { padding: 40px 16px 26px; box-shadow: 6px 6px 0 #0B2B2A; margin-right: 6px; }
  .ith-board__tag { font-size: 12px; left: 14px; }
  .ith-board__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .ith-board__slot { width: 88px; height: 88px; }
  .ith-board__slot .ith-icon { width: 42px; height: 42px; }
  .ith-board__name { font-size: 14px; }
  /* taśma: telefon zawija się i stoi na taśmie */
  .ith-whome .ith-tape { height: auto; margin: 0; padding: 14px 12px; display: flex; justify-content: center; }
  .ith-tape__call { position: static; transform: none; white-space: normal; text-align: center; justify-content: center; font-size: 14px; max-width: 100%; }
  .ith-whome .ith-stats { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .ith-whome .ith-pillar, .ith-whome .ith-aud__card, .ith-whome .ith-why__item, .ith-drawer { box-shadow: 5px 5px 0 #0B2B2A; }
  .ith-whome .ith-pillar { box-shadow: 6px 6px 0 #0B2B2A; padding: 22px; }
  .ith-whome .ith-cta-band { padding: 30px 20px 24px; box-shadow: 6px 6px 0 #0B2B2A; margin-right: 6px; }
  .ith-whome .ith-cta-band__dot { right: 24px; }
  .ith-drawer { padding: 32px 20px 22px; }
  .ith-quote { box-shadow: 6px 6px 0 #0B2B2A !important; padding: 20px !important; }
  #main .contact-form, .contact-form { box-shadow: 6px 6px 0 #0B2B2A !important; }
  .ith-about-hero, .ith-article-cover, .ith-cta-band2, .ith-article-cta, .ith-plan--featured { box-shadow: 6px 6px 0 #0B2B2A !important; }
  .products { gap: 20px !important; }
  .rich-text table, .ith-article table { box-shadow: 4px 4px 0 #0B2B2A; }
  html body .ith-cc__box { box-shadow: 5px 5px 0 #0B2B2A !important; }
}
@media (max-width: 767px) {
  .header-bottom__row { flex-wrap: nowrap !important; }
  .header-bottom__logo .logo, .header-bottom__logo img { max-height: 36px; }
  .header-bottom__row > [class*="col"] { padding-left: 3px; padding-right: 3px; }
}
@media (max-width: 420px) {
  /* telefon: w wąskim pasku tylko "90%" (pełny pasek 10 kratek od 421 px; wartość jest też w aria-label) */
  .ith-busy--compact .ith-busy__bar { display: none; }
  .ith-busy--compact { padding: 0 6px; border: 2px solid #0B2B2A !important; min-height: 34px; }
  .ith-busy--compact.ith-busy--hot { background: #FF6B5C !important; }
}
@media (max-width: 380px) {
  .ith-board__slot { width: 76px; height: 76px; }
}

/* ===================== 20. Ruch: bez animacji dla prefers-reduced-motion ===================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .btn-primary:hover, .ith-btn:hover, .ith-cta-btn:hover, .ith-drawer:hover, .ith-kb-card:hover, .ith-board__tool a:hover .ith-board__slot,
  #products .product-miniature:hover, .products .product-miniature:hover, .account-menu__link:hover, [data-button-action="add-to-cart"]:hover,
  a[style*="background:#FF6B5C"]:hover, .ps-mainmenu__tree-item:last-child .ps-mainmenu__tree-link:hover {
    transform: none !important;
  }
  .ith-hero__chip, .ith-plan__badge, .ith-kb-card__new { transform: none; }
}
