/* ======================================================================
   BEAR STOPPER / TELESCOPIKA — CUSTOM OVERRIDES v2.0
   Refactor complet bazat pe design_handoff_telescopika_v1.md
   Suprascrie complet versiunea anterioara (Layer 1).
   
   Layer 1 = FUNDAMENT — tokens, fonturi, theme switching, componente Layer 1
   refactored (taburi, badge, butoane, tabel, carduri).
   
   Layer 2-5 (componente noi) vor fi adaugate in iteratiile urmatoare.
   ====================================================================== */


/* ======================================================================
   1. TOKENS (variabile CSS globale)
   ====================================================================== */
:root {
  /* --- Brand canvas (fundal bej-cream) --- */
  --bs-canvas:        #F3E4D0;
  --bs-canvas-soft:   #ECE1D2;
  --bs-canvas-warm:   #F8EFDF;
  --bs-canvas-deep:   #E5DAC4;

  /* --- Brand colors --- */
  --bs-amber:         #A0432B;   /* Bear Stopper accent */
  --bs-amber-dark:    #7E331E;
  --bs-amber-light:   #C25A3D;
  --bs-pine:          #2D4A47;   /* Telescopika accent */
  --bs-pine-dark:     #1F3331;
  --bs-pine-light:    #3F6260;
  --bs-ink:           #0F0F0F;   /* Header bg + heading text */
  --bs-ink-soft:      #2A2823;

  /* --- Discount badge (Fire Yellow — STRICT pentru promo discount) --- */
  --bs-discount:      #F2A516;
  --bs-discount-text: #4B2D04;

  /* --- Tricolor RO (STRICT pentru badge "Made in Romania") --- */
  --bs-ro-blue:       #002B7F;
  --bs-ro-yellow:     #FCD116;
  --bs-ro-red:        #CE1126;

  /* --- Neutrale --- */
  --bs-gray-50:       #FAF6EE;
  --bs-gray-100:      #F1ECE2;
  --bs-gray-200:      #E5DFD3;
  --bs-gray-300:      #C9C0B0;
  --bs-gray-400:      #9A938A;
  --bs-gray-500:      #6F6962;
  --bs-gray-600:      #5A554E;
  --bs-gray-700:      #3D3A35;
  --bs-gray-800:      #2A2823;
  --bs-gray-900:      #15140F;

  /* --- Semantici --- */
  --bs-success:       #2F7D4F;
  --bs-warning:       #C77E1A;
  --bs-error:         #B20000;
  --bs-info:          #3A6B7C;

  /* --- Spacing scale (4-base) --- */
  --space-2xs: 4px;
  --space-xs:  8px;
  --space-sm:  12px;
  --space-md:  16px;
  --space-lg:  24px;
  --space-xl:  32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 96px;

  /* --- Radius --- */
  --radius-none: 0;
  --radius-xs:   2px;
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-pill: 999px;

  /* --- Shadow --- */
  --shadow-sm:       0 1px 2px rgba(40, 30, 15, 0.06);
  --shadow-md:       0 4px 12px rgba(40, 30, 15, 0.08);
  --shadow-lg:       0 12px 32px rgba(40, 30, 15, 0.14);
  --shadow-cta:      0 4px 14px rgba(160, 67, 43, 0.28);
  --shadow-discount: 0 2px 8px rgba(242, 165, 22, 0.40);

  /* --- Motion --- */
  --t-fast: 150ms ease;
  --t-base: 220ms ease;
  --t-slow: 320ms ease;

  /* --- Container --- */
  --container: 1400px;

  /* --- Typography --- */
  --font-heading: 'Oswald', system-ui, sans-serif;
  --font-body:    'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', 'Courier New', monospace;

  /* --- Theme accent (default = amber Bear Stopper, switch la pine pe Telescopika) --- */
  --bs-accent-active:      var(--bs-amber);
  --bs-accent-active-dark: var(--bs-amber-dark);
  --bs-accent-active-light:var(--bs-amber-light);

  /* --- Suprascrie variabile critice Bootstrap (afecteaza toate componentele btn-primary, etc.) --- */
  --bs-primary:   var(--bs-accent-active);
  --bs-secondary: var(--bs-gray-600);
  --bs-success:   var(--bs-success);
  --bs-warning:   var(--bs-warning);
  --bs-danger:    var(--bs-error);
  --bs-body-bg:   var(--bs-canvas);
  --bs-body-color:var(--bs-gray-800);
  --bs-body-font-family: var(--font-body);
}


/* ======================================================================
   2. THEME SWITCHING (dual-brand)
   Activeaza pe body sau pe orice container parent prin clasa .theme--telescopika
   ====================================================================== */
.theme--telescopika {
  --bs-accent-active:      var(--bs-pine);
  --bs-accent-active-dark: var(--bs-pine-dark);
  --bs-accent-active-light:var(--bs-pine-light);
}


/* ======================================================================
   3. GLOBAL — body, headings, links
   ====================================================================== */
body {
  background-color: var(--bs-canvas) !important;
  color: var(--bs-gray-800) !important;
  font-family: var(--font-body) !important;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--bs-ink) !important;
  letter-spacing: -0.3px;
}

a {
  color: var(--bs-accent-active);
  transition: color var(--t-fast);
}
a:hover {
  color: var(--bs-accent-active-dark);
}


/* ======================================================================
   4. HEADER — accent stripe sub header (theme-aware)
   Header-ul ramane ink (negru), doar bordura de jos primeste accent
   ====================================================================== */
.header,
#header {
  border-bottom: 2px solid var(--bs-accent-active);
}


/* ======================================================================
   5. TABS PAGINA PRODUS (.product-content__tabs)
   Refactor complet — Oswald font + accent active dynamic + animatie underline
   ====================================================================== */
.product-content__tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  border-bottom: 1px solid var(--bs-gray-200) !important;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.product-content__tabs::-webkit-scrollbar {
  display: none;
}

/* Elimina separator " / " din Layer 1 vechi */
.product-content__tabs .nav-item:not(:last-of-type)::after {
  content: none !important;
}

.product-content__tabs .nav-item {
  flex-shrink: 0;
  padding: 0 !important;
  display: block !important;
}

.product-content__tabs .nav-link {
  position: relative;
  display: inline-block;
  padding: 14px 20px !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: uppercase;
  letter-spacing: 1.2px !important;
  color: var(--bs-gray-500) !important;
  cursor: pointer;
  border: 0 !important;
  background: transparent !important;
  transition: color var(--t-fast);
}

.product-content__tabs .nav-link::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: -1px;
  height: 2px;
  background: var(--bs-accent-active);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--t-base);
}

.product-content__tabs .nav-link:hover {
  color: var(--bs-ink) !important;
}

.product-content__tabs .nav-link.active,
.product-content__tabs .nav-link:focus {
  color: var(--bs-accent-active) !important;
}

.product-content__tabs .nav-link.active::after,
.product-content__tabs .nav-link:hover::after {
  transform: scaleX(1);
}


/* ======================================================================
   6. DISCOUNT BADGE — Fire Yellow pill (suprascrie rosul Layer 1)
   Atentie: bem() function din MerchantPro converteste underscores in cratime,
   deci HTML-ul are --price-discount, NU --price_discount.
   ====================================================================== */
.product-summary__badge--price-discount,
.grid-image__badge--price-discount {
  background-color: var(--bs-discount) !important;
  color: var(--bs-discount-text) !important;
  font-family: var(--font-mono) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-pill) !important;
  letter-spacing: 0.4px !important;
  box-shadow: var(--shadow-discount);
  border: 0 !important;
  text-transform: uppercase;
}

.grid-image__badge--price-discount {
  font-size: 10px !important;
  padding: 3px 8px !important;
}

/* Badge "New" — pine (calm, premium) */
.product-summary__badge--new,
.grid-image__badge--new {
  background-color: var(--bs-pine) !important;
  color: white !important;
  font-family: var(--font-mono) !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  padding: 3px 8px !important;
  border-radius: var(--radius-pill) !important;
  letter-spacing: 0.5px !important;
  border: 0 !important;
  text-transform: uppercase;
}

/* Badge "Free shipping" — success */
.product-summary__badge--free-shipping,
.grid-image__badge--free-shipping {
  background-color: var(--bs-success) !important;
  color: white !important;
  font-family: var(--font-mono) !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  padding: 3px 8px !important;
  border-radius: var(--radius-pill) !important;
  letter-spacing: 0.5px !important;
  border: 0 !important;
  text-transform: uppercase;
}

/* ======================================================================
   7. CARD GALERIE PRODUS (wrapper alb peste fundal bej)
   ====================================================================== */
.product-summary__images {
  background-color: white !important;
  border-radius: var(--radius-md) !important;
  padding: 16px !important;
  box-shadow: var(--shadow-md) !important;     /* ← era --shadow-sm */
  position: relative;
}

@media (min-width: 992px) {
  .product-summary__images {
    padding: 24px !important;
  }
}

.product-summary__main-image-wrapper {
  background: var(--bs-canvas);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

/* Thumbnails — border accent pe cel activ + hover lift */
.product-summary__thumb-image-wrapper {
  border: 2px solid transparent !important;
  border-radius: var(--radius-sm) !important;
  overflow: hidden;
  cursor: pointer;
  transition: border-color var(--t-fast), transform var(--t-fast);
}

.product-summary__thumb-image-wrapper:hover {
  transform: translateY(-2px);
}

.splide__slide.is-active .product-summary__thumb-image-wrapper {
  border-color: var(--bs-accent-active) !important;
}


/* ======================================================================
   8. BUTOANE CTA — ierarhie clara
   Cumpara acum  = primary plin (accent-active dynamic)
   Adauga in cos = outline secondary
   Favorite      = icon-only circular
   ====================================================================== */
.product-summary__info--actions {
  display: flex !important;
  gap: 10px !important;
  align-items: stretch !important;
  flex-wrap: wrap;
}

/* "Cumpara acum" — primary plin */
.product-action--buy-now .btn,
.product-action--buy-now button[data-buy-now-form] {
  background-color: var(--bs-accent-active) !important;
  color: white !important;
  border: 2px solid var(--bs-accent-active) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase;
  padding: 13px 18px !important;
  font-size: 13px !important;
  border-radius: var(--radius-sm) !important;
  transition: all var(--t-fast);
  box-shadow: var(--shadow-cta);
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.product-action--buy-now .btn:hover {
  background-color: var(--bs-accent-active-dark) !important;
  border-color: var(--bs-accent-active-dark) !important;
  transform: translateY(-1px);
}

/* "Adauga in cos" — outline secondary */
.product-action--add-to-cart .btn {
  background-color: transparent !important;
  color: var(--bs-accent-active) !important;
  border: 2px solid var(--bs-accent-active) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase;
  padding: 13px 18px !important;
  font-size: 13px !important;
  border-radius: var(--radius-sm) !important;
  transition: all var(--t-fast);
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.product-action--add-to-cart .btn:hover {
  background-color: var(--bs-accent-active) !important;
  color: white !important;
}

/* "Adauga la favorite" — icon-only circular */
.product-action--add-to-favorites .btn,
.product-summary__save-wishlist {
  background: transparent !important;
  border: 1.5px solid var(--bs-gray-300) !important;
  color: var(--bs-ink) !important;
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 48px !important;
  cursor: pointer;
  transition: all var(--t-fast);
}

.product-action--add-to-favorites .btn:hover,
.product-summary__save-wishlist:hover {
  border-color: var(--bs-error) !important;
  color: var(--bs-error) !important;
}

.product-summary__save-wishlist--saved {
  background: var(--bs-error) !important;
  border-color: var(--bs-error) !important;
  color: white !important;
}

.product-summary__save-wishlist svg,
.product-action--add-to-favorites .btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

/* Ascund textul "ADAUGA LA FAVORITE", las doar inima */
.product-summary__save-wishlist-text {
  display: none !important;
}

/* Mobile responsive — butoanele se rearanjeaza pe coloana */
@media (max-width: 575px) {
  .product-action--buy-now .btn,
  .product-action--add-to-cart .btn {
    font-size: 11px !important;
    padding: 11px 8px !important;
    letter-spacing: 0.3px !important;
  }
}


/* ======================================================================
   9. TABEL ATRIBUTE (DETALII tab)
   Zebra subtila + label uppercase mono + value cu accent variant
   ====================================================================== */
.product-attributes {
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  border: 1px solid var(--bs-gray-200) !important;
  background: white;
  margin: 0 !important;
  list-style: none !important;
  padding: 0 !important;
}

.product-attributes__item {
  display: flex !important;
  padding: 12px 18px !important;
  align-items: center;
  gap: 16px;
  border: 0 !important;
  margin: 0 !important;
}

.product-attributes__item--odd {
  background-color: rgba(0, 0, 0, 0.025) !important;
}

.product-attributes__item--even {
  background-color: transparent !important;
}

.product-attributes__label {
  font-family: var(--font-mono) !important;
  font-weight: 600 !important;
  color: var(--bs-ink) !important;
  text-transform: uppercase;
  font-size: 11px !important;
  letter-spacing: 1.2px !important;
  flex: 0 0 40%;
  margin: 0 !important;
}

.product-attributes__value {
  color: var(--bs-gray-700) !important;
  font-size: 14px;
  font-weight: 500;
}

.product-attributes__value a {
  color: var(--bs-accent-active);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 575px) {
  .product-attributes__item {
    padding: 10px 14px !important;
    gap: 12px !important;
  }
  .product-attributes__label {
    flex: 0 0 50%;
    font-size: 10px !important;
  }
  .product-attributes__value {
    font-size: 13px;
  }
}


/* ======================================================================
   10. CARDURI PRODUSE GRID (recomandate, listing, slider)
   Hover lift + accent stripe theme-aware + ellipsis 2 linii titlu
   ====================================================================== */
.product--grid {
  background: white;
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 1px 3px rgba(40, 30, 15, 0.04);
  transition: transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);
  position: relative;
  border: 1px solid transparent;
}

.product--grid:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--bs-canvas-deep);
}

/* Accent stripe sus pe hover (theme-aware) */
.product--grid::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--bs-accent-active);
  z-index: 2;
  opacity: 0;
  transition: opacity var(--t-base);
}

.product--grid:hover::before {
  opacity: 1;
}

/* Theme override per-card — pentru grid mixt (BS si Telescopika impreuna) */
.product--grid.is-telescopika::before {
  background: var(--bs-pine);
}

/* Image wrapper cu zoom subtil pe hover */
.grid-image {
  position: relative;
  background: var(--bs-canvas);
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.grid-image__image-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--t-slow);
}

.product--grid:hover .grid-image__image-wrapper {
  transform: scale(1.06);
}

/* Date produs */
.product__data {
  padding: 14px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 6px;
}

.product__category {
  font-family: var(--font-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase;
  color: var(--bs-accent-active) !important;
  margin: 0 !important;
}

.product--grid.is-telescopika .product__category {
  color: var(--bs-pine) !important;
}

.product__name {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--bs-ink) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
  text-decoration: none;
}

.product__name:hover,
.product__name a:hover {
  color: var(--bs-accent-active) !important;
}

.product__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--bs-gray-500);
  margin: 0;
}

.product__rating-fill,
.product__rating-stars {
  color: var(--bs-discount) !important;
}

.product__actions {
  margin-top: auto;
  padding-top: 12px;
}

.product__add-to-cart {
  width: 100%;
  background: var(--bs-accent-active) !important;
  color: white !important;
  border: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px !important;
  padding: 10px 12px !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer;
  transition: all var(--t-fast);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.product__add-to-cart:hover {
  background: var(--bs-accent-active-dark) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-cta);
}

.product--grid.is-telescopika .product__add-to-cart {
  background: var(--bs-pine) !important;
}

.product--grid.is-telescopika .product__add-to-cart:hover {
  background: var(--bs-pine-dark) !important;
}

/* Out of stock state */
.product--grid.is-out-of-stock,
.product--grid:has(.disabled) {
  opacity: 0.7;
}

.product--grid .disabled,
.product--grid .product__add-to-cart.disabled,
.product--grid .product__add-to-cart:disabled {
  background: var(--bs-gray-300) !important;
  color: var(--bs-gray-600) !important;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}


/* ======================================================================
   11. FOOTER — actualizare culori (ramane bej-ish, text negru)
   Doar adjust subtil pana la L3 (footer complet)
   ====================================================================== */
.footer,
#footer {
  background-color: var(--bs-canvas-soft) !important;
  color: var(--bs-gray-800) !important;
  border-top: 1px solid var(--bs-canvas-deep);
}


/* ======================================================================
   12. L2 — KPI feature-stats (top tab DESCRIERE)
   Copiat 1:1 din design etapa2_2_detalii_tabs_bs.html
   ====================================================================== */
.feature-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  grid-auto-rows: 1fr;
  gap: 12px;
  margin: 20px 0;
  padding: 20px;
  background: var(--bs-canvas-warm);
  border-radius: var(--radius-md);
  border: 1px solid var(--bs-canvas-deep);
}
.feature-stat {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 90px;
}
.feature-stat__value {
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 700;
  color: var(--bs-accent-active);
  line-height: 1;
  letter-spacing: -0.5px;
  margin: 0 0 6px;
}
.feature-stat__label {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--bs-gray-600);
  margin: 0;
  line-height: 1.4;
}

@media (max-width: 575px) {
  .feature-stats { padding: 14px; }
  .feature-stat__value { font-size: 22px; }
}


/* ======================================================================
   13. L2 — Shipping cards (tab LIVRARE & FAQ — partea de sus)
   ====================================================================== */
.shipping-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}
.shipping-card {
  padding: 18px;
  background: white;
  border: 1px solid var(--bs-gray-200);
  border-radius: var(--radius-md);
  transition: var(--t-base);
}
.shipping-card:hover {
  border-color: var(--bs-accent-active);
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}
.shipping-card__icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-sm);
  background: var(--bs-canvas-warm);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.shipping-card__icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--bs-accent-active);
  fill: none;
  stroke-width: 1.8;
}
.shipping-card h5 {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  color: var(--bs-ink);
  margin: 0 0 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.2;
}
.shipping-card p {
  font-size: 13px;
  color: var(--bs-gray-600);
  margin: 0;
  line-height: 1.5;
}
.shipping-card strong {
  color: var(--bs-ink);
}
.shipping-footer-link,
.faq-footer-link {
  font-size: 12px;
  color: var(--bs-gray-500);
  margin: 16px 0 0;
}
.shipping-footer-link a,
.faq-footer-link a {
  color: var(--bs-accent-active);
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* ======================================================================
   14. L2 — FAQ accordion (tab LIVRARE & FAQ — partea de jos)
   ====================================================================== */
.faq-section-title {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--bs-ink);
  margin: 24px 0 12px;
  padding-top: 16px;
  border-top: 1px solid var(--bs-gray-200);
}
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 14px;
}
.faq-item {
  background: white;
  border: 1px solid var(--bs-gray-200);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.faq-item summary {
  padding: 14px 18px;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 600;
  color: var(--bs-ink);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  list-style: none;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary::after {
  content: "+";
  font-family: var(--font-mono);
  font-size: 18px;
  color: var(--bs-accent-active);
  transition: transform var(--t-base);
  font-weight: 400;
}
.faq-item[open] summary::after {
  transform: rotate(45deg);
}
.faq-item summary:hover {
  background: var(--bs-canvas-warm);
}
.faq-item__body {
  padding: 0 18px 16px;
  font-size: 13px;
  color: var(--bs-gray-700);
  line-height: 1.6;
}
.faq-item__body p {
  margin: 0 0 8px;
}
.faq-item__body p:last-child {
  margin: 0;
}
.faq-item__body ul {
  margin: 8px 0;
  padding-left: 20px;
}

/* ======================================================================
   15. L2 — Tab content visibility (NO animation, instant switch — no blink)
   ====================================================================== */
.product-content__blocks > .product-content__block {
  display: none;
}
.product-content__blocks > .product-content__block.active {
  display: block;
}

/* ======================================================================
   16. L2 — Tabs nav background fix (override theme.css white background)
   ====================================================================== */
.product-content__tabs {
  background-color: transparent !important;
}

/* ======================================================================
   17. L2 — Tab nav smooth color transition + underline mai vizibil
   ====================================================================== */
.product-content__tabs .nav-link {
  transition: color 200ms ease !important;
}

.product-content__tabs .nav-link::after {
  height: 3px !important;
  bottom: -1px !important;
  transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  background: var(--bs-accent-active) !important;
}

/* ======================================================================
   18. L2 — Magic line (single sliding underline pentru nav-tabs)
   Span plasat in afara <ul> intr-un wrapper, ca sa nu strice flex layout
   Pe mobile (≤991px): magic-line ascuns + revine la ::after individual
   pentru ca magic-line absolut nu poate urmari scroll horizontal intern
   ====================================================================== */
.product-content__tabs-wrap {
  position: relative !important;
}

/* Ascund underline individual ::after — magic-line il inlocuieste (DESKTOP) */
.product-content__tabs .nav-link::after {
  display: none !important;
}

.magic-line {
  position: absolute !important;
  bottom: 0 !important;
  height: 3px !important;
  background: var(--bs-accent-active) !important;
  pointer-events: none !important;
  border-radius: 2px;
  display: block !important;
  left: 0;
  width: 0;
  z-index: 5;
  transition: left 320ms cubic-bezier(0.4, 0, 0.2, 1),
              width 320ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* === MOBILE FALLBACK ===
   Pe mobile/tableta tab-urile scrolleaza orizontal, dar magic-line absolut
   in wrap nu se misca cu scroll-ul intern al .product-content__tabs.
   Solutie: ascund magic-line si reactivez ::after individual pe nav-link active. */
@media (max-width: 991px) {
  .magic-line {
    display: none !important;
  }

  .product-content__tabs .nav-link::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 20px !important;
    right: 20px !important;
    bottom: -1px !important;
    height: 3px !important;
    background: var(--bs-accent-active) !important;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  .product-content__tabs .nav-link.active::after {
    transform: scaleX(1) !important;
  }
}

/* ======================================================================
   19. FIX TEMPORAR — dezactivez zoom hover nativ MerchantPro
   Cauza bug: figure are aspect-ratio fix (0.75/1), img mai mic decat figure,
   background-image (zoom) apare in spatiul gol de sub img la hover.
   Re-implementam zoom corect in L2 galerie cu Fancybox + custom hover.
   ====================================================================== */
.product-summary__main-image-wrapper figure {
  background-image: none !important;
  background-color: transparent !important;
}

.product-summary__main-image {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: 0 auto;
}

/* ======================================================================
   20. L2 — BUY-BOX QUICK WINS (Pas 1: price size + stock verde + actions gap)
   CSS-only, fara modificari Twig. Aplica peste structura HTML default
   MerchantPro existenta — folosesc selectori --price-gross, --old-price-gross,
   --availability, --actions deja prezenti in DOM.
   ====================================================================== */

/* Pretul principal (price-now) — marit la 34px Oswald 700, letter-spacing tight */
.product-summary__info--price-gross {
  font-family: var(--font-heading) !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  letter-spacing: -0.5px !important;
  color: var(--bs-ink) !important;
  line-height: 1.1 !important;
}

/* Pretul vechi (line-through) — discret, mic, gri */
.product-summary__info--old-price-gross {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--bs-gray-500) !important;
  text-decoration: line-through !important;
  margin-right: 8px !important;
}

/* Stock availability — verde pine, bold, cu icon check inline */
.product-summary__info--availability {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: #2F7D4F !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.2px !important;
}

.product-summary__info--availability::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background-color: #2F7D4F;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

/* Actions: gap intre butoane (cumpara | adauga | wishlist) */
.product-summary__info--actions {
  gap: 12px !important;
}

/* ======================================================================
   21. L2 — BRAND LABEL + SUB-TAGLINE (Pas 2 buy-box)
   Markup nou inserat in summary.html.twig deasupra <h1> si dedesubt.
   ====================================================================== */

/* Brand label — uppercase mono mic, accent culoare brand activ, line accent stanga */
.product-summary__brand-label {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase;
  color: var(--bs-accent-active) !important;
  line-height: 1;
}

.product-summary__brand-label::before {
  content: "";
  display: block;
  width: 24px;
  height: 1px;
  background: var(--bs-accent-active);
  flex-shrink: 0;
}

/* Sub-tagline — italic body, gri-soft, cu icon SVG accent (munte) */
.product-summary__sub-tagline {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 8px 0 16px 0 !important;
  padding: 0 !important;
  font-family: var(--font-body) !important;
  font-style: italic !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--bs-ink-soft) !important;
  line-height: 1.5;
}

.product-summary__sub-tagline svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: var(--bs-accent-active);
  stroke: currentColor;
}

@media (max-width: 575px) {
  .product-summary__brand-label {
    font-size: 10px !important;
    letter-spacing: 1.6px !important;
  }
  .product-summary__sub-tagline {
    font-size: 13px !important;
  }
}

/* ======================================================================
   22. L2 — TRUST BADGES (Pas 3 buy-box)
   Bloc cu 3 indicatori incredere: Livrare 24h / Retur 30 zile / Plata sigura.
   Universal pentru toate produsele. Inserat dupa .product-summary__info--actions.
   ====================================================================== */

.trust-badges {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 12px 0 0;
  margin: 16px 0 0 !important;
  border-top: 1px dashed var(--bs-gray-200);
  background: transparent;
  border-radius: 0;
  font-size: 11px;
}

.trust-badges__item {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 3px;
  color: var(--bs-gray-700);
  line-height: 1.3;
}

.trust-badges__item svg {
  width: 18px;
  height: 18px;
  stroke: var(--bs-accent-active);
  fill: none;
  stroke-width: 1.8;
  margin-bottom: 2px;
  flex-shrink: 0;
}

.trust-badges__item strong {
  font-family: var(--font-heading) !important;
  font-size: 11px !important;
  letter-spacing: 0.5px !important;
  color: var(--bs-ink) !important;
  text-transform: uppercase;
  font-weight: 600 !important;
}

.trust-badges__item span {
  font-size: 10px !important;
  color: var(--bs-gray-500) !important;
}

@media (max-width: 575px) {
  .trust-badges {
    font-size: 10px;
  }
  .trust-badges__item strong { font-size: 10px !important; }
  .trust-badges__item span { font-size: 9px !important; }
}

/* ======================================================================
   23. L2 — BUY-BOX WRAPPER (Pas 3 final)
   Card alb cu border accent + shadow care incapsuleaza butoanele Cumpara/
   Adauga/Wishlist + trust-badges. Mockup intent: zona principala de
   conversie e izolata vizual de restul detaliilor.
   ====================================================================== */

.product-summary__buy-box {
  padding: 16px !important;
  background: white !important;
  border: 1.5px solid var(--bs-accent-active) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-md) !important;
  margin: 16px 0 !important;
}

/* Actions: grid 1fr 1fr 48px (Cumpara | Adauga | Wishlist) */
.product-summary__buy-box .product-summary__info--actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr 48px !important;
  gap: 8px !important;
  align-items: stretch !important;
  margin: 0 0 14px 0 !important;
}

/* Butoane full-width in grid coloane */
.product-summary__buy-box .product-action--buy-now .btn,
.product-summary__buy-box .product-action--add-to-cart .btn {
  width: 100% !important;
}

/* Wishlist 48x48 fixed in coloana 3 */
.product-summary__buy-box .product-action--add-to-favorites .btn,
.product-summary__buy-box .product-summary__save-wishlist {
  width: 48px !important;
  height: 48px !important;
}

/* Trust badges in interior buy-box — fara margin top, separator dashed */
.product-summary__buy-box .trust-badges {
  margin: 0 !important;
  padding: 12px 0 0 !important;
  border-top: 1px dashed var(--bs-gray-200) !important;
}

/* Mobile — padding redus, columns ajustate */
@media (max-width: 575px) {
  .product-summary__buy-box {
    padding: 12px !important;
  }
  .product-summary__buy-box .product-summary__info--actions {
    grid-template-columns: 1fr 1fr 44px !important;
    gap: 6px !important;
  }
  .product-summary__buy-box .product-action--add-to-favorites .btn,
  .product-summary__buy-box .product-summary__save-wishlist {
    width: 44px !important;
    height: 44px !important;
  }
}

/* ======================================================================
   24. L2 — WISHLIST FIX + TRUST BADGES SCALE +50% (Pas 3 fine-tune)
   ====================================================================== */

/* === WISHLIST: centrare + culoare + state corect === */

/* Ascund textul "Adauga la favorite" — buton icon-only 48x48 */
.product-summary__save-wishlist-text {
  display: none !important;
}

/* SVG inima — currentColor + dimensiune fixa + fara margin lateral */
.product-summary__save-wishlist svg,
.product-action--add-to-favorites .btn svg,
.product-summary__buy-box .product-action--add-to-favorites .btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2 !important;
  margin: 0 !important;
  flex-shrink: 0;
}

/* Default: outline ink (vizibil pe alb buy-box) */
.product-summary__save-wishlist,
.product-action--add-to-favorites .btn {
  color: var(--bs-ink) !important;
  background: transparent !important;
  border: 1.5px solid var(--bs-gray-300) !important;
}

/* Hover: border + inima fill accent (caramiziu/pin theme-aware) */
.product-summary__save-wishlist:hover,
.product-action--add-to-favorites .btn:hover {
  border-color: var(--bs-accent-active) !important;
  color: var(--bs-accent-active) !important;
  background: transparent !important;
}

.product-summary__save-wishlist:hover svg,
.product-action--add-to-favorites .btn:hover svg {
  fill: var(--bs-accent-active) !important;
  stroke: var(--bs-accent-active) !important;
}

/* Saved state (dupa click — toggled de MerchantPro JS):
   border accent + inima PLINA accent + bg transparent (NU bg accent + inima alba) */
.product-summary__save-wishlist--saved {
  border-color: var(--bs-accent-active) !important;
  color: var(--bs-accent-active) !important;
  background: transparent !important;
}

.product-summary__save-wishlist--saved svg {
  fill: var(--bs-accent-active) !important;
  stroke: var(--bs-accent-active) !important;
}

/* === TRUST BADGES — scale +50% pentru balance cu buy-box wrapper === */

.trust-badges {
  gap: 8px !important;
}

.trust-badges__item {
  gap: 5px !important;
}

.trust-badges__item svg {
  width: 27px !important;
  height: 27px !important;
  stroke-width: 1.6 !important;
  margin-bottom: 4px !important;
}

.trust-badges__item strong {
  font-size: 16px !important;
  letter-spacing: 0.6px !important;
}

.trust-badges__item span {
  font-size: 15px !important;
}

/* Mobile — scaled down proportional */
@media (max-width: 575px) {
  .trust-badges__item svg {
    width: 22px !important;
    height: 22px !important;
  }
  .trust-badges__item strong {
    font-size: 13px !important;
  }
  .trust-badges__item span {
    font-size: 12px !important;
  }
}

/* ======================================================================
   25. L2 — BRAND LABEL UPDATE (Pas 3 fine-tune)
   Spec mockup: font-weight 700 + letter-spacing 2.5px + gap 8px +
   ::after linie gri faded gradient + margin-bottom marit pentru spacing h1.
   ====================================================================== */

.product-summary__brand-label {
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  gap: 8px !important;
  margin: 0 0 20px 0 !important;
}

/* Linie gri faded DUPA text — flex: 1 umple pana la margine, fade gradient */
.product-summary__brand-label::after {
  content: "" !important;
  display: block !important;
  flex: 1 !important;
  height: 1px !important;
  background: linear-gradient(to right, var(--bs-canvas-deep), transparent) !important;
  flex-shrink: 1 !important;
}

/* Sub-tagline color update — gray-600 in loc de ink-soft (mai light) */
.product-summary__sub-tagline {
  color: var(--bs-gray-600) !important;
  margin: 14px 0 16px 0 !important;
}

@media (max-width: 575px) {
  .product-summary__brand-label {
    margin-bottom: 14px !important;
  }
}

/* ======================================================================
   26. L2 — SKU HIDE in zona principala (sub-pas 3.1)
   SKU-ul ramane vizibil DOAR in tab DETALII (atribute), unde va fi
   redenumit "Cod Produs" prin translation override in MerchantPro.
   ====================================================================== */

.product-summary__info--sku {
  display: none !important;
}

/* ======================================================================
   27. L2 — QUANTITY ROW + STYLING QUANTITY INPUT (sub-pas 3.2 v4 - CLEAN)
   ====================================================================== */

/* === Wrapper row === */
div.product-summary__quantity-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 16px 0 !important;
}

/* Quantity STANGA */
div.product-summary__quantity-row > .product-summary__info--quantity {
  order: 1 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Availability DREAPTA */
div.product-summary__quantity-row > .product-summary__info--availability {
  order: 2 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* === Availability — reset text-decoration, pastreaza ::before icon === */
.product-summary__info--availability,
.product-summary__info--availability a {
  text-decoration: none !important;
  border-bottom: 0 !important;
}

.product-summary__info--availability a {
  color: inherit !important;
  cursor: default !important;
  pointer-events: none;
  text-decoration: none !important;
}

/* ::after " · livrare 24h" — apare DUPA textul "În stoc" */
.product-summary__info--availability::after {
  content: " · livrare 24h" !important;
  color: var(--bs-gray-600) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  margin-left: 6px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

/* === Quantity input styling === */

.product-summary__info--quantity {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}

/* Label "Cant." prin ::before */
.product-summary__info--quantity::before {
  content: "Cant." !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--bs-gray-500) !important;
  flex-shrink: 0 !important;
}

/* Container spinner — border + radius + overflow */
.product-summary__info--quantity .input-group,
.product-summary__info--quantity .quantity-spinner,
.product-summary__info--quantity > div:has(.quantity-spinner__button),
.product-summary__info--quantity > div:has(.btn-decrement) {
  display: inline-flex !important;
  align-items: stretch !important;
  border: 1.5px solid var(--bs-gray-300) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: white !important;
  width: auto !important;
  flex-wrap: nowrap !important;
}

/* Buttons +/- 32x38, fundal alb, hover canvas warm */
.product-summary__info--quantity .quantity-spinner__button,
.product-summary__info--quantity .btn-decrement,
.product-summary__info--quantity .btn-increment {
  width: 32px !important;
  height: 38px !important;
  min-width: 32px !important;
  border: 0 !important;
  background: white !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--bs-gray-700) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
}

.product-summary__info--quantity .quantity-spinner__button:hover,
.product-summary__info--quantity .btn-decrement:hover,
.product-summary__info--quantity .btn-increment:hover {
  background: var(--bs-canvas-warm) !important;
}

/* Input central 40x38, separator gri */
.product-summary__info--quantity .form-control {
  width: 40px !important;
  height: 38px !important;
  border: 0 !important;
  text-align: center !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--bs-ink) !important;
  background: white !important;
  border-left: 1px solid var(--bs-gray-200) !important;
  border-right: 1px solid var(--bs-gray-200) !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Mobile fallback */
@media (max-width: 575px) {
  div.product-summary__quantity-row {
    gap: 12px !important;
    flex-wrap: wrap !important;
  }
}
/* === Fix vertical alignment "În stoc" - normalize line-height + align-self === */

.product-summary__info--availability {
  line-height: 1 !important;
  align-items: center !important;
}

.product-summary__info--availability > *,
.product-summary__info--availability .product-summary__info--message,
.product-summary__info--availability .product-summary__info--available {
  line-height: 1 !important;
  align-self: center !important;
  vertical-align: middle !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.product-summary__info--availability::before {
  align-self: center !important;
}

.product-summary__info--availability::after {
  align-self: center !important;
  line-height: 1 !important;
}

/* ======================================================================
   28. COOKIE BANNER — compact + on-brand
   ====================================================================== */
/* Container — micșorăm padding, lățime max, poziționare colț */
.cookie-policy,
.cookie-bar,
.cookie-consent,
[class*="cookie"][class*="bar"],
[class*="cookie"][class*="banner"],
[class*="cookie"][class*="policy"]:not(a) {
  position: fixed !important;
  bottom: 16px !important;
  left: 16px !important;
  right: auto !important;
  width: auto !important;
  max-width: 420px !important;
  padding: 16px 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #2a2a2a !important;
  z-index: 9999 !important;
}

/* Textul — mai mic, mai blând */
.cookie-policy p,
.cookie-bar p,
.cookie-consent p,
[class*="cookie"][class*="bar"] p,
[class*="cookie"][class*="banner"] p {
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin: 0 0 12px 0 !important;
  color: #4a4a4a !important;
}

/* Link "Politica de cookies" */
.cookie-policy a,
.cookie-bar a,
.cookie-consent a,
[class*="cookie"][class*="bar"] a,
[class*="cookie"][class*="banner"] a {
  color: #b8862f !important; /* amber-dark */
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* Butoane — compacte, rounded, accent amber pe primary */
.cookie-policy .btn,
.cookie-policy button,
.cookie-bar .btn,
.cookie-bar button,
.cookie-consent .btn,
.cookie-consent button,
[class*="cookie"][class*="bar"] .btn,
[class*="cookie"][class*="bar"] button,
[class*="cookie"][class*="banner"] .btn,
[class*="cookie"][class*="banner"] button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  margin: 4px 6px 0 0 !important;
  transition: all 0.15s ease !important;
}

/* Primary (Accepta toate) — amber */
.cookie-policy .btn-primary,
.cookie-policy button[class*="accept-all"],
.cookie-policy button[class*="accept_all"],
.cookie-bar .btn-primary,
.cookie-bar button:first-of-type,
[class*="cookie"] button[class*="accept-all"],
[class*="cookie"] button[class*="accept_all"] {
  background: #d4a24a !important; /* amber */
  color: #1a1a1a !important;
  border-color: #d4a24a !important;
}
.cookie-policy .btn-primary:hover,
.cookie-bar .btn-primary:hover,
[class*="cookie"] button[class*="accept-all"]:hover {
  background: #b8862f !important;
  border-color: #b8862f !important;
  color: #ffffff !important;
}

/* Secondary (Doar esentiale, Preferinte) — outline subtle */
.cookie-policy .btn-secondary,
.cookie-policy .btn-outline,
.cookie-bar button:not(:first-of-type),
[class*="cookie"] button[class*="essential"],
[class*="cookie"] button[class*="preferences"] {
  background: transparent !important;
  color: #4a4a4a !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
}
.cookie-policy .btn-secondary:hover,
[class*="cookie"] button[class*="essential"]:hover,
[class*="cookie"] button[class*="preferences"]:hover {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.25) !important;
}

/* Mobile — full width cu margin */
@media (max-width: 575px) {
  .cookie-policy,
  .cookie-bar,
  .cookie-consent,
  [class*="cookie"][class*="bar"],
  [class*="cookie"][class*="banner"] {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    max-width: none !important;
    padding: 14px !important;
  }
  
  .cookie-policy button,
  .cookie-bar button,
  [class*="cookie"][class*="bar"] button {
    width: 100% !important;
    margin: 4px 0 !important;
  }
}

/* ======================================================================
   29. L2 — STOCK STATUS HTML (replace pseudo-elements)
   Avem HTML explicit cu 3 span-uri — fara ::before/::after care faceau
   probleme de vertical alignment in flex layout.
   ====================================================================== */

/* Override cu specificity inalta — anulez vechiul ::before si ::after */
div.product-summary__info--availability::before,
div.product-summary__info--availability::after {
  display: none !important;
  content: none !important;
}

div.product-summary__info--availability {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  color: #2F7D4F !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.product-summary__info--availability .stock-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
  color: #2F7D4F !important;
  margin: 0 !important;
  padding: 0 !important;
}

.product-summary__info--availability .stock-icon svg {
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 3 !important;
  display: block !important;
}

.product-summary__info--availability .stock-text {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #2F7D4F !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  border: 0 !important;
}

.product-summary__info--availability .stock-shipping {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  color: var(--bs-gray-600) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  margin-left: 4px !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ======================================================================
   30. L2 — PRICE BLOCK CARD WARM (sub-pas 3.3)
   Wrap card warm peste price-gross + old-price + discount badge.
   Spec: bg canvas-warm + border canvas-deep + radius + padding 16px.
   ====================================================================== */

.product-summary__price-block {
  padding: 16px !important;
  background: var(--bs-canvas-warm) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--bs-canvas-deep) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 16px 0 !important;
}

/* Discount badge — pill galben, push to right */
.product-summary__price-block .product-summary__info--price-discount {
  margin-left: auto !important;
}

/* Mobile — padding redus */
@media (max-width: 575px) {
  .product-summary__price-block {
    padding: 12px !important;
  }
}

/* ======================================================================
   31. L2 — DISCOUNT BADGE DUAL + PRICE BLOCK FULL WIDTH (sub-pas 3.4 fix)
   Hardcoded colors + width 100% pentru match cu buy-box.
   ====================================================================== */

/* Price block — full width sa match buy-box */
.product-summary__price-block {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 16px !important;
  background: var(--bs-canvas-warm) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--bs-canvas-deep) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 16px 0 !important;
}

/* Ascund badge default MerchantPro */
.product-summary__price-block .product-summary__info--price-discount {
  display: none !important;
}

/* Badge dual — pill galben hardcoded, specificity inalta */
span.product-summary__discount-badge,
.product-summary__price-block .product-summary__discount-badge,
.product-summary__price-block span.product-summary__discount-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #F2A516 !important;
  background-image: none !important;
  color: #4B2D04 !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.3px !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  border: 0 !important;
  white-space: nowrap !important;
  margin-left: auto !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(242, 165, 22, 0.40) !important;
  text-shadow: none !important;
}

@media (max-width: 575px) {
  .product-summary__discount-badge {
    font-size: 12px !important;
    padding: 6px 12px !important;
  }
}

/* ======================================================================
   32. L2 — TOP-DETAILS FULL WIDTH + BRAND LOGO HIDE (sub-pas 3.4 final)
   Top-details devine 1 coloana full width. Brand logo ascuns complet
   pentru a match mockup-ul handoff.
   ====================================================================== */

.product-summary__top-details {
  display: block !important;
  position: relative !important;
  width: 100% !important;
}

.product-summary__top-details-left {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding-right: 0 !important;
}

/* Ascund brand logo pe TOATE variantele (desktop + mobile) */
.product-summary__info--brand--desktop,
.product-summary__info--brand--mobile,
.product-summary__info--brand {
  display: none !important;
}

/* ======================================================================
   33. L2 — VARIANT CHIPS JET / DISPERSIE (Pas 6)
   Hardcoded mapping pentru spray Bear Stopper. Apar deasupra quantity-row.
   Active = current product type, Inactive = link spre sibling.
   ====================================================================== */

.product-summary__custom-variant-chips {
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  margin: 16px 0;
}

.product-summary__custom-variant-chips .product-summary__variant-label {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase;
  color: var(--bs-gray-500) !important;
}

.product-summary__variant-chips-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.variant-chip {
  font-family: var(--font-body) !important;
  padding: 10px 16px !important;
  border: 1.5px solid var(--bs-gray-300) !important;
  background: white !important;
  color: var(--bs-gray-700) !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer;
  transition: all var(--t-fast);
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 160px;
  text-align: left;
  text-decoration: none !important;
}

.variant-chip:hover {
  border-color: var(--bs-accent-active) !important;
  color: var(--bs-accent-active) !important;
  transform: translateY(-1px);
  text-decoration: none !important;
}

.variant-chip--active,
.variant-chip.is-active {
  background: var(--bs-accent-active) !important;
  border-color: var(--bs-accent-active) !important;
  color: white !important;
  cursor: default;
}

.variant-chip__main {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase;
  line-height: 1.1;
}

.variant-chip__sub {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--bs-gray-500) !important;
  line-height: 1.2;
  letter-spacing: 0.2px !important;
}

.variant-chip--active .variant-chip__sub,
.variant-chip.is-active .variant-chip__sub {
  color: rgba(255, 255, 255, 0.85) !important;
}

.variant-chip:hover .variant-chip__sub {
  color: var(--bs-accent-active) !important;
}

.variant-chip--active:hover .variant-chip__sub,
.variant-chip.is-active:hover .variant-chip__sub {
  color: rgba(255, 255, 255, 0.85) !important;
}

@media (max-width: 575px) {
  .variant-chip {
    min-width: auto !important;
    flex: 1 !important;
    padding: 8px 12px !important;
  }
  .variant-chip__main {
    font-size: 13px !important;
  }
}

/* ======================================================================
   34. L2 — GALERIE COMPLETA v3: grid 50/50 + thumbs stanga + active dot
   (Pas 7 + Pas 9 unificate, fara conflict cu Splide slider)
   ====================================================================== */

/* Pe desktop — .product-summary in grid 50/50 (forteaza coloanele egale) */
@media (min-width: 992px) {
  .product-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 32px !important;
    align-items: start !important;
  }

  .product-summary__images,
  .product-summary__details {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    min-width: 0 !important;
  }
}

/* Container outer galerie — width 100% (umple coloana grid) */
.product-summary__images {
  width: 100% !important;
}

/* Layout flex row pe desktop cand exista thumbs (--ttb modifier) */
@media (min-width: 992px) {
  .product-summary__images.product-summary__images--ttb {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  /* Thumbnails stanga, fixed width 76px, scroll vertical daca depasesc */
  .product-summary__images--ttb .product-summary__thumbnails {
    order: 1 !important;
    flex: 0 0 76px !important;
    width: 76px !important;
    max-height: 520px !important;
  }

  /* Main-images dreapta, fill restul spatiului */
  .product-summary__images--ttb .product-summary__main-images {
    order: 2 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
}

/* Main-images: aspect-ratio 1:1 indiferent de wrapper interior sau imagine */
.product-summary__main-images {
  aspect-ratio: 1 / 1 !important;
  position: relative !important;
  background-color: transparent !important;
}

/* Pe JET / produse fara thumbs — main-images ia 100% width container */
.product-summary__images:not(.product-summary__images--ttb) .product-summary__main-images {
  width: 100% !important;
}

/* Wrapper interior (DISPERSIE) — fill 100% al __main-images */
.product-summary__main-image-wrapper {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background-color: transparent !important;
  background-image: none !important;
  cursor: zoom-in;
}

.product-summary__main-image-wrapper figure {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Imagine principala — fit content fara stretch */
.product-summary__main-image {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 auto !important;
}

/* Placeholder (cand nu exista imagine) — discret centrat */
.product-summary__main-images svg:not(.product-summary__main-image),
.product-summary__main-images [class*="placeholder"] {
  max-width: 30% !important;
  max-height: 30% !important;
  opacity: 0.4 !important;
}

/* === THUMBNAILS DESIGN (in interior Splide slider) === */

/* Container thumbnails — width auto pe mobile, 76px pe desktop --ttb */
.product-summary__thumbnails {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.product-summary__thumbnails::-webkit-scrollbar {
  display: none !important;
}

/* Thumb wrapper interior splide__slide — 64x64 cu border + hover lift */
.product-summary__thumb-image-wrapper {
  width: 64px !important;
  height: 64px !important;
  background: var(--bs-canvas) !important;
  border-radius: var(--radius-sm) !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  transition: border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
  position: relative !important;
}

.product-summary__thumb-image-wrapper:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

/* Active thumbnail (dat de Splide is-active class) — border accent + halo */
.splide__slide.is-active .product-summary__thumb-image-wrapper,
.product-summary__thumb-image-wrapper.is-active {
  border-color: var(--bs-accent-active) !important;
  box-shadow: 0 0 0 1px rgba(160, 67, 43, 0.15) !important;
}

/* Active dot indicator — bottom center pentru thumbs orizontale (mobile) */
.splide__slide.is-active .product-summary__thumb-image-wrapper::after,
.product-summary__thumb-image-wrapper.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -8px !important;
  transform: translateX(-50%) !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--bs-accent-active) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 2px white !important;
  pointer-events: none !important;
}

/* Active dot — pe DREAPTA cand thumbs sunt vertical stanga (desktop --ttb) */
@media (min-width: 992px) {
  .product-summary__images--ttb .splide__slide.is-active .product-summary__thumb-image-wrapper::after,
  .product-summary__images--ttb .product-summary__thumb-image-wrapper.is-active::after {
    left: auto !important;
    bottom: auto !important;
    top: 50% !important;
    right: -8px !important;
    transform: translateY(-50%) !important;
  }
}

/* Thumb image inside — 60% width centrat */
.product-summary__thumb-image {
  max-width: 80% !important;
  max-height: 80% !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

/* === MOBILE (sub 992px) === */
@media (max-width: 991px) {
  .product-summary__images--ttb {
    flex-direction: column !important;
  }

  .product-summary__images--ttb .product-summary__thumbnails {
    order: 2 !important;
    width: 100% !important;
    max-height: none !important;
  }

  .product-summary__images--ttb .product-summary__main-images {
    order: 1 !important;
    width: 100% !important;
  }

  .product-summary__main-image-wrapper {
    cursor: default;
  }
}
/* ======================================================================
   35. L2 — MAGIC LINE — ALL POSSIBLE FIXES (Pas 8 final)
   ====================================================================== */

.magic-line {
  display: block !important;
  position: absolute !important;
  bottom: 0 !important;
  height: 3px !important;
  background: var(--bs-accent-active) !important;
  background-color: var(--bs-accent-active) !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: inset 0 0 0 99px var(--bs-accent-active) !important;
  filter: none !important;
  pointer-events: none !important;
  z-index: 10 !important;
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
  will-change: transform, left, width;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

.magic-line::before,
.magic-line::after {
  display: none !important;
  content: none !important;
}

/* Anuleaza border-bottom care ar putea crea linia gri sub magic-line */
.product-content__tabs {
  border-bottom: 0 !important;
}

.product-content__tabs-wrap {
  border-bottom: 1px solid var(--bs-gray-200) !important;
  position: relative !important;
}

/* Anuleaza ::after individual pe orice link */
.product-content__tabs .nav-link::after,
.product-content__tabs .nav-link.active::after,
.product-content__tabs .nav-link:hover::after {
  display: none !important;
  content: none !important;
}

/* Anuleaza border-top pe tab content pane */
.product-content__tab-pane,
.product-content__tabs-content,
.tab-pane,
.product-content__panes > * {
  border-top: 0 !important;
}

/* Mobile fallback — magic line still ascuns */
@media (max-width: 991px) {
  .magic-line {
    display: none !important;
  }
}

/* ======================================================================
   37. L2 — GALERIE ZOOM HOVER + LIGHTBOX + TOUCH (Etapa 2.3 completa)
   Zoom pe hover (desktop), click pe imagine = lightbox cu navigare.
   Mobile: lightbox prin tap, fara zoom hover (Splide gestioneaza swipe).
   ====================================================================== */

/* === ZOOM HOVER === */

.product-summary__main-image-wrapper {
  cursor: zoom-in !important;
}

.product-summary__main-image-wrapper.is-zoomed {
  cursor: zoom-out !important;
}

.product-summary__main-image {
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform-origin: center center;
  will-change: transform;
}

.product-summary__main-image-wrapper.is-zoomed .product-summary__main-image {
  transform: scale(2.2) !important;
  transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@media (hover: none), (max-width: 991px) {
  .product-summary__main-image-wrapper {
    cursor: default !important;
  }
  .product-summary__main-image-wrapper.is-zoomed .product-summary__main-image {
    transform: scale(1) !important;
  }
}

/* === IMAGE ACTIONS (zoom + lightbox icons overlay) === */

.bs-image-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 4;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 220ms ease, transform 220ms ease;
  pointer-events: none;
}

.product-summary__main-image-wrapper:hover .bs-image-actions,
.product-summary__main-image-wrapper:focus-within .bs-image-actions {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

@media (hover: none), (max-width: 991px) {
  .bs-image-actions {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    top: 8px;
    right: 8px;
  }
}

.bs-image-actions__btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 0;
  background: rgba(15, 15, 15, 0.85);
  color: var(--bs-canvas);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: all 150ms ease;
}

.bs-image-actions__btn:hover {
  background: var(--bs-accent-active);
  transform: scale(1.06);
}

.bs-image-actions__btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

@media (max-width: 991px) {
  .bs-image-actions__btn {
    width: 32px;
    height: 32px;
  }
  .bs-image-actions__btn svg {
    width: 16px;
    height: 16px;
  }
}

/* Zoom hint — text "Click pentru zoom" bottom-right la hover (desktop only) */
.bs-zoom-hint {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(15, 15, 15, 0.78);
  color: var(--bs-canvas);
  padding: 6px 12px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.5px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 6px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: none;
  opacity: 0;
  transition: opacity 220ms ease;
}

.bs-zoom-hint svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.product-summary__main-image-wrapper:hover .bs-zoom-hint {
  opacity: 1;
}

.product-summary__main-image-wrapper.is-zoomed .bs-zoom-hint {
  opacity: 0;
}

@media (hover: none), (max-width: 991px) {
  .bs-zoom-hint {
    display: none !important;
  }
}

/* === LIGHTBOX MODAL === */

.bs-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(15, 15, 15, 0.94);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.bs-lightbox.is-open {
  display: flex;
  animation: bsLightboxFadeIn 220ms ease;
}

@keyframes bsLightboxFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.bs-lightbox__inner {
  position: relative;
  width: 100%;
  max-width: 900px;
  height: 100%;
  max-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bs-lightbox__main {
  background: var(--bs-canvas);
  border-radius: 8px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.bs-lightbox__main img {
  max-width: 90%;
  max-height: 90%;
  width: auto;
  height: auto;
  display: block;
  filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.4));
  user-select: none;
  -webkit-user-drag: none;
}

.bs-lightbox__close {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  background: white;
  color: var(--bs-ink);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(40, 30, 15, 0.08);
  z-index: 2;
  transition: all 150ms ease;
}

.bs-lightbox__close:hover {
  background: var(--bs-accent-active);
  color: white;
  transform: rotate(90deg);
}

.bs-lightbox__close svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.5;
}

.bs-lightbox__counter {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(243, 228, 208, 0.85);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 600;
}

.bs-lightbox__nav {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  pointer-events: none;
}

.bs-lightbox__nav-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: rgba(243, 228, 208, 0.12);
  color: var(--bs-canvas);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: all 150ms ease;
}

.bs-lightbox__nav-btn:hover {
  background: var(--bs-accent-active);
  transform: scale(1.06);
}

.bs-lightbox__nav-btn svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.5;
}

.bs-lightbox__nav-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.bs-lightbox__thumbs {
  position: absolute;
  bottom: -90px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  max-width: 90vw;
  overflow-x: auto;
  scrollbar-width: none;
}

.bs-lightbox__thumbs::-webkit-scrollbar {
  display: none;
}

.bs-lightbox__thumb {
  width: 48px;
  height: 48px;
  background: rgba(243, 228, 208, 0.12);
  border-radius: 4px;
  border: 2px solid transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 150ms ease;
  flex-shrink: 0;
  padding: 4px;
}

.bs-lightbox__thumb img {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.bs-lightbox__thumb.is-active {
  border-color: var(--bs-accent-active);
  background: rgba(243, 228, 208, 0.2);
}

@media (max-width: 575px) {
  .bs-lightbox {
    padding: 12px;
  }
  .bs-lightbox__inner {
    max-height: 70vh;
  }
  .bs-lightbox__close {
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
  }
  .bs-lightbox__nav-btn {
    width: 40px;
    height: 40px;
  }
  .bs-lightbox__thumbs {
    bottom: -70px;
  }
  .bs-lightbox__thumb {
    width: 40px;
    height: 40px;
  }
  .bs-lightbox__counter {
    bottom: -28px;
  }
}

/* Body lock când lightbox e deschis */
body.bs-lightbox-open {
  overflow: hidden !important;
}

/* ======================================================================
   38. L2 — GALERIE THUMBS POLISH + COUNTER (Etapa 2.3 final)
   Scot stroke exterior, las border simplu pe activ + dot indicator.
   Plus counter "X / N" jos centru pe imaginea principala.
   ====================================================================== */

/* Splide slide — fara outline/border/box-shadow extern */
.product-summary__thumbnails .splide__slide,
.product-summary__thumbnails .splide__slide.is-active,
.product-summary__thumbnails .splide__slide:focus,
.product-summary__thumbnails .splide__slide:focus-visible {
  outline: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Active thumb — DOAR border accent simplu */
.product-summary__thumbnails .splide__slide.is-active .product-summary__thumb-image-wrapper,
.product-summary__thumb-image-wrapper.is-active {
  border: 2px solid var(--bs-accent-active) !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Dot indicator pe activ */
.product-summary__thumbnails .splide__slide.is-active .product-summary__thumb-image-wrapper::after,
.product-summary__thumb-image-wrapper.is-active::after {
  content: "" !important;
  position: absolute !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--bs-accent-active) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 2px white !important;
  pointer-events: none !important;
  display: block !important;
}

@media (min-width: 992px) {
  .product-summary__images--ttb .splide__slide.is-active .product-summary__thumb-image-wrapper::after,
  .product-summary__images--ttb .product-summary__thumb-image-wrapper.is-active::after {
    left: auto !important;
    right: -8px !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
  }
}

@media (max-width: 991px) {
  .product-summary__thumbnails .splide__slide.is-active .product-summary__thumb-image-wrapper::after,
  .product-summary__thumb-image-wrapper.is-active::after {
    left: 50% !important;
    bottom: -8px !important;
    top: auto !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* Splide list overflow visible — pentru dot indicator vizibil afara */
.product-summary__thumbnails .splide__list,
.product-summary__thumbnails .splide__track,
.product-summary__thumbnails .splide {
  overflow: visible !important;
}

/* === GALLERY COUNTER pe main image wrapper === */

.bs-gallery-counter {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(15, 15, 15, 0.78);
  color: var(--bs-canvas);
  padding: 4px 12px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  z-index: 3;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: none;
  user-select: none;
}

/* Dispar counter cand zoom activ pe imagine */
.product-summary__main-image-wrapper.is-zoomed .bs-gallery-counter {
  opacity: 0;
  transition: opacity 150ms ease;
}

/* ======================================================================
   39. L2 — ETAPA 2.4 v4 CONSOLIDAT: STYLING CARDS PRODUS
   Card .product.product--grid (homepage + listing). Imagine centrată,
   badges, hover lift, brand variant Telescopika cu pin.
   ====================================================================== */

/* === SECTION HEADING === */
.widget-products-grid {
  padding: 32px 0 !important;
}

.widget-header {
  margin-bottom: 20px !important;
}

/* === SECTION HEADING — eyebrow + h2 + subtitle (text injectat prin pseudo) === */

.widget-products-grid__heading {
  position: relative !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-decoration: none !important;
  font-size: 0 !important; /* hide span text default styling artifact */
}

/* Eyebrow text "POATE ITI PLACE SI" — pseudo before */
.widget-products-grid__heading::before {
  content: "Poate îți place și";
  display: block;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--bs-accent-active) !important;
  margin-bottom: 6px !important;
  line-height: 1 !important;
}

/* Span interior — heading text mare uppercase */
.widget-products-grid__heading span {
  display: block !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  text-transform: uppercase !important;
  letter-spacing: -0.3px !important;
  color: var(--bs-ink) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  border: 0 !important;
  text-decoration: none !important;
}

/* Subtitle "Selectie mixta..." — pseudo after */
.widget-products-grid__heading::after {
  content: "Selecție mixtă: alte sprayuri Bear Stopper și echipament complementar Telescopika";
  display: block;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--bs-gray-600) !important;
  margin-top: 6px !important;
  line-height: 1.5 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.widget-products-grid {
  padding: 32px 0 !important;
}

.widget-header {
  margin-bottom: 20px !important;
  text-align: left !important;
}

/* === PRODUCT CARD === */
.product.product--grid,
.products-grid .product {
  background: white !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-shadow: 0 1px 3px rgba(40, 30, 15, 0.04) !important;
  transition: transform var(--t-base), box-shadow var(--t-base);
  position: relative !important;
  border: 1px solid transparent !important;
}

.product.product--grid:hover,
.products-grid .product:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--bs-canvas-deep) !important;
}

.product.product--grid::before {
  content: "" !important;
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--bs-accent-active);
  z-index: 2;
  opacity: 0;
  transition: opacity var(--t-base);
  pointer-events: none;
}

.product.product--grid:hover::before {
  opacity: 1;
}

/* === GRID IMAGE container === */
.grid-image {
  position: relative !important;
  background: white !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}

/* === LINK wrapper — absolute, flex center === */
.grid-image .grid-image__link {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
  text-align: center !important;
}

/* === SPAN wrapper — flex container intern, ocupa tot, aspect 1:1 === */
.grid-image__image-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  flex-shrink: 0 !important;
}

/* === IMG centrat in wrapper, fit content === */
.grid-image__image-wrapper img,
.grid-image img {
  max-width: 90% !important;
  max-height: 90% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
  flex: 0 0 auto !important;
  transition: transform 320ms ease;
  ffilter: none !important;
}

.product.product--grid:hover .grid-image img {
  transform: scale(1.06);
}

/* === IMAGE BADGES (LEFT) === */
.grid-image__badges--left {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  z-index: 3 !important;
  pointer-events: none;
}

.grid-image__badges--left .grid-image__badge {
  font-family: var(--font-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  color: white !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
}

.grid-image__badge--new {
  background: var(--bs-pine) !important;
  color: white !important;
  font-size: 9px !important;
  padding: 4px 9px !important;
  letter-spacing: 0.6px !important;
}

.grid-image__badge--free-shipping,
.grid-image__badge--free_shipping {
  background: #2F7D4F !important;
  color: white !important;
}

/* Bundle / promo-discount cu text BUNDLE adaugat */
.grid-image__badge--promo-discount,
.grid-image__badge--promo_discount,
.grid-image__badge--promo-bundle,
.grid-image__badge--promo_bundle,
.grid-image__badge--bundle {
  background: var(--bs-ink) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 9px !important;
  font-size: 9px !important;
  font-family: var(--font-mono) !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: white !important;
  border-radius: 999px !important;
}

.grid-image__badge--promo-discount::after,
.grid-image__badge--promo_discount::after,
.grid-image__badge--promo-bundle::after,
.grid-image__badge--promo_bundle::after,
.grid-image__badge--bundle::after {
  content: "BUNDLE";
}

.grid-image__badge--promo-discount svg,
.grid-image__badge--promo_discount svg,
.grid-image__badge--promo-bundle svg,
.grid-image__badge--promo_bundle svg,
.grid-image__badge--bundle svg {
  width: 11px !important;
  height: 11px !important;
  stroke: var(--bs-amber-light) !important;
  fill: none !important;
  stroke-width: 2 !important;
  flex-shrink: 0 !important;
}

/* === IMAGE BADGES (RIGHT) — discount, +50% mai mare === */
.grid-image__badges--right {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  z-index: 3 !important;
  pointer-events: none;
}

.grid-image__badge--price-discount,
.grid-image__badge--price_discount {
  background: var(--bs-discount) !important;
  color: var(--bs-discount-text) !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  letter-spacing: 0.4px !important;
  box-shadow: 0 2px 6px rgba(242, 165, 22, 0.40) !important;
}

@media (max-width: 575px) {
  .grid-image__badge--price-discount,
  .grid-image__badge--price_discount {
    font-size: 13px !important;
    padding: 4px 10px !important;
  }
}

/* === PRODUCT DATA === */
.product--grid .product__data,
.products-grid .product__data {
  padding: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  gap: 6px !important;
}

.product__category,
.product__categories,
.product--grid .product__info--category {
  font-family: var(--font-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--bs-accent-active) !important;
  margin: 0 !important;
}

.product__name,
.product--grid .product__name {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--bs-ink) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.7em !important;
}

.product__name a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color var(--t-fast);
}

.product__name a:hover {
  color: var(--bs-accent-active) !important;
}

/* === RATING === */
.product__rating-count {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  color: var(--bs-gray-500) !important;
  margin-left: 4px !important;
}

/* === PRICE === */
.product--grid .product__info--price-gross,
.product--grid .product__price-now {
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--bs-ink) !important;
  letter-spacing: -0.3px !important;
  line-height: 1 !important;
}

.product--grid .product__info--old-price-gross,
.product--grid .product__price-old {
  font-size: 11px !important;
  color: var(--bs-gray-400) !important;
  text-decoration: line-through !important;
}

/* === ADD TO CART === */
.product--grid .product__add-to-cart,
.product--grid .product__actions .btn,
.product--grid .product__action--add-to-cart .btn {
  width: 100% !important;
  background: var(--bs-accent-active) !important;
  color: white !important;
  border: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 10px 12px !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer !important;
  transition: var(--t-fast);
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}

.product--grid .product__add-to-cart:hover,
.product--grid .product__action--add-to-cart .btn:hover {
  background: var(--bs-accent-active-dark) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-cta);
}

/* === Brand variant Telescopika — pin theme === */
.product.product--grid.is-telescopika::before {
  background: var(--bs-pine) !important;
}

.product.product--grid.is-telescopika .product__category {
  color: var(--bs-pine) !important;
}

.product.product--grid.is-telescopika .product__add-to-cart,
.product.product--grid.is-telescopika .product__action--add-to-cart .btn {
  background: var(--bs-pine) !important;
}

.product.product--grid.is-telescopika .product__add-to-cart:hover {
  background: var(--bs-pine-dark) !important;
}

.product.product--grid.is-telescopika .product__name a:hover {
  color: var(--bs-pine) !important;
}

/* === Out of stock state === */
.product.product--grid:has(.product__add-to-cart.disabled),
.product.product--grid:has(.product__add-to-cart[disabled]) {
  opacity: 0.7;
}

.product__add-to-cart.disabled,
.product__add-to-cart[disabled] {
  background: var(--bs-gray-300) !important;
  color: var(--bs-gray-600) !important;
  cursor: not-allowed !important;
}

.product__add-to-cart.disabled:hover {
  background: var(--bs-gray-300) !important;
  transform: none !important;
}

/* === FIX FINAL CENTRARE IMAGINE — block wrapper 80% + object-fit === */

/* <a> link wrapper — flex center, centreaza span-ul interior */
.grid-image .grid-image__link {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Span wrapper — block 80%x80%, pătrat, centrat auto in <a> flex */
.grid-image__image-wrapper {
  display: block !important;
  width: 80% !important;
  height: 80% !important;
  aspect-ratio: 1 / 1 !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

/* Img — fill 100% al wrapper, object-fit contain centrat */
.grid-image__image-wrapper img,
.grid-image .grid-image__link > img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ascund butonul favorite pe cards (NU pe pagina produs) */
.grid-image__save-wishlist,
.grid-image__actions {
  display: none !important;
}

/* ======================================================================
   40. L2 — ETAPA 2.5 v4: BUNDLE CARD MINIMAL (fara header, CTA in summary)
   Width 100%, card direct fara wrapper section, CTA in chenarul TOTAL.
   ====================================================================== */

.product-summary__info--bogo {
	max-width: 100% !important;
	width: 100% !important;
	margin: 24px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

/* === Bundle Card === */
.bs-bundle-card {
	background: white;
	border-radius: var(--radius-md);
	border: 1.5px solid var(--bs-canvas-deep);
	padding: 20px;
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1.2fr;
	gap: 12px;
	align-items: stretch;
	margin-bottom: 16px;
}

.bs-bundle-card:last-child {
	margin-bottom: 0;
}

/* === Bundle Product === */
.bs-bundle-product {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	padding: 8px 4px;
}

.bs-bundle-product__image {
	width: 110px;
	height: 110px;
	background: white;
	border-radius: var(--radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}

.bs-bundle-product__image img {
	max-width: 90%;
	max-height: 90%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.bs-bundle-product__brand {
	font-family: var(--font-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--bs-accent-active);
	margin: 0;
}

.bs-bundle-product__name {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 500;
	color: var(--bs-ink);
	line-height: 1.3;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
	max-width: 160px;
}

.bs-bundle-product__price {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 700;
	color: var(--bs-ink);
	margin: 0;
}

.bs-bundle-product__price-old {
	font-size: 11px;
	color: var(--bs-gray-400);
	text-decoration: line-through;
	margin-left: 4px;
	font-weight: 400;
}

/* === Connector === */
.bs-bundle-connector {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	flex-shrink: 0;
}

.bs-bundle-connector::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 1.5px;
	background: linear-gradient(to right, transparent 0%, var(--bs-accent-active) 25%, var(--bs-accent-active) 75%, transparent 100%);
	opacity: 0.6;
}

.bs-bundle-connector__icon {
	position: relative;
	z-index: 2;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: white;
	border: 1.5px solid var(--bs-accent-active);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bs-accent-active);
}

.bs-bundle-connector__icon svg {
	width: 14px;
	height: 14px;
}

/* === Summary cu CTA inside === */
.bs-bundle-summary {
	background: var(--bs-canvas-warm);
	border-radius: var(--radius-sm);
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	align-items: stretch;
	border: 1px solid var(--bs-canvas-deep);
	text-align: center;
}

.bs-bundle-summary__label {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--bs-gray-500);
	font-weight: 600;
	margin: 0;
}

.bs-bundle-summary__price {
	font-family: var(--font-body);
	font-size: 24px;
	font-weight: 700;
	color: var(--bs-ink);
	line-height: 1;
	letter-spacing: -0.4px;
	margin: 0;
}

.bs-bundle-summary__price-old {
	font-size: 13px;
	color: var(--bs-gray-400);
	text-decoration: line-through;
	margin: 0;
}

.bs-bundle-summary__save {
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: #2F7D4F;
	background: rgba(47, 125, 79, 0.1);
	padding: 3px 8px;
	border-radius: 999px;
	margin: 4px auto 0;
	display: inline-block;
	width: fit-content;
}

/* === CTA Inside Summary === */
.bs-bundle-summary .bs-bundle-cta {
	background: var(--bs-accent-active) !important;
	color: white !important;
	border: 0;
	padding: 12px 18px;
	border-radius: var(--radius-sm);
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: var(--t-fast);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 10px;
	text-decoration: none !important;
	width: 100%;
}

.bs-bundle-summary .bs-bundle-cta:hover {
	background: var(--bs-accent-active-dark) !important;
	transform: translateY(-1px);
	color: white !important;
}

.bs-bundle-summary .bs-bundle-cta svg {
	width: 14px;
	height: 14px;
}

/* === Mobile === */
@media (max-width: 767px) {
	.bs-bundle-card {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	
	.bs-bundle-connector {
		width: auto;
		height: 36px;
		transform: rotate(90deg);
	}
	
	.bs-bundle-connector::before {
		left: 50%;
		right: auto;
		top: 0;
		bottom: 0;
		width: 1.5px;
		height: 100%;
		background: linear-gradient(to bottom, transparent 0%, var(--bs-accent-active) 25%, var(--bs-accent-active) 75%, transparent 100%);
	}
}

/* === Tabs nav-link MAI MARE pe desktop (+50%) === */
@media (min-width: 992px) {
	.product-content__tabs .nav-link {
		font-size: 21px !important;
		letter-spacing: 1.6px !important;
		padding: 18px 26px !important;
	}
}
/* === Padding uniform pe imaginea principal galerie produs === */
.product-summary__main-image-wrapper {
	padding: 5% !important;
	box-sizing: border-box !important;
}

/* === Force aspect 1:1 pe wrapper imagine principal — fara spatiu vertical === */

.product-summary__main-images {
	aspect-ratio: 1 / 1 !important;
	width: 100% !important;
	height: auto !important;
}

.product-summary__main-image-wrapper {
	aspect-ratio: 1 / 1 !important;
	width: 100% !important;
	height: auto !important;
	max-height: 100% !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.product-summary__main-image-wrapper figure {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.product-summary__main-image-wrapper img,
.product-summary__main-image-wrapper .product-summary__main-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
	max-width: 100% !important;
	max-height: 100% !important;
}

/* Splide slider intern — height = wrapper, NU full container */
.product-summary__main-images > .splide,
.product-summary__main-images .splide__track,
.product-summary__main-images .splide__list,
.product-summary__main-images .splide__slide {
	height: 100% !important;
	max-height: 100% !important;
}

/* === Galerie match heightul coloanei dreapta (stretch dynamic) === */
@media (min-width: 992px) {
	.product-summary {
		align-items: stretch !important;
	}

	.product-summary__images {
		height: 100% !important;
		display: flex !important;
		flex-direction: column !important;
	}

	.product-summary__main-images {
		aspect-ratio: auto !important;
		flex: 1 1 auto !important;
		width: 100% !important;
		min-height: 0 !important;
	}

	.product-summary__main-image-wrapper {
		aspect-ratio: auto !important;
		width: 100% !important;
		height: 100% !important;
	}

	.product-summary__main-images > .splide,
	.product-summary__main-images .splide__track,
	.product-summary__main-images .splide__list,
	.product-summary__main-images .splide__slide {
		height: 100% !important;
	}

	/* Image fit content în container dynamic */
	.product-summary__main-image-wrapper img,
	.product-summary__main-image-wrapper .product-summary__main-image {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
		object-position: center center !important;
	}

	/* Thumbs vertical — height match container */
	.product-summary__images--ttb .product-summary__thumbnails {
		max-height: 100% !important;
		height: auto !important;
	}
}

/* === Force product-summary la grid + stretch (specificity max) === */
@media (min-width: 992px) {
	section.product-summary,
	section.product-summary--product-details,
	.product-summary--product-details,
	div.product-summary {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 32px !important;
		align-items: stretch !important;
	}

	section.product-summary > .product-summary__images,
	section.product-summary > .product-summary__details {
		width: 100% !important;
		max-width: 100% !important;
		flex: none !important;
		min-width: 0 !important;
		height: 100% !important;
	}

	/* Galerie internal — fill heightul column */
	.product-summary__images {
		display: flex !important;
		flex-direction: column !important;
	}

	.product-summary__main-images {
		aspect-ratio: auto !important;
		flex: 1 1 auto !important;
		min-height: 0 !important;
		height: 100% !important;
		width: 100% !important;
	}

	.product-summary__main-image-wrapper {
		aspect-ratio: auto !important;
		width: 100% !important;
		height: 100% !important;
	}

	.product-summary__main-images > .splide,
	.product-summary__main-images .splide__track,
	.product-summary__main-images .splide__list,
	.product-summary__main-images .splide__slide {
		height: 100% !important;
	}

	.product-summary__main-image-wrapper img,
	.product-summary__main-image-wrapper .product-summary__main-image {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
		object-position: center center !important;
	}

	/* Thumbs vertical TTB — allow scroll if depasesc */
	.product-summary__images.product-summary__images--ttb .product-summary__thumbnails {
		max-height: 100% !important;
		overflow-y: auto !important;
	}
}

/* ============================================
   SECTION 41: STICKY CART MOBILE
   ============================================ */

/* Hidden by default - shown only on mobile + scroll */
.bs-sticky-cart {
	display: none;
}

@media (max-width: 991.98px) {
	.bs-sticky-cart {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 1040;
		background: #ffffff;
		box-shadow: 0 -8px 24px rgba(20, 16, 12, 0.12);
		transform: translateY(100%);
		transition: transform 280ms cubic-bezier(0.32, 0.72, 0, 1);
		will-change: transform;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid rgba(20, 16, 12, 0.06);
		pointer-events: none;
	}

	.bs-sticky-cart.is-visible {
		transform: translateY(0);
		pointer-events: auto;
	}

	.bs-sticky-cart__inner {
		display: flex;
		align-items: center;
		gap: 10px;
		max-width: 100%;
	}

	/* Thumbnail */
	.bs-sticky-cart__image {
		flex: 0 0 48px;
		width: 48px;
		height: 48px;
		border-radius: 8px;
		overflow: hidden;
		background: #f4f1eb;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.bs-sticky-cart__image img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		display: block;
	}

	/* Info: nume + pret */
	.bs-sticky-cart__info {
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 2px;
	}

	.bs-sticky-cart__name {
		font-size: 13px;
		font-weight: 600;
		line-height: 1.3;
		color: #1a1614;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}

	.bs-sticky-cart__price {
		display: flex;
		align-items: baseline;
		gap: 6px;
		font-size: 13px;
		line-height: 1.2;
	}

	.bs-sticky-cart__price-old {
		color: rgba(20, 16, 12, 0.42);
		text-decoration: line-through;
		font-size: 11px;
		font-weight: 500;
	}

	.bs-sticky-cart__price-current {
		color: #1a1614;
		font-weight: 700;
		font-size: 14px;
	}

	/* CTA button */
	.bs-sticky-cart__cta {
		flex: 0 0 auto;
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 11px 16px;
		border: none;
		border-radius: 999px;
		background: #A0432B; /* Bear Stopper amber - default */
		color: #ffffff;
		font-size: 13px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.4px;
		cursor: pointer;
		transition: background-color 160ms ease, transform 120ms ease;
		white-space: nowrap;
		line-height: 1;
		text-decoration: none;
		font-family: inherit;
	}

	.bs-sticky-cart__cta:hover,
	.bs-sticky-cart__cta:focus {
		background: #8a3622;
		color: #ffffff;
		text-decoration: none;
	}

	.bs-sticky-cart__cta:active {
		transform: scale(0.97);
	}

	.bs-sticky-cart__cta.is-disabled,
	.bs-sticky-cart__cta:disabled {
		background: rgba(20, 16, 12, 0.18);
		color: rgba(20, 16, 12, 0.55);
		cursor: not-allowed;
		opacity: 1;
	}

	.bs-sticky-cart__cta-icon {
		display: inline-flex;
		align-items: center;
	}

	/* Telescopika theme - pin verde */
	.bs-sticky-cart.is-telescopika .bs-sticky-cart__cta {
		background: #2D4A47;
	}

	.bs-sticky-cart.is-telescopika .bs-sticky-cart__cta:hover,
	.bs-sticky-cart.is-telescopika .bs-sticky-cart__cta:focus {
		background: #1f3835;
	}

	/* Padding pe body cand sticky e vizibil - evita ascunderea continutului */
	body.has-bs-sticky-cart {
		padding-bottom: 76px;
	}

	/* Daca exista alte bare sticky existente in MerchantPro, le impingem in sus */
	body.has-bs-sticky-cart .floating-actions,
	body.has-bs-sticky-cart .back-to-top,
	body.has-bs-sticky-cart [data-back-to-top] {
		bottom: calc(76px + env(safe-area-inset-bottom, 0px) + 12px) !important;
	}
}

/* Pe ecrane mai inguste (sub 380px), reduce padding-uri */
@media (max-width: 379.98px) {
	.bs-sticky-cart {
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
	}

	.bs-sticky-cart__image {
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
	}

	.bs-sticky-cart__cta {
		padding: 10px 12px;
		font-size: 12px;
		gap: 4px;
	}

	.bs-sticky-cart__cta-icon svg {
		width: 16px;
		height: 16px;
	}
}

/* Hide pe desktop - safety */
@media (min-width: 992px) {
	.bs-sticky-cart {
		display: none !important;
	}
}
/* ============================================
   SECTION 42: PAGINA CATALOG - HEADING AREA
   ============================================ */

/* Heading area cu gradient bg */
.page--catalog-products .page__aside-head {
	background: linear-gradient(180deg, #FAF6EE 0%, #F4EFE3 100%);
	padding: 28px 24px 24px;
	border-radius: 14px;
	border: 1px solid rgba(20, 16, 12, 0.06);
	margin-bottom: 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-start;
}

/* H1 catalog - Oswald uppercase */
.page--catalog-products .page__heading {
	font-family: 'Oswald', 'Inter', system-ui, sans-serif;
	font-size: clamp(24px, 3.4vw, 38px);
	text-transform: uppercase;
	letter-spacing: -0.3px;
	color: #1a1614;
	font-weight: 600;
	line-height: 1.1;
	margin: 0;
	width: 100%;
}

/* Description category / brand summary in heading area */
.page--catalog-products .category-summary,
.page--catalog-products .brand-summary {
	font-size: 14px;
	color: #5A554E;
	line-height: 1.6;
	max-width: 680px;
	margin: 0;
}

.page--catalog-products .category-summary__description,
.page--catalog-products .brand-summary__description {
	font-size: 14px;
	color: #5A554E;
	line-height: 1.6;
	margin: 0;
}

/* Theme: Telescopika - subtle pin tint */
body.theme--telescopika .page--catalog-products .page__aside-head {
	background: linear-gradient(180deg, #F2EEE8 0%, #E8E2D8 100%);
	border-color: rgba(45, 74, 71, 0.08);
}

/* Mobile: heading mai compact */
@media (max-width: 767.98px) {
	.page--catalog-products .page__aside-head {
		padding: 20px 16px;
		margin-bottom: 16px;
		border-radius: 10px;
	}
}


/* ============================================
   SECTION 43: PAGINA CATALOG - SIDEBAR FILTRE
   ============================================ */

/* Sidebar wrapper - card alb sticky */
.page--catalog-products .facets-sidebar {
	background: #ffffff;
	border-radius: 14px;
	border: 1px solid rgba(20, 16, 12, 0.08);
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	position: sticky;
	top: 90px;
	align-self: start;
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: rgba(20, 16, 12, 0.2) transparent;
}

.page--catalog-products .facets-sidebar::-webkit-scrollbar {
	width: 4px;
}

.page--catalog-products .facets-sidebar::-webkit-scrollbar-track {
	background: transparent;
}

.page--catalog-products .facets-sidebar::-webkit-scrollbar-thumb {
	background: rgba(20, 16, 12, 0.2);
	border-radius: 10px;
}

/* Form wrapper reset */
.page--catalog-products .facets-sidebar__form {
	margin: 0;
	padding: 0;
}

.page--catalog-products .facets-sidebar__menu {
	display: block;
}

/* Lista facets - flex column */
.page--catalog-products .facets-sidebar__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

/* Facet item - separator subtle intre filtre */
.page--catalog-products .facet {
	border-bottom: 1px solid rgba(20, 16, 12, 0.06);
	padding: 0;
	margin: 0;
}

.page--catalog-products .facet:last-child {
	border-bottom: 0;
}

/* Facet title - header colapsibil cu chevron */
.page--catalog-products .facet__title {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 4px;
	font-family: 'Oswald', 'Inter', sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: #1a1614;
	font-weight: 600;
	transition: color 160ms ease;
	user-select: none;
}

.page--catalog-products .facet__title > span {
	display: flex;
	align-items: center;
	gap: 6px;
	flex: 1;
	min-width: 0;
}

.page--catalog-products .facet__title:hover {
	color: #A0432B;
}

/* Chevron via ::after pe facet title */
.page--catalog-products .facet__title::after {
	content: '';
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A554E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

.page--catalog-products .facet__title[aria-expanded="true"]::after {
	transform: rotate(180deg);
}

.page--catalog-products .facet__title[aria-expanded="true"] {
	color: #A0432B;
}

/* Selected count badge in title */
.page--catalog-products .facet__title-selected-cnt {
	font-family: 'JetBrains Mono', 'Courier New', monospace;
	font-size: 10px;
	font-weight: 700;
	background: #A0432B;
	color: #ffffff;
	padding: 2px 7px;
	border-radius: 999px;
	letter-spacing: 0.4px;
	margin-left: 4px;
}

/* Selected values text - hidden by default (chip-uri active in toolbar) */
.page--catalog-products .facet__title-selected-values {
	display: none;
}

/* Facet content - collapse area */
.page--catalog-products .facet__content {
	padding: 0;
}

.page--catalog-products .facet__content.collapse:not(.show) {
	display: none;
}

.page--catalog-products .facet__content.show {
	display: block;
	padding: 4px 4px 14px;
}

/* Lista optiuni */
.page--catalog-products .facet__options {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

/* Optiune individuala - flex row cu input + link */
.page--catalog-products .facet__option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	font-size: 13px;
	color: #3D3833;
	cursor: pointer;
	list-style: none;
	transition: color 160ms ease;
	position: relative;
}

.page--catalog-products .facet__option:hover {
	color: #A0432B;
}

.page--catalog-products .facet__option > a {
	flex: 1;
	color: inherit;
	text-decoration: none;
	transition: color 160ms ease;
	font-size: 13px;
	line-height: 1.4;
	padding: 0;
}

.page--catalog-products .facet__option:hover > a {
	color: #A0432B;
}

/* Custom CHECKBOX */
.page--catalog-products .facet__option--checkbox > input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 18px;
	height: 18px;
	border: 1.5px solid #d4cfc4;
	border-radius: 4px;
	background: #ffffff;
	cursor: pointer;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	position: relative;
	transition: all 160ms ease;
	outline: none;
	box-shadow: none;
}

.page--catalog-products .facet__option--checkbox > input[type="checkbox"]:hover {
	border-color: #A0432B;
}

.page--catalog-products .facet__option--checkbox > input[type="checkbox"]:checked {
	background: #A0432B;
	border-color: #A0432B;
}

.page--catalog-products .facet__option--checkbox > input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -55%) rotate(45deg);
	width: 5px;
	height: 9px;
	border: solid #ffffff;
	border-width: 0 2px 2px 0;
}

/* Custom RADIO */
.page--catalog-products .facet__option--radio > input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 18px;
	height: 18px;
	border: 1.5px solid #d4cfc4;
	border-radius: 50%;
	background: #ffffff;
	cursor: pointer;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	position: relative;
	transition: all 160ms ease;
	outline: none;
	box-shadow: none;
}

.page--catalog-products .facet__option--radio > input[type="radio"]:hover {
	border-color: #A0432B;
}

.page--catalog-products .facet__option--radio > input[type="radio"]:checked {
	border-color: #A0432B;
	border-width: 1.5px;
}

.page--catalog-products .facet__option--radio > input[type="radio"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 9px;
	height: 9px;
	background: #A0432B;
	border-radius: 50%;
}

/* Active state pentru optiunea selectata */
.page--catalog-products .facet__option--active {
	color: #1a1614;
	font-weight: 500;
}

.page--catalog-products .facet__option--active > a {
	color: #1a1614;
	font-weight: 500;
}

/* Count badge la dreapta optiunii (data-count attribute) */
.page--catalog-products .facet__option[data-count]::after {
	content: attr(data-count);
	font-family: 'JetBrains Mono', 'Courier New', monospace;
	font-size: 10px;
	color: rgba(20, 16, 12, 0.45);
	background: #FAF6EE;
	padding: 2px 7px;
	border-radius: 4px;
	font-weight: 600;
	letter-spacing: 0.3px;
	flex-shrink: 0;
	line-height: 1.4;
}

/* Tree (category facet) - special handling */
.page--catalog-products .facet__options--tree {
	gap: 2px;
}

.page--catalog-products .facet__path,
.page--catalog-products .facet__option--tree {
	padding: 4px 0;
}

.page--catalog-products .facet__path > a,
.page--catalog-products .facet__option--tree > a {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #3D3833;
	text-decoration: none;
	font-size: 13px;
	line-height: 1.4;
	transition: color 160ms ease;
}

.page--catalog-products .facet__path > a:hover,
.page--catalog-products .facet__option--tree > a:hover {
	color: #A0432B;
}

.page--catalog-products .facet__path--active > a,
.page--catalog-products .facet__option--active > a {
	color: #A0432B;
	font-weight: 600;
}

.page--catalog-products .facet__option--tree[data-count] > a::after {
	content: attr(data-count);
	font-family: 'JetBrains Mono', 'Courier New', monospace;
	font-size: 10px;
	color: rgba(20, 16, 12, 0.45);
	background: #FAF6EE;
	padding: 2px 7px;
	border-radius: 4px;
	font-weight: 600;
	letter-spacing: 0.3px;
	margin-left: auto;
}

/* Color/image option overrides */
.page--catalog-products .facet__options--color,
.page--catalog-products .facet__options--image {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
}

.page--catalog-products .facet__option-color {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid #ffffff;
	box-shadow: 0 0 0 1px rgba(20, 16, 12, 0.12);
	display: inline-block;
	cursor: pointer;
	transition: all 160ms ease;
}

.page--catalog-products .facet__option--active .facet__option-color {
	box-shadow: 0 0 0 2px #A0432B;
}

/* Range slider - moneda input + slider */
.page--catalog-products .facet__options--range_slider {
	padding: 8px 4px 12px;
}

.page--catalog-products .filter-slider .slider-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.page--catalog-products .filter-slider .slider-inputs label {
	flex: 1;
	margin: 0;
}

.page--catalog-products .filter-slider .slider-inputs input {
	width: 100%;
	padding: 8px 10px;
	border: 1.5px solid #d4cfc4;
	border-radius: 6px;
	font-size: 12px;
	font-family: 'JetBrains Mono', monospace;
	color: #1a1614;
	background: #ffffff;
	transition: border-color 160ms ease;
}

.page--catalog-products .filter-slider .slider-inputs input:focus {
	border-color: #A0432B;
	outline: none;
}

/* noUI slider - thumb + track recolor */
.page--catalog-products .noUi-target {
	background: #FAF6EE;
	border: 0;
	box-shadow: none;
	height: 4px;
}

.page--catalog-products .noUi-connect {
	background: #A0432B;
}

.page--catalog-products .noUi-handle {
	width: 18px !important;
	height: 18px !important;
	border-radius: 50%;
	background: #ffffff;
	border: 2px solid #A0432B;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	top: -8px !important;
	right: -9px !important;
	cursor: grab;
}

.page--catalog-products .noUi-handle::before,
.page--catalog-products .noUi-handle::after {
	display: none;
}

.page--catalog-products .noUi-handle:active {
	cursor: grabbing;
	transform: scale(1.1);
}

/* Telescopika theme - schimbare amber -> pin pe tot sidebar */
body.theme--telescopika .page--catalog-products .facet__title:hover,
body.theme--telescopika .page--catalog-products .facet__title[aria-expanded="true"],
body.theme--telescopika .page--catalog-products .facet__option:hover,
body.theme--telescopika .page--catalog-products .facet__option:hover > a,
body.theme--telescopika .page--catalog-products .facet__path--active > a,
body.theme--telescopika .page--catalog-products .facet__option--active > a {
	color: #2D4A47;
}

body.theme--telescopika .page--catalog-products .facet__title-selected-cnt {
	background: #2D4A47;
}

body.theme--telescopika .page--catalog-products .facet__option--checkbox > input[type="checkbox"]:hover,
body.theme--telescopika .page--catalog-products .facet__option--radio > input[type="radio"]:hover {
	border-color: #2D4A47;
}

body.theme--telescopika .page--catalog-products .facet__option--checkbox > input[type="checkbox"]:checked {
	background: #2D4A47;
	border-color: #2D4A47;
}

body.theme--telescopika .page--catalog-products .facet__option--radio > input[type="radio"]:checked {
	border-color: #2D4A47;
}

body.theme--telescopika .page--catalog-products .facet__option--radio > input[type="radio"]:checked::after {
	background: #2D4A47;
}

body.theme--telescopika .page--catalog-products .filter-slider .slider-inputs input:focus {
	border-color: #2D4A47;
}

body.theme--telescopika .page--catalog-products .noUi-connect {
	background: #2D4A47;
}

body.theme--telescopika .page--catalog-products .noUi-handle {
	border-color: #2D4A47;
}

/* Mobile: sidebar non-sticky */
@media (max-width: 991.98px) {
	.page--catalog-products .facets-sidebar {
		position: static;
		max-height: none;
		overflow-y: visible;
	}
}
/* ============================================
   SECTION 44: PAGINA CATALOG - TOOLBAR ACTIUNI
   ============================================ */

/* Wrapper toolbar - card alb cu border */
.page--catalog-products .catalog-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 14px 18px;
	background: #ffffff;
	border-radius: 12px;
	border: 1px solid rgba(20, 16, 12, 0.08);
	margin-bottom: 18px;
}

/* Mobile facets toggle - hidden pe desktop */
.page--catalog-products .facets-toggle {
	display: none;
}

/* Sort view - "Sorteaza" + dropdown */
.page--catalog-products .sort-view {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
	flex: 0 0 auto;
}

.page--catalog-products .sort-view__label {
	font-size: 12px;
	color: #5A554E;
	font-weight: 500;
	margin: 0;
	white-space: nowrap;
	letter-spacing: 0.2px;
}

/* Custom select - dropdown sortare */
.page--catalog-products .sort-view__options.form-select,
.page--catalog-products select.sort-view__options {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;

	font-family: 'Inter', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #1a1614;

	padding: 9px 34px 9px 14px;
	border: 1.5px solid rgba(20, 16, 12, 0.18);
	border-radius: 8px;
	background: #ffffff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A554E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 10px center;
	cursor: pointer;
	transition: border-color 160ms ease, box-shadow 160ms ease;
	line-height: 1.4;
	box-shadow: none;
	min-width: 180px;
	height: auto;
}

.page--catalog-products .sort-view__options.form-select:hover {
	border-color: #A0432B;
}

.page--catalog-products .sort-view__options.form-select:focus {
	border-color: #A0432B;
	outline: none;
	box-shadow: 0 0 0 3px rgba(160, 67, 43, 0.12);
}

/* Switch view (grid/list toggle) - daca e activ */
.page--catalog-products .switch-view {
	display: inline-flex;
	gap: 4px;
	padding: 3px;
	background: #FAF6EE;
	border-radius: 8px;
}

.page--catalog-products .switch-view a,
.page--catalog-products .switch-view button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 6px;
	border: 0;
	background: transparent;
	color: #5A554E;
	cursor: pointer;
	transition: all 160ms ease;
	text-decoration: none;
}

.page--catalog-products .switch-view a:hover,
.page--catalog-products .switch-view button:hover {
	background: rgba(160, 67, 43, 0.08);
	color: #A0432B;
}

.page--catalog-products .switch-view a.active,
.page--catalog-products .switch-view .active,
.page--catalog-products .switch-view button.active {
	background: #ffffff;
	color: #1a1614;
	box-shadow: 0 1px 3px rgba(20, 16, 12, 0.08);
}

/* Telescopika theme */
body.theme--telescopika .page--catalog-products .sort-view__options.form-select:hover,
body.theme--telescopika .page--catalog-products .sort-view__options.form-select:focus {
	border-color: #2D4A47;
}

body.theme--telescopika .page--catalog-products .sort-view__options.form-select:focus {
	box-shadow: 0 0 0 3px rgba(45, 74, 71, 0.12);
}

body.theme--telescopika .page--catalog-products .switch-view a:hover,
body.theme--telescopika .page--catalog-products .switch-view button:hover {
	background: rgba(45, 74, 71, 0.08);
	color: #2D4A47;
}


/* ============================================
   SECTION 45: PAGINA CATALOG - PAGINATION
   ============================================ */

.page--catalog-products .pagination {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 32px 0 12px;
	flex-wrap: wrap;
}

/* "Afisezi X din Y" text */
.page--catalog-products .pagination__summary {
	font-family: 'JetBrains Mono', 'Courier New', monospace;
	font-size: 11px;
	color: #5A554E;
	letter-spacing: 0.4px;
	text-align: center;
}

/* Links wrapper - prev + pages + next */
.page--catalog-products .pagination__links {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: center;
}

/* Pages list (ul) */
.page--catalog-products .pagination__pages {
	display: flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

/* Page item (li) - butoane */
.page--catalog-products .pagination__page-item,
.page--catalog-products .pagination__page-item > a,
.page--catalog-products .pagination__page-item > span {
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid rgba(20, 16, 12, 0.15);
	background: #ffffff;
	color: #3D3833;
	border-radius: 8px;
	font-family: 'JetBrains Mono', 'Courier New', monospace;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: all 160ms ease;
	cursor: pointer;
	box-sizing: border-box;
}

/* Reset li to be just a wrapper - styling moves to a/span */
.page--catalog-products .pagination__page-item {
	border: 0;
	padding: 0;
	min-width: 0;
	height: auto;
	background: transparent;
}

.page--catalog-products .pagination__page-item > a:hover {
	border-color: #A0432B;
	color: #A0432B;
	background: #ffffff;
}

/* Active page */
.page--catalog-products .pagination__page-item--active > span,
.page--catalog-products .pagination__page-item.active > a {
	background: #1a1614;
	color: #FAF6EE;
	border-color: #1a1614;
	cursor: default;
}

/* Ellipsis "..." */
.page--catalog-products .pagination__page-item--disabled > span {
	border: 0;
	color: rgba(20, 16, 12, 0.3);
	background: transparent;
	min-width: 24px;
	cursor: default;
}

/* Arrows prev/next */
.page--catalog-products .pagination__arrow {
	display: inline-flex;
}

.page--catalog-products .pagination__arrow > a,
.page--catalog-products .pagination__arrow > span {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid rgba(20, 16, 12, 0.15);
	background: #ffffff;
	color: #3D3833;
	border-radius: 8px;
	transition: all 160ms ease;
	text-decoration: none;
	cursor: pointer;
}

.page--catalog-products .pagination__arrow > a:hover {
	border-color: #A0432B;
	color: #A0432B;
}

.page--catalog-products .pagination__arrow--disabled > span {
	opacity: 0.4;
	cursor: not-allowed;
}

.page--catalog-products .pagination__arrow svg,
.page--catalog-products .pagination__arrow .icon {
	width: 14px;
	height: 14px;
}

/* Telescopika theme */
body.theme--telescopika .page--catalog-products .pagination__page-item > a:hover,
body.theme--telescopika .page--catalog-products .pagination__arrow > a:hover {
	border-color: #2D4A47;
	color: #2D4A47;
}

body.theme--telescopika .page--catalog-products .pagination__page-item--active > span,
body.theme--telescopika .page--catalog-products .pagination__page-item.active > a {
	background: #1a1614;
	color: #FAF6EE;
	border-color: #1a1614;
}


/* ============================================
   SECTION 46: PAGINA CATALOG - MOBILE
   ============================================ */

@media (max-width: 991.98px) {

	/* Toolbar mobile - facets toggle vizibil */
	.page--catalog-products .catalog-actions {
		flex-wrap: wrap;
		gap: 10px;
		padding: 12px 14px;
	}

	.page--catalog-products .facets-toggle {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 10px 14px;
		background: #ffffff;
		border: 1.5px solid rgba(20, 16, 12, 0.15);
		border-radius: 8px;
		cursor: pointer;
		font-family: 'Oswald', 'Inter', sans-serif;
		font-size: 12px;
		text-transform: uppercase;
		letter-spacing: 1px;
		font-weight: 600;
		color: #1a1614;
		transition: all 160ms ease;
		flex: 0 0 auto;
	}

	.page--catalog-products .facets-toggle:hover,
	.page--catalog-products .facets-toggle.is-active {
		border-color: #A0432B;
		color: #A0432B;
	}

	.page--catalog-products .facets-toggle__label {
		font-size: 12px;
	}

	.page--catalog-products .facets-toggle__counter {
		background: #A0432B;
		color: #ffffff;
		padding: 2px 7px;
		border-radius: 999px;
		font-size: 10px;
		font-weight: 700;
		font-family: 'JetBrains Mono', 'Courier New', monospace;
		min-width: 20px;
		text-align: center;
	}

	/* Sort wrapper - flex 1 ca sa ocupe spatiu disponibil */
	.page--catalog-products .sort-view {
		margin-left: auto;
	}

	.page--catalog-products .sort-view__options.form-select {
		min-width: 140px;
		font-size: 12px;
		padding: 8px 30px 8px 12px;
	}

	/* Sidebar pe mobile - hidden by default, devine drawer slide-up */
	.page--catalog-products .facets-sidebar {
		display: none;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: auto;
		max-height: 80vh;
		max-width: 100%;
		z-index: 1050;
		border-radius: 18px 18px 0 0;
		border: 0;
		box-shadow: 0 -8px 32px rgba(20, 16, 12, 0.18);
		padding: 24px 18px 18px;
		overflow-y: auto;
		animation: bsSlideUp 320ms cubic-bezier(0.32, 0.72, 0, 1);
	}

	/* Cand body are clasa .filter-open (sau sidebar are .is-open / show) */
	body.filter-open .page--catalog-products .facets-sidebar,
	body.show-filters .page--catalog-products .facets-sidebar,
	.page--catalog-products .facets-sidebar.is-open,
	.page--catalog-products .facets-sidebar.show {
		display: block;
	}

	/* Handle bar la top-ul drawer-ului */
	.page--catalog-products .facets-sidebar::before {
		content: '';
		display: block;
		width: 40px;
		height: 4px;
		background: rgba(20, 16, 12, 0.18);
		border-radius: 2px;
		margin: 0 auto 16px;
	}

	/* Backdrop overlay */
	body.filter-open::after,
	body.show-filters::after {
		content: '';
		position: fixed;
		inset: 0;
		background: rgba(20, 16, 12, 0.5);
		z-index: 1040;
		animation: bsFadeIn 280ms ease;
	}

	body.filter-open,
	body.show-filters {
		overflow: hidden;
	}

	@keyframes bsSlideUp {
		from {
			transform: translateY(100%);
		}
		to {
			transform: translateY(0);
		}
	}

	@keyframes bsFadeIn {
		from { opacity: 0; }
		to { opacity: 1; }
	}

	/* Pagination mobile - mai mic */
	.page--catalog-products .pagination {
		gap: 10px;
		padding: 24px 0 8px;
	}

	.page--catalog-products .pagination__page-item > a,
	.page--catalog-products .pagination__page-item > span,
	.page--catalog-products .pagination__arrow > a,
	.page--catalog-products .pagination__arrow > span {
		min-width: 36px;
		height: 36px;
		font-size: 12px;
		padding: 0 10px;
	}

	/* Telescopika theme mobile */
	body.theme--telescopika .page--catalog-products .facets-toggle:hover,
	body.theme--telescopika .page--catalog-products .facets-toggle.is-active {
		border-color: #2D4A47;
		color: #2D4A47;
	}

	body.theme--telescopika .page--catalog-products .facets-toggle__counter {
		background: #2D4A47;
	}
}

/* ============================================
   SECTION 47: PAGINA CATALOG - FIX MOBILE FILTRE
   (mmenu DOM transformed pe mobile + page_top fallback)
   ============================================ */

@media (max-width: 991.98px) {

	/* mmenu wrapper - poate aparea pe sidebar mobile */
	.mm-menu,
	.mm-page,
	.mm-panels,
	.mm-panel {
		background: #ffffff !important;
		color: #1a1614 !important;
	}

	/* Title-ul drawer-ului mmenu */
	.mm-navbar,
	.mm-navbar__title {
		font-family: 'Oswald', 'Inter', sans-serif !important;
		font-size: 14px !important;
		text-transform: uppercase !important;
		letter-spacing: 1px !important;
		font-weight: 600 !important;
		color: #1a1614 !important;
		background: #ffffff !important;
	}

	/* Listitem-uri mmenu - resetam border-bottom default */
	.mm-listitem {
		background: transparent !important;
		border-bottom: 1px solid rgba(20, 16, 12, 0.06) !important;
	}

	.mm-listitem::after {
		display: none !important;
	}

	.mm-listitem__btn,
	.mm-listitem__text {
		color: #1a1614 !important;
		font-family: 'Inter', system-ui, sans-serif !important;
		font-size: 13px !important;
		font-weight: 500 !important;
	}

	/* ===== Facet items (sidebar + page_top + mmenu) ===== */

	/* Title facet uppercase */
	.facets-sidebar .facet__title,
	.facets-page-top .facet__title,
	.mm-menu .facet__title {
		font-family: 'Oswald', 'Inter', sans-serif !important;
		font-size: 13px !important;
		text-transform: uppercase !important;
		letter-spacing: 1.2px !important;
		color: #1a1614 !important;
		font-weight: 600 !important;
		padding: 14px 16px !important;
	}

	/* Selected count badge */
	.facet__title-selected-cnt {
		font-family: 'JetBrains Mono', 'Courier New', monospace !important;
		font-size: 10px !important;
		font-weight: 700 !important;
		background: #A0432B !important;
		color: #ffffff !important;
		padding: 2px 7px !important;
		border-radius: 999px !important;
		letter-spacing: 0.4px !important;
		margin-left: 6px !important;
	}

	/* Optiune (li) */
	.facet__option,
	.mm-menu .facet__option {
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
		padding: 10px 16px !important;
		font-size: 13px !important;
		color: #3D3833 !important;
		cursor: pointer !important;
		list-style: none !important;
		background: transparent !important;
	}

	.facet__option > a,
	.mm-menu .facet__option > a {
		flex: 1 !important;
		color: inherit !important;
		text-decoration: none !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	/* CHECKBOX custom forced - cu !important sa bata mmenu/forms.css */
	.facet__option--checkbox > input[type="checkbox"],
	.facet__option--checkbox input[type="checkbox"],
	.mm-menu .facet__option--checkbox input[type="checkbox"],
	input[type="checkbox"].facet-checkbox {
		appearance: none !important;
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		width: 20px !important;
		height: 20px !important;
		border: 1.5px solid #d4cfc4 !important;
		border-radius: 4px !important;
		background: #ffffff !important;
		cursor: pointer !important;
		flex-shrink: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		position: relative !important;
		transition: all 160ms ease !important;
		outline: none !important;
		box-shadow: none !important;
	}

	.facet__option--checkbox > input[type="checkbox"]:checked,
	.facet__option--checkbox input[type="checkbox"]:checked,
	.mm-menu .facet__option--checkbox input[type="checkbox"]:checked {
		background: #A0432B !important;
		border-color: #A0432B !important;
	}

	.facet__option--checkbox > input[type="checkbox"]:checked::after,
	.facet__option--checkbox input[type="checkbox"]:checked::after,
	.mm-menu .facet__option--checkbox input[type="checkbox"]:checked::after {
		content: '' !important;
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -55%) rotate(45deg) !important;
		width: 5px !important;
		height: 10px !important;
		border: solid #ffffff !important;
		border-width: 0 2px 2px 0 !important;
		background: transparent !important;
	}

	/* RADIO custom forced */
	.facet__option--radio > input[type="radio"],
	.facet__option--radio input[type="radio"],
	.mm-menu .facet__option--radio input[type="radio"] {
		appearance: none !important;
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		width: 20px !important;
		height: 20px !important;
		border: 1.5px solid #d4cfc4 !important;
		border-radius: 50% !important;
		background: #ffffff !important;
		cursor: pointer !important;
		flex-shrink: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		position: relative !important;
		transition: all 160ms ease !important;
		outline: none !important;
		box-shadow: none !important;
	}

	.facet__option--radio > input[type="radio"]:checked,
	.facet__option--radio input[type="radio"]:checked,
	.mm-menu .facet__option--radio input[type="radio"]:checked {
		border-color: #A0432B !important;
	}

	.facet__option--radio > input[type="radio"]:checked::after,
	.facet__option--radio input[type="radio"]:checked::after,
	.mm-menu .facet__option--radio input[type="radio"]:checked::after {
		content: '' !important;
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		width: 10px !important;
		height: 10px !important;
		background: #A0432B !important;
		border-radius: 50% !important;
	}

	/* Count badge la dreapta optiunii */
	.facet__option[data-count]::after {
		content: attr(data-count) !important;
		font-family: 'JetBrains Mono', 'Courier New', monospace !important;
		font-size: 10px !important;
		color: rgba(20, 16, 12, 0.45) !important;
		background: #FAF6EE !important;
		padding: 2px 7px !important;
		border-radius: 4px !important;
		font-weight: 600 !important;
		letter-spacing: 0.3px !important;
		flex-shrink: 0 !important;
	}

	/* ===== PRICE RANGE FILTER (slider) ===== */

	/* Inputs min-max */
	.filter-slider .slider-inputs,
	.facet--price .slider-inputs,
	.facet--range_slider .slider-inputs {
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
		margin: 0 0 16px !important;
		padding: 0 4px !important;
	}

	.filter-slider .slider-inputs label,
	.facet--price .slider-inputs label,
	.facet--range_slider .slider-inputs label {
		flex: 1 !important;
		margin: 0 !important;
	}

	.filter-slider .slider-inputs input,
	.facet--price .slider-inputs input,
	.facet--range_slider .slider-inputs input,
	input.slider-min-handle,
	input.slider-max-handle {
		width: 100% !important;
		padding: 10px 12px !important;
		border: 1.5px solid #d4cfc4 !important;
		border-radius: 8px !important;
		font-size: 13px !important;
		font-family: 'JetBrains Mono', 'Courier New', monospace !important;
		font-weight: 600 !important;
		color: #1a1614 !important;
		background: #ffffff !important;
		transition: border-color 160ms ease !important;
		box-shadow: none !important;
		outline: none !important;
	}

	.filter-slider .slider-inputs input:focus,
	.facet--price .slider-inputs input:focus,
	.facet--range_slider .slider-inputs input:focus,
	input.slider-min-handle:focus,
	input.slider-max-handle:focus {
		border-color: #A0432B !important;
		box-shadow: 0 0 0 3px rgba(160, 67, 43, 0.12) !important;
	}

	/* noUI slider track + connect */
	.noUi-target,
	.noUi-base,
	.noUi-horizontal {
		background: #FAF6EE !important;
		border: 0 !important;
		box-shadow: none !important;
		height: 5px !important;
		margin: 8px 4px !important;
	}

	.noUi-connect,
	.noUi-connects .noUi-connect {
		background: #A0432B !important;
	}

	.noUi-handle,
	.noUi-handle.noUi-handle-lower,
	.noUi-handle.noUi-handle-upper {
		width: 22px !important;
		height: 22px !important;
		border-radius: 50% !important;
		background: #ffffff !important;
		border: 2.5px solid #A0432B !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
		top: -10px !important;
		right: -11px !important;
		cursor: grab !important;
	}

	.noUi-handle::before,
	.noUi-handle::after {
		display: none !important;
	}

	/* ===== Telescopika theme mobile ===== */

	body.theme--telescopika .facet__title-selected-cnt {
		background: #2D4A47 !important;
	}

	body.theme--telescopika .facet__option--checkbox > input[type="checkbox"]:checked,
	body.theme--telescopika .facet__option--checkbox input[type="checkbox"]:checked,
	body.theme--telescopika .mm-menu .facet__option--checkbox input[type="checkbox"]:checked {
		background: #2D4A47 !important;
		border-color: #2D4A47 !important;
	}

	body.theme--telescopika .facet__option--radio > input[type="radio"]:checked,
	body.theme--telescopika .facet__option--radio input[type="radio"]:checked,
	body.theme--telescopika .mm-menu .facet__option--radio input[type="radio"]:checked {
		border-color: #2D4A47 !important;
	}

	body.theme--telescopika .facet__option--radio > input[type="radio"]:checked::after,
	body.theme--telescopika .facet__option--radio input[type="radio"]:checked::after,
	body.theme--telescopika .mm-menu .facet__option--radio input[type="radio"]:checked::after {
		background: #2D4A47 !important;
	}

	body.theme--telescopika .filter-slider .slider-inputs input:focus,
	body.theme--telescopika input.slider-min-handle:focus,
	body.theme--telescopika input.slider-max-handle:focus {
		border-color: #2D4A47 !important;
		box-shadow: 0 0 0 3px rgba(45, 74, 71, 0.12) !important;
	}

	body.theme--telescopika .noUi-connect {
		background: #2D4A47 !important;
	}

	body.theme--telescopika .noUi-handle {
		border-color: #2D4A47 !important;
	}
}

/* ============================================
   SECTION 48: CART PAGINA FULL
   ============================================ */

/* === LAYOUT GENERAL === */

/* Heading area + butonul mobile checkout */
.page--cart .page__aside-head {
	background: linear-gradient(180deg, #FAF6EE 0%, #F4EFE3 100%);
	padding: 28px 24px;
	border-radius: 14px;
	border: 1px solid rgba(20, 16, 12, 0.06);
	margin-bottom: 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.page--cart .page__heading {
	font-family: 'Oswald', 'Inter', system-ui, sans-serif;
	font-size: clamp(24px, 3.4vw, 36px);
	text-transform: uppercase;
	letter-spacing: -0.3px;
	color: #1a1614;
	font-weight: 600;
	line-height: 1.1;
	margin: 0;
}

/* Buton mobile checkout - vizibil doar pe mobil */
.page--cart .cart-mobile-checkout {
	display: none;
}

/* === CART TABLE === */

.page--cart .cart {
	width: 100%;
	background: #ffffff;
	border-radius: 14px;
	border: 1px solid rgba(20, 16, 12, 0.08);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

/* Header row */
.page--cart .cart__head {
	background: #FAF6EE;
}

.page--cart .cart__head th,
.page--cart .cart__item-col-head {
	font-family: 'Oswald', 'Inter', sans-serif;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: #5A554E;
	font-weight: 600;
	padding: 14px 16px;
	text-align: left;
	border: 0;
}

.page--cart .cart__item-col-head--price,
.page--cart .cart__item-col-head--quantity,
.page--cart .cart__item-col-head--total {
	text-align: center;
}

.page--cart .cart__item-col-head--total {
	text-align: right;
}

/* Body rows */
.page--cart .cart__item {
	border-bottom: 1px solid rgba(20, 16, 12, 0.06);
}

.page--cart .cart__item:last-child {
	border-bottom: 0;
}

.page--cart .cart__item-col {
	padding: 18px 16px;
	vertical-align: middle;
	border: 0;
}

/* Image col */
.page--cart .cart__item-col--image {
	width: 96px;
	padding-right: 0;
}

.page--cart .cart__item-image {
	display: block;
	width: 80px;
	height: 80px;
	border-radius: 10px;
	overflow: hidden;
	background: #FAF6EE;
	border: 1px solid rgba(20, 16, 12, 0.06);
}

.page--cart .cart__item-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

/* Description col - nume + variante */
.page--cart .cart__item-col--description {
	min-width: 240px;
}

.page--cart .cart__item-name {
	display: block;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #1a1614;
	text-decoration: none;
	line-height: 1.3;
	margin: 0 0 6px;
	transition: color 160ms ease;
}

.page--cart .cart__item-name:hover {
	color: #A0432B;
}

.page--cart .cart__item-options {
	font-size: 12px;
	color: #5A554E;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.page--cart .cart__item-options > * {
	margin: 0;
}

/* Promo item */
.page--cart .cart__item--promo {
	background: rgba(242, 165, 22, 0.04);
}

.page--cart .cart__item-promo {
	display: inline-block;
	font-family: 'JetBrains Mono', 'Courier New', monospace;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	background: #F2A516;
	color: #1a1614;
	padding: 4px 10px;
	border-radius: 999px;
}

/* Price col */
.page--cart .cart__item-col--price-gross {
	text-align: center;
	min-width: 110px;
}

.page--cart .cart__item-price {
	font-size: 13px;
	font-weight: 600;
	color: #3D3833;
	font-family: 'Inter', sans-serif;
}

/* Quantity col */
.page--cart .cart__item-col--quantity {
	min-width: 160px;
	text-align: center;
}

/* Quantity spinner */
.page--cart .quantity-spinner,
.page--cart .quantity-spinner.input-group {
	display: inline-flex !important;
	align-items: center;
	background: #FAF6EE;
	border-radius: 999px;
	padding: 3px;
	gap: 0;
	border: 1px solid rgba(20, 16, 12, 0.08);
	width: auto;
	flex: 0 0 auto;
}

.page--cart .quantity-spinner__button,
.page--cart .quantity-spinner .btn-decrement,
.page--cart .quantity-spinner .btn-increment {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 0;
	background: transparent;
	color: #1a1614;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 700;
	transition: all 160ms ease;
	padding: 0;
	box-shadow: none;
}

.page--cart .quantity-spinner__button:hover,
.page--cart .quantity-spinner .btn-decrement:hover,
.page--cart .quantity-spinner .btn-increment:hover {
	background: #ffffff;
	color: #A0432B;
	box-shadow: 0 1px 3px rgba(20, 16, 12, 0.08);
}

.page--cart .cart__item-quantity {
	width: 44px !important;
	height: 32px !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	color: #1a1614;
	padding: 0 4px !important;
	box-shadow: none !important;
	font-family: 'Inter', sans-serif;
}

.page--cart .cart__item-quantity:focus {
	outline: none;
	box-shadow: none !important;
}

/* Remove button - "Sterge" - mic, sub spinner */
.page--cart .cart__remove-item,
.page--cart .cart__remove-item.btn,
.page--cart .cart__remove-item.btn-icon {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 8px;
	background: transparent !important;
	border: 0 !important;
	color: #8B7355 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	font-family: 'Inter', sans-serif;
	text-decoration: underline;
	text-decoration-color: rgba(139, 115, 85, 0.3);
	cursor: pointer;
	padding: 4px 8px !important;
	box-shadow: none !important;
	transition: color 160ms ease;
	letter-spacing: 0.2px;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
}

.page--cart .cart__remove-item:hover {
	color: #A0432B !important;
	text-decoration-color: #A0432B;
}

/* Line total col */
.page--cart .cart__item-col--line-total {
	text-align: right;
	min-width: 110px;
}

.page--cart .cart__item-line-total {
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #1a1614;
	display: block;
	letter-spacing: -0.2px;
}

.page--cart .cart__item-line-total-undiscounted {
	display: block;
	font-size: 12px;
	color: rgba(20, 16, 12, 0.42);
	text-decoration: line-through;
	margin-top: 2px;
	font-weight: 500;
}

/* === EMPTY CART STATE === */

.page--cart .cart__empty {
	background: #ffffff;
	border-radius: 14px;
	border: 1px solid rgba(20, 16, 12, 0.08);
	padding: 64px 24px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.page--cart .cart__empty-image {
	width: 120px;
	height: auto;
	max-width: 100%;
	opacity: 0.6;
	margin-bottom: 8px;
}

.page--cart .cart__empty-title {
	font-family: 'Oswald', 'Inter', sans-serif;
	font-size: clamp(20px, 2.6vw, 28px);
	text-transform: uppercase;
	letter-spacing: -0.2px;
	color: #1a1614;
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
}

.page--cart .cart__empty-hint {
	font-size: 14px;
	color: #5A554E;
	line-height: 1.6;
	max-width: 480px;
	margin: 0;
}

.page--cart .cart__empty-button,
.page--cart .cart__empty-button.btn,
.page--cart .cart__empty-button.btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #A0432B;
	color: #ffffff;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 14px 28px;
	border: 0;
	border-radius: 8px;
	text-decoration: none;
	cursor: pointer;
	transition: all 160ms ease;
	margin-top: 8px;
}

.page--cart .cart__empty-button:hover {
	background: #8a3622;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(160, 67, 43, 0.25);
}

/* === SUMMARY SIDEBAR (totals + coupon + checkout) === */

.page--cart .page__aside-main {
	position: sticky;
	top: 90px;
	align-self: start;
}

.page--cart .page__aside-wrapper {
	background: #ffffff;
	border-radius: 14px;
	border: 1px solid rgba(20, 16, 12, 0.08);
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

/* Totals lines */
.page--cart .cart-totals {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(20, 16, 12, 0.06);
}

.page--cart .cart-totals__item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	font-size: 13px;
	color: #5A554E;
	margin: 0;
}

.page--cart .cart-totals__item-label {
	font-weight: 500;
}

.page--cart .cart-totals__item-value {
	font-weight: 600;
	color: #1a1614;
	font-family: 'Inter', sans-serif;
	font-variant-numeric: tabular-nums;
}

/* Discount line - amber */
.page--cart .cart-totals__item--discount .cart-totals__item-value {
	color: #A0432B;
	font-weight: 700;
}

/* Total row - bold mare */
.page--cart .cart-totals__item--total {
	margin-top: 8px;
	padding-top: 14px;
	border-top: 1px solid rgba(20, 16, 12, 0.06);
	font-size: 16px;
}

.page--cart .cart-totals__item--total .cart-totals__item-label {
	font-family: 'Oswald', 'Inter', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	font-size: 13px;
	font-weight: 600;
	color: #1a1614;
}

.page--cart .cart-totals__item--total .cart-totals__item-value {
	font-size: 20px;
	font-weight: 700;
	color: #1a1614;
	letter-spacing: -0.3px;
}

/* === COUPON === */

.page--cart .coupon-code {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.page--cart .coupon-code__toggle {
	font-size: 12px;
	color: #A0432B;
	cursor: pointer;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(160, 67, 43, 0.3);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	user-select: none;
	transition: color 160ms ease;
}

.page--cart .coupon-code__toggle:hover {
	color: #8a3622;
}

.page--cart .coupon-code__form-container.collapse:not(.show) {
	display: none;
}

.page--cart .coupon-code__form {
	display: flex;
	gap: 6px;
	align-items: stretch;
	margin: 0;
}

.page--cart .coupon-code__input,
.page--cart .coupon-code__input.form-control {
	flex: 1;
	padding: 10px 14px;
	border: 1.5px solid rgba(20, 16, 12, 0.18);
	border-radius: 8px;
	font-size: 13px;
	font-family: 'Inter', sans-serif;
	color: #1a1614;
	background: #ffffff;
	transition: border-color 160ms ease;
	min-width: 0;
	height: auto;
	box-shadow: none;
}

.page--cart .coupon-code__input:focus {
	border-color: #A0432B;
	outline: none;
	box-shadow: 0 0 0 3px rgba(160, 67, 43, 0.12);
}

.page--cart .coupon-code__button,
.page--cart .coupon-code__button.btn,
.page--cart .coupon-code__button.btn-outline-primary,
.page--cart .coupon-code__button.btn-primary {
	background: #1a1614 !important;
	color: #ffffff !important;
	border: 1.5px solid #1a1614 !important;
	border-radius: 8px;
	padding: 10px 18px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: all 160ms ease;
	white-space: nowrap;
	flex: 0 0 auto;
}

.page--cart .coupon-code__button:hover {
	background: #A0432B !important;
	border-color: #A0432B !important;
}

/* === CHECKOUT BUTTON === */

.page--cart .cart-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.page--cart .cart-action,
.page--cart .btn-wrapper {
	width: 100%;
}

.page--cart .cart__action--checkout,
.page--cart .cart__action--checkout.btn-primary {
	width: 100%;
	background: #A0432B;
	color: #ffffff;
	border: 0;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	padding: 16px 20px;
	border-radius: 10px;
	cursor: pointer;
	transition: all 180ms ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	line-height: 1;
}

.page--cart .cart__action--checkout:hover {
	background: #8a3622;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(160, 67, 43, 0.32);
}

.page--cart .cart__action--checkout.btn-outline-secondary,
.page--cart .cart__action--checkout[class*="outline"] {
	background: transparent;
	color: #1a1614;
	border: 1.5px solid rgba(20, 16, 12, 0.2);
}

.page--cart .cart__action--checkout.btn-outline-secondary:hover {
	background: #FAF6EE;
	border-color: #A0432B;
	color: #A0432B;
	transform: none;
	box-shadow: none;
}

.page--cart .cart__action--checkout:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none !important;
	box-shadow: none !important;
}

/* === CART SHARE + RELATED === */

.page--cart .page__aside-last {
	margin-top: 24px;
}

.page--cart .cart-share {
	background: #FAF6EE;
	border-radius: 12px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.page--cart .cart-share__hint {
	font-size: 12px;
	color: #5A554E;
	line-height: 1.5;
}

.page--cart .cart-share__hint b {
	color: #1a1614;
	font-weight: 600;
}

.page--cart .cart-share__button.btn,
.page--cart .cart-share__button.btn-light {
	background: #ffffff !important;
	color: #1a1614 !important;
	border: 1.5px solid rgba(20, 16, 12, 0.15) !important;
	border-radius: 8px;
	padding: 10px 16px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	transition: all 160ms ease;
	text-decoration: none;
}

.page--cart .cart-share__button:hover {
	border-color: #A0432B !important;
	color: #A0432B !important;
}

.page--cart .cart__related-products {
	margin-top: 20px;
}

.page--cart .cart__related-products h2 {
	font-family: 'Oswald', 'Inter', sans-serif;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #1a1614;
	margin: 0 0 14px;
	font-weight: 600;
}

/* === MOBILE RESPONSIVE === */

@media (max-width: 991.98px) {

	/* Heading */
	.page--cart .page__aside-head {
		padding: 20px 16px;
		margin-bottom: 16px;
		border-radius: 10px;
	}

	/* Mobile checkout button - vizibil sus */
	.page--cart .cart-mobile-checkout,
	.page--cart .cart-mobile-checkout.btn,
	.page--cart .cart-mobile-checkout.btn-primary {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: #A0432B;
		color: #ffffff;
		border: 0;
		padding: 12px 20px;
		font-family: 'Inter', sans-serif;
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		border-radius: 8px;
		cursor: pointer;
		transition: all 160ms ease;
	}

	.page--cart .cart-mobile-checkout:hover {
		background: #8a3622;
	}

	/* Sumar pe mobile - sub items, NU sticky */
	.page--cart .page__aside-main {
		position: static;
		margin-top: 18px;
	}

	/* Cart table → cards stacked pe mobile */
	.page--cart .cart {
		display: block;
		border: 0;
		background: transparent;
		border-radius: 0;
		overflow: visible;
	}

	.page--cart .cart__head {
		display: none;
	}

	.page--cart .cart__body {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.page--cart .cart__item {
		display: grid;
		grid-template-columns: 80px 1fr;
		grid-template-areas:
			"image desc"
			"image price"
			"qty qty"
			"total total";
		gap: 6px 14px;
		background: #ffffff;
		border: 1px solid rgba(20, 16, 12, 0.08);
		border-radius: 12px;
		padding: 14px;
		border-bottom: 1px solid rgba(20, 16, 12, 0.08);
	}

	.page--cart .cart__item-col {
		display: block;
		padding: 0;
	}

	.page--cart .cart__item-col--image {
		grid-area: image;
		width: 80px;
		padding: 0;
	}

	.page--cart .cart__item-image {
		width: 80px;
		height: 80px;
	}

	.page--cart .cart__item-col--description {
		grid-area: desc;
		min-width: 0;
		padding-right: 4px;
	}

	.page--cart .cart__item-col--price-gross {
		grid-area: price;
		text-align: left;
		font-size: 12px;
		color: #5A554E;
	}

	.page--cart .cart__item-col--price-gross::before {
		content: attr(data-label) ": ";
		color: rgba(20, 16, 12, 0.42);
		font-weight: 500;
		font-size: 11px;
	}

	.page--cart .cart__item-col--quantity {
		grid-area: qty;
		text-align: left;
		min-width: 0;
		padding-top: 8px;
		border-top: 1px solid rgba(20, 16, 12, 0.06);
	}

	.page--cart .cart__item-col--line-total {
		grid-area: total;
		text-align: right;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-top: 4px;
	}

	.page--cart .cart__item-col--line-total::before {
		content: attr(data-label);
		font-family: 'Oswald', 'Inter', sans-serif;
		font-size: 11px;
		text-transform: uppercase;
		letter-spacing: 1px;
		color: #5A554E;
		font-weight: 600;
	}

	/* Empty state mobile */
	.page--cart .cart__empty {
		padding: 40px 20px;
		border-radius: 12px;
	}

	.page--cart .cart__empty-image {
		width: 90px;
	}
}

/* === TELESCOPIKA THEME === */

body.theme--telescopika .page--cart .cart__item-name:hover {
	color: #2D4A47;
}

body.theme--telescopika .page--cart .quantity-spinner__button:hover,
body.theme--telescopika .page--cart .quantity-spinner .btn-decrement:hover,
body.theme--telescopika .page--cart .quantity-spinner .btn-increment:hover {
	color: #2D4A47;
}

body.theme--telescopika .page--cart .cart__remove-item:hover {
	color: #2D4A47 !important;
	text-decoration-color: #2D4A47;
}

body.theme--telescopika .page--cart .cart__empty-button,
body.theme--telescopika .page--cart .cart__empty-button.btn-primary {
	background: #2D4A47;
}

body.theme--telescopika .page--cart .cart__empty-button:hover {
	background: #1f3835;
	box-shadow: 0 4px 12px rgba(45, 74, 71, 0.25);
}

body.theme--telescopika .page--cart .cart-totals__item--discount .cart-totals__item-value {
	color: #2D4A47;
}

body.theme--telescopika .page--cart .coupon-code__toggle {
	color: #2D4A47;
}

body.theme--telescopika .page--cart .coupon-code__toggle:hover {
	color: #1f3835;
}

body.theme--telescopika .page--cart .coupon-code__input:focus {
	border-color: #2D4A47;
	box-shadow: 0 0 0 3px rgba(45, 74, 71, 0.12);
}

body.theme--telescopika .page--cart .coupon-code__button:hover {
	background: #2D4A47 !important;
	border-color: #2D4A47 !important;
}

body.theme--telescopika .page--cart .cart__action--checkout {
	background: #2D4A47;
}

body.theme--telescopika .page--cart .cart__action--checkout:hover {
	background: #1f3835;
	box-shadow: 0 6px 18px rgba(45, 74, 71, 0.32);
}

body.theme--telescopika .page--cart .cart-mobile-checkout,
body.theme--telescopika .page--cart .cart-mobile-checkout.btn-primary {
	background: #2D4A47;
}

body.theme--telescopika .page--cart .cart-mobile-checkout:hover {
	background: #1f3835;
}

body.theme--telescopika .page--cart .cart-share__button:hover {
	border-color: #2D4A47 !important;
	color: #2D4A47 !important;
}

/* ============================================
   SECTION 49: CART DRAWER SIDE (slide-in)
   ============================================ */

/* === OFFCANVAS WRAPPER (Bootstrap) === */

.offcanvas.offcanvas-end:has(.cart-drawer),
.offcanvas:has(.cart-drawer) {
	width: 420px;
	max-width: 100vw;
	border: 0;
	background: #ffffff;
	box-shadow: -8px 0 32px rgba(20, 16, 12, 0.18);
}

/* Backdrop */
.offcanvas-backdrop.show {
	background: rgba(20, 16, 12, 0.55);
	opacity: 1;
}

/* Offcanvas header (where drawer title is relocated by JS) */
.offcanvas-header:has([data-drawer-title]),
.offcanvas:has(.cart-drawer) .offcanvas-header {
	padding: 20px 22px;
	border-bottom: 1px solid rgba(20, 16, 12, 0.06);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.offcanvas:has(.cart-drawer) .offcanvas-title,
.offcanvas:has(.cart-drawer) [data-drawer-title],
.cart-drawer__title {
	font-family: 'Oswald', 'Inter', sans-serif;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	color: #1a1614;
	font-weight: 600;
	margin: 0;
}

/* Close button */
.offcanvas:has(.cart-drawer) .btn-close {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #FAF6EE url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1614' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>") no-repeat center / 16px;
	border: 0;
	opacity: 1;
	transition: all 160ms ease;
	padding: 0;
}

.offcanvas:has(.cart-drawer) .btn-close:hover {
	background-color: rgba(160, 67, 43, 0.1);
}

/* Offcanvas body */
.offcanvas:has(.cart-drawer) .offcanvas-body {
	padding: 0;
	display: flex;
	flex-direction: column;
}

/* === CART DRAWER CONTENT === */

.cart-drawer {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #ffffff;
}

/* Items table - compact list pe drawer */
.cart-drawer .drawer-items__table-wrapper {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 16px 20px;
	scrollbar-width: thin;
	scrollbar-color: rgba(20, 16, 12, 0.2) transparent;
}

.cart-drawer .drawer-items__table-wrapper::-webkit-scrollbar {
	width: 4px;
}

.cart-drawer .drawer-items__table-wrapper::-webkit-scrollbar-thumb {
	background: rgba(20, 16, 12, 0.2);
	border-radius: 10px;
}

.cart-drawer .drawer-items__table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 0;
}

.cart-drawer .drawer-items__body {
	display: block;
}

/* Each item = 2 rows (image+name | qty+price), grouped via rowspan on image */
.cart-drawer .drawer-items__row {
	display: table-row;
	border: 0;
}

.cart-drawer .drawer-items__row:not(:last-child) td {
	padding-bottom: 8px;
}

.cart-drawer .drawer-items__cell {
	padding: 0 0 12px;
	vertical-align: top;
	border: 0;
	border-bottom: 1px solid rgba(20, 16, 12, 0.06);
}

.cart-drawer .drawer-items__row:last-child .drawer-items__cell {
	border-bottom: 0;
	padding-bottom: 0;
}

/* Image cell - rowspan 2 */
.cart-drawer .drawer-items__cell--image {
	width: 70px;
	padding-right: 12px;
	padding-bottom: 16px;
}

.cart-drawer .drawer-items__image {
	width: 64px;
	height: 64px;
	border-radius: 8px;
	overflow: hidden;
	background: #FAF6EE;
	border: 1px solid rgba(20, 16, 12, 0.06);
	display: block;
}

.cart-drawer .drawer-items__image a {
	display: block;
	width: 100%;
	height: 100%;
}

.cart-drawer .drawer-items__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

/* Name cell */
.cart-drawer .drawer-items__item-name {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #1a1614;
	text-decoration: none;
	line-height: 1.35;
	margin: 0 0 4px;
	transition: color 160ms ease;
}

.cart-drawer .drawer-items__item-name:hover {
	color: #A0432B;
}

/* Item description (variant info) */
.cart-drawer .drawer-items__item-description,
.cart-drawer .drawer-items__item-options {
	font-size: 11px;
	color: #5A554E;
	line-height: 1.4;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1px;
}

/* Details cell (qty + actions) */
.cart-drawer .drawer-items__cell--details {
	padding-top: 4px;
}

.cart-drawer .drawer-items__cell-wrapper {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.cart-drawer .drawer-items__quantity-options {
	display: inline-flex;
	gap: 6px;
	align-items: center;
}

/* Quantity spinner - smaller in drawer */
.cart-drawer .quantity-spinner,
.cart-drawer .quantity-spinner.input-group {
	display: inline-flex !important;
	align-items: center;
	background: #FAF6EE;
	border-radius: 999px;
	padding: 2px;
	border: 1px solid rgba(20, 16, 12, 0.08);
	width: auto;
	flex: 0 0 auto;
}

.cart-drawer .quantity-spinner__button,
.cart-drawer .quantity-spinner .btn-decrement,
.cart-drawer .quantity-spinner .btn-increment {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 0;
	background: transparent;
	color: #1a1614;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	transition: all 160ms ease;
	padding: 0;
	box-shadow: none;
}

.cart-drawer .quantity-spinner__button:hover,
.cart-drawer .quantity-spinner .btn-decrement:hover,
.cart-drawer .quantity-spinner .btn-increment:hover {
	background: #ffffff;
	color: #A0432B;
	box-shadow: 0 1px 3px rgba(20, 16, 12, 0.1);
}

.cart-drawer .drawer-items__item-quantity,
.cart-drawer input[class*="item-quantity"] {
	width: 32px !important;
	height: 26px !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	color: #1a1614;
	padding: 0 !important;
	box-shadow: none !important;
	font-family: 'Inter', sans-serif;
}

/* Remove / actions buttons inside drawer */
.cart-drawer .drawer-items__remove-item,
.cart-drawer .drawer-items__quantity-options .btn,
.cart-drawer .drawer-items__quantity-options [class*="remove"] {
	background: transparent !important;
	border: 0 !important;
	color: #8B7355 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	padding: 4px 6px !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: color 160ms ease;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
}

.cart-drawer .drawer-items__remove-item:hover {
	color: #A0432B !important;
}

/* Price cell - aligned right */
.cart-drawer .drawer-items__cell--price {
	text-align: right;
	white-space: nowrap;
	padding-left: 8px;
}

.cart-drawer .drawer-items__line-total {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #1a1614;
	letter-spacing: -0.2px;
}

/* === COUPON IN DRAWER === */

.cart-drawer .coupon-code {
	padding: 14px 20px;
	border-top: 1px solid rgba(20, 16, 12, 0.06);
	background: #FAF6EE;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.cart-drawer .coupon-code__toggle {
	font-size: 12px;
	color: #A0432B;
	cursor: pointer;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(160, 67, 43, 0.3);
	user-select: none;
	transition: color 160ms ease;
}

.cart-drawer .coupon-code__toggle:hover {
	color: #8a3622;
}

.cart-drawer .coupon-code__form-container.collapse:not(.show) {
	display: none;
}

.cart-drawer .coupon-code__form {
	display: flex;
	gap: 6px;
	align-items: stretch;
	margin: 0;
}

.cart-drawer .coupon-code__input,
.cart-drawer .coupon-code__input.form-control {
	flex: 1;
	padding: 8px 12px;
	border: 1.5px solid rgba(20, 16, 12, 0.18);
	border-radius: 8px;
	font-size: 12px;
	color: #1a1614;
	background: #ffffff;
	min-width: 0;
	height: auto;
	box-shadow: none;
}

.cart-drawer .coupon-code__input:focus {
	border-color: #A0432B;
	outline: none;
	box-shadow: 0 0 0 3px rgba(160, 67, 43, 0.12);
}

.cart-drawer .coupon-code__button.btn,
.cart-drawer .coupon-code__button {
	background: #1a1614 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 8px;
	padding: 8px 14px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	cursor: pointer;
	white-space: nowrap;
}

.cart-drawer .coupon-code__button:hover {
	background: #A0432B !important;
}

/* === DRAWER FOOTER (totals + checkout) === */

.cart-drawer__totals-container {
	padding: 16px 20px;
	background: #ffffff;
	border-top: 1px solid rgba(20, 16, 12, 0.08);
}

.cart-drawer .cart-drawer-totals {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.cart-drawer .cart-drawer-totals__item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	font-size: 12px;
	color: #5A554E;
	margin: 0;
}

.cart-drawer .cart-drawer-totals__item-label {
	font-weight: 500;
}

.cart-drawer .cart-drawer-totals__item-value {
	font-weight: 600;
	color: #1a1614;
	font-variant-numeric: tabular-nums;
}

.cart-drawer .cart-drawer-totals__item--discount .cart-drawer-totals__item-value {
	color: #A0432B;
	font-weight: 700;
}

/* Total row in drawer */
.cart-drawer .cart-drawer-totals__item--total {
	margin-top: 6px;
	padding-top: 10px;
	border-top: 1px solid rgba(20, 16, 12, 0.06);
	font-size: 14px;
}

.cart-drawer .cart-drawer-totals__item--total .cart-drawer-totals__item-label {
	font-family: 'Oswald', 'Inter', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	font-size: 12px;
	font-weight: 600;
	color: #1a1614;
}

.cart-drawer .cart-drawer-totals__item--total .cart-drawer-totals__item-value {
	font-size: 18px;
	font-weight: 700;
	color: #1a1614;
	letter-spacing: -0.3px;
}

/* === DRAWER ACTIONS (checkout + view cart) === */

.cart-drawer__actions {
	padding: 14px 20px 20px calc(20px + env(safe-area-inset-bottom, 0px));
	background: #ffffff;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border-top: 1px solid rgba(20, 16, 12, 0.06);
}

.cart-drawer .btn-wrapper {
	width: 100%;
}

/* Primary checkout button */
.cart-drawer__action--back,
.cart-drawer__action--back.btn,
.cart-drawer__action--back.btn-primary {
	width: 100%;
	background: #A0432B;
	color: #ffffff;
	border: 0;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	padding: 14px 20px;
	border-radius: 10px;
	cursor: pointer;
	transition: all 180ms ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	line-height: 1;
}

.cart-drawer__action--back:hover {
	background: #8a3622;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(160, 67, 43, 0.3);
}

.cart-drawer__action--back:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none !important;
	box-shadow: none !important;
}

/* Secondary view-cart link */
.cart-drawer__action--view-cart,
.cart-drawer__action--view-cart.btn,
.cart-drawer__action--view-cart.btn-outline-primary {
	width: 100%;
	background: transparent;
	color: #1a1614;
	border: 1.5px solid rgba(20, 16, 12, 0.2);
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 11px 20px;
	border-radius: 10px;
	cursor: pointer;
	transition: all 160ms ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.cart-drawer__action--view-cart:hover {
	background: #FAF6EE;
	border-color: #A0432B;
	color: #A0432B;
}

/* === EMPTY DRAWER STATE === */

.cart-drawer__empty {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 48px 24px;
	gap: 14px;
}

.cart-drawer__empty-image {
	width: 90px;
	height: auto;
	max-width: 100%;
	opacity: 0.55;
}

.cart-drawer__empty-title {
	font-family: 'Oswald', 'Inter', sans-serif;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	color: #1a1614;
	font-weight: 600;
	margin: 0;
}

.cart-drawer__empty-hint {
	font-size: 13px;
	color: #5A554E;
	line-height: 1.5;
	margin: 0;
	max-width: 280px;
}

.cart-drawer__empty-button,
.cart-drawer__empty-button.btn,
.cart-drawer__empty-button.btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #A0432B;
	color: #ffffff;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 12px 24px;
	border: 0;
	border-radius: 8px;
	text-decoration: none;
	cursor: pointer;
	transition: all 160ms ease;
	margin-top: 8px;
}

.cart-drawer__empty-button:hover {
	background: #8a3622;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(160, 67, 43, 0.25);
}

/* === MOBILE: drawer becomes bottom sheet === */

@media (max-width: 575.98px) {

	.offcanvas.offcanvas-end:has(.cart-drawer),
	.offcanvas:has(.cart-drawer) {
		width: 100% !important;
		height: 92vh !important;
		max-height: 92vh;
		top: auto !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		border-radius: 18px 18px 0 0;
		transform: translateY(100%) !important;
		transition: transform 320ms cubic-bezier(0.32, 0.72, 0, 1) !important;
		box-shadow: 0 -8px 32px rgba(20, 16, 12, 0.18);
	}

	.offcanvas.offcanvas-end.show:has(.cart-drawer),
	.offcanvas.show:has(.cart-drawer) {
		transform: translateY(0) !important;
	}

	/* Handle bar la top */
	.offcanvas:has(.cart-drawer)::before {
		content: '';
		display: block;
		width: 44px;
		height: 4px;
		background: rgba(20, 16, 12, 0.18);
		border-radius: 2px;
		margin: 10px auto 0;
		flex-shrink: 0;
	}

	.offcanvas:has(.cart-drawer) .offcanvas-header {
		padding: 12px 18px 16px;
	}

	.offcanvas:has(.cart-drawer) .offcanvas-title,
	.cart-drawer__title {
		font-size: 16px;
	}

	.cart-drawer .drawer-items__table-wrapper {
		padding: 14px 18px;
	}

	.cart-drawer__actions {
		padding: 12px 18px 18px calc(18px + env(safe-area-inset-bottom, 0px));
	}
}

/* === TELESCOPIKA THEME === */

body.theme--telescopika .offcanvas:has(.cart-drawer) .btn-close:hover {
	background-color: rgba(45, 74, 71, 0.1);
}

body.theme--telescopika .cart-drawer .drawer-items__item-name:hover {
	color: #2D4A47;
}

body.theme--telescopika .cart-drawer .quantity-spinner__button:hover,
body.theme--telescopika .cart-drawer .quantity-spinner .btn-decrement:hover,
body.theme--telescopika .cart-drawer .quantity-spinner .btn-increment:hover {
	color: #2D4A47;
}

body.theme--telescopika .cart-drawer .drawer-items__remove-item:hover {
	color: #2D4A47 !important;
}

body.theme--telescopika .cart-drawer .coupon-code__toggle {
	color: #2D4A47;
}

body.theme--telescopika .cart-drawer .coupon-code__toggle:hover {
	color: #1f3835;
}

body.theme--telescopika .cart-drawer .coupon-code__input:focus {
	border-color: #2D4A47;
	box-shadow: 0 0 0 3px rgba(45, 74, 71, 0.12);
}

body.theme--telescopika .cart-drawer .coupon-code__button:hover {
	background: #2D4A47 !important;
}

body.theme--telescopika .cart-drawer .cart-drawer-totals__item--discount .cart-drawer-totals__item-value {
	color: #2D4A47;
}

body.theme--telescopika .cart-drawer__action--back,
body.theme--telescopika .cart-drawer__action--back.btn-primary {
	background: #2D4A47;
}

body.theme--telescopika .cart-drawer__action--back:hover {
	background: #1f3835;
	box-shadow: 0 6px 18px rgba(45, 74, 71, 0.3);
}

body.theme--telescopika .cart-drawer__action--view-cart:hover {
	border-color: #2D4A47;
	color: #2D4A47;
}

body.theme--telescopika .cart-drawer__empty-button,
body.theme--telescopika .cart-drawer__empty-button.btn-primary {
	background: #2D4A47;
}

body.theme--telescopika .cart-drawer__empty-button:hover {
	background: #1f3835;
	box-shadow: 0 4px 12px rgba(45, 74, 71, 0.25);
}

/* ============================================
   SECTION 50: HEADER DESKTOP
   ============================================ */

/* === HEADER WRAPPER === */

.header {
	background: #1a1614;
	color: #FAF6EE;
	position: relative;
	z-index: 30;
	border-bottom: 2px solid #A0432B;
}

.header__wrapper,
#header_wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 24px;
	max-width: 1480px;
	margin: 0 auto;
	position: relative;
}

/* === LOGO === */

.header__logo {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: #FAF6EE;
	flex-shrink: 0;
	transition: opacity 160ms ease;
}

.header__logo:hover {
	opacity: 0.85;
}

.header__logo-image {
	height: 36px;
	width: auto;
	max-width: 220px;
	display: block;
	object-fit: contain;
}

.header__logo-text {
	font-family: 'Oswald', 'Inter', sans-serif;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	color: #FAF6EE;
}

/* === MAIN NAV MENU === */

.header__menu,
#header_menu {
	display: flex;
	align-items: center;
	gap: 0;
	flex: 1 1 auto;
	justify-content: center;
}

.header__menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0;
}

.header__menu-item {
	position: static;
	margin: 0;
}

.header__menu-item > a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 12px 18px;
	font-family: 'Oswald', 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: rgba(250, 246, 238, 0.75);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	transition: color 180ms ease;
	position: relative;
	cursor: pointer;
	white-space: nowrap;
}

/* Underline hover effect */
.header__menu-item > a::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 4px;
	height: 2px;
	background: #A0432B;
	transform: scaleX(0);
	transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);
	transform-origin: center;
}

.header__menu-item:hover > a,
.header__menu-item.is-active > a,
.header__menu-item--expandable:hover > a {
	color: #FAF6EE;
}

.header__menu-item:hover > a::after,
.header__menu-item.is-active > a::after {
	transform: scaleX(1);
}

/* Chevron pe item-uri expandable (cu mega menu) */
.header__menu-item--expandable > a::before {
	content: '';
	width: 10px;
	height: 10px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	margin-left: 4px;
	order: 2;
	transition: transform 180ms ease;
}

.header__menu-item--expandable:hover > a::before {
	transform: rotate(180deg);
}

/* === HEADER ACTIONS (search, wishlist, user, cart) === */

.header__actions {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

.header__action,
[class*="header__action--"] {
	position: relative;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 0;
	background: transparent;
	color: rgba(250, 246, 238, 0.85);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 160ms ease;
	text-decoration: none;
	padding: 0;
}

.header__action:hover,
[class*="header__action--"]:hover {
	background: rgba(250, 246, 238, 0.08);
	color: #FAF6EE;
}

.header__action-icon {
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

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

/* Badge count (wishlist + cart) */
.header__action[data-count]:not([data-count="0"])::after,
[class*="header__action--cart"][data-count]:not([data-count="0"])::after,
[class*="header__action--favorites"][data-count]:not([data-count="0"])::after {
	content: attr(data-count);
	position: absolute;
	top: 4px;
	right: 4px;
	background: #A0432B;
	color: #ffffff;
	font-family: 'JetBrains Mono', 'Courier New', monospace;
	font-size: 9px;
	font-weight: 700;
	padding: 1px 5px;
	border-radius: 999px;
	min-width: 18px;
	height: 16px;
	text-align: center;
	border: 1.5px solid #1a1614;
	letter-spacing: 0;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

/* Selectors (language + currency) */
.header__action--selectors {
	width: auto;
	height: auto;
	background: transparent;
	border-radius: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0 6px;
}

.header__action--selectors:hover {
	background: transparent;
}

.header__action--selectors select,
.header__action--selectors .form-select {
	background: transparent !important;
	border: 1px solid rgba(250, 246, 238, 0.15) !important;
	border-radius: 6px;
	color: rgba(250, 246, 238, 0.85) !important;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 4px 22px 4px 8px;
	cursor: pointer;
	transition: border-color 160ms ease;
	box-shadow: none !important;
	height: auto;
	min-width: 60px;
}

.header__action--selectors select:hover {
	border-color: rgba(250, 246, 238, 0.3) !important;
	color: #FAF6EE !important;
}

/* === MOBILE TOGGLE (hamburger) - hidden pe desktop === */

.header__menu-toggle {
	display: none;
}

/* === STICKY HEADER === */

.header[data-sticky-header],
.header.is-sticky,
.header.sticky {
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1030;
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.header.is-sticky,
.header.sticky,
.header[data-sticky-active] {
	box-shadow: 0 4px 16px rgba(20, 16, 12, 0.18);
}

/* Hide on scroll down (optional - daca MerchantPro adauga clasa) */
.header.is-hidden,
.header.scrolled-down {
	transform: translateY(-100%);
}

/* === HEADER MENU WIDE OVERLAY (mega menu container) === */

.header__menu-wide,
#header_menu_wide {
	background: transparent;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 25;
	pointer-events: none;
}

/* === NOTIFICATION BAR (deasupra header) === */

.upsell-messages,
.alert-messages {
	background: #2D4A47;
	color: #FAF6EE;
	font-size: 12px;
	padding: 8px 24px;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.3px;
	border-bottom: 1px solid rgba(250, 246, 238, 0.06);
}

.upsell-messages a,
.alert-messages a {
	color: #FAF6EE;
	text-decoration: underline;
	text-decoration-color: rgba(250, 246, 238, 0.4);
	font-weight: 600;
	transition: text-decoration-color 160ms ease;
}

.upsell-messages a:hover,
.alert-messages a:hover {
	text-decoration-color: #FAF6EE;
}

/* === SEARCH DRAWER (cand se deschide search-ul) === */

.search-drawer {
	background: #1a1614;
	color: #FAF6EE;
	border-bottom: 2px solid #A0432B;
}

.search-drawer input[type="search"],
.search-drawer .form-control {
	background: rgba(250, 246, 238, 0.08) !important;
	border: 1.5px solid rgba(250, 246, 238, 0.12) !important;
	border-radius: 999px;
	color: #FAF6EE !important;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	padding: 12px 18px 12px 44px;
	width: 100%;
	transition: all 160ms ease;
	box-shadow: none;
}

.search-drawer input[type="search"]::placeholder {
	color: rgba(250, 246, 238, 0.45);
}

.search-drawer input[type="search"]:focus {
	background: rgba(250, 246, 238, 0.12) !important;
	border-color: #A0432B !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(160, 67, 43, 0.25) !important;
}

/* === THEME: TELESCOPIKA === */

body.theme--telescopika .header {
	border-bottom-color: #2D4A47;
}

body.theme--telescopika .header__menu-item:hover > a::after,
body.theme--telescopika .header__menu-item.is-active > a::after {
	background: #2D4A47;
}

body.theme--telescopika .header__action[data-count]:not([data-count="0"])::after,
body.theme--telescopika [class*="header__action--cart"][data-count]:not([data-count="0"])::after,
body.theme--telescopika [class*="header__action--favorites"][data-count]:not([data-count="0"])::after {
	background: #2D4A47;
}

body.theme--telescopika .search-drawer {
	border-bottom-color: #2D4A47;
}

body.theme--telescopika .search-drawer input[type="search"]:focus {
	border-color: #2D4A47 !important;
	box-shadow: 0 0 0 3px rgba(45, 74, 71, 0.25) !important;
}

/* === LAYOUT FIXES (in caz de spacing issues) === */

/* Layout principal - asigura ca header-ul nu rupe layout-ul existent */
body.has-bs-sticky-cart .header.is-sticky {
	z-index: 1029;
}

/* === Logo size fix - 1.7X mai mare === */
.header__logo-image {
	height: 62px !important;
	max-width: 380px !important;
}

/* Mobile - ceva mai mic ca sa incapa */
@media (max-width: 767.98px) {
	.header__logo-image {
		height: 44px !important;
		max-width: 220px !important;
	}
}

/* Crestem putin padding-ul wrapper-ului ca header-ul sa nu para inghesuit */
.header__wrapper,
#header_wrapper {
	padding: 18px 24px;
}

@media (max-width: 767.98px) {
	.header__wrapper,
	#header_wrapper {
		padding: 12px 16px;
	}
}

/* === Header actions FIX - icon only, hide labels === */

/* Reset font-size pe action-uri ca sa "ascunda" text-ul direct */
.header__action,
[class*="header__action--"] {
	font-size: 0 !important;
	line-height: 0 !important;
}

/* Restore font-size pe iconita */
.header__action .header__action-icon,
[class*="header__action--"] .header__action-icon {
	font-size: 14px;
	line-height: 1;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}

/* Asigura SVG-ul are dimensiunea corecta */
.header__action svg,
[class*="header__action--"] svg,
.header__action-icon svg {
	width: 20px !important;
	height: 20px !important;
	display: block;
}

/* Hide orice copil care NU e icon sau badge (span-uri cu label-uri) */
.header__action > span:not([class*="header__action-icon"]):not([class*="badge"]):not([class*="count"]),
[class*="header__action--"] > span:not([class*="header__action-icon"]):not([class*="badge"]):not([class*="count"]),
.header__action > .label,
[class*="header__action--"] > .label,
.header__action > [class*="-text"],
[class*="header__action--"] > [class*="-text"],
.header__action > [class*="-label"]:not([class*="aria"]),
[class*="header__action--"] > [class*="-label"]:not([class*="aria"]) {
	display: none !important;
}

/* Restore font-size pe badge count (pseudo-element) */
.header__action[data-count]:not([data-count="0"])::after,
[class*="header__action--cart"][data-count]:not([data-count="0"])::after,
[class*="header__action--favorites"][data-count]:not([data-count="0"])::after {
	font-size: 9px !important;
	line-height: 1.2 !important;
}

/* Action are forme circulare, nu inline-flex prea mare pe text invizibil */
.header__action,
[class*="header__action--"] {
	width: 42px !important;
	height: 42px !important;
	border-radius: 50% !important;
	overflow: visible;
	flex-shrink: 0;
}

/* Selectors (lang/currency) sunt EXCEPTIE - lasa-i sa arate text-ul */
.header__action--selectors {
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	font-size: 11px !important;
	line-height: 1.4 !important;
}

.header__action--selectors > * {
	display: inline-flex !important;
}

/* ============================================
   HEADER FIX v2 - text labels + mobile responsive
   ============================================ */

/* === DESKTOP: Hide TOATE elementele text din action buttons === */

.header__action,
.header__actions > a,
.header__actions > div[class*="action"],
[class*="header__action--"]:not(.header__actions):not(.header__action--selectors) {
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	text-indent: -9999px !important;
	overflow: hidden;
	white-space: nowrap;
}

/* Restore icon SVG visibility */
.header__action-icon,
.header__actions .header__action-icon,
[class*="header__action"] .header__action-icon {
	font-size: 14px !important;
	line-height: 1 !important;
	color: rgba(250, 246, 238, 0.85) !important;
	text-indent: 0 !important;
	width: 20px !important;
	height: 20px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	overflow: visible !important;
	position: relative;
}

.header__action:hover .header__action-icon,
.header__actions a:hover .header__action-icon {
	color: #FAF6EE !important;
}

.header__action svg,
.header__actions svg,
.header__action-icon svg {
	width: 20px !important;
	height: 20px !important;
	color: inherit !important;
	stroke: currentColor !important;
	fill: none !important;
	stroke-width: 1.8 !important;
	display: block !important;
	overflow: visible !important;
}

/* Hide ANY non-icon descendants (label spans, text spans, etc) */
.header__action > *:not(.header__action-icon),
.header__actions > a > *:not(.header__action-icon),
[class*="header__action--"]:not(.header__action--selectors) > *:not(.header__action-icon) {
	display: none !important;
}

/* Restore badge count */
.header__action[data-count]:not([data-count="0"])::after,
[class*="header__action--cart"][data-count]:not([data-count="0"])::after,
[class*="header__action--favorites"][data-count]:not([data-count="0"])::after {
	font-size: 9px !important;
	line-height: 1.2 !important;
	text-indent: 0 !important;
	color: #ffffff !important;
}

/* Exception: selectors (limba + moneda) - lasa text vizibil */
.header__action--selectors,
.header__action--selectors * {
	font-size: revert !important;
	line-height: revert !important;
	color: revert !important;
	text-indent: 0 !important;
	overflow: visible !important;
}

.header__action--selectors {
	font-size: 11px !important;
	color: rgba(250, 246, 238, 0.85) !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
}

.header__action--selectors > * {
	display: inline-flex !important;
}


/* ============================================
   MOBILE HEADER (sub 992px)
   ============================================ */

@media (max-width: 991.98px) {

	/* Wrapper compact pe mobile */
	.header__wrapper,
	#header_wrapper {
		padding: 12px 14px !important;
		gap: 8px !important;
		justify-content: space-between !important;
	}

	/* Hamburger toggle - vizibil pe mobile */
	.header__menu-toggle,
	a.header__menu-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 40px !important;
		height: 40px !important;
		border-radius: 50%;
		border: 0;
		background: transparent;
		color: rgba(250, 246, 238, 0.85);
		cursor: pointer;
		text-decoration: none;
		flex-shrink: 0;
		position: relative;
		order: -1; /* prima pozitie */
		font-size: 0 !important;
	}

	.header__menu-toggle:hover {
		background: rgba(250, 246, 238, 0.08);
		color: #FAF6EE;
	}

	/* Hamburger lines (3 linii) */
	.header__menu-toggle::before {
		content: '';
		display: block;
		width: 22px;
		height: 2px;
		background: currentColor;
		position: relative;
		box-shadow:
			0 -7px 0 currentColor,
			0 7px 0 currentColor;
		transition: all 220ms ease;
	}

	.header__menu-toggle .header__menu-toggle-line {
		display: none !important;
	}

	/* Hide main nav menu pe mobile */
	.header__menu,
	#header_menu,
	nav#header_menu {
		display: none !important;
	}

	/* Logo centrat pe mobile, dimensionat */
	.header__logo {
		flex: 0 1 auto;
		margin: 0 auto 0 8px;
	}

	.header__logo-image {
		height: 38px !important;
		max-width: 180px !important;
	}

	/* Actions compact pe mobile */
	.header__actions {
		gap: 0 !important;
		flex-shrink: 0;
		display: inline-flex !important;
		align-items: center;
	}

	.header__action,
	[class*="header__action--"]:not(.header__action--selectors) {
		width: 38px !important;
		height: 38px !important;
	}

	.header__action-icon,
	.header__action svg {
		width: 18px !important;
		height: 18px !important;
	}

	.header__action svg {
		width: 18px !important;
		height: 18px !important;
	}

	/* Hide selectors (limba/moneda) pe mobile - prea mult clutter */
	.header__action--selectors {
		display: none !important;
	}

	/* Hide wishlist pe ecrane foarte mici */
	@media (max-width: 374.98px) {
		.header__action--favorites {
			display: none !important;
		}
	}
}

/* === Wrapper grid layout on mobile - hamburger | logo | actions === */
@media (max-width: 991.98px) {
	.header__wrapper,
	#header_wrapper {
		display: grid !important;
		grid-template-columns: 40px 1fr auto;
		align-items: center;
	}

	.header__menu-toggle {
		grid-column: 1;
	}

	.header__logo {
		grid-column: 2;
		justify-self: center;
	}

	.header__actions {
		grid-column: 3;
		justify-self: end;
	}
}

/* === MOBILE PADDING - spatiu intre continut si margini ecran === */

@media (max-width: 767.98px) {

	/* Padding orizontal pe wrapper-ul principal de pagina */
	.page__content-wrapper {
		padding-left: 14px !important;
		padding-right: 14px !important;
		box-sizing: border-box;
	}

	/* Asigura ca header-ul de seccion (titlu + eyebrow) respecta padding-ul */
	.products-related,
	.products-related h2,
	.products-related .section-eyebrow,
	.recommended-section,
	[class*="recommended"] {
		padding-left: 0;
		padding-right: 0;
	}

	/* Grid produse - gap mai mic ca sa incapa 2 col */
	.products-grid,
	[class*="products-grid"],
	[class*="grid-format"] {
		gap: 10px !important;
	}

	/* Heading-uri seccion - aliniere stanga, NU full-bleed */
	.page__content > h1,
	.page__content > h2,
	.page__content > h3,
	.product-recommendations__title,
	[class*="recommendations"] h2 {
		padding-left: 0;
		padding-right: 0;
	}

	/* Notification bar - lasa flush cu marginile (vrem full-width) */
	.upsell-messages,
	.alert-messages,
	.banner-slot--notification_bar {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	/* Header wrapper - deja are padding 12px 14px din header fix */

	/* Footer wrapper - daca exista */
	footer .container,
	.footer__wrapper,
	#footer_wrapper {
		padding-left: 14px;
		padding-right: 14px;
	}
}

/* Foarte ingust (sub 380px) - padding mai mic ca sa nu sufoce */
@media (max-width: 379.98px) {
	.page__content-wrapper {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
}

/* ============================================
   SEARCH DRAWER FIX - bara cautare desktop
   ============================================ */

/* Drawer container (top slide-down) */
.search-drawer,
.offcanvas.search-drawer,
.offcanvas-top.search-drawer,
.offcanvas-top:has([data-search-content]) {
	background: #1a1614 !important;
	color: #FAF6EE !important;
	border-bottom: 2px solid #A0432B !important;
	padding: 16px 24px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	height: auto !important;
	min-height: 0;
}

/* Inner content centered max-width */
.search-drawer .search,
.search-drawer [data-search-content] {
	max-width: 1200px;
	margin: 0 auto;
	background: transparent;
	padding: 0;
	width: 100%;
}

/* THE FORM = pill rotund */
.search-drawer .search__form,
.search-drawer form.search__form,
[data-search-content] .search__form {
	display: flex !important;
	align-items: center !important;
	width: 100%;
	background: rgba(250, 246, 238, 0.08) !important;
	border: 1.5px solid rgba(250, 246, 238, 0.15) !important;
	border-radius: 999px !important;
	padding: 4px 8px 4px 18px !important;
	transition: all 160ms ease;
	margin: 0;
	gap: 6px;
}

.search-drawer .search__form:focus-within {
	background: rgba(250, 246, 238, 0.13) !important;
	border-color: #A0432B !important;
	box-shadow: 0 0 0 3px rgba(160, 67, 43, 0.2);
}

/* Magnifier button - inside pill, no border, transparent */
.search-drawer .search__button,
.search-drawer button.search__button,
.search-drawer .search__button.btn,
.search-drawer .search__button.btn-link {
	background: transparent !important;
	border: 0 !important;
	color: rgba(250, 246, 238, 0.55) !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	flex-shrink: 0;
	box-shadow: none !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
}

.search-drawer .search__button svg,
.search-drawer .search__button .icon {
	width: 18px !important;
	height: 18px !important;
	color: inherit !important;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
}

/* Form row reset */
.search-drawer .form__row,
.search-drawer .form__row--no-gutter,
.search-drawer [class*="form__row"] {
	flex: 1 !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	width: auto !important;
	background: transparent !important;
	border: 0 !important;
}

/* Search wrapper - just flex container for input */
.search-drawer .search__wrapper {
	display: flex !important;
	align-items: center;
	flex: 1 !important;
	min-width: 0;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* THE INPUT - clean, no border, no bg, transparent inside pill */
.search-drawer .search__input,
.search-drawer input[type="search"],
.search-drawer input.form-control,
.search-drawer .search input[type="search"] {
	width: 100% !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #FAF6EE !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	padding: 12px 8px !important;
	box-shadow: none !important;
	outline: none !important;
	height: auto !important;
	flex: 1 !important;
	min-width: 0;
	letter-spacing: 0.2px;
}

.search-drawer .search__input::placeholder,
.search-drawer input[type="search"]::placeholder {
	color: rgba(250, 246, 238, 0.45) !important;
	opacity: 1;
}

.search-drawer .search__input:focus,
.search-drawer input[type="search"]:focus {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Clear button (X la dreapta input-ului) */
.search-drawer .search__button-clear {
	flex-shrink: 0;
	padding: 6px 8px;
	cursor: pointer;
	background: transparent;
	border: 0;
	color: rgba(250, 246, 238, 0.5);
	transition: color 160ms ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

.search-drawer .search__button-clear:hover {
	color: #FAF6EE;
}

.search-drawer .search__button-clear--none,
.search-drawer .search__button-clear:empty {
	display: none !important;
}

/* Drawer close button (X drawer top-right) */
.search-drawer .btn-close,
.offcanvas-top.search-drawer .btn-close {
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: rgba(250, 246, 238, 0.1) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF6EE' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>") no-repeat center / 14px !important;
	border: 0 !important;
	opacity: 1 !important;
	margin-left: 12px;
	flex-shrink: 0;
	transition: background-color 160ms ease;
	padding: 0 !important;
}

.search-drawer .btn-close:hover {
	background-color: rgba(250, 246, 238, 0.18) !important;
}

/* Layout drawer header (cu close button) */
.search-drawer .offcanvas-header,
.offcanvas-top.search-drawer .offcanvas-header {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 1200px;
	margin: 0 auto;
	width: 100%;
}

.search-drawer .offcanvas-body,
.offcanvas-top.search-drawer .offcanvas-body {
	padding: 0 !important;
	flex: 1;
	background: transparent;
	max-width: 1200px;
	margin: 0 auto;
	width: 100%;
	display: flex;
	align-items: center;
}

/* Theme telescopika */
body.theme--telescopika .search-drawer,
body.theme--telescopika .offcanvas-top.search-drawer {
	border-bottom-color: #2D4A47 !important;
}

body.theme--telescopika .search-drawer .search__form:focus-within {
	border-color: #2D4A47 !important;
	box-shadow: 0 0 0 3px rgba(45, 74, 71, 0.2);
}

/* Mobile - drawer compact */
@media (max-width: 767.98px) {
	.search-drawer,
	.offcanvas-top.search-drawer {
		padding: 12px 14px !important;
	}

	.search-drawer .search__form {
		padding: 3px 6px 3px 14px !important;
	}

	.search-drawer .search__input {
		font-size: 13px !important;
		padding: 10px 6px !important;
	}
}
/* ============================================
   SEARCH DRAWER FIX v3 - compact bar height + wider
   ============================================ */

/* CAP DRAWER LA INALTIME COMPACTA - bara navbar style */
.offcanvas.search-drawer,
.offcanvas-top.search-drawer,
.offcanvas-bottom.search-drawer,
.search-drawer.offcanvas,
.offcanvas[class*="search"] {
	height: auto !important;
	min-height: 0 !important;
	max-height: 88px !important;
	padding: 12px 24px !important;
	display: flex !important;
	align-items: center !important;
	overflow: visible !important;
}

/* Drawer body - flex layout cu search + close, full latime intern */
.offcanvas.search-drawer .offcanvas-body,
.offcanvas-top.search-drawer .offcanvas-body,
.offcanvas-bottom.search-drawer .offcanvas-body,
.search-drawer .offcanvas-body {
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px;
	flex: 1 !important;
	width: 100% !important;
	max-width: 1480px !important;
	margin: 0 auto !important;
	overflow: visible !important;
	height: auto !important;
	min-height: 0 !important;
}

/* Header drawer (inline cu close X) - minimal */
.offcanvas.search-drawer .offcanvas-header,
.offcanvas-top.search-drawer .offcanvas-header,
.offcanvas-bottom.search-drawer .offcanvas-header,
.search-drawer .offcanvas-header {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	flex-shrink: 0 !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
}

/* Search content - wider, NU constrans la 1200 */
.search-drawer .search,
.search-drawer [data-search-content] {
	max-width: none !important;
	flex: 1 !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
}

/* Form pill - bara cautare lata */
.search-drawer .search__form,
.search-drawer form.search__form {
	width: 100% !important;
	max-width: none !important;
}

/* Daca drawer-ul e setat bottom, forteaza-l sus (sub header) */
.offcanvas-bottom.search-drawer {
	top: 0 !important;
	bottom: auto !important;
	transform: translateY(-100%);
}

.offcanvas-bottom.search-drawer.show {
	transform: translateY(0);
}

/* Mobile - drawer mai compact */
@media (max-width: 767.98px) {
	.offcanvas.search-drawer,
	.offcanvas-top.search-drawer,
	.offcanvas-bottom.search-drawer,
	.search-drawer.offcanvas {
		max-height: 72px !important;
		padding: 10px 14px !important;
	}

	.search-drawer .offcanvas-body {
		gap: 8px;
	}
}

/* === Close button FIX - rotund complet, nu ciupit === */

.search-drawer .btn-close,
.search-drawer button.btn-close,
.offcanvas.search-drawer .btn-close,
.offcanvas-top.search-drawer .btn-close,
.offcanvas-bottom.search-drawer .btn-close,
[class*="search-drawer"] .btn-close {
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	flex: 0 0 36px !important;
	aspect-ratio: 1 / 1;
	border-radius: 50% !important;
	box-sizing: border-box !important;
	padding: 0 !important;
	margin: 0 4px 0 8px !important;
	background-color: rgba(250, 246, 238, 0.1) !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF6EE' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>") !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: 14px 14px !important;
	border: 0 !important;
	opacity: 1 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	overflow: visible !important;
	transition: background-color 160ms ease;
}

.search-drawer .btn-close:hover,
[class*="search-drawer"] .btn-close:hover {
	background-color: rgba(250, 246, 238, 0.2) !important;
}

/* Permite parintilor sa NU taie butonul */
.search-drawer,
.offcanvas.search-drawer,
.offcanvas-top.search-drawer,
.offcanvas-bottom.search-drawer,
.search-drawer .offcanvas-header,
.search-drawer .offcanvas-body {
	overflow: visible !important;
}

/* Header drawer - sa aiba latime suficienta pentru buton + spatiu */
.search-drawer .offcanvas-header,
.offcanvas.search-drawer .offcanvas-header,
.offcanvas-top.search-drawer .offcanvas-header {
	flex: 0 0 auto !important;
	min-width: 48px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
}

/* Drawer right padding - sa nu fie buton lipit de margine */
.offcanvas.search-drawer,
.offcanvas-top.search-drawer,
.offcanvas-bottom.search-drawer {
	padding-right: 18px !important;
}

/* === CATALOG HEADING - eyebrow + description + meta line === */

/* Eyebrow brand label cu linie orange in stanga */
.bs-catalog-eyebrow {
	font-family: 'JetBrains Mono', 'Inter', monospace;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #A0432B;
	margin: 0 0 6px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.bs-catalog-eyebrow::before {
	content: "";
	width: 24px;
	height: 1px;
	background: #A0432B;
	flex-shrink: 0;
}

/* Description sub H1 */
.bs-catalog-description {
	font-size: 14px;
	color: #5A554E;
	line-height: 1.6;
	max-width: 720px;
	margin: 6px 0 4px;
}

.bs-catalog-description p {
	margin: 0 0 8px;
}

.bs-catalog-description p:last-child {
	margin: 0;
}

/* Meta line "X produse · sortate dupa..." */
.bs-catalog-meta {
	font-family: 'JetBrains Mono', 'Inter', monospace;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.4px;
	color: #5A554E;
	margin: 4px 0 0;
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.bs-catalog-meta strong {
	font-weight: 700;
	color: #1a1614;
	letter-spacing: 0.5px;
}

.bs-catalog-meta__sep {
	color: rgba(20, 16, 12, 0.3);
	font-weight: 400;
}

/* === Remove H1 underline (linia neagra de sub) === */
.page--catalog-products .page__heading,
.page--catalog-products h1.page__heading {
	border: 0 !important;
	border-bottom: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.page--catalog-products .page__heading::after {
	display: none !important;
	content: none !important;
}

/* Theme: Telescopika - schimba amber in pin */
body.theme--telescopika .bs-catalog-eyebrow,
body.theme--telescopika .bs-catalog-eyebrow::before {
	color: #2D4A47;
	background: #2D4A47;
}

body.theme--telescopika .bs-catalog-eyebrow {
	background: transparent;
}

/* Mobile - mai compact */
@media (max-width: 767.98px) {
	.bs-catalog-eyebrow {
		font-size: 10px;
		letter-spacing: 1.6px;
	}

	.bs-catalog-description {
		font-size: 13px;
	}

	.bs-catalog-meta {
		font-size: 10px;
	}
}

/* === CATALOG HEADING - eyebrow + H1 + sort row === */

/* Eyebrow brand label cu linie amber in stanga */
.bs-catalog-eyebrow {
	font-family: 'JetBrains Mono', 'Inter', monospace;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #A0432B;
	margin: 0 0 8px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.bs-catalog-eyebrow::before {
	content: "";
	width: 24px;
	height: 1px;
	background: #A0432B;
	flex-shrink: 0;
}

/* Row: H1 stanga | sort dropdown dreapta */
.bs-catalog-head-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	width: 100%;
}

.bs-catalog-head-row .page__heading {
	flex: 1 1 auto;
	margin: 0 !important;
}

/* Catalog actions inline cu H1 - reset card styling care era inainte */
.bs-catalog-head-row .catalog-actions {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	flex: 0 0 auto;
	width: auto !important;
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
}

/* Asigura ca facets-toggle (mobile) e ascuns pe desktop in noul layout */
.bs-catalog-head-row .facets-toggle {
	display: none;
}

/* Remove H1 underline (linia neagra de sub) */
.page--catalog-products .page__heading,
.page--catalog-products h1.page__heading {
	border: 0 !important;
	border-bottom: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.page--catalog-products .page__heading::after {
	display: none !important;
	content: none !important;
}

/* Heading area mai compact (fara description nu mai are inaltime mare) */
.page--catalog-products .page__aside-head {
	padding: 22px 24px !important;
}

/* Theme: Telescopika - schimba amber in pin */
body.theme--telescopika .bs-catalog-eyebrow {
	color: #2D4A47;
}

body.theme--telescopika .bs-catalog-eyebrow::before {
	background: #2D4A47;
}

/* Mobile - stack vertical, sort sub H1 */
@media (max-width: 767.98px) {
	.bs-catalog-head-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.bs-catalog-head-row .catalog-actions {
		width: 100% !important;
		justify-content: flex-start;
	}

	.bs-catalog-head-row .facets-toggle {
		display: inline-flex !important;
	}

	.page--catalog-products .page__aside-head {
		padding: 18px 16px !important;
	}

	.bs-catalog-eyebrow {
		font-size: 10px;
		letter-spacing: 1.6px;
	}
}

/* === FORCE flex row pentru H1 + sort === */

.page--catalog-products .bs-catalog-head-row,
.bs-catalog-head-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px;
	width: 100%;
	flex-wrap: nowrap !important;
}

.page--catalog-products .bs-catalog-head-row .page__heading,
.bs-catalog-head-row > .page__heading,
.bs-catalog-head-row > h1 {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	margin: 0 !important;
	width: auto !important;
}

.page--catalog-products .bs-catalog-head-row .catalog-actions,
.bs-catalog-head-row > .catalog-actions {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 0 0 auto !important;
	display: inline-flex !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	flex-wrap: nowrap !important;
	gap: 12px !important;
}

.page--catalog-products .bs-catalog-head-row .sort-view,
.bs-catalog-head-row .sort-view {
	margin: 0 !important;
	flex: 0 0 auto !important;
}

/* Mobile - stack vertical (H1 sus, sort sub) */
@media (max-width: 767.98px) {
	.page--catalog-products .bs-catalog-head-row,
	.bs-catalog-head-row {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px;
	}

	.page--catalog-products .bs-catalog-head-row .catalog-actions,
	.bs-catalog-head-row > .catalog-actions {
		width: 100% !important;
		margin-left: 0 !important;
	}
}

/* Theme: Telescopika eyebrow color (cand catalog e pe categoria 37) */
.bs-catalog-eyebrow {
	transition: color 200ms ease;
}

/* ============================================================
   === ETAPA 9 — CHECKOUT SINGLE-PAGE ELEVATED · START ===
   Mockup: Cowork Design/etapa9_checkout_elevated.html
   Mapping: Cowork Design/checkout_inspect/class_mapping.md
   Wrappers JS: snippets/checkout_elevated_init.html.twig (Lot 3)
   ============================================================ */

/* --- Variabile aditionale (NU suprascriu cele existente) --- */
.page--checkout {
  --bs-cream:           #F3E4D0;
  --bs-cream-light:     #FAF3E7;
  --bs-cream-dark:      #E8D4B8;
  --bs-amber:           #D4A24A;
  --bs-amber-dark:      #B8862F;
  --bs-amber-light:     #F0D896;
  --bs-ink:             #1A1A1A;
  --bs-text:            #2A2A2A;
  --bs-text-muted:      #6B6B6B;
  --bs-border-soft:     rgba(0, 0, 0, 0.10);
  --bs-border-strong:   rgba(0, 0, 0, 0.18);
  --bs-success:         #2D7A4A;
  --bs-error:           #C23A3A;
  --bs-radius-sm:       6px;
  --bs-radius-md:       10px;
  --bs-radius-lg:       14px;
  --bs-shadow-xs:       0 2px 6px rgba(0, 0, 0, 0.04);
  --bs-shadow-md:       0 4px 12px rgba(0, 0, 0, 0.06);
  --bs-shadow-lg:       0 12px 28px rgba(0, 0, 0, 0.10);
}

/* --- Page background + grid layout --- */
.page--checkout {
  background: var(--bs-cream) !important;
  min-height: 100vh;
}

.page--checkout .page__content-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 24px 20px 60px;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 32px;
  align-items: start;
}

.page--checkout .page__content {
  min-width: 0;
}

.page--checkout .page__aside-main {
  position: sticky;
  top: 20px;
  align-self: start;
}

/* --- Header pagina (logo + breadcrumb steps) --- */
.page--checkout .page__header {
  max-width: 1400px;
  margin: 0 auto;
  padding: 24px 20px 16px;
  background: transparent;
  border: 0;
}

.page--checkout .checkout-logo {
  display: inline-block;
  margin-bottom: 18px;
}

.page--checkout .checkout-logo__image {
  max-height: 48px;
  width: auto;
}

.page--checkout .checkout-tracking {
  margin-top: 4px;
}

.page--checkout .progress-steps-breadcrumbs {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bs-text-muted);
  gap: 6px;
  flex-wrap: wrap;
}

.page--checkout .progress-steps-breadcrumbs__step {
  position: relative;
  padding-right: 18px;
}

.page--checkout .progress-steps-breadcrumbs__step:not(:last-child)::after {
  content: "/";
  position: absolute;
  right: 4px;
  color: var(--bs-text-muted);
}

.page--checkout .progress-steps-breadcrumbs__step--selected .progress-steps-breadcrumbs__content {
  color: var(--bs-ink);
  font-weight: 700;
}

/* --- Page intro (H1 + subtitle) - injectat in Twig L4 --- */
.bs-page-intro {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px 8px;
}

.bs-page-intro__title {
  font-family: 'Oswald', sans-serif;
  font-size: 36px;
  font-weight: 600;
  color: var(--bs-ink);
  margin: 4px 0 6px;
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.bs-page-intro__subtitle {
  font-size: 14px;
  color: var(--bs-text-muted);
  margin: 0 0 24px;
}

/* --- 4 carduri-sectiuni (injectate prin JS L3) --- */
.bs-checkout-section {
  background: #fff;
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-lg);
  padding: 28px 28px 24px;
  box-shadow: var(--bs-shadow-xs);
  margin-bottom: 20px;
  position: relative;
  transition: box-shadow 0.2s ease;
}

.bs-checkout-section:hover {
  box-shadow: var(--bs-shadow-md);
}

.bs-checkout-section[data-step]::after {
  content: attr(data-step) " / 04";
  position: absolute;
  top: 32px;
  right: 28px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--bs-text-muted);
  letter-spacing: 0.1em;
  pointer-events: none;
}

.bs-section-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
  padding: 0 70px 16px 0;
  border-bottom: 1px solid var(--bs-border-soft);
}

.bs-section-icon {
  width: 38px;
  height: 38px;
  background: var(--bs-cream);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--bs-amber-dark);
}

.bs-section-icon svg {
  width: 18px;
  height: 18px;
}

.bs-section-title {
  font-family: 'Oswald', sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bs-ink);
  flex: 1;
  margin: 0;
}

/* Heading-urile interne MerchantPro (h2) sunt ascunse - inlocuim cu .bs-section-title */
/* Lasam form__row--heading vizibil pentru "Ai deja un cont? Autentifica-te" */
.bs-checkout-section .form__heading,
.bs-checkout-section .form__row--single-selection > label.form__label.h2 {
  display: none !important;
}

.bs-checkout-section .form__row--heading {
  margin: -10px 0 16px;
  padding: 0;
  text-align: right;
  background: transparent;
  border: 0;
}

.bs-checkout-section .form__row--heading .form__hint {
  font-size: 13px;
  color: var(--bs-text-muted);
  margin: 0;
}

.bs-checkout-section .form__row--heading .form__hint a {
  color: #A0432B;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.bs-checkout-section .form__row--heading .form__hint a:hover {
  color: #823620;
}

/* --- Form rows generale --- */
.page--checkout .form__row {
  margin-bottom: 14px;
  position: relative;
}

.page--checkout .form__row--no-gutter {
  margin-bottom: 8px;
}

/* Inputs / selects / textarea */
.page--checkout .form-control,
.page--checkout .form-select,
.page--checkout .form__email,
.page--checkout .form__text,
.page--checkout .form__phone-number,
.page--checkout .form__select,
.page--checkout .form__textarea,
.page--checkout .form__date,
.page--checkout .form__password {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  padding: 18px 14px 8px !important;
  border: 1px solid var(--bs-border-soft) !important;
  border-radius: var(--bs-radius-sm) !important;
  background: #fff !important;
  color: var(--bs-ink) !important;
  width: 100% !important;
  height: auto !important;
  min-height: 50px;
  line-height: 1.4;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-shadow: none !important;
  appearance: none;
}

.page--checkout select.form-select,
.page--checkout select.form__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 14px !important;
  padding-right: 36px !important;
}

.page--checkout .form-control:focus,
.page--checkout .form-select:focus,
.page--checkout .form__email:focus,
.page--checkout .form__text:focus,
.page--checkout .form__phone-number:focus,
.page--checkout .form__select:focus,
.page--checkout .form__textarea:focus {
  outline: none !important;
  border-color: var(--bs-amber) !important;
  box-shadow: 0 0 0 3px rgba(212, 162, 74, 0.18) !important;
}

.page--checkout .form__textarea {
  resize: vertical;
  min-height: 80px;
  padding-top: 22px !important;
}

/* --- Floating labels (pattern Bootstrap floating-label) --- */
.page--checkout .form__row--floating {
  position: relative;
}

.page--checkout .form__row--floating > .form__label {
  position: absolute;
  top: 16px;
  left: 14px;
  font-size: 14px;
  color: var(--bs-text-muted);
  font-weight: 400;
  pointer-events: none;
  transition: top 0.15s ease, font-size 0.15s ease, color 0.15s ease, background-color 0.15s ease;
  margin: 0;
  padding: 0 4px;
  background: transparent;
  z-index: 1;
}

/* Label floats up cand input are valoare sau e focused */
.page--checkout .form__row--floating .form-control:focus ~ .form__label,
.page--checkout .form__row--floating .form-control:not(:placeholder-shown) ~ .form__label,
.page--checkout .form__row--floating select.form-select ~ .form__label,
.page--checkout .form__row--floating .form__textarea:focus ~ .form__label,
.page--checkout .form__row--floating .form__textarea:not(:empty) ~ .form__label {
  top: -8px;
  font-size: 11px;
  font-weight: 600;
  color: var(--bs-amber-dark);
  background: #fff;
  padding: 0 6px;
  letter-spacing: 0.02em;
}

/* --- Helper hint --- */
.page--checkout .form__hint {
  font-size: 11px;
  color: var(--bs-text-muted);
  margin-top: 6px;
  line-height: 1.4;
}

/* --- Has-error state (added by JS L3) --- */
.page--checkout .form__row.has-error .form-control,
.page--checkout .form__row.has-error .form-select {
  border-color: var(--bs-error) !important;
  background: #FFF5F5 !important;
}

.page--checkout .form__row.has-error .form__hint {
  color: var(--bs-error);
  font-weight: 500;
}

/* --- Disabled state --- */
.page--checkout .form-control.disabled,
.page--checkout .form-select.disabled,
.page--checkout .form__label.disabled {
  background: #F5F5F5 !important;
  color: var(--bs-text-muted) !important;
  cursor: not-allowed;
}

/* --- BS field grids (2/3 col layout - injectat prin JS L3) --- */
.bs-field-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.bs-field-grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.bs-field-grid-2 > .form__row,
.bs-field-grid-3 > .form__row {
  margin-bottom: 0;
}

/* --- Tabs PF/PJ --- */
.page--checkout .form__row--tab-selector .form__single-choice--tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 22px;
  padding: 4px;
  background: var(--bs-cream-light);
  border-radius: var(--bs-radius-md);
  border: 1px solid var(--bs-cream-dark);
}

.page--checkout .form__single-choice--tabs .form__single-choice-option {
  flex: 1;
  margin: 0;
  position: relative;
}

.page--checkout .form__single-choice--tabs .form__single-choice-option-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  inset: 0;
}

.page--checkout .form__single-choice--tabs .form__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--bs-text-muted);
  cursor: pointer;
  border-radius: var(--bs-radius-sm);
  background: transparent;
  letter-spacing: 0.02em;
  transition: all 0.15s ease;
  margin: 0;
  text-align: center;
  width: 100%;
  position: static;
}

.page--checkout .form__single-choice--tabs .form__single-choice-option-input:checked + .form__label {
  background: #fff;
  color: var(--bs-ink);
  box-shadow: var(--bs-shadow-xs);
}

/* --- Toggle (checkbox) --- */
.page--checkout .form__row--toggle .form__toggle {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  background: var(--bs-cream-light);
  border: 1px solid var(--bs-cream-dark);
  border-radius: var(--bs-radius-sm);
  cursor: pointer;
  transition: all 0.15s ease;
}

.page--checkout .form__row--toggle .form__toggle:hover {
  border-color: var(--bs-amber);
  background: #FCF4E3;
}

.page--checkout .form__toggle-input {
  width: 16px;
  height: 16px;
  margin: 2px 0 0 0 !important;
  accent-color: var(--bs-amber-dark);
  flex-shrink: 0;
  cursor: pointer;
}

.page--checkout .form__row--toggle .form__label {
  font-size: 13px;
  color: var(--bs-text);
  cursor: pointer;
  line-height: 1.5;
  margin: 0;
  font-weight: 500;
  position: static;
  padding: 0;
  background: transparent;
  pointer-events: auto;
}

.page--checkout .form__row--toggle .form__label a {
  color: var(--bs-amber-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* --- Option cards (livrare / plata) --- */
.page--checkout .form__row--single-selection .form__single-choice-option {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border: 1.5px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-md);
  background: #fff;
  cursor: pointer;
  margin: 0 0 10px;
  transition: all 0.15s ease;
  position: relative;
}

.page--checkout .form__row--single-selection .form__single-choice-option:hover {
  border-color: var(--bs-amber-light);
  background: #FEFBF4;
}

.page--checkout .form__row--single-selection .form__single-choice-option--selected {
  border-color: var(--bs-amber) !important;
  background: #FCF6E8 !important;
  box-shadow: 0 0 0 3px rgba(212, 162, 74, 0.12) !important;
}

.page--checkout .form__row--single-selection .form__single-choice-option-input {
  width: 18px;
  height: 18px;
  accent-color: var(--bs-amber-dark);
  cursor: pointer;
  margin: 0 !important;
  position: static;
  opacity: 1;
}

.page--checkout .form__row--single-selection .form__single-choice-option > .form__label {
  display: contents;
  position: static;
  padding: 0;
  margin: 0;
  cursor: pointer;
  background: transparent;
  pointer-events: auto;
}

.page--checkout .label-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.page--checkout .label-content__name {
  font-weight: 600;
  font-size: 14px;
  color: var(--bs-ink);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.page--checkout .label-content__hint {
  font-size: 12px;
  color: var(--bs-text-muted);
  line-height: 1.4;
}

.page--checkout .label-extra {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: 14px;
  color: var(--bs-ink);
  text-align: right;
  white-space: nowrap;
}

.page--checkout .label-extra__icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-cream);
  border-radius: var(--bs-radius-sm);
  color: var(--bs-amber-dark);
}

.page--checkout .label-extra__icon svg.icon {
  width: 18px;
  height: 18px;
}

/* --- Disabled placeholder cards (EasyBox / Netopia injectati prin JS) --- */
.bs-option-card-disabled {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px 18px !important;
  border: 1.5px solid var(--bs-border-soft) !important;
  border-radius: var(--bs-radius-md) !important;
  background: #fff !important;
  cursor: not-allowed !important;
  margin: 0 0 10px !important;
  opacity: 0.45 !important;
  pointer-events: none !important;
}

.bs-option-card-disabled input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0;
}

.bs-option-card-disabled .bs-option-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.bs-option-card-disabled .bs-option-name {
  font-weight: 600;
  font-size: 14px;
  color: var(--bs-ink);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.bs-option-card-disabled .bs-option-desc {
  font-size: 12px;
  color: var(--bs-text-muted);
  line-height: 1.4;
}

.bs-option-card-disabled .bs-option-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-cream);
  border-radius: var(--bs-radius-sm);
  color: var(--bs-amber-dark);
}

.bs-option-card-disabled .bs-option-icon svg {
  width: 16px;
  height: 16px;
}

.bs-option-card-disabled .bs-option-price {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: 14px;
  color: var(--bs-text-muted);
  text-align: right;
}

.bs-option-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-left: 4px;
  font-family: 'Inter', sans-serif;
}

.bs-option-tag--soon {
  background: rgba(0, 0, 0, 0.06);
  color: var(--bs-text-muted);
}

.bs-option-tag--popular {
  background: var(--bs-amber);
  color: var(--bs-ink);
}

/* --- Company block (PJ - injectat prin JS) --- */
.bs-company-block {
  background: var(--bs-cream-light);
  border: 1px solid var(--bs-cream-dark);
  border-radius: var(--bs-radius-md);
  padding: 16px;
  margin-bottom: 14px;
}

.bs-company-block__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bs-amber-dark);
  margin-bottom: 12px;
  font-weight: 600;
}

.bs-contact-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bs-text-muted);
  margin: 0 0 10px;
  font-weight: 600;
}

/* --- Terms card (injectat prin JS) --- */
.bs-terms-card {
  background: var(--bs-cream-light);
  border: 1.5px solid var(--bs-cream-dark);
  border-radius: var(--bs-radius-md);
  padding: 18px 20px;
  margin: 18px 0 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bs-terms-card .form__row--toggle {
  margin: 0;
}

.bs-terms-card .form__toggle {
  background: #fff;
  border: 1px solid var(--bs-border-soft);
}

.bs-terms-card .form__row--toggle.bs-toggle-required .form__toggle {
  border-left: 3px solid var(--bs-amber);
}

/* --- Vreau cont (data-activate-row button - restilizat) --- */
body .page--checkout .form__row--password [data-activate-row] {
  width: 100%;
  justify-content: center;
  padding: 13px 16px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  background: #A0432B !important;
  border: 1.5px solid #A0432B !important;
  color: #fff !important;
  letter-spacing: 0.04em;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: var(--bs-radius-sm) !important;
}

body .page--checkout .form__row--password [data-activate-row]::before {
  content: "+ ";
  font-weight: 700;
  margin: 0;
}

body .page--checkout .form__row--password [data-activate-row]:hover {
  background: #823620 !important;
  color: #fff !important;
  border-color: #823620 !important;
}

/* --- Submit button + back link --- */
.page--checkout .form__buttons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--bs-border-soft);
  flex-wrap: wrap;
}

.page--checkout #checkout__submit.btn-primary,
.page--checkout #checkout__submit {
  background: #A0432B !important;
  color: #fff !important;
  border: none !important;
  padding: 16px 36px !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: var(--bs-radius-sm) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  transition: all 0.15s ease;
  box-shadow: 0 3px 0 #823620 !important;
}

.page--checkout #checkout__submit:hover {
  background: #823620 !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 0 var(--bs-ink) !important;
}

.page--checkout #checkout__submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

.page--checkout #checkout__cancel.btn-link,
.page--checkout #checkout__cancel {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--bs-text-muted) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  letter-spacing: 0.02em;
  padding: 8px 12px !important;
  background: transparent !important;
  border: 0 !important;
}

.page--checkout #checkout__cancel:hover {
  color: var(--bs-ink) !important;
  background: transparent !important;
}

/* --- Aside Summary (cart-summary) --- */
.page--checkout .cart-summary {
  background: #fff;
  border: 1px solid var(--bs-border-soft);
  border-radius: var(--bs-radius-lg);
  padding: 24px;
  box-shadow: var(--bs-shadow-xs);
}

.page--checkout .cart-summary__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 18px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--bs-border-soft);
  font-family: 'Oswald', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bs-ink);
}

.page--checkout .cart-summary__title > span:last-child {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.05em;
  color: var(--bs-text-muted);
  background: var(--bs-cream);
  padding: 3px 8px;
  border-radius: 10px;
}

.page--checkout .cart-summary__table-wrapper {
  margin-bottom: 14px;
}

.page--checkout .cart-summary__table {
  width: 100%;
  border-collapse: collapse;
}

.page--checkout .cart-summary__row {
  border-bottom: 1px dashed var(--bs-border-soft);
}

.page--checkout .cart-summary__cell {
  padding: 12px 0;
  vertical-align: top;
  border: 0;
}

.page--checkout .cart-summary__cell--image {
  width: 60px;
  padding-right: 12px;
}

.page--checkout .cart-summary__image {
  display: block;
  width: 60px;
  height: 60px;
  border-radius: var(--bs-radius-sm);
  overflow: hidden;
  background: var(--bs-cream-light);
}

.page--checkout .cart-summary__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page--checkout .cart-summary__cell--details {
  font-size: 12px;
  line-height: 1.45;
  color: var(--bs-text-muted);
}

.page--checkout .cart-summary__info--item-name {
  display: block;
  font-weight: 600;
  color: var(--bs-ink);
  margin-bottom: 4px;
  font-size: 13px;
  line-height: 1.4;
}

.page--checkout .cart-summary__cell--price {
  text-align: right;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  white-space: nowrap;
  padding-left: 10px;
}

.page--checkout .cart-summary__info--line-total {
  font-weight: 700;
  color: var(--bs-ink);
}

.page--checkout .cart-summary__info--line-total-undiscounted {
  display: block;
  font-size: 11px;
  color: var(--bs-text-muted);
  text-decoration: line-through;
  margin-top: 2px;
  font-weight: 400;
}

/* --- Coupon code toggle --- */
.page--checkout .coupon-code {
  margin-bottom: 14px;
}

.page--checkout .coupon-code__toggle {
  width: 100%;
  background: transparent;
  border: 1px dashed var(--bs-amber);
  border-radius: var(--bs-radius-sm);
  padding: 12px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--bs-amber-dark);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.15s ease;
}

.page--checkout .coupon-code__toggle::before {
  content: "+ ";
  margin-right: 4px;
}

.page--checkout .coupon-code__toggle::after {
  content: "▾";
  font-size: 10px;
  color: var(--bs-amber-dark);
  margin-left: 8px;
}

.page--checkout .coupon-code__toggle:hover {
  background: var(--bs-cream-light);
  border-style: solid;
}

.page--checkout .coupon-code__form {
  display: flex;
  gap: 8px;
  align-items: stretch;
  margin-top: 10px;
}

.page--checkout .coupon-code__form > label[for="coupon_code"] {
  display: none;
}

.page--checkout .coupon-code__input {
  flex: 1;
  padding: 10px 12px !important;
  font-size: 13px !important;
  border: 1px solid var(--bs-border-soft) !important;
  border-radius: var(--bs-radius-sm) !important;
  min-height: 0;
}

.page--checkout .coupon-code__button {
  background: var(--bs-amber) !important;
  border: none !important;
  color: var(--bs-ink) !important;
  font-weight: 600 !important;
  padding: 10px 16px !important;
  border-radius: var(--bs-radius-sm) !important;
  font-size: 12px !important;
  cursor: pointer;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.page--checkout .coupon-code__button:hover {
  background: var(--bs-amber-dark) !important;
  color: #fff !important;
}

/* --- Totals --- */
.page--checkout .checkout-totals {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 0;
  border-top: 1px dashed var(--bs-border-soft);
  margin-bottom: 0;
}

.page--checkout .checkout-totals__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}

.page--checkout .checkout-totals__item-label {
  color: var(--bs-text-muted);
}

.page--checkout .checkout-totals__item-value {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 500;
  color: var(--bs-text);
}

.page--checkout .checkout-totals__item--total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 14px 0 6px;
  border-top: 1px solid var(--bs-border-soft);
  margin-top: 6px;
}

.page--checkout .checkout-totals__item--total .checkout-totals__item-label {
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bs-ink);
}

.page--checkout .checkout-totals__item--total .checkout-totals__item-value {
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: var(--bs-ink);
}

/* --- Trust badges (Twig L4 - cart_summary.html.twig) --- */
.bs-summary-trust {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--bs-border-soft);
}

.bs-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11.5px;
  color: var(--bs-text-muted);
  line-height: 1.4;
}

.bs-trust-item svg {
  width: 14px;
  height: 14px;
  color: var(--bs-amber-dark);
  flex-shrink: 0;
}

/* --- Loading spinner pe submit (JS L3 inlocuieste innerHTML) --- */
@keyframes bs-spin { to { transform: rotate(360deg); } }

.bs-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-top-color: var(--bs-ink);
  border-radius: 50%;
  animation: bs-spin 0.8s linear infinite;
  vertical-align: middle;
  margin-right: 6px;
}

/* --- Mobile (< 1024px) --- */
@media (max-width: 1024px) {
  .page--checkout .page__content-wrapper {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px 14px 40px;
  }
  
  .page--checkout .page__aside-main {
    position: static;
  }
  
  .page--checkout .expand-summary {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border: 1px solid var(--bs-border-soft);
    border-radius: var(--bs-radius-md);
    padding: 14px;
    margin-bottom: 18px;
    cursor: pointer;
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-ink);
  }
  
  .page--checkout .expand-summary::after {
    content: "▾";
    font-size: 12px;
    color: var(--bs-text-muted);
  }
  
  .bs-checkout-section {
    padding: 18px 16px 14px;
  }
  
  .bs-checkout-section[data-step]::after {
    top: 22px;
    right: 16px;
  }
  
  .bs-section-header {
    margin-bottom: 16px;
    padding-bottom: 12px;
    padding-right: 50px;
  }
  
  .bs-section-title {
    font-size: 15px;
  }
  
  .bs-field-grid-2,
  .bs-field-grid-3 {
    grid-template-columns: 1fr;
  }
  
  .bs-page-intro__title {
    font-size: 24px;
  }
  
  .bs-page-intro {
    padding: 0 14px 4px;
  }
  
  .page--checkout .page__header {
    padding: 16px 14px 12px;
  }
  
  .page--checkout .form__buttons {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  
  .page--checkout #checkout__submit {
    width: 100%;
    justify-content: center;
    padding: 14px !important;
  }
  
  .page--checkout #checkout__cancel {
    text-align: center;
    justify-content: center;
  }
  
  .page--checkout .form__row--single-selection .form__single-choice-option {
    grid-template-columns: auto 1fr;
    grid-template-areas: "radio content" "price price";
    gap: 10px;
  }
  
  .page--checkout .form__row--single-selection .form__single-choice-option-input {
    grid-area: radio;
  }
  
  .page--checkout .form__row--single-selection .form__single-choice-option > .form__label {
    grid-area: content;
  }
}

/* === ETAPA 9 — PATCH 1 (header full-width + nudge cont) === */

/* Header bar negru full-width, text alb */
.page--checkout .page__header {
  max-width: none !important;
  margin: 0 !important;
  padding: 18px 40px !important;
  background: #000 !important;
  border-top: 3px solid var(--bs-amber) !important;
  border-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px;
  color: #fff;
}

/* Ascund "Sumar comanda" pe desktop (rămâne doar pe mobile) */
.page--checkout .expand-summary {
  display: none !important;
}

/* Logo */
.page--checkout .checkout-logo {
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
}

.page--checkout .checkout-logo__image {
  max-height: 36px;
  width: auto;
}

/* Breadcrumb steps — TOT textul alb */
.page--checkout .checkout-tracking {
  margin: 0 !important;
}

.page--checkout .progress-steps-breadcrumbs {
  color: rgba(255, 255, 255, 0.55) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page--checkout .progress-steps-breadcrumbs__step:not(:last-child)::after {
  color: rgba(255, 255, 255, 0.4) !important;
}

.page--checkout .progress-steps-breadcrumbs__content {
  color: rgba(255, 255, 255, 0.55) !important;
  text-decoration: none !important;
}

.page--checkout .progress-steps-breadcrumbs__step--selected .progress-steps-breadcrumbs__content {
  color: #fff !important;
  font-weight: 700 !important;
}

.page--checkout a.progress-steps-breadcrumbs__content:hover {
  color: var(--bs-amber) !important;
}

/* Nudge "Creează cont" — buton mult mai vizibil, dashed amber, full-width pe linie */
.page--checkout .form__row--password [data-activate-row] {
  width: 100%;
  justify-content: center;
  padding: 13px 16px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  background: var(--bs-cream-light) !important;
  border: 1.5px dashed var(--bs-amber) !important;
  color: var(--bs-amber-dark) !important;
  letter-spacing: 0.04em;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: var(--bs-radius-sm) !important;
}

.page--checkout .form__row--password [data-activate-row]::before {
  content: "+ ";
  font-weight: 700;
  margin: 0;
}

.page--checkout .form__row--password [data-activate-row]:hover {
  background: var(--bs-amber) !important;
  color: var(--bs-ink) !important;
  border-style: solid !important;
}

/* Mobile — header devine compact, expand-summary apare full-width sub */
@media (max-width: 1024px) {
  .page--checkout .page__header {
    padding: 14px 16px !important;
    flex-wrap: wrap;
    gap: 12px;
  }
  
  .page--checkout .expand-summary {
    display: flex !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: var(--bs-radius-md) !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    flex: 1 1 100% !important;
    order: 3 !important;
    align-items: center;
    justify-content: space-between;
  }
  
  .page--checkout .expand-summary::after {
    content: "▾";
    margin-left: 4px;
    font-size: 12px;
  }
  
  .page--checkout .checkout-logo__image {
    max-height: 28px !important;
  }
  
  .page--checkout .progress-steps-breadcrumbs {
    font-size: 9.5px !important;
    flex-wrap: wrap;
  }
}

/* === ETAPA 9 — PATCH 1 — END === */

/* === ETAPA 9 — PATCH 2 (account benefits banner) === */

.bs-account-benefits {
  margin: 12px 0 18px;
  padding: 12px 14px;
  background: var(--bs-cream-light);
  border-radius: var(--bs-radius-sm);
  border: 1px solid var(--bs-cream-dark);
  border-left: 3px solid var(--bs-amber);
}

.bs-account-benefits__title {
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: var(--bs-amber-dark);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}

.bs-account-benefits__list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 12px;
  color: var(--bs-text);
  line-height: 1.6;
}

.bs-account-benefits__list li {
  padding-left: 18px;
  position: relative;
  margin-bottom: 2px;
}

.bs-account-benefits__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--bs-success);
  font-weight: 700;
}

/* === ETAPA 9 — PATCH 2 — END === */

/* --- Uniform width pe toate cele 4 sectiuni --- */

/* Form-ul si group-urile interne sa nu adauge padding/margin orizontal */
.page--checkout #checkout {
  padding: 0 !important;
  margin: 0 !important;
}

.page--checkout .form__row[data-section-id="shipping_payment"] {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.page--checkout #checkout__shipping_payment.form__group {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  display: block !important;
  width: 100% !important;
}

.page--checkout .bs-checkout-section {
  width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- Address Colete Online (Strada+Nr / Bl+Sc+Int+Et+Ap / Reper+Alte) --- */
.bs-address-group {
  margin-bottom: 14px;
}

.bs-field-grid-strada {
  display: grid;
  grid-template-columns: 1fr 110px;
  gap: 14px;
  margin-bottom: 14px;
}

.bs-field-grid-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}

.bs-field-grid-strada > .form__row,
.bs-field-grid-5 > .form__row {
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .bs-field-grid-strada {
    grid-template-columns: 2fr 1fr;
  }
  .bs-field-grid-5 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .bs-field-grid-strada {
    grid-template-columns: 1fr 1fr;
  }
  .bs-field-grid-5 {
    grid-template-columns: 1fr 1fr;
  }
}

/* === ETAPA 9 — CHECKOUT SINGLE-PAGE ELEVATED · END === */



/* ======================================================================
   END Layer 1 (Fundament)
   ====================================================================== */