/*
Theme Name: Lucsoy Custom
Theme URI: https://lucsoy.pl
Author: Lucsoy
Author URI: https://lucsoy.pl
Description: Dedykowany, niezalezny i ultralekki motyw WooCommerce dla manufaktury swiec sojowych Lucsoy.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: lucsoy-custom
*/

/* =========================================================================
   1. DESIGN TOKENS & SYSTEM BARW
   ========================================================================= */
:root {
  /* Baza mroczna i grafitowa */
  --color-base: #1A1A1A;
  --color-base-dark: #121212;
  --color-base-surface: #242424;
  --color-base-border: #333333;
  --color-base-border-soft: rgba(255, 255, 255, 0.08);

  /* Kolor marki (Płomień świecy / Pomarańcz) */
  --color-brand: #E95321;
  --color-brand-hover: #D14313;
  --color-brand-soft: rgba(233, 83, 33, 0.12);
  --color-brand-glow: rgba(233, 83, 33, 0.25);

  /* Typografia i teksty */
  --color-text-primary: #F7F5F0;    /* Ciepła biel kości słoniowej */
  --color-text-secondary: #A8A39D;  /* Czytelny szary z ciepłym tonem */
  --color-text-muted: #736E67;      /* Dyskretne etykiety */

  /* Akcenty rzemieślnicze (wosk / etykieta kraft) */
  --color-kraft: #D5B88E;
  --color-kraft-bg: #F7F2EA;

  /* Fonty */
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-body: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Układ i wymiary */
  --container-max: 1280px;
  --gutter: clamp(1rem, 3.5vw, 2.2rem);
  --header-h: 76px;
  --topbar-h: 38px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-full: 9999px;

  /* Przejścia */
  --transition-fast: 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-smooth: 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* =========================================================================
   2. RESET & BAZA STRONY
   ========================================================================= */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: clip;
}

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

body {
  background-color: var(--color-base);
  color: var(--color-text-primary);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: clip;
}

body.nav-locked {
  overflow: hidden;
}

img, svg {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}

button {
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 3px;
}

.wrap {
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  margin-inline: auto;
}

.skip-link {
  position: absolute;
  top: -999px;
  left: 1rem;
  z-index: 999;
  background: var(--color-brand);
  color: #fff;
  padding: 0.6rem 1.2rem;
  border-radius: var(--radius-sm);
  font-weight: 500;
  text-decoration: none;
}

.skip-link:focus {
  top: 1rem;
}

.icon {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}

/* =========================================================================
   3. PASEK KOMUNIKATÓW (TOP BAR Z KARUZELĄ NA MOBILE)
   ========================================================================= */
.top-bar {
  background-color: var(--color-base-dark);
  border-bottom: 1px solid var(--color-base-border);
  height: var(--topbar-h);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: var(--color-text-secondary);
  overflow: hidden;
  position: relative;
  z-index: 95;
}

.top-bar-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Desktop: Wszystkie hasła w jednej linii z separatorami */
.top-bar-desktop {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.top-bar strong {
  color: var(--color-brand);
  font-weight: 600;
}

.top-bar .highlight {
  color: var(--color-brand);
}

/* Mobile: Elegancka 1-liniowa karuzela (ticker) */
.top-bar-carousel {
  display: none;
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}

.carousel-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, transform 0.5s ease;
  transform: translateY(6px);
  padding-inline: 0.5rem;
  white-space: nowrap;
}

.carousel-slide.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@media (max-width: 820px) {
  .top-bar-desktop {
    display: none;
  }
  .top-bar-carousel {
    display: block;
  }
}

/* =========================================================================
   4. NAGŁÓWEK (SITE HEADER) - PANCERNY STICKY SHOW & HIDE ON SCROLL
   ========================================================================= */
.site-header {
  background-color: rgba(26, 26, 26, 0.98) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid var(--color-base-border) !important;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.25s ease, box-shadow 0.25s ease !important;
  will-change: transform;
}

body.admin-bar .site-header {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px !important;
  }
}

@media (max-width: 600px) {
  #wpadminbar {
    position: fixed !important;
    top: 0 !important;
  }
  body.admin-bar .site-header {
    top: 46px !important;
  }
}

/* Stan schowany: wysuwa się w górę poza ekran przy scrollowaniu w dół */
.site-header.header-hidden {
  transform: translateY(-150%) !important;
}

/* Stan widoczny przy scrollowaniu w górę (z eleganckim cieniem) */
.site-header.header-visible {
  transform: translateY(0) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
}

.nav-bar {
  height: var(--header-h);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.5rem;
  position: relative;
}

/* Logo (Desktop default) */
.brand-wrap,
.brand-logo,
.custom-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.brand-logo svg,
.brand-logo img,
.custom-logo-link img,
img.custom-logo,
.site-header .custom-logo,
.site-header .brand-logo svg,
.site-header .custom-logo-link svg {
  height: 38px;
  width: auto;
  max-height: 40px;
  max-width: 180px;
  display: block;
  object-fit: contain;
}

/* Przycisk Hamburger (Desktop: schowany, Mobile: widoczny) */
.burger-btn,
button.burger-btn {
  display: none;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  color: #E95321 !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(233, 83, 33, 0.25) !important;
  border-radius: 50% !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer;
  padding: 0 !important;
}

.burger-btn .icon,
.burger-btn svg {
  stroke: #E95321 !important;
  width: 20px;
  height: 20px;
  stroke-width: 1.8;
  transition: stroke 0.25s ease, transform 0.25s ease;
}

.burger-btn:hover,
button.burger-btn:hover {
  background: rgba(233, 83, 33, 0.16) !important;
  border-color: #E95321 !important;
  color: #FF7A45 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(233, 83, 33, 0.35) !important;
}

.burger-btn:hover .icon,
.burger-btn:hover svg {
  stroke: #FF7A45 !important;
  transform: scale(1.08);
}

/* Responsywny Naglowek Mobile (< 992px) - Pancerne ułożenie */
@media (max-width: 991px) {
  .nav-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--header-h);
    gap: 0;
    position: relative;
    padding-inline: 0;
  }

  #burger-btn,
  .burger-btn,
  button.burger-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    z-index: 5 !important;
    margin: 0 !important;
  }

  /* Logo naglowka mobilnego - wycentrowane z zachowaniem czytelnosci */
  .site-header .brand-wrap,
  .site-header .brand-logo,
  .site-header .custom-logo-link {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 4 !important;
    max-width: calc(100% - 110px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .brand-wrap svg,
  .site-header .brand-logo svg,
  .site-header .custom-logo-link svg,
  .site-header .brand-wrap img,
  .site-header .brand-logo img,
  .site-header .custom-logo-link img,
  .site-header img.custom-logo,
  .site-header .custom-logo {
    height: 44px !important;
    width: auto !important;
    max-height: 46px !important;
    max-width: 180px !important;
    display: block !important;
    object-fit: contain !important;
  }

  .desktop-nav-wrap {
    display: none !important;
  }

  .nav-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
    z-index: 5;
    gap: 0.45rem;
  }

  .nav-tools .tool-btn-account {
    display: none !important;
  }

  .nav-tools .tool-btn-search,
  .nav-tools .tool-btn-cart,
  .nav-tools .cart-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .tool-btn.cart-btn,
  .tool-btn-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
  }
}

/* =========================================================================
   5. NAWIGACJA DESKTOP & MEGA-DROPDOWNS
   ========================================================================= */
.desktop-nav-wrap {
  display: flex;
  justify-content: center;
}

@media (max-width: 991px) {
  .desktop-nav-wrap {
    display: none !important;
  }
}

.desktop-nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style: none !important;
  gap: 0.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Pozycje menu głównego (level 0) */
.desktop-nav > li,
.desktop-nav > li.nav-item,
.desktop-nav > li.menu-item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: var(--header-h) !important;
}

/* Linki menu głównego */
.desktop-nav > li > a,
.desktop-nav .nav-link,
a.nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.65rem 0.85rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--color-text-primary) !important;
  border-radius: var(--radius-sm) !important;
  transition: color var(--transition-fast), background var(--transition-fast) !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.desktop-nav > li:hover > a,
.desktop-nav > li:focus-within > a,
.desktop-nav > li.current-menu-item > a,
.desktop-nav > li.current-menu-ancestor > a,
.desktop-nav .nav-link:hover,
.desktop-nav .nav-link[aria-expanded="true"] {
  color: var(--color-brand) !important;
  background-color: rgba(255, 255, 255, 0.05) !important;
}

@media (min-width: 992px) and (max-width: 1240px) {
  .nav-bar {
    gap: 0.75rem !important;
  }
  .desktop-nav {
    gap: 0.15rem !important;
  }
  .desktop-nav > li > a,
  .desktop-nav .nav-link,
  a.nav-link {
    padding: 0.55rem 0.55rem !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.03em !important;
  }
}

/* Strzałka chevron dla elementów posiadających podmenu */
.desktop-nav > li.menu-item-has-children > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 1.8px solid currentColor !important;
  border-bottom: 1.8px solid currentColor !important;
  transform: rotate(45deg) !important;
  margin-left: 0.35rem !important;
  margin-bottom: 3px !important;
  transition: transform var(--transition-fast) !important;
}

.desktop-nav > li.menu-item-has-children:hover > a::after,
.desktop-nav > li.menu-item-has-children:focus-within > a::after {
  transform: rotate(-135deg) !important;
  margin-bottom: -1px !important;
}

.nav-link .icon-chevron {
  width: 14px;
  height: 14px;
  stroke-width: 2;
  transition: transform var(--transition-fast);
}

.nav-item:hover .icon-chevron,
.nav-item:focus-within .icon-chevron {
  transform: rotate(180deg);
}

/* Panele rozwijane (Standardowe dropdowny i WordPress ul.sub-menu) */
.desktop-nav > li > ul.sub-menu,
.dropdown-pane {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  transform: translateY(8px) !important;
  background-color: var(--color-base-surface) !important;
  border: 1px solid var(--color-base-border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.8) !important;
  padding: 1.25rem 1.5rem !important;
  min-width: 260px !important;
  max-width: calc(100vw - 32px) !important;
  list-style: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast) !important;
  z-index: 1000 !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
  margin: 0 !important;
}

.dropdown-pane.wide,
.desktop-nav > li.mega-menu > .dropdown-pane {
  min-width: 720px !important;
  width: 720px !important;
  max-width: min(820px, calc(100vw - 40px)) !important;
  padding: 1.75rem 2rem !important;
  left: 0 !important;
  right: auto !important;
}

/* Otwieranie na hover / focus-within */
.desktop-nav > li:hover > ul.sub-menu,
.desktop-nav > li:focus-within > ul.sub-menu,
.desktop-nav > li:hover > .dropdown-pane,
.desktop-nav > li:focus-within > .dropdown-pane {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Mostek zapobiegający uciekaniu hovera podczas przesuwania kursora z linku do menu */
.desktop-nav > li:hover > ul.sub-menu::before,
.desktop-nav > li:hover > .dropdown-pane::before {
  content: '' !important;
  position: absolute !important;
  top: -10px !important;
  left: 0 !important;
  right: 0 !important;
  height: 10px !important;
}

/* =========================================================================
   MEGA-MENU DLA SKLEPU (3 KOLUMNY WP_NAV_MENU I WBUDOWANE)
   ========================================================================= */
.desktop-nav > li.mega-menu:hover > ul.sub-menu,
.desktop-nav > li.mega-menu:focus-within > ul.sub-menu,
.desktop-nav > li.wide:hover > ul.sub-menu,
.desktop-nav > li.wide:focus-within > ul.sub-menu {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
  gap: 1.5rem !important;
  min-width: 680px !important;
  padding: 1.5rem 1.75rem !important;
}

/* Wbudowany grid dla dropdown-grid (3 kolumny: Świece Sojowe, Aromaterapia, Okazje) */
.dropdown-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2.25rem !important;
  width: 100% !important;
  align-items: start !important;
}

.dropdown-grid > div {
  min-width: 0 !important;
}

.dropdown-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
}

/* Kolumny w mega-menu */
.desktop-nav > li.mega-menu > ul.sub-menu > li.menu-item-has-children {
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  position: static !important;
}

/* Tytuł kolumny w mega-menu (np. Świece Sojowe, Aromaterapia, Okazje) */
.desktop-nav > li.mega-menu > ul.sub-menu > li.menu-item-has-children > a,
.dropdown-col-title {
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--color-brand) !important;
  margin-bottom: 0.85rem !important;
  padding-bottom: 0.35rem !important;
  border-bottom: 1px solid var(--color-base-border-soft) !important;
  display: block !important;
  text-decoration: none !important;
}

.desktop-nav > li.mega-menu > ul.sub-menu > li.menu-item-has-children > a::after {
  display: none !important; /* Wyłącz strzałkę wewnątrz nagłówka kolumny */
}

/* Lista linków wewnątrz kolumny mega-menu */
.desktop-nav > li.mega-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu {
  position: static !important;
  transform: none !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  list-style: none !important;
  opacity: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
  min-width: 0 !important;
}

/* Elementy i linki w podmenu (zarówno standardowym jak i mega) */
.desktop-nav ul.sub-menu li,
.dropdown-item {
  list-style: none !important;
}

.desktop-nav ul.sub-menu li a,
.dropdown-item a,
.dropdown-list a,
.dropdown-pane a {
  font-size: 0.88rem !important;
  color: var(--color-text-secondary) !important;
  display: block !important;
  padding: 0.25rem 0 !important;
  text-decoration: none !important;
  transition: color var(--transition-fast), transform var(--transition-fast) !important;
  white-space: nowrap !important;
}

.desktop-nav ul.sub-menu li a:hover,
.dropdown-item a:hover,
.dropdown-list a:hover,
.dropdown-pane a:hover {
  color: var(--color-text-primary) !important;
  transform: translateX(3px) !important;
}

.desktop-nav ul.sub-menu li a.view-all-link,
.dropdown-item a.view-all-link,
.dropdown-pane a.view-all-link {
  color: var(--color-brand) !important;
  font-weight: 600 !important;
}

.badge-hot,
.dropdown-item .badge-hot {
  font-size: 0.65rem !important;
  text-transform: uppercase !important;
  background-color: var(--color-brand) !important;
  color: #fff !important;
  padding: 2px 6px !important;
  border-radius: var(--radius-sm) !important;
  margin-left: 0.4rem !important;
  letter-spacing: 0.05em !important;
  font-weight: 600 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Narzędzia (Szukaj, Konto, Koszyk) */
.nav-tools {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  justify-self: end;
}

.nav-tools {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

@media (max-width: 991px) {
  .nav-tools {
    margin-left: auto;
    gap: 0.45rem;
  }
  .nav-tools .tool-btn-account {
    display: none !important;
  }
  .nav-tools .tool-btn-search,
  .nav-tools .tool-btn-cart,
  .nav-tools .cart-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
}

.tool-btn {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #E95321 !important;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(233, 83, 33, 0.25);
  border-radius: 50% !important;
  position: relative;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none;
  cursor: pointer;
}

.tool-btn .icon {
  width: 20px;
  height: 20px;
  stroke: #E95321 !important;
  stroke-width: 1.8;
  transition: stroke 0.25s ease, transform 0.25s ease;
}

.tool-btn:hover {
  background: rgba(233, 83, 33, 0.16) !important;
  border-color: #E95321 !important;
  color: #FF7A45 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(233, 83, 33, 0.35) !important;
}

.tool-btn:hover .icon {
  stroke: #FF7A45 !important;
  transform: scale(1.08);
}

.tool-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(233, 83, 33, 0.2) !important;
}

.cart-counter {
  position: absolute;
  top: -2px;
  right: -2px;
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 100%) !important;
  color: #FFFFFF !important;
  font-size: 0.65rem;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  border-radius: 999px;
  padding: 0 5px;
  border: 1.5px solid #1A1A1A;
  box-shadow: 0 2px 8px rgba(233, 83, 33, 0.5);
  pointer-events: none;
}

/* =========================================================================
   6. MENU OFF-CANVAS (MOBILE DRAWER) - ZAWSZE PONAD NAGŁÓWKIEM
   ========================================================================= */
.drawer-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 999990 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-smooth), visibility var(--transition-smooth);
}

.drawer-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(85vw, 360px);
  background-color: var(--color-base) !important;
  border-right: 1px solid var(--color-base-border);
  z-index: 999995 !important;
  transform: translateX(-100%);
  visibility: hidden !important;
  box-shadow: none !important;
  pointer-events: none !important;
  transition: transform var(--transition-smooth), visibility var(--transition-smooth) !important;
  display: flex;
  flex-direction: column;
}

body.admin-bar .mobile-drawer {
  top: 32px;
  height: calc(100vh - 32px);
  height: calc(100dvh - 32px);
}

@media (max-width: 782px) {
  body.admin-bar .mobile-drawer {
    top: 46px;
    height: calc(100vh - 46px);
    height: calc(100dvh - 46px);
  }
}

.mobile-drawer.active {
  transform: translateX(0) !important;
  visibility: visible !important;
  box-shadow: 20px 0 50px rgba(0, 0, 0, 0.7) !important;
  pointer-events: auto !important;
}

.burger-btn,
button.burger-btn,
.drawer-close-btn,
button.drawer-close-btn {
  cursor: pointer !important;
  pointer-events: auto !important;
}

.burger-btn svg,
.drawer-close-btn svg {
  pointer-events: none !important;
}

.drawer-header {
  padding: 0.9rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-base-border);
  background-color: var(--color-base-surface);
  min-height: 56px;
}

.drawer-header .drawer-title {
  font-family: var(--font-heading);
  font-size: 0.88rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-primary);
}

.drawer-close-btn,
button.drawer-close-btn {
  all: unset !important;
  box-sizing: border-box !important;
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--color-text-secondary) !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer !important;
  transition: color var(--transition-fast), background-color var(--transition-fast) !important;
}

.drawer-close-btn:hover,
button.drawer-close-btn:hover {
  color: var(--color-brand) !important;
  background-color: rgba(233, 83, 33, 0.1) !important;
}

.drawer-close-btn svg {
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.drawer-body {
  padding: 0.75rem 1.25rem;
  overflow-y: auto;
  flex: 1;
}

.mobile-nav-list {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mobile-nav-list > li,
.mobile-nav-item {
  border-bottom: 1px solid var(--color-base-border-soft) !important;
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
}

.mobile-nav-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

.subnav-toggle,
button.subnav-toggle,
.drawer-close-btn,
button.drawer-close-btn {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  padding: 0 !important;
  outline: none !important;
}

.mobile-nav-list > li > a,
.mobile-nav-link,
a.mobile-nav-link {
  display: flex !important;
  align-items: center !important;
  padding: 0.95rem 0 !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: var(--color-text-primary) !important;
  text-decoration: none !important;
  flex: 1 !important;
}

.mobile-nav-list > li > a:hover,
.mobile-nav-link:hover,
.mobile-nav-link:focus {
  color: var(--color-brand) !important;
}

.subnav-toggle,
button.subnav-toggle {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--color-text-secondary) !important;
  transition: transform var(--transition-fast), color var(--transition-fast) !important;
  cursor: pointer !important;
}

.subnav-toggle[aria-expanded="true"],
.mobile-nav-list > li.open > .subnav-toggle {
  transform: rotate(180deg) !important;
  color: var(--color-brand) !important;
}

/* Rozwijana zawartość akordeonu */
.mobile-nav-list > li > ul.sub-menu,
.mobile-subnav {
  list-style: none !important;
  padding: 0.25rem 0 0.85rem 1rem !important;
  display: none !important;
  flex-direction: column !important;
  gap: 0.6rem !important;
  width: 100% !important;
  margin: 0 !important;
}

.mobile-nav-list > li.open > ul.sub-menu,
.mobile-subnav.open {
  display: flex !important;
}

.mobile-nav-list ul.sub-menu li,
.mobile-subnav li {
  list-style: none !important;
}

.mobile-nav-list ul.sub-menu li a,
.mobile-subnav a,
.mobile-subnav li a {
  font-size: 0.92rem !important;
  color: var(--color-text-secondary) !important;
  display: block !important;
  padding: 0.25rem 0 !important;
  text-decoration: none !important;
}

.mobile-nav-list ul.sub-menu li a:hover,
.mobile-subnav a:hover,
.mobile-subnav a:focus {
  color: var(--color-text-primary) !important;
}

/* Podgrupy 2 poziomu w menu mobilnym (np. Świece Sojowe, Aromaterapia, Okazje) */
.mobile-nav-list ul.sub-menu > li.menu-item-has-children,
.mobile-sub-group {
  margin-top: 0.6rem !important;
  margin-bottom: 0.2rem !important;
  border-bottom: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
}

.mobile-nav-list ul.sub-menu > li.menu-item-has-children > a,
.mobile-sub-group .dropdown-col-title {
  color: var(--color-brand) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding-bottom: 0.25rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  width: 100% !important;
  pointer-events: none !important;
}

.mobile-nav-list ul.sub-menu > li.menu-item-has-children > ul.sub-menu {
  display: flex !important;
  padding: 0.35rem 0 0.35rem 0.5rem !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
  width: 100% !important;
  list-style: none !important;
}

.drawer-footer {
  padding: 1.25rem;
  background-color: var(--color-base-dark);
  border-top: 1px solid var(--color-base-border);
  font-size: 0.82rem;
  color: var(--color-text-secondary);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.drawer-footer a,
.drawer-footer li a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-primary) !important;
  text-decoration: none !important;
}

.drawer-footer a:hover {
  color: var(--color-brand) !important;
}

/* Link do Instagrama z ikoną IG */
.drawer-ig-link {
  display: flex !important;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.75rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--color-base-border-soft);
  border-radius: var(--radius-sm);
  font-size: 0.86rem;
  font-weight: 500;
  color: var(--color-text-primary) !important;
  transition: all var(--transition-fast);
}

.drawer-ig-link:hover {
  background: rgba(233, 83, 33, 0.12);
  border-color: rgba(233, 83, 33, 0.35);
  color: var(--color-brand) !important;
}

.drawer-ig-link .icon-ig {
  width: 18px;
  height: 18px;
  stroke: var(--color-brand);
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}

.drawer-ig-link:hover .icon-ig {
  transform: scale(1.12);
}

.drawer-contact-link {
  font-size: 0.85rem;
  color: var(--color-text-primary) !important;
  transition: color var(--transition-fast);
}

.drawer-contact-link:hover {
  color: var(--color-brand) !important;
}

.drawer-mfg-note {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  margin-top: 0.1rem;
}

/* Logo Lucsoy na dole menu off-canvas */
.drawer-logo-row {
  margin-top: 0.6rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--color-base-border-soft);
  display: flex;
  align-items: center;
  justify-content: center;
}

.drawer-logo-row .brand-logo,
.drawer-logo-row .custom-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.drawer-logo-row .brand-logo svg,
.drawer-logo-row .brand-logo img,
.drawer-logo-row .custom-logo-link img,
.drawer-logo-row img.custom-logo {
  height: 28px !important;
  width: auto !important;
  max-width: 130px !important;
  object-fit: contain;
  opacity: 0.85;
  transition: opacity var(--transition-fast);
}

.drawer-logo-row:hover img,
.drawer-logo-row:hover svg {
  opacity: 1;
}

/* Grupowanie podkategorii w mobilnym drawerze */
.mobile-sub-group {
  margin-top: 0.4rem;
  margin-bottom: 0.2rem;
}

.mobile-sub-group .dropdown-col-title {
  color: var(--color-brand) !important;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* =========================================================================
   7. MINIMALNA STRONA TESTOWA DLA ETAPU 1
   ========================================================================= */
.stage-presentation {
  flex: 1;
  padding-block: clamp(3rem, 6vw, 5rem);
}

.stage-card {
  background-color: var(--color-base-surface);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-md);
  padding: clamp(1.5rem, 4vw, 3rem);
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

/* =========================================================================
   7. HOMEPAGE SYSTEM & UI KOMPONENTY (DARK PREMIUM)
   ========================================================================= */

/* Przycisk bazowy */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-body);
  font-weight: 500;
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-decoration: none;
  transition: all var(--transition-fast);
  line-height: 1.2;
  text-align: center;
}

.btn-primary {
  background-color: var(--color-brand) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--color-brand) !important;
  box-shadow: 0 4px 14px rgba(233, 83, 33, 0.25);
}

.btn-primary:hover {
  background-color: var(--color-brand-hover) !important;
  border-color: var(--color-brand-hover) !important;
  box-shadow: 0 6px 20px rgba(233, 83, 33, 0.4);
  transform: translateY(-2px);
  color: #FFFFFF !important;
}

.btn-primary:active {
  transform: translateY(0);
}

.btn-secondary {
  background-color: var(--color-base-surface) !important;
  color: var(--color-text-primary) !important;
  border: 1px solid var(--color-base-border) !important;
}

.btn-secondary:hover {
  border-color: var(--color-brand) !important;
  color: var(--color-brand) !important;
  background-color: rgba(233, 83, 33, 0.08) !important;
}

.btn-ghost {
  background-color: rgba(255, 255, 255, 0.04) !important;
  color: var(--color-text-primary) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(8px);
}

.btn-ghost:hover {
  border-color: var(--color-brand) !important;
  color: var(--color-brand) !important;
  background-color: rgba(233, 83, 33, 0.12) !important;
}

.btn-sm {
  padding: 0.5rem 0.85rem;
  font-size: 0.78rem;
  min-height: 38px;
}

.btn-lg {
  padding: 0.85rem 1.6rem;
  font-size: 0.95rem;
  min-height: 48px;
}

.btn-arrow {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  transition: transform var(--transition-fast);
}

.btn:hover .btn-arrow {
  transform: translateX(4px);
}

/* Subtelne akcenty ciepła i światła w tle (Luksusowa poświata bez lagów) */
.ambient-glow {
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(90px);
  z-index: 1;
  opacity: 0.65;
  will-change: transform, opacity;
}

.ambient-glow-hero {
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: min(700px, 90vw);
  height: 350px;
  background: radial-gradient(circle, rgba(233, 83, 33, 0.16) 0%, rgba(26, 26, 26, 0) 70%);
}

.ambient-glow-bestsellers {
  top: 10%;
  right: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(233, 83, 33, 0.08) 0%, rgba(26, 26, 26, 0) 70%);
}

.ambient-glow-story {
  top: 25%;
  left: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(233, 83, 33, 0.09) 0%, rgba(26, 26, 26, 0) 70%);
}

/* =========================================================================
   HERO SECTION (DARK LUXURY & FESTIVE EDITION)
   ========================================================================= */
.home-hero {
  position: relative;
  min-height: clamp(560px, 84vh, 840px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-base-dark);
}

.hero-bg-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-bg-media picture,
.hero-bg-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.01);
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.home-hero:hover .hero-bg-media img {
  transform: scale(1.03);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, 
    rgba(14, 14, 14, 0.78) 0%, 
    rgba(16, 16, 16, 0.58) 22%, 
    rgba(16, 16, 16, 0.58) 72%, 
    var(--color-base) 100%);
}

.hero-content {
  position: relative;
  z-index: 2;
  padding-block: clamp(3.5rem, 6.5vw, 5.5rem);
  max-width: 820px;
}

.hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.45rem, 5.8vw, 4.4rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: #FFFFFF;
  margin-bottom: 1.35rem;
  text-wrap: balance;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.9), 0 4px 30px rgba(0, 0, 0, 0.75);
}

.hero-title-highlight {
  background: linear-gradient(135deg, #FFE2B8 0%, #FF9A52 50%, #E95321 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline;
  font-style: italic;
  font-weight: 400;
  filter: drop-shadow(0 2px 8px rgba(233, 83, 33, 0.4));
}

.hero-sub {
  font-size: clamp(1rem, 1.85vw, 1.18rem);
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.65;
  max-width: 620px;
  margin-bottom: 2.25rem;
  font-weight: 300;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.85);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

/* Primary Hero Button - Festive Capsule Glowing */
.btn-hero-primary {
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: var(--radius-full) !important;
  padding: 1rem 2.25rem !important;
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 8px 28px rgba(233, 83, 33, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-hero-primary::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.28), transparent);
  transform: skewX(-20deg);
  transition: left 0.75s ease;
}

.btn-hero-primary:hover::after {
  left: 140%;
}

.btn-hero-primary:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 12px 38px rgba(233, 83, 33, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
  color: #FFFFFF !important;
}

.btn-hero-primary .btn-arrow {
  width: 18px;
  height: 18px;
  stroke-width: 2.2;
}

/* Trust Row under Hero */
.hero-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.1rem;
  margin-top: clamp(2.2rem, 4vw, 3rem);
}

.trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(18, 18, 18, 0.62);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 0.4rem 0.9rem;
  border-radius: var(--radius-full);
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.85);
  transition: all var(--transition-fast);
}

.trust-pill .icon {
  width: 15px;
  height: 15px;
  color: var(--color-brand);
  flex-shrink: 0;
}

.trust-pill strong {
  color: #FFFFFF;
  font-weight: 600;
}

.trust-pill.highlight {
  border-color: rgba(233, 83, 33, 0.42);
  background: rgba(233, 83, 33, 0.14);
}

.trust-pill.highlight strong {
  color: #FFA17A;
}

.trust-pill.highlight .icon-spark {
  color: #FFA17A;
}

.trust-pill.highlight-gold {
  border-color: rgba(255, 184, 108, 0.35);
  background: rgba(255, 184, 108, 0.10);
}

.trust-pill.highlight-gold .icon-star {
  color: #FFB86C;
}

.trust-pill.highlight-gold strong {
  color: #FFD29D;
}

@media (max-width: 768px) {
  .home-hero {
    min-height: auto;
    padding-top: calc(var(--header-h) + 1.25rem);
    padding-bottom: 3.5rem;
  }

  .hero-bg-media picture,
  .hero-bg-media img {
    object-position: center 30%;
  }

  .hero-overlay {
    background: linear-gradient(180deg, 
      rgba(14, 14, 14, 0.80) 0%, 
      rgba(16, 16, 16, 0.60) 25%, 
      rgba(16, 16, 16, 0.60) 72%, 
      var(--color-base) 100%);
  }

  .hero-content {
    padding-block: 2rem 1.5rem;
  }

  .hero-actions {
    width: 100%;
  }

  .btn-hero-primary {
    width: 100%;
    justify-content: center;
  }

  .hero-trust-row {
    gap: 0.5rem;
  }

  .trust-pill {
    font-size: 0.78rem;
    padding: 0.35rem 0.75rem;
  }
}

/* =========================================================================
   TRUST STRIP SECTION (4 GWARANCJE)
   ========================================================================= */
.trust-strip-section {
  background-color: var(--color-base-dark);
  border-bottom: 1px solid var(--color-base-border);
  padding-block: 1.75rem;
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

@media (max-width: 991px) {
  .trust-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
}

@media (max-width: 540px) {
  .trust-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.trust-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.75rem;
  border-radius: var(--radius-sm);
  background-color: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--color-base-border-soft);
}

.trust-card-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-sm);
  background-color: rgba(233, 83, 33, 0.1);
  color: var(--color-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.trust-card-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 1.8;
  fill: none;
}

.trust-card-body h3 {
  font-family: var(--font-body);
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 0.2rem;
}

.trust-card-body p {
  font-size: 0.78rem;
  color: var(--color-text-secondary);
  line-height: 1.4;
  margin: 0;
}

/* =========================================================================
   SEKCJE WSPÓLNE (SECTIONS COMMON)
   ========================================================================= */
.section {
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
  position: relative;
}

.section-header {
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.section-header.text-center {
  text-align: center;
}

.section-header.text-center .section-sub {
  margin-inline: auto;
}

.section-tag {
  display: inline-block;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-brand);
  margin-bottom: 0.45rem;
}

.section-title {
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 3.8vw, 2.75rem);
  font-weight: 500;
  color: var(--color-text-primary);
  line-height: 1.2;
}

.section-sub {
  font-size: clamp(0.9rem, 1.4vw, 1.05rem);
  color: var(--color-text-secondary);
  line-height: 1.55;
  max-width: 620px;
  margin-top: 0.6rem;
}

.section-cta-center {
  text-align: center;
  margin-top: clamp(2rem, 4vw, 3rem);
}

/* =========================================================================
   KATEGORIE I FORMATY (VISUAL TILES)
   ========================================================================= */
.categories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}

@media (max-width: 991px) {
  .categories-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 540px) {
  .categories-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
}

.cat-tile {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 240px;
  border: 1px solid var(--color-base-border);
  background-color: var(--color-base-surface);
  text-decoration: none;
  transition: border-color var(--transition-fast), transform var(--transition-smooth);
}

@media (min-width: 992px) {
  .cat-tile-large {
    grid-column: span 2;
  }
}

.cat-tile:hover {
  border-color: rgba(233, 83, 33, 0.4);
  transform: translateY(-4px);
}

.cat-tile-img-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.cat-tile-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.cat-tile:hover .cat-tile-img-wrap img {
  transform: scale(1.05);
}

.cat-tile-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, 
    rgba(18, 18, 18, 0.15) 0%, 
    rgba(18, 18, 18, 0.5) 40%, 
    rgba(18, 18, 18, 0.95) 100%);
}

.cat-tile-content {
  position: relative;
  z-index: 2;
  padding: clamp(0.85rem, 1.8vw, 1.4rem);
}

.cat-badge {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-brand);
  background: rgba(26, 26, 26, 0.85);
  border: 1px solid rgba(233, 83, 33, 0.3);
  padding: 0.2rem 0.5rem;
  border-radius: var(--radius-sm);
  margin-bottom: 0.45rem;
  backdrop-filter: blur(6px);
}

.cat-tile-content h3 {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  font-weight: 500;
  color: var(--color-text-primary);
  margin-bottom: 0.25rem;
  line-height: 1.25;
}

.cat-tile-content p {
  font-size: 0.78rem;
  color: var(--color-text-secondary);
  line-height: 1.4;
  margin-bottom: 0.6rem;
}

@media (max-width: 540px) {
  .cat-tile-content p {
    display: none;
  }
}

.cat-link-text {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--color-brand);
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

/* =========================================================================
   BESTSELLERY (WOOCOMMERCE GRID)
   ========================================================================= */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}

@media (max-width: 1024px) {
  .products-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  .products-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
}

.product-card {
  background-color: var(--color-base-surface);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-fast), border-color var(--transition-fast);
}

.product-card:hover {
  transform: translateY(-4px);
  border-color: rgba(233, 83, 33, 0.4);
}

.card-media {
  position: relative;
  aspect-ratio: 1;
  background-color: #1a1a1a;
  overflow: hidden;
}

.card-media a {
  display: block;
  width: 100%;
  height: 100%;
}

.card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.product-card:hover .card-media img {
  transform: scale(1.04);
}

.card-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background-color: rgba(18, 18, 18, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  font-size: 0.65rem;
  font-weight: 500;
  color: var(--color-text-primary);
  padding: 0.2rem 0.5rem;
  border-radius: var(--radius-sm);
  z-index: 2;
}

.card-content {
  padding: clamp(0.75rem, 1.5vw, 1.15rem);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.card-rating {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  color: var(--color-brand);
  margin-bottom: 0.35rem;
}

.rating-val {
  color: var(--color-text-muted);
  font-size: 0.72rem;
}

.card-title {
  font-family: var(--font-body);
  font-size: clamp(0.85rem, 1.2vw, 0.96rem);
  font-weight: 500;
  line-height: 1.35;
  margin-bottom: auto;
}

.card-title a {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.card-title a:hover {
  color: var(--color-brand);
}

.card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-base-border-soft);
  flex-wrap: wrap;
}

.card-price {
  font-size: clamp(0.95rem, 1.3vw, 1.1rem);
  font-weight: 600;
  color: var(--color-text-primary);
}

.card-price del {
  color: var(--color-text-muted);
  font-size: 0.82rem;
  margin-right: 0.3rem;
}

.card-price ins {
  text-decoration: none;
  color: var(--color-brand);
}

.cart-add-icon {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}

@media (max-width: 540px) {
  .card-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
  }

  .card-footer .btn {
    width: 100%;
  }
}

/* =========================================================================
   ŚWIAT ZAPACHÓW — WYBÓR WEDŁUG NASTROJU
   ========================================================================= */
.scent-family-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}

@media (max-width: 1024px) {
  .scent-family-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 540px) {
  .scent-family-grid {
    grid-template-columns: 1fr;
  }
}

.scent-card {
  background-color: var(--color-base-surface);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-md);
  padding: clamp(1.2rem, 2vw, 1.6rem);
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-fast), border-color var(--transition-fast);
}

.scent-card:hover {
  transform: translateY(-4px);
  border-color: rgba(233, 83, 33, 0.4);
}

.scent-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.scent-icon {
  font-size: 1.8rem;
  line-height: 1;
}

.scent-header h3 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--color-text-primary);
  margin-bottom: 0.15rem;
}

.scent-tagline {
  font-size: 0.72rem;
  color: var(--color-brand);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: block;
}

.scent-desc {
  font-size: 0.84rem;
  color: var(--color-text-secondary);
  line-height: 1.55;
  margin-bottom: 1rem;
  flex: 1;
}

.scent-notes-pill {
  background-color: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--color-base-border-soft);
  border-radius: var(--radius-sm);
  padding: 0.45rem 0.65rem;
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  margin-bottom: 1.15rem;
}

.scent-notes-pill span {
  color: var(--color-brand);
  font-weight: 600;
}

.scent-link {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.scent-link:hover {
  color: var(--color-brand);
}

.scent-guide-cta {
  text-align: center;
  margin-top: clamp(2rem, 4vw, 3rem);
}

/* =========================================================================
   RZEMIOSŁO I MANUFAKTURA GDAŃSK (BRAND STORY)
   ========================================================================= */
.story-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

@media (max-width: 991px) {
  .story-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.story-media {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-base-border);
}

.story-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.story-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background-color: rgba(18, 18, 18, 0.92);
  border: 1px solid var(--color-base-border);
  backdrop-filter: blur(10px);
  padding: 0.65rem 1rem;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.story-badge .icon {
  width: 20px;
  height: 20px;
  color: var(--color-brand);
}

.story-badge strong {
  display: block;
  font-size: 0.84rem;
  color: var(--color-text-primary);
}

.story-badge span {
  display: block;
  font-size: 0.72rem;
  color: var(--color-brand);
}

.story-content .lead-text {
  font-size: 1.05rem;
  color: var(--color-text-primary);
  font-weight: 500;
  margin-bottom: 0.85rem;
}

.story-content p {
  font-size: 0.9rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin-bottom: 1.25rem;
}

.team-pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 540px) {
  .team-pillars {
    grid-template-columns: 1fr;
  }
}

.pillar-item {
  background-color: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--color-base-border-soft);
  border-radius: var(--radius-sm);
  padding: 0.95rem;
}

.pillar-header strong {
  color: var(--color-brand);
  font-size: 0.95rem;
  display: block;
}

.pillar-role {
  font-size: 0.74rem;
  color: var(--color-text-muted);
  display: block;
  margin-bottom: 0.4rem;
}

.pillar-item p {
  font-size: 0.8rem;
  margin: 0;
  line-height: 1.45;
}

.story-features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  margin-bottom: 1.5rem;
}

.feat-badge {
  font-size: 0.78rem;
  color: var(--color-text-primary);
  background-color: rgba(233, 83, 33, 0.08);
  border: 1px solid rgba(233, 83, 33, 0.25);
  padding: 0.3rem 0.7rem;
  border-radius: var(--radius-sm);
}

/* =========================================================================
   RECENZJE I SOCIAL PROOF
   ========================================================================= */
.trustmate-widget-area {
  width: 100%;
  margin-top: 2rem;
}

.trustmate-widget-area:empty {
  margin-top: 0;
  display: none;
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}

@media (max-width: 991px) {
  .reviews-grid {
    grid-template-columns: 1fr;
  }
}

.review-card {
  background-color: var(--color-base-surface);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-md);
  padding: clamp(1.25rem, 2.5vw, 1.85rem);
  display: flex;
  flex-direction: column;
}

.review-stars {
  color: var(--color-brand);
  letter-spacing: 2px;
  font-size: 0.95rem;
  margin-bottom: 0.85rem;
}

.review-text {
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.55;
  color: var(--color-text-primary);
  font-style: italic;
  margin-bottom: 1.25rem;
  flex: 1;
}

.review-author strong {
  font-family: var(--font-body);
  font-size: 0.86rem;
  color: var(--color-text-primary);
  display: block;
}

.review-author span {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}

/* =========================================================================
   FAQ ACCORDION (DARK PREMIUM & ELEMENTOR BUTTON RESET)
   ========================================================================= */
.faq-accordion {
  max-width: 820px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.faq-item {
  background-color: var(--color-base-surface) !important;
  border: 1px solid var(--color-base-border) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
  transition: border-color var(--transition-fast), background-color var(--transition-fast) !important;
}

.faq-item:hover,
.faq-item.active {
  border-color: rgba(233, 83, 33, 0.45) !important;
  background-color: rgba(36, 36, 36, 0.95) !important;
}

/* Pancerne wyczyszczenie stylów Elementora (pomarańczowe pigułki) */
button.faq-question,
.faq-item button.faq-question,
.faq-question,
.faq-accordion button {
  all: unset !important;
  box-sizing: border-box !important;
  width: 100% !important;
  text-align: left !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 1.15rem 1.4rem !important;
  font-family: var(--font-body) !important;
  font-size: clamp(0.92rem, 1.4vw, 1.05rem) !important;
  font-weight: 500 !important;
  color: var(--color-text-primary) !important;
  cursor: pointer !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  outline: none !important;
  transition: color var(--transition-fast) !important;
}

button.faq-question:hover,
.faq-item button.faq-question:hover,
.faq-question:hover,
.faq-accordion button:hover {
  color: var(--color-brand) !important;
  background: transparent !important;
  background-color: transparent !important;
}

.faq-q-text {
  font-family: var(--font-body) !important;
  font-size: clamp(0.92rem, 1.4vw, 1.05rem) !important;
  font-weight: 500 !important;
  color: var(--color-text-primary) !important;
  line-height: 1.4 !important;
  padding-right: 1rem !important;
}

.faq-item.active .faq-q-text {
  color: var(--color-brand) !important;
}

.faq-icon {
  width: 18px !important;
  height: 18px !important;
  position: relative !important;
  flex-shrink: 0 !important;
  color: var(--color-brand) !important;
}

.faq-icon::before,
.faq-icon::after {
  content: '' !important;
  position: absolute !important;
  background-color: var(--color-brand) !important;
  transition: transform var(--transition-fast), opacity var(--transition-fast) !important;
}

.faq-icon::before {
  top: 8px !important;
  left: 1px !important;
  width: 16px !important;
  height: 2px !important;
}

.faq-icon::after {
  top: 1px !important;
  left: 8px !important;
  width: 2px !important;
  height: 16px !important;
}

.faq-item.active .faq-icon::after {
  transform: rotate(90deg) !important;
  opacity: 0 !important;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
  padding-inline: 1.4rem;
}

.faq-item.active .faq-answer {
  max-height: 400px;
  opacity: 1;
  padding-bottom: 1.25rem;
}

.faq-answer p {
  font-size: 0.88rem !important;
  color: var(--color-text-secondary) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* =========================================================================
   SEO EDITORIAL & KNOWLEDGE GUIDE (DARK LUXURY)
   ========================================================================= */
.seo-guide-section {
  padding: clamp(3.5rem, 6vw, 5.5rem) 0;
  background-color: #171717;
  border-top: 1px solid #242424;
  border-bottom: 1px solid #242424;
  position: relative;
}

.seo-guide-header {
  max-width: 840px;
  margin-inline: auto;
  margin-bottom: 2.75rem;
  text-align: center;
}

.seo-guide-header .eyebrow {
  font-family: var(--font-body);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-brand);
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.seo-guide-header .section-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.8vw, 2.3rem);
  color: var(--color-text-primary);
  line-height: 1.25;
  margin-bottom: 1rem;
}

.seo-guide-header .section-sub {
  font-size: 0.95rem;
  color: var(--color-text-secondary);
  line-height: 1.65;
}

.seo-guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.35rem;
}

.seo-guide-card {
  background: #1B1B1B;
  border: 1px solid #282828;
  border-radius: var(--radius-md);
  padding: clamp(1.35rem, 2.5vw, 1.85rem);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  position: relative;
}

.seo-guide-card:hover {
  background: #202020;
  border-color: rgba(233, 83, 33, 0.45);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.seo-guide-card-top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.seo-card-badge {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-brand);
  background: rgba(233, 83, 33, 0.12);
  border: 1px solid rgba(233, 83, 33, 0.25);
  padding: 0.2rem 0.55rem;
  border-radius: var(--radius-sm);
  display: inline-block;
}

.seo-guide-card h3 {
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  font-weight: 600;
  color: #F7F5F0;
  line-height: 1.35;
  margin-bottom: 0.65rem;
  transition: color var(--transition-fast);
}

.seo-guide-card:hover h3 {
  color: #FFA07A;
}

.seo-guide-card p {
  font-size: 0.88rem;
  color: var(--color-text-secondary);
  line-height: 1.68;
  margin: 0;
}

.seo-guide-card p a,
.seo-guide-header .section-sub a {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(233, 83, 33, 0.35);
  font-weight: 500;
  transition: all var(--transition-fast);
}

.seo-guide-card p a:hover,
.seo-guide-header .section-sub a:hover {
  color: #FFA07A;
  text-decoration-color: #FFA07A;
}

@media (max-width: 768px) {
  .seo-guide-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* =========================================================================
   TOAST NOTIFICATION (SZYBKI KOSZYK AJAX)
   ========================================================================= */
.lucsoy-toast-container {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  pointer-events: none;
}

@media (max-width: 600px) {
  .lucsoy-toast-container {
    bottom: 16px;
    left: 16px;
    right: 16px;
  }
}

.lucsoy-toast {
  background-color: #1A1A1A;
  border: 1px solid var(--color-brand);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.65);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1.15rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  pointer-events: auto;
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

.lucsoy-toast.show {
  transform: translateY(0);
  opacity: 1;
}

.toast-content {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.toast-icon {
  width: 20px;
  height: 20px;
  stroke: var(--color-brand);
  fill: none;
  stroke-width: 2.2;
  flex-shrink: 0;
}

.toast-text strong {
  display: block;
  font-size: 0.82rem;
  color: var(--color-text-primary);
}

.toast-text span {
  display: block;
  font-size: 0.75rem;
  color: var(--color-text-secondary);
}

.toast-link {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-brand);
  text-decoration: none;
  white-space: nowrap;
  padding: 0.35rem 0.65rem;
  background-color: rgba(233, 83, 33, 0.12);
  border-radius: var(--radius-sm);
  transition: background-color var(--transition-fast);
}

.toast-link:hover {
  background-color: rgba(233, 83, 33, 0.25);
}

/* =========================================================================
   8. STOPKA (SITE FOOTER)
   ========================================================================= */
.site-footer {
  background-color: var(--color-base-dark);
  border-top: 1px solid var(--color-base-border);
  padding-top: clamp(3rem, 5vw, 4.5rem);
  padding-bottom: 2rem;
  font-size: 0.9rem;
  color: var(--color-text-secondary);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
}

@media (max-width: 991px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}

@media (max-width: 540px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* Stopka - Logo marki (Gwarancja pozycji w stopce i proporcji) */
.site-footer .footer-brand,
.footer-brand {
  position: relative;
}

.site-footer .footer-brand .custom-logo-link,
.site-footer .footer-brand .brand-logo,
.site-footer .footer-brand a,
.footer-brand .custom-logo-link,
.footer-brand .brand-logo,
.footer-brand a:first-child {
  position: static !important;
  transform: none !important;
  display: inline-block !important;
  line-height: 1 !important;
  margin: 0 0 0.85rem 0 !important;
  padding: 0 !important;
}

.site-footer .footer-brand .custom-logo,
.site-footer .footer-brand .custom-logo-link img,
.site-footer .footer-brand img,
.site-footer .footer-brand svg,
.footer-brand .custom-logo,
.footer-brand .custom-logo-link img,
.footer-brand img,
.footer-brand svg {
  position: static !important;
  transform: none !important;
  height: 48px !important;
  width: auto !important;
  max-height: 54px !important;
  max-width: 220px !important;
  display: block !important;
  object-fit: contain !important;
  margin: 0 !important;
}

.footer-brand p {
  margin-top: 1rem;
  font-size: 0.88rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.footer-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.25rem;
  padding: 0.5rem 0.85rem;
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-sm);
  font-size: 0.78rem;
  color: var(--color-text-primary);
}

.footer-col h4 {
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-primary) !important;
  margin-bottom: 1.15rem;
}

.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.site-footer a,
.footer-links a,
.footer-links li a,
.footer-col a,
.footer-brand a:not(.footer-social-btn),
.footer-contact-info a {
  color: var(--color-text-secondary) !important;
  font-size: 0.88rem;
  text-decoration: none !important;
  transition: color var(--transition-fast), transform var(--transition-fast);
  display: inline-block;
}

.site-footer a:hover,
.footer-links a:hover,
.footer-links li a:hover,
.footer-col a:hover,
.footer-brand a:not(.footer-social-btn):hover,
.footer-contact-info a:hover {
  color: #FFFFFF !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.4) !important;
  transform: translateX(3px);
}

.footer-social-btn,
.site-footer .footer-brand a.footer-social-btn {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(233, 83, 33, 0.28) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #E95321 !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

.footer-social-btn:hover,
.site-footer .footer-brand a.footer-social-btn:hover {
  border-color: #FF6F3C !important;
  color: #FFFFFF !important;
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  box-shadow: 0 4px 18px rgba(233, 83, 33, 0.45) !important;
  transform: translateY(-2px) !important;
  text-shadow: none !important;
}

.footer-social-btn svg,
.footer-social-btn .footer-social-icon,
.footer-social-btn .icon {
  width: 20px !important;
  height: 20px !important;
  fill: #E95321 !important;
  stroke: none !important;
  stroke-width: 0 !important;
  display: block !important;
  margin: auto !important;
  transition: fill 0.25s ease, transform 0.25s ease !important;
}

.footer-social-btn:hover svg,
.footer-social-btn:hover .footer-social-icon,
.footer-social-btn:hover .icon {
  fill: #FFFFFF !important;
  transform: scale(1.1) !important;
}

.footer-contact-info {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  font-size: 0.88rem;
}

.footer-contact-info li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}

.footer-contact-info .icon {
  color: var(--color-brand);
  margin-top: 2px;
}

.footer-bottom {
  border-top: 1px solid var(--color-base-border);
  padding-top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

/* =========================================================================
   14. STRONA SKLEPU (SHOP & ARCHIVE PRODUCT) - DARK PREMIUM & MOBILE-FIRST
   ========================================================================= */
.shop-hero {
  padding: 2.25rem 0 1.5rem;
  border-bottom: 1px solid var(--color-base-border);
  background: radial-gradient(circle at 50% 25%, rgba(233, 83, 33, 0.06) 0%, transparent 65%);
  text-align: center;
}

.shop-breadcrumbs {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: var(--color-text-muted);
  margin: 0 auto 0.75rem;
}

.shop-breadcrumbs a {
  color: var(--color-text-muted);
  transition: color var(--transition-fast);
}

.shop-breadcrumbs a:hover {
  color: var(--color-brand);
}

.shop-breadcrumbs .sep {
  opacity: 0.4;
}

.shop-eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-brand);
  margin: 0 auto 0.4rem;
  text-align: center;
}

.shop-title {
  font-family: var(--font-heading);
  font-size: clamp(1.65rem, 2.5vw, 2.35rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-text-primary);
  margin: 0 auto 0.65rem;
  text-align: center;
  max-width: 820px;
}

.shop-description {
  max-width: 640px;
  margin: 0 auto;
  color: var(--color-text-secondary);
  font-size: clamp(0.88rem, 1.1vw, 0.98rem);
  line-height: 1.55;
  text-align: center;
}

/* POZIOMY PASEK SZYBKICH PODKATEGORII (QUICK SUB-CATS PILLS) */
.shop-subcats-bar {
  margin-top: 1.5rem;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.shop-subcats-scroll {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  overflow-x: auto;
  padding: 0.4rem 0.2rem 0.6rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  scroll-behavior: smooth;
  flex: 1;
}

.shop-subcats-scroll.is-dragging {
  cursor: grabbing !important;
  scroll-behavior: auto !important;
  user-select: none !important;
}

.shop-subcats-scroll::-webkit-scrollbar {
  display: none;
}

/* Strzałki przewijania kategorii na PC */
.subcats-nav-btn {
  all: unset;
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #1E1E1E;
  border: 1px solid #333333;
  color: #CCCCCC;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s ease;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

@media (min-width: 768px) {
  .subcats-nav-btn {
    display: inline-flex;
  }
}

.subcats-nav-btn:hover {
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.35) !important;
  transform: scale(1.05);
}

.subcats-nav-btn svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
}

.subcat-pill,
button.subcat-pill {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  background: #1C1C1C !important;
  border: 1px solid #333333 !important;
  border-radius: 9999px !important;
  padding: 0.5rem 1.05rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  color: #DDD7CE !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  user-select: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.subcat-pill:hover,
button.subcat-pill:hover {
  background: #241D19 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 14px rgba(233, 83, 33, 0.3) !important;
  transform: translateY(-1px) !important;
}

.subcat-pill.active,
button.subcat-pill.active {
  background: linear-gradient(135deg, rgba(233, 83, 33, 0.22) 0%, rgba(200, 80, 30, 0.12) 100%), #1C1410 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  box-shadow: 0 0 16px rgba(233, 83, 33, 0.42), 0 2px 6px rgba(0, 0, 0, 0.5) !important;
}

.subcat-pill-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #A8A39D !important;
  padding: 0.15rem 0.45rem !important;
  border-radius: 9999px !important;
  line-height: 1 !important;
  transition: all var(--transition-fast) !important;
}

.subcat-pill.active .subcat-pill-count {
  background: #E95321 !important;
  color: #FFFFFF !important;
}

.subcat-pill:hover .subcat-pill-count {
  color: #FFFFFF !important;
}

/* Układ główny sklepu: Sidebar + Kolumna produktów */
.shop-main-section {
  padding: 2rem 0 4.5rem;
}

.shop-layout {
  display: flex;
  gap: 2.25rem;
  align-items: flex-start;
}

/* SIDEBAR FILTRÓW (DESKTOP STICKY) */
.shop-sidebar-filters {
  width: 270px;
  flex-shrink: 0;
  position: -webkit-sticky;
  position: sticky;
  top: calc(var(--header-h) + 1.25rem);
  background-color: var(--color-base-surface);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-lg);
  padding: 1.35rem;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--color-base-border) transparent;
}

.filters-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.15rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color-base-border);
}

.filters-heading {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0;
}

.filters-close-btn {
  display: none;
}

.filter-group {
  margin-bottom: 1.2rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid var(--color-base-border-soft);
}

.filter-group:last-of-type {
  border-bottom: none;
  margin-bottom: 0.5rem;
  padding-bottom: 0;
}

.filter-group-title {
  display: block;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
  margin-bottom: 0.65rem;
}

/* Wyszukiwarka w filtrach */
.filter-search-box {
  position: relative;
  display: flex;
  align-items: center;
}

.filter-search-box .search-ico {
  position: absolute;
  left: 0.75rem;
  width: 16px;
  height: 16px;
  stroke: var(--color-text-muted);
  fill: none;
  stroke-width: 2;
  pointer-events: none;
}

.filter-search-box input {
  width: 100%;
  background-color: var(--color-base);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-sm);
  padding: 0.6rem 2rem 0.6rem 2.2rem;
  color: var(--color-text-primary);
  font-family: var(--font-body);
  font-size: 0.86rem;
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.filter-search-box input:focus {
  border-color: var(--color-brand);
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.15);
}

.filter-search-box input::placeholder {
  color: var(--color-text-muted);
}

.search-clear-btn {
  position: absolute;
  right: 0.6rem;
  background: none;
  border: none;
  color: var(--color-text-muted);
  font-size: 0.85rem;
  cursor: pointer;
  padding: 0;
}

.search-clear-btn:hover {
  color: var(--color-brand);
}

/* Chipy filtrów */
.filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.filter-chip,
button.filter-chip {
  all: unset !important;
  box-sizing: border-box !important;
  background: #171717 !important;
  border: 1px solid #333333 !important;
  border-radius: 9999px !important;
  padding: 0.42rem 0.82rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.81rem !important;
  color: #A8A39D !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  user-select: none !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
}

.filter-chip:hover,
button.filter-chip:hover {
  border-color: #C8501E !important;
  color: #FFFFFF !important;
  background: #201A17 !important;
  box-shadow: 0 0 12px rgba(233, 83, 33, 0.25) !important;
}

.filter-chip.active,
button.filter-chip.active {
  background: #1C1512 !important;
  border: 1px solid #E95321 !important;
  color: #FFFFFF !important;
  font-weight: 500 !important;
  box-shadow: 0 0 14px rgba(233, 83, 33, 0.38) !important;
}

.filter-chip small {
  font-size: 0.7rem !important;
  color: #736E67 !important;
  transition: color var(--transition-fast) !important;
}

.filter-chip.active small {
  color: #E95321 !important;
}

.filter-chip.is-zero,
button.filter-chip.is-zero {
  opacity: 0.42 !important;
  border-color: #262626 !important;
  color: #7A756E !important;
}

.filter-chip.is-zero small {
  color: #55504A !important;
}

.btn-clear-all-filters,
button.btn-clear-all-filters {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 0.58rem 1.15rem !important;
  background: #171717 !important;
  border: 1px solid #C8501E !important;
  border-radius: 9999px !important;
  color: #F7F5F0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin-top: 0.85rem !important;
  text-align: center !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
}

.btn-clear-all-filters:hover,
button.btn-clear-all-filters:hover {
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  background: #201A17 !important;
  box-shadow: 0 0 16px rgba(233, 83, 33, 0.4) !important;
  transform: translateY(-1px) !important;
}

/* PRAWA KOLUMNA PRODUKTÓW */
.shop-products-column {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Toolbar sklepu */
.shop-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin-bottom: 1.15rem !important;
  padding-bottom: 0.85rem !important;
  border-bottom: 1px solid var(--color-base-border) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.shop-product-count {
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: var(--color-text-secondary) !important;
  letter-spacing: 0.02em !important;
}

.shop-toolbar-actions {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

/* =========================================================================
   LUXURY CAPSULE BUTTONS (ZGODNE ZE WZORCEM UŻYTKOWNIKA)
   Ciemna kapsułka (#171717), cienka miedziano-pomarańczowa ramka (#C8501E),
   biały elegancki tekst (#F7F5F0) i miękka pomarańczowa poświata na hoverze.
   ========================================================================= */
.shop-mobile-filter-btn,
button.shop-mobile-filter-btn {
  all: unset !important;
  box-sizing: border-box !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background: #171717 !important;
  border: 1px solid #C8501E !important;
  border-radius: 9999px !important;
  padding: 0.52rem 1.15rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  color: #F7F5F0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.shop-mobile-filter-btn:hover,
button.shop-mobile-filter-btn:hover {
  background: #201A17 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 16px rgba(233, 83, 33, 0.42), 0 2px 8px rgba(0, 0, 0, 0.5) !important;
  transform: translateY(-1px) !important;
}

.shop-mobile-filter-btn .icon {
  width: 16px !important;
  height: 16px !important;
  stroke: #E95321 !important;
  stroke-width: 2 !important;
  fill: none !important;
  flex-shrink: 0 !important;
}

.filter-badge {
  background-color: #E95321 !important;
  color: #FFFFFF !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* Menu sortowania */
.shop-sort-dropdown {
  position: relative !important;
}

.sort-trigger-btn,
button.sort-trigger-btn {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  background: #171717 !important;
  border: 1px solid #C8501E !important;
  border-radius: 9999px !important;
  padding: 0.52rem 1.15rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  color: #F7F5F0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.sort-trigger-btn:hover,
button.sort-trigger-btn:hover,
.shop-sort-dropdown.open .sort-trigger-btn {
  background: #201A17 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 16px rgba(233, 83, 33, 0.42), 0 2px 8px rgba(0, 0, 0, 0.5) !important;
  transform: translateY(-1px) !important;
}

.sort-trigger-btn span {
  color: #A8A39D !important;
  font-size: 0.8rem !important;
}

.sort-trigger-btn strong {
  color: #F7F5F0 !important;
  font-weight: 600 !important;
}

.sort-trigger-btn .chevron-ico {
  width: 14px !important;
  height: 14px !important;
  stroke: #E95321 !important;
  stroke-width: 2.2 !important;
  fill: none !important;
  transition: transform var(--transition-fast) !important;
}

.shop-sort-dropdown.open .chevron-ico {
  transform: rotate(180deg) !important;
}

.sort-options-menu {
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 6px) !important;
  background-color: #1A1A1A !important;
  border: 1px solid #333333 !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.85) !important;
  min-width: 180px !important;
  z-index: 100 !important;
  list-style: none !important;
  padding: 0.35rem 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-6px) !important;
  transition: opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast) !important;
}

.shop-sort-dropdown.open .sort-options-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.sort-options-menu li {
  padding: 0.6rem 1.15rem !important;
  font-size: 0.84rem !important;
  color: var(--color-text-secondary) !important;
  cursor: pointer !important;
  transition: color var(--transition-fast), background-color var(--transition-fast) !important;
}

.sort-options-menu li:hover,
.sort-options-menu li.active {
  color: #FFFFFF !important;
  background-color: rgba(233, 83, 33, 0.15) !important;
  font-weight: 500 !important;
}

/* Rząd aktywnych filtrów */
.active-filters-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-bottom: 1.15rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.active-filter-pill,
button.active-filter-pill {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.48rem !important;
  background: #171717 !important;
  border: 1px solid #C8501E !important;
  border-radius: 9999px !important;
  padding: 0.38rem 0.85rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: #F7F5F0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.active-filter-pill:hover,
button.active-filter-pill:hover {
  background: #221A16 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 14px rgba(233, 83, 33, 0.4) !important;
  transform: translateY(-1px) !important;
}

.active-filter-pill svg {
  width: 12px !important;
  height: 12px !important;
  stroke: #E95321 !important;
  stroke-width: 2.2 !important;
  fill: none !important;
  transition: transform var(--transition-fast) !important;
}

.active-filter-pill:hover svg {
  stroke: #FF7A45 !important;
  transform: rotate(90deg) !important;
}

.clear-all-pill,
button.clear-all-pill {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  background: #131313 !important;
  border: 1px dashed rgba(200, 80, 30, 0.6) !important;
  border-radius: 9999px !important;
  padding: 0.38rem 0.85rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: #A8A39D !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.clear-all-pill:hover,
button.clear-all-pill:hover {
  background: #1F1714 !important;
  border: 1px solid #E95321 !important;
  border-style: solid !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 14px rgba(233, 83, 33, 0.35) !important;
  transform: translateY(-1px) !important;
}

/* Uniwersalna klasa dla luksusowych kapsułek (Dodaj do koszyka ze wzorca) */
.btn-capsule-dark,
button.btn-capsule-dark,
#btn-clear-empty,
button#btn-clear-empty {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #171717 !important;
  border: 1px solid #C8501E !important;
  border-radius: 9999px !important;
  color: #F7F5F0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  padding: 0.6rem 1.45rem !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
}

.btn-capsule-dark:hover,
button.btn-capsule-dark:hover,
#btn-clear-empty:hover,
button#btn-clear-empty:hover {
  background: #201A17 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 16px rgba(233, 83, 33, 0.42), 0 2px 8px rgba(0, 0, 0, 0.5) !important;
  transform: translateY(-1px) !important;
}

/* =========================================================================
   SIATKA PRODUKTÓW I KARTY (PCARD - DARK LUXURY)
   ========================================================================= */
.shop-products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.pcard {
  background-color: var(--color-base-surface);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
  position: relative;
}

.pcard:hover {
  transform: translateY(-4px);
  border-color: rgba(233, 83, 33, 0.45);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.55);
}

.pcard-media {
  position: relative;
  aspect-ratio: 1 / 1;
  width: 100%;
  background-color: #141414;
  overflow: hidden;
}

.pcard-media a {
  display: block;
  width: 100%;
  height: 100%;
}

.pcard-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
}

.pcard-img.hover-img {
  position: absolute;
  inset: 0;
  opacity: 0;
}

@media (hover: hover) {
  .pcard:hover .pcard-img.main {
    opacity: 0;
  }
  .pcard:hover .pcard-img.hover-img {
    opacity: 1;
    transform: scale(1.04);
  }
}

.pcard-badges {
  position: absolute;
  top: 0.6rem;
  left: 0.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  z-index: 2;
  pointer-events: none;
}

.pcard-badge {
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.22rem 0.55rem;
  border-radius: 4px;
}

.pcard-badge.badge-sale {
  background-color: var(--color-brand);
  color: #FFFFFF;
}

.pcard-badge.badge-perso {
  background-color: rgba(20, 20, 20, 0.88);
  color: var(--color-brand);
  border: 1px solid var(--color-brand);
  backdrop-filter: blur(4px);
}

.pcard-body {
  padding: 1rem 1.15rem 1.15rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.pcard-sub {
  display: none !important;
}

.pcard-title {
  font-family: var(--font-heading);
  font-size: clamp(0.96rem, 1.12vw, 1.1rem);
  font-weight: 600;
  line-height: 1.32;
  margin-bottom: 0.45rem;
  flex-shrink: 0;
}

.pcard-title a {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
  display: block;
}

.pcard-cat-label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-brand);
  margin-bottom: 0.2rem;
  transition: color var(--transition-fast);
}

.pcard-name {
  display: block;
}

.pcard-title a:hover {
  color: var(--color-brand);
}

.pcard-title a:hover .pcard-cat-label {
  color: #FF7A45;
}

/* Widżet gwiazdek TrustMate (Hornet) na karcie produktu w siatce sklepu */
.pcard-trustmate-widget {
  min-height: 22px;
  margin-bottom: 0.45rem;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.pcard-trustmate-widget .tm-hornet-container {
  margin: 0 !important;
}

.pcard-trustmate-widget .tm-hornet-container .tm-hornet-wrapper {
  font-size: 6px !important;
  align-items: center !important;
}

.pcard-trustmate-widget .tm-hornet-container .tm-hornet-wrapper .tm-grade-label__stars {
  margin-bottom: 0 !important;
}

@media (max-width: 640px) {
  .pcard-trustmate-widget {
    min-height: 19px;
    margin-bottom: 0.35rem;
  }

  .pcard-trustmate-widget .tm-hornet-container .tm-hornet-wrapper {
    font-size: 5.4px !important;
  }
}

.pcard-notes {
  font-family: var(--font-body);
  font-size: 0.78rem;
  color: #B3ADA5;
  line-height: 1.35;
  margin-bottom: 0.85rem;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pcard-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: auto;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.pcard-price {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-text-primary);
}

.pcard-price del {
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--color-text-muted);
  text-decoration: line-through;
}

/* Okrągły przycisk szybkiego dodawania do koszyka (+) */
.pcard-add-btn,
button.pcard-add-btn {
  all: unset !important;
  box-sizing: border-box !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid var(--color-base-border) !important;
  color: var(--color-brand) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all var(--transition-fast) !important;
  flex-shrink: 0 !important;
}

.pcard-add-btn:hover,
button.pcard-add-btn:hover {
  background-color: var(--color-brand) !important;
  border-color: var(--color-brand) !important;
  color: #FFFFFF !important;
  transform: scale(1.08) !important;
  box-shadow: 0 0 14px rgba(233, 83, 33, 0.45) !important;
}

.pcard-add-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  stroke-width: 2.2 !important;
  fill: none !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Przycisk Załaduj więcej świec (Progressive loading) */
/* ==========================================================================
   PAGINACJA SKLEPU (20 PRODUKTÓW NA STRONĘ)
   ========================================================================== */
.shop-pagination {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.15rem;
  margin: 3.5rem 0 2rem;
  padding: 2rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  width: 100%;
}

.pagination-track {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.page-numbers-list {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-num-btn,
.page-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 0.85rem;
  font-family: var(--font-body, "Montserrat", sans-serif);
  font-size: 0.95rem;
  font-weight: 600;
  color: #CCCCCC;
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}

.page-num-btn:hover:not(.active):not([disabled]),
.page-nav-btn:hover:not([disabled]):not([aria-disabled="true"]) {
  background: rgba(233, 83, 33, 0.15);
  border-color: #E95321;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(233, 83, 33, 0.25);
}

.page-num-btn.active,
.page-num-btn[aria-current="page"] {
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  border-color: #FF6F3C !important;
  color: #FFFFFF !important;
  font-weight: 700;
  box-shadow: 0 4px 18px rgba(233, 83, 33, 0.45) !important;
  cursor: default;
}

.page-nav-btn {
  gap: 0.5rem;
  padding: 0 1.25rem;
}

.page-nav-btn[disabled],
.page-nav-btn[aria-disabled="true"] {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
  border-color: rgba(255, 255, 255, 0.05);
  background: #121212;
}

.page-dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 44px;
  color: #777777;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 2px;
}

.pagination-info {
  font-size: 0.85rem;
  color: #888888;
}

.pagination-info strong {
  color: #D5B88E;
}

@media (max-width: 600px) {
  .shop-pagination {
    margin: 2.5rem 0 1.5rem;
    padding-top: 1.5rem;
  }

  .pagination-track {
    gap: 0.35rem;
  }

  .page-num-btn {
    min-width: 38px;
    height: 38px;
    padding: 0 0.5rem;
    font-size: 0.88rem;
  }

  .page-nav-btn {
    height: 38px;
    padding: 0 0.85rem;
    font-size: 0.85rem;
  }

  .page-nav-btn span {
    display: none;
  }
}

/* Stan pusty */
.shop-empty-state {
  padding: 4rem 1.5rem;
  text-align: center;
  background-color: var(--color-base-surface);
  border: 1px dashed var(--color-base-border);
  border-radius: var(--radius-lg);
  margin-top: 1rem;
}

.shop-empty-state .empty-ico {
  width: 48px;
  height: 48px;
  stroke: var(--color-brand);
  fill: none;
  stroke-width: 1.5;
  margin-bottom: 1rem;
  opacity: 0.85;
}

.shop-empty-state h3 {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  color: var(--color-text-primary);
  margin-bottom: 0.5rem;
}

.shop-empty-state p {
  color: var(--color-text-secondary);
  font-size: 0.92rem;
  max-width: 420px;
  margin: 0 auto 1.5rem;
}

/* =========================================================================
   14B. SEKCJA SEO & PORADNIK EKSPERCKI (TOPICAL AUTHORITY SKLEPU)
   ========================================================================= */
.shop-seo-editorial {
  padding: 3rem 0 1rem;
}

.seo-editorial-card {
  background: linear-gradient(180deg, rgba(30, 30, 30, 0.96) 0%, rgba(22, 22, 22, 0.99) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  padding: clamp(1.75rem, 3.5vw, 3.25rem);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
  position: relative;
  overflow: hidden;
}

.seo-editorial-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10%;
  width: 450px;
  height: 220px;
  background: radial-gradient(ellipse at center, rgba(233, 83, 33, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.seo-editorial-header {
  max-width: 840px;
  margin-bottom: 2.75rem;
  position: relative;
  z-index: 1;
}

.seo-editorial-eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-brand);
  margin-bottom: 0.5rem;
}

.seo-editorial-title {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 2.6vw, 2.35rem);
  font-weight: 600;
  line-height: 1.22;
  color: var(--color-text-primary);
  margin-bottom: 0.85rem;
}

.seo-editorial-intro {
  font-size: clamp(0.94rem, 1.15vw, 1.05rem);
  line-height: 1.65;
  color: #CCC7BF;
  margin: 0;
}

/* 4 kluczowe filary jakości */
.seo-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-bottom: 3rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  z-index: 1;
}

.seo-feat-item {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--radius-md);
  padding: 1.35rem;
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.seo-feat-item:hover {
  transform: translateY(-2px);
  border-color: rgba(233, 83, 33, 0.35);
}

.seo-feat-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(233, 83, 33, 0.12);
  border: 1px solid rgba(233, 83, 33, 0.25);
  color: var(--color-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.seo-feat-icon svg {
  width: 22px;
  height: 22px;
}

.seo-feat-item h4 {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

.seo-feat-item p {
  font-size: 0.84rem;
  line-height: 1.55;
  color: #A8A39D;
  margin: 0;
}

/* Artykuły poradnikowe */
.seo-articles-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.25rem 2.5rem;
  position: relative;
  z-index: 1;
}

.seo-article h3 {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.seo-article p {
  font-size: 0.9rem;
  line-height: 1.65;
  color: #CCC7BF;
  margin-bottom: 0.85rem;
}

.seo-list,
.seo-steps {
  margin: 0.85rem 0 1rem;
  padding-left: 1.25rem;
  font-size: 0.88rem;
  line-height: 1.6;
  color: #CCC7BF;
}

.seo-list li,
.seo-steps li {
  margin-bottom: 0.55rem;
}

.seo-list li strong,
.seo-steps li strong {
  color: #FFFFFF;
}

/* Porównanie knotów */
.seo-wick-comparison {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin: 1.15rem 0;
}

.wick-box {
  background: rgba(18, 18, 18, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-sm);
  padding: 1.15rem;
}

.wick-box h4 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-brand);
  margin-bottom: 0.45rem;
}

.wick-box p {
  font-size: 0.84rem;
  line-height: 1.5;
  color: #A8A39D;
  margin-bottom: 0.75rem;
}

.seo-link {
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--color-brand);
  text-decoration: none;
  transition: color var(--transition-fast), transform var(--transition-fast);
}

.seo-link:hover {
  color: #FF7A45;
  text-decoration: underline;
  transform: translateX(2px);
}

@media (max-width: 1024px) {
  .seo-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .seo-articles-wrap {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

@media (max-width: 640px) {
  .seo-features-grid {
    grid-template-columns: 1fr;
  }
  .seo-wick-comparison {
    grid-template-columns: 1fr;
  }
}

/* Baner Quiz / Dobierz zapach */
.shop-quiz-cta {
  margin-top: 3.5rem;
  padding: 3.5rem 1.5rem;
  background: radial-gradient(circle at center, rgba(233, 83, 33, 0.08) 0%, rgba(26, 26, 26, 0.98) 70%), var(--color-base-surface);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
}

.shop-quiz-cta .cta-title {
  font-family: var(--font-heading);
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 0.75rem;
}

.shop-quiz-cta .cta-lead {
  color: var(--color-text-secondary);
  font-size: clamp(0.95rem, 1.2vw, 1.05rem);
  max-width: 580px;
  margin: 0 auto 1.75rem;
}

/* =========================================================================
   RESPONSYWNOŚĆ SKLEPU: 2 KOLUMNY NA MOBILE & SZUFLADA FILTRÓW
   ========================================================================= */
@media (max-width: 991px) {
  .shop-layout {
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .shop-products-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* Przycisk filtrów na mobile staje się widoczny */
  .shop-mobile-filter-btn {
    display: inline-flex !important;
  }

  /* Tło overlay dla wysuwanych filtrów na smartfonie */
  .filter-drawer-overlay {
    position: fixed !important;
    inset: 0 !important;
    background-color: rgba(0, 0, 0, 0.75) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 10001 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity var(--transition-smooth), visibility var(--transition-smooth) !important;
  }

  .filter-drawer-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Sidebar staje się mobilną szufladą Off-Canvas
     WAŻNE: W stanie zamkniętym usunięty box-shadow oraz dodane visibility: hidden,
     aby cień NIE rzucał ciemnego paska na lewą krawędź ekranu! */
  .shop-sidebar-filters {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(85vw, 360px) !important;
    z-index: 10002 !important;
    background-color: var(--color-base) !important;
    border: none !important;
    border-right: 1px solid var(--color-base-border) !important;
    border-radius: 0 !important;
    padding: 0 !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    transform: translateX(-100%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    box-shadow: none !important;
    transition: transform var(--transition-smooth), visibility var(--transition-smooth) !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.admin-bar .shop-sidebar-filters {
    top: 46px !important;
    height: calc(100vh - 46px) !important;
    height: calc(100dvh - 46px) !important;
  }

  .shop-sidebar-filters.active {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-shadow: 20px 0 50px rgba(0, 0, 0, 0.85) !important;
  }

  .filters-header {
    padding: 0.9rem 1.25rem !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid var(--color-base-border) !important;
    background-color: var(--color-base-surface) !important;
    min-height: 56px !important;
  }

  .filters-close-btn {
    all: unset !important;
    box-sizing: border-box !important;
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--color-text-secondary) !important;
    border-radius: var(--radius-sm) !important;
    cursor: pointer !important;
    transition: color var(--transition-fast), background-color var(--transition-fast) !important;
  }

  .filters-close-btn:hover {
    color: var(--color-brand) !important;
    background-color: rgba(233, 83, 33, 0.1) !important;
  }

  .filters-close-btn svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    fill: none !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  .filters-body {
    padding: 1.25rem !important;
    overflow-y: auto !important;
    flex: 1 !important;
  }

  .shop-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 600px) {
  /* Toolbar na telefonach: 2 rzędy — licznik u góry, 2 równe kapsułki na pełną szerokość na dole */
  .shop-toolbar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.65rem !important;
    width: 100% !important;
    padding-bottom: 0.75rem !important;
    box-sizing: border-box !important;
  }

  .shop-count-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  .shop-product-count {
    font-size: 0.84rem !important;
    color: var(--color-text-secondary) !important;
  }

  .shop-toolbar-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.55rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .shop-mobile-filter-btn,
  button.shop-mobile-filter-btn,
  .shop-sort-dropdown,
  .sort-trigger-btn,
  button.sort-trigger-btn {
    width: 100% !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    padding: 0.48rem 0.75rem !important;
    font-size: 0.82rem !important;
  }

  .sort-options-menu {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
  }

  /* Rząd aktywnych filtrów — zawijany i responsywny */
  .active-filters-bar {
    gap: 0.4rem !important;
    margin-bottom: 1rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .active-filter-pill,
  button.active-filter-pill,
  .clear-all-pill,
  button.clear-all-pill {
    padding: 0.35rem 0.75rem !important;
    font-size: 0.76rem !important;
  }

  /* Siatka produktów: dokładnie 2 kolumny mieszczące się w 100% szerokości bez ucinania krawędzi */
  .shop-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .pcard {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .pcard-body {
    padding: 0.75rem 0.75rem 0.85rem !important;
    box-sizing: border-box !important;
  }

  .pcard-sub {
    font-size: 0.64rem !important;
    margin-bottom: 0.25rem !important;
  }

  .pcard-title {
    font-size: 0.98rem !important;
    margin-bottom: 0.35rem !important;
  }

  .pcard-notes {
    font-size: 0.72rem !important;
    margin-bottom: 0.65rem !important;
    -webkit-line-clamp: 2 !important;
  }

  .pcard-price {
    font-size: 0.95rem !important;
  }

  .pcard-price del {
    font-size: 0.76rem !important;
  }

  .pcard-add-btn,
  button.pcard-add-btn {
    width: 34px !important;
    height: 34px !important;
  }

  .pcard-add-btn svg {
    width: 16px !important;
    height: 16px !important;
  }
}

/* =========================================================================
   15. STRONA DOBIERZ ŚWIECĘ (QUIZ REKOMENDACJI) - DARK LUXURY
   ========================================================================= */
.quiz-hero {
  padding: 3rem 0 2.25rem;
  border-bottom: 1px solid var(--color-base-border);
  background: radial-gradient(circle at 10% 20%, rgba(233, 83, 33, 0.08) 0%, transparent 60%),
              linear-gradient(180deg, #1A1A1A 0%, #151515 100%);
  position: relative;
  overflow: hidden;
}

.quiz-hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 450px;
  height: 100%;
  background: radial-gradient(circle at 80% 30%, rgba(233, 83, 33, 0.06) 0%, transparent 70%);
  pointer-events: none;
}

.quiz-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: var(--color-text-muted);
  margin-bottom: 0.75rem;
}

.quiz-breadcrumbs a {
  color: var(--color-text-muted);
  transition: color var(--transition-fast);
}

.quiz-breadcrumbs a:hover {
  color: var(--color-brand);
}

.quiz-breadcrumbs .sep {
  opacity: 0.4;
}

.quiz-eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-brand);
  margin-bottom: 0.35rem;
}

.quiz-title {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  font-weight: 600;
  line-height: 1.18;
  color: var(--color-text-primary);
  margin-bottom: 0.65rem;
}

.quiz-description {
  max-width: 680px;
  color: var(--color-text-secondary);
  font-size: clamp(0.92rem, 1.2vw, 1.05rem);
  line-height: 1.55;
  margin: 0;
}

/* Układ główny Quizu */
.quiz-main-section {
  padding: 2.5rem 0 5rem;
  background-color: var(--color-base);
}

.quiz-layout {
  display: grid;
  grid-template-columns: minmax(0, 440px) 1fr;
  gap: clamp(1.8rem, 3.5vw, 3.2rem);
  align-items: start;
  width: 100%;
  box-sizing: border-box;
}

/* LEWA KOLUMNA: KROKI */
.q-steps {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: -webkit-sticky;
  position: sticky;
  top: calc(var(--header-h) + 1.25rem);
}

.q-step {
  background: var(--color-base-surface);
  border: 1px solid var(--color-base-border);
  border-radius: var(--radius-lg);
  padding: 1.35rem 1.4rem;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
  box-sizing: border-box;
}

.q-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.q-n {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #171717;
  border: 1px solid #E95321;
  color: #E95321;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 700;
  flex-shrink: 0;
  box-shadow: 0 0 10px rgba(233, 83, 33, 0.25);
}

.q-head h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.22rem;
  font-weight: 600;
  color: var(--color-text-primary);
  line-height: 1.2;
}

.q-opts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.55rem;
}

.q-opts-compact {
  grid-template-columns: repeat(2, 1fr);
}

/* Karta / chip opcji quizu */
.pick-chip,
button.pick-chip {
  all: unset !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0.2rem !important;
  text-align: left !important;
  padding: 0.65rem 0.95rem !important;
  border: 1px solid var(--color-base-border) !important;
  border-radius: var(--radius-md) !important;
  background: #1B1B1B !important;
  cursor: pointer !important;
  min-height: 52px !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  user-select: none !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25) !important;
}

.pick-chip:hover,
button.pick-chip:hover {
  border-color: #C8501E !important;
  background: #221A16 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 0 12px rgba(233, 83, 33, 0.28) !important;
}

.pick-chip[aria-pressed="true"],
button.pick-chip[aria-pressed="true"] {
  background: #251B16 !important;
  border: 1px solid #E95321 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 16px rgba(233, 83, 33, 0.42), 0 2px 8px rgba(0, 0, 0, 0.5) !important;
}

.pick-chip b {
  font-family: var(--font-body) !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  color: var(--color-text-primary) !important;
  line-height: 1.25 !important;
}

.pick-chip[aria-pressed="true"] b {
  color: #FFFFFF !important;
}

.pick-chip small {
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  color: var(--color-text-muted) !important;
  line-height: 1.25 !important;
  transition: color var(--transition-fast) !important;
}

.pick-chip[aria-pressed="true"] small {
  color: #E95321 !important;
}

.quiz-reset-row {
  margin-top: 0.25rem;
}

.btn-quiz-reset,
button.btn-quiz-reset {
  width: 100% !important;
}

.icon-refresh {
  width: 15px !important;
  height: 15px !important;
  stroke: #E95321 !important;
  stroke-width: 2.2 !important;
  fill: none !important;
}

/* PRAWA KOLUMNA: WYNIKI */
.q-results {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.q-res-head {
  margin-bottom: 1.35rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--color-base-border);
}

.quiz-note {
  font-size: 0.95rem;
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.45;
}

.quiz-products-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
}

/* Tag dopasowania do kryteriów */
.quiz-match-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.24rem 0.65rem;
  border-radius: 9999px;
  margin-bottom: 0.5rem;
  width: fit-content;
}

.quiz-match-tag.match-perfect {
  background: rgba(233, 83, 33, 0.18);
  border: 1px solid #E95321;
  color: #FFFFFF;
  box-shadow: 0 0 10px rgba(233, 83, 33, 0.3);
}

.quiz-match-tag.match-perfect svg {
  width: 13px;
  height: 13px;
  fill: #E95321;
}

.quiz-match-tag.match-partial {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--color-brand);
}

.quiz-more-wrap {
  margin-top: 2rem;
  text-align: center;
}

.quiz-more-btn {
  gap: 0.6rem !important;
}

.quiz-more-btn .icon {
  width: 16px !important;
  height: 16px !important;
  stroke: #E95321 !important;
  stroke-width: 2.2 !important;
  fill: none !important;
  transition: transform var(--transition-fast) !important;
}

.quiz-more-btn:hover .icon {
  transform: translateX(4px) !important;
}

/* Responsywność Quizu */
@media (max-width: 900px) {
  .quiz-layout {
    grid-template-columns: 1fr !important;
    gap: 2.25rem !important;
  }

  .q-steps {
    position: static !important;
  }

  .quiz-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
  }
}

@media (max-width: 480px) {
  .q-opts {
    grid-template-columns: 1fr !important;
  }

  .pick-chip,
  button.pick-chip {
    padding: 0.6rem 0.85rem !important;
    min-height: 46px !important;
  }
}

/* ==========================================================================
   16. STRONA POJEDYNCZEGO PRODUKTU (PDP) — DARK LUXURY
   ========================================================================== */

.pdp-page {
  padding-bottom: 2rem;
}

/* Breadcrumbs (Okruszki) */
.pdp-breadcrumbs-nav {
  padding: 1.5rem 0 1.25rem;
}

.crumbs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-body);
  font-size: 0.82rem;
  color: var(--color-text-muted);
}

.crumbs li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.crumbs li + li::before {
  content: "/";
  color: #4A4A4A;
  font-size: 0.75rem;
}

.crumbs a {
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.crumbs a:hover {
  color: var(--color-brand);
}

.crumbs li[aria-current="page"] {
  color: var(--color-text-primary);
  font-weight: 500;
}

/* Główny układ PDP: 2 Kolumny — Elegancki, zrównoważony podział */
.pdp {
  display: grid;
  grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
  gap: 3.5rem;
  align-items: start;
  margin-bottom: 4rem;
}

/* LEWA KOLUMNA: Galeria zdjęć (Zero przycinania kadrów, pełna ekspozycja) */
.gallery {
  position: sticky;
  top: 90px;
  width: 100%;
  max-width: 480px;
}

.gallery .main {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.5);
  width: 100%;
  max-width: 480px;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery .main img,
#pdp-main-img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
  cursor: zoom-in;
  background: #141414;
  transition: opacity 0.25s ease;
}

.gallery .main:hover img {
  transform: none;
}

/* Strzałki nawigacji na głównym zdjęciu galerii */
.gallery-nav-btn,
button.gallery-nav-btn {
  all: unset !important;
  box-sizing: border-box !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(18, 18, 18, 0.78) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #FFFFFF !important;
  cursor: pointer !important;
  z-index: 3 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
  transition: all 0.2s ease !important;
}

.gallery-prev-btn,
button.gallery-prev-btn {
  left: 0.75rem !important;
}

.gallery-next-btn,
button.gallery-next-btn {
  right: 0.75rem !important;
}

.gallery-nav-btn:hover,
button.gallery-nav-btn:hover {
  background: #E95321 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  transform: translateY(-50%) scale(1.06) !important;
}

.gallery-nav-btn svg.ico {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
}

/* Licznik zdjęć w rogu galerii */
.gallery-counter-badge {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  padding: 0.25rem 0.65rem;
  border-radius: 9999px;
  background: rgba(18, 18, 18, 0.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #EAE6DF;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  z-index: 2;
  pointer-events: none;
}

.gallery-zoom-trigger,
button.gallery-zoom-trigger {
  all: unset !important;
  box-sizing: border-box !important;
  position: absolute !important;
  right: 0.85rem !important;
  bottom: 0.85rem !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(22, 22, 22, 0.8) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #FFFFFF !important;
  cursor: pointer !important;
  z-index: 2 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
}

.gallery-zoom-trigger:hover,
button.gallery-zoom-trigger:hover {
  background: #E95321 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  transform: scale(1.08) !important;
}

.gallery-zoom-trigger svg.ico {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}

/* Pasek miniatur z bezpiecznym paddingiem, aby obramowanie i cień nigdy nie były przycięte */
.gallery .thumbs {
  display: flex;
  gap: 0.75rem;
  margin: 0.85rem -4px 0;
  padding: 6px 4px 10px 4px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.gallery .thumbs .thumb-btn {
  all: unset;
  box-sizing: border-box;
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid #2A2A2A;
  background: #141414;
  cursor: pointer;
  transition: all 0.22s ease;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery .thumbs .thumb-btn img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
  background: #141414;
}

.gallery .thumbs .thumb-btn:hover {
  border-color: #C8501E;
}

.gallery .thumbs .thumb-btn.active {
  border-color: #E95321;
  box-shadow: 0 0 12px rgba(233, 83, 33, 0.42);
  transform: translateY(-2px);
}

/* PRAWA KOLUMNA: Informacje o produkcie (Dark Luxury UX) */
.pinfo {
  display: flex;
  flex-direction: column;
}

.pdp-meta-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
}

.pinfo .sub {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: 0.74rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #FF7847;
  background: rgba(233, 83, 33, 0.12);
  border: 1px solid rgba(233, 83, 33, 0.28);
  padding: 0.28rem 0.75rem;
  border-radius: 9999px;
  margin: 0;
}

.pdp-rating-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-body);
  font-size: 0.78rem;
  color: #C4BFB6;
}

.pdp-rating-badge .stars {
  color: #F59E0B;
  letter-spacing: 1px;
  font-size: 0.82rem;
}

.pinfo h1.pdp-title {
  font-family: var(--font-display);
  font-size: clamp(1.95rem, 3.1vw, 2.65rem);
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1.16;
  margin: 0 0 0.9rem;
  letter-spacing: -0.01em;
}

/* =========================================================================
   CENA PRODUKTU (PDP PRICE ROW)
   ========================================================================= */
.pinfo .price-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  margin-bottom: 0.55rem !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  flex-wrap: wrap !important;
}

/* Widżet gwiazdek i opinii produktowych TrustMate pod ceną */
.pdp-trustmate-widget {
  margin-bottom: 1.1rem;
  padding-bottom: 0.95rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.pdp-trustmate-widget .tm-hornet-container {
  margin-top: 0.15rem;
}

.pinfo .price,
.pinfo span.price,
.pdp-main-price,
.price.pdp-main-price,
#pdp-current-price,
body.single-product .pinfo .price,
body.single-product .pdp-main-price,
body.single-product div.product .pinfo span.price,
body.single-product div.product .price-row .price,
body.woocommerce-page div.product .pinfo span.price,
.woocommerce div.product .pinfo span.price,
.woocommerce div.product .pinfo p.price {
  font-family: var(--font-heading), var(--font-display), 'Playfair Display', serif !important;
  font-size: 2.05rem !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0.65rem !important;
  letter-spacing: -0.01em !important;
}

/* W przypadku produktów z wariantami i kwot wstrzykniętych przez WooCommerce */
.pinfo .price .woocommerce-Price-amount,
.pinfo .price bdi,
.pinfo .price span,
#pdp-current-price .woocommerce-Price-amount,
#pdp-current-price bdi {
  color: #FFFFFF !important;
  font-family: inherit !important;
}

/* Cena przekreślona przy promocji */
.pinfo .price del,
.pinfo .reg-price,
body.single-product .pinfo del,
#pdp-current-price del {
  font-size: 1.15rem !important;
  color: #8C877D !important;
  text-decoration: line-through !important;
  font-weight: 400 !important;
  margin-left: 0.35rem !important;
  opacity: 0.85 !important;
}

/* Nowa cena w promocji (ins) */
.pinfo .price ins,
#pdp-current-price ins,
#pdp-current-price ins .woocommerce-Price-amount {
  text-decoration: none !important;
  color: #E95321 !important;
  font-weight: 600 !important;
  background: transparent !important;
}

.pinfo .price-vat {
  font-family: var(--font-body) !important;
  font-size: 0.82rem !important;
  color: #9C978F !important;
}

.stock-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  padding: 0.26rem 0.72rem;
  border-radius: 9999px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 500;
  margin-left: auto;
}

.stock-status-pill.in-stock {
  background: rgba(74, 222, 128, 0.1);
  border: 1px solid rgba(74, 222, 128, 0.25);
}

.stock-status-pill.out-of-stock {
  background: rgba(248, 113, 113, 0.1);
  border: 1px solid rgba(248, 113, 113, 0.25);
}

.stock-status-pill .stock-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4ADE80;
  box-shadow: 0 0 8px rgba(74, 222, 128, 0.8);
}

.stock-status-pill.out-of-stock .stock-dot {
  background: #F87171;
  box-shadow: 0 0 8px rgba(248, 113, 113, 0.8);
}

.pinfo .stock-status.in-stock {
  color: #4ADE80 !important;
  font-weight: 600 !important;
}

.pinfo .stock-status.out-of-stock {
  color: #F87171 !important;
  font-weight: 600 !important;
}

.pinfo .lead {
  font-size: 0.96rem;
  line-height: 1.7;
  color: #D8D3CC;
  margin: 0 0 1.35rem;
}

/* Siatka 2x2 kluczowych parametrów (Bento Specs Grid) */
.specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 1.35rem;
}

.spec {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.68rem 0.9rem;
  background: linear-gradient(145deg, #1F1F1F 0%, #171717 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  font-family: var(--font-body);
  color: #F0EDE6;
  user-select: none;
  transition: border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}

.spec:hover {
  border-color: rgba(233, 83, 33, 0.45);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}

.spec-ico-wrap {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(233, 83, 33, 0.12);
  border: 1px solid rgba(233, 83, 33, 0.24);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.spec svg.ico {
  width: 17px;
  height: 17px;
  stroke: #E95321;
  fill: none;
  stroke-width: 1.8;
  flex-shrink: 0;
}

.spec-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.22;
}

.spec-label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #9A948C;
  font-weight: 600;
  margin-bottom: 0.15rem;
}

.spec-val {
  font-size: 0.88rem;
  font-weight: 600;
  color: #FFFFFF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Ramka nut zapachowych (W zapachu) */
.notes-box {
  background: linear-gradient(145deg, #1E1A18 0%, #161616 100%);
  border: 1px solid rgba(233, 83, 33, 0.22);
  border-radius: 14px;
  padding: 1.05rem 1.2rem;
  margin-bottom: 1.35rem;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
}

.notes-box-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.notes-box h4 {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-body);
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #EAE5DF;
  margin: 0;
}

.notes-flame-ico {
  width: 15px;
  height: 15px;
  fill: #E95321;
  flex-shrink: 0;
}

.notes-pyramid-jump {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #FF7847;
  background: rgba(233, 83, 33, 0.12);
  border: 1px solid rgba(233, 83, 33, 0.28);
  padding: 0.25rem 0.65rem;
  border-radius: 9999px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.notes-pyramid-jump:hover {
  background: #E95321;
  border-color: #E95321;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.notes-pyramid-jump svg.ico {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  flex-shrink: 0;
}

.notes-box .nl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.notes-box .nl span {
  display: inline-block;
  padding: 0.38rem 0.88rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 9999px;
  font-family: var(--font-body);
  font-size: 0.82rem;
  color: #FFFFFF;
  font-weight: 500;
  transition: border-color var(--transition-fast), background var(--transition-fast);
}

.notes-box .nl span:hover {
  border-color: #E95321;
  background: rgba(233, 83, 33, 0.12);
}

.pdp-acc-jump {
  margin-top: 1.15rem;
  padding-top: 0.85rem;
  border-top: 1px dashed #2B2B2B;
}

.pdp-acc-jump .btn-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-body);
  font-size: 0.84rem;
  font-weight: 600;
  color: #E95321;
  text-decoration: none;
  transition: all 0.2s ease;
}

.pdp-acc-jump .btn-text-link:hover {
  color: #FFFFFF;
  text-shadow: 0 0 10px rgba(233, 83, 33, 0.4);
  transform: translateX(2px);
}

/* Tagi kolekcji i okazji */
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1.45rem;
}

.tags .chip {
  display: inline-block;
  padding: 0.35rem 0.85rem;
  background: #1C1C1C;
  border: 1px solid #2E2E2E;
  border-radius: 9999px;
  font-family: var(--font-body);
  font-size: 0.8rem;
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: all var(--transition-fast);
  font-weight: 500;
}

.tags .chip:hover {
  border-color: #C8501E;
  color: #FFFFFF;
  background: #242424;
  box-shadow: 0 0 10px rgba(233, 83, 33, 0.25);
}

/* Przełącznik formatów (Ten zapach w innych formatach) */
.variants {
  margin-bottom: 1.5rem;
}

.variants h4 {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-secondary);
  margin: 0 0 0.65rem;
}

.variants .opts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.variants .cur {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.65rem 1.05rem;
  border-radius: 10px;
  background: #251B16;
  border: 1px solid #E95321;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 0.86rem;
  font-weight: 600;
  box-shadow: 0 0 14px rgba(233, 83, 33, 0.35);
  user-select: none;
}

.variants .cur small {
  font-size: 0.75rem;
  color: #E95321;
  font-weight: 500;
}

.variants a.other-opt {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.65rem 1.05rem;
  border-radius: 10px;
  background: #1C1C1C;
  border: 1px solid #2E2E2E;
  color: var(--color-text-primary);
  text-decoration: none;
  font-family: var(--font-body);
  font-size: 0.86rem;
  font-weight: 500;
  transition: all 0.22s ease;
}

.variants a.other-opt:hover {
  border-color: #C8501E;
  background: #221A16;
  color: #FFFFFF;
  box-shadow: 0 0 12px rgba(233, 83, 33, 0.25);
  transform: translateY(-1px);
}

.variants a.other-opt small {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}

/* =========================================================================
   MODUŁ DODATKU PRÓBKI ZAPACHOWEJ (4x PRÓBKA ZAPACHOWA TEALIGHT — ORDER BUMP)
   ========================================================================= */
.pdp-sample-addon {
  background: linear-gradient(145deg, #1E1E1E 0%, #151515 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 0.9rem 1.1rem;
  margin-bottom: 1.05rem;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.pdp-sample-addon:hover {
  border-color: rgba(233, 83, 33, 0.5);
}

.pdp-sample-addon.is-checked {
  border-color: #E95321;
  background: linear-gradient(145deg, #231915 0%, #161311 100%);
  box-shadow: 0 8px 26px rgba(233, 83, 33, 0.2);
}

.sample-addon-header {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  cursor: pointer;
  user-select: none;
  margin: 0;
}

.sample-addon-check-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sample-addon-checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.sample-addon-checkmark {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: #FFFFFF;
  border: 2px solid #D4D0C8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

.sample-addon-checkmark svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  transform: scale(0.6);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.sample-addon-checkbox:checked + .sample-addon-checkmark,
.pdp-sample-addon.is-checked .sample-addon-checkmark {
  background: #E95321;
  border-color: #E95321;
  color: #FFFFFF;
  box-shadow: 0 0 12px rgba(233, 83, 33, 0.55);
}

.sample-addon-checkbox:checked + .sample-addon-checkmark svg,
.pdp-sample-addon.is-checked .sample-addon-checkmark svg {
  transform: scale(1);
}

.sample-addon-thumb {
  width: 58px;
  height: 58px;
  border-radius: 10px;
  overflow: hidden;
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
}

.sample-addon-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block;
}

.sample-addon-title-wrap {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.sample-addon-eyebrow {
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #FF7847;
  line-height: 1.2;
}

.sample-addon-title {
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.28;
}

.sample-addon-price {
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 600;
  color: #FFFFFF;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Rozwijana sekcja szczegółów próbki po zaznaczeniu */
.sample-addon-details {
  display: none;
  margin-top: 0.9rem;
  padding-top: 0.9rem;
  border-top: 1px dashed rgba(255, 255, 255, 0.14);
}

.pdp-sample-addon.is-checked .sample-addon-details {
  display: block;
  animation: sampleAddonSlideDown 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes sampleAddonSlideDown {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sample-addon-details-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.75rem;
}

.sample-addon-qty-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
}

.sample-addon-stepper {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.sample-qty-btn,
button.sample-qty-btn {
  all: unset !important;
  box-sizing: border-box !important;
  width: 38px !important;
  height: 36px !important;
  border-radius: 6px !important;
  background: #1A1A1A !important;
  border: 1px solid #3A3A3A !important;
  color: #FFFFFF !important;
  font-family: var(--font-body) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.sample-qty-btn:hover,
button.sample-qty-btn:hover {
  border-color: #E95321 !important;
  color: #E95321 !important;
  background: #241B17 !important;
}

.sample-qty-input,
input.sample-qty-input {
  width: 52px !important;
  height: 30px !important;
  border-radius: 9999px !important;
  background: #121212 !important;
  border: 1px solid #3A3A3A !important;
  color: #FFFFFF !important;
  font-family: var(--font-body) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  outline: none !important;
  -moz-appearance: textfield !important;
}

.sample-qty-input::-webkit-outer-spin-button,
.sample-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.sample-addon-note {
  font-family: var(--font-body);
  font-size: 0.8rem;
  color: #B5B0A8;
  margin: 0;
}

.sample-addon-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding-top: 0.25rem;
}

.sample-summary-line {
  font-family: var(--font-body);
  font-size: 0.98rem;
  color: #EAE6DF;
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
}

.sample-summary-line strong {
  color: #FFFFFF;
  font-weight: 700;
}

.sample-summary-total {
  font-size: 1.05rem;
}

.sample-summary-total strong {
  color: #FF7847;
}

/* Rząd zakupu: Stepper ilości + Przycisk */
.buy {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.15rem;
}

.qty {
  display: inline-flex;
  align-items: center;
  background: #181818;
  border: 1px solid #333333;
  border-radius: 12px;
  padding: 0.2rem 0.35rem;
  height: 52px;
  box-sizing: border-box;
}

.qty button {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: #E95321;
  cursor: pointer;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.qty button:hover {
  background: #262626;
  color: #FF7847;
}

.qty button svg.ico {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
}

.qty input {
  width: 44px;
  text-align: center;
  background: #121212;
  border: none;
  height: 100%;
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 600;
  font-family: var(--font-body);
  outline: none;
  -moz-appearance: textfield;
}

.qty input::-webkit-outer-spin-button,
.qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Przycisk Dodaj do koszyka — Ciepły, konwersyjny kapsułowy przycisk brandowy */
.btn-pdp-add,
button.btn-pdp-add {
  all: unset !important;
  box-sizing: border-box !important;
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  height: 52px !important;
  padding: 0 1.5rem !important;
  background: linear-gradient(135deg, #E95321 0%, #F36B3C 100%) !important;
  border: 1px solid #FF7E52 !important;
  border-radius: 9999px !important;
  color: #FFFFFF !important;
  font-family: var(--font-body) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 6px 22px rgba(233, 83, 33, 0.45) !important;
  user-select: none !important;
  text-align: center !important;
}

.btn-pdp-add:hover,
button.btn-pdp-add:hover {
  background: linear-gradient(135deg, #F25F2C 0%, #FF7A4D 100%) !important;
  border-color: #FF8E66 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 28px rgba(233, 83, 33, 0.65), 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

.btn-pdp-add:active,
button.btn-pdp-add:active {
  transform: translateY(0) scale(0.98) !important;
}

.btn-pdp-add:disabled,
button.btn-pdp-add:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  border-color: #333333 !important;
}

.btn-pdp-add svg.ico {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2 !important;
}

/* Produkty z wariantami (Variable Products, Swatches & Add to Cart) */
.pdp-variable-form-wrap {
  margin-bottom: 1.75rem;
}

.pdp-variable-form-wrap form.variations_form {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.pdp-variable-form-wrap table.variations {
  width: 100%;
  border-collapse: collapse;
  border: none;
  margin: 0;
}

.pdp-variable-form-wrap table.variations tr {
  border: none !important;
}

.pdp-variable-form-wrap table.variations td {
  border: none !important;
  padding: 0.45rem 0 !important;
  vertical-align: middle;
}

.pdp-variable-form-wrap table.variations td.label {
  padding-right: 1.25rem !important;
  width: auto;
  min-width: 85px;
}

.pdp-variable-form-wrap table.variations td.label label {
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #B5B0A8;
}

.pdp-variable-form-wrap table.variations td.value {
  width: 100%;
}

.pdp-variable-form-wrap select {
  width: 100%;
  max-width: 320px;
  background: #1C1C1C;
  border: 1px solid #2E2E2E;
  border-radius: var(--radius-sm);
  padding: 0.75rem 1rem;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 0.9rem;
  outline: none;
  transition: border-color var(--transition-fast);
  cursor: pointer;
}

.pdp-variable-form-wrap select:focus {
  border-color: #E95321;
}

.pdp-variable-form-wrap select option {
  background: #1A1A1A;
  color: #FFFFFF;
}

.pdp-variable-form-wrap a.reset_variations {
  display: inline-block;
  font-size: 0.75rem;
  color: #8C877D;
  margin-top: 0.4rem;
  text-decoration: underline;
  transition: color var(--transition-fast);
}

.pdp-variable-form-wrap a.reset_variations:hover {
  color: #E95321;
}

/* Kompatybilność z wtyczką Variation Swatches (cfvsw) */
.cfvsw-swatches-container .cfvsw-swatches-option {
  background: #1C1C1C !important;
  border: 1px solid #2E2E2E !important;
  color: #E0E0E0 !important;
  border-radius: var(--radius-sm) !important;
  transition: all 0.2s ease !important;
}

.cfvsw-swatches-container .cfvsw-swatches-option:hover {
  border-color: #E95321 !important;
  color: #FFFFFF !important;
}

.cfvsw-swatches-container .cfvsw-selected-swatch {
  border-color: #E95321 !important;
  background: #251B16 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 12px rgba(233, 83, 33, 0.35) !important;
}

/* Sekcja wybranego wariantu (cena dynamiczna + przycisk) */
.single_variation_wrap {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  margin-top: 0.5rem;
}

.woocommerce-variation-price .price {
  font-family: var(--font-heading);
  font-size: 1.65rem;
  font-weight: 600;
  color: #FFFFFF;
}

.woocommerce-variation-price .price del {
  color: #7A756D;
  font-size: 1.15rem;
  margin-left: 0.45rem;
}

.woocommerce-variation-price .price ins {
  text-decoration: none;
  color: #E95321;
}

.woocommerce-variation-availability {
  font-size: 0.85rem;
  color: #22C55E;
}

.woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
}

.woocommerce-variation-add-to-cart .quantity input.qty,
.pdp-variable-form-wrap .quantity input.qty {
  width: 60px !important;
  height: 50px !important;
  background: #181818 !important;
  border: 1px solid #2E2E2E !important;
  border-radius: 9999px !important;
  color: #FFFFFF !important;
  text-align: center !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  outline: none !important;
}

.single_add_to_cart_button.button,
button.single_add_to_cart_button {
  all: unset !important;
  box-sizing: border-box !important;
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  height: 52px !important;
  padding: 0 1.75rem !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #E95321 0%, #F36B3C 100%) !important;
  border: 1px solid #FF7E52 !important;
  color: #FFFFFF !important;
  font-family: var(--font-body) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 6px 22px rgba(233, 83, 33, 0.45) !important;
}

.single_add_to_cart_button.button:hover,
button.single_add_to_cart_button:hover {
  background: linear-gradient(135deg, #F25F2C 0%, #FF7A4D 100%) !important;
  border-color: #FF8E66 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 28px rgba(233, 83, 33, 0.65), 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

.single_add_to_cart_button.disabled,
button.single_add_to_cart_button.disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  border-color: #333333 !important;
}

/* Rząd gwarancji i bezpieczeństwa (Assurances) */
.assure {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.85rem;
  padding: 1rem 0;
  margin-bottom: 1.35rem;
  border-top: 1px solid #262626;
  border-bottom: 1px solid #262626;
}

.assure-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-body);
  font-size: 0.82rem;
  color: #B5B0A8;
  line-height: 1.35;
}

.assure-item svg.ico {
  width: 20px;
  height: 20px;
  stroke: #E95321;
  fill: none;
  stroke-width: 1.8;
  flex-shrink: 0;
}

/* Akordeony (Accordions) */
.acc {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}

.acc-item {
  border-bottom: 1px solid #262626;
}

.acc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.05rem 0;
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 600;
  color: #F7F5F0;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: color var(--transition-fast);
}

.acc-header::-webkit-details-marker {
  display: none;
}

.acc-header:hover {
  color: #E95321;
}

.acc-arrow {
  width: 16px;
  height: 16px;
  stroke: #E95321;
  stroke-width: 2.2;
  fill: none;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.acc-item[open] .acc-arrow {
  transform: rotate(45deg);
}

.acc-content {
  padding: 0 0 1.35rem;
  font-family: var(--font-body);
  font-size: 0.92rem;
  line-height: 1.68;
  color: #C2BCB3;
}

/* Ograniczenie i normalizacja nagłówków w opisie produktu */
body.single-product .acc-content h1,
body.single-product .acc-content h2,
body.single-product .pdp .acc-content h1,
body.single-product .pdp .acc-content h2,
body.single-product .acc .acc-content h1,
body.single-product .acc .acc-content h2,
.pdp .acc-content h1,
.pdp .acc-content h2,
.acc-content h1,
.acc-content h2,
.acc-content [class*="heading"] {
  font-family: var(--font-heading) !important;
  font-size: 1.25rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 1.15rem 0 0.65rem !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.single-product .acc-content h3,
body.single-product .acc-content h4,
body.single-product .acc-content h5,
body.single-product .acc-content h6,
.pdp .acc-content h3,
.pdp .acc-content h4,
.acc-content h3,
.acc-content h4,
.acc-content h5,
.acc-content h6 {
  font-family: var(--font-body) !important;
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 1rem 0 0.5rem !important;
  text-transform: none !important;
}

body.single-product .acc-content p,
.pdp .acc-content p,
.acc-content p {
  font-family: var(--font-body) !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
  color: #C2BCB3 !important;
  margin: 0 0 0.85rem !important;
}

.acc-content ul,
.acc-content ol {
  padding-left: 1.35rem;
  margin: 0 0 0.95rem;
}

.acc-content li {
  margin-bottom: 0.45rem;
}

.acc-content b,
.acc-content strong {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

/* =========================================================================
   SEKCJA ZAKŁADEK NA PEŁNĄ SZEROKOŚĆ (DARK LUXURY PDP TABS)
   ========================================================================= */
.pdp-tabs-section {
  background: linear-gradient(180deg, #161616 0%, #111111 100%);
  border-top: 1px solid #262626;
  border-bottom: 1px solid #262626;
  padding: 5rem 0 5.5rem;
  margin-top: 3.5rem;
  position: relative;
}

/* =========================================================================
   PASEK ZAKŁADEK (TABS NAVIGATION - LUXURY HOMEPAGE CAPSULE CHIPS)
   Wzorowane na estetyce pigułek z katalogu/strony głównej (.subcat-pill)
   ========================================================================= */
.pdp-tabs-nav-wrap {
  margin-bottom: 2.75rem !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  padding: 0.25rem 0.5rem 0.65rem !important;
  border-bottom: none !important;
}

.pdp-tabs-nav-wrap::-webkit-scrollbar {
  display: none !important;
}

.pdp-tabs-nav {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.65rem !important;
  min-width: max-content !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

/* Przyciski zakładek w stylu pigułek ze strony głównej */
.pdp-tab-btn,
button.pdp-tab-btn,
body.single-product .pdp-tabs-nav button.pdp-tab-btn,
body.woocommerce-page .pdp-tabs-nav button.pdp-tab-btn {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background: #1C1C1C !important;
  border: 1px solid #333333 !important;
  border-radius: 9999px !important;
  padding: 0.52rem 1.15rem !important;
  height: auto !important;
  min-height: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #DDD7CE !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  user-select: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

.pdp-tab-btn svg.tab-ico,
button.pdp-tab-btn svg.tab-ico,
body.single-product .pdp-tabs-nav button.pdp-tab-btn svg.tab-ico {
  width: 15px !important;
  height: 15px !important;
  stroke: #E95321 !important;
  stroke-width: 1.8 !important;
  fill: none !important;
  transition: transform 0.22s ease, stroke 0.22s ease !important;
  flex-shrink: 0 !important;
}

/* Hover na nieaktywnym przycisku */
.pdp-tab-btn:hover,
button.pdp-tab-btn:hover,
body.single-product .pdp-tabs-nav button.pdp-tab-btn:hover {
  background: #241D19 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 14px rgba(233, 83, 33, 0.3) !important;
  transform: translateY(-1px) !important;
}

.pdp-tab-btn:hover svg.tab-ico {
  transform: scale(1.08) !important;
}

/* Aktywna zakładka — świecąca luksusowa pigułka */
.pdp-tab-btn.active,
button.pdp-tab-btn.active,
.pdp-tab-btn[aria-selected="true"],
button.pdp-tab-btn[aria-selected="true"],
body.single-product .pdp-tabs-nav button.pdp-tab-btn.active,
body.woocommerce-page .pdp-tabs-nav button.pdp-tab-btn.active {
  background: linear-gradient(135deg, rgba(233, 83, 33, 0.22) 0%, rgba(200, 80, 30, 0.12) 100%), #1C1410 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  box-shadow: 0 0 16px rgba(233, 83, 33, 0.42), 0 2px 6px rgba(0, 0, 0, 0.5) !important;
  transform: none !important;
}

.pdp-tab-btn.active svg.tab-ico,
button.pdp-tab-btn.active svg.tab-ico,
body.single-product .pdp-tabs-nav button.pdp-tab-btn.active svg.tab-ico {
  stroke: #E95321 !important;
  filter: drop-shadow(0 0 5px rgba(233, 83, 33, 0.65)) !important;
}

@media (max-width: 768px) {
  .pdp-tab-btn,
  button.pdp-tab-btn,
  body.single-product .pdp-tabs-nav button.pdp-tab-btn {
    padding: 0.45rem 0.95rem !important;
    font-size: 0.76rem !important;
    gap: 0.4rem !important;
  }
  .pdp-tab-btn svg.tab-ico {
    width: 14px !important;
    height: 14px !important;
  }
}

/* Panele zakładek (Tabs Content) */
.pdp-tabs-content {
  position: relative;
}

.pdp-tab-pane {
  display: none;
  animation: pdpTabFadeIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.pdp-tab-pane.active {
  display: block;
}

@keyframes pdpTabFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Nagłówki sekcji zakładek */
.tab-pane-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 3.25rem;
}

.tab-pane-header .eyebrow {
  font-family: var(--font-body);
  font-size: 0.76rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #E95321;
  margin-bottom: 0.45rem;
}

.tab-pane-header .tab-title {
  font-family: var(--font-heading);
  font-size: clamp(1.85rem, 3.2vw, 2.5rem);
  color: #FFFFFF;
  margin: 0 0 0.85rem;
  font-weight: 600;
  line-height: 1.25;
}

.tab-pane-header .tab-intro-text {
  font-family: var(--font-body);
  font-size: 0.96rem;
  color: #A39E95;
  line-height: 1.68;
  margin: 0;
}

/* =========================================================================
   TAB 1: PIRAMIDA ZAPACHOWA (Grafika 3D + Nuty Głowy, Serca, Bazy)
   ========================================================================= */
.pyramid-split-layout {
  display: grid;
  grid-template-columns: minmax(320px, 440px) 1fr;
  gap: 3.5rem;
  align-items: start;
}

@media (max-width: 960px) {
  .pyramid-split-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.pyramid-card-visual {
  background: #181818;
  border: 1px solid #2B2B2B;
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.65);
}

.pyramid-img-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #141414;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pyramid-3d-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.pyramid-card-visual:hover .pyramid-3d-img {
  transform: scale(1.03);
}

.pyramid-img-badge {
  position: absolute;
  top: 1.15rem;
  left: 1.15rem;
  background: rgba(18, 18, 18, 0.88);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(233, 83, 33, 0.5);
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.4rem 0.85rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
}

.pyramid-img-badge svg.ico {
  stroke: #E95321;
  fill: none;
}

/* Fallback diagram wektorowy gdy brak zdjęcia 3D */
.pyramid-fallback-vector {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2.25rem;
}

.pyramid-tier-box {
  padding: 1.35rem 1.65rem;
  border-radius: var(--radius-md);
  background: #1D1D1D;
  border: 1px solid #2F2F2F;
  transition: all 0.22s ease;
}

.pyramid-tier-box:hover {
  border-color: #E95321;
  background: #221A16;
}

.pyramid-tier-box .tier-tag {
  font-family: var(--font-body);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #E95321;
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 600;
}

.pyramid-tier-box .tier-val {
  font-family: var(--font-body);
  font-size: 1.02rem;
  color: #FFFFFF;
  font-weight: 600;
}

/* Stylizacja struktury nut zapachowych (Nuty Głowy, Serca, Bazy) */
.lucsoy-scent-notes-render .lucsoy-scent-notes,
.lucsoy-scent-notes-custom {
  margin-bottom: 1.75rem;
}

.lucsoy-scent-notes ul,
.notes-tier-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.15rem !important;
}

.lucsoy-scent-notes li,
.note-tier-card {
  background: #181818 !important;
  border: 1px solid #2A2A2A !important;
  border-radius: var(--radius-md) !important;
  padding: 1.35rem 1.65rem !important;
  transition: all 0.22s ease !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 1.25rem !important;
}

.lucsoy-scent-notes li:hover,
.note-tier-card:hover {
  border-color: rgba(233, 83, 33, 0.65) !important;
  background: #1D1917 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
}

.lucsoy-scent-notes li > span:first-child,
.tier-card-icon {
  font-size: 1.5rem !important;
  line-height: 1 !important;
  padding-top: 2px !important;
  flex-shrink: 0 !important;
}

.lucsoy-scent-notes li strong,
.tier-card-title {
  color: #E95321 !important;
  font-family: var(--font-body) !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 0.4rem !important;
  display: block !important;
}

.lucsoy-scent-notes li strong span,
.tier-card-sub {
  color: #8C877D !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 0.8rem !important;
}

.lucsoy-scent-notes li > div > span,
.tier-card-desc {
  color: #F5F2EB !important;
  font-family: var(--font-body) !important;
  font-size: 0.98rem !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Wskazówka sensoryczna (Sensory Candle Tip) */
.scent-sensory-tip {
  background: rgba(233, 83, 33, 0.06);
  border: 1px solid rgba(233, 83, 33, 0.25);
  border-radius: var(--radius-md);
  padding: 1.35rem 1.65rem;
  display: flex;
  gap: 1.15rem;
  align-items: flex-start;
}

.scent-sensory-tip .tip-icon svg {
  stroke: #E95321;
  fill: none;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 2px;
}

.scent-sensory-tip strong {
  font-family: var(--font-body);
  color: #FFFFFF;
  font-size: 0.94rem;
  font-weight: 600;
  display: block;
  margin-bottom: 0.35rem;
}

.scent-sensory-tip p {
  margin: 0;
  font-family: var(--font-body);
  font-size: 0.88rem;
  color: #C2BCB3;
  line-height: 1.62;
}

/* =========================================================================
   TAB 2: OPOWIEŚĆ ZAPACHOWA (H2 + Rich Content + Zdjęcie aranżacji)
   ========================================================================= */
.lucsoy-rich-split-layout {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 3.5rem;
  align-items: center;
}

@media (max-width: 960px) {
  .lucsoy-rich-split-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.lucsoy-rich-text h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(1.75rem, 2.8vw, 2.3rem) !important;
  color: #FFFFFF !important;
  margin: 0 0 1.25rem !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

.lucsoy-rich-text p {
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  color: #C7C1B8 !important;
  margin: 0 0 1.35rem !important;
}

.lucsoy-rich-image img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  border: 1px solid #2E2E2E;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.65);
  display: block;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.lucsoy-rich-image:hover img {
  transform: scale(1.02);
}

.lucsoy-story-fallback-container {
  max-width: 860px;
  margin: 0 auto;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.8;
  color: #C7C1B8;
}

.lucsoy-story-fallback-container h3 {
  font-family: var(--font-heading);
  font-size: 1.45rem;
  color: #FFFFFF;
  margin: 1.75rem 0 0.85rem;
}

.lucsoy-story-fallback-container ul {
  padding-left: 1.5rem;
  margin: 0 0 1.25rem;
}

.lucsoy-story-fallback-container li {
  margin-bottom: 0.5rem;
}

/* =========================================================================
   TAB 3: RYTUAŁ & FAQ (Pełne wsparcie dla Schema.org Microdata)
   ========================================================================= */
.lucsoy-faq-schema,
.lucsoy-faq-schema-wrapper {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lucsoy-faq-schema [itemscope][itemtype*="Question"],
.faq-schema-item {
  background: #181818 !important;
  border: 1px solid #2B2B2B !important;
  border-radius: var(--radius-md) !important;
  padding: 1.65rem 2rem !important;
  transition: all 0.22s ease !important;
  margin: 0 !important;
}

.lucsoy-faq-schema [itemscope][itemtype*="Question"]:hover,
.faq-schema-item:hover {
  border-color: rgba(233, 83, 33, 0.55) !important;
  background: #1D1917 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
  transform: translateY(-1px);
}

.lucsoy-faq-schema h4[itemprop="name"] {
  font-family: var(--font-heading) !important;
  font-size: 1.25rem !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  margin: 0 0 0.85rem !important;
  line-height: 1.35 !important;
}

.lucsoy-faq-schema div[itemprop="text"] p {
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  color: #B5B0A8 !important;
  line-height: 1.72 !important;
  margin: 0 !important;
}

.lucsoy-faq-schema div[itemprop="text"] strong {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

/* =========================================================================
   TAB 4: SPECYFIKACJA TECHNICZNA (Tabela Dark Luxury)
   ========================================================================= */
.lucsoy-specs-table-container {
  max-width: 860px;
  margin: 0 auto;
  overflow-x: auto;
}

.lucsoy-product-specs {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #2B2B2B;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: #181818;
}

.lucsoy-product-specs tr {
  border-bottom: 1px solid #262626;
}

.lucsoy-product-specs tr:last-child {
  border-bottom: none;
}

.lucsoy-product-specs tr:nth-child(even) {
  background: #1B1B1B;
}

.lucsoy-product-specs th {
  width: 34%;
  padding: 1.25rem 1.65rem;
  text-align: left;
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #E95321;
  border-right: 1px solid #262626;
  vertical-align: middle;
}

.lucsoy-product-specs td {
  padding: 1.25rem 1.65rem;
  font-family: var(--font-body);
  font-size: 0.94rem;
  color: #F0EDE6;
  vertical-align: middle;
  line-height: 1.55;
}

@media (max-width: 600px) {
  .lucsoy-product-specs th,
  .lucsoy-product-specs td {
    padding: 1rem 1.15rem;
    font-size: 0.86rem;
  }
}

/* Rekomendacje produktów (Może Ci się spodobać / Podobne zapachy) */
.pdp-related {
  padding: 4.5rem 0;
  border-top: 1px solid #242424;
  background: #151515;
}

.pdp-related .section-head {
  margin-bottom: 2.5rem;
}

.pdp-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

/* Pływający dolny pasek zakupu (Sticky Bottom Buy Bar on Scroll) */
.buy-sticky {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(20, 20, 20, 0.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid #2D2D2D;
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.65);
  padding: 0.75rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 998;
  transform: translateY(110%);
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.buy-sticky.active {
  transform: translateY(0);
  pointer-events: auto;
}

.buy-sticky .sticky-info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.buy-sticky .sticky-title {
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1.2;
}

.buy-sticky .sticky-price {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: #E95321;
  line-height: 1.2;
}

.buy-sticky .btn,
.buy-sticky button {
  padding: 0.55rem 1.35rem !important;
  height: 42px !important;
  font-size: 0.85rem !important;
}

/* Lightbox Modal */
.lb {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 2rem;
}

.lb.active {
  display: flex;
}

.lb-content img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: var(--radius-md);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8);
}

.lb-btn {
  all: unset;
  box-sizing: border-box;
  position: absolute;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(30, 30, 30, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.lb-btn:hover {
  background: #E95321;
  border-color: #E95321;
}

.lb-btn svg.ico {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}

.lb-close {
  top: 1.5rem;
  right: 1.5rem;
}

.lb-prev {
  left: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
}

.lb-next {
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
}

/* Sekcja opinii produktowych TrustMate (Hydra) na dole strony produktu */
.pdp-trustmate-reviews-section {
  padding: 2.5rem 0 4rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* Responsywność PDP */
@media (max-width: 900px) {
  .pdp {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }

  .gallery {
    position: static !important;
    max-width: 440px !important;
    margin-inline: auto !important;
  }

  .gallery .main {
    max-width: 440px !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
  }

  .assure {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }

  .pdp-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.85rem !important;
  }

  .buy-sticky {
    padding: 0.65rem 1rem !important;
  }
}

@media (max-width: 640px) {
  .pdp {
    width: 100% !important;
    gap: 1.35rem !important;
  }

  .gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  .gallery .main {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 14px !important;
  }

  .gallery .thumbs {
    justify-content: flex-start !important;
    gap: 0.6rem !important;
    padding: 6px 4px 10px 4px !important;
    margin: 0.75rem -4px 0 !important;
  }

  .gallery .thumbs .thumb-btn {
    width: 68px !important;
    height: 68px !important;
    border-radius: 10px !important;
  }

  .crumbs {
    font-size: 0.74rem !important;
    gap: 0.35rem !important;
    line-height: 1.4 !important;
    word-break: break-word !important;
  }
}

@media (max-width: 480px) {
  .pinfo h1.pdp-title {
    font-size: 1.65rem !important;
    line-height: 1.2 !important;
    word-break: break-word !important;
  }

  .pinfo .price {
    font-size: 1.75rem !important;
    color: #FFFFFF !important;
  }

  .stock-status-pill {
    margin-left: 0;
  }

  .specs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.5rem !important;
  }

  .spec {
    padding: 0.58rem 0.65rem !important;
    gap: 0.55rem !important;
  }

  .spec-ico-wrap {
    width: 32px !important;
    height: 32px !important;
  }

  .spec-val {
    font-size: 0.82rem !important;
  }

  .pdp-sample-addon {
    padding: 0.8rem 0.85rem !important;
  }

  .sample-addon-header {
    gap: 0.65rem !important;
  }

  .sample-addon-thumb {
    width: 50px !important;
    height: 50px !important;
  }

  .sample-addon-title {
    font-size: 0.88rem !important;
  }

  .sample-addon-price {
    font-size: 0.95rem !important;
  }

  .btn-pdp-add,
  button.btn-pdp-add {
    font-size: 0.9rem !important;
    padding: 0 1rem !important;
  }
}

/* ==========================================================================
   17. SEKCJE STRONY GŁÓWNEJ (HOMEPAGE SECTIONS) — DARK LUXURY
   ========================================================================== */

/* Nagłówek sekcji z linkiem po prawej */
.head-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 2.25rem;
}

.head-row h2 {
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 3.2vw, 2.5rem);
  font-weight: 600;
  color: #FFFFFF;
  margin: 0;
  line-height: 1.15;
}

.head-row .eyebrow {
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-brand);
  margin: 0 0 0.4rem;
}

.head-row a.link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-brand);
  text-decoration: none;
  transition: all var(--transition-fast);
}

.head-row a.link:hover {
  color: #FFFFFF;
  transform: translateX(3px);
}

.head-row a.link svg.ico {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  transition: transform var(--transition-fast);
}

.head-row a.link:hover svg.ico {
  transform: translateX(3px);
}

/* Siatka produktów na stronie głównej */
.home-products-section {
  padding: 4.5rem 0;
  border-bottom: 1px solid #242424;
}

.home-products-section.tone-char {
  background: #141414;
}

.home-products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

/* Sekcja Po okazji */
.occasions-section {
  padding: 4.5rem 0;
  background: #141414;
  border-top: 1px solid #242424;
  border-bottom: 1px solid #242424;
}

.occs {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.75rem;
  margin-top: 2rem;
}

.occ {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  text-align: center;
  min-height: 120px;
  padding: 1.1rem 0.65rem;
  background: #1B1B1B;
  border: 1px solid #2B2B2B;
  border-radius: var(--radius-md);
  color: #F7F5F0;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  user-select: none;
}

.occ .ico {
  width: 28px;
  height: 28px;
  stroke: #E95321;
  fill: none;
  stroke-width: 1.6;
  transition: transform 0.25s ease;
}

.occ .ico polygon,
.occ .ico [style*="fill"] {
  fill: #E95321 !important;
  stroke: #E95321 !important;
}

.occ span {
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.25;
  color: #E6E1DC;
  transition: color 0.2s ease;
}

.occ:hover {
  border-color: #E95321;
  background: #251B16;
  transform: translateY(-3px);
  box-shadow: 0 0 18px rgba(233, 83, 33, 0.38);
}

.occ:hover .ico {
  transform: scale(1.1);
}

.occ:hover span {
  color: #FFFFFF;
}

@media (max-width: 1024px) {
  .occs {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 640px) {
  .occs {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.65rem;
  }
  .occ {
    min-height: 72px;
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    padding: 0.75rem 0.95rem;
    gap: 0.85rem;
  }
  .occ .ico {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }
  .occ span {
    font-size: 0.84rem;
  }
}

/* Sekcja Personalizacja (Split view) */
.personalization-section {
  padding: 4.5rem 0;
  background: #171717;
  border-bottom: 1px solid #242424;
}

.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.split.mt-3 {
  margin-top: 3rem;
}

.split .media img {
  border-radius: var(--radius-lg);
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: center 65%;
  max-height: 560px;
  display: block;
  border: 1px solid var(--color-base-border);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.5);
}

.split .txt {
  display: flex;
  flex-direction: column;
}

.split .txt .eyebrow {
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-brand);
  margin: 0 0 0.5rem;
}

.split .txt h2 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1.18;
  margin: 0 0 1rem;
}

.split .txt p.lead {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.72;
  color: #D5CFCA;
  margin: 0 0 1.6rem;
}

.ticks {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: grid;
  gap: 0.75rem;
}

.ticks li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: #F0ECE6;
}

.ticks .ico {
  width: 20px;
  height: 20px;
  stroke: #E95321;
  stroke-width: 2.2;
  fill: none;
  flex-shrink: 0;
}

@media (max-width: 860px) {
  .split {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

@media (max-width: 900px) {
  .home-products-section {
    padding: 3rem 0;
  }

  .occasions-section {
    padding: 3rem 0;
  }

  .personalization-section {
    padding: 3rem 0;
  }

  .home-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.85rem !important;
  }
}

/* ==========================================================================
   MINIMALISTYCZNY MOSAIC KATEGORII (EDITORIAL DARK LUXURY)
   ========================================================================== */
.cat-mosaic-section {
  padding: clamp(3rem, 5vw, 4.5rem) 0;
  background-color: #151515;
  border-bottom: 1px solid #222222;
}

.cat-mosaic-header {
  margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
}

.cat-mosaic-header .eyebrow {
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-brand);
  margin-bottom: 0.35rem;
}

.cat-mosaic-header .section-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.5vw, 2.1rem);
  font-weight: 600;
  color: #FFFFFF;
  margin: 0;
  letter-spacing: -0.01em;
}

.cat-mosaic-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.25rem;
}

/* Karta kategorii */
.cat-mosaic-card {
  position: relative;
  display: block;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: #191919;
  border: 1px solid #282828;
  text-decoration: none;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Pozycje i proporcje na desktop (12-kolumnowa siatka) */
/* Rząd 1: Premium (16:9, span 8) + Drewniany Knot (1:1, span 4) = 12 */
.cat-mosaic-card.card-premium {
  grid-column: span 8;
  height: 380px;
}

.cat-mosaic-card.card-wood {
  grid-column: span 4;
  height: 380px;
}

/* Rząd 2: Z Twoim Tekstem (1:1, span 4) + Kolekcja Vintage (1:1, span 4) + Woski (1:1, span 4) = 12 */
.cat-mosaic-card.card-perso {
  grid-column: span 4;
  height: 380px;
  order: 3;
}

.cat-mosaic-card.card-vintage {
  grid-column: span 4;
  height: 380px;
  order: 4;
}

.cat-mosaic-card.card-wax {
  grid-column: span 4;
  height: 380px;
  order: 5;
}

/* Rząd 3: Świece 500ml (16:9, span 6) + Z Humorem (16:9, span 6) = 12 */
.cat-mosaic-card.card-500ml {
  grid-column: span 6;
  height: 350px;
  order: 6;
}

.cat-mosaic-card.card-humor {
  grid-column: span 6;
  height: 350px;
  order: 7;
}

/* Obraz i warstwa mediów */
.cat-mosaic-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cat-mosaic-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.cat-mosaic-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.2) 45%, rgba(8, 8, 8, 0.75) 100%);
  pointer-events: none;
  transition: background 0.3s ease;
}

/* Pływająca, minimalistyczna pigułka z nazwą kategorii */
.cat-mosaic-pill {
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  background: rgba(18, 18, 18, 0.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 4px;
  padding: 0.52rem 1.4rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
  pointer-events: none;
  white-space: nowrap;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.cat-mosaic-pill h3 {
  margin: 0;
  font-family: var(--font-body);
  font-size: clamp(0.74rem, 1.05vw, 0.86rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #F7F5F0;
  line-height: 1.2;
  transition: color 0.2s ease;
}

/* Stany hover */
.cat-mosaic-card:hover {
  border-color: rgba(233, 83, 33, 0.55);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55), 0 0 20px rgba(233, 83, 33, 0.25);
  transform: translateY(-3px);
}

.cat-mosaic-card:hover .cat-mosaic-media img {
  transform: scale(1.05);
}

.cat-mosaic-card:hover .cat-mosaic-overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.25) 45%, rgba(8, 8, 8, 0.85) 100%);
}

.cat-mosaic-card:hover .cat-mosaic-pill {
  background: rgba(233, 83, 33, 0.32);
  border-color: #E95321;
  box-shadow: 0 0 18px rgba(233, 83, 33, 0.5);
}

.cat-mosaic-card:hover .cat-mosaic-pill h3 {
  color: #FFFFFF;
}

/* Responsywność tablet / laptop (poniżej 900px) */
@media (max-width: 899px) {
  .cat-mosaic-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
  }

  .cat-mosaic-card {
    order: unset !important;
  }

  /* 1. Kolekcja Premium (16:9): Pełna szerokość banera */
  .cat-mosaic-card.card-premium {
    grid-column: span 2;
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 200px;
  }

  /* 2 i 3: Obok siebie w proporcji 1:1 */
  .cat-mosaic-card.card-wood,
  .cat-mosaic-card.card-perso {
    grid-column: span 1;
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 165px;
  }

  /* 4. Świece 500ml (16:9): Pełna szerokość banera */
  .cat-mosaic-card.card-500ml {
    grid-column: span 2;
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 200px;
  }

  /* 5 i 6: Obok siebie w proporcji 1:1 */
  .cat-mosaic-card.card-vintage,
  .cat-mosaic-card.card-wax {
    grid-column: span 1;
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 165px;
  }

  /* 7. Z Humorem: Pełna szerokość banera */
  .cat-mosaic-card.card-humor {
    grid-column: span 2;
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 200px;
  }
}

/* Responsywność smartfony (poniżej 480px) */
@media (max-width: 480px) {
  .cat-mosaic-section {
    padding: 2.25rem 0;
  }

  .cat-mosaic-grid {
    gap: 0.65rem;
  }

  .cat-mosaic-card.card-premium,
  .cat-mosaic-card.card-500ml,
  .cat-mosaic-card.card-humor {
    aspect-ratio: 16 / 9;
    min-height: 190px;
  }

  .cat-mosaic-card.card-wood,
  .cat-mosaic-card.card-perso,
  .cat-mosaic-card.card-vintage,
  .cat-mosaic-card.card-wax {
    aspect-ratio: 1 / 1;
    min-height: 155px;
  }

  .cat-mosaic-pill {
    padding: 0.42rem 0.95rem;
    bottom: 0.85rem;
  }

  .cat-mosaic-pill h3 {
    font-size: 0.7rem;
    letter-spacing: 0.1em;
  }
}

/* Karuzela kolekcji sezonowej */
.carousel-container {
  position: relative;
  overflow: hidden;
}

.carousel-nav-btns {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.carousel-btn {
  all: unset;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1B1B1B;
  border: 1px solid #2E2E2E;
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

.carousel-btn:hover {
  background: #251B16;
  border-color: #E95321;
  color: #E95321;
  box-shadow: 0 0 12px rgba(233, 83, 33, 0.35);
  transform: translateY(-1px);
}

.carousel-btn svg.ico {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
}

.carousel-track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.85rem;
  scrollbar-width: thin;
  scrollbar-color: #333333 transparent;
}

.carousel-track::-webkit-scrollbar {
  height: 4px;
}

.carousel-track::-webkit-scrollbar-track {
  background: #181818;
}

.carousel-track::-webkit-scrollbar-thumb {
  background: #2E2E2E;
  border-radius: 9999px;
}

.carousel-track .pcard {
  flex: 0 0 calc(25% - 0.95rem);
  scroll-snap-align: start;
  min-width: 240px;
}

@media (max-width: 1024px) {
  .carousel-track .pcard {
    flex: 0 0 calc(33.333% - 0.85rem);
    min-width: 220px;
  }
}

@media (max-width: 768px) {
  .carousel-track .pcard {
    flex: 0 0 calc(50% - 0.65rem);
    min-width: 190px;
  }
}

@media (max-width: 480px) {
  .carousel-track .pcard {
    flex: 0 0 calc(78% - 0.5rem);
    min-width: 180px;
  }
}

/* =========================================================================
   15. GLOBAL PC HOVER SYSTEM: ORANGE -> WHITE GLOW (DARK LUXURY)
   Przejście hover na PC z akcentu pomarańczowego w luksusową, świetlistą biel (#FFFFFF)
   Gwarantuje idealną czytelność i eliminuje czarne, niewidoczne elementy na ciemnym tle.
   ========================================================================= */

/* 1. Globalne linki — żaden link na hover nie przechodzi w czerń */
a:hover {
  color: #FFFFFF !important;
}

/* 2. Przycisk kapsułkowy (Capsule Button) — baza pomarańczowa, hover biały */
.btn-capsule,
a.btn-capsule {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  background: transparent !important;
  color: #E95321 !important;
  border: 1.5px solid #E95321 !important;
  border-radius: 9999px !important;
  padding: 0.85rem 2rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  box-shadow: 0 0 14px rgba(233, 83, 33, 0.28) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-capsule .btn-arrow,
a.btn-capsule .btn-arrow {
  stroke: #E95321 !important;
  transition: transform 0.25s ease, stroke 0.25s ease !important;
}

.btn-capsule:hover,
a.btn-capsule:hover,
.btn-capsule-dark:hover,
button.btn-capsule-dark:hover,
#btn-clear-empty:hover,
button#btn-clear-empty:hover {
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 0 22px rgba(255, 255, 255, 0.45), 0 4px 14px rgba(0, 0, 0, 0.5) !important;
  transform: translateY(-2px) !important;
}

.btn-capsule:hover .btn-arrow,
a.btn-capsule:hover .btn-arrow {
  stroke: #FFFFFF !important;
  transform: translateX(4px) !important;
}

/* 3. Przyciski bazowe (.btn-secondary, .btn-ghost, .btn-primary) */
.btn-secondary:hover {
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 0 18px rgba(255, 255, 255, 0.35) !important;
  transform: translateY(-2px) !important;
}

.btn-secondary:hover .btn-arrow {
  stroke: #FFFFFF !important;
  transform: translateX(4px) !important;
}

.btn-ghost:hover {
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  background-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 0 18px rgba(255, 255, 255, 0.35) !important;
  transform: translateY(-2px) !important;
}

.btn-primary:hover,
.btn-hero-primary:hover {
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 28px rgba(255, 255, 255, 0.5), 0 8px 24px rgba(233, 83, 33, 0.45) !important;
  transform: translateY(-2px) scale(1.02) !important;
}

.btn-hero-primary:hover .btn-arrow {
  stroke: #FFFFFF !important;
  transform: translateX(4px) !important;
}

/* 4. Przyciski nawigacji karuzeli (Carousel Buttons) */
.carousel-btn:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 18px rgba(255, 255, 255, 0.45) !important;
  transform: translateY(-2px) !important;
}

.carousel-btn:hover svg.ico {
  stroke: #FFFFFF !important;
}

/* 5. Karty okazji (Occasion Cards) */
.occ:hover {
  border-color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.35), 0 6px 18px rgba(0, 0, 0, 0.4) !important;
  transform: translateY(-3px) !important;
}

.occ:hover .ico {
  stroke: #FFFFFF !important;
  transform: scale(1.12) !important;
}

.occ:hover .ico polygon,
.occ:hover .ico [style*="fill"] {
  fill: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

.occ:hover span {
  color: #FFFFFF !important;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.3) !important;
}

/* 6. Karty mozaiki kategorii (Category Mosaic) */
.cat-mosaic-card:hover {
  border-color: #FFFFFF !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.6), 0 0 22px rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-3px) !important;
}

.cat-mosaic-card:hover .cat-mosaic-pill {
  border-color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.55) !important;
}

.cat-mosaic-card:hover .cat-mosaic-pill h3 {
  color: #FFFFFF !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
}

/* 7. Karty produktów (Product Cards) */
.pcard:hover {
  border-color: rgba(255, 255, 255, 0.45) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 255, 255, 0.22) !important;
}

.pcard-title a:hover {
  color: #FFFFFF !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.4) !important;
}

.pcard-add-btn:hover,
button.pcard-add-btn:hover {
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #151515 !important;
  box-shadow: 0 0 18px rgba(255, 255, 255, 0.65) !important;
  transform: scale(1.08) !important;
}

.pcard-add-btn:hover svg {
  stroke: #151515 !important;
}

/* 8. Odnośniki nagłówkowe sekcji (Head Row Links) */
.head-row a.link:hover {
  color: #FFFFFF !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
  transform: translateX(3px) !important;
}

.head-row a.link:hover svg.ico {
  stroke: #FFFFFF !important;
  transform: translateX(4px) !important;
}

/* 9. Pigułki, filtry i chipy (Chips, Filters, Pills) */
.subcat-pill:hover,
button.subcat-pill:hover,
.filter-chip:hover,
button.filter-chip:hover,
.pick-chip:hover,
button.pick-chip:hover,
.active-filter-pill:hover,
button.active-filter-pill:hover,
.btn-clear-all-filters:hover,
button.btn-clear-all-filters:hover,
.clear-all-pill:hover,
button.clear-all-pill:hover,
.shop-mobile-filter-btn:hover,
button.shop-mobile-filter-btn:hover,
.sort-trigger-btn:hover,
button.sort-trigger-btn:hover {
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 0 16px rgba(255, 255, 255, 0.38) !important;
  transform: translateY(-1px) !important;
}

.subcat-pill:hover .subcat-pill-count {
  color: #FFFFFF !important;
}

/* 10. Nawigacja główna na PC (Desktop Header Navigation) */
.desktop-nav > li:hover > a,
.desktop-nav > li:focus-within > a,
.desktop-nav .nav-link:hover,
.desktop-nav .nav-link[aria-expanded="true"] {
  color: #FFFFFF !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.45) !important;
}

.desktop-nav > li.menu-item-has-children:hover > a::after,
.desktop-nav > li.menu-item-has-children:focus-within > a::after {
  border-color: #FFFFFF !important;
}

.dropdown-item a:hover {
  color: #FFFFFF !important;
  background-color: rgba(255, 255, 255, 0.12) !important;
  transform: translateX(3px) !important;
}

/* 11. Baza wiedzy & Poradnik SEO (SEO Guide Cards) */
.seo-guide-card:hover {
  background: #222222 !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5), 0 0 16px rgba(255, 255, 255, 0.2) !important;
  transform: translateY(-2px) !important;
}

.seo-guide-card:hover h3 {
  color: #FFFFFF !important;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.35) !important;
}

.seo-guide-card p a:hover,
.seo-guide-header .section-sub a:hover,
.seo-link:hover {
  color: #FFFFFF !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
  text-decoration-color: #FFFFFF !important;
}

/* 12. Akordeon FAQ */
.faq-item:hover {
  border-color: rgba(255, 255, 255, 0.35) !important;
}

button.faq-question:hover,
.faq-item button.faq-question:hover,
.faq-question:hover {
  color: #FFFFFF !important;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.35) !important;
}

/* 13. Karta produktu PDP (Single Product) */
.btn-pdp-add:hover,
button.btn-pdp-add:hover {
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 28px rgba(255, 255, 255, 0.55), 0 6px 16px rgba(0, 0, 0, 0.5) !important;
  transform: translateY(-1px) !important;
}

.tags .chip:hover,
.variants a.other-opt:hover {
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.35) !important;
}

/* =========================================================================
   14. SZUFLADA KOSZYKA (SIDE CART DRAWER)
   ========================================================================= */
body.side-cart-open {
  overflow: hidden !important;
}

.side-cart-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.75) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  z-index: 99998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.side-cart-backdrop.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.side-cart-drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 440px !important;
  max-width: calc(100vw - 32px) !important;
  background-color: #141414 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  transform: translateX(105%) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s ease !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.side-cart-drawer.is-open {
  transform: translateX(0) !important;
  visibility: visible !important;
  box-shadow: -15px 0 50px rgba(0, 0, 0, 0.85) !important;
  pointer-events: auto !important;
}

.side-cart-header {
  padding: 1.25rem 1.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: #181818 !important;
  flex-shrink: 0 !important;
}

.side-cart-title-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.side-cart-title {
  font-family: var(--font-heading) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.side-cart-count-badge {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--color-brand) !important;
}

.side-cart-close {
  background: transparent !important;
  border: none !important;
  color: var(--color-text-secondary) !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast) !important;
}

.side-cart-close:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  transform: rotate(90deg) !important;
}

/* Pasek darmowej dostawy */
.side-cart-shipping-bar {
  padding: 0.95rem 1.5rem !important;
  background: rgba(233, 83, 33, 0.06) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  flex-shrink: 0 !important;
}

.shipping-bar-text {
  font-size: 0.82rem !important;
  color: var(--color-text-secondary) !important;
  margin-bottom: 0.45rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.shipping-bar-text strong {
  color: var(--color-brand) !important;
  margin: 0 0.25rem !important;
}

.shipping-bar-text .shipping-success {
  color: #22c55e !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

.shipping-bar-text .shipping-success strong {
  color: #22c55e !important;
}

.shipping-progress-track {
  height: 5px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  position: relative !important;
}

.shipping-progress-fill {
  height: 100% !important;
  background: linear-gradient(90deg, #E95321 0%, #FF7A45 100%) !important;
  border-radius: 4px !important;
  transition: width 0.45s ease !important;
}

.shipping-progress-fill.is-complete {
  background: linear-gradient(90deg, #16a34a 0%, #22c55e 100%) !important;
}

/* Ciało szuflady */
.side-cart-body {
  flex: 1 !important;
  overflow-y: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.side-cart-inner {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}

/* Stan pustego koszyka */
.side-cart-empty {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3rem 1.5rem !important;
  text-align: center !important;
}

.side-cart-empty-icon {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.04) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--color-text-muted) !important;
  margin-bottom: 1.25rem !important;
}

.side-cart-empty h4 {
  font-size: 1.15rem !important;
  color: #fff !important;
  margin-bottom: 0.5rem !important;
}

.side-cart-empty p {
  font-size: 0.85rem !important;
  color: var(--color-text-secondary) !important;
  margin-bottom: 1.75rem !important;
  line-height: 1.5 !important;
}

.side-cart-empty-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.85rem 1.75rem !important;
  background: var(--color-brand) !important;
  color: #fff !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  border-radius: var(--radius-pill) !important;
  text-decoration: none !important;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast) !important;
}

.side-cart-empty-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(233, 83, 33, 0.45) !important;
  color: #fff !important;
}

/* Lista produktów w szufladzie */
.side-cart-items-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 1.25rem 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.15rem !important;
  flex: 1 !important;
}

.side-cart-item {
  display: flex !important;
  gap: 1rem !important;
  padding-bottom: 1.15rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  align-items: flex-start !important;
}

.side-cart-item-thumb {
  width: 68px !important;
  height: 68px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #1c1c1c !important;
}

.side-cart-item-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.side-cart-item-details {
  flex: 1 !important;
  min-width: 0 !important;
}

.side-cart-item-title-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
}

.side-cart-item-title {
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: #fff !important;
  margin: 0 0 0.25rem 0 !important;
  line-height: 1.35 !important;
}

.side-cart-item-title a {
  color: #fff !important;
  text-decoration: none !important;
  transition: color var(--transition-fast) !important;
}

.side-cart-item-title a:hover {
  color: var(--color-brand) !important;
}

.side-cart-item-remove {
  background: transparent !important;
  border: none !important;
  color: var(--color-text-muted) !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: color var(--transition-fast), transform var(--transition-fast) !important;
  line-height: 1 !important;
}

.side-cart-item-remove:hover {
  color: #ef4444 !important;
  transform: scale(1.15) !important;
}

.side-cart-item-price {
  font-size: 0.82rem !important;
  color: var(--color-text-secondary) !important;
  margin-bottom: 0.65rem !important;
}

.side-cart-item-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.side-cart-qty-ctrl {
  display: inline-flex !important;
  align-items: center !important;
  background: #202020 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.side-cart-qty-btn {
  background: transparent !important;
  border: none !important;
  color: #fff !important;
  width: 26px !important;
  height: 26px !important;
  font-size: 0.95rem !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background var(--transition-fast) !important;
}

.side-cart-qty-btn:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color: var(--color-brand) !important;
}

.side-cart-qty-num {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  padding: 0 0.5rem !important;
  min-width: 20px !important;
  text-align: center !important;
}

.side-cart-item-line-total {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--color-brand) !important;
}

/* Stopka szuflady z podsumowaniem */
.side-cart-footer-box {
  padding: 1.25rem 1.5rem 1.5rem !important;
  background: #181818 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  flex-shrink: 0 !important;
}

.side-cart-subtotal-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  margin-bottom: 1.15rem !important;
  font-size: 0.95rem !important;
  color: var(--color-text-secondary) !important;
}

.side-cart-subtotal-val {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #fff !important;
}

.side-cart-subtotal-val .woocommerce-Price-amount {
  color: var(--color-brand) !important;
}

.side-cart-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
}

.side-cart-btn-checkout {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.95rem !important;
  background: var(--color-brand) !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(233, 83, 33, 0.35) !important;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast) !important;
}

.side-cart-btn-checkout:hover {
  background: #f06130 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 25px rgba(233, 83, 33, 0.55) !important;
  color: #fff !important;
}

.side-cart-btn-view {
  display: block !important;
  text-align: center !important;
  padding: 0.55rem !important;
  font-size: 0.85rem !important;
  color: var(--color-text-secondary) !important;
  text-decoration: none !important;
  transition: color var(--transition-fast) !important;
}

.side-cart-btn-view:hover {
  color: #fff !important;
  text-decoration: underline !important;
}

.side-cart-continue-wrap {
  text-align: center !important;
  margin-top: 0.5rem !important;
}

.side-cart-continue-btn {
  background: transparent !important;
  border: none !important;
  color: var(--color-text-muted) !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  transition: color var(--transition-fast) !important;
  padding: 0.25rem 0.5rem !important;
}

.side-cart-continue-btn:hover {
  color: #fff !important;
}

/* =========================================================================
   15. MODAL WYSZUKIWARKI AJAX (SEARCH MODAL)
   ========================================================================= */
body.search-modal-open {
  overflow: hidden !important;
}

.search-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  z-index: 99998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.25s ease, visibility 0.25s ease !important;
}

.search-modal-backdrop.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.search-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: linear-gradient(180deg, #181818 0%, #121212 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.9) !important;
  z-index: 99999 !important;
  transform: translateY(-25px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, visibility 0.25s ease !important;
  padding: 2.25rem 1.5rem 2.5rem !important;
}

.search-modal.is-open {
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.search-modal-inner {
  max-width: 820px !important;
  margin: 0 auto !important;
}

.search-modal-header {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
}

.search-input-wrap {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  background: #202020 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 12px !important;
  padding: 0.75rem 1.25rem !important;
  gap: 0.85rem !important;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast) !important;
}

.search-input-wrap:focus-within {
  border-color: var(--color-brand) !important;
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.25) !important;
}

.search-input-icon {
  color: var(--color-text-muted) !important;
  flex-shrink: 0 !important;
}

.ajax-search-input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #fff !important;
  font-size: 1.1rem !important;
  font-family: var(--font-body) !important;
}

.ajax-search-input::placeholder {
  color: rgba(255, 255, 255, 0.4) !important;
}

.search-input-clear {
  background: transparent !important;
  border: none !important;
  color: var(--color-text-muted) !important;
  font-size: 1.1rem !important;
  cursor: pointer !important;
  padding: 0.25rem !important;
  line-height: 1 !important;
  transition: color var(--transition-fast) !important;
}

.search-input-clear:hover {
  color: #fff !important;
}

.search-modal-close {
  background: #202020 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--color-text-secondary) !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast) !important;
}

.search-modal-close:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.12) !important;
  transform: rotate(90deg) !important;
}

/* Szybkie tagi */
.search-quick-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-top: 1.15rem !important;
  padding-left: 0.25rem !important;
}

.quick-tags-label {
  font-size: 0.8rem !important;
  color: var(--color-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-weight: 600 !important;
  margin-right: 0.35rem !important;
}

.quick-tag-chip {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 20px !important;
  color: var(--color-text-secondary) !important;
  font-size: 0.82rem !important;
  padding: 0.35rem 0.85rem !important;
  cursor: pointer !important;
  transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast) !important;
}

.quick-tag-chip:hover {
  background: rgba(233, 83, 33, 0.15) !important;
  border-color: var(--color-brand) !important;
  color: #fff !important;
}

/* Wyniki wyszukiwania na żywo */
.search-results-wrap {
  margin-top: 1.5rem !important;
  max-height: 52vh !important;
  overflow-y: auto !important;
  padding-right: 0.25rem !important;
}

.search-placeholder-msg {
  padding: 2.5rem 1rem !important;
  text-align: center !important;
  color: var(--color-text-muted) !important;
  font-size: 0.95rem !important;
}

.search-results-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)) !important;
  gap: 0.85rem !important;
}

.search-result-card {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 0.85rem 1rem !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast) !important;
}

.search-result-card:hover {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: var(--color-brand) !important;
  transform: translateX(3px) !important;
}

.search-result-thumb {
  width: 58px !important;
  height: 58px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  background: #181818 !important;
  flex-shrink: 0 !important;
}

.search-result-info {
  flex: 1 !important;
  min-width: 0 !important;
}

.search-result-cat {
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--color-brand) !important;
  font-weight: 600 !important;
  margin-bottom: 0.2rem !important;
  display: block !important;
}

.search-result-title {
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  color: #fff !important;
  margin: 0 0 0.25rem 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.search-result-price {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--color-text-primary) !important;
}

.search-result-price .woocommerce-Price-amount {
  color: var(--color-brand) !important;
}

.search-view-all-row {
  margin-top: 1.25rem !important;
  text-align: center !important;
}

.search-view-all-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: var(--color-brand) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  text-decoration: none !important;
  padding: 0.5rem 1rem !important;
  transition: color var(--transition-fast), transform var(--transition-fast) !important;
}

.search-view-all-btn:hover {
  color: #fff !important;
  transform: translateX(4px) !important;
}

/* =========================================================================
   16. BŁĄD 404 (DARK LUXURY ERROR PAGE)
   ========================================================================= */
.error-404-page {
  padding: 5rem 1.5rem !important;
  min-height: 65vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.error-404-card {
  max-width: 680px !important;
  margin: 0 auto !important;
  text-align: center !important;
  padding: 3.5rem 2.5rem !important;
  background: var(--color-base-surface) !important;
  border: 1px solid var(--color-base-border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6) !important;
}

.error-flame-icon {
  margin-bottom: 1.5rem !important;
  display: inline-flex !important;
  filter: drop-shadow(0 0 20px rgba(233, 83, 33, 0.5)) !important;
}

.error-title {
  font-size: clamp(1.8rem, 4vw, 2.4rem) !important;
  color: #fff !important;
  margin: 0.75rem 0 1rem !important;
  font-family: var(--font-heading) !important;
}

.error-lead {
  font-size: 1rem !important;
  color: var(--color-text-secondary) !important;
  line-height: 1.6 !important;
  margin-bottom: 2.25rem !important;
}

.error-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 1rem !important;
}

/* ==========================================================================
   Obsługa produktów z wariantami (WooCommerce Variable Products - Dark Luxury)
   ========================================================================== */
.pdp-variable-form-wrap {
  margin: 1.5rem 0 1.25rem;
  padding: 1.25rem 1.5rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  backdrop-filter: blur(8px);
}

.pdp-variable-form-wrap table.variations {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
  margin-bottom: 0.5rem;
}

.pdp-variable-form-wrap table.variations td,
.pdp-variable-form-wrap table.variations th {
  border: none !important;
  background: transparent !important;
  vertical-align: middle;
  padding: 4px 0;
}

.pdp-variable-form-wrap table.variations th.label {
  width: 90px;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #c5b8a5;
  text-align: left;
}

.pdp-variable-form-wrap table.variations td.value {
  position: relative;
}

.pdp-variable-form-wrap table.variations select {
  appearance: none;
  background: #202020 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e95321' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
  color: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  padding: 10px 40px 10px 14px;
  font-size: 0.95rem;
  font-family: inherit;
  width: 100%;
  max-width: 320px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pdp-variable-form-wrap table.variations select:focus {
  outline: none;
  border-color: #e95321;
  box-shadow: 0 0 0 2px rgba(233, 83, 33, 0.25);
}

.pdp-variable-form-wrap .reset_variations {
  display: inline-block;
  margin-top: 6px;
  color: #e95321 !important;
  font-size: 0.8rem;
  text-decoration: underline;
  transition: opacity 0.2s;
}

.pdp-variable-form-wrap .reset_variations:hover {
  opacity: 0.8;
}

/* CartFlows Swatches (cfvsw) Dark Luxury styling */
.pdp-variable-form-wrap .cfvsw-swatches-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 4px 0 !important;
}

.pdp-variable-form-wrap .cfvsw-swatches-container .cfvsw-swatches-option {
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: #222222 !important;
  color: #FDFBF7 !important;
  padding: 8px 18px !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
}

.pdp-variable-form-wrap .cfvsw-swatches-container .cfvsw-swatches-option:hover {
  border-color: rgba(233, 83, 33, 0.6) !important;
  background: #2a2a2a !important;
  color: #FFFFFF !important;
}

.pdp-variable-form-wrap .cfvsw-swatches-container .cfvsw-swatches-option.cfvsw-selected-swatch {
  border-color: #e95321 !important;
  background: rgba(233, 83, 33, 0.18) !important;
  color: #ff8a50 !important;
  box-shadow: 0 0 0 1px #e95321, 0 4px 12px rgba(233, 83, 33, 0.3) !important;
  font-weight: 600 !important;
}

/* Sekcja ceny wariantu i przycisku zakupu */
.pdp-variable-form-wrap .single_variation_wrap {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.pdp-variable-form-wrap .woocommerce-variation-price {
  font-size: 1.45rem;
  font-weight: 700;
  color: #e95321;
  margin-bottom: 0.75rem;
}

.pdp-variable-form-wrap .woocommerce-variation-availability {
  font-size: 0.85rem;
  color: #81c784;
  margin-bottom: 0.75rem;
}

/* Sekcja zakupu dla produktów z wariantami (PDP) */
.pdp-variable-form-wrap .woocommerce-variation-add-to-cart,
.pdp-variable-form-wrap .variations_button {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 1rem !important;
  flex-wrap: nowrap !important;
}

/* Stepper ilości w wariantach */
.pdp-variable-form-wrap .quantity,
.woocommerce-variation-add-to-cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #181818 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 9999px !important;
  height: 52px !important;
  min-width: 110px !important;
  max-width: 125px !important;
  flex: 0 0 115px !important;
  padding: 0 4px !important;
  box-sizing: border-box !important;
}

.pdp-variable-form-wrap .quantity .qty-btn,
.pdp-variable-form-wrap .quantity .qty-btn-minus,
.pdp-variable-form-wrap .quantity .qty-btn-plus,
.woocommerce-variation-add-to-cart .quantity .qty-btn,
.woocommerce-variation-add-to-cart .quantity .qty-btn-minus,
.woocommerce-variation-add-to-cart .quantity .qty-btn-plus,
.woocommerce-cart-form .product-quantity .quantity .qty-btn,
.woocommerce-cart-form .product-quantity .quantity .qty-btn-minus,
.woocommerce-cart-form .product-quantity .quantity .qty-btn-plus {
  all: unset !important;
  width: 34px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #FFFFFF !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  border-radius: 50% !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
  flex-shrink: 0 !important;
}

/* Zabezpieczenie: ukrywanie zdublowanych przycisków plus/minus w stepperze ilości */
.quantity .qty-btn-minus ~ .qty-btn-minus,
.quantity .qty-btn-plus ~ .qty-btn-plus,
.quantity [data-qstep="-1"] ~ [data-qstep="-1"],
.quantity [data-qstep="1"] ~ [data-qstep="1"] {
  display: none !important;
}

.pdp-variable-form-wrap .quantity .qty-btn:hover,
.woocommerce-variation-add-to-cart .quantity .qty-btn:hover,
.woocommerce-cart-form .product-quantity .quantity .qty-btn:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #E95321 !important;
}

.pdp-variable-form-wrap .quantity input.qty,
.woocommerce-variation-add-to-cart .quantity input.qty {
  all: unset !important;
  width: 38px !important;
  height: 44px !important;
  background: transparent !important;
  border: none !important;
  color: #FFFFFF !important;
  text-align: center !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield !important;
}

.pdp-variable-form-wrap .quantity input.qty::-webkit-outer-spin-button,
.pdp-variable-form-wrap .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Przycisk Dodaj do koszyka w wariantach */
.pdp-variable-form-wrap .single_add_to_cart_button,
.pdp-variable-form-wrap button.single_add_to_cart_button,
.woocommerce-variation-add-to-cart .single_add_to_cart_button.button,
.woocommerce-variation-add-to-cart button.single_add_to_cart_button {
  all: unset !important;
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  min-width: 160px !important;
  width: auto !important;
  height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  padding: 0 1.5rem !important;
  border-radius: 9999px !important;
  background: #E95321 !important;
  border: 1px solid #E95321 !important;
  color: #FFFFFF !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 20px rgba(233, 83, 33, 0.42) !important;
}

.pdp-variable-form-wrap .single_add_to_cart_button:hover,
.pdp-variable-form-wrap button.single_add_to_cart_button:hover,
.woocommerce-variation-add-to-cart .single_add_to_cart_button.button:hover,
.woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover {
  background: #FF6633 !important;
  border-color: #FF6633 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 24px rgba(233, 83, 33, 0.6) !important;
}

.pdp-variable-form-wrap .single_add_to_cart_button.disabled,
.woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
  border-color: #333333 !important;
}

/* Wloyalty / rewards notice pod przyciskiem w wariantach */
.woocommerce-variation-add-to-cart .wlr-product-message,
.pdp-variable-form-wrap .wlr-product-message {
  flex-basis: 100% !important;
  width: 100% !important;
  margin-top: 0.5rem !important;
}

/* Stepper ilości w koszyku pełnym (/koszyk/) */
.woocommerce-cart-form .product-quantity .quantity,
.woocommerce-cart .shop_table .quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #181818 !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 9999px !important;
  height: 44px !important;
  min-width: 105px !important;
  max-width: 120px !important;
  padding: 0 3px !important;
  box-sizing: border-box !important;
}

.woocommerce-cart-form .product-quantity .quantity input.qty,
.woocommerce-cart .shop_table .quantity input.qty {
  all: unset !important;
  width: 36px !important;
  height: 38px !important;
  background: transparent !important;
  border: none !important;
  color: #FFFFFF !important;
  text-align: center !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  -moz-appearance: textfield !important;
}

.woocommerce-cart-form .product-quantity .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .product-quantity .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Przycisk przejścia do wariantów na kartach produktów (Siatka sklepu, Karuzela, Quiz) */
.pcard-var-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #FFFFFF !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

.pcard-var-btn:hover {
  background: #e95321 !important;
  border-color: #e95321 !important;
  color: #FFFFFF !important;
  transform: scale(1.1) !important;
  box-shadow: 0 4px 16px rgba(233, 83, 33, 0.45) !important;
}

.pcard-var-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
}

/* Animacja wstrząśnięcia przy próbie zakupu bez wyboru wariantu */
@keyframes selectionShake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

.selection-required-shake {
  animation: selectionShake 0.45s ease-in-out !important;
  outline: 2px solid #e95321 !important;
  border-radius: 12px !important;
}

/* ==========================================================================
   LUCSOY CART & CHECKOUT MODERN LUXURY REDESIGN ("A MOŻE JESZCZE TO?")
   ========================================================================== */

/* 1. SIDE CART DRAWER UPSELL ("A może jeszcze to?") */
.side-cart-upsell-section {
  padding: 0.85rem 1.25rem !important;
  background: #171717 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
  flex-shrink: 0 !important;
}

.side-cart-upsell-header {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-bottom: 0.6rem !important;
}

.side-cart-upsell-tag {
  background: rgba(233, 83, 33, 0.15) !important;
  color: #E95321 !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  padding: 0.2rem 0.5rem !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.side-cart-upsell-title {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
}

.side-cart-upsell-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  background: #1D1D1D !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
  padding: 0.6rem 0.75rem !important;
  transition: border-color 0.2s ease, transform 0.2s ease !important;
}

.side-cart-upsell-item:hover {
  border-color: rgba(233, 83, 33, 0.4) !important;
}

.side-cart-upsell-thumb {
  width: 50px !important;
  height: 50px !important;
  flex-shrink: 0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #141414 !important;
}

.side-cart-upsell-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.side-cart-upsell-details {
  flex: 1 !important;
  min-width: 0 !important;
}

.side-cart-upsell-name {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
  margin: 0 0 0.2rem 0 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.side-cart-upsell-name a {
  color: #FFFFFF !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.side-cart-upsell-name a:hover {
  color: #E95321 !important;
}

.side-cart-upsell-price-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  flex-wrap: wrap !important;
}

.side-cart-upsell-price {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

.side-cart-upsell-price del {
  color: #777777 !important;
  font-weight: 400 !important;
  margin-right: 0.25rem !important;
}

.side-cart-upsell-price ins {
  text-decoration: none !important;
  color: #E95321 !important;
}

.side-cart-upsell-pct {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  color: #22c55e !important;
  background: rgba(34, 197, 94, 0.12) !important;
  padding: 0.15rem 0.4rem !important;
  border-radius: 4px !important;
}

.side-cart-upsell-btn-box {
  flex-shrink: 0 !important;
}

.side-cart-upsell-add-btn {
  background: #E95321 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 0.45rem 0.85rem !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.side-cart-upsell-add-btn:hover {
  background: #FF6633 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(233, 83, 33, 0.35) !important;
}

.side-cart-upsell-add-btn.loading {
  opacity: 0.75 !important;
  cursor: wait !important;
}

/* 2. FULL CART PAGE UPSELL GRID (/koszyk/) */
.cart-promo-crosssell-wrap {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
  background: #141414 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 14px !important;
  padding: 1.5rem !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3) !important;
}

.cart-crosssell-header {
  margin-bottom: 1.25rem !important;
}

.cart-crosssell-badge-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-bottom: 0.4rem !important;
}

.cart-crosssell-pill {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(233, 83, 33, 0.15) !important;
  color: #E95321 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  padding: 0.25rem 0.65rem !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.cart-crosssell-tag {
  color: #B0B0B0 !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
}

.cart-crosssell-top-row {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin-top: 0.35rem !important;
}

.cart-crosssell-top-text {
  flex: 1 !important;
}

.cart-crosssell-title {
  font-family: var(--font-heading) !important;
  font-size: 1.45rem !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 0.2rem 0 0.3rem 0 !important;
  letter-spacing: 0.3px !important;
}

.cart-crosssell-sub {
  font-size: 0.88rem !important;
  color: #9E9E9E !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.cart-crosssell-sub strong {
  color: #FFFFFF !important;
}

.cart-crosssell-nav-btns {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-shrink: 0 !important;
}

.crosssell-nav-btn {
  all: unset !important;
  box-sizing: border-box !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #222222 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #FFFFFF !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 10 !important;
  transition: all 0.2s ease !important;
}

.crosssell-nav-btn svg {
  pointer-events: none !important;
}

.crosssell-nav-btn:hover {
  background: #E95321 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  transform: scale(1.06) !important;
}

.crosssell-nav-btn:active {
  transform: scale(0.95) !important;
}

.cart-crosssell-carousel {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  margin-top: 1rem !important;
}

.cart-crosssell-track {
  display: flex !important;
  gap: 1rem !important;
  overflow-x: auto !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 0.5rem 0.25rem 1rem 0.25rem !important;
  scrollbar-width: none !important;
}

.cart-crosssell-track::-webkit-scrollbar {
  display: none !important;
}

.cart-crosssell-card {
  background: #1A1A1A !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 230px !important;
  max-width: 250px !important;
  scroll-snap-align: start !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

@media (max-width: 480px) {
  .cart-crosssell-card {
    flex: 0 0 195px !important;
    max-width: 210px !important;
  }
}

.cart-crosssell-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(233, 83, 33, 0.5) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5) !important;
}

.cart-crosssell-thumb {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: #101010 !important;
  overflow: hidden !important;
}

.cart-crosssell-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.3s ease !important;
}

.cart-crosssell-card:hover .cart-crosssell-thumb img {
  transform: scale(1.04) !important;
}

.cart-crosssell-discount {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  background: #E95321 !important;
  color: #FFFFFF !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  padding: 0.2rem 0.55rem !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

.cart-crosssell-details {
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.cart-crosssell-item-title {
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  margin: 0 0 0.5rem 0 !important;
  flex: 1 !important;
}

.cart-crosssell-item-title a {
  color: #FFFFFF !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.cart-crosssell-item-title a:hover {
  color: #E95321 !important;
}

.cart-crosssell-item-price {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  margin-bottom: 0.85rem !important;
}

.cart-crosssell-item-price del {
  color: #777777 !important;
  font-weight: 400 !important;
  margin-right: 0.35rem !important;
}

.cart-crosssell-item-price ins {
  text-decoration: none !important;
  color: #E95321 !important;
}

.cart-crosssell-add-btn {
  width: 100% !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #FFFFFF !important;
  padding: 0.65rem 1rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  border-radius: 25px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  transition: all 0.2s ease !important;
}

.cart-crosssell-add-btn:hover {
  background: #E95321 !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 15px rgba(233, 83, 33, 0.4) !important;
}

/* 3. CHECKOUT ORDER BUMP CARD (/zamowienie/) */
.lucsoy-checkout-order-bump {
  background: rgba(233, 83, 33, 0.04) !important;
  border: 1.5px dashed rgba(233, 83, 33, 0.45) !important;
  border-radius: 12px !important;
  padding: 1.15rem 1.25rem !important;
  margin: 1.5rem 0 !important;
  position: relative !important;
  transition: all 0.25s ease !important;
}

.lucsoy-checkout-order-bump:hover,
.lucsoy-checkout-order-bump.is-bump-active {
  border-color: #E95321 !important;
  background: rgba(233, 83, 33, 0.07) !important;
  box-shadow: 0 4px 20px rgba(233, 83, 33, 0.15) !important;
}

.order-bump-badge-line {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
  margin-bottom: 0.75rem !important;
  flex-wrap: wrap !important;
}

.order-bump-pill {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: #E95321 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
}

.order-bump-save-tag {
  background: #22c55e !important;
  color: #000000 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  padding: 0.15rem 0.55rem !important;
  border-radius: 4px !important;
}

.order-bump-body {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
}

.order-bump-thumb {
  width: 62px !important;
  height: 62px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #141414 !important;
}

.order-bump-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.order-bump-info {
  flex: 1 !important;
  min-width: 0 !important;
}

.order-bump-lead {
  display: block !important;
  font-size: 0.78rem !important;
  color: #B0B0B0 !important;
  font-weight: 500 !important;
}

.order-bump-title {
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 0.15rem 0 0.25rem 0 !important;
  line-height: 1.3 !important;
}

.order-bump-pricing {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
}

.order-bump-pricing del {
  color: #777777 !important;
  font-weight: 400 !important;
  margin-right: 0.35rem !important;
}

.order-bump-pricing ins {
  text-decoration: none !important;
  color: #E95321 !important;
}

.order-bump-cta {
  flex-shrink: 0 !important;
}

.order-bump-btn {
  border: none !important;
  border-radius: 20px !important;
  padding: 0.6rem 1.15rem !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  transition: all 0.2s ease !important;
}

.bump-add-btn {
  background: #E95321 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(233, 83, 33, 0.4) !important;
}

.bump-add-btn:hover {
  background: #FF6633 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(233, 83, 33, 0.55) !important;
}

.bump-remove-btn {
  background: rgba(34, 197, 94, 0.15) !important;
  color: #22c55e !important;
  border: 1px solid rgba(34, 197, 94, 0.4) !important;
}

.bump-remove-btn:hover {
  background: rgba(239, 68, 68, 0.15) !important;
  color: #ef4444 !important;
  border-color: rgba(239, 68, 68, 0.4) !important;
}

.order-bump-nudge {
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  font-size: 0.74rem !important;
  color: #A0A0A0 !important;
  margin-top: 0.75rem !important;
  padding-top: 0.55rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.order-bump-nudge svg {
  color: #E95321 !important;
  flex-shrink: 0 !important;
}

/* 4. CHECKOUT TRUST BADGES STRIP */
.checkout-trust-badges-wrap {
  margin-top: 1.25rem !important;
  padding-top: 1.15rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.checkout-trust-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.75rem !important;
}

.trust-badge-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  background: #181818 !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-radius: 8px !important;
  padding: 0.6rem 0.75rem !important;
}

.trust-badge-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: rgba(233, 83, 33, 0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #E95321 !important;
  flex-shrink: 0 !important;
}

.trust-badge-text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.2 !important;
}

.trust-badge-text strong {
  font-size: 0.78rem !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

.trust-badge-text span {
  font-size: 0.68rem !important;
  color: #8E8E8E !important;
}

/* 5. GENERAL MODERN CHECKOUT STYLING (DARK LUXURY OVERHAUL) */
/* Zachowujemy wszystkie ID i klasy WooCommerce oraz wtyczek wysyłek/płatności */
.luc-checkout-main {
  padding-top: 1.5rem !important;
  padding-bottom: 4rem !important;
}

.luc-checkout-breadcrumbs {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  margin-bottom: 1.25rem !important;
  font-size: 0.85rem !important;
  color: #8E8E8E !important;
}

.luc-checkout-breadcrumbs a {
  color: #A8A39D !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.luc-checkout-breadcrumbs a:hover {
  color: #FFFFFF !important;
}

.luc-checkout-breadcrumbs .sep {
  color: rgba(255, 255, 255, 0.2) !important;
}

.luc-checkout-breadcrumbs .step-active {
  color: #E95321 !important;
  font-weight: 600 !important;
}

.luc-checkout-breadcrumbs .step-next {
  color: #666666 !important;
}

.luc-checkout-head {
  margin-bottom: 1.75rem !important;
}

.luc-checkout-title {
  font-family: var(--font-heading, "Cormorant Garamond", serif) !important;
  font-size: clamp(1.8rem, 3.5vw, 2.4rem) !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  letter-spacing: -0.02em !important;
}

/* UKŁAD FORMULARZA KASY: MOBILE (1 KOLUMNA) ORAZ DESKTOP PC (2 KOLUMNY) */
.luc-checkout-layout,
form.woocommerce-checkout {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.75rem !important;
  width: 100% !important;
  color: #FFFFFF !important;
}

.luc-checkout-col-left,
.luc-checkout-col-right {
  width: 100% !important;
  min-width: 0 !important;
}

/* NA PC (DESKTOP min-width: 992px) - 2 KOLUMNY: FORMULARZ PO LEWEJ, TWOJE ZAMÓWIENIE PO PRAWEJ */
@media (min-width: 992px) {
  .luc-checkout-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 440px !important;
    gap: 2.5rem !important;
    align-items: start !important;
    width: 100% !important;
  }

  @media (min-width: 1200px) {
    .luc-checkout-layout {
      grid-template-columns: minmax(0, 1fr) 480px !important;
      gap: 3rem !important;
    }
  }

  .luc-checkout-col-left {
    grid-column: 1 !important;
    width: 100% !important;
  }

  .luc-checkout-col-right {
    grid-column: 2 !important;
    width: 100% !important;
    position: sticky !important;
    top: 96px !important;
    z-index: 10 !important;
  }

  /* Fallback jeśli formularz nie posiada klasy .luc-checkout-layout */
  form.woocommerce-checkout:not(.luc-checkout-layout) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 440px !important;
    gap: 2.5rem !important;
    align-items: start !important;
    width: 100% !important;
  }
  @media (min-width: 1200px) {
    form.woocommerce-checkout:not(.luc-checkout-layout) {
      grid-template-columns: minmax(0, 1fr) 480px !important;
    }
  }
  form.woocommerce-checkout:not(.luc-checkout-layout) #customer_details {
    grid-column: 1 !important;
    grid-row: 1 / span 10 !important;
    width: 100% !important;
    margin: 0 !important;
  }
  form.woocommerce-checkout:not(.luc-checkout-layout) #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 0 1rem 0 !important;
  }
  form.woocommerce-checkout:not(.luc-checkout-layout) #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
    position: sticky !important;
    top: 96px !important;
    z-index: 10 !important;
  }
}

.woocommerce-checkout h3 {
  font-family: var(--font-heading) !important;
  font-size: 1.45rem !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 0 0 1.25rem 0 !important;
  padding-bottom: 0.6rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  letter-spacing: 0.3px !important;
}

/* Kolumny formularzy rozliczeniowych i wysyłkowych */
.e-checkout__column-start,
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2,
.woocommerce-checkout .col2-set {
  background: transparent !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields:has(.form-row),
.woocommerce-additional-fields {
  background: #141414 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25) !important;
}

.woocommerce-shipping-fields:not(:has(.form-row)) {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* Pola wejściowe (Input, Textarea, Select) */
.woocommerce-checkout .form-row {
  margin-bottom: 1rem !important;
  padding: 0 !important;
}

.woocommerce-checkout .form-row label {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: #D1D1D1 !important;
  margin-bottom: 0.35rem !important;
  display: block !important;
}

.woocommerce-checkout .form-row label .required {
  color: #E95321 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  background-color: #1B1B1B !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 0.75rem 0.95rem !important;
  font-size: 0.9rem !important;
  font-family: inherit !important;
  width: 100% !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  background-color: #202020 !important;
  border-color: #E95321 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.2) !important;
}

.woocommerce-checkout .form-row .input-text::placeholder,
.woocommerce-checkout .form-row textarea::placeholder {
  color: #666666 !important;
}

/* Select2 ciemny motyw */
.woocommerce-checkout .select2-container--default .select2-selection--single {
  background-color: #1B1B1B !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  height: 44px !important;
  padding: 0.5rem 0.75rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #FFFFFF !important;
  line-height: 28px !important;
  padding: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
}

/* Prawa kolumna: Podsumowanie zamówienia (Karta Dark Luxury) */
#order_review,
.luc-checkout-order-review-card,
.e-checkout__column-end .e-checkout__column-inner,
.e-sticky-right-column {
  background: #141414 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 14px !important;
  padding: 1.5rem !important;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.4) !important;
  box-sizing: border-box !important;
}

@media (min-width: 992px) {
  #order_review,
  .luc-checkout-order-review-card {
    padding: 1.75rem !important;
  }
}

#order_review_heading {
  font-family: var(--font-heading) !important;
  font-size: 1.45rem !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin-bottom: 1.25rem !important;
}

/* Tabela produktów w podsumowaniu */
.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin-bottom: 1.25rem !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 0.85rem 0.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: #D1D1D1 !important;
  font-size: 0.9rem !important;
}

.woocommerce-checkout-review-order-table thead th {
  color: #888888 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.woocommerce-checkout-review-order-table tbody .product-name {
  color: #FFFFFF !important;
  font-weight: 500 !important;
}

.woocommerce-checkout-review-order-table tbody .product-total,
.woocommerce-checkout-review-order-table tbody .product-total .amount {
  color: #FFFFFF !important;
  font-weight: 600 !important;
  text-align: right !important;
}

.woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
.woocommerce-checkout-review-order-table tfoot .cart-subtotal td {
  font-weight: 600 !important;
  color: #FFFFFF !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-bottom: none !important;
  padding-top: 1.15rem !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total td strong .amount {
  color: #E95321 !important;
}

/* Metody wysyłki w kasie i w koszyku (WooCommerce & Elementor Checkout) */
.woocommerce-checkout tr.woocommerce-shipping-totals,
.woocommerce-checkout tr.shipping,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals,
.woocommerce-checkout-review-order-table tr.shipping,
.elementor-widget-woocommerce-checkout-page tr.woocommerce-shipping-totals,
.elementor-widget-woocommerce-checkout-page tr.shipping,
.cart_totals tr.shipping,
.cart_totals tr.woocommerce-shipping-totals {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 1.15rem 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.woocommerce-checkout tr.woocommerce-shipping-totals th,
.woocommerce-checkout tr.shipping th,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table tr.shipping th,
.elementor-widget-woocommerce-checkout-page tr.woocommerce-shipping-totals th,
.elementor-widget-woocommerce-checkout-page tr.shipping th,
.cart_totals tr.shipping th,
.cart_totals tr.woocommerce-shipping-totals th {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 0 0 0.75rem 0 !important;
  text-align: left !important;
  border: none !important;
}

.woocommerce-checkout tr.woocommerce-shipping-totals td,
.woocommerce-checkout tr.shipping td,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td,
.woocommerce-checkout-review-order-table tr.shipping td,
.elementor-widget-woocommerce-checkout-page tr.woocommerce-shipping-totals td,
.elementor-widget-woocommerce-checkout-page tr.shipping td,
.elementor-widget-woocommerce-checkout-page .woocommerce-shipping-totals td,
.cart_totals tr.shipping td,
.cart_totals tr.woocommerce-shipping-totals td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  padding: 0 !important;
  border: none !important;
  text-align: left !important;
}

ul#shipping_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  width: 100% !important;
  max-width: 100% !important;
}

ul#shipping_method li {
  margin: 0 !important;
  padding: 0.85rem 1.15rem !important;
  background: #181818 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.85rem !important;
  cursor: pointer !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

ul#shipping_method li:hover {
  border-color: rgba(233, 83, 33, 0.5) !important;
  background: #202020 !important;
}

ul#shipping_method li:has(input[type="radio"]:checked),
ul#shipping_method li.selected {
  border-color: #E95321 !important;
  background: rgba(233, 83, 33, 0.08) !important;
  box-shadow: 0 0 0 1px #E95321 !important;
}

ul#shipping_method li input[type="radio"] {
  accent-color: #E95321 !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}

ul#shipping_method li label {
  color: #FFFFFF !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  flex: 1 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  white-space: normal !important;
  line-height: 1.4 !important;
  gap: 0.75rem !important;
}

ul#shipping_method li label .amount,
ul#shipping_method li label span.woocommerce-Price-amount {
  color: #E95321 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  white-space: nowrap !important;
  margin-left: auto !important;
}

/* Metody płatności (WooCommerce Checkout Payment) */
#payment.woocommerce-checkout-payment {
  background: #181818 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  padding: 1.25rem !important;
  margin: 1.5rem 0 !important;
}

#payment ul.payment_methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
}

#payment ul.payment_methods li.wc_payment_method {
  background: #1E1E1E !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
  padding: 0.85rem 1rem !important;
  transition: border-color 0.2s ease !important;
}

#payment ul.payment_methods li.wc_payment_method input[type="radio"] {
  accent-color: #E95321 !important;
  width: 17px !important;
  height: 17px !important;
  margin-right: 0.5rem !important;
  cursor: pointer !important;
}

#payment ul.payment_methods li.wc_payment_method label {
  color: #FFFFFF !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  cursor: pointer !important;
}

#payment div.payment_box {
  background: #141414 !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-radius: 6px !important;
  padding: 0.85rem !important;
  margin-top: 0.65rem !important;
  color: #B5B5B5 !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
}

#payment div.payment_box::before {
  display: none !important;
}

/* Checkbox akceptacji regulaminu */
.woocommerce-terms-and-conditions-wrapper {
  margin: 1.25rem 0 !important;
}

.woocommerce-terms-and-conditions-wrapper label {
  font-size: 0.85rem !important;
  color: #C2C2C2 !important;
  line-height: 1.4 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  cursor: pointer !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  accent-color: #E95321 !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: 0.15rem !important;
  flex-shrink: 0 !important;
}

.woocommerce-terms-and-conditions-wrapper a {
  color: #E95321 !important;
  text-decoration: underline !important;
}

/* Główny przycisk "Kupuję i płacę" */
#place_order,
button#place_order.button {
  float: none !important;
  clear: both !important;
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  color: #FFFFFF !important;
  font-family: inherit !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  padding: 1.15rem 2rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  width: 100% !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(233, 83, 33, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
  transition: all 0.25s ease !important;
  display: block !important;
  text-align: center !important;
  margin: 1.5rem 0 1.25rem 0 !important;
}

#place_order:hover,
button#place_order.button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(233, 83, 33, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
}

/* ==========================================================================
   6. PEŁNY KOSZYK (/koszyk/) - DESKTOP I MOBILE DARK LUXURY STYLING
   ========================================================================== */

/* Kontenery koszyka */
.woocommerce-cart .woocommerce,
.elementor-widget-woocommerce-cart .e-cart__container {
  width: 100% !important;
  max-width: 100% !important;
}

.woocommerce-cart table.cart,
.elementor-widget-woocommerce-cart table.cart {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* Nagłówek tabeli desktop */
.woocommerce-cart table.cart thead th,
.elementor-widget-woocommerce-cart table.cart thead th {
  background: transparent !important;
  color: #888888 !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 0.85rem 0.75rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Komórki tabeli desktop */
.woocommerce-cart table.cart tbody tr.cart_item td,
.elementor-widget-woocommerce-cart table.cart tbody tr.cart_item td {
  padding: 1.15rem 0.75rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: #D1D1D1 !important;
  vertical-align: middle !important;
}

.woocommerce-cart table.cart td.product-name a,
.elementor-widget-woocommerce-cart table.cart td.product-name a {
  color: #FFFFFF !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.woocommerce-cart table.cart td.product-name a:hover,
.elementor-widget-woocommerce-cart table.cart td.product-name a:hover {
  color: #E95321 !important;
}

.woocommerce-cart table.cart td.product-price .amount,
.elementor-widget-woocommerce-cart table.cart td.product-price .amount,
.woocommerce-cart table.cart td.product-price bdi,
.elementor-widget-woocommerce-cart table.cart td.product-price bdi {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

.woocommerce-cart table.cart td.product-subtotal .amount,
.elementor-widget-woocommerce-cart table.cart td.product-subtotal .amount,
.woocommerce-cart table.cart td.product-subtotal bdi,
.elementor-widget-woocommerce-cart table.cart td.product-subtotal bdi {
  color: #E95321 !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
}

.woocommerce-cart table.cart td.product-remove a.remove,
.elementor-widget-woocommerce-cart table.cart td.product-remove a.remove {
  color: #ef4444 !important;
  font-size: 1.4rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: transform 0.2s ease !important;
  display: inline-block !important;
}

.woocommerce-cart table.cart td.product-remove a.remove:hover,
.elementor-widget-woocommerce-cart table.cart td.product-remove a.remove:hover {
  transform: scale(1.2) !important;
}

/* Podsumowanie koszyka (Cart Totals) */
.cart-collaterals .cart_totals,
.elementor-widget-woocommerce-cart .cart_totals {
  background: #141414 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 14px !important;
  padding: 1.5rem !important;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.4) !important;
  box-sizing: border-box !important;
}

.cart-collaterals .cart_totals h2,
.elementor-widget-woocommerce-cart .cart_totals h2 {
  font-family: var(--font-heading) !important;
  font-size: 1.45rem !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 0 0 1.25rem 0 !important;
  padding-bottom: 0.6rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  letter-spacing: 0.3px !important;
}

.cart-collaterals .cart_totals table.shop_table,
.elementor-widget-woocommerce-cart .cart_totals table.shop_table {
  width: 100% !important;
  margin-bottom: 1.25rem !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.cart-collaterals .cart_totals table.shop_table th,
.elementor-widget-woocommerce-cart .cart_totals table.shop_table th {
  padding: 0.85rem 0.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: #888888 !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
}

.cart-collaterals .cart_totals table.shop_table td,
.elementor-widget-woocommerce-cart .cart_totals table.shop_table td {
  padding: 0.85rem 0.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: #FFFFFF !important;
  font-size: 0.95rem !important;
  text-align: right !important;
}

.cart-collaterals .cart_totals table.shop_table tr.order-total th,
.elementor-widget-woocommerce-cart .cart_totals table.shop_table tr.order-total th {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-bottom: none !important;
  padding-top: 1.15rem !important;
}

.cart-collaterals .cart_totals table.shop_table tr.order-total td,
.elementor-widget-woocommerce-cart .cart_totals table.shop_table tr.order-total td {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-bottom: none !important;
  padding-top: 1.15rem !important;
}

.cart-collaterals .cart_totals table.shop_table tr.order-total td strong .amount,
.elementor-widget-woocommerce-cart .cart_totals table.shop_table tr.order-total td strong .amount {
  color: #E95321 !important;
  font-size: 1.25rem !important;
}

/* Główny przycisk przejścia do kasy (Checkout Button) */
.cart-collaterals .wc-proceed-to-checkout,
.elementor-widget-woocommerce-cart .wc-proceed-to-checkout {
  padding: 0 !important;
  margin: 1.25rem 0 0.5rem 0 !important;
  width: 100% !important;
}

.cart-collaterals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.elementor-97 .elementor-element.elementor-element-007f88b .checkout-button,
.woocommerce-cart a.checkout-button.button,
a.checkout-button.button.alt.wc-forward {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  background: #E95321 !important;
  border: 1.5px solid #E95321 !important;
  color: #FFFFFF !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 18px rgba(233, 83, 33, 0.42) !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  padding: 0 1.5rem !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

.cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.elementor-97 .elementor-element.elementor-element-007f88b .checkout-button:hover,
.woocommerce-cart a.checkout-button.button:hover,
a.checkout-button.button.alt.wc-forward:hover {
  background: #FF6633 !important;
  border-color: #FF6633 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(233, 83, 33, 0.6) !important;
}

/* Odznaka bezpiecznych płatności pod przyciskiem w koszyku */
.lucsoy-secure-badge {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  margin-top: 1rem !important;
  color: #A0A0A0 !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  text-align: center !important;
}

.lucsoy-secure-badge svg {
  width: 18px !important;
  height: 18px !important;
  color: #22c55e !important;
  flex-shrink: 0 !important;
}

/* ==========================================================================
   7. RESPONSYWNOŚĆ DLA MOBILE (MAX-WIDTH: 768px)
   ========================================================================== */
@media (max-width: 768px) {
  /* Ogólne siatki i bumps */
  .cart-crosssell-grid {
    grid-template-columns: 1fr !important;
  }
  .checkout-trust-grid {
    grid-template-columns: 1fr !important;
  }
  .order-bump-body {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .order-bump-cta {
    width: 100% !important;
  }
  .order-bump-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Wyłączenie sticky right column na mobile, aby nie nachodziło na górę strony */
  .e-sticky-right-column--active,
  .elementor-widget-woocommerce-cart .e-sticky-right-column,
  .elementor-widget-woocommerce-cart .e-cart__column-end,
  .cart-collaterals {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Reset kontenerów koszyka i tabeli */
  .elementor-widget-woocommerce-cart,
  .elementor-widget-woocommerce-cart .e-cart__container,
  .elementor-widget-woocommerce-cart .e-cart__column-start,
  .woocommerce-cart-form,
  .woocommerce-cart .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Ukryj nagłówek tabeli koszyka */
  .woocommerce-cart-form table.shop_table_responsive thead,
  .woocommerce-cart table.cart thead,
  .elementor-widget-woocommerce-cart table.cart thead {
    display: none !important;
  }

  /* Tabela jako pionowy stos kart */
  .woocommerce-cart-form table.shop_table_responsive,
  .woocommerce-cart table.cart,
  .elementor-widget-woocommerce-cart table.cart {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tbody,
  .woocommerce-cart table.cart tbody,
  .elementor-widget-woocommerce-cart table.cart tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.15rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Pojedyncza karta produktu w koszyku */
  .woocommerce-cart-form table.shop_table_responsive tr.cart_item,
  .woocommerce-cart table.cart tbody tr.cart_item,
  .elementor-widget-woocommerce-cart table.cart tbody tr.cart_item {
    display: block !important;
    position: relative !important;
    background: #181818 !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-radius: 14px !important;
    padding: 1.25rem 1rem 1rem 1rem !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
  }

  /* Przycisk usuwania "X" w prawym górnym rogu karty */
  .woocommerce-cart-form table.shop_table_responsive tr td.product-remove,
  .woocommerce-cart table.cart td.product-remove,
  .elementor-widget-woocommerce-cart table.cart td.product-remove {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    display: block !important;
    text-align: right !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    z-index: 5 !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr td.product-remove::before,
  .woocommerce-cart table.cart td.product-remove::before,
  .elementor-widget-woocommerce-cart table.cart td.product-remove::before {
    display: none !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr td.product-remove a.remove,
  .woocommerce-cart table.cart td.product-remove a.remove,
  .elementor-widget-woocommerce-cart table.cart td.product-remove a.remove {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: rgba(239, 68, 68, 0.12) !important;
    color: #ef4444 !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr td.product-remove a.remove:hover,
  .woocommerce-cart table.cart td.product-remove a.remove:hover {
    background: #ef4444 !important;
    color: #ffffff !important;
  }

  /* Miniaturka produktu na środku karty */
  .woocommerce-cart-form table.shop_table_responsive tr td.product-thumbnail,
  .woocommerce-cart table.cart td.product-thumbnail,
  .elementor-widget-woocommerce-cart table.cart td.product-thumbnail {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0 0 1rem 0 !important;
    border: none !important;
    width: 100% !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr td.product-thumbnail::before,
  .woocommerce-cart table.cart td.product-thumbnail::before,
  .elementor-widget-woocommerce-cart table.cart td.product-thumbnail::before {
    display: none !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr td.product-thumbnail img,
  .woocommerce-cart table.cart td.product-thumbnail img,
  .elementor-widget-woocommerce-cart table.cart td.product-thumbnail img {
    width: 100px !important;
    height: 100px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
  }

  /* Wiersze danych produktu w karcie (Produkt, Cena, Ilość, Kwota) z flexbox */
  .woocommerce-cart-form table.shop_table_responsive tr td.product-name,
  .woocommerce-cart-form table.shop_table_responsive tr td.product-price,
  .woocommerce-cart-form table.shop_table_responsive tr td.product-quantity,
  .woocommerce-cart-form table.shop_table_responsive tr td.product-subtotal,
  .woocommerce-cart table.cart td.product-name,
  .woocommerce-cart table.cart td.product-price,
  .woocommerce-cart table.cart td.product-quantity,
  .woocommerce-cart table.cart td.product-subtotal,
  .elementor-widget-woocommerce-cart table.cart td.product-name,
  .elementor-widget-woocommerce-cart table.cart td.product-price,
  .elementor-widget-woocommerce-cart table.cart td.product-quantity,
  .elementor-widget-woocommerce-cart table.cart td.product-subtotal {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0.65rem 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: right !important;
    clear: both !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr td.product-subtotal,
  .woocommerce-cart table.cart td.product-subtotal,
  .elementor-widget-woocommerce-cart table.cart td.product-subtotal {
    border-bottom: none !important;
  }

  /* Etykiety z lewej strony (Produkt:, Cena:, Ilość:, Kwota:) */
  .woocommerce-cart-form table.shop_table_responsive tr td::before,
  .woocommerce-cart table.cart td::before,
  .elementor-widget-woocommerce-cart table.cart td::before {
    content: attr(data-title) !important;
    float: none !important;
    color: #A0A0A0 !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    text-align: left !important;
    flex-shrink: 0 !important;
  }

  /* Wartości z prawej strony */
  .woocommerce-cart-form table.shop_table_responsive tr td.product-name a,
  .woocommerce-cart table.cart td.product-name a,
  .elementor-widget-woocommerce-cart table.cart td.product-name a {
    color: #FFFFFF !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    text-align: right !important;
    max-width: 65% !important;
    line-height: 1.35 !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr td.product-price .amount,
  .woocommerce-cart-form table.shop_table_responsive tr td.product-price bdi,
  .woocommerce-cart table.cart td.product-price .amount,
  .woocommerce-cart table.cart td.product-price bdi,
  .elementor-widget-woocommerce-cart table.cart td.product-price .amount,
  .elementor-widget-woocommerce-cart table.cart td.product-price bdi {
    color: #D1D1D1 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr td.product-subtotal .amount,
  .woocommerce-cart-form table.shop_table_responsive tr td.product-subtotal bdi,
  .woocommerce-cart table.cart td.product-subtotal .amount,
  .woocommerce-cart table.cart td.product-subtotal bdi,
  .elementor-widget-woocommerce-cart table.cart td.product-subtotal .amount,
  .elementor-widget-woocommerce-cart table.cart td.product-subtotal bdi {
    color: #E95321 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr td.product-quantity .quantity,
  .woocommerce-cart table.cart td.product-quantity .quantity,
  .elementor-widget-woocommerce-cart table.cart td.product-quantity .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-left: auto !important;
  }

  /* Ukryj techniczny wiersz akcji aktualizacji koszyka */
  .woocommerce-cart-form table.shop_table_responsive tr td.actions,
  .woocommerce-cart table.cart td.actions,
  .elementor-widget-woocommerce-cart table.cart td.actions {
    display: none !important;
  }

  /* 2. Podsumowanie koszyka (.cart-collaterals & .cart_totals) na mobile */
  .cart-collaterals,
  .cart-collaterals .cart_totals,
  .elementor-widget-woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    background: #181818 !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-radius: 14px !important;
    padding: 1.25rem 1rem !important;
    margin-top: 1.5rem !important;
    box-sizing: border-box !important;
  }

  .cart-collaterals .cart_totals h2,
  .elementor-widget-woocommerce-cart .cart_totals h2 {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    margin: 0 0 1rem 0 !important;
    padding-bottom: 0.65rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    text-align: left !important;
  }

  .cart-collaterals .cart_totals table.shop_table,
  .elementor-widget-woocommerce-cart .cart_totals table.shop_table {
    width: 100% !important;
    margin-bottom: 1.25rem !important;
    border: none !important;
    display: table !important;
  }

  .cart-collaterals .cart_totals table.shop_table tr,
  .elementor-widget-woocommerce-cart .cart_totals table.shop_table tr {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0.65rem 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .cart-collaterals .cart_totals table.shop_table tr.order-total,
  .elementor-widget-woocommerce-cart .cart_totals table.shop_table tr.order-total {
    border-bottom: none !important;
    padding-top: 0.85rem !important;
  }

  .cart-collaterals .cart_totals table.shop_table th,
  .elementor-widget-woocommerce-cart .cart_totals table.shop_table th {
    color: #A0A0A0 !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    border: none !important;
    padding: 0 !important;
    text-align: left !important;
    width: auto !important;
  }

  .cart-collaterals .cart_totals table.shop_table td,
  .elementor-widget-woocommerce-cart .cart_totals table.shop_table td {
    color: #FFFFFF !important;
    font-size: 0.95rem !important;
    border: none !important;
    padding: 0 !important;
    text-align: right !important;
    width: auto !important;
  }

  .cart-collaterals .cart_totals table.shop_table td::before,
  .elementor-widget-woocommerce-cart .cart_totals table.shop_table td::before {
    display: none !important;
  }

  .cart-collaterals .cart_totals table.shop_table tr.order-total td strong .amount,
  .elementor-widget-woocommerce-cart .cart_totals table.shop_table tr.order-total td strong .amount {
    color: #E95321 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
  }

  /* 3. Przycisk przejścia do kasy na mobile */
  .cart-collaterals .wc-proceed-to-checkout,
  .elementor-widget-woocommerce-cart .wc-proceed-to-checkout {
    width: 100% !important;
    margin: 1.25rem 0 0.5rem 0 !important;
    padding: 0 !important;
  }

  .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
  .elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
  .elementor-97 .elementor-element.elementor-element-007f88b .checkout-button,
  .woocommerce-cart a.checkout-button.button,
  a.checkout-button.button.alt.wc-forward {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 52px !important;
    background: #E95321 !important;
    border: 1px solid #E95321 !important;
    color: #FFFFFF !important;
    font-family: inherit !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 9999px !important;
    box-shadow: 0 4px 18px rgba(233, 83, 33, 0.42) !important;
    box-sizing: border-box !important;
    padding: 0 1rem !important;
    text-align: center !important;
  }

  /* 4. Karuzela rekomendacji w koszyku na mobile */
  .cart-promo-crosssell-wrap {
    padding: 1.15rem 0.85rem !important;
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    border-radius: 12px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .cart-crosssell-title {
    font-size: 1.15rem !important;
  }

  .cart-crosssell-sub {
    font-size: 0.82rem !important;
  }

  /* Pasek darmowej dostawy na mobile */
  .wpr-fs-container {
    max-width: 100% !important;
    padding: 0 0.5rem !important;
    box-sizing: border-box !important;
  }
  .wpr-fs-bar {
    max-width: 100% !important;
  }
}








/* ==========================================================================
   PODSTRONA "O NAS" (DARK LUXURY - LUCSOY MANUFAKTURA GDAŃSK)
   ========================================================================== */

.about-page {
  background-color: #121212;
  color: #E0E0E0;
  font-family: 'Montserrat', sans-serif;
  overflow-x: hidden;
  padding-bottom: 4rem;
}

.about-page .wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* 1. Okruszki chleba */
.about-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #888888;
  margin-bottom: 2.5rem;
  padding-top: 1.5rem;
}

.about-breadcrumbs a {
  color: #A0A0A0;
  text-decoration: none;
  transition: color 0.25s ease;
}

.about-breadcrumbs a:hover {
  color: #E95321;
}

.about-breadcrumbs .sep {
  color: #555555;
}

.about-breadcrumbs [aria-current="page"] {
  color: #FFFFFF;
  font-weight: 500;
}

/* 2. Nagłówki sekcji (Wspólny styl) */
.about-section-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 3.5rem;
}

.about-section-tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #E95321;
  background: rgba(233, 83, 33, 0.1);
  border: 1px solid rgba(233, 83, 33, 0.25);
  padding: 0.4rem 1.1rem;
  border-radius: 999px;
  margin-bottom: 1.25rem;
}

.about-section-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(2rem, 3.8vw, 2.85rem);
  color: #FFFFFF;
  font-weight: 400;
  line-height: 1.25;
  margin: 0 0 1.25rem;
  letter-spacing: -0.01em;
}

.about-section-desc {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #B5B5B5;
  margin: 0;
}

/* 3. Ozdobny separator płomienia */
.about-flame-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  max-width: 1000px;
  margin: 5.5rem auto;
  padding: 0 1.5rem;
}

.about-flame-divider .divider-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 83, 33, 0.35), transparent);
}

.about-flame-divider .divider-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(233, 83, 33, 0.18) 0%, rgba(18, 18, 18, 0) 70%);
  filter: drop-shadow(0 0 12px rgba(233, 83, 33, 0.35));
}

/* ==========================================================================
   SEKCJA 1: HERO
   ========================================================================== */
.about-hero-section {
  padding: 1rem 0 3rem;
  position: relative;
}

.about-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 4rem;
  align-items: center;
}

.about-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #E95321;
  background: rgba(233, 83, 33, 0.08);
  border: 1px solid rgba(233, 83, 33, 0.22);
  padding: 0.45rem 1.1rem;
  border-radius: 999px;
  margin-bottom: 1.5rem;
}

.about-pill svg {
  color: #E95321;
}

.about-hero-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(2.3rem, 4.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1.2;
  color: #FFFFFF;
  margin: 0 0 1.75rem;
  letter-spacing: -0.015em;
}

.about-hero-lead p {
  font-size: 1.05rem;
  line-height: 1.85;
  color: #C0C0C0;
  margin: 0 0 1.25rem;
}

.about-hero-lead p:last-child {
  margin-bottom: 2.25rem;
}

.about-trust-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  max-width: 540px;
}

.about-trust-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1.15rem;
  background: #181818;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 500;
  color: #EAEAEA;
  transition: all 0.25s ease;
}

.about-trust-item:hover {
  border-color: rgba(233, 83, 33, 0.35);
  background: #1c1c1c;
  transform: translateY(-2px);
}

.about-trust-item .trust-icon {
  font-size: 1.2rem;
  line-height: 1;
}

/* Kompozycja zdjęć Hero */
.about-hero-media {
  position: relative;
  display: flex;
  justify-content: center;
}

.about-media-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.about-media-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.about-media-card:hover img {
  transform: scale(1.04);
}

.about-hero-media .primary-media {
  width: 86%;
  aspect-ratio: 4/5;
  z-index: 1;
}

.about-hero-media .secondary-media {
  position: absolute;
  width: 48%;
  aspect-ratio: 1/1;
  bottom: -2.5rem;
  right: -1rem;
  z-index: 2;
  border: 3px solid #121212;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.8);
}

.about-hero-media .media-badge {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(18, 18, 18, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 0.55rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(233, 83, 33, 0.3);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFFFFF;
}

.about-hero-media .media-badge .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #E95321;
  box-shadow: 0 0 10px #E95321;
  animation: pulseDot 2s infinite ease-in-out;
}

@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(0.85); }
}

/* ==========================================================================
   SEKCJA 2: HISTORIA & WIZJA
   ========================================================================== */
.about-story-section {
  padding: 1rem 0;
}

.about-story-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 3.5rem;
  align-items: start;
}

.about-story-text p {
  font-size: 1.02rem;
  line-height: 1.85;
  color: #B5B5B5;
  margin: 0 0 1.5rem;
}

.about-story-text .story-lead {
  font-size: 1.22rem;
  line-height: 1.8;
  color: #FFFFFF;
  font-weight: 400;
  border-left: 2px solid #E95321;
  padding-left: 1.25rem;
  margin-bottom: 1.75rem;
}

.about-story-card {
  position: relative;
  background: #171717;
  border: 1px solid rgba(233, 83, 33, 0.2);
  border-radius: 20px;
  padding: 2.75rem 2.25rem;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
}

.about-story-card .story-quote-mark {
  font-family: 'Tenor Sans', serif;
  font-size: 5rem;
  line-height: 1;
  color: rgba(233, 83, 33, 0.25);
  position: absolute;
  top: 1rem;
  left: 2rem;
  pointer-events: none;
}

.about-story-card .story-quote {
  font-family: 'Tenor Sans', serif;
  font-size: 1.22rem;
  line-height: 1.75;
  color: #F0F0F0;
  font-style: italic;
  margin: 0 0 1.75rem;
  position: relative;
  z-index: 1;
}

.about-story-card .story-quote-author {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.about-story-card .story-quote-author strong {
  font-size: 1.05rem;
  color: #FFFFFF;
  letter-spacing: 0.02em;
}

.about-story-card .story-quote-author span {
  font-size: 0.82rem;
  color: #E95321;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
}

.story-milestones {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.milestone-item {
  display: flex;
  align-items: baseline;
  gap: 1.25rem;
}

.milestone-year {
  font-family: 'Tenor Sans', serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #E95321;
  min-width: 52px;
}

.milestone-text {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #A8A8A8;
}

/* ==========================================================================
   SEKCJA 3: TWÓRCY ("BREAKING BAD" W WYDANIU ŚWIEC)
   ========================================================================== */
.about-team-section {
  padding: 1rem 0;
}

.about-team-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}

.team-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.35s ease;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
}

.team-card:hover {
  transform: translateY(-6px);
  border-color: rgba(233, 83, 33, 0.4);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.65), 0 0 30px rgba(233, 83, 33, 0.12);
}

.team-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/11;
  overflow: hidden;
  background: #0d0d0d;
}

.team-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.team-card:hover .team-media img {
  transform: scale(1.05);
}

.team-role-tag {
  position: absolute;
  bottom: 1rem;
  left: 1.25rem;
  z-index: 2;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #FFFFFF;
  background: rgba(18, 18, 18, 0.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(233, 83, 33, 0.35);
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
}

.team-info {
  padding: 2.25rem 2.25rem 2.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.team-name {
  font-family: 'Tenor Sans', serif;
  font-size: 2rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.35rem;
}

.team-alias {
  font-size: 0.88rem;
  font-style: italic;
  color: #E95321;
  margin-bottom: 1.25rem;
}

.team-bio {
  font-size: 0.98rem;
  line-height: 1.8;
  color: #B5B5B5;
  margin: 0 0 1.75rem;
  flex: 1;
}

.team-skills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.skill-chip {
  font-size: 0.78rem;
  font-weight: 500;
  color: #D4D4D4;
  background: #202020;
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  transition: all 0.25s ease;
}

.team-card:hover .skill-chip {
  border-color: rgba(233, 83, 33, 0.25);
  color: #FFFFFF;
}

/* ==========================================================================
   SEKCJA 4: STANDARDY JAKOŚCI (WOSK, CERTYFIKATY, KNOTY)
   ========================================================================== */
.about-standards-section {
  padding: 1rem 0;
}

.about-standards-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 3.5rem;
  align-items: center;
}

.about-pillars-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.pillar-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 2rem 1.65rem;
  transition: all 0.3s ease;
}

.pillar-card:hover {
  transform: translateY(-4px);
  border-color: rgba(233, 83, 33, 0.35);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}

.pillar-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(233, 83, 33, 0.12);
  color: #E95321;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  border: 1px solid rgba(233, 83, 33, 0.25);
}

.pillar-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.22rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.85rem;
}

.pillar-text {
  font-size: 0.92rem;
  line-height: 1.7;
  color: #A5A5A5;
  margin: 0;
}

.about-standards-media .standards-media-frame {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.6);
  aspect-ratio: 4/5;
}

.standards-media-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.standards-overlay-box {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(12, 12, 12, 0.95) 45%, #0C0C0C 100%);
  padding: 3rem 2rem 2rem;
}

.standards-quote {
  font-family: 'Tenor Sans', serif;
  font-size: 1.15rem;
  line-height: 1.6;
  color: #F5F5F5;
  font-style: italic;
  display: block;
  text-align: center;
}

/* ==========================================================================
   SEKCJA 5: OPINIE KLIENTÓW (MIEJSCE NA WIDŻET TRUSTMATE)
   ========================================================================== */
.about-reviews-section {
  padding: 1rem 0;
}

.about-trustmate-wrap {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
}

.trustmate-about-widget {
  width: 100%;
  margin: 1.5rem auto 0;
  min-height: 80px;
  display: block;
}

.trustmate-about-widget:empty {
  min-height: 140px;
  border: 1px dashed rgba(233, 83, 33, 0.25);
  border-radius: 16px;
  background: rgba(24, 24, 24, 0.4);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.trustmate-about-widget:empty::before {
  content: "Miejsce na widżet opinii TrustMate";
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #777777;
  font-weight: 500;
}

/* ==========================================================================
   SEKCJA 6: KONTAKT & FORMULARZ
   ========================================================================== */
.about-contact-section {
  padding: 1rem 0;
  scroll-margin-top: 5rem;
}

.about-contact-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 4rem;
  align-items: start;
}

.contact-col-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 2rem;
}

.contact-details-list {
  list-style: none;
  padding: 0;
  margin: 0 0 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}

.contact-item-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #1c1c1c;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #E95321;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.contact-item-text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.contact-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #888888;
  font-weight: 600;
}

.contact-value {
  font-size: 1.08rem;
  color: #FFFFFF;
  text-decoration: none;
  font-style: normal;
  line-height: 1.6;
}

.contact-value.highlight {
  color: #FFFFFF;
  transition: color 0.2s ease;
}

.contact-value.highlight:hover {
  color: #E95321;
}

.contact-b2b-box {
  background: #171717;
  border: 1px solid rgba(233, 83, 33, 0.25);
  border-radius: 16px;
  padding: 1.75rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}

.contact-b2b-box h4 {
  font-family: 'Tenor Sans', serif;
  font-size: 1.15rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.75rem;
}

.contact-b2b-box p {
  font-size: 0.92rem;
  line-height: 1.7;
  color: #A5A5A5;
  margin: 0 0 1rem;
}

.contact-b2b-box .b2b-tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #E95321;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Stylizacja formularza */
.contact-form-col {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 3rem 2.5rem;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
}

.lucsoy-about-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-group label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #D4D4D4;
  letter-spacing: 0.02em;
}

.form-group label .req {
  color: #E95321;
}

.form-group .form-control {
  width: 100%;
  box-sizing: border-box;
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 0.9rem 1.15rem;
  font-family: inherit;
  font-size: 0.95rem;
  color: #FFFFFF;
  transition: all 0.25s ease;
  outline: none;
}

.form-group .form-control:focus {
  border-color: #E95321;
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.2);
  background: #141414;
}

.form-group .form-control::placeholder {
  color: #666666;
}

.btn-about-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: #E95321;
  color: #FFFFFF;
  border: none;
  border-radius: 10px;
  padding: 1.1rem 2rem;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 24px rgba(233, 83, 33, 0.35);
  margin-top: 0.5rem;
}

.btn-about-submit:hover:not(:disabled) {
  background: #FF6633;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(233, 83, 33, 0.5);
}

.btn-about-submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.contact-alert {
  padding: 1rem 1.25rem;
  border-radius: 10px;
  font-size: 0.92rem;
  line-height: 1.6;
}

.contact-alert.alert-success {
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #4ade80;
}

.contact-alert.alert-error {
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #f87171;
}

/* ==========================================================================
   SEKCJA 7: CTA BOTTOM
   ========================================================================== */
.about-cta-section {
  padding: 4rem 0 2rem;
}

.about-cta-card {
  background: radial-gradient(circle at 50% 0%, #221510 0%, #171717 65%);
  border: 1px solid rgba(233, 83, 33, 0.35);
  border-radius: 24px;
  padding: 4.5rem 2.5rem;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55), 0 0 40px rgba(233, 83, 33, 0.1);
  max-width: 980px;
  margin: 0 auto;
}

.cta-pill {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #E95321;
  margin-bottom: 1.25rem;
}

.cta-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(2rem, 3.8vw, 3rem);
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 1.25rem;
  line-height: 1.25;
}

.cta-desc {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #B5B5B5;
  max-width: 650px;
  margin: 0 auto 2.5rem;
}

.cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.btn-cta-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #E95321;
  color: #FFFFFF !important;
  text-decoration: none;
  padding: 1.1rem 2.25rem;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  box-shadow: 0 8px 24px rgba(233, 83, 33, 0.35);
}

.btn-cta-primary:hover {
  background: #FF6633;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(233, 83, 33, 0.5);
}

.btn-cta-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #FFFFFF !important;
  text-decoration: none;
  padding: 1.1rem 2.25rem;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}

.btn-cta-secondary:hover {
  border-color: #E95321;
  color: #E95321 !important;
  background: rgba(233, 83, 33, 0.08);
  transform: translateY(-2px);
}

/* ==========================================================================
   RESPONSYWNOŚĆ MOBILE / TABLET DLA PODSTRONY O NAS
   ========================================================================== */
@media (max-width: 1024px) {
  .about-hero-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .about-hero-media {
    max-width: 580px;
    margin: 0 auto;
    width: 100%;
  }

  .about-story-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .about-standards-layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .about-standards-media {
    max-width: 580px;
    margin: 0 auto;
    width: 100%;
  }

  .about-contact-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}

@media (max-width: 768px) {
  .about-page {
    padding-bottom: 2.5rem;
  }

  .about-hero-title {
    font-size: 1.95rem;
  }

  .about-section-title {
    font-size: 1.75rem;
  }

  .about-section-header {
    margin-bottom: 2.5rem;
  }

  .about-trust-row {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .about-team-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .about-pillars-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .contact-form-col {
    padding: 2rem 1.5rem;
  }

  .about-cta-card {
    padding: 3rem 1.5rem;
  }

  .cta-title {
    font-size: 1.85rem;
  }

  .cta-actions {
    flex-direction: column;
    width: 100%;
  }

  .btn-cta-primary,
  .btn-cta-secondary {
    width: 100%;
    box-sizing: border-box;
  }

  .about-flame-divider {
    margin: 3.5rem auto;
  }

  .about-hero-media .secondary-media {
    bottom: -1.5rem;
    right: 0;
    width: 52%;
  }
}

@media (max-width: 480px) {
  .about-page .wrap {
    padding: 0 1rem;
  }

  .team-info {
    padding: 1.5rem 1.25rem;
  }

  .about-story-card {
    padding: 2rem 1.25rem;
  }

  .about-media-card {
    border-radius: 14px;
  }
}

/* ==========================================================================
   PODSTRONA "ŚWIAT ZAPACHÓW" (DARK LUXURY - WIZUALNY ATLAS ZAPACHÓW LUCSOY)
   ========================================================================== */

.scents-page {
  background-color: #121212;
  color: #E0E0E0;
  font-family: 'Montserrat', sans-serif;
  overflow-x: hidden;
  padding-bottom: 5rem;
}

.scents-page .wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* 1. Okruszki chleba */
.scents-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #888888;
  margin-bottom: 2rem;
  padding-top: 1.5rem;
}

.scents-breadcrumbs a {
  color: #A0A0A0;
  text-decoration: none;
  transition: color 0.25s ease;
}

.scents-breadcrumbs a:hover {
  color: #E95321;
}

.scents-breadcrumbs .sep {
  color: #555555;
}

.scents-breadcrumbs [aria-current="page"] {
  color: #FFFFFF;
  font-weight: 500;
}

/* 2. Nagłówki sekcji */
.scents-section-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 3.5rem;
}

.scents-section-tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #E95321;
  background: rgba(233, 83, 33, 0.1);
  border: 1px solid rgba(233, 83, 33, 0.25);
  padding: 0.4rem 1.1rem;
  border-radius: 999px;
  margin-bottom: 1.25rem;
}

.scents-section-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(1.4rem, 2.4vw, 1.95rem);
  color: #FFFFFF;
  font-weight: 400;
  line-height: 1.25;
  margin: 0 0 1rem;
  letter-spacing: -0.01em;
}

.scents-section-desc {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #B5B5B5;
  margin: 0;
}

/* Ozdobny separator płomienia */
.scents-flame-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  max-width: 1000px;
  margin: 5rem auto;
  padding: 0 1.5rem;
}

.scents-flame-divider .divider-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 83, 33, 0.35), transparent);
}

.scents-flame-divider .divider-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(233, 83, 33, 0.18) 0%, rgba(18, 18, 18, 0) 70%);
  filter: drop-shadow(0 0 12px rgba(233, 83, 33, 0.35));
}

/* ==========================================================================
   SEKCJA 1: HERO & QUICK-NAV
   ========================================================================== */
.scents-hero-section {
  padding: 0.5rem 0 2.5rem;
}

.scents-hero-banner {
  background: radial-gradient(circle at 50% 20%, #201612 0%, #161616 70%);
  border: 1px solid rgba(233, 83, 33, 0.25);
  border-radius: 24px;
  padding: 4rem 2.5rem 3rem;
  text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 40px rgba(233, 83, 33, 0.08);
}

.scents-hero-inner {
  max-width: 880px;
  margin: 0 auto;
}

.scents-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #E95321;
  background: rgba(233, 83, 33, 0.08);
  border: 1px solid rgba(233, 83, 33, 0.22);
  padding: 0.45rem 1.1rem;
  border-radius: 999px;
  margin-bottom: 1.5rem;
}

.scents-pill svg {
  color: #E95321;
}

.scents-hero-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(1.55rem, 2.6vw, 2.25rem);
  font-weight: 400;
  line-height: 1.25;
  color: #FFFFFF;
  margin: 0 0 1.15rem;
}

.scents-hero-lead {
  font-size: 1.08rem;
  line-height: 1.85;
  color: #C0C0C0;
  margin: 0 auto 2.5rem;
  max-width: 760px;
}

/* Szybka nawigacja (Quick-Nav) */
.scents-quick-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.65rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.quick-pill {
  display: inline-flex;
  align-items: center;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #B5B5B5;
  text-decoration: none;
  background: #1c1c1c;
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 0.55rem 1.15rem;
  border-radius: 999px;
  transition: all 0.25s ease;
  white-space: nowrap;
}

.quick-pill:hover {
  background: #242424;
  border-color: rgba(233, 83, 33, 0.45);
  color: #FFFFFF;
  transform: translateY(-2px);
}

.quick-pill.highlight {
  background: rgba(233, 83, 33, 0.15);
  border-color: rgba(233, 83, 33, 0.5);
  color: #E95321;
}

.quick-pill.highlight:hover {
  background: #E95321;
  color: #FFFFFF;
}

/* ==========================================================================
   SEKCJA 2: WIZUALNE POKAZY KOLEKCJI (SHOWCASE CARDS)
   ========================================================================== */
.scents-collections-section {
  padding: 1rem 0;
}

.scent-showcase-card {
  background: #161616;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 3rem 2.5rem;
  margin-bottom: 4rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
  transition: border-color 0.3s ease;
  scroll-margin-top: 5rem;
}

.scent-showcase-card:hover {
  border-color: rgba(233, 83, 33, 0.3);
}

.showcase-header {
  text-align: center;
  margin-bottom: 2rem;
}

.showcase-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #E95321;
  background: rgba(233, 83, 33, 0.08);
  border: 1px solid rgba(233, 83, 33, 0.25);
  padding: 0.35rem 0.95rem;
  border-radius: 999px;
  margin-bottom: 0.85rem;
}

.showcase-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(1.25rem, 2.1vw, 1.65rem);
  font-weight: 400;
  color: #FFFFFF;
  margin: 0;
  line-height: 1.3;
}

/* Duża wizualizacja nastrojowa */
.showcase-visual-frame {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 2rem;
  background: #0d0d0d;
}

.showcase-visual-frame img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.scent-showcase-card:hover .showcase-visual-frame img {
  transform: scale(1.02);
}

.showcase-visual-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 65%, rgba(18, 18, 18, 0.75) 100%);
  pointer-events: none;
}

/* Krótki, zwięzły opis */
.showcase-story-row {
  max-width: 980px;
  margin: 0 auto 2rem;
  text-align: center;
}

.showcase-lead {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #D0D0D0;
  margin: 0 0 1.25rem;
}

.showcase-for-whom {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.92rem;
  color: #B0B0B0;
  background: #1c1c1c;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid #E95321;
  padding: 0.65rem 1.25rem;
  border-radius: 10px;
  text-align: left;
}

.showcase-for-whom strong {
  color: #FFFFFF;
}

/* Ozdobny separator rombu */
.showcase-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  max-width: 600px;
  margin: 2.5rem auto;
}

.showcase-divider .divider-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent);
}

.showcase-divider .divider-gem {
  color: #E95321;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Siatka wizualna kafelków zapachów z grafikami piramid */
.showcase-scents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
}

.scent-pyramid-card {
  display: flex;
  flex-direction: column;
  background: #181818;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
  cursor: default;
  transition: border-color 0.3s ease;
}

.scent-pyramid-card:hover {
  border-color: rgba(233, 83, 33, 0.3);
}

.pyramid-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #111111;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pyramid-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.pyramid-card-badge {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(18, 18, 18, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(233, 83, 33, 0.4);
  color: #E95321;
}

.pyramid-card-content {
  padding: 1.15rem 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #181818;
}

.pyramid-card-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.15rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0;
  line-height: 1.35;
}

/* Przycisk przejścia do całej kolekcji zapachowej */
.showcase-collection-footer {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  justify-content: center;
}

.btn-collection-shop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: linear-gradient(135deg, #E95321 0%, #D84210 100%);
  color: #FFFFFF !important;
  text-decoration: none;
  padding: 1rem 2.5rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 8px 24px rgba(233, 83, 33, 0.35);
}

.btn-collection-shop:hover {
  background: linear-gradient(135deg, #FF6633 0%, #E95321 100%);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(233, 83, 33, 0.5);
  color: #FFFFFF !important;
}

.btn-collection-shop svg {
  transition: transform 0.25s ease;
}

.btn-collection-shop:hover svg {
  transform: translateX(4px);
}

.scent-tile-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  background: #1c1c1c;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 1.15rem 1.35rem;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
}

.scent-tile-card:hover {
  transform: translateY(-3px);
  border-color: rgba(233, 83, 33, 0.5);
  background: #222222;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.55), 0 0 20px rgba(233, 83, 33, 0.15);
}

.tile-icon-flame {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(233, 83, 33, 0.12);
  color: #E95321;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.25s ease;
}

.scent-tile-card:hover .tile-icon-flame {
  background: #E95321;
  color: #FFFFFF;
}

.tile-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.12rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0;
  flex: 1;
  line-height: 1.3;
}

.tile-arrow {
  color: #777777;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s ease, color 0.25s ease;
}

.scent-tile-card:hover .tile-arrow {
  color: #E95321;
  transform: translateX(3px);
}

/* ==========================================================================
   SEKCJA 3: BESTSELLERY (WIZUALNA GALERIA ŚWIEC)
   ========================================================================== */
.scents-bestsellers-section {
  padding: 2rem 0;
  scroll-margin-top: 5rem;
}

.bestsellers-visual-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.bestseller-item-card {
  background: #161616;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: all 0.35s ease;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
}

.bestseller-item-card:hover {
  transform: translateY(-6px);
  border-color: rgba(233, 83, 33, 0.45);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.65), 0 0 30px rgba(233, 83, 33, 0.15);
}

.bestseller-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #0d0d0d;
}

.bestseller-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.bestseller-item-card:hover .bestseller-img-wrap img {
  transform: scale(1.06);
}

.bestseller-tag {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #FFFFFF;
  background: rgba(18, 18, 18, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(233, 83, 33, 0.4);
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
}

.bestseller-info {
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  flex: 1;
}

.bestseller-name {
  font-family: 'Tenor Sans', serif;
  font-size: 1.35rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0;
}

.bestseller-spec {
  font-size: 0.82rem;
  color: #888888;
  margin-bottom: 0.75rem;
}

.bestseller-link-text {
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E95321;
  transition: color 0.25s ease;
}

.bestseller-item-card:hover .bestseller-link-text {
  color: #FF7744;
}

/* ==========================================================================
   SEKCJA 4: PIRAMIDA ZAPACHU (PROSTO I WIZUALNIE W 3 KROKACH)
   ========================================================================== */
.scents-pyramid-section {
  padding: 2rem 0;
}

.pyramid-cards-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.pyramid-simple-card {
  background: #161616;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 2.75rem 2.25rem;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

.pyramid-simple-card:hover {
  transform: translateY(-4px);
  border-color: rgba(233, 83, 33, 0.35);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.55);
}

.pyramid-simple-card.highlight {
  border-color: rgba(233, 83, 33, 0.3);
  background: linear-gradient(135deg, #181818 0%, #151515 100%);
}

.pyramid-card-badge {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #E95321;
  margin-bottom: 1.25rem;
}

.pyramid-card-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 1.15rem;
}

.pyramid-card-text {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #B5B5B5;
  margin: 0;
}

/* ==========================================================================
   SEKCJA 5: STANDARDY LUCSOY (3 CZYSTE BOKSY)
   ========================================================================== */
.scents-standards-clean-section {
  padding: 2rem 0;
}

.standards-clean-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.clean-standard-box {
  background: #161616;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 2.75rem 2.25rem;
  position: relative;
  transition: all 0.3s ease;
}

.clean-standard-box:hover {
  transform: translateY(-4px);
  border-color: rgba(233, 83, 33, 0.35);
}

.standard-num {
  font-family: 'Tenor Sans', serif;
  font-size: 2.2rem;
  font-weight: 400;
  color: #E95321;
  line-height: 1;
  margin-bottom: 1.25rem;
  opacity: 0.9;
}

.clean-standard-box h3 {
  font-family: 'Tenor Sans', serif;
  font-size: 1.35rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.85rem;
}

.clean-standard-box p {
  font-size: 0.95rem;
  line-height: 1.75;
  color: #A8A8A8;
  margin: 0;
}

/* ==========================================================================
   SEKCJA 6: CTA (KRÓTKIE I ZACHĘCAJĄCE)
   ========================================================================== */
.scents-cta-clean-section {
  padding: 4rem 0 2rem;
}

.scents-cta-box {
  background: radial-gradient(circle at 50% 0%, #251610 0%, #161616 70%);
  border: 1px solid rgba(233, 83, 33, 0.35);
  border-radius: 24px;
  padding: 4.5rem 2.5rem;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55), 0 0 40px rgba(233, 83, 33, 0.1);
  max-width: 960px;
  margin: 0 auto;
}

.cta-clean-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(1.35rem, 2.3vw, 1.95rem);
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.3;
  margin: 0 0 2rem;
}

.cta-clean-title .highlight {
  color: #E95321;
}

.cta-clean-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.btn-cta-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #E95321;
  color: #FFFFFF !important;
  text-decoration: none;
  padding: 1.1rem 2.25rem;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  box-shadow: 0 8px 24px rgba(233, 83, 33, 0.35);
}

.btn-cta-primary:hover {
  background: #FF6633;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(233, 83, 33, 0.5);
}

.btn-cta-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #FFFFFF !important;
  text-decoration: none;
  padding: 1.1rem 2.25rem;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}

.btn-cta-secondary:hover {
  border-color: #E95321;
  color: #E95321 !important;
  background: rgba(233, 83, 33, 0.08);
  transform: translateY(-2px);
}

/* ==========================================================================
   RESPONSYWNOŚĆ MOBILE / TABLET DLA ŚWIATA ZAPACHÓW
   ========================================================================== */
@media (max-width: 1024px) {
  .bestsellers-visual-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pyramid-cards-row {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .standards-clean-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

@media (max-width: 768px) {
  .scents-page {
    padding-bottom: 2.5rem;
  }

  .scents-hero-banner {
    padding: 2.25rem 1.25rem 1.75rem;
    border-radius: 18px;
  }

  .scents-pill {
    font-size: 0.68rem;
    padding: 0.35rem 0.85rem;
    margin-bottom: 1rem;
  }

  .scents-hero-title {
    font-size: 1.32rem !important;
    line-height: 1.32 !important;
    margin-bottom: 0.85rem !important;
  }

  .scents-hero-lead {
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
    margin-bottom: 1.5rem !important;
  }

  .scent-showcase-card {
    padding: 1.75rem 1.15rem;
    border-radius: 18px;
    margin-bottom: 2rem;
  }

  .showcase-header {
    margin-bottom: 1.25rem;
  }

  .showcase-badge {
    font-size: 0.68rem;
    padding: 0.3rem 0.8rem;
    margin-bottom: 0.65rem;
  }

  .showcase-title {
    font-size: 1.18rem !important;
    line-height: 1.32 !important;
  }

  .showcase-visual-frame {
    border-radius: 14px;
    margin-bottom: 1.25rem;
  }

  .showcase-story-row {
    margin-bottom: 1.5rem;
  }

  .showcase-lead {
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
    margin-bottom: 0.85rem;
  }

  .showcase-for-whom {
    font-size: 0.85rem;
    padding: 0.55rem 0.95rem;
  }

  .showcase-scents-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
  }

  .pyramid-card-title {
    font-size: 0.95rem !important;
  }

  .pyramid-card-action {
    font-size: 0.78rem;
  }

  .scents-section-title {
    font-size: 1.25rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.85rem;
  }

  .scents-section-desc {
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
  }

  .scents-flame-divider {
    margin: 3.5rem auto;
  }

  .bestsellers-visual-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .clean-standard-box {
    padding: 1.75rem 1.25rem;
    border-radius: 16px;
  }

  .clean-standard-box h3 {
    font-size: 1.15rem !important;
  }

  .scents-cta-box {
    padding: 2.5rem 1.25rem;
    border-radius: 18px;
  }

  .cta-clean-title {
    font-size: 1.22rem !important;
    line-height: 1.35 !important;
    margin-bottom: 1.75rem !important;
  }

  .cta-clean-actions {
    flex-direction: column;
    width: 100%;
    gap: 0.85rem;
  }

  .btn-cta-primary,
  .btn-cta-secondary {
    width: 100%;
    box-sizing: border-box;
    padding: 0.95rem 1.5rem;
    font-size: 0.88rem;
  }

  .scents-quick-nav {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.5rem;
    scrollbar-width: none;
  }
  .scents-quick-nav::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 480px) {
  .scents-page .wrap {
    padding: 0 0.85rem;
  }

  .scents-hero-banner {
    padding: 1.75rem 0.95rem 1.35rem;
    border-radius: 16px;
  }

  .scents-hero-title {
    font-size: 1.18rem !important;
    line-height: 1.32 !important;
    letter-spacing: -0.01em;
  }

  .scents-hero-lead {
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1.25rem !important;
  }

  .scent-showcase-card {
    padding: 1.35rem 0.9rem;
    border-radius: 16px;
    margin-bottom: 1.75rem;
  }

  .showcase-title {
    font-size: 1.08rem !important;
    line-height: 1.3 !important;
  }

  .showcase-lead {
    font-size: 0.86rem !important;
    line-height: 1.6 !important;
  }

  .showcase-scents-grid {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .showcase-for-whom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .scents-section-title {
    font-size: 1.15rem !important;
    line-height: 1.3 !important;
  }

  .scents-section-desc {
    font-size: 0.86rem !important;
    line-height: 1.6 !important;
  }

  .scents-cta-box {
    padding: 2rem 0.95rem;
    border-radius: 16px;
  }

  .cta-clean-title {
    font-size: 1.12rem !important;
    line-height: 1.35 !important;
    margin-bottom: 1.5rem !important;
  }
}

/* ==========================================================================
   WYSZUKIWARKA W MENU MOBILNYM (DRAWER SEARCH) I W SKLEPIE (QUICK SEARCH)
   ========================================================================== */
.drawer-search-wrap {
  padding: 1rem 1.25rem 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.drawer-search-box {
  position: relative;
  display: flex;
  align-items: center;
  background: #181818;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 0 0.85rem;
  transition: all 0.25s ease;
}

.drawer-search-box:focus-within {
  border-color: #E95321;
  background: #202020;
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.15);
}

.drawer-search-box .icon-search {
  width: 17px;
  height: 17px;
  color: #888888;
  flex-shrink: 0;
  margin-right: 0.5rem;
}

.drawer-search-input {
  flex: 1;
  background: transparent;
  border: none;
  color: #FFFFFF;
  font-size: 0.88rem;
  padding: 0.65rem 0;
  outline: none;
}

.drawer-search-input::placeholder {
  color: #777777;
}

.drawer-search-submit {
  background: transparent;
  border: none;
  color: #E95321;
  cursor: pointer;
  padding: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.drawer-search-submit:hover {
  transform: translateX(2px);
}

/* Szybka wyszukiwarka w sklepie (Quick Search Bar) */
.shop-quick-search-bar {
  margin-bottom: 1.25rem;
}

.quick-search-box {
  position: relative;
  display: flex;
  align-items: center;
  background: #161616;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 0 1rem;
  transition: all 0.25s ease;
}

.quick-search-box:focus-within {
  border-color: #E95321;
  background: #1a1a1a;
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.12);
}

.quick-search-box .icon-search {
  width: 18px;
  height: 18px;
  color: #888888;
  flex-shrink: 0;
  margin-right: 0.65rem;
}

#shop-quick-search-input {
  flex: 1;
  background: transparent;
  border: none;
  color: #FFFFFF;
  font-size: 0.92rem;
  padding: 0.8rem 0;
  outline: none;
  font-family: inherit;
}

#shop-quick-search-input::placeholder {
  color: #808080;
}

.quick-search-clear {
  background: transparent;
  border: none;
  color: #888888;
  font-size: 0.95rem;
  cursor: pointer;
  padding: 0.35rem 0.5rem;
  transition: color 0.2s ease;
}

.quick-search-clear:hover {
  color: #FFFFFF;
}

/* ==========================================================================
   STRONA KONTAKTU (LUCSOY DARK LUXURY /kontakt/)
   ========================================================================== */
.contact-page {
  background: #121212;
  color: #FFFFFF;
  padding-bottom: 5rem;
}

/* Okruszki chleba */
.contact-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: #888888;
  margin-bottom: 1.5rem;
}

.contact-breadcrumbs a {
  color: #AAAAAA;
  text-decoration: none;
  transition: color 0.2s ease;
}

.contact-breadcrumbs a:hover {
  color: #E95321;
}

.contact-breadcrumbs .sep {
  color: #555555;
}

/* Hero kontakt */
.contact-hero-section {
  padding: 2.5rem 0 1.5rem;
}

.contact-hero-banner {
  background: radial-gradient(circle at 50% 0%, rgba(233, 83, 33, 0.12) 0%, rgba(22, 22, 22, 0.8) 70%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 3.5rem 2rem;
  text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
}

.contact-hero-inner {
  max-width: 860px;
  margin: 0 auto;
}

.contact-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #E95321;
  background: rgba(233, 83, 33, 0.08);
  border: 1px solid rgba(233, 83, 33, 0.25);
  padding: 0.4rem 1.1rem;
  border-radius: 999px;
  margin-bottom: 1.25rem;
}

.contact-hero-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(1.6rem, 2.8vw, 2.25rem);
  font-weight: 400;
  line-height: 1.25;
  color: #FFFFFF;
  margin: 0 0 1rem;
}

.contact-hero-lead {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #CCCCCC;
  margin: 0 auto 2rem;
  max-width: 760px;
}

.contact-trust-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #DDDDDD;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0.45rem 1rem;
  border-radius: 999px;
}

.trust-pill svg {
  color: #E95321;
}

/* 3 Kanały Bezpośrednie */
.contact-channels-section {
  padding: 2rem 0 3rem;
}

.contact-channels-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}

.contact-channel-card {
  position: relative;
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 2.25rem 2rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.contact-channel-card:hover {
  transform: translateY(-4px);
  border-color: rgba(233, 83, 33, 0.4);
  box-shadow: 0 20px 45px rgba(233, 83, 33, 0.12);
}

.channel-card-glow {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(233, 83, 33, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.contact-channel-card.highlight-fb:hover {
  border-color: rgba(66, 103, 178, 0.5);
  box-shadow: 0 20px 45px rgba(66, 103, 178, 0.15);
}

.channel-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(233, 83, 33, 0.1);
  border: 1px solid rgba(233, 83, 33, 0.25);
  color: #E95321;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
}

.contact-channel-card:hover .channel-icon-wrap {
  background: #E95321;
  color: #FFFFFF;
  border-color: #E95321;
}

.channel-icon-wrap.fb-icon {
  background: rgba(66, 103, 178, 0.1);
  border-color: rgba(66, 103, 178, 0.3);
  color: #4267B2;
}

.contact-channel-card.highlight-fb:hover .channel-icon-wrap.fb-icon {
  background: #4267B2;
  color: #FFFFFF;
  border-color: #4267B2;
}

.channel-tag {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #E95321;
  margin-bottom: 0.5rem;
}

.channel-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.35rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.65rem;
}

.channel-desc {
  font-size: 0.92rem;
  line-height: 1.65;
  color: #B5B5B5;
  margin: 0 0 1.25rem;
  flex: 1;
}

.channel-meta {
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  padding: 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-bottom: 1.5rem;
}

.channel-meta .meta-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #777777;
}

.channel-meta .meta-val {
  font-size: 0.88rem;
  color: #FFFFFF;
  font-weight: 500;
}

.btn-channel-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  background: #1f1f1f;
  color: #FFFFFF !important;
  text-decoration: none;
  padding: 0.95rem 1.25rem;
  border-radius: 12px;
  font-size: 0.92rem;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}

.btn-channel-action:hover {
  background: #E95321;
  border-color: #E95321;
  color: #FFFFFF !important;
  box-shadow: 0 6px 20px rgba(233, 83, 33, 0.35);
}

.btn-channel-action.btn-fb:hover {
  background: #4267B2;
  border-color: #4267B2;
  box-shadow: 0 6px 20px rgba(66, 103, 178, 0.35);
}

/* Układ główny 2 kolumny: Formularz + Sidebar */
.contact-main-section {
  padding: 2rem 0 4rem;
}

.contact-main-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 3rem;
  align-items: start;
}

/* Karta formularza */
.contact-form-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 3.25rem 3rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
}

.form-card-header {
  margin-bottom: 2.25rem;
}

.form-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #E95321;
  margin-bottom: 0.5rem;
}

.form-card-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.75rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.65rem;
}

.form-card-desc {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #A5A5A5;
  margin: 0;
}

.contact-interactive-form {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

.form-row-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.form-field-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-field-group label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #D0D0D0;
  letter-spacing: 0.02em;
}

.form-field-group label .req {
  color: #E95321;
}

.input-with-icon {
  position: relative;
  display: flex;
  align-items: center;
}

.input-with-icon svg {
  position: absolute;
  left: 1rem;
  color: #777777;
  pointer-events: none;
  transition: color 0.2s ease;
}

.input-with-icon .contact-input {
  padding-left: 2.75rem;
}

.contact-input {
  width: 100%;
  box-sizing: border-box;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 0.95rem 1.15rem;
  font-family: inherit;
  font-size: 0.95rem;
  color: #FFFFFF;
  transition: all 0.25s ease;
  outline: none;
}

.contact-input:focus {
  border-color: #E95321;
  background: #141414;
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.18);
}

.input-with-icon:focus-within svg {
  color: #E95321;
}

.contact-input::placeholder {
  color: #666666;
}

.contact-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 16px;
  cursor: pointer;
}

.contact-select option {
  background: #1c1c1c;
  color: #FFFFFF;
  padding: 0.5rem;
}

.contact-textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.6;
}

/* Zgoda RODO */
.form-consent-group {
  margin-top: 0.25rem;
}

.consent-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.8rem;
  color: #999999;
  line-height: 1.55;
  cursor: pointer;
}

.consent-checkbox-label input[type="checkbox"] {
  margin-top: 0.2rem;
  accent-color: #E95321;
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.consent-checkbox-label a {
  color: #E95321;
  text-decoration: underline;
}

/* Przycisk wysyłki formularza */
.btn-contact-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: linear-gradient(135deg, #E95321 0%, #D84210 100%);
  color: #FFFFFF;
  border: none;
  border-radius: 12px;
  padding: 1.15rem 2.25rem;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 10px 25px rgba(233, 83, 33, 0.35);
  margin-top: 0.5rem;
}

.btn-contact-submit:hover:not(:disabled) {
  background: linear-gradient(135deg, #FF6633 0%, #E95321 100%);
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(233, 83, 33, 0.45);
}

.btn-contact-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-contact-submit svg {
  transition: transform 0.25s ease;
}

.btn-contact-submit:hover svg {
  transform: translateX(3px) translateY(-2px);
}

/* Sidebar prawy */
.contact-sidebar {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.contact-info-card,
.contact-b2b-card,
.contact-social-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 2.25rem 2rem;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.info-card-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.75rem;
}

.info-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(233, 83, 33, 0.1);
  border: 1px solid rgba(233, 83, 33, 0.25);
  color: #E95321;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.info-pre {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #E95321;
}

.info-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.25rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0.2rem 0 0;
}

.info-details-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

.info-row {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.row-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #777777;
}

.row-val {
  font-size: 0.95rem;
  color: #FFFFFF;
}

.address-val {
  font-style: normal;
  line-height: 1.6;
}

.row-val-links {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-top: 0.2rem;
}

.contact-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  color: #E95321;
  text-decoration: none;
  transition: color 0.2s ease;
}

.contact-inline-link:hover {
  color: #FF7744;
  text-decoration: underline;
}

.info-note {
  background: #111111;
  border-left: 3px solid #E95321;
  border-radius: 8px;
  padding: 0.85rem 1rem;
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.82rem;
  line-height: 1.6;
  color: #A0A0A0;
}

.info-note svg {
  color: #E95321;
  flex-shrink: 0;
  margin-top: 0.15rem;
}

/* Karta B2B */
.contact-b2b-card {
  border-color: rgba(233, 83, 33, 0.25);
  background: radial-gradient(circle at 100% 0%, rgba(233, 83, 33, 0.08) 0%, #171717 60%);
}

.b2b-card-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #E95321;
  background: rgba(233, 83, 33, 0.1);
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  margin-bottom: 0.65rem;
}

.b2b-card-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.25rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.65rem;
}

.b2b-card-desc {
  font-size: 0.88rem;
  line-height: 1.65;
  color: #B0B0B0;
  margin: 0 0 1.25rem;
}

.b2b-features-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.b2b-features-list li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.85rem;
  color: #DDDDDD;
}

.b2b-features-list li svg {
  color: #E95321;
  flex-shrink: 0;
}

.btn-b2b-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  background: rgba(233, 83, 33, 0.12);
  color: #E95321 !important;
  border: 1px solid rgba(233, 83, 33, 0.3);
  text-decoration: none;
  padding: 0.85rem 1.25rem;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 600;
  transition: all 0.25s ease;
}

.btn-b2b-link:hover {
  background: #E95321;
  color: #FFFFFF !important;
  box-shadow: 0 6px 18px rgba(233, 83, 33, 0.35);
}

.btn-b2b-link svg {
  transition: transform 0.25s ease;
}

.btn-b2b-link:hover svg {
  transform: translateX(4px);
}

/* Karta Social Media */
.social-card-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 1rem;
}

.social-buttons-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}

.social-box-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 0.85rem 1rem;
  color: #DDDDDD !important;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 500;
  transition: all 0.25s ease;
}

.social-box-btn:hover {
  background: #1f1f1f;
  color: #E95321 !important;
  border-color: rgba(233, 83, 33, 0.4);
}

/* Sekcja FAQ */
.contact-faq-section {
  padding: 3rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.faq-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 3rem;
}

.faq-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #E95321;
  margin-bottom: 0.5rem;
}

.faq-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(1.65rem, 2.6vw, 2.25rem);
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.75rem;
}

.faq-subtitle {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #A0A0A0;
  margin: 0;
}

.faq-accordion-list {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.faq-item {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.faq-item[open] {
  border-color: rgba(233, 83, 33, 0.35);
  background: #1a1a1a;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem 1.75rem;
  font-family: 'Tenor Sans', serif;
  font-size: 1.12rem;
  color: #FFFFFF;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-icon {
  color: #E95321;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.faq-item[open] .faq-icon {
  transform: rotate(180deg);
}

.faq-answer {
  padding: 0 1.75rem 1.5rem;
  font-size: 0.95rem;
  line-height: 1.75;
  color: #CCCCCC;
}

.faq-answer p {
  margin: 0;
}

/* Bottom CTA */
.contact-bottom-cta {
  padding: 3rem 0 1rem;
}

.bottom-cta-box {
  background: radial-gradient(circle at 50% 0%, rgba(233, 83, 33, 0.15) 0%, #171717 75%);
  border: 1px solid rgba(233, 83, 33, 0.25);
  border-radius: 24px;
  padding: 3.5rem 2rem;
  text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
}

.bottom-cta-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(1.5rem, 2.5vw, 2.15rem);
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.85rem;
}

.bottom-cta-desc {
  font-size: 1.02rem;
  color: #CCCCCC;
  margin: 0 auto 2rem;
  max-width: 600px;
}

.bottom-cta-btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.btn-primary-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  background: linear-gradient(135deg, #E95321 0%, #D84210 100%);
  color: #FFFFFF !important;
  text-decoration: none;
  padding: 1rem 2.25rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  box-shadow: 0 8px 25px rgba(233, 83, 33, 0.35);
}

.btn-primary-cta:hover {
  background: linear-gradient(135deg, #FF6633 0%, #E95321 100%);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(233, 83, 33, 0.45);
}

.btn-secondary-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #111111;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.15);
  text-decoration: none;
  padding: 1rem 2.25rem;
  border-radius: 999px;
  font-weight: 500;
  font-size: 0.95rem;
  transition: all 0.25s ease;
}

.btn-secondary-cta:hover {
  background: #1f1f1f;
  border-color: #E95321;
  color: #E95321 !important;
}

/* Responsywność strony kontaktu */
@media (max-width: 1024px) {
  .contact-channels-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .contact-main-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .contact-form-card {
    padding: 2.5rem 2rem;
  }
}

@media (max-width: 640px) {
  .contact-hero-section {
    padding: 1.25rem 0 1rem;
  }

  .contact-hero-banner {
    padding: 1.75rem 1.15rem;
    border-radius: 18px;
  }

  .contact-pill {
    font-size: 0.65rem;
    padding: 0.3rem 0.85rem;
    margin-bottom: 0.75rem;
  }

  .contact-hero-title {
    font-size: 1.45rem;
    line-height: 1.25;
    margin-bottom: 0.65rem;
  }

  .contact-hero-lead {
    font-size: 0.88rem;
    line-height: 1.6;
    margin-bottom: 1.25rem;
  }

  .contact-trust-row {
    gap: 0.5rem;
  }

  .trust-pill {
    font-size: 0.72rem;
    padding: 0.35rem 0.75rem;
  }

  .form-row-dual {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .contact-form-card {
    padding: 2rem 1.25rem;
    border-radius: 18px;
  }

  .btn-contact-submit {
    width: 100%;
  }

  .social-buttons-grid {
    grid-template-columns: 1fr;
  }

  .bottom-cta-box {
    padding: 2.5rem 1.25rem;
  }

  .bottom-cta-btns {
    flex-direction: column;
    width: 100%;
  }

  .btn-primary-cta,
  .btn-secondary-cta {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}

/* ==========================================================================
   DARK LUXURY PERSONALIZACJA ŚWIEC (WŁASNY PROJEKT / TWÓJ TEKST)
   ========================================================================== */

/* Ukrycie domyślnej, surowej tabelki wariantów WooCommerce dla personalizowanych świec */
.pdp-perso-variable-active .variations {
  display: none !important;
}

.pdp-perso-variable-active .single_variation_wrap {
  margin-top: 1.25rem !important;
}

.pdp-perso-variable-active .woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}


/* Główny kontener konfiguratora personalizacji */
.lucsoy-perso-box {
  background: linear-gradient(180deg, #181615 0%, #131211 100%);
  border: 1px solid rgba(233, 83, 33, 0.28);
  border-radius: 20px;
  padding: 1.75rem;
  margin: 1.5rem 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  box-sizing: border-box;
}

/* Nagłówek panelu personalizacji */
.perso-box-header {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  padding-bottom: 1.25rem;
}

.perso-box-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: rgba(233, 83, 33, 0.12);
  border: 1px solid rgba(233, 83, 33, 0.3);
  color: var(--color-accent, #E95321);
  font-size: 0.74rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.35rem 0.85rem;
  border-radius: 9999px;
  margin-bottom: 0.65rem;
}

.perso-box-tag svg {
  color: var(--color-accent, #E95321);
}

.perso-box-title {
  font-family: var(--font-heading, 'Tenor Sans', serif);
  font-size: 1.35rem;
  font-weight: 500;
  color: #FFFFFF;
  margin: 0 0 0.35rem;
  letter-spacing: 0.02em;
}

.perso-box-desc {
  font-size: 0.88rem;
  color: #A39E98;
  margin: 0;
  line-height: 1.5;
}

/* Krok personalizacji */
.perso-step {
  margin-bottom: 1.5rem;
}

.perso-step:last-child {
  margin-bottom: 0;
}

.perso-step-title-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.step-num {
  width: 26px;
  height: 26px;
  background: var(--color-accent, #E95321);
  color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}

.step-title {
  font-family: var(--font-body, 'Montserrat', sans-serif);
  font-size: 1.02rem;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 0.2rem;
}

.step-sub {
  font-size: 0.82rem;
  color: #8C8680;
  margin: 0;
}

/* KROK 1: Grid 6 zapachów do wyboru (Świeca 200ml Twój Projekt) */
.perso-scent-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.perso-scent-card {
  background: #1B1A19;
  border: 1px solid #2F2B28;
  border-radius: 14px;
  padding: 0.95rem 1rem;
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  box-sizing: border-box;
  outline: none;
  user-select: none;
}

.perso-scent-card:hover {
  background: #231F1C;
  border-color: rgba(233, 83, 33, 0.45);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

.perso-scent-card.is-selected {
  background: linear-gradient(145deg, #281D18 0%, #1D1815 100%) !important;
  border-color: var(--color-accent, #E95321) !important;
  box-shadow: 0 0 16px rgba(233, 83, 33, 0.28) !important;
}

.scent-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.2rem;
}

.scent-card-icon {
  font-size: 1.25rem;
}

.scent-card-radio-mark {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid #55504B;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.perso-scent-card.is-selected .scent-card-radio-mark {
  border-color: var(--color-accent, #E95321);
}

.perso-scent-card.is-selected .scent-card-radio-mark::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-accent, #E95321);
}

.scent-card-name {
  font-size: 0.95rem;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0;
  line-height: 1.3;
}

.scent-card-desc {
  font-size: 0.77rem;
  color: #9E9892;
  margin: 0;
  line-height: 1.35;
}

.scent-card-fam {
  display: inline-block;
  font-size: 0.68rem;
  color: var(--color-accent, #E95321);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin-top: 0.2rem;
}

/* Baner zapachu dla świec z 1 zapachem */
.perso-fixed-scent-banner {
  background: rgba(233, 83, 33, 0.07);
  border: 1px solid rgba(233, 83, 33, 0.22);
  border-radius: 12px;
  padding: 0.85rem 1.15rem;
  margin-bottom: 1.25rem;
}

.fixed-scent-badge {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.fixed-scent-icon {
  font-size: 1.4rem;
  flex-shrink: 0;
}

.fixed-scent-lbl {
  font-size: 0.8rem;
  color: #A39E98;
  display: block;
}

.fixed-scent-name {
  color: #FFFFFF;
  font-size: 1.02rem;
  font-weight: 600;
}

.fixed-scent-notes {
  color: #8C8680;
  font-size: 0.82rem;
}

/* Przełącznik zakładek (Wpisz tekst vs Załącz plik) — Dyskretny, zgrabny Segmented Control */
.lucsoy-perso-box .perso-tabs-nav {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4px !important;
  background: #141312 !important;
  padding: 3px !important;
  border-radius: 8px !important;
  border: 1px solid #282522 !important;
  margin-bottom: 1.15rem !important;
  box-sizing: border-box !important;
}

.lucsoy-perso-box button.perso-tab-btn,
.lucsoy-perso-box .perso-tab-btn,
button.perso-tab-btn {
  all: unset !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 0 0.75rem !important;
  border-radius: 6px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  color: #9E9892 !important;
  font-family: var(--font-body, 'Montserrat', sans-serif) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  text-align: center !important;
  white-space: nowrap !important;
  user-select: none !important;
  transition: all 0.18s ease !important;
}

.lucsoy-perso-box button.perso-tab-btn svg,
.lucsoy-perso-box .perso-tab-btn svg {
  color: inherit !important;
  flex-shrink: 0 !important;
}

.lucsoy-perso-box button.perso-tab-btn:hover,
.lucsoy-perso-box .perso-tab-btn:hover {
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

.lucsoy-perso-box button.perso-tab-btn.is-active,
.lucsoy-perso-box .perso-tab-btn.is-active,
button.perso-tab-btn.is-active {
  background: #25201D !important;
  border: 1px solid #3E3833 !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
}

.lucsoy-perso-box button.perso-tab-btn.is-active svg,
.lucsoy-perso-box .perso-tab-btn.is-active svg {
  color: var(--color-accent, #E95321) !important;
}

/* Zawartość zakładek */
.perso-tab-pane {
  display: none;
}

.perso-tab-pane.is-active {
  display: block;
  animation: fadeInPerso 0.22s ease-out;
}

@keyframes fadeInPerso {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Pole textarea do wpisania tekstu — 100% gwarancja czytelnego białego tekstu */
.perso-input-wrap {
  margin-bottom: 0.85rem;
}

.perso-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.84rem;
  font-weight: 600;
  color: #DDD7CE;
  margin-bottom: 0.45rem;
}

.perso-char-counter {
  font-size: 0.74rem;
  color: #8C8680;
  font-weight: 400;
}

.lucsoy-perso-box textarea.perso-textarea,
.lucsoy-perso-box #lucsoy-perso-text,
textarea#lucsoy-perso-text,
.perso-textarea {
  all: unset !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-height: 85px !important;
  background-color: #181716 !important;
  background: #181716 !important;
  border: 1px solid #383430 !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-family: var(--font-body, 'Montserrat', sans-serif) !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  caret-color: #E95321 !important;
  resize: vertical !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.lucsoy-perso-box textarea.perso-textarea:focus,
.lucsoy-perso-box #lucsoy-perso-text:focus,
textarea#lucsoy-perso-text:focus,
.perso-textarea:focus {
  background-color: #1E1C1A !important;
  background: #1E1C1A !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  caret-color: #E95321 !important;
  box-shadow: 0 0 0 2px rgba(233, 83, 33, 0.25) !important;
  outline: none !important;
}

.lucsoy-perso-box textarea.perso-textarea::placeholder,
.lucsoy-perso-box #lucsoy-perso-text::placeholder,
textarea#lucsoy-perso-text::placeholder,
.perso-textarea::placeholder {
  color: #7D766E !important;
  -webkit-text-fill-color: #7D766E !important;
  opacity: 1 !important;
}

/* Szybkie inspiracje — małe, dyskretne tagi w ciemnym stylu sklepu */
.lucsoy-perso-box .perso-suggestions,
.perso-suggestions {
  margin-bottom: 1.15rem !important;
}

.suggestions-lbl {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: #8C8680;
  margin-bottom: 0.45rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.suggestions-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.lucsoy-perso-box button.suggestion-chip,
.lucsoy-perso-box .suggestion-chip,
button.suggestion-chip,
.suggestion-chip {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px 10px !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border-radius: 6px !important;
  background: #1A1817 !important;
  border: 1px solid #332E2A !important;
  color: #B5AFA7 !important;
  font-family: var(--font-body, 'Montserrat', sans-serif) !important;
  font-size: 0.74rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  user-select: none !important;
  transition: all 0.15s ease !important;
}

.lucsoy-perso-box button.suggestion-chip:hover,
.lucsoy-perso-box .suggestion-chip:hover,
button.suggestion-chip:hover,
.suggestion-chip:hover {
  background: #25201C !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
}

.lucsoy-perso-box button.suggestion-chip:active,
.lucsoy-perso-box .suggestion-chip:active,
button.suggestion-chip:active,
.suggestion-chip:active {
  transform: translateY(0) scale(0.98) !important;
}

/* DRAG & DROP FILE UPLOAD */
.perso-dropzone {
  background: #171514;
  border: 2px dashed #3A3531;
  border-radius: 14px;
  padding: 1.75rem 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  box-sizing: border-box;
}

.perso-dropzone:hover,
.perso-dropzone.is-dragover {
  border-color: var(--color-accent, #E95321);
  background: rgba(233, 83, 33, 0.05);
  transform: translateY(-1px);
}

.perso-file-hidden-input {
  display: none !important;
}

.dropzone-icon {
  color: var(--color-accent, #E95321);
  margin-bottom: 0.75rem;
}

.dropzone-primary-text {
  font-size: 0.95rem;
  color: #FFFFFF;
  margin: 0 0 0.35rem;
}

.dropzone-primary-text strong {
  color: var(--color-accent, #E95321);
  text-decoration: underline;
}

.dropzone-secondary-text {
  font-size: 0.78rem;
  color: #8C8680;
  margin: 0;
}

/* Stan w trakcie przesyłania */
.dropzone-uploading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0;
}

.upload-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid rgba(233, 83, 33, 0.25);
  border-top-color: var(--color-accent, #E95321);
  border-radius: 50%;
  animation: persoSpin 0.75s linear infinite;
}

@keyframes persoSpin {
  to { transform: rotate(360deg); }
}

.upload-status-text {
  font-size: 0.88rem;
  color: #DDD7CE;
  margin: 0;
}

/* Karta wgranego pliku */
.uploaded-file-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #1F1C1B;
  border: 1px solid rgba(46, 204, 113, 0.4);
  border-radius: 12px;
  padding: 0.85rem 1rem;
  text-align: left;
}

.uploaded-file-thumb {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: #141312;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  color: #2ECC71;
}

.uploaded-file-thumb .thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.uploaded-file-meta {
  flex: 1;
  min-width: 0;
}

.uploaded-file-status {
  display: block;
  font-size: 0.74rem;
  font-weight: 600;
  color: #2ECC71;
  margin-bottom: 2px;
}

.uploaded-file-name {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  color: #FFFFFF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.uploaded-file-size {
  display: block;
  font-size: 0.75rem;
  color: #8C8680;
}

.btn-remove-file {
  background: transparent;
  border: 1px solid #3E3833;
  color: #A39E98;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.18s ease;
  flex-shrink: 0;
}

.btn-remove-file:hover {
  background: rgba(220, 53, 69, 0.15);
  border-color: #E74C3C;
  color: #FF7675;
}

/* Rozwijane pole uwag */
.perso-notes-toggle-wrap {
  margin-top: 1rem;
}

.lucsoy-perso-box button.perso-notes-toggle,
.lucsoy-perso-box .perso-notes-toggle,
button.perso-notes-toggle,
#perso-notes-toggle {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  background: transparent !important;
  border: none !important;
  padding: 0.35rem 0 !important;
  color: #A39E98 !important;
  font-family: var(--font-body, 'Montserrat', sans-serif) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-align: left !important;
  user-select: none !important;
  transition: color 0.18s ease !important;
}

.lucsoy-perso-box button.perso-notes-toggle:hover,
.lucsoy-perso-box .perso-notes-toggle:hover,
#perso-notes-toggle:hover {
  color: var(--color-accent, #E95321) !important;
}

.lucsoy-perso-box button.perso-notes-toggle .plus-icon,
.lucsoy-perso-box .perso-notes-toggle .plus-icon {
  width: 14px !important;
  height: 14px !important;
  stroke: currentColor !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s ease !important;
}

.lucsoy-perso-box button.perso-notes-toggle.is-open .plus-icon,
.lucsoy-perso-box .perso-notes-toggle.is-open .plus-icon {
  transform: rotate(45deg) !important;
}

.perso-notes-field {
  margin-top: 0.6rem;
}

.perso-notes-input {
  width: 100%;
  background: #171514;
  border: 1px solid #332F2C;
  border-radius: 10px;
  padding: 0.7rem 0.9rem;
  font-size: 0.86rem;
  color: #FFFFFF;
  box-sizing: border-box;
}

.perso-notes-input:focus {
  outline: none;
  border-color: var(--color-accent, #E95321);
}

/* Pasek gwarancji i czasu realizacji */
.perso-assure-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-top: 1.25rem;
  padding: 0.95rem 1.15rem;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid #2B2724;
  border-radius: 12px;
}

.perso-assure-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}

.perso-assure-item .ico {
  color: var(--color-accent, #E95321);
  flex-shrink: 0;
  margin-top: 2px;
}

.perso-assure-item strong {
  display: block;
  font-size: 0.82rem;
  color: #FFFFFF;
  font-weight: 600;
  margin-bottom: 2px;
}

.perso-assure-item span {
  font-size: 0.74rem;
  color: #8C8680;
  line-height: 1.35;
  display: block;
}

/* Komunikat błędu walidacji */
.perso-error-msg {
  background: rgba(231, 76, 60, 0.12);
  border: 1px solid rgba(231, 76, 60, 0.4);
  color: #FF8585;
  border-radius: 10px;
  padding: 0.75rem 1rem;
  font-size: 0.84rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1rem;
}

.perso-error-msg svg {
  flex-shrink: 0;
}

@keyframes persoShakeAnim {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

.perso-shake {
  animation: persoShakeAnim 0.45s cubic-bezier(.36,.07,.19,.97) both;
  border-color: #E74C3C !important;
  box-shadow: 0 0 12px rgba(231, 76, 60, 0.35) !important;
}

/* Informacja o pliku i tekście w koszyku (Side Cart i Koszyk główny) */
.side-cart-item-meta,
.lucsoy-cart-perso-meta {
  margin-top: 0.35rem;
  font-size: 0.78rem;
  color: #DDD7CE;
  line-height: 1.4;
}

.lucsoy-cart-perso-text {
  color: #D4AF37;
  font-style: italic;
}

.lucsoy-cart-file-link {
  color: var(--color-accent, #E95321);
  text-decoration: underline;
  word-break: break-all;
}

.lucsoy-cart-file-link:hover {
  color: #FFA07A;
}

/* ==========================================================================
   RESPONSYWNOŚĆ PDP I PANELU PERSONALIZACJI (BEZ UCINANIA KRAWĘDZI)
   ========================================================================== */
html, body {
  overflow-x: clip;
  max-width: 100%;
}

@media (max-width: 768px) {
  .pdp-page .wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 16px !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }

  .pdp,
  .pinfo,
  .pdp-buy-section,
  .pdp-variable-form-wrap,
  form.variations_form,
  .lucsoy-perso-box,
  .perso-step,
  .perso-scent-grid,
  .perso-scent-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .lucsoy-perso-box {
    padding: 1.15rem 0.85rem !important;
    margin-inline: 0 !important;
    border-radius: 14px !important;
  }

  .lucsoy-perso-box .perso-tabs-nav {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .lucsoy-perso-box button.perso-tab-btn,
  .lucsoy-perso-box .perso-tab-btn {
    width: 100% !important;
    box-sizing: border-box !important;
    height: 40px !important;
    min-height: 40px !important;
    font-size: 0.82rem !important;
    white-space: normal !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 0.5rem !important;
  }

  .perso-scent-grid {
    grid-template-columns: 1fr !important;
    gap: 0.65rem !important;
  }

  .perso-scent-card {
    padding: 0.85rem 0.95rem !important;
    overflow: hidden !important;
  }

  .scent-card-header {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .scent-card-radio-mark {
    flex-shrink: 0 !important;
    margin-left: 0.5rem !important;
  }

  .perso-assure-box {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
    padding: 0.85rem 0.95rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-variation-add-to-cart .quantity,
  .pdp-variable-form-wrap .quantity {
    flex: 0 0 96px !important;
    min-width: 90px !important;
    max-width: 100px !important;
    height: 46px !important;
    padding: 0 2px !important;
  }

  .woocommerce-variation-add-to-cart .quantity .qty-btn,
  .pdp-variable-form-wrap .quantity .qty-btn {
    width: 26px !important;
    height: 40px !important;
    font-size: 1.1rem !important;
  }

  .woocommerce-variation-add-to-cart .quantity input.qty,
  .pdp-variable-form-wrap .quantity input.qty {
    width: 30px !important;
    height: 40px !important;
    font-size: 0.95rem !important;
  }

  .single_add_to_cart_button.button,
  button.single_add_to_cart_button {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 46px !important;
    padding: 0 0.85rem !important;
    font-size: 0.84rem !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
  }
}

/* Bezwzględne ukrywanie elementów zdublowanego steppera ilości */
.lucsoy-qty-btn,
.quantity .lucsoy-qty-btn,
.quantity .qty-btn-minus ~ .qty-btn-minus,
.quantity .qty-btn-plus ~ .qty-btn-plus,
.quantity [data-qstep="-1"] ~ [data-qstep="-1"],
.quantity [data-qstep="1"] ~ [data-qstep="1"] {
  display: none !important;
}

/* ==========================================================================
   STRONY PRAWNE I INFORMACYJNE (LUCSOY DARK LUXURY: DOSTAWA, REGULAMIN, POLITYKA)
   ========================================================================== */
.legal-page {
  background-color: #121212;
  color: #F7F5F0;
  font-family: var(--font-body, "Jost", sans-serif);
  padding-bottom: 5rem;
}

/* Okruszki chleba */
.legal-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: #888888;
  margin-bottom: 1.5rem;
  padding-top: 1rem;
}

.legal-breadcrumbs a {
  color: #A8A39D;
  text-decoration: none;
  transition: color 0.2s ease;
}

.legal-breadcrumbs a:hover {
  color: #E95321;
}

.legal-breadcrumbs .sep {
  color: #555555;
}

/* Hero Banner */
.legal-hero-section {
  padding: 1.5rem 0 2rem;
}

.legal-hero-banner {
  background: radial-gradient(circle at 50% 0%, rgba(233, 83, 33, 0.14) 0%, rgba(26, 26, 26, 0.85) 65%, #161616 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 3.5rem 2rem 3rem;
  text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
  position: relative;
  overflow: hidden;
}

.legal-hero-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 83, 33, 0.6), transparent);
}

.legal-hero-inner {
  max-width: 860px;
  margin: 0 auto;
}

.legal-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #E95321;
  background: rgba(233, 83, 33, 0.08);
  border: 1px solid rgba(233, 83, 33, 0.25);
  padding: 0.45rem 1.15rem;
  border-radius: 999px;
  margin-bottom: 1.25rem;
}

body .legal-page .legal-hero-title,
body.elementor-page .legal-page .legal-hero-title,
.legal-hero-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  color: #FFFFFF !important;
  margin: 0 auto 0.85rem !important;
  max-width: 680px;
  letter-spacing: -0.01em;
}

.legal-hero-title .highlight-serif {
  color: #D5B88E !important;
  font-style: italic;
  font-weight: 400;
  display: inline;
}

.legal-hero-title br {
  display: none;
}

.legal-hero-lead {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #BBBBBB;
  margin: 0 auto 1.35rem;
  max-width: 660px;
}

.legal-meta-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  font-size: 0.85rem;
  color: #888888;
  margin-bottom: 1.75rem;
}

.legal-meta-bar strong {
  color: #D5B88E;
}

/* Pigułki korzyści / zaufania w Hero */
.legal-hero-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  font-weight: 500;
  color: #CCCCCC;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  padding: 0.5rem 1rem;
  border-radius: 999px;
  transition: all 0.25s ease;
}

.hero-chip:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-2px);
}

.hero-chip svg {
  color: #E95321;
}

.hero-chip.highlight-chip {
  background: rgba(233, 83, 33, 0.12);
  border-color: rgba(233, 83, 33, 0.35);
  color: #FFFFFF;
}

/* Nagłówki sekcji informacyjnych */
.legal-section {
  padding: 2.75rem 0;
}

.section-title-wrap {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 2rem;
}

.sub-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #E95321;
  margin-bottom: 0.4rem;
}

body .legal-page .section-heading,
body.elementor-page .legal-page .section-heading,
.section-heading {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.22rem, 1.8vw, 1.55rem) !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
  margin: 0 0 0.5rem !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em;
}

.section-subtext {
  font-size: 0.88rem;
  color: #999999;
  line-height: 1.58;
}

/* ==========================================================================
   DOSTAWA I ZWROTY: BANER DARMOWEJ DOSTAWY I KAFLE KURIERÓW
   ========================================================================== */
.free-shipping-banner {
  background: linear-gradient(135deg, rgba(233, 83, 33, 0.15) 0%, rgba(30, 20, 15, 0.7) 100%);
  border: 1px solid rgba(233, 83, 33, 0.35);
  border-radius: 20px;
  padding: 2rem 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.5rem;
  box-shadow: 0 12px 35px rgba(233, 83, 33, 0.12);
}

.free-banner-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #E95321;
  margin-bottom: 0.5rem;
}

.free-banner-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.85rem;
  font-weight: 500;
  color: #FFFFFF;
  margin: 0 0 0.4rem;
}

.free-banner-desc {
  font-size: 0.92rem;
  color: #CCCCCC;
  margin: 0;
  max-width: 600px;
  line-height: 1.55;
}

.btn-primary-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: #E95321;
  color: #FFFFFF !important;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 0.85rem 1.65rem;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.25s ease;
  white-space: nowrap;
  box-shadow: 0 6px 20px rgba(233, 83, 33, 0.35);
}

.btn-primary-cta:hover {
  background: #D14313;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(233, 83, 33, 0.45);
}

.btn-secondary-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #FFFFFF !important;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 0.85rem 1.65rem;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.25s ease;
  white-space: nowrap;
}

.btn-secondary-cta:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-2px);
}

/* Siatka kurierów */
.couriers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.courier-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 1.85rem 1.65rem;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.courier-card:hover {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(233, 83, 33, 0.4);
  transform: translateY(-4px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.35);
}

.courier-card.courier-featured {
  border-color: rgba(233, 83, 33, 0.4);
  background: linear-gradient(180deg, rgba(233, 83, 33, 0.06) 0%, rgba(255, 255, 255, 0.025) 100%);
}

.card-ribbon {
  position: absolute;
  top: -12px;
  right: 20px;
  background: #E95321;
  color: #FFFFFF;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(233, 83, 33, 0.4);
}

.courier-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.courier-logo-badge {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.courier-brand-name {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: #FFFFFF;
}

.courier-type-tag {
  font-size: 0.72rem;
  color: #888888;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.courier-price {
  text-align: right;
}

.price-val {
  font-size: 1.45rem;
  font-weight: 700;
  color: #FFFFFF;
  display: block;
}

.free-eligible {
  font-size: 0.72rem;
  color: #E95321;
  font-weight: 600;
  display: block;
}

.courier-title {
  font-size: 1.15rem;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 0.65rem;
  line-height: 1.35;
}

.courier-desc {
  font-size: 0.88rem;
  color: #A8A39D;
  line-height: 1.6;
  margin: 0 0 1.5rem;
  flex-grow: 1;
}

.courier-dispatch-info {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.78rem;
  color: #888888;
  background: rgba(255, 255, 255, 0.03);
  padding: 0.65rem 0.85rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.courier-dispatch-info svg {
  color: #E95321;
  flex-shrink: 0;
  margin-top: 1px;
}

.courier-dispatch-info.highlight-dispatch {
  background: rgba(233, 83, 33, 0.1);
  border-color: rgba(233, 83, 33, 0.25);
  color: #FFB399;
}

/* Notatka w boksie informacyjnym */
.legal-notice-box {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 4px solid #E95321;
  border-radius: 14px;
  padding: 1.35rem 1.75rem;
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  margin-top: 2rem;
}

.notice-icon svg {
  color: #E95321;
  flex-shrink: 0;
  margin-top: 2px;
}

.notice-text h4 {
  font-size: 0.95rem;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 0.35rem;
}

.notice-text p {
  font-size: 0.88rem;
  color: #A8A39D;
  margin: 0;
  line-height: 1.65;
}

.notice-text strong {
  color: #FFFFFF;
}

/* ==========================================================================
   STANDARD PANCERNEGO PAKOWANIA
   ========================================================================== */
.packaging-pillars-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

.pillar-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 18px;
  padding: 2.25rem 2rem;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.pillar-card:hover {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(213, 184, 142, 0.35);
  transform: translateY(-4px);
}

.pillar-num {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  font-family: var(--font-display, serif);
  font-size: 2.75rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.05);
  line-height: 1;
}

.pillar-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(233, 83, 33, 0.1);
  border: 1px solid rgba(233, 83, 33, 0.25);
  color: #E95321;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.35rem;
}

.pillar-card h3 {
  font-size: 1.2rem;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 0.65rem;
}

.pillar-card p {
  font-size: 0.9rem;
  color: #A8A39D;
  line-height: 1.65;
  margin: 0;
}

/* ==========================================================================
   ZWROTY: KROKI KROK PO KROKU
   ========================================================================== */
.returns-steps-track {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}

.step-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 2rem 1.65rem;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.3s ease;
}

.step-card:hover {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(233, 83, 33, 0.35);
  transform: translateY(-4px);
}

.step-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #E95321;
  margin-bottom: 1.15rem;
}

.step-icon {
  color: #D5B88E;
  margin-bottom: 1rem;
}

.step-title {
  font-size: 1.15rem;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 0.65rem;
  line-height: 1.35;
}

.step-desc {
  font-size: 0.88rem;
  color: #A8A39D;
  line-height: 1.65;
  margin: 0;
}

.step-desc-sub {
  font-size: 0.78rem;
  color: #777777;
  margin-top: 0.65rem;
  line-height: 1.5;
}

.address-box-mini {
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 0.75rem 1rem;
  font-size: 0.82rem;
  color: #F7F5F0;
  margin: 0.85rem 0;
  line-height: 1.45;
}

.accent-link {
  color: #E95321;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.accent-link:hover {
  color: #FFA07A;
}

/* ==========================================================================
   REKLAMACJE: PANEL PRIORYTETOWY
   ========================================================================== */
.claims-hero-panel {
  background: radial-gradient(circle at 10% 20%, rgba(233, 83, 33, 0.12) 0%, rgba(26, 26, 26, 0.9) 80%);
  border: 1px solid rgba(233, 83, 33, 0.3);
  border-radius: 24px;
  padding: 3rem 2.5rem;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.4);
}

.claims-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #E95321;
  margin-bottom: 0.75rem;
}

.claims-panel-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 1rem;
  line-height: 1.25;
}

.claims-panel-lead {
  font-size: 1rem;
  color: #CCCCCC;
  line-height: 1.7;
  max-width: 800px;
  margin: 0 0 2rem;
}

.claims-steps-compact {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.25rem;
  margin-bottom: 2.25rem;
}

.claim-step-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  padding: 1.15rem 1rem;
}

.claim-step-no {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #E95321;
  color: #FFFFFF;
  font-size: 0.82rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.claim-step-item strong {
  font-size: 0.92rem;
  color: #FFFFFF;
  display: block;
  margin-bottom: 0.25rem;
}

.claim-step-item p {
  font-size: 0.8rem;
  color: #A8A39D;
  margin: 0;
  line-height: 1.45;
}

.claims-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

/* ==========================================================================
   FAQ WIDGET: DETALE AKORDEONU
   ========================================================================== */
.legal-faq-list {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.legal-faq-item {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.25s ease;
}

.legal-faq-item[open] {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(233, 83, 33, 0.35);
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  font-size: 1.05rem;
  font-weight: 500;
  color: #FFFFFF;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-chevron {
  color: #E95321;
  transition: transform 0.25s ease;
}

.legal-faq-item[open] .faq-chevron {
  transform: rotate(180deg);
}

.faq-answer {
  padding: 0 1.5rem 1.35rem;
  font-size: 0.92rem;
  color: #A8A39D;
  line-height: 1.7;
}

.faq-answer p {
  margin: 0;
}

/* ==========================================================================
   REGULAMIN & POLITYKA PRYWATNOŚCI: UKŁAD Z DWOMA KOLUMNAMI (TOC + CONTENT)
   ========================================================================== */
.legal-layout-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 3rem;
  align-items: flex-start;
  margin-top: 1rem;
}

/* Karta Spisu Treści (TOC) */
.legal-toc-col {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
}

.legal-toc-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 1.65rem 1.35rem;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}

.toc-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.toc-title svg {
  color: #E95321;
}

.toc-nav {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.toc-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.84rem;
  color: #A8A39D;
  padding: 0.45rem 0.65rem;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.toc-link span {
  font-weight: 700;
  color: #E95321;
  font-size: 0.78rem;
  min-width: 22px;
}

.toc-link:hover {
  color: #FFFFFF;
  background: rgba(255, 255, 255, 0.05);
  transform: translateX(3px);
}

.toc-link-form {
  margin-top: 0.5rem;
  background: rgba(233, 83, 33, 0.08);
  border: 1px solid rgba(233, 83, 33, 0.25);
  color: #FFA07A;
}

.toc-link-form:hover {
  background: rgba(233, 83, 33, 0.15);
  color: #FFFFFF;
}

.toc-support-box {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.78rem;
}

.toc-support-label {
  color: #777777;
  display: block;
  margin-bottom: 0.25rem;
}

.toc-support-link {
  color: #E95321;
  font-weight: 600;
  text-decoration: underline;
}

/* Prawa kolumna – treść */
.legal-content-col {
  min-width: 0;
}

/* Karta danych sprzedawcy / administratora */
.seller-identity-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 1.75rem 2rem;
  margin-bottom: 2.5rem;
}

.identity-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #E95321;
  margin-bottom: 0.5rem;
}

.identity-name {
  font-family: var(--font-display, serif);
  font-size: 1.45rem;
  font-weight: 500;
  color: #FFFFFF;
  margin: 0 0 1.25rem;
}

.identity-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
}

.id-label {
  display: block;
  font-size: 0.74rem;
  color: #888888;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.2rem;
}

.identity-grid strong {
  font-size: 0.92rem;
  color: #F7F5F0;
  line-height: 1.45;
}

/* Pojedynczy artykuł prawny (§) */
.legal-article {
  background: rgba(255, 255, 255, 0.018);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 18px;
  padding: 2.25rem 2.25rem;
  margin-bottom: 1.75rem;
  scroll-margin-top: 90px;
  transition: border-color 0.25s ease;
}

.legal-article:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.article-header {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.35rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.article-num {
  font-family: var(--font-display, serif);
  font-size: 1.45rem;
  font-weight: 700;
  color: #E95321;
  line-height: 1;
}

.article-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.35rem;
  font-weight: 500;
  color: #FFFFFF;
  margin: 0;
  line-height: 1.3;
}

.article-body {
  font-size: 0.94rem;
  color: #CCCCCC;
  line-height: 1.8;
}

.article-body p {
  margin: 0 0 1rem;
}

.legal-num-list {
  padding-left: 1.35rem;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.legal-num-list > li {
  line-height: 1.75;
}

.legal-num-list strong {
  color: #FFFFFF;
}

.legal-sub-list {
  list-style-type: disc;
  padding-left: 1.35rem;
  margin: 0.65rem 0 0.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.legal-sub-list li {
  color: #B5B0A8;
}

/* Tabele prawne */
.legal-table-wrap {
  overflow-x: auto;
  margin: 1.25rem 0;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.legal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
  text-align: left;
}

.legal-table th {
  background: rgba(255, 255, 255, 0.04);
  color: #D5B88E;
  padding: 0.85rem 1rem;
  font-weight: 600;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  white-space: nowrap;
}

.legal-table td {
  padding: 0.85rem 1rem;
  color: #CCCCCC;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  line-height: 1.55;
}

.legal-table tr:last-child td {
  border-bottom: none;
}

.legal-table tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

/* Wyróżnienia (callouts) */
.legal-callout {
  background: rgba(233, 83, 33, 0.08);
  border-left: 3px solid #E95321;
  border-radius: 0 10px 10px 0;
  padding: 1rem 1.35rem;
  margin: 1.35rem 0 0;
  font-size: 0.9rem;
  color: #F7F5F0;
  line-height: 1.6;
}

.legal-callout p {
  margin: 0;
}

/* Karty uprawnień RODO */
.rights-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1.15rem;
  margin: 1.5rem 0 1.25rem;
}

.right-mini-card {
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  padding: 1.35rem 1.15rem;
  transition: border-color 0.2s ease;
}

.right-mini-card:hover {
  border-color: rgba(233, 83, 33, 0.35);
}

.right-icon {
  color: #E95321;
  margin-bottom: 0.65rem;
}

.right-mini-card h4 {
  font-size: 0.95rem;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 0.35rem;
}

.right-mini-card p {
  font-size: 0.82rem;
  color: #A8A39D;
  line-height: 1.55;
  margin: 0;
}

/* Wzór formularza odstąpienia */
.withdrawal-form-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(213, 184, 142, 0.3);
  border-radius: 20px;
  padding: 2.25rem 2.25rem;
  margin-top: 2.5rem;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.35);
  scroll-margin-top: 90px;
}

.form-card-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #D5B88E;
  margin-bottom: 0.45rem;
}

.form-card-title {
  font-family: var(--font-display, serif);
  font-size: 1.55rem;
  font-weight: 500;
  color: #FFFFFF;
  margin: 0 0 0.35rem;
}

.form-card-note {
  font-size: 0.85rem;
  color: #888888;
  font-style: italic;
  margin: 0 0 1.5rem;
}

.form-text-sample {
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1.65rem 1.75rem;
  font-size: 0.88rem;
  color: #CCCCCC;
  line-height: 1.85;
}

.form-text-sample p {
  margin: 0 0 1.25rem;
}

.form-text-sample p:last-child {
  margin: 0;
}

.form-star-note {
  font-size: 0.78rem;
  color: #777777;
  font-style: italic;
}

.form-card-footer {
  margin-top: 1.5rem;
}

/* Box kontaktowy w polityce */
.privacy-contact-box {
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 1.35rem 1.65rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-top: 1.25rem;
}

.contact-card-icon {
  color: #E95321;
  flex-shrink: 0;
}

/* ==========================================================================
   RESPONSYWNOŚĆ STRON PRAWNYCH
   ========================================================================== */
@media (max-width: 992px) {
  .legal-layout-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .legal-toc-col {
    position: static;
  }

  .legal-toc-card {
    padding: 1.25rem 1.25rem;
  }

  .toc-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.35rem;
  }

  .free-shipping-banner {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5rem 1.5rem;
  }

  body .legal-page .free-banner-title,
  .free-banner-title {
    font-size: 1.25rem !important;
  }
}

@media (max-width: 768px) {
  .legal-hero-banner {
    padding: 1.5rem 1rem !important;
    border-radius: 16px !important;
  }

  .legal-pill {
    padding: 0.35rem 0.85rem !important;
    font-size: 0.68rem !important;
    margin-bottom: 0.75rem !important;
  }

  body .legal-page .legal-hero-title,
  body.elementor-page .legal-page .legal-hero-title,
  .legal-hero-title {
    font-size: 1.28rem !important;
    line-height: 1.25 !important;
    margin-bottom: 0.75rem !important;
  }

  .legal-hero-lead {
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1rem !important;
  }

  .hero-chip {
    padding: 0.38rem 0.75rem !important;
    font-size: 0.76rem !important;
  }

  body .legal-page .section-heading,
  body.elementor-page .legal-page .section-heading,
  .section-heading {
    font-size: 1.18rem !important;
    line-height: 1.25 !important;
  }

  .section-title-wrap {
    margin-bottom: 1.5rem !important;
  }

  .section-subtext {
    font-size: 0.84rem !important;
  }

  .free-shipping-banner {
    padding: 1.25rem 1.1rem !important;
    border-radius: 14px !important;
  }

  body .legal-page .free-banner-title,
  .free-banner-title {
    font-size: 1.1rem !important;
  }

  .legal-meta-bar {
    flex-direction: column;
    gap: 0.3rem;
  }

  .legal-meta-bar .sep {
    display: none;
  }

  .couriers-grid {
    grid-template-columns: 1fr;
  }

  .courier-card {
    padding: 1.25rem 1.15rem !important;
  }

  .courier-title {
    font-size: 0.98rem !important;
  }

  .packaging-pillars-grid {
    grid-template-columns: 1fr;
  }

  .pillar-card {
    padding: 1.25rem 1.15rem !important;
  }

  .pillar-card h3 {
    font-size: 0.98rem !important;
  }

  .returns-steps-track {
    grid-template-columns: 1fr;
  }

  .step-card {
    padding: 1.25rem 1.15rem !important;
  }

  .step-title {
    font-size: 0.98rem !important;
  }

  .legal-article {
    padding: 1.25rem 1rem !important;
    border-radius: 12px !important;
  }

  .article-title {
    font-size: 1.1rem !important;
  }

  .claims-hero-panel {
    padding: 1.5rem 1.15rem !important;
    border-radius: 16px !important;
  }

  .claims-hero-title {
    font-size: 1.15rem !important;
  }

  .claims-cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .claims-cta-row a {
    justify-content: center;
  }

  .withdrawal-form-card {
    padding: 1.35rem 1rem !important;
  }

  .form-card-title {
    font-size: 1.05rem !important;
  }

  .form-text-sample {
    padding: 1rem 0.85rem !important;
    font-size: 0.8rem !important;
  }
}

@media (max-width: 480px) {
  body .legal-page .legal-hero-title,
  body.elementor-page .legal-page .legal-hero-title,
  .legal-hero-title {
    font-size: 1.2rem !important;
    line-height: 1.25 !important;
  }

  body .legal-page .section-heading,
  body.elementor-page .legal-page .section-heading,
  .section-heading {
    font-size: 1.12rem !important;
    line-height: 1.25 !important;
  }
}

/* ==========================================================================
   MOJE KONTO (WOOCOMMERCE MY ACCOUNT - LUCSOY DARK LUXURY)
   ========================================================================== */

.account-page-clean {
  padding: 2.25rem 0 5rem;
}

.account-clean-head {
  text-align: center;
  margin-bottom: 2.25rem;
}

.account-clean-breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: #888888;
  margin-bottom: 0.65rem;
}

.account-clean-breadcrumbs a {
  color: #AAAAAA;
  text-decoration: none;
  transition: color 0.2s;
}

.account-clean-breadcrumbs a:hover {
  color: #D5B88E;
}

.account-clean-breadcrumbs .sep {
  color: #555555;
}

.account-clean-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.5rem, 2.8vw, 2.1rem) !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.account-clean-shell {
  width: 100%;
}

/* --------------------------------------------------------------------------
   1. GUEST STATE: LOGOWANIE I REJESTRACJA (SOLID 2-COLUMN GRID)
   -------------------------------------------------------------------------- */
.luc-auth-dual-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2rem !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}

.luc-auth-single-grid {
  max-width: 440px !important;
  margin: 0 auto !important;
}

.luc-auth-box {
  background: #171717 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 18px !important;
  padding: 2.25rem 2rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
  box-sizing: border-box !important;
}

.auth-box-header {
  margin-bottom: 1.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding-bottom: 0.75rem !important;
}

.auth-box-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.35rem !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}

.luc-form-row {
  margin-bottom: 1.2rem !important;
}

.luc-field-label {
  display: block !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #CCCCCC !important;
  margin-bottom: 0.45rem !important;
}

.luc-field-label .required {
  color: #E95321 !important;
}

.luc-field-input {
  width: 100% !important;
  background: #1F1F1F !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  padding: 0.8rem 1rem !important;
  font-size: 0.9rem !important;
  font-family: var(--font-sans, "Jost", sans-serif) !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: all 0.25s ease !important;
}

.luc-field-input:focus {
  border-color: #D5B88E !important;
  background: #242424 !important;
  box-shadow: 0 0 0 3px rgba(213, 184, 142, 0.18) !important;
}

.luc-form-sub-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.65rem !important;
  margin: 1rem 0 1.5rem !important;
  font-size: 0.84rem !important;
}

.luc-remember-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: #AAAAAA !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  font-size: 0.84rem !important;
  margin: 0 !important;
}

.luc-remember-check input[type="checkbox"] {
  accent-color: #E95321 !important;
  width: 16px !important;
  height: 16px !important;
  cursor: pointer !important;
}

.luc-lost-link {
  color: #D5B88E !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  font-size: 0.84rem !important;
  transition: color 0.2s ease !important;
}

.luc-lost-link:hover {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}

.woocommerce-LostPassword,
.lost_password {
  margin: 0 !important;
  padding: 0 !important;
}

.reg-pass-hint {
  font-size: 0.8rem !important;
  color: #888888 !important;
  line-height: 1.45 !important;
  margin: 0.85rem 0 1rem !important;
}

.luc-register-privacy-text {
  font-size: 0.76rem !important;
  color: #777777 !important;
  line-height: 1.45 !important;
  margin: 0.85rem 0 1.25rem !important;
}

.luc-register-privacy-text a {
  color: #D5B88E !important;
  text-decoration: underline !important;
}

.luc-form-action-row {
  margin-top: 0.5rem !important;
}

/* --------------------------------------------------------------------------
   PRZYCISKI JAK ZAWSZE W MOTYWIE (FESTIVE GLOWING ORANGE PILL)
   -------------------------------------------------------------------------- */
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit,
.woocommerce button.button.woocommerce-form-login__submit,
.woocommerce button.button.woocommerce-form-register__submit,
.luc-btn-theme-primary {
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 999px !important;
  padding: 0.85rem 1.85rem !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 8px 24px rgba(233, 83, 33, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
  height: 48px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce-form-login__submit:hover,
body.woocommerce-account .woocommerce-form-register__submit:hover,
.luc-btn-theme-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(233, 83, 33, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
  color: #FFFFFF !important;
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
}

body.woocommerce-account .woocommerce button.button span,
body.woocommerce-account .woocommerce button.button svg,
.luc-btn-theme-primary span,
.luc-btn-theme-primary svg {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
  font-family: var(--font-sans, "Jost", sans-serif) !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   2. LOGGED-IN STATE: GŁÓWNY UKŁAD MY ACCOUNT
   -------------------------------------------------------------------------- */
/* Kontener dla gości (ekran logowania/rejestracji) - wyśrodkowany, pełna szerokość, bez podziału na sidebar */
body.woocommerce-account:not(.logged-in) .woocommerce,
body:not(.logged-in).woocommerce-account .woocommerce {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

/* Układ dla zalogowanych: Pancerne CSS Grid z osobnymi obszarami dla nawigacji i zawartości */
body.logged-in.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  grid-template-areas: 
    "notices notices"
    "nav content" !important;
  gap: 2.25rem !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.logged-in.woocommerce-account .woocommerce .woocommerce-notices-wrapper {
  grid-area: notices !important;
  width: 100% !important;
}

/* Lewa kolumna: Nawigacja (Sidebar) */
body.logged-in.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
body.logged-in.woocommerce-account .woocommerce .luc-account-nav {
  grid-area: nav !important;
  width: 100% !important;
  max-width: 280px !important;
  margin: 0 !important;
  float: none !important;
}

/* Prawa kolumna: Główna zawartość konta */
body.logged-in.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
  grid-area: content !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Lewa kolumna: Nawigacja (Sidebar) */
.luc-account-nav {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 1.5rem 1.15rem;
  position: sticky;
  top: 90px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.luc-account-user-card {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding-bottom: 1.15rem;
  margin-bottom: 1.15rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.user-avatar-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(213, 184, 142, 0.25) 0%, rgba(233, 83, 33, 0.25) 100%);
  border: 1.5px solid #D5B88E;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D5B88E;
  font-weight: 700;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.user-info-text {
  overflow: hidden;
}

.user-greeting {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #888888;
  display: block;
  margin-bottom: 0.1rem;
}

.user-display-name {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.user-email-badge {
  font-size: 0.74rem;
  color: #AAAAAA;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 165px;
}

.luc-account-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.luc-account-menu-list li {
  margin-bottom: 0.3rem;
}

.luc-account-menu-list li a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 0.95rem;
  border-radius: 10px;
  color: #CCCCCC;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 500;
  transition: all 0.2s ease;
  border-left: 3px solid transparent;
}

.luc-account-menu-list li a:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #FFFFFF;
  transform: translateX(3px);
}

.luc-account-menu-list li.is-active a {
  background: rgba(213, 184, 142, 0.12);
  color: #D5B88E;
  border-left-color: #D5B88E;
  font-weight: 600;
}

.luc-account-menu-list li.is-active .nav-item-icon {
  color: #D5B88E;
}

.nav-item-icon {
  color: #888888;
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
}

.nav-item-label {
  flex-grow: 1;
}

.nav-item-arrow {
  color: rgba(255, 255, 255, 0.2);
  transition: transform 0.2s ease, color 0.2s ease;
}

.luc-account-menu-list li a:hover .nav-item-arrow {
  color: #D5B88E;
  transform: translateX(2px);
}

.luc-account-menu-list li.woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 0.65rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.luc-account-menu-list li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #FF8A8A;
}

.luc-account-menu-list li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: rgba(255, 138, 138, 0.1);
  color: #FFA5A5;
}

.luc-account-sidebar-help {
  margin-top: 1.5rem;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.help-icon-wrap {
  color: #D5B88E;
  margin-top: 2px;
  flex-shrink: 0;
}

.help-title {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #888888;
  margin-bottom: 0.2rem;
}

.help-contact {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: #FFFFFF;
  text-decoration: none;
  margin-bottom: 0.15rem;
}

.help-contact:hover {
  color: #D5B88E;
}

.help-email {
  display: block;
  font-size: 0.76rem;
  color: #D5B88E;
  text-decoration: none;
}

.help-email:hover {
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   3. PRAWA STRONA: ZAWARTOŚĆ PULPITU (DASHBOARD)
   -------------------------------------------------------------------------- */
.woocommerce-MyAccount-content {
  min-width: 0;
}

.luc-welcome-banner {
  background: linear-gradient(135deg, rgba(233, 83, 33, 0.12) 0%, rgba(30, 20, 15, 0.65) 100%);
  border: 1px solid rgba(233, 83, 33, 0.28);
  border-radius: 18px;
  padding: 1.75rem 2rem;
  margin-bottom: 2rem;
}

.welcome-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #E95321;
  margin-bottom: 0.4rem;
}

.welcome-heading {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.55rem !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
  margin: 0 0 0.45rem !important;
  line-height: 1.25 !important;
}

.welcome-heading .highlight-name {
  color: #D5B88E;
  font-style: italic;
}

.welcome-desc {
  font-size: 0.9rem;
  color: #CCCCCC;
  max-width: 620px;
  line-height: 1.55;
  margin: 0 0 1.25rem;
}

.welcome-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

/* Siatka 3 szybkich kart */
.luc-quick-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 2rem;
}

.quick-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 1.35rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.25s ease;
}

.quick-card:hover {
  border-color: rgba(213, 184, 142, 0.35);
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.quick-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(213, 184, 142, 0.1);
  color: #D5B88E;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.85rem;
}

.quick-card-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #888888;
  display: block;
  margin-bottom: 0.25rem;
}

.quick-card-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 0.35rem;
}

.quick-card-desc {
  font-size: 0.8rem;
  color: #999999;
  line-height: 1.45;
  margin: 0;
}

.quick-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #D5B88E;
  text-decoration: none;
  margin-top: 1rem;
  transition: gap 0.2s ease, color 0.2s ease;
}

.quick-card-link:hover {
  gap: 0.55rem;
  color: #FFFFFF;
}

/* Baner concierge */
.luc-concierge-card {
  background: #151515;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 16px;
  padding: 1.5rem 1.75rem;
  display: flex;
  align-items: center;
  gap: 1.35rem;
}

.concierge-visual {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(233, 83, 33, 0.12);
  color: #E95321;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.concierge-sub {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #E95321;
  display: block;
  margin-bottom: 0.2rem;
}

.concierge-title {
  font-size: 1.1rem;
  font-weight: 500;
  color: #FFFFFF;
  margin: 0 0 0.35rem;
}

.concierge-desc {
  font-size: 0.84rem;
  color: #AAAAAA;
  line-height: 1.5;
  margin: 0 0 0.85rem;
}

.concierge-contacts {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.contact-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.95rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
  font-size: 0.82rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.contact-pill:hover {
  background: rgba(213, 184, 142, 0.15);
  border-color: #D5B88E;
  color: #D5B88E;
}

/* --------------------------------------------------------------------------
   4. ZAMÓWIENIA (ORDERS TABLE & STATUSES)
   -------------------------------------------------------------------------- */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.65rem;
  margin-top: 1rem;
}

.woocommerce-orders-table th {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #888888;
  padding: 0.75rem 1rem;
  border: none;
  font-weight: 600;
  text-align: left;
}

.woocommerce-orders-table td {
  background: #171717;
  padding: 1rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  color: #CCCCCC;
  font-size: 0.88rem;
  vertical-align: middle;
}

.woocommerce-orders-table tr td:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px 0 0 12px;
  font-weight: 600;
  color: #FFFFFF;
}

.woocommerce-orders-table tr td:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 0 12px 12px 0;
  text-align: right;
}

.woocommerce-orders-table td a.woocommerce-button.view {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 1rem;
  border-radius: 8px;
  background: rgba(213, 184, 142, 0.12);
  color: #D5B88E;
  border: 1px solid rgba(213, 184, 142, 0.3);
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.woocommerce-orders-table td a.woocommerce-button.view:hover {
  background: #D5B88E;
  color: #121212;
}

/* --------------------------------------------------------------------------
   5. ADRESY (ADDRESSES)
   -------------------------------------------------------------------------- */
.woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-top: 1.25rem;
}

.woocommerce-Address {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding-bottom: 0.75rem;
  margin-bottom: 0.85rem;
}

.woocommerce-Address-title h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0;
}

.woocommerce-Address-title a.edit {
  font-size: 0.82rem;
  font-weight: 600;
  color: #D5B88E;
  text-decoration: none;
}

.woocommerce-Address-title a.edit:hover {
  text-decoration: underline;
}

.woocommerce-Address address {
  font-style: normal;
  color: #BBBBBB;
  font-size: 0.88rem;
  line-height: 1.6;
  margin: 0;
}

/* --------------------------------------------------------------------------
   6. FORMULARZE EDYCJI KONTA I ADRESU
   -------------------------------------------------------------------------- */
.woocommerce-EditAccountForm,
.woocommerce-address-fields__field-wrapper {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 1.75rem 2rem;
  margin-top: 1rem;
}

.woocommerce-EditAccountForm fieldset {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 1.35rem 1.35rem;
  margin: 1.5rem 0 1.25rem;
}

.woocommerce-EditAccountForm fieldset legend {
  padding: 0 0.5rem;
  color: #D5B88E;
  font-weight: 600;
  font-size: 0.92rem;
}

.woocommerce-form-row input.input-text,
.woocommerce-form-row select,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select {
  width: 100%;
  background: #1F1F1F !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  padding: 0.8rem 1rem !important;
  font-size: 0.9rem !important;
  outline: none !important;
}

.woocommerce-form-row input.input-text:focus,
.woocommerce-address-fields input.input-text:focus {
  border-color: #D5B88E !important;
  box-shadow: 0 0 0 3px rgba(213, 184, 142, 0.18) !important;
}

/* --------------------------------------------------------------------------
   7. POWIADOMIENIA WOOCOMMERCE (NOTICES)
   -------------------------------------------------------------------------- */
.woocommerce-notices-wrapper {
  margin-bottom: 1.5rem;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 12px;
  padding: 1rem 1.35rem;
  margin: 0 0 1.5rem !important;
  font-size: 0.88rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  list-style: none;
}

.woocommerce-message {
  background: rgba(46, 213, 115, 0.1) !important;
  border: 1px solid rgba(46, 213, 115, 0.3) !important;
  color: #E8F8F0 !important;
}

.woocommerce-info {
  background: rgba(213, 184, 142, 0.1) !important;
  border: 1px solid rgba(213, 184, 142, 0.3) !important;
  color: #FFF5E6 !important;
}

.woocommerce-error {
  background: rgba(255, 71, 87, 0.1) !important;
  border: 1px solid rgba(255, 71, 87, 0.3) !important;
  color: #FFEAEB !important;
}

.woocommerce-message a.button,
.woocommerce-info a.button {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0.4rem 1rem !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* --------------------------------------------------------------------------
   8. RESPONSYWNOŚĆ MY ACCOUNT (TABLET & MOBILE)
   -------------------------------------------------------------------------- */
@media (max-width: 992px) {
  body.logged-in.woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "notices"
      "nav"
      "content" !important;
    gap: 1.75rem !important;
  }

  body.logged-in.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
  body.logged-in.woocommerce-account .woocommerce .luc-account-nav {
    max-width: 100% !important;
    position: static !important;
  }

  .luc-account-menu-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.35rem;
  }

  .luc-account-menu-list li.woocommerce-MyAccount-navigation-link--customer-logout {
    grid-column: 1 / -1;
    margin-top: 0.35rem;
  }

  .luc-quick-cards-grid {
    grid-template-columns: 1fr;
  }

  .luc-auth-dual-grid {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
    max-width: 480px !important;
  }

  .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .account-clean-head {
    margin-bottom: 1.5rem;
  }

  .account-clean-title {
    font-size: 1.45rem !important;
  }

  .luc-auth-box {
    padding: 1.65rem 1.25rem !important;
    border-radius: 16px !important;
  }

  .auth-box-title {
    font-size: 1.25rem !important;
  }

  .luc-form-sub-row {
    flex-direction: row !important;
    justify-content: space-between !important;
  }

  .luc-account-nav {
    padding: 1.15rem 1rem !important;
    border-radius: 14px !important;
  }

  .luc-account-user-card {
    padding-bottom: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }

  .user-avatar-circle {
    width: 38px !important;
    height: 38px !important;
    font-size: 0.85rem !important;
  }

  .user-display-name {
    font-size: 1.05rem !important;
  }

  .luc-account-menu-list {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.35rem !important;
  }

  .luc-account-menu-list li a {
    padding: 0.55rem 0.65rem !important;
    font-size: 0.78rem !important;
    border-radius: 8px !important;
  }

  .luc-account-menu-list li.woocommerce-MyAccount-navigation-link--customer-logout {
    grid-column: 1 / -1 !important;
  }

  .luc-account-sidebar-help {
    display: none !important;
  }

  .luc-welcome-banner {
    padding: 1.35rem 1.15rem;
    border-radius: 14px;
  }

  .welcome-heading {
    font-size: 1.35rem !important;
  }

  .welcome-actions {
    flex-direction: column;
  }

  .welcome-actions a {
    justify-content: center;
  }

  .luc-concierge-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.35rem 1.15rem;
  }

  /* Kartowy widok zamówień na mobile */
  .woocommerce-orders-table,
  .woocommerce-orders-table tbody,
  .woocommerce-orders-table tr,
  .woocommerce-orders-table td {
    display: block;
    width: 100%;
  }

  .woocommerce-orders-table thead {
    display: none;
  }

  .woocommerce-orders-table tr {
    margin-bottom: 1rem;
    background: #171717;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 0.75rem 1rem;
  }

  .woocommerce-orders-table td {
    background: transparent;
    border: none !important;
    padding: 0.45rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .woocommerce-orders-table td::before {
    content: attr(data-title);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #888888;
    font-weight: 600;
  }

  .woocommerce-orders-table tr td:first-child {
    border-radius: 0;
  }

  .woocommerce-orders-table tr td:last-child {
    border-radius: 0;
    text-align: left;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  }

  .woocommerce-orders-table td a.woocommerce-button.view {
    width: 100%;
    justify-content: center;
  }
}

/* --------------------------------------------------------------------------
   9. INTEGRACJA PROGRAMU LOJALNOŚCIOWEGO (WPLoyalty: Płomienie i rabaty)
   -------------------------------------------------------------------------- */
.wlr-myaccount-page {
  background-color: transparent !important;
  color: #CCCCCC !important;
}

.wlr-myaccount-page .wlr-heading {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.45rem !important;
  color: #FFFFFF !important;
  border-left: 3px solid #E95321 !important;
  padding-left: 0.75rem !important;
  margin-bottom: 1.25rem !important;
}

.wlr-myaccount-page .wlr-card {
  background: #171717 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 14px !important;
  color: #CCCCCC !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
  transition: all 0.25s ease !important;
}

.wlr-myaccount-page .wlr-card:hover {
  border-color: rgba(213, 184, 142, 0.3) !important;
}

.wlr-myaccount-page .wlr-text-color,
.wlr-myaccount-page .wlr-name,
.wlr-myaccount-page .wlr-discount-point,
.wlr-myaccount-page .wlr-name-container p,
.wlr-myaccount-page .wlr-card p {
  color: #EEEEEE !important;
}

.wlr-myaccount-page .wlr-card-container {
  background: transparent !important;
}

.wlr-myaccount-page .wlr-button,
.wlr-myaccount-page .wlr-button-action,
.wlr-myaccount-page a.wlr-button-text-color,
.wlr-myaccount-page .wlr-followup-section {
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  border: none !important;
  padding: 0.45rem 1.15rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(233, 83, 33, 0.35) !important;
}

.wlr-myaccount-page .wlr-referral-box,
.wlr-myaccount-page .wlr-user-details,
.wlr-myaccount-page .wlr-customer-reward {
  background: #171717 !important;
  border: 1px solid rgba(213, 184, 142, 0.25) !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.wlr-myaccount-page input.wlr_referral_url {
  background: #1F1F1F !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 0.65rem 0.85rem !important;
}

/* ==========================================================================
   STRONA B2B DLA FIRM (LUCSOY DARK LUXURY B2B)
   ========================================================================== */
.b2b-page-wrapper {
  background-color: #121212;
  color: #CCCCCC;
  font-family: var(--font-sans, "Jost", sans-serif);
  padding-bottom: 4rem;
}

.b2b-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #888888;
  padding: 1.5rem 0 1rem;
}

.b2b-breadcrumbs a {
  color: #AAAAAA;
  text-decoration: none;
  transition: color 0.2s ease;
}

.b2b-breadcrumbs a:hover {
  color: #D5B88E;
}

.b2b-breadcrumbs .sep {
  color: #555555;
}

/* 1. HERO SECTION */
.b2b-hero-section {
  padding: 1.5rem 0 3rem;
}

.b2b-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 3rem;
  align-items: start;
}

.b2b-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(233, 83, 33, 0.12);
  border: 1px solid rgba(233, 83, 33, 0.3);
  color: #E95321;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  margin-bottom: 1.25rem;
}

.b2b-hero-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 500;
  line-height: 1.15;
  color: #FFFFFF;
  letter-spacing: -0.01em;
  margin-bottom: 1.25rem;
}

.b2b-contact-direct {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-bottom: 1.75rem;
}

.contact-direct-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #E0E0E0;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.25s ease;
}

.contact-direct-pill:hover {
  background: #202020;
  border-color: #D5B88E;
  color: #D5B88E;
}

.direct-divider {
  color: #444444;
}

/* MOQ Card */
.b2b-moq-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: linear-gradient(135deg, rgba(213, 184, 142, 0.08) 0%, rgba(23, 23, 23, 0.85) 100%);
  border: 1px solid rgba(213, 184, 142, 0.35);
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.moq-icon {
  width: 44px;
  height: 44px;
  background: rgba(213, 184, 142, 0.15);
  color: #D5B88E;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.moq-text h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #FFFFFF;
  margin-bottom: 0.3rem;
}

.moq-text p {
  font-size: 0.86rem;
  color: #AAAAAA;
  line-height: 1.5;
  margin: 0;
}

.b2b-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Formularz w Hero */
.b2b-hero-form-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
  position: sticky;
  top: 90px;
}

.hero-form-header {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.hero-form-header h3 {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.45rem;
  color: #FFFFFF;
  margin-bottom: 0.25rem;
}

.hero-form-header p {
  font-size: 0.82rem;
  color: #888888;
  margin: 0;
}

/* Przyciski motywu B2B */
.btn-theme-capsule {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0.85rem 1.75rem !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(233, 83, 33, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-theme-capsule:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(233, 83, 33, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
}

.btn-secondary-capsule {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  background: rgba(255, 255, 255, 0.05);
  color: #E0E0E0;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  padding: 0.85rem 1.6rem;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

.btn-secondary-capsule:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #D5B88E;
  color: #D5B88E;
}

.btn-block {
  width: 100%;
}

.btn-large {
  padding: 1rem 2.25rem !important;
  font-size: 1rem !important;
}

/* Flame divider */
.b2b-flame-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  padding: 2.5rem 0;
  opacity: 0.4;
}

.b2b-flame-divider .divider-line {
  flex: 1;
  max-width: 120px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 83, 33, 0.8), transparent);
}

.b2b-flame-divider .divider-flame {
  color: #E95321;
}

/* Wspólne nagłówki sekcji */
.b2b-section {
  padding: 2.5rem 0;
}

.b2b-section-head {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 2.5rem;
}

.b2b-section-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(1.85rem, 3vw, 2.6rem);
  font-weight: 500;
  color: #FFFFFF;
  margin-bottom: 0.65rem;
}

.b2b-section-subtitle {
  font-size: 0.95rem;
  color: #999999;
}

/* 2. SZKŁO DO WYBORU (GLASS CARDS) */
.b2b-glass-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.75rem;
  margin-bottom: 2rem;
}

.b2b-glass-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.b2b-glass-card:hover {
  border-color: rgba(213, 184, 142, 0.35);
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
}

.glass-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.35rem;
  color: #FFFFFF;
  margin-bottom: 0.65rem;
}

.glass-specs {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 1.25rem;
}

.spec-pill {
  font-size: 0.8rem;
  color: #AAAAAA;
}

.spec-pill strong {
  color: #D5B88E;
}

.glass-gallery-thumbnails {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.glass-gallery-thumbnails a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  aspect-ratio: 1;
  background: #121212;
  padding: 4px;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.glass-gallery-thumbnails a:hover {
  transform: scale(1.05);
  border-color: #E95321;
}

.glass-gallery-thumbnails img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.glass-pricing-box {
  margin-top: auto;
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 0.85rem 1rem;
}

.pricing-label {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #888888;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.pricing-tiers {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.pricing-tier-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.82rem;
  color: #CCCCCC;
}

.pricing-tier-row strong {
  color: #FFFFFF;
}

.pricing-tier-row.highlight {
  color: #D5B88E;
}

.pricing-tier-row.highlight strong {
  color: #E95321;
  font-size: 0.88rem;
}

/* Karta własne szkło */
.b2b-custom-glass-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  background: linear-gradient(135deg, rgba(30, 20, 15, 0.7) 0%, rgba(23, 23, 23, 0.95) 100%);
  border: 1px solid rgba(233, 83, 33, 0.3);
  border-radius: 18px;
  padding: 1.75rem 2.25rem;
  margin-bottom: 1.75rem;
}

.custom-glass-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: #D5B88E;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 0.5rem;
}

.custom-glass-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.5rem;
  color: #FFFFFF;
  margin-bottom: 0.4rem;
}

.custom-glass-desc {
  font-size: 0.9rem;
  color: #BBBBBB;
  max-width: 650px;
  margin: 0;
  line-height: 1.55;
}

.custom-glass-action {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.65rem;
  flex-shrink: 0;
}

.custom-glass-price {
  font-size: 1.15rem;
  font-weight: 600;
  color: #D5B88E;
}

/* Baner informacji cenowej */
.b2b-pricing-notice-box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.25rem;
  background: #171717;
  border: 1px dashed rgba(213, 184, 142, 0.35);
  border-radius: 14px;
  padding: 1rem 1.75rem;
}

.notice-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: #D5B88E;
}

.notice-item p {
  font-size: 0.88rem;
  color: #CCCCCC;
  margin: 0;
}

.notice-item strong {
  color: #FFFFFF;
}

.notice-sep {
  color: #444444;
}

/* 3. DOKUMENTACJA I CERTYFIKATY */
.b2b-compliance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.75rem;
  margin-bottom: 2rem;
}

.compliance-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.compliance-image {
  height: auto;
  min-height: 160px;
  background: #171717;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1rem 0;
}

.compliance-image img {
  width: 100%;
  height: auto;
  max-height: 250px;
  object-fit: contain;
  border-radius: 12px;
  display: block;
  transition: transform 0.4s ease;
}

.compliance-card:hover .compliance-image img {
  transform: scale(1.03);
}

.compliance-body {
  padding: 1.35rem 1.5rem;
}

.compliance-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.25rem;
  color: #FFFFFF;
  margin-bottom: 0.5rem;
}

.compliance-body p {
  font-size: 0.85rem;
  color: #AAAAAA;
  line-height: 1.55;
  margin: 0;
}

.compliance-highlight-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background: linear-gradient(135deg, rgba(233, 83, 33, 0.15) 0%, rgba(23, 23, 23, 0.9) 100%);
  border: 1px solid rgba(233, 83, 33, 0.35);
  border-radius: 16px;
  padding: 1.35rem 2rem;
  text-align: center;
}

.compliance-highlight-banner .shield-icon {
  color: #E95321;
  flex-shrink: 0;
}

.compliance-highlight-banner h3 {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.45rem;
  color: #FFFFFF;
  margin: 0;
}

/* 4. PRÓBKI */
.b2b-samples-card {
  background: linear-gradient(135deg, rgba(35, 25, 20, 0.7) 0%, rgba(23, 23, 23, 0.95) 100%);
  border: 1px solid rgba(213, 184, 142, 0.35);
  border-radius: 20px;
  padding: 2.5rem 3rem;
  text-align: center;
  max-width: 860px;
  margin: 0 auto;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
}

.samples-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #D5B88E;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 0.85rem;
}

.samples-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  color: #FFFFFF;
  margin-bottom: 1.25rem;
}

.samples-desc {
  font-size: 0.95rem;
  color: #CCCCCC;
  line-height: 1.7;
  max-width: 720px;
  margin: 0 auto 1.75rem;
}

.samples-desc strong {
  color: #FFFFFF;
}

.samples-cashback {
  display: block;
  margin-top: 0.75rem;
  color: #D5B88E;
}

.samples-cashback strong {
  color: #E95321;
}

/* 5. MODELE WSPÓŁPRACY */
.b2b-models-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}

.b2b-model-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

.b2b-model-card:hover {
  border-color: rgba(213, 184, 142, 0.35);
  transform: translateY(-3px);
}

.model-image {
  height: auto;
  min-height: 160px;
  background: #171717;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1rem 0;
}

.model-image img {
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: contain;
  border-radius: 12px;
  display: block;
  transition: transform 0.4s ease;
}

.b2b-model-card:hover .model-image img {
  transform: scale(1.03);
}

.model-body {
  padding: 1.35rem 1.5rem;
  position: relative;
  flex: 1;
}

.model-number {
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 2rem;
  font-weight: 700;
  color: rgba(213, 184, 142, 0.18);
}

.model-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.25rem;
  color: #FFFFFF;
  margin-bottom: 0.65rem;
}

.model-body p {
  font-size: 0.85rem;
  color: #AAAAAA;
  line-height: 1.55;
  margin: 0;
}

/* 6. ZAPACHY DO WYBORU */
.b2b-scents-dual {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 3rem;
  align-items: center;
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 3rem;
}

.b2b-scents-desc {
  font-size: 0.95rem;
  color: #CCCCCC;
  line-height: 1.7;
  margin-bottom: 1rem;
}

.b2b-scents-desc strong {
  color: #FFFFFF;
}

.b2b-scents-actions {
  margin-top: 1.5rem;
}

.b2b-scents-visual {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}

.b2b-scents-visual img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* 7. CZAS REALIZACJI */
.b2b-advantages-card {
  background: linear-gradient(135deg, rgba(28, 22, 18, 0.7) 0%, rgba(23, 23, 23, 0.95) 100%);
  border: 1px solid rgba(233, 83, 33, 0.28);
  border-radius: 20px;
  padding: 2.5rem 3rem;
}

.advantages-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  color: #FFFFFF;
  margin-bottom: 2rem;
}

.advantages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}

.advantage-item {
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.advantage-item.highlight {
  border-color: rgba(233, 83, 33, 0.45);
  background: linear-gradient(135deg, rgba(233, 83, 33, 0.1) 0%, rgba(18, 18, 18, 0.95) 100%);
}

.adv-icon {
  width: 38px;
  height: 38px;
  background: rgba(233, 83, 33, 0.15);
  color: #E95321;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.advantage-item p {
  font-size: 0.88rem;
  color: #CCCCCC;
  line-height: 1.55;
  margin: 0;
}

.advantage-item strong {
  color: #FFFFFF;
}

/* 8. FIRMY, KTÓRE MI ZAUFAŁY */
.b2b-trust-desc {
  font-size: 0.95rem;
  color: #AAAAAA;
  line-height: 1.7;
}

/* Siatka logotypów partnerów biznesowych */
.b2b-client-logos-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
  margin: 2.25rem 0;
}

.client-logo-card {
  background: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.client-logo-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(233, 83, 33, 0.25);
  border-color: #E95321;
}

.client-logo-card img {
  max-width: 100%;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

@media (max-width: 992px) {
  .b2b-client-logos-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}

@media (max-width: 600px) {
  .b2b-client-logos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }

  .client-logo-card {
    padding: 0.85rem 1rem;
    min-height: 75px;
  }

  .client-logo-card img {
    max-height: 38px;
  }
}

.b2b-trust-badges-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 1.25rem 2rem;
}

.trust-badge-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.86rem;
  font-weight: 500;
  color: #D5B88E;
}

/* 9. PRZEBIEG WSPÓŁPRACY */
.b2b-process-timeline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}

.timeline-step {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 1.5rem;
  position: relative;
  display: flex;
  gap: 1rem;
  transition: all 0.25s ease;
}

.timeline-step:hover {
  border-color: rgba(213, 184, 142, 0.3);
}

.timeline-step.highlight {
  border-color: rgba(233, 83, 33, 0.4);
  background: linear-gradient(135deg, rgba(233, 83, 33, 0.08) 0%, rgba(23, 23, 23, 0.95) 100%);
}

.step-num {
  width: 36px;
  height: 36px;
  background: rgba(213, 184, 142, 0.15);
  color: #D5B88E;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
  flex-shrink: 0;
}

.timeline-step.highlight .step-num {
  background: #E95321;
  color: #FFFFFF;
}

.step-content h4 {
  font-size: 0.92rem;
  font-weight: 600;
  color: #FFFFFF;
  margin-bottom: 0.35rem;
}

.step-content p {
  font-size: 0.84rem;
  color: #AAAAAA;
  line-height: 1.5;
  margin: 0;
}

/* 10. GŁÓWNY FORMULARZ B2B */
.b2b-main-form-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  padding: 3rem;
  max-width: 860px;
  margin: 0 auto;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.main-form-header {
  text-align: center;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.main-form-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: #FFFFFF;
  margin-bottom: 0.5rem;
}

.main-form-desc {
  font-size: 0.92rem;
  color: #999999;
  margin: 0;
}

.b2b-form-dual-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.b2b-form-group {
  margin-bottom: 1.25rem;
}

.b2b-form-group label,
.b2b-group-label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #CCCCCC;
  margin-bottom: 0.45rem;
}

.b2b-form-group .req {
  color: #E95321;
}

.b2b-input {
  width: 100%;
  background: #121212 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.9rem !important;
  font-family: inherit !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.b2b-input:focus {
  border-color: #E95321 !important;
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.2) !important;
  outline: none !important;
}

.b2b-textarea {
  resize: vertical;
}

/* Radio i checkboxy */
.b2b-radio-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding-top: 0.25rem;
}

.b2b-radio-label,
.b2b-check-label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  font-size: 0.88rem;
  color: #CCCCCC;
}

.b2b-radio-label input,
.b2b-check-label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.radio-custom,
.checkmark-custom {
  width: 18px;
  height: 18px;
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: inline-block;
  position: relative;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.checkmark-custom {
  border-radius: 5px;
}

.b2b-radio-label input:checked ~ .radio-custom {
  border-color: #E95321;
  background: #E95321;
  box-shadow: inset 0 0 0 3px #121212;
}

.b2b-check-label input:checked ~ .checkmark-custom {
  border-color: #E95321;
  background: #E95321;
}

.b2b-check-label input:checked ~ .checkmark-custom::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 4px;
  height: 9px;
  border: solid #FFFFFF;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.b2b-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.65rem;
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1rem 1.25rem;
}

.b2b-consent-row {
  margin: 1.25rem 0;
}

.consent-text {
  font-size: 0.8rem;
  color: #999999;
}

.consent-text a {
  color: #D5B88E;
  text-decoration: underline;
}

.b2b-submit-row {
  text-align: center;
  margin-top: 1.5rem;
}

/* Alerty formularza */
.b2b-form-alert {
  padding: 0.85rem 1.15rem;
  border-radius: 10px;
  font-size: 0.85rem;
  margin-bottom: 1.25rem;
}

.b2b-form-alert.success {
  background: rgba(38, 166, 91, 0.15);
  border: 1px solid rgba(38, 166, 91, 0.4);
  color: #85E8A9;
}

.b2b-form-alert.error {
  background: rgba(235, 87, 87, 0.15);
  border: 1px solid rgba(235, 87, 87, 0.4);
  color: #FFA5A5;
}

/* 11. KRÓTKO O LUCSOY */
.b2b-about-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 2.5rem 3rem;
  max-width: 860px;
  margin: 0 auto;
}

.about-lead {
  font-size: 1.05rem;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.6;
  margin-bottom: 0.85rem;
}

.about-body {
  font-size: 0.92rem;
  color: #AAAAAA;
  line-height: 1.7;
  margin-bottom: 2rem;
}

.b2b-team-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.team-member-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #121212;
  border: 1px solid rgba(213, 184, 142, 0.25);
  border-radius: 14px;
  padding: 1.15rem 1.35rem;
}

.member-avatar {
  width: 44px;
  height: 44px;
  background: rgba(213, 184, 142, 0.15);
  color: #D5B88E;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.member-name {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.25rem;
  color: #FFFFFF;
  margin-bottom: 0.2rem;
}

.member-role {
  font-size: 0.8rem;
  color: #888888;
}

/* 12. FAQ */
.b2b-faq-accordion {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.b2b-faq-item {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.2s ease;
}

.b2b-faq-item[open] {
  border-color: rgba(213, 184, 142, 0.35);
}

.b2b-faq-question {
  padding: 1.25rem 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: 1rem;
  font-weight: 600;
  color: #FFFFFF;
  list-style: none;
}

.b2b-faq-question::-webkit-details-marker {
  display: none;
}

.faq-arrow {
  color: #D5B88E;
  transition: transform 0.25s ease;
  flex-shrink: 0;
}

.b2b-faq-item[open] .faq-arrow {
  transform: rotate(180deg);
}

.b2b-faq-answer {
  padding: 0 1.5rem 1.35rem;
  font-size: 0.92rem;
  color: #AAAAAA;
  line-height: 1.65;
}

.b2b-faq-answer p {
  margin: 0;
}

.b2b-faq-answer strong {
  color: #FFFFFF;
}

/* 13. BOTTOM CTA */
.b2b-bottom-cta {
  padding-top: 2rem;
}

.b2b-bottom-cta-box {
  background: linear-gradient(135deg, rgba(233, 83, 33, 0.12) 0%, rgba(23, 23, 23, 0.95) 100%);
  border: 1px solid rgba(233, 83, 33, 0.35);
  border-radius: 22px;
  padding: 3rem;
  text-align: center;
  max-width: 860px;
  margin: 0 auto;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
}

.bottom-cta-title {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  color: #FFFFFF;
  margin-bottom: 0.85rem;
}

.bottom-cta-desc {
  font-size: 0.95rem;
  color: #CCCCCC;
  line-height: 1.65;
  max-width: 650px;
  margin: 0 auto 2rem;
}

.bottom-cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

/* 14. LIGHTBOX MODAL */
.b2b-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.b2b-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(8px);
}

.b2b-modal-content {
  position: relative;
  z-index: 2;
  max-width: 650px;
  width: 100%;
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 18px;
  padding: 1.25rem;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.8);
  display: flex;
  flex-direction: column;
}

.b2b-modal-close {
  align-self: flex-end;
  background: transparent;
  border: none;
  color: #AAAAAA;
  cursor: pointer;
  padding: 0.4rem;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.b2b-modal-close:hover {
  color: #FFFFFF;
  background: rgba(255, 255, 255, 0.1);
}

.b2b-modal-image-wrap {
  width: 100%;
  max-height: 70vh;
  overflow: hidden;
  border-radius: 12px;
  background: #121212;
  display: flex;
  align-items: center;
  justify-content: center;
}

.b2b-modal-image-wrap img {
  max-width: 100%;
  max-height: 70vh;
  object-fit: contain;
  display: block;
}

.b2b-modal-caption {
  font-size: 0.9rem;
  color: #D5B88E;
  text-align: center;
  margin: 0.75rem 0 0;
  font-weight: 500;
}

/* RESPONSIVE DESIGN */
@media (max-width: 992px) {
  .b2b-hero-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .b2b-hero-form-card {
    position: static;
  }

  .b2b-scents-dual {
    grid-template-columns: 1fr;
    padding: 2rem;
  }

  .b2b-custom-glass-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.75rem;
  }

  .custom-glass-action {
    align-items: flex-start;
    width: 100%;
  }

  .custom-glass-action .btn-theme-capsule {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .b2b-hero-title {
    font-size: 2rem;
  }

  .b2b-form-dual-row {
    grid-template-columns: 1fr;
  }

  .b2b-team-grid {
    grid-template-columns: 1fr;
  }

  .b2b-main-form-card,
  .b2b-about-card,
  .b2b-samples-card,
  .b2b-advantages-card,
  .b2b-bottom-cta-box {
    padding: 1.75rem 1.25rem;
  }

  .b2b-hero-actions {
    flex-direction: column;
    width: 100%;
  }

  .b2b-hero-actions a {
    width: 100%;
  }

  .bottom-cta-actions {
    flex-direction: column;
    width: 100%;
  }

  .bottom-cta-actions a {
    width: 100%;
  }
}

/* ==========================================================================
   BLOG, BAZA WIEDZY I POJEDYNCZE ARTYKUŁY (LUCSOY CUSTOM SEO & GEO)
   ========================================================================== */

.luc-blog-main {
  background-color: #121212;
  color: #F5F5F7;
  padding-bottom: 5rem;
  min-height: 80vh;
}

/* Hero bloga */
.luc-blog-hero {
  padding: 2.25rem 0 1.5rem;
  background: radial-gradient(ellipse at top center, rgba(233, 83, 33, 0.08) 0%, rgba(18, 18, 18, 0) 70%);
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.luc-blog-breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #88888D;
  margin-bottom: 0.85rem;
}

.luc-blog-breadcrumbs a {
  color: #B5B5BA;
  text-decoration: none;
  transition: color 0.2s ease;
}

.luc-blog-breadcrumbs a:hover {
  color: #E95321;
}

.luc-blog-breadcrumbs .sep {
  opacity: 0.4;
}

.luc-blog-hero-content {
  max-width: 780px;
  margin: 0 auto;
}

.luc-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: rgba(233, 83, 33, 0.12);
  border: 1px solid rgba(233, 83, 33, 0.25);
  color: #FF8C61;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}

.luc-blog-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(1.6rem, 2.8vw, 2.25rem);
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.25;
  margin: 0 0 0.65rem;
  letter-spacing: -0.01em;
}

.luc-blog-lead {
  font-size: 0.98rem;
  line-height: 1.6;
  color: #A5A5AA;
  max-width: 600px;
  margin: 0 auto 1.5rem;
}

/* Wyszukiwarka live w stylu wyszukiwarki z menu */
.luc-blog-search-bar {
  max-width: 620px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

.luc-blog-search-wrap {
  background: #202020 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 12px !important;
  padding: 0.7rem 1.15rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.luc-blog-search-wrap:focus-within {
  border-color: #E95321 !important;
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.25) !important;
}

.luc-blog-search-wrap .search-input-icon {
  color: #88888D !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.luc-blog-search-input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-size: 1rem !important;
  font-family: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}

.luc-blog-search-input::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.45) !important;
  opacity: 1 !important;
}

.luc-blog-search-input::-webkit-search-cancel-button,
.luc-blog-search-input::-webkit-search-decoration,
.luc-blog-search-input::-webkit-search-results-button,
.luc-blog-search-input::-webkit-search-results-decoration {
  -webkit-appearance: none !important;
  display: none !important;
}

.luc-blog-search-wrap .search-input-clear {
  background: transparent !important;
  border: none !important;
  color: #88888D !important;
  font-size: 1.1rem !important;
  cursor: pointer !important;
  padding: 0.25rem !important;
  line-height: 1 !important;
  transition: color 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.luc-blog-search-wrap .search-input-clear:hover {
  color: #FFFFFF !important;
}

.luc-blog-quick-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  margin-top: 0.85rem !important;
}

.luc-blog-quick-tags .quick-tags-label {
  font-size: 0.78rem !important;
  color: #88888D !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-weight: 600 !important;
  margin-right: 0.25rem !important;
}

.luc-blog-quick-tags .quick-tag-chip {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 20px !important;
  color: #B5B5BA !important;
  font-size: 0.8rem !important;
  padding: 0.3rem 0.8rem !important;
  cursor: pointer !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.luc-blog-quick-tags .quick-tag-chip:hover {
  background: rgba(233, 83, 33, 0.15) !important;
  border-color: #E95321 !important;
  color: #FFFFFF !important;
}

/* Pigułki klastrów tematycznych */
.luc-blog-clusters {
  padding: 1.75rem 0;
  background: #141414;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.luc-cluster-pills-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.luc-cluster-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.25rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #B5B5BA;
  font-size: 0.88rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.luc-cluster-pill:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(233, 83, 33, 0.3);
  color: #FFFFFF;
  transform: translateY(-1px);
}

.luc-cluster-pill.active {
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 100%) !important;
  border-color: transparent !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 18px rgba(233, 83, 33, 0.35);
}

.luc-cluster-pill .pill-count {
  font-size: 0.72rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.25);
  opacity: 0.85;
}

.luc-cluster-pill.active .pill-count {
  background: rgba(0, 0, 0, 0.3);
  color: #FFFFFF;
}

/* Układ zawartości bloga */
.luc-blog-content-wrap {
  padding-top: 3rem;
}

/* Wyróżniony artykuł (Featured Post) */
.luc-featured-post-section {
  margin-bottom: 3.5rem;
}

.luc-featured-card {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.35);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.luc-featured-card:hover {
  border-color: rgba(233, 83, 33, 0.35);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.5);
}

.luc-featured-visual {
  position: relative;
  overflow: hidden;
  min-height: 380px;
}

.luc-featured-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.luc-featured-card:hover .luc-featured-visual img {
  transform: scale(1.04);
}

.luc-badge-featured {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 100%);
  color: #FFFFFF;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 4px 15px rgba(233, 83, 33, 0.4);
}

.luc-featured-info {
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.luc-card-meta-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-size: 0.82rem;
  color: #88888D;
  margin-bottom: 1.25rem;
}

.luc-meta-tag {
  color: #E95321;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.luc-featured-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 1rem;
}

.luc-featured-title a {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 0.2s ease;
}

.luc-featured-title a:hover {
  color: #E95321;
}

.luc-featured-excerpt {
  font-size: 1rem;
  line-height: 1.7;
  color: #A5A5AA;
  margin: 0 0 2rem;
}

.luc-featured-action {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.luc-author-note {
  font-size: 0.85rem;
  color: #88888D;
}

.luc-author-note strong {
  color: #D5B88E;
}

/* Nagłówek siatki */
.luc-grid-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.luc-grid-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0;
}

.luc-grid-counter {
  font-size: 0.88rem;
  color: #88888D;
}

.luc-grid-counter strong {
  color: #FFFFFF;
}

/* Siatka kart wpisów */
.luc-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2rem;
  margin-bottom: 4rem;
}

.luc-post-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}

.luc-post-card:hover {
  transform: translateY(-6px);
  border-color: rgba(233, 83, 33, 0.3);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5);
}

.luc-card-thumb-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #1C1C1C;
}

.luc-card-thumb-link {
  display: block;
  width: 100%;
  height: 100%;
}

.luc-card-thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.luc-post-card:hover .luc-card-thumb-wrap img {
  transform: scale(1.05);
}

.luc-card-category-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(18, 18, 18, 0.85);
  backdrop-filter: blur(8px);
  color: #FF8C61;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.luc-card-reading-badge {
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(6px);
  color: #C8C8CC;
  font-size: 0.72rem;
  font-weight: 500;
}

.luc-card-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.luc-card-date {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  color: #88888D;
  margin-bottom: 0.65rem;
}

.luc-card-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.22rem;
  font-weight: 400;
  line-height: 1.4;
  margin: 0 0 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.luc-card-title a {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 0.2s ease;
}

.luc-card-title a:hover {
  color: #E95321;
}

.luc-card-excerpt {
  font-size: 0.92rem;
  line-height: 1.65;
  color: #9999A0;
  margin: 0 0 1.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

.luc-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  margin-top: auto;
}

.luc-card-author {
  font-size: 0.78rem;
  color: #88888D;
}

.luc-card-read-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #E95321;
  text-decoration: none;
  transition: gap 0.2s ease;
}

.luc-card-read-link:hover {
  gap: 0.6rem;
  color: #FF6F3C;
}

/* Pusty stan */
.luc-blog-empty-state {
  text-align: center;
  padding: 4rem 1.5rem;
  background: #171717;
  border: 1px dashed rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  max-width: 600px;
  margin: 0 auto 3rem;
}

.luc-empty-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.luc-blog-empty-state h3 {
  font-family: 'Tenor Sans', serif;
  font-size: 1.4rem;
  color: #FFFFFF;
  margin: 0 0 0.5rem;
}

.luc-blog-empty-state p {
  color: #88888D;
  margin: 0 0 1.5rem;
}

/* Geo-SEO Trust Box */
.luc-blog-geo-box {
  background: linear-gradient(135deg, #171717 0%, #1A1A1A 100%);
  border: 1px solid rgba(213, 184, 142, 0.2);
  border-radius: 24px;
  padding: 3rem;
  margin-bottom: 4rem;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.35);
}

.luc-geo-box-inner {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 3rem;
  align-items: center;
}

.luc-geo-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #D5B88E;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}

.luc-geo-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 1rem;
}

.luc-geo-text {
  font-size: 0.96rem;
  line-height: 1.7;
  color: #B5B5BA;
  margin: 0 0 1.5rem;
}

.luc-geo-features-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.luc-geo-feature {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.92rem;
  color: #C8C8CC;
}

.luc-geo-feature .geo-check {
  color: #E95321;
  font-weight: 700;
}

.luc-geo-side-card {
  display: flex;
  justify-content: center;
}

.luc-geo-card-box {
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 2.25rem 2rem;
  text-align: center;
  width: 100%;
  max-width: 320px;
}

.luc-geo-stat-number {
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  color: #E95321;
  line-height: 1.1;
  font-family: 'Tenor Sans', serif;
}

.luc-geo-stat-label {
  display: block;
  font-size: 0.85rem;
  color: #88888D;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 0.35rem;
}

.luc-geo-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 1.5rem 0;
}

.luc-geo-more-link {
  display: inline-block;
  margin-top: 1.5rem;
  font-size: 0.85rem;
  color: #D5B88E;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

.luc-geo-more-link:hover {
  color: #FFFFFF;
}

/* Pomost do sklepu (Shop Recommendation Bridge) */
.luc-blog-shop-bridge {
  margin-bottom: 4rem;
}

.luc-shop-bridge-head {
  text-align: center;
  margin-bottom: 2.25rem;
}

.luc-shop-bridge-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0 0 0.5rem;
}

.luc-shop-bridge-sub {
  font-size: 0.95rem;
  color: #88888D;
  margin: 0;
}

.luc-shop-bridge-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
}

.luc-shop-bridge-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 1.75rem 1.5rem;
  text-decoration: none;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  transition: all 0.3s ease;
}

.luc-shop-bridge-card:hover {
  transform: translateY(-4px);
  border-color: rgba(233, 83, 33, 0.4);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}

.luc-bridge-card-icon {
  font-size: 1.8rem;
  flex-shrink: 0;
}

.luc-bridge-card-info h4 {
  font-family: 'Tenor Sans', serif;
  font-size: 1.1rem;
  color: #FFFFFF;
  margin: 0 0 0.35rem;
}

.luc-bridge-card-info p {
  font-size: 0.82rem;
  line-height: 1.5;
  color: #88888D;
  margin: 0 0 0.85rem;
}

.luc-bridge-cta {
  font-size: 0.82rem;
  font-weight: 600;
  color: #E95321;
}

/* Newsletter Box */
.luc-blog-newsletter-section {
  margin-bottom: 2rem;
}

.luc-blog-newsletter-card {
  position: relative;
  background: radial-gradient(circle at top right, rgba(233, 83, 33, 0.15) 0%, rgba(23, 23, 23, 1) 70%);
  border: 1px solid rgba(233, 83, 33, 0.25);
  border-radius: 24px;
  padding: 3rem;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2.5rem;
  align-items: center;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
}

.luc-newsletter-sparkle {
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  font-size: 1.5rem;
  opacity: 0.4;
}

.luc-newsletter-text h3 {
  font-family: 'Tenor Sans', serif;
  font-size: 1.8rem;
  color: #FFFFFF;
  margin: 0 0 0.75rem;
}

.luc-newsletter-text p {
  font-size: 0.98rem;
  line-height: 1.6;
  color: #B5B5BA;
  margin: 0;
}

.luc-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.luc-newsletter-input-wrap {
  display: flex;
  gap: 0.65rem;
}

.luc-newsletter-input-wrap input {
  flex: 1;
  padding: 0.85rem 1.25rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-size: 0.92rem;
}

.luc-newsletter-input-wrap input:focus {
  outline: none;
  border-color: #E95321;
}

.luc-newsletter-privacy-note {
  font-size: 0.75rem;
  color: #77777D;
}

/* ==========================================================================
   POJEDYNCZY ARTYKUŁ (SINGLE.PHP) STYLIZACJA REDAKCYJNA
   ========================================================================== */

.luc-single-post-main {
  background-color: #121212;
  color: #E5E5EA;
  padding-bottom: 5rem;
}

.luc-article-header {
  padding: 3.5rem 0 2rem;
  background: radial-gradient(ellipse at top center, rgba(233, 83, 33, 0.08) 0%, rgba(18, 18, 18, 0) 70%);
}

.luc-article-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: #88888D;
  margin-bottom: 1.5rem;
}

.luc-article-breadcrumbs a {
  color: #B5B5BA;
  text-decoration: none;
  transition: color 0.2s ease;
}

.luc-article-breadcrumbs a:hover {
  color: #E95321;
}

.luc-article-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.luc-meta-cat-badge {
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(233, 83, 33, 0.15);
  border: 1px solid rgba(233, 83, 33, 0.3);
  color: #FF8C61;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
}

.luc-meta-pill {
  font-size: 0.82rem;
  color: #88888D;
}

.luc-article-main-title {
  font-family: 'Tenor Sans', serif;
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.25;
  margin: 0 0 1.25rem;
  letter-spacing: -0.02em;
}

.luc-article-lead-excerpt {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #C8C8CC;
  max-width: 820px;
  border-left: 3px solid #E95321;
  padding-left: 1.25rem;
  margin: 0;
}

/* Obrazek wyróżniony wpisu */
.luc-article-featured-media {
  margin: 2rem 0 3.5rem;
}

.luc-featured-img-frame {
  max-width: 960px;
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.luc-featured-img-frame img {
  width: 100%;
  height: auto;
  display: block;
}

/* Korpus artykułu */
.luc-article-body-layout {
  max-width: 860px;
  margin: 0 auto;
}

/* Spis treści */
.luc-table-of-contents {
  background: #171717;
  border: 1px solid rgba(213, 184, 142, 0.25);
  border-radius: 18px;
  padding: 1.75rem 2rem;
  margin-bottom: 3rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.luc-toc-header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.luc-toc-icon {
  font-size: 1.25rem;
}

.luc-toc-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.15rem;
  color: #D5B88E;
  font-weight: 600;
}

.luc-toc-list {
  padding-left: 1.25rem;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.luc-toc-item {
  color: #E95321;
}

.luc-toc-link {
  color: #D0D0D5;
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 0.2s ease;
}

.luc-toc-link:hover {
  color: #FFFFFF;
  text-decoration: underline;
}

/* Typografia w treści wpisu */
.luc-article-rich-text {
  font-size: 1.08rem;
  line-height: 1.85;
  color: #D0D0D5;
}

.luc-article-rich-text p {
  margin-bottom: 1.6rem;
}

.luc-article-rich-text h2 {
  font-family: 'Tenor Sans', serif;
  font-size: 1.85rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 3rem 0 1.25rem;
  padding-left: 0.85rem;
  border-left: 3px solid #E95321;
  scroll-margin-top: 100px;
}

.luc-article-rich-text h3 {
  font-family: 'Tenor Sans', serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: #F0F0F5;
  margin: 2.25rem 0 1rem;
}

.luc-article-rich-text ul,
.luc-article-rich-text ol {
  margin: 0 0 1.75rem 1.5rem;
  padding: 0;
}

.luc-article-rich-text li {
  margin-bottom: 0.65rem;
}

.luc-article-rich-text blockquote {
  background: #171717;
  border-left: 4px solid #D5B88E;
  padding: 1.5rem 2rem;
  border-radius: 0 16px 16px 0;
  margin: 2.5rem 0;
  font-style: italic;
  color: #E5E5EA;
}

.luc-article-rich-text img {
  border-radius: 16px;
  max-width: 100%;
  height: auto;
  margin: 2rem auto;
  display: block;
}

/* Callout sklepu w artykule */
.luc-article-shop-callout {
  background: linear-gradient(135deg, #171717 0%, #1F1813 100%);
  border: 1px solid rgba(233, 83, 33, 0.3);
  border-radius: 20px;
  padding: 2.25rem;
  margin: 3.5rem 0;
  display: flex;
  align-items: center;
  gap: 2rem;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.35);
}

.luc-callout-sparkle {
  font-size: 2.5rem;
  flex-shrink: 0;
}

.luc-callout-info {
  flex: 1;
}

.luc-callout-info h4 {
  font-family: 'Tenor Sans', serif;
  font-size: 1.3rem;
  color: #FFFFFF;
  margin: 0 0 0.5rem;
}

.luc-callout-info p {
  font-size: 0.94rem;
  line-height: 1.6;
  color: #B5B5BA;
  margin: 0;
}

/* Box autora E-E-A-T */
.luc-author-box {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 2.25rem;
  margin: 3.5rem 0;
  display: flex;
  gap: 1.75rem;
  align-items: center;
}

.luc-author-avatar {
  flex-shrink: 0;
}

.luc-avatar-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 100%);
  color: #FFFFFF;
  font-family: 'Tenor Sans', serif;
  font-size: 1.4rem;
  font-weight: 700;
  box-shadow: 0 6px 20px rgba(233, 83, 33, 0.35);
}

.luc-author-name {
  font-family: 'Tenor Sans', serif;
  font-size: 1.25rem;
  color: #FFFFFF;
  margin: 0 0 0.5rem;
}

.luc-author-bio {
  font-size: 0.94rem;
  line-height: 1.65;
  color: #A5A5AA;
  margin: 0 0 1rem;
}

.luc-author-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.luc-author-badges span {
  font-size: 0.78rem;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  color: #D5B88E;
  border: 1px solid rgba(213, 184, 142, 0.2);
}

/* Nawigacja artykułów */
.luc-article-pagination {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin: 3.5rem 0;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.luc-pagination-prev,
.luc-pagination-next {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.luc-pagination-next {
  text-align: right;
  align-items: flex-end;
}

.luc-pagination-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  color: #88888D;
  font-weight: 600;
}

.luc-pagination-title {
  color: #FFFFFF;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  transition: color 0.2s ease;
}

.luc-pagination-title:hover {
  color: #E95321;
}

/* Sekcja powiązanych artykułów */
.luc-related-posts-section {
  padding-top: 4rem;
  margin-top: 4rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.luc-related-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.luc-related-title {
  font-family: 'Tenor Sans', serif;
  font-size: 1.6rem;
  color: #FFFFFF;
  margin: 0;
}

.luc-related-all-link {
  font-size: 0.88rem;
  color: #E95321;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

.luc-related-all-link:hover {
  color: #FF6F3C;
}

/* Responsywność */
@media (max-width: 992px) {
  .luc-featured-card {
    grid-template-columns: 1fr;
  }

  .luc-featured-visual {
    min-height: 280px;
  }

  .luc-featured-info {
    padding: 2rem 1.75rem;
  }

  .luc-geo-box-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .luc-geo-side-card {
    justify-content: flex-start;
  }

  .luc-blog-newsletter-card {
    grid-template-columns: 1fr;
    padding: 2rem 1.75rem;
  }

  .luc-article-shop-callout {
    flex-direction: column;
    align-items: flex-start;
  }

  .luc-article-shop-callout .luc-btn-theme-primary {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .luc-blog-hero {
    padding: 1.5rem 0 1rem !important;
  }

  .luc-blog-breadcrumbs {
    margin-bottom: 0.5rem !important;
    font-size: 0.78rem !important;
  }

  .luc-blog-title {
    font-size: 1.45rem !important;
    line-height: 1.25 !important;
    margin: 0 0 0.5rem !important;
  }

  .luc-blog-lead {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    margin: 0 auto 1.15rem !important;
  }

  .luc-blog-search-wrap {
    padding: 0.6rem 0.95rem !important;
  }

  .luc-blog-search-input {
    font-size: 0.92rem !important;
  }

  .luc-blog-quick-tags {
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding-bottom: 0.35rem !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .luc-blog-quick-tags .quick-tag-chip {
    flex-shrink: 0 !important;
  }

  .luc-blog-grid {
    grid-template-columns: 1fr;
  }

  .luc-blog-geo-box {
    padding: 2rem 1.25rem;
  }

  .luc-cluster-pills-bar {
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .luc-cluster-pill {
    flex-shrink: 0;
  }

  .luc-newsletter-input-wrap {
    flex-direction: column;
  }

  .luc-newsletter-input-wrap button {
    width: 100%;
  }

  .luc-author-box {
    flex-direction: column;
    align-items: flex-start;
  }

  .luc-article-pagination {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .luc-pagination-next {
    text-align: left;
    align-items: flex-start;
  }
}

/* ========================================================================== */
/* KOSZYK, KASA / ZAMÓWIENIE, PODZIĘKOWANIE & FAQ (LUC-COMMERCE)              */
/* ========================================================================== */

/* 1. Okruchy chleba procesu zakupowego */
.luc-checkout-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.luc-checkout-breadcrumbs a {
  color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
  transition: color 0.2s ease;
}

.luc-checkout-breadcrumbs a:hover {
  color: var(--color-brand, #E95321);
}

.luc-checkout-breadcrumbs .sep {
  color: rgba(255, 255, 255, 0.25);
}

.luc-checkout-breadcrumbs .step-active {
  color: var(--color-brand, #E95321);
  font-weight: 600;
}

.luc-checkout-breadcrumbs .step-done {
  color: rgba(255, 255, 255, 0.7);
}

.luc-checkout-breadcrumbs .step-next {
  color: rgba(255, 255, 255, 0.35);
}

/* 2. Pasek darmowej dostawy */
.luc-free-shipping-card {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 1.1rem 1.4rem;
  margin-bottom: 2rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.luc-fsc-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  color: #FFFFFF;
  font-size: 0.95rem;
}

.luc-fsc-icon {
  color: var(--color-brand, #E95321);
  flex-shrink: 0;
}

.luc-fsc-diff {
  color: var(--color-brand, #E95321);
  font-weight: 700;
}

.luc-fsc-success {
  color: #22C55E;
}

.luc-fsc-bar-track {
  width: 100%;
  height: 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  overflow: hidden;
}

.luc-fsc-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #FF6F3C 0%, #E95321 60%, #22C55E 100%);
  border-radius: 999px;
  transition: width 0.4s ease;
}

/* 3. Tytuły sekcji Koszyka i Kasy */
.luc-cart-head,
.luc-checkout-head {
  margin-bottom: 1.25rem;
}

.luc-cart-title,
.luc-checkout-title {
  font-family: 'Tenor Sans', serif;
  font-size: 2.2rem;
  font-weight: 400;
  color: #FFFFFF;
  margin: 0;
  letter-spacing: -0.01em;
}

/* 4. Koszyk WooCommerce - Układ dwukolumnowy */
.luc-cart-main,
.luc-checkout-main,
.luc-checkout-content-wrapper,
.luc-checkout-main .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.luc-cart-main .wrap,
.luc-checkout-main .wrap {
  width: 100% !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding-left: clamp(0.85rem, 2.5vw, 2rem) !important;
  padding-right: clamp(0.85rem, 2.5vw, 2rem) !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .woocommerce,
body.cart .woocommerce,
body.woocommerce-page.cart .woocommerce,
.luc-cart-main .woocommerce,
.luc-cart-content-wrapper .woocommerce {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}

body.woocommerce-cart .woocommerce .woocommerce-notices-wrapper,
body.cart .woocommerce .woocommerce-notices-wrapper,
.luc-cart-main .woocommerce .woocommerce-notices-wrapper {
  width: 100% !important;
}

@media (min-width: 992px) {
  body.woocommerce-cart .woocommerce,
  body.cart .woocommerce,
  body.woocommerce-page.cart .woocommerce,
  .luc-cart-main .woocommerce,
  .luc-cart-content-wrapper .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 400px !important;
    grid-template-rows: auto 1fr !important;
    gap: 2.5rem !important;
    align-items: start !important;
  }

  body.woocommerce-cart .woocommerce .woocommerce-notices-wrapper,
  body.cart .woocommerce .woocommerce-notices-wrapper,
  .luc-cart-main .woocommerce .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.cart .woocommerce-cart-form,
  .luc-cart-main .woocommerce-cart-form {
    grid-column: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  body.woocommerce-cart .cart-collaterals,
  body.cart .cart-collaterals,
  .luc-cart-main .cart-collaterals {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 400px !important;
    position: sticky !important;
    top: 110px !important;
    margin: 0 !important;
  }
}

/* Tabela koszyka */
body.woocommerce-cart table.shop_table,
body.cart table.shop_table,
.luc-cart-main table.shop_table {
  width: 100% !important;
  table-layout: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #171717 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body.woocommerce-cart table.shop_table th,
body.cart table.shop_table th,
.luc-cart-main table.shop_table th {
  background: #202020 !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 1rem !important;
  font-weight: 600 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.woocommerce-cart table.shop_table td,
body.cart table.shop_table td,
.luc-cart-main table.shop_table td {
  padding: 1.15rem 1rem !important;
  color: #FFFFFF !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table tr:last-child td,
body.cart table.shop_table tr:last-child td,
.luc-cart-main table.shop_table tr:last-child td {
  border-bottom: none !important;
}

/* Kolumny tabeli koszyka */
body.woocommerce-cart table.shop_table td.product-remove,
body.cart table.shop_table td.product-remove,
.luc-cart-main table.shop_table td.product-remove {
  width: 44px !important;
  padding: 1rem 0.5rem 1rem 1rem !important;
  text-align: center !important;
}

body.woocommerce-cart table.shop_table td.product-thumbnail,
body.cart table.shop_table td.product-thumbnail,
.luc-cart-main table.shop_table td.product-thumbnail {
  width: 96px !important;
  padding: 1rem 0.75rem !important;
}

body.woocommerce-cart table.shop_table td.product-thumbnail img,
body.cart table.shop_table td.product-thumbnail img,
.luc-cart-main table.shop_table td.product-thumbnail img {
  width: 84px !important;
  height: 84px !important;
  min-width: 84px !important;
  min-height: 84px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  display: block !important;
}

body.woocommerce-cart table.shop_table td.product-name,
body.cart table.shop_table td.product-name,
.luc-cart-main table.shop_table td.product-name {
  min-width: 170px !important;
  font-size: 0.98rem !important;
}

body.woocommerce-cart table.shop_table td.product-name a,
body.cart table.shop_table td.product-name a,
.luc-cart-main table.shop_table td.product-name a {
  color: #FFFFFF !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

body.woocommerce-cart table.shop_table td.product-name a:hover,
body.cart table.shop_table td.product-name a:hover,
.luc-cart-main table.shop_table td.product-name a:hover {
  color: var(--color-brand, #E95321) !important;
}

body.woocommerce-cart table.shop_table td.product-price,
body.woocommerce-cart table.shop_table td.product-subtotal,
body.cart table.shop_table td.product-price,
body.cart table.shop_table td.product-subtotal,
.luc-cart-main table.shop_table td.product-price,
.luc-cart-main table.shop_table td.product-subtotal {
  font-weight: 600 !important;
  color: #FFFFFF !important;
  font-size: 1.05rem !important;
  white-space: nowrap !important;
  text-align: right !important;
}

body.woocommerce-cart table.shop_table td.product-quantity,
body.cart table.shop_table td.product-quantity,
.luc-cart-main table.shop_table td.product-quantity {
  white-space: nowrap !important;
  text-align: center !important;
}

/* Przycisk usuwania z koszyka */
body.woocommerce-cart .product-remove a.remove,
body.cart .product-remove a.remove,
.luc-cart-main .product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  color: rgba(255, 255, 255, 0.5) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  font-size: 1.2rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body.woocommerce-cart .product-remove a.remove:hover,
body.cart .product-remove a.remove:hover,
.luc-cart-main .product-remove a.remove:hover {
  color: #FFFFFF !important;
  background: var(--color-brand, #E95321) !important;
}

/* Pole ilości w koszyku */
body.woocommerce-cart .quantity input.qty,
body.cart .quantity input.qty,
.luc-cart-main .quantity input.qty {
  background: #202020 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 8px !important;
  color: #FFFFFF !important;
  padding: 0.5rem 0.6rem !important;
  width: 65px !important;
  text-align: center !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

/* Pasek z kuponem i aktualizacją koszyka */
body.woocommerce-cart td.actions,
body.cart td.actions,
.luc-cart-main td.actions {
  background: #171717 !important;
  padding: 1.25rem !important;
}

body.woocommerce-cart td.actions .coupon,
body.cart td.actions .coupon,
.luc-cart-main td.actions .coupon {
  display: flex !important;
  gap: 0.75rem !important;
  align-items: center !important;
  float: left !important;
  flex-wrap: wrap !important;
}

body.woocommerce-cart td.actions .coupon input#coupon_code,
body.cart td.actions .coupon input#coupon_code,
.luc-cart-main td.actions .coupon input#coupon_code {
  background: #202020 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 999px !important;
  color: #FFFFFF !important;
  padding: 0.65rem 1.25rem !important;
  font-size: 0.92rem !important;
  min-width: 170px !important;
}

body.woocommerce-cart td.actions .coupon input#coupon_code:focus,
body.cart td.actions .coupon input#coupon_code:focus,
.luc-cart-main td.actions .coupon input#coupon_code:focus {
  border-color: var(--color-brand, #E95321) !important;
  outline: none !important;
}

body.woocommerce-cart td.actions .coupon button.button,
body.woocommerce-cart td.actions button.button[name="update_cart"],
body.cart td.actions .coupon button.button,
body.cart td.actions button.button[name="update_cart"],
.luc-cart-main td.actions .coupon button.button,
.luc-cart-main td.actions button.button[name="update_cart"] {
  background: #252525 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 999px !important;
  padding: 0.65rem 1.4rem !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

body.woocommerce-cart td.actions .coupon button.button:hover,
body.woocommerce-cart td.actions button.button[name="update_cart"]:hover,
body.cart td.actions .coupon button.button:hover,
body.cart td.actions button.button[name="update_cart"]:hover,
.luc-cart-main td.actions .coupon button.button:hover,
.luc-cart-main td.actions button.button[name="update_cart"]:hover {
  background: var(--color-brand, #E95321) !important;
  border-color: var(--color-brand, #E95321) !important;
}

/* Prawa kolumna: Podsumowanie koszyka (.cart_totals) */
body.woocommerce-cart .cart_totals,
body.cart .cart_totals,
.cart-collaterals .cart_totals,
.luc-cart-main .cart_totals {
  background: #171717 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 16px !important;
  padding: 1.75rem !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3) !important;
  float: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .cart_totals h2,
body.cart .cart_totals h2,
.cart-collaterals .cart_totals h2,
.luc-cart-main .cart_totals h2 {
  font-family: 'Tenor Sans', serif !important;
  font-size: 1.45rem !important;
  color: #FFFFFF !important;
  margin: 0 0 1.25rem !important;
  padding-bottom: 0.85rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.woocommerce-cart .cart_totals table.shop_table,
body.cart .cart_totals table.shop_table,
.cart-collaterals .cart_totals table.shop_table,
.luc-cart-main .cart_totals table.shop_table {
  width: 100% !important;
  border: none !important;
  background: transparent !important;
  margin-bottom: 1.25rem !important;
  display: block !important;
}

body.woocommerce-cart .cart_totals table.shop_table tbody,
body.cart .cart_totals table.shop_table tbody,
.cart-collaterals .cart_totals table.shop_table tbody,
.luc-cart-main .cart_totals table.shop_table tbody {
  display: block !important;
  width: 100% !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr,
body.cart .cart_totals table.shop_table tr,
.cart-collaterals .cart_totals table.shop_table tr,
.luc-cart-main .cart_totals table.shop_table tr {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding: 0.75rem 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.cart .cart_totals table.shop_table th,
.cart-collaterals .cart_totals table.shop_table th,
.luc-cart-main .cart_totals table.shop_table th {
  background: transparent !important;
  border: none !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  flex: 1 1 auto !important;
}

body.woocommerce-cart .cart_totals table.shop_table td,
body.cart .cart_totals table.shop_table td,
.cart-collaterals .cart_totals table.shop_table td,
.luc-cart-main .cart_totals table.shop_table td {
  background: transparent !important;
  border: none !important;
  color: #FFFFFF !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: right !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  flex: 0 0 auto !important;
}

/* Ukrycie metod dostawy w koszyku jeśli pojawiłyby się z sesji */
.woocommerce-cart tr.woocommerce-shipping-totals,
.cart tr.woocommerce-shipping-totals {
  display: none !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr.order-total,
body.cart .cart_totals table.shop_table tr.order-total,
.cart-collaterals .cart_totals table.shop_table tr.order-total,
.luc-cart-main .cart_totals table.shop_table tr.order-total {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-bottom: none !important;
  padding-top: 1rem !important;
  margin-top: 0.5rem !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
body.cart .cart_totals table.shop_table tr.order-total th,
.cart-collaterals .cart_totals table.shop_table tr.order-total th,
.luc-cart-main .cart_totals table.shop_table tr.order-total th {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr.order-total td,
body.cart .cart_totals table.shop_table tr.order-total td,
.cart-collaterals .cart_totals table.shop_table tr.order-total td,
.luc-cart-main .cart_totals table.shop_table tr.order-total td,
body.woocommerce-cart .cart_totals table.shop_table tr.order-total td strong,
body.cart .cart_totals table.shop_table tr.order-total td strong,
.cart-collaterals .cart_totals table.shop_table tr.order-total td strong,
.luc-cart-main .cart_totals table.shop_table tr.order-total td strong,
body.woocommerce-cart .cart_totals table.shop_table tr.order-total td .amount,
body.cart .cart_totals table.shop_table tr.order-total td .amount,
.cart-collaterals .cart_totals table.shop_table tr.order-total td .amount,
.luc-cart-main .cart_totals table.shop_table tr.order-total td .amount {
  color: var(--color-brand, #E95321) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
}

/* Przycisk przejścia do kasy */
body.woocommerce-cart .wc-proceed-to-checkout,
body.cart .wc-proceed-to-checkout,
.cart-collaterals .wc-proceed-to-checkout,
.luc-cart-main .wc-proceed-to-checkout {
  padding: 0 !important;
  margin-top: 1.25rem !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.cart .wc-proceed-to-checkout a.checkout-button,
.cart-collaterals .wc-proceed-to-checkout a.checkout-button,
.luc-cart-main .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  text-align: center !important;
  white-space: nowrap !important;
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  padding: 1.1rem 1.5rem !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 8px 24px rgba(233, 83, 33, 0.4) !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  border: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.cart .wc-proceed-to-checkout a.checkout-button:hover,
.cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover,
.luc-cart-main .wc-proceed-to-checkout a.checkout-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(233, 83, 33, 0.55) !important;
}

/* Przyciski express checkout (Stripe / Link / GPay / Apple Pay) w podsumowaniu koszyka */
.cart-collaterals #wc-stripe-payment-request-wrapper,
.cart-collaterals .wc-stripe-payment-request-container,
.cart-collaterals #payment-request-button,
.cart_totals #wc-stripe-payment-request-wrapper,
.cart_totals .wc-stripe-payment-request-container {
  width: 100% !important;
  margin-top: 1rem !important;
}

/* Pusty koszyk */
body.woocommerce-cart .cart-empty,
body.cart .cart-empty,
.luc-cart-main .cart-empty {
  background: #171717 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 16px !important;
  padding: 3rem 2rem !important;
  text-align: center !important;
  color: #FFFFFF !important;
}

body.woocommerce-cart p.return-to-shop,
body.cart p.return-to-shop,
.luc-cart-main p.return-to-shop {
  text-align: center !important;
  margin-top: 1.5rem !important;
}

body.woocommerce-cart p.return-to-shop a.button,
body.cart p.return-to-shop a.button,
.luc-cart-main p.return-to-shop a.button {
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  padding: 0.85rem 2rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* 5. Kasa / Zamówienie WooCommerce (.luc-checkout-main) */

/* Usunięcie niebieskiej ramki i font-ikony WooCommerce na kuponie */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none !important;
  content: none !important;
}

/* Karty przełączników nad kasą: Logowanie i Kupon rabatowy (.luc-checkout-toggle-card) */
.luc-checkout-toggle-card {
  background: #171717 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 14px !important;
  padding: 0.95rem 1.35rem !important;
  margin: 0 0 1rem 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
}

.luc-toggle-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.luc-toggle-info {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
}

.luc-toggle-info svg {
  color: var(--color-brand, #E95321) !important;
  flex-shrink: 0 !important;
}

.luc-toggle-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.45rem 1.1rem !important;
  border-radius: 999px !important;
  background: rgba(233, 83, 33, 0.12) !important;
  border: 1px solid rgba(233, 83, 33, 0.35) !important;
  color: var(--color-brand, #E95321) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.luc-toggle-btn:hover,
.luc-toggle-btn:focus {
  background: var(--color-brand, #E95321) !important;
  border-color: var(--color-brand, #E95321) !important;
  color: #FFFFFF !important;
}

.luc-checkout-slide-form,
form.checkout_coupon.woocommerce-form-coupon,
.luc-checkout-login-card form.woocommerce-form-login {
  background: #1D1D1D !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  padding: 1.25rem !important;
  margin: 0.95rem 0 0 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.luc-coupon-flex {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.luc-coupon-flex input.input-text {
  flex: 1 1 220px !important;
  background: #141414 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  color: #FFFFFF !important;
  padding: 0.7rem 1.15rem !important;
  font-size: 0.92rem !important;
  margin: 0 !important;
}

.luc-coupon-flex button.button {
  flex: 0 0 auto !important;
  background: linear-gradient(135deg, #FF6F3C 0%, #E95321 60%, #C43809 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0.72rem 1.5rem !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.luc-slide-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 1rem !important;
  margin-bottom: 1rem !important;
}

.luc-slide-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

.luc-remember-lost {
  display: flex !important;
  align-items: center !important;
  gap: 1.25rem !important;
  flex-wrap: wrap !important;
  font-size: 0.85rem !important;
}

.luc-remember-lost .lost_password-link {
  color: var(--color-brand, #E95321) !important;
  text-decoration: underline !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
  background: #171717 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  padding: 1rem 1.25rem !important;
  margin: 0 0 1.5rem !important;
  outline: none !important;
  box-shadow: none !important;
  font-size: 0.95rem !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
  color: var(--color-brand, #E95321) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  outline: none !important;
  box-shadow: none !important;
  transition: color 0.2s ease !important;
}

/* GŁÓWNY UKŁAD FORMULARZA ZAMÓWIENIA: 1 KOLUMNA MOBILE / 2 KOLUMNY DESKTOP (LEWA + PRAWA) */
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.woocommerce-checkout,
form.woocommerce-checkout.luc-checkout-layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.75rem !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .luc-checkout-col-left,
body.woocommerce-checkout .luc-checkout-col-right,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 992px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout,
  form.woocommerce-checkout.luc-checkout-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 480px !important;
    gap: 2.5rem !important;
    align-items: start !important;
    width: 100% !important;
  }

  @media (min-width: 1240px) {
    body.woocommerce-checkout form.checkout,
    body.woocommerce-checkout form.woocommerce-checkout,
    form.woocommerce-checkout.luc-checkout-layout {
      grid-template-columns: minmax(0, 1fr) 520px !important;
      gap: 3rem !important;
    }
  }

  body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
  body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout,
  body.woocommerce-checkout form.checkout > .woocommerce-error,
  body.woocommerce-checkout form.checkout > .woocommerce-message {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  /* Lewa kolumna: Rozliczenia, wysyłka i uwagi */
  body.woocommerce-checkout .luc-checkout-col-left {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Prawa kolumna: Twoje zamówienie, dostawa, Order Bump i płatności */
  body.woocommerce-checkout .luc-checkout-col-right {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    position: sticky !important;
    top: 96px !important;
    z-index: 10 !important;
  }
}

/* Eliminacja podwójnego nagłówka i podwójnej karty w prawej kolumnie */
body.woocommerce-checkout #order_review::before {
  display: none !important;
  content: none !important;
}

body.woocommerce-checkout #order_review_heading {
  display: block !important;
  font-family: 'Tenor Sans', serif !important;
  font-size: 1.45rem !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  margin: 0 0 1.25rem 0 !important;
  padding: 0 0 0.75rem 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Karty sekcji formularza kasy (lewa kolumna + pojedyncza karta w prawej kolumnie) */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields:has(.form-row),
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .luc-checkout-order-review-card {
  background: #171717 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 16px !important;
  padding: 1.75rem !important;
  margin: 0 0 1.75rem 0 !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .luc-checkout-order-review-card {
  margin-bottom: 0 !important;
}

/* Wewnętrzny #order_review nie duplikuje ramki ani paddingu wewnątrz .luc-checkout-order-review-card */
body.woocommerce-checkout .luc-checkout-order-review-card #order_review,
body.woocommerce-checkout #order_review {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  position: static !important;
}

/* Całkowite ukrycie pustego bloku wysyłki na inny adres (gdy brak widocznych pól) */
body.woocommerce-checkout .woocommerce-shipping-fields:empty,
body.woocommerce-checkout .woocommerce-shipping-fields:not(:has(.form-row)) {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: 0 !important;
}

@media (max-width: 768px) {
  body.woocommerce-checkout .luc-checkout-order-review-card,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-additional-fields {
    padding: 1.25rem 1.1rem !important;
    border-radius: 14px !important;
  }

  body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
    padding: 0.7rem 0 !important;
    font-size: 0.9rem !important;
  }
}

body.woocommerce-checkout h3 {
  font-family: 'Tenor Sans', serif !important;
  font-size: 1.4rem !important;
  color: #FFFFFF !important;
  margin: 0 0 1.25rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Siatka pól formularza rozliczeń (2 kolumny dla Imię/Nazwisko, Kod pocztowy/Miasto) */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 0 1.2rem !important;
  width: 100% !important;
}

/* Pola wejściowe formularza kasy */
body.woocommerce-checkout .form-row {
  margin: 0 0 1.15rem 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
}

@media (min-width: 576px) {
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last {
    width: calc(50% - 0.6rem) !important;
    flex: 0 0 calc(50% - 0.6rem) !important;
  }
}

body.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 0.88rem !important;
  color: rgba(255, 255, 255, 0.85) !important;
  margin-bottom: 0.4rem !important;
  font-weight: 500 !important;
}

body.woocommerce-checkout .form-row label .required {
  color: var(--color-brand, #E95321) !important;
  text-decoration: none !important;
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
  width: 100% !important;
  background: #202020 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: #FFFFFF !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.95rem !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .form-row textarea:focus {
  border-color: var(--color-brand, #E95321) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(233, 83, 33, 0.2) !important;
}

body.woocommerce-checkout .form-row input::placeholder,
body.woocommerce-checkout .form-row textarea::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

/* Checkboxy i radio w kasie */
body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"] {
  accent-color: var(--color-brand, #E95321) !important;
  width: 16px !important;
  height: 16px !important;
  cursor: pointer !important;
}

/* Tabela podsumowania zamówienia (pełna szerokość 100% karty) */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  border: none !important;
  background: transparent !important;
  margin: 0 0 1.25rem 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead tr,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals):not(.shipping) {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  gap: 1rem !important;
  padding: 0.75rem 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  color: #FFFFFF !important;
}

body.woocommerce-checkout table.woocommerce-checkout-r
... [truncated for diff preview]