/* ==========================================================================
   Sigma Rzeszów — motyw potomny Hummingbird 2.0.0
   Źródło: docs/Sigma_Design_System_v1.1.md (repozytorium sigmahome) oraz
   style strony głównej (moduł sigmahome). Ten plik ładuje PrestaShop jako
   assets/css/custom.css motywu, na wszystkich stronach, po theme.css Hummingbird.

   Zasady:
   - tokeny Sigma jako zmienne CSS, kolory tylko z tokenów;
   - wspólna identyfikacja przez zmienne Bootstrap/Hummingbird (--bs-*),
     bez przepisywania całych komponentów;
   - komponenty Sigma z prefiksem sigma-;
   - sekcje modułu sigmahome mają własne style i nie są tu zmieniane.
   Font: Ubuntu (400/500/700), hostowany w motywie, jeden krój dla całej strony
   (wzorzec: minimalistyczna typografia Gerda.pl). Moduł sigmahome ma jeszcze własne
   deklaracje fontów — dopasowywane sekcja po sekcji.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Font Ubuntu (400, 500, 700) hostowany w motywie, bez połączeń z Google.
   Licencja: Ubuntu Font Licence 1.0 (assets/fonts/LICENCE.txt). Podzbiory latin
   i latin-ext obejmują polskie znaki; przeglądarka pobiera tylko potrzebne pliki.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/ubuntu-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/ubuntu-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/ubuntu-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/ubuntu-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/ubuntu-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/ubuntu-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --sigma-maxw: 1240px;
  --sigma-radius: 3px;
  --sigma-ink: #1A1916;
  --sigma-ink-soft: #625E55;
  --sigma-ink-faint: #918B7E;
  --sigma-amber: #D5A323;
  --sigma-amber-hover: #E3B536;
  --sigma-amber-ink: #241B00;
  --sigma-rust-dark: #A5791A;
  --sigma-bg: #FFFFFF;
  --sigma-bg-warm: #F4F1E9;
  --sigma-surface: #E9E4D9;
  --sigma-line: #D8D1C4;
  --sigma-panel: #181713;
  --sigma-panel-line: #3A362E;
  --sigma-charcoal: #23211C;
  --sigma-on-dark: #EFEBE0;
  --sigma-on-dark-soft: #CFC9BA;

  --sigma-font-body: 'Ubuntu', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --sigma-font-display: var(--sigma-font-body);
  --sigma-font-mono: var(--sigma-font-body);

  /* Wspólna identyfikacja: zmienne Bootstrap używane przez Hummingbird */
  --bs-body-font-family: var(--sigma-font-body);
  --bs-primary: #D5A323;
  --bs-primary-rgb: 213, 163, 35;
  --bs-body-color: #1A1916;
  --bs-body-color-rgb: 26, 25, 22;
  --bs-secondary-color: #625E55;
  --bs-emphasis-color: #1A1916;
  --bs-link-color: #1A1916;
  --bs-link-color-rgb: 26, 25, 22;
  --bs-link-hover-color: #A5791A;
  --bs-link-hover-color-rgb: 165, 121, 26;
  --bs-border-color: #D8D1C4;
  --bs-border-radius: 3px;
  --bs-border-radius-sm: 3px;
  --bs-border-radius-lg: 3px;
  --bs-focus-ring-color: rgba(213, 163, 35, 0.45);
}

/* --------------------------------------------------------------------------
   Przyciski (Design System 4.3)
   -------------------------------------------------------------------------- */

.btn {
  --bs-btn-border-radius: var(--sigma-radius);
}

.btn-primary {
  --bs-btn-color: var(--sigma-amber-ink);
  --bs-btn-bg: var(--sigma-amber);
  --bs-btn-border-color: var(--sigma-amber);
  --bs-btn-hover-color: var(--sigma-amber-ink);
  --bs-btn-hover-bg: var(--sigma-amber-hover);
  --bs-btn-hover-border-color: var(--sigma-amber-hover);
  --bs-btn-active-color: var(--sigma-amber-ink);
  --bs-btn-active-bg: var(--sigma-amber-hover);
  --bs-btn-active-border-color: var(--sigma-amber-hover);
  --bs-btn-disabled-color: var(--sigma-amber-ink);
  --bs-btn-disabled-bg: var(--sigma-amber);
  --bs-btn-disabled-border-color: var(--sigma-amber);
  --bs-btn-focus-shadow-rgb: 213, 163, 35;
  font-family: var(--sigma-font-mono);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.btn-outline-primary {
  --bs-btn-color: var(--sigma-ink);
  --bs-btn-border-color: var(--sigma-ink);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--sigma-ink);
  --bs-btn-hover-border-color: var(--sigma-ink);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--sigma-ink);
  --bs-btn-active-border-color: var(--sigma-ink);
}

/* Linki w treściach edytowanych w panelu (strony CMS, opisy kategorii): muszą
   być rozpoznawalne jako linki. Tekst w kolorze ink (kontrast AA), podkreślenie
   w akcencie Sigma; #A5791A na białym tle nie spełnia 4.5:1 dla tekstu. */
.rich-text a:not(.btn) {
  color: var(--sigma-ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.rich-text a:not(.btn):hover {
  text-decoration-color: var(--sigma-ink);
}

/* Fokus klawiatury (Design System 4.3 Focus) */
a:focus-visible,
.btn:focus-visible,
button:focus-visible {
  outline: 2px solid var(--sigma-amber);
  outline-offset: 2px;
  box-shadow: none;
}

/* --------------------------------------------------------------------------
   Nagłówek, okruszki, stopka
   -------------------------------------------------------------------------- */

.header-bottom {
  border-bottom: 1px solid var(--sigma-line);
}

/* --------------------------------------------------------------------------
   Mega-menu (Produkty, Rozwiązania) — wspólny wygląd obu dropdownów.
   Jasne tło, ciemny tekst, złote akcenty, cienkie linie; czerń tylko w akcentach.
   Działanie (zakładki, klawiatura, dotyk) — natywny skrypt Hummingbird.
   -------------------------------------------------------------------------- */

/* Logo w nagłówku: większe niż w Hummingbird (48 px wysokości, do 128–144 px szerokości).
   Proporcje pliku zachowane (width: auto); limit szerokości zniesiony. */
.header-bottom .navbar-brand .logo {
  height: 44px;
  max-height: 44px;
  width: auto;
  max-width: none;
}

@media (min-width: 768px) {
  .header-bottom .navbar-brand .logo {
    height: 56px;
    max-height: 56px;
  }
}

@media (min-width: 1200px) {
  .header-bottom .navbar-brand .logo {
    height: 64px;
    max-height: 64px;
  }
}

/* Nagłówek dwupoziomowy (od 1200 px): wyszukiwarka w górnym pasku, między
   „Kontakt z nami” a kontem i koszykiem; dolny pasek zostaje dla logo i wszystkich
   pozycji menu w jednej linii. Tylko CSS: szablon i skrypty wyszukiwarki Hummingbird
   bez zmian (na tablecie i telefonie wyszukiwarka działa jak dotąd). Kontenerem
   pozycjonowania jest przyklejony .header; górny pasek ma 49 px wysokości. */
@media (min-width: 1200px) {
  #_desktop_ps_searchbar {
    position: absolute;
    top: 5px;
    left: 50%;
    z-index: 2;
    width: 400px;
    margin: 0;
    padding: 0;
    transform: translateX(-50%);
  }

  #_desktop_ps_searchbar .ps-searchbar {
    width: 100%;
    margin: 0;
  }

  #_desktop_ps_searchbar .ps-searchbar__input {
    height: 38px;
    min-height: 38px;
    border-color: var(--sigma-line);
  }

  #_desktop_ps_searchbar .ps-searchbar__input:focus {
    border-color: var(--sigma-amber);
    box-shadow: 0 0 0 2px rgba(213, 163, 35, 0.35);
  }
}

/* Telefony punktów sprzedaży (modules/ps_contactinfo/nav.tpl). Górny pasek: lewa kolumna
   bierze tyle miejsca, ile potrzeba (zamiast 1/3), żeby oba numery mieściły się w jednej
   linii od 768 px; od 1200 px kończą się przed wyszukiwarką. Menu mobilne: numery pod sobą. */
.sigma-phones {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sigma-phones__icon {
  flex: 0 0 auto;
  align-self: flex-start;
  margin-top: 13px;
  font-size: 18px;
  color: var(--sigma-rust-dark);
}

#_mobile_ps_contactinfo {
  flex: 1 1 100%;
}

.sigma-phones__list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sigma-phones__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  color: var(--sigma-ink);
  font-size: 0.875rem;
  text-decoration: none;
  white-space: nowrap;
}

.sigma-phones__place {
  color: var(--sigma-ink-soft);
}

.sigma-phones__number {
  font-weight: 600;
}

.sigma-phones__link:hover .sigma-phones__number {
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-underline-offset: 3px;
}

@media (min-width: 768px) {
  .header-top__left {
    flex: 1 1 auto;
    width: auto;
  }

  .header-top__right {
    flex: 0 0 auto;
    width: auto;
  }

  .header-top .sigma-phones__icon {
    align-self: auto;
    margin-top: 0;
  }

  .header-top .sigma-phones__list {
    flex-direction: row;
  }

  .header-top .sigma-phones__item + .sigma-phones__item {
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid var(--sigma-line);
  }

  .header-top .sigma-phones__link {
    min-height: 32px;
  }
}

/* Odstępy między pozycjami paska menu: większe niż w Hummingbird (8 px), żeby pozycje
   nie zlewały się; na dużych ekranach jeszcze szersze. Pasek ma 6 pozycji. */
@media (min-width: 1200px) {
  .ps-mainmenu__tree {
    column-gap: 14px;
  }
}

@media (min-width: 1440px) {
  .ps-mainmenu__tree {
    column-gap: 24px;
  }
}

/* Pierwszy poziom: złote podkreślenie przy najechaniu, otwarciu i na bieżącej stronie */
.ps-mainmenu__tree-link {
  color: var(--sigma-ink);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
  transition: text-decoration-color .2s ease, color .2s ease;
}

.ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link,
.ps-mainmenu__tree-item:focus-within .ps-mainmenu__tree-link,
.ps-mainmenu__tree-item.sigma-active .ps-mainmenu__tree-link,
.ps-mainmenu__tree-link[aria-current="page"] {
  color: var(--sigma-ink);
  text-decoration-color: var(--sigma-amber);
}

.ps-mainmenu__tree-link:focus,
.ps-mainmenu__tree-dropdown-toggle:focus {
  outline-color: var(--sigma-amber);
}

.ps-mainmenu__tree-dropdown-toggle {
  color: var(--sigma-ink-soft);
}

.ps-mainmenu__tree-dropdown-toggle:hover,
.ps-mainmenu__tree-dropdown-toggle[aria-expanded="true"] {
  color: var(--sigma-rust-dark);
}

/* Panel */
.submenu {
  background: var(--sigma-bg);
  border-top: 2px solid var(--sigma-amber);
  border-bottom: 1px solid var(--sigma-line);
  box-shadow: 0 18px 36px rgba(26, 25, 22, 0.08);
}

/* Kolumnowe mega-menu (szablon modules/ps_mainmenu/ps_mainmenu.tpl, wzorzec: Gerda.pl):
   wszystkie kolumny widoczne naraz, nagłówek kolumny wersalikami, pod nim lista linków.
   Do trzech kolumn w rzędzie, kolejne zawijają się do następnego rzędu. */
/* nagłówek na tę samą szerokość co sekcje i panel menu (logo w jednej linii z kolumnami) */
@media (min-width: 1200px) {
  .header .container-md,
  .header .container {
    max-width: 1600px;
    padding-left: 32px;
    padding-right: 32px;
  }
}

/* panel na pełną szerokość (jak sekcje strony, 1600 px); kolumny w jednym rzędzie jak w Gerda.pl */
.submenu--columns > .container {
  max-width: 1600px;
  padding-left: 32px;
  padding-right: 32px;
}

.sigma-mega {
  display: grid;
  grid-template-columns: repeat(var(--sigma-mega-cols, 5), minmax(0, 1fr));
  gap: 36px clamp(32px, 3vw, 64px);
  /* 20 px: te same wcięcie co logo w nagłówku */
  padding: 44px 20px 52px;
}

.sigma-mega__footer {
  padding: 0 20px 36px;
}

.sigma-mega__all {
  display: inline-block;
  font-size: 15px;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-underline-offset: 5px;
  color: var(--sigma-ink);
}

.sigma-mega__all:hover,
.sigma-mega__all:focus-visible {
  color: var(--sigma-rust-dark);
}

.sigma-mega__all:focus-visible {
  outline: 2px solid var(--sigma-amber);
  outline-offset: 3px;
}

.sigma-mega__icon {
  display: block;
  width: 28px;
  height: 28px;
  margin-bottom: 20px;
  color: var(--sigma-ink);
}

.sigma-mega__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.sigma-mega__title {
  display: block;
  margin-bottom: 14px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--sigma-ink);
  text-wrap: balance;
}

.sigma-mega__title:hover,
.sigma-mega__title:focus-visible {
  color: var(--sigma-rust-dark);
}

.sigma-mega__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sigma-mega__list .sigma-mega__list {
  margin-top: 8px;
  padding-left: 14px;
  border-left: 1px solid var(--sigma-line);
}

.sigma-mega__link {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  color: var(--sigma-ink-soft);
  text-wrap: balance;
}

.sigma-mega__link:hover,
.sigma-mega__link:focus-visible {
  color: var(--sigma-ink);
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-underline-offset: 4px;
}

/* Bieżąca kategoria: wyróżniona, ale nadal klikalna */
.sigma-mega__title[aria-current="page"],
.sigma-mega__link[aria-current="page"] {
  color: var(--sigma-ink);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.sigma-mega__title:focus-visible,
.sigma-mega__link:focus-visible {
  outline: 2px solid var(--sigma-amber);
  outline-offset: 3px;
}

/* Długie nazwy w menu mobilnym dzielone na wiersze o zbliżonej długości. */
#mobileMenu .menu__link {
  text-wrap: balance;
}

@media (prefers-reduced-motion: reduce) {
  .ps-mainmenu__tree-link {
    transition: none;
  }
}

/* Sekcje strony głównej będące celem pozycji menu: „Dobierz rozwiązanie do zadania”
   (#rozwiazania, menu „Rozwiązania”) i „Potrzebujesz rozwiązania pod konkretne
   zlecenie?” (#zamowienia-specjalne, menu „Zamówienia specjalne”) i „Nasze realizacje”
   (#realizacje, menu „Nasze realizacje”). Po przejściu z innej
   strony przyklejony nagłówek nie może zasłaniać ich tytułów. Tylko pozycja przewijania — wygląd sekcji bez zmian.
   Wysokości nagłówka Hummingbird: 56 px (< 768), 116 px (768–1199), 122 px (≥ 1200). */
#index #rozwiazania,
#index #zamowienia-specjalne,
#index #realizacje {
  scroll-margin-top: 56px;
}

@media (min-width: 768px) {
  #index #rozwiazania,
  #index #zamowienia-specjalne,
  #index #realizacje {
    scroll-margin-top: 116px;
  }
}

@media (min-width: 1200px) {
  #index #rozwiazania,
  #index #zamowienia-specjalne,
  #index #realizacje {
    scroll-margin-top: 122px;
  }
}

/* Menu mobilne (panel boczny Hummingbird): wygodne pola dotyku (min. 44 px),
   ciemny tekst, cienkie separatory, złoty akcent przy tytule poziomu. */
#mobileMenu .menu__title {
  margin-bottom: 8px;
  padding: 2px 0 2px 12px;
  border-left: 3px solid var(--sigma-amber);
  color: var(--sigma-ink);
}

#mobileMenu .menu__list > li:not(.menu__title) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--sigma-line);
}

#mobileMenu .menu__link {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  min-height: 48px;
  padding: 8px 0;
  color: var(--sigma-ink);
  text-decoration: none;
}

#mobileMenu .menu__link:active,
#mobileMenu .menu__link:hover {
  color: var(--sigma-rust-dark);
}

#mobileMenu .menu__toggle-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  color: var(--sigma-ink-soft);
}

#mobileMenu .menu__toggle-child:focus-visible,
#mobileMenu .menu__link:focus-visible,
#mobileMenu .js-back-button:focus-visible {
  outline: 2px solid var(--sigma-amber);
  outline-offset: 2px;
}

#mobileMenu .js-back-button {
  min-height: 44px;
  color: var(--sigma-ink);
}

.breadcrumb__wrapper {
  background: var(--sigma-bg-warm);
  border-bottom: 1px solid var(--sigma-line);
}

.breadcrumb-link {
  color: var(--sigma-ink-soft);
}

.breadcrumb-link:hover {
  color: var(--sigma-rust-dark);
}

.footer {
  background: var(--sigma-panel);
  color: var(--sigma-on-dark-soft);
}

.footer .footer-block__title {
  font-family: var(--sigma-font-mono);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sigma-on-dark);
}

.footer a {
  color: var(--sigma-on-dark-soft);
}

.footer a:hover {
  color: var(--sigma-amber);
}

/* --------------------------------------------------------------------------
   Strona kategorii (body#category) — wspólny szablon wszystkich kategorii
   -------------------------------------------------------------------------- */

#category .category__header .page-title-section {
  margin: 8px 0 12px;
  font-family: var(--sigma-font-display);
  font-size: clamp(30px, 3.2vw, 42px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--sigma-ink);
}

#category .category__description {
  max-width: 760px;
  color: var(--sigma-ink-soft);
  font-size: 17px;
  line-height: 1.6;
}

/* Bez filtrów category.tpl pomija lewą kolumnę, więc treść jest pierwszą kolumną
   w wierszu: rozciągamy ją na pełną szerokość kontenera (zamiast col-md-8 / col-lg-9
   z układu Hummingbird). */
#category .columns-container > .row > #center-column:first-child {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}

/* Na komputerze treść zaczyna się tam, gdzie okruszki i stopka (wewnętrzny margines .container) */
@media (min-width: 992px) {
  #category .columns-container > .row > #center-column:first-child {
    padding-right: 12px;
    padding-left: 12px;
  }
}

/* Lewa kolumna jest tylko na filtry: drzewo kategorii powielałoby menu, okruszki i kafelki. */
#category #left-column .ps-categorytree {
  display: none;
}

#category .category-tree__item-link {
  color: var(--sigma-ink);
}

#category .category-tree__item-link:hover {
  color: var(--sigma-rust-dark);
}

/* Kafelki podkategorii: miniatura i nazwa, od razu pod nagłówkiem */
.sigma-subcategories {
  margin-top: 24px;
}

/* Nagłówek zostaje w HTML dla czytników ekranu i wyszukiwarek */
.sigma-subcategories__title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.sigma-subcategories__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Limit szerokości: pojedynczy kafelek nie rozciąga się na cały wiersz */
.sigma-subcategories__item {
  display: flex;
  max-width: 420px;
}

.sigma-subcategory-card {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 88px;
  padding: 12px 20px 12px 12px;
  background: var(--sigma-bg-warm);
  border: 1px solid transparent;
  border-radius: var(--sigma-radius);
  color: var(--sigma-ink);
  text-decoration: none;
  transition: border-color .2s ease;
}

/* Tekst bez zdjęcia dostaje taki sam odstęp od lewej krawędzi jak strzałka od prawej */
.sigma-subcategory-card__name:first-child {
  padding-left: 8px;
}

.sigma-subcategory-card::after {
  content: "\2192";
  flex: none;
  margin-left: auto;
  font-size: 18px;
  color: var(--sigma-ink-soft);
  transition: color .2s ease, transform .2s ease;
}

.sigma-subcategory-card:hover {
  border-color: var(--sigma-amber);
  color: var(--sigma-ink);
}

.sigma-subcategory-card:hover::after {
  color: var(--sigma-ink);
  transform: translateX(3px);
}

.sigma-subcategory-card:focus-visible {
  outline: 2px solid var(--sigma-amber);
  outline-offset: 2px;
}

.sigma-subcategory-card__image {
  flex: none;
  box-sizing: border-box;
  width: 64px;
  height: 64px;
  padding: 4px;
  background: #fff;
  border-radius: var(--sigma-radius);
  object-fit: contain;
}

.sigma-subcategory-card__name {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}

@media (prefers-reduced-motion: reduce) {
  .sigma-subcategory-card::after {
    transition: none;
  }

  .sigma-subcategory-card:hover::after {
    transform: none;
  }
}

/* Lista produktów: pasek nad listą i siatka. Trzy kolumny, gdy obok są filtry. */
#category #products {
  margin-top: 36px;
}

#category .products__selection {
  padding: 14px 0;
  border-top: 1px solid var(--sigma-line);
}

#category .products__count {
  color: var(--sigma-ink-soft);
}

@media (min-width: 768px) {
  #category .products__selection {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }

  #category .products__sort {
    flex: none;
    width: auto;
  }

  #category .products__sort-dropdown {
    flex: none;
    width: 240px;
  }
}

#category .products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#category .products > * {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 992px) {
  #category .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
  }

  #category #left-column ~ #center-column .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Karta produktu na listach: ten sam układ co „Polecane” na stronie głównej */
.product-miniature__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--sigma-bg-warm);
}

.product-miniature__top {
  position: relative;
  background: #fff;
}

.product-miniature__image-container,
.product-miniature__image-link {
  display: block;
}

.product-miniature__image-link {
  position: relative;
  aspect-ratio: 4 / 3;
}

.product-miniature__image {
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 14px;
  object-fit: contain;
}

.product-miniature__bottom {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
}

.product-miniature__infos {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.product-miniature__name {
  margin: 0;
  font-family: var(--sigma-font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
}

.product-miniature__title {
  color: var(--sigma-ink);
  text-decoration: none;
}

.product-miniature__title:hover {
  color: var(--sigma-ink);
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-underline-offset: 4px;
}

.product-miniature__meta {
  margin: 0;
  font-size: 13px;
  color: var(--sigma-ink-soft);
}

.product-miniature__prices {
  display: block;
  margin-top: 8px;
}

.product-miniature__price {
  font-size: 21px;
  font-weight: 500;
  color: var(--sigma-ink);
}

.product-miniature__price small,
.product-miniature__net,
.product-miniature__regular-price {
  font-size: 13px;
  font-weight: 400;
  color: var(--sigma-ink-soft);
}

.product-miniature__regular-price {
  display: block;
}

.product-miniature__actions {
  margin-top: auto;
}

.product-miniature__form {
  display: block;
}

.product-miniature__add,
.product-miniature__details {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
}

@media (max-width: 575.98px) {
  .product-miniature__bottom {
    padding: 12px;
  }

  .sigma-subcategories__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sigma-subcategories__item {
    max-width: none;
  }
}

/* Lista kroków w opisie kategorii (np. „Farby z mieszalnika”) */
#category .category__description ol {
  margin: 12px 0;
  padding-left: 22px;
  list-style: decimal;
}

#category .category__description li {
  margin-bottom: 4px;
}

/* Filtry na komputerze: zawsze rozwinięte (są tylko dwa), bez zwijania. Na telefonie filtry są
   w panelu „Filtr” i zwijają się jak w Hummingbird. */
@media (min-width: 768px) {
  #search_filters_wrapper .accordion-collapse.collapse {
    display: block;
  }

  #search_filters_wrapper .accordion-button {
    pointer-events: none;
  }

  #search_filters_wrapper .accordion-button::after {
    display: none;
  }
}

#search_filters_wrapper .left-block__title {
  font-weight: 500;
}

/* Opis dodatkowy kategorii (Katalog → Kategorie) pod produktami */
#category .category__additional-description {
  max-width: 760px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--sigma-line);
  font-size: 16px;
  line-height: 1.7;
  color: var(--sigma-ink-soft);
}

/* Kategoria bez produktów i bez podkategorii */
.sigma-empty-category {
  margin-top: 24px;
  padding: 28px;
  background: var(--sigma-bg-warm);
  border-radius: var(--sigma-radius);
}

.sigma-empty-category__title {
  margin: 0 0 8px;
  font-family: var(--sigma-font-display);
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--sigma-ink);
}

.sigma-empty-category__text {
  max-width: 60ch;
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--sigma-ink-soft);
}

.sigma-empty-category__cta {
  min-height: 46px;
  padding: 12px 24px;
}

/* --------------------------------------------------------------------------
   Strona CMS 6 „Rozwiązania” (H1 „Dla profesjonalistów”)
   Treść (nazwy, opisy, linki, sekcja kontaktowa) jest edytowana w panelu:
   Wygląd → Strony. Ten blok nadaje tylko wygląd klasom użytym w treści
   (sigma-cms-lede, sigma-solutions, sigma-solution*, sigma-cms-cta*) i działa
   wyłącznie na tej stronie (body#cms.cms-id-6).
   -------------------------------------------------------------------------- */

#cms.cms-id-6 .page-title-section {
  margin: 8px 0 12px;
  font-family: var(--sigma-font-display);
  font-size: clamp(30px, 3.2vw, 42px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--sigma-ink);
}

#cms.cms-id-6 .sigma-cms-lede {
  max-width: 760px;
  margin: 0 0 32px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--sigma-ink-soft);
}

#cms.cms-id-6 .sigma-solutions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

#cms.cms-id-6 .sigma-solution {
  display: flex;
  flex-direction: column;
  padding: 24px;
  background: var(--sigma-bg-warm);
  border: 1px solid transparent;
  border-radius: var(--sigma-radius);
  /* Podmenu „Rozwiązania” prowadzi do kafelków przez #kotwice: przyklejony
     nagłówek Hummingbird nie może zasłaniać początku kafelka. */
  scroll-margin-top: 88px;
}

/* Kafelek wskazany w adresie (#kotwica) — złoty akcent */
#cms.cms-id-6 .sigma-solution:target {
  border-color: var(--sigma-amber);
}

@media (min-width: 1200px) {
  #cms.cms-id-6 .sigma-solution {
    scroll-margin-top: 148px;
  }
}

/* Mała etykieta nad nazwą zadania */
#cms.cms-id-6 .sigma-solution__label {
  margin: 0 0 10px;
  font-family: var(--sigma-font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sigma-ink-soft);
}

#cms.cms-id-6 .sigma-solution__title {
  margin: 0 0 8px;
  font-family: var(--sigma-font-body);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--sigma-ink);
}

#cms.cms-id-6 .sigma-solution__text {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--sigma-ink-soft);
}

#cms.cms-id-6 .sigma-solution__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: auto 0 0;
  font-weight: 500;
}

#cms.cms-id-6 .sigma-solution__links a::after {
  content: " \2192";
  text-decoration: none;
  display: inline-block;
  margin-left: 4px;
}

/* Sekcja kontaktowa: ciemny baner (Design System 4.8) */
#cms.cms-id-6 .sigma-cms-cta {
  margin-top: 24px;
  padding: 28px 24px;
  background: var(--sigma-panel);
  border-radius: var(--sigma-radius);
  color: var(--sigma-on-dark);
}

#cms.cms-id-6 .sigma-cms-cta .sigma-solution__label {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--sigma-amber);
}

#cms.cms-id-6 .sigma-cms-cta__title {
  margin: 0 0 10px;
  font-family: var(--sigma-font-body);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
}

#cms.cms-id-6 .sigma-cms-cta__text {
  max-width: 60ch;
  margin: 0 0 20px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--sigma-on-dark);
}

#cms.cms-id-6 .sigma-cms-cta .btn {
  padding: 14px 24px;
}

#cms.cms-id-6 .sigma-cms-cta .btn:focus-visible {
  outline-color: #fff;
}

@media (min-width: 860px) {
  #cms.cms-id-6 .sigma-solutions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #cms.cms-id-6 .sigma-cms-cta {
    padding: 36px 40px;
  }
}

/* --------------------------------------------------------------------------
   Strony realizacji (kategoria stron CMS „Realizacje”). Klasy sigma-case-* są
   w treści strony edytowanej w panelu (Wygląd → Strony); ten blok nadaje tylko
   wygląd. Układ: sigma-case-intro (zdjęcie | opis), sigma-case-cols (dwie sekcje
   obok siebie), sigma-case-compare(--3|--4) (zdjęcia w rzędzie).
   -------------------------------------------------------------------------- */

.page-content--cms .sigma-case-note {
  margin: 0 0 24px;
  padding: 14px 16px;
  background: #FDF0D8;
  border-left: 4px solid var(--sigma-amber);
  border-radius: var(--sigma-radius);
  color: #5C3F08;
}

.page-content--cms .sigma-case-note p {
  margin: 0;
}

.page-content--cms .sigma-case-lead {
  max-width: 760px;
  margin: 0 0 24px;
  font-size: 19px;
  line-height: 1.6;
  color: var(--sigma-ink-soft);
}

.page-content--cms .sigma-case-photo {
  margin: 0 0 24px;
}

.page-content--cms .sigma-case-photo img {
  display: block;
  width: 100%;
  /* Nie powiększamy zdjęć ponad ich rozmiar: pojedyncze zdjęcie do 520 px. */
  max-width: 520px;
  height: auto;
  border: 1px solid var(--sigma-line);
  border-radius: var(--sigma-radius);
}

.page-content--cms .sigma-case-caption {
  margin: 8px 0 0;
  font-family: var(--sigma-font-mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sigma-ink-soft);
}

.page-content--cms .sigma-case-facts {
  max-width: 760px;
  margin: 0 0 24px;
  padding: 16px 20px;
  list-style: none;
  background: var(--sigma-bg-warm);
  border: 1px solid var(--sigma-line);
  border-radius: var(--sigma-radius);
}

.page-content--cms .sigma-case-facts li {
  padding: 6px 0;
  border-bottom: 1px solid var(--sigma-line);
}

.page-content--cms .sigma-case-facts li:last-child {
  border-bottom: 0;
}

/* Zdjęcia w rzędzie: zawsze co najmniej 2 obok siebie (także na telefonie), żeby nie
   przewijać zdjęcia po zdjęciu. --3 i --4: 3 lub 4 w rzędzie na szerszym ekranie. */
.page-content--cms .sigma-case-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 760px;
  margin-bottom: 24px;
}

.page-content--cms .sigma-case-compare--3,
.page-content--cms .sigma-case-compare--4 {
  max-width: none;
}

@media (min-width: 640px) {
  .page-content--cms .sigma-case-compare {
    gap: 16px;
  }

  .page-content--cms .sigma-case-compare--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .page-content--cms .sigma-case-compare--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Początek strony: duże zdjęcie, obok opis i „W skrócie” (na komputerze);
   na telefonie jedno pod drugim. */
.page-content--cms .sigma-case-intro .sigma-case-photo img {
  max-width: 100%;
}

.page-content--cms .sigma-case-intro .sigma-case-lead {
  font-size: 18px;
}

/* Na komputerze: zdjęcie | opis, a krótkie sekcje obok siebie (np. Wyzwanie | Co zrobiliśmy) */
@media (min-width: 992px) {
  .page-content--cms .sigma-case-intro {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 32px;
    align-items: start;
    margin-bottom: 8px;
  }

  .page-content--cms .sigma-case-cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
}

.page-content--cms .sigma-case-compare .sigma-case-photo {
  margin: 0;
}

.page-content--cms .sigma-case-compare .sigma-case-photo img {
  max-width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.page-content--cms .sigma-case-cta {
  max-width: 760px;
  margin-top: 32px;
  padding: 24px;
  background: var(--sigma-panel);
  border-radius: var(--sigma-radius);
  color: var(--sigma-on-dark);
}

.page-content--cms .sigma-case-cta h2 {
  margin-top: 0;
  color: #fff;
}

.page-content--cms .sigma-case-cta p {
  color: var(--sigma-on-dark);
}

/* Zdjęcia jako karty z powiększeniem. Przycisk .sigma-case-zoom wokół zdjęcia i okno
   .sigma-lightbox dodaje assets/js/custom.js; bez JavaScriptu zdjęcia są jak wyżej. */
.page-content--cms .sigma-case-zoom {
  display: block;
  width: 100%;
  max-width: 520px;
  padding: 0;
  overflow: hidden;
  background: none;
  border: 1px solid var(--sigma-line);
  border-radius: var(--sigma-radius);
  cursor: zoom-in;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.page-content--cms .sigma-case-intro .sigma-case-zoom,
.page-content--cms .sigma-case-compare .sigma-case-zoom {
  max-width: none;
}

.page-content--cms .sigma-case-zoom img {
  border: 0;
  border-radius: 0;
  transition: transform 0.5s ease;
}

.page-content--cms .sigma-case-zoom:focus-visible {
  outline: 2px solid var(--sigma-amber);
  outline-offset: 3px;
}

@media (hover: hover) {
  .page-content--cms .sigma-case-zoom:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  }

  .page-content--cms .sigma-case-zoom:hover img {
    transform: scale(1.04);
  }
}

html.sigma-lightbox-open {
  overflow: hidden;
}

.sigma-lightbox {
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  max-height: 100vh;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(20, 20, 18, 0.94);
  color: #fff;
}

.sigma-lightbox[open] {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sigma-lightbox::backdrop {
  background: rgba(20, 20, 18, 0.94);
}

.sigma-lightbox__figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  margin: 0;
  padding: 64px 16px 24px;
}

.sigma-lightbox__img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(92vw, 1100px);
  max-height: calc(100vh - 150px);
  object-fit: contain;
  border-radius: var(--sigma-radius);
}

.sigma-lightbox__caption {
  font-size: 15px;
  text-align: center;
  color: rgba(255, 255, 255, 0.85);
}

.sigma-lightbox__close,
.sigma-lightbox__nav {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0 0 4px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}

.sigma-lightbox__close:hover,
.sigma-lightbox__nav:hover {
  background: rgba(255, 255, 255, 0.28);
}

.sigma-lightbox__close:focus-visible,
.sigma-lightbox__nav:focus-visible {
  outline: 2px solid var(--sigma-amber);
  outline-offset: 2px;
}

.sigma-lightbox__close {
  top: 12px;
  right: 12px;
}

.sigma-lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
}

.sigma-lightbox__nav[hidden] {
  display: none;
}

.sigma-lightbox__nav--prev {
  left: 12px;
}

.sigma-lightbox__nav--next {
  right: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .page-content--cms .sigma-case-zoom,
  .page-content--cms .sigma-case-zoom img {
    transition: none;
  }
}

/* Listy w treści realizacji: numeracja kroków i punktory (motyw je zeruje) */
.page-content--cms ol,
.page-content--cms ul:not(.sigma-case-facts) {
  max-width: 760px;
  margin: 0 0 20px;
  padding-left: 1.4em;
}

.page-content--cms ol {
  list-style: decimal;
}

.page-content--cms ul:not(.sigma-case-facts) {
  list-style: disc;
}

.page-content--cms ol li,
.page-content--cms ul:not(.sigma-case-facts) li {
  margin-bottom: 6px;
}

/* --------------------------------------------------------------------------
   Karta produktu (body#product) — templates/catalog/product.tpl i częściowe
   szablony produktu w tym motywie. Góra: galeria | marka, nazwa, indeks,
   krótki opis, najważniejsze parametry, cena brutto i netto, koszyk, zapytanie.
   Dół: otwarte sekcje (Opis, Dane techniczne, Dokumenty) | ramka doradcy.
   -------------------------------------------------------------------------- */

#product .product__container {
  gap: 32px;
  margin-top: 32px;
}

@media (min-width: 992px) {
  #product .product__container {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(40px, 4.5vw, 80px);
    align-items: start;
  }
}

#product .product__images .carousel-inner,
#product .product__no-image {
  background: #fff;
  border: 1px solid var(--sigma-line);
  border-radius: var(--sigma-radius);
}

#product .product__thumbnail-image {
  border: 1px solid var(--sigma-line);
  border-radius: var(--sigma-radius);
}

/* Produkt z jednym zdjęciem: miniatura powtarzałaby zdjęcie główne */
#product .product__thumbnails:has(.product__thumbnail:only-child) {
  display: none;
}

#product .product__thumbnail.active .product__thumbnail-image,
#product .product__thumbnail-image.js-thumb-selected {
  border-color: var(--sigma-ink);
}

.sigma-product__brand {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sigma-ink-soft);
}

.sigma-product__brand a {
  color: var(--sigma-ink-soft);
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-underline-offset: 5px;
}

.sigma-product__brand a:hover {
  color: var(--sigma-ink);
}

#product .sigma-product__name {
  margin: 0 0 14px;
  font-family: var(--sigma-font-display);
  font-size: clamp(26px, 2.6vw, 38px);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -0.01em;
  text-transform: none;
  color: var(--sigma-ink);
}

.sigma-product__codes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
  margin: 0 0 20px;
  font-size: 14px;
  color: var(--sigma-ink-soft);
}

.sigma-product__codes strong {
  font-weight: 500;
  color: var(--sigma-ink);
}

#product .sigma-product__lede {
  margin: 0 0 24px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--sigma-ink-soft);
}

.sigma-product__keyspecs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 28px;
}

.sigma-product__keyspec {
  padding: 14px 16px;
  background: var(--sigma-bg-warm);
  border-radius: var(--sigma-radius);
}

.sigma-product__keyspec dt {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sigma-ink-soft);
}

.sigma-product__keyspec dd {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--sigma-ink);
}

#product .product__prices {
  padding-top: 24px;
  border-top: 1px solid var(--sigma-line);
}

#product .product__price {
  font-size: clamp(28px, 2.4vw, 34px);
  font-weight: 500;
  line-height: 1.1;
  color: var(--sigma-ink);
}

/* Cena i „brutto” w jednym wierszu, cena netto (i ewentualna promocja) w osobnym */
#product .product__prices-block {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 4px 10px;
}

#product .product__prices-block > :not(.product__prices-inline):not(.product__tax-infos) {
  grid-column: 1 / -1;
}

#product .product__tax-infos,
#product .sigma-product__net {
  margin: 0;
  font-size: 15px;
  color: var(--sigma-ink-soft);
}

#product .product__tax-label {
  text-transform: lowercase;
}

#product .product__availability {
  margin: 20px 0 16px;
  font-size: 15px;
}

/* Żółty tekst na białym tle jest za mało czytelny: kolor zostaje na ikonie */
#product .product__availability-status.text-warning .product__availability-messages {
  color: var(--sigma-ink);
}

#product .product__actions-qty-add {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
}

#product .product__add-to-cart-button {
  min-width: 244px;
  min-height: 52px;
  padding: 0 28px;
}

#product .product__quantity .form-control,
#product .product__quantity .btn {
  min-height: 52px;
}

.sigma-product__help {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  align-items: center;
  margin-top: 16px;
  padding-top: 20px;
  border-top: 1px solid var(--sigma-line);
}

/* Pod koszykiem: koszt dostawy od … zł i odbiór osobisty 0 zł (product.tpl, blok product_buy) */
.sigma-product__delivery {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 16px 0 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--sigma-ink-soft);
}

.sigma-product__delivery-icon {
  flex: 0 0 auto;
  font-size: 22px;
  line-height: 1.1;
  color: var(--sigma-amber);
}

.sigma-product__delivery-sep {
  margin: 0 4px;
  color: var(--sigma-line);
}

.sigma-product__mix-note {
  margin: 16px 0 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--sigma-ink-soft);
}

.sigma-product__phones {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sigma-product__ask {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 244px;
  min-height: 52px;
  padding: 0 24px;
  font-weight: 500;
}

.sigma-product__phone {
  font-size: 16px;
  font-weight: 500;
  color: var(--sigma-ink);
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-underline-offset: 5px;
}

.sigma-product__phone-label {
  font-weight: 400;
  color: var(--sigma-ink-soft);
}

/* Dół karty: sekcje i ramka doradcy */
#product .product__bottom {
  margin-top: clamp(48px, 6vw, 88px);
}

@media (min-width: 992px) {
  #product .product__bottom {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: clamp(40px, 4.5vw, 80px);
    align-items: start;
  }

  #product .product__bottom-left,
  #product .product__bottom-right {
    width: auto;
    max-width: none;
  }

  #product .product__bottom-right {
    position: sticky;
    top: 140px;
  }
}

.sigma-psections__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 32px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sigma-line);
}

.sigma-psections__nav a {
  font-size: 15px;
  font-weight: 500;
  color: var(--sigma-ink);
  text-decoration: none;
}

.sigma-psections__nav a:hover,
.sigma-psections__nav a:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-underline-offset: 6px;
}

.sigma-psec {
  padding: 36px 0;
  border-bottom: 1px solid var(--sigma-line);
  scroll-margin-top: 140px;
}

.sigma-psec__title {
  margin: 0 0 20px;
  font-family: var(--sigma-font-display);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.25;
  text-transform: none;
  color: var(--sigma-ink);
}

@media (min-width: 768px) {
  .sigma-psec {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2.6fr);
    gap: 32px;
  }

  .sigma-psec__title {
    margin: 0;
  }
}

#product .product__description {
  max-width: 72ch;
  font-size: 16px;
  line-height: 1.7;
  color: var(--sigma-ink);
}

.sigma-spec {
  margin: 0;
}

.sigma-spec__row {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 16px;
  padding: 12px 16px;
  font-size: 15px;
  line-height: 1.5;
}

.sigma-spec__row:nth-child(odd) {
  background: var(--sigma-bg-warm);
}

.sigma-spec__row dt {
  font-weight: 400;
  color: var(--sigma-ink-soft);
}

.sigma-spec__row dd {
  margin: 0;
  font-weight: 500;
  color: var(--sigma-ink);
}

.sigma-docs {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sigma-docs__link {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--sigma-line);
  border-radius: var(--sigma-radius);
  color: var(--sigma-ink);
  text-decoration: none;
  transition: border-color .2s ease;
}

.sigma-docs__link:hover,
.sigma-docs__link:focus-visible {
  border-color: var(--sigma-ink);
  color: var(--sigma-ink);
}

.sigma-docs__icon {
  flex: 0 0 auto;
  color: var(--sigma-ink);
}

.sigma-docs__text {
  display: grid;
  flex: 1 1 auto;
  gap: 2px;
}

.sigma-docs__name {
  font-size: 16px;
  font-weight: 500;
}

.sigma-docs__desc {
  font-size: 14px;
  color: var(--sigma-ink-soft);
}

.sigma-docs__size {
  flex: 0 0 auto;
  font-size: 14px;
  color: var(--sigma-ink-soft);
  text-decoration: underline;
  text-decoration-color: var(--sigma-amber);
  text-underline-offset: 4px;
}

.sigma-advisor {
  margin-bottom: 24px;
  padding: 32px 28px;
  background: var(--sigma-bg-warm);
  border-left: 3px solid var(--sigma-amber);
  border-radius: var(--sigma-radius);
}

.sigma-advisor__eyebrow {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sigma-ink-soft);
}

.sigma-advisor__title {
  margin: 0 0 12px;
  font-family: var(--sigma-font-display);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;
  text-transform: none;
  color: var(--sigma-ink);
}

.sigma-advisor__text {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--sigma-ink-soft);
}

.sigma-advisor__phones {
  display: grid;
  gap: 6px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  font-size: 18px;
  font-weight: 500;
}

.sigma-advisor__phones a {
  color: var(--sigma-ink);
  text-decoration: none;
}

.sigma-advisor__place {
  font-weight: 400;
  color: var(--sigma-ink-soft);
}

.sigma-advisor__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
}

#product .product__accessories {
  margin-top: clamp(48px, 6vw, 88px);
}

@media (max-width: 575.98px) {
  .sigma-product__keyspecs {
    grid-template-columns: minmax(0, 1fr);
  }

  #product .product__add-to-cart-button,
  .sigma-product__ask {
    flex: 1 1 100%;
    min-width: 0;
  }

  .sigma-spec__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  .sigma-docs__link {
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sigma-docs__link {
    transition: none;
  }
}
