:root{
  --lux1: #1ABC9C;
  --lux2: #1ABC9C;
  --luxHot: #1ABC9C;
  --glass: rgba(0,0,0,.04);
  --line: rgba(0,0,0,.08);
  --shadow: 0 20px 60px rgba(15,15,20,.12);
  --ink: #0A0E27;
  --ember: #1ABC9C;
  --ember-deep: #1ABC9C;
  --primary-start: #1ABC9C;
  --primary-end: #1ABC9C;
  --accent-rgb: 26,188,156;
  --secondary-start: #1ABC9C;
  --secondary-end: #1ABC9C;
  --success-start: #00b894;
  --success-end: #55efc4;
  --dark: #0A0E27;
}

*{font-family: var(--site-font-family, "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);}
h1,h2,h3,h4,h5,h6,.section-title,.shop-head h2{
  font-family: var(--site-heading-font-family, var(--site-font-family, "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif));
}
.fw-extrabold{font-weight:800;}

body{
  background: rgb(253 255 241 / 1.0);
  color: #0A0E27;
  line-height: 1.6;
}

#newsletterPopupModal .modal-dialog{
  transition: transform .28s ease, opacity .28s ease;
}

#newsletterPopupModal[data-newsletter-effect="zoom"] .modal-dialog{
  transform: scale(.92) translateY(10px);
}

#newsletterPopupModal[data-newsletter-effect="zoom"].show .modal-dialog{
  transform: scale(1) translateY(0);
}

#newsletterPopupModal[data-newsletter-effect="slide_up"] .modal-dialog{
  transform: translateY(34px);
}

#newsletterPopupModal[data-newsletter-effect="slide_up"].show .modal-dialog{
  transform: translateY(0);
}

#newsletterPopupModal[data-newsletter-effect="fade"] .modal-dialog{
  transform: none;
}

.navbar-glass{
  background: rgba(0,0,0,.28) !important;
  backdrop-filter: blur(14px);
}

.brand-mark{
  width: 36px; height:36px; border-radius: 12px;
  background:
    radial-gradient(10px 10px at 30% 30%, rgba(255,255,255,.95), transparent 55%),
    linear-gradient(135deg, rgba(139,92,246,.95), rgba(34,211,238,.78));
  box-shadow: 0 16px 40px rgba(139,92,246,.20);
  display:inline-block;
}
.brand-accent{color: var(--lux2);}

.iconbtn{min-width:42px; min-height:42px; border-radius: 14px;}
.iconbtn i{font-size: 1.2rem;}
.count-badge{
  position:absolute; top:-7px; right:-7px;
  width:24px;height:24px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background: #000;
  font-size:12px; font-weight:900;
  color: #fff;
  border:2px solid rgba(255,255,255,.15);
}

.hero{
  position:relative;
}
.hero-card{
  border:1px solid var(--line);
  border-radius: 0;
  background:
    radial-gradient(600px 400px at 70% 0%, rgba(34,211,238,.10), transparent 55%),
    radial-gradient(500px 400px at 20% 20%, rgba(139,92,246,.12), transparent 50%),
    rgba(255,255,255,.04);
  box-shadow: var(--shadow);
}

.text-gradient{
  background: linear-gradient(135deg, var(--primary-start), var(--primary-end));
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
}

.glass-card{
  border:1px solid var(--line);
  border-radius: 0;
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 60px rgba(0,0,0,.25);
}
.glass-input{
  border:1px solid var(--line) !important;
  background: rgba(255,255,255,.06) !important;
}

.StripeElement{
  padding: 6px 2px;
  min-height: 22px;
}

/* Select2 glass input */
.select2-container--default .select2-selection--single{
  background: rgba(255,255,255,.06);
  border:1px solid var(--line);
  border-radius: 0;
  height: 42px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color: #fff;
  line-height: 40px;
  padding-left: 12px;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder{
  color: rgba(255,255,255,.55);
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 40px;
}
.select2-dropdown{
  background: rgba(15,18,23,.98);
  border:1px solid var(--line);
  border-radius: 0;
}
.select2-search__field{
  background: rgba(255,255,255,.06) !important;
  border:1px solid var(--line) !important;
  border-radius: 0 !important;
  color:#fff !important;
}
.select2-results__option{
  color:#fff;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background: rgba(34,211,238,.2);
  color:#fff;
}

.chip{border-radius: 999px;}
.card.product{
  border:1px solid var(--line);
  border-radius: 0;
  background: rgba(255,255,255,.04);
  overflow:hidden;
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
  transition: transform .15s ease, border-color .2s ease;
  display: flex;
  flex-direction: column;
}
.card.product:hover{transform: translateY(-2px); border-color: rgba(255,255,255,.18);}

.product-media{
  position:relative;
  height: 180px;
  display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(260px 160px at 70% 20%, rgba(34,211,238,.14), transparent 55%),
    radial-gradient(260px 160px at 20% 30%, rgba(139,92,246,.14), transparent 55%),
    rgba(255,255,255,.02);
  overflow: hidden;
}
.product-wish{
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  border-color: rgba(255,255,255,.25);
  background: rgba(0,0,0,.25);
  backdrop-filter: blur(8px);
}
.product-media img{
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.45));
}
.card.product .card-body{
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
}
.card.product .product-footer{
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.card.product h6{
  min-height: 2.6em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card.product .card-body .text-secondary.mb-2{
  min-height: 1.4em;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-tag{
  position:absolute; top:12px; left:12px;
  z-index: 2;
  border:1px solid var(--line);
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(12px);
  padding:6px 10px; border-radius:999px;
  font-size:12px; font-weight:900;
}
.product-tag.hot{border-color: rgba(245,158,11,.35); color:#ffe1a6;}

.btn-add{
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.45rem 0.95rem;
  background: linear-gradient(135deg, var(--primary-start), var(--primary-end));
  border: 0;
  box-shadow: 0 10px 26px rgba(102,126,234,.25);
}
.btn-add .btn-add-text{
  font-weight: 800;
  letter-spacing: .2px;
}
.btn-add .btn-add-icon{
  font-weight: 900;
  line-height: 1;
  font-size: 16px;
  margin-top: -1px;
}
.btn-add:hover{
  filter: brightness(1.04);
  box-shadow: 0 12px 28px rgba(118,75,162,.32);
}

.index-layout{
  position: relative;
}
.sidebar-sticky{
  position: sticky;
  top: 110px;
}
.mini-promo{
  border: 1px dashed rgba(255,255,255,.14);
  padding: 12px;
  border-radius: 0;
  background: rgba(255,255,255,.03);
}

.lista-comenzi{
  border-radius: .75rem;
  transition: transform .2s ease, box-shadow .2s ease;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.02);
  color: inherit;
}
.lista-comenzi:hover{
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.2);
}
.id-comanda{
  font-weight: 600;
}
.detalii-comanda{
  font-size: .875rem;
}
.lista-comenzi .d-flex{
  min-width: 0;
}
.img-produs{
  display: flex;
  align-items: center;
  gap: .25rem;
  margin-top: .25rem;
}
.img-produs img,
.img-produs span{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  background: rgba(255,255,255,.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
}
.img-produs img + img,
.img-produs span + span{
  margin-left: -8px;
}

@media (max-width: 576px){
  .lista-comenzi > .d-flex{
    flex-wrap: wrap;
  }
  .lista-comenzi > .d-flex > .text-end{
    width: 100%;
    text-align: left !important;
  }
  .lista-comenzi .id-comanda,
  .lista-comenzi .detalii-comanda{
    overflow-wrap: anywhere;
  }
}

.qty{
  display:flex; align-items:center; gap:6px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.06);
  padding:6px 8px; border-radius: 14px;
}
.qty button{
  width:30px;height:30px;border-radius:12px;
  border:1px solid var(--line);
  background: transparent;
  font-weight:900;
}
.qty input{
  width:40px; text-align:center;
  border:0; outline:0;
  background: transparent;
  font-weight:900;
  color: inherit;
}

/* Compare button injected on product cards */
.shop-product__compare{
  position: absolute;
  top: 10px; right: 50px;
  width: 32px; height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: rgba(10,14,39,.65);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease, background .15s ease, transform .12s ease;
  z-index: 3;
}
.shop-product__compare:hover{
  border-color: rgba(var(--accent-rgb),.7);
  color: #5a4715;
  transform: translateY(-1px);
}
.shop-product__compare.is-active{
  background: var(--lux2, var(--primary-start));
  border-color: var(--lux2, var(--primary-start));
  color: #1a1a1a;
}

/* Compare floating bar */
.qv-compare-bar{
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 1045;
  display: flex; align-items: center; gap: 14px;
  background: rgba(15,15,20,.94);
  color: #fff;
  border-radius: 18px;
  padding: 10px 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  backdrop-filter: blur(10px);
  max-width: calc(100vw - 24px);
}
.qv-compare-bar[hidden]{ display: none; }
.qv-compare-bar__items{
  display: flex; gap: 6px;
}
.qv-compare-bar__thumb{
  position: relative;
  width: 44px; height: 44px;
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
}
.qv-compare-bar__thumb img{ width: 100%; height: 100%; object-fit: contain; }
.qv-compare-bar__thumb-empty{
  width: 44px; height: 44px;
  border-radius: 10px;
  border: 1px dashed rgba(255,255,255,.18);
}
.qv-compare-bar__remove{
  position: absolute;
  top: -4px; right: -4px;
  width: 18px; height: 18px;
  border-radius: 999px;
  background: #b32636;
  color: #fff;
  border: 0;
  font-size: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  line-height: 1;
}
.qv-compare-bar__actions{ display: flex; gap: 8px; flex: 0 0 auto; }
@media (max-width: 575.98px) {
  .qv-compare-bar{ left: 12px; right: 12px; transform: none; bottom: calc(12px + env(safe-area-inset-bottom)); flex-wrap: wrap; }
}

/* Compare modal table */
.qv-compare-table-wrap{
  width: 100%;
  overflow-x: auto;
}
.qv-compare-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.qv-compare-table th,
.qv-compare-table td{
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  vertical-align: top;
  font-size: .9rem;
  min-width: 200px;
}
.qv-compare-table th:first-child,
.qv-compare-table td:first-child{
  position: sticky;
  left: 0;
  background: #fafafa;
  font-weight: 700;
  text-transform: uppercase;
  font-size: .72rem;
  letter-spacing: .06em;
  color: rgba(10,14,39,.6);
  min-width: 140px;
  z-index: 2;
}
.qv-compare-table tr:nth-child(even) td{ background: rgba(0,0,0,.015); }
.qv-compare-table .qv-compare-cell-product{
  text-align: center;
}
.qv-compare-table .qv-compare-cell-product img{
  width: 100%;
  max-width: 140px;
  aspect-ratio: 1;
  object-fit: contain;
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.06);
}
.qv-compare-table .qv-compare-cell-title{
  font-weight: 700;
  color: #0A0E27;
  font-size: 1rem;
  text-decoration: none;
  display: inline-block;
  margin-top: 8px;
}
.qv-compare-table .qv-compare-cell-title:hover{ color: var(--lux2, var(--primary-start)); }
.qv-compare-table .qv-compare-cell-price{
  font-weight: 800;
  font-size: 1.1rem;
  color: #0A0E27;
}
.qv-compare-table .qv-compare-cell-actions{
  display: flex; flex-direction: column; gap: 6px; align-items: center;
  margin-top: 6px;
}

/* Cart cross-sell — "Cumpărate împreună" — aliniat cu paleta site (gold/cream) */
.cart-cross-sell{
  border-top: 1px solid rgba(0,0,0,.08);
  padding-top: 14px;
  margin-top: 4px;
}
.cart-cross-sell__head{
  display: flex; align-items: center; gap: 8px;
  font-weight: 700;
  font-size: .92rem;
  margin-bottom: 10px;
  color: #1b1b22;
}
.cart-cross-sell__head i{ color: var(--lux2, var(--primary-start)); font-size: 1rem; }
.cart-cross-sell__list{
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  padding: 2px 2px 8px;
  -webkit-overflow-scrolling: touch;
}
.cart-cross-sell__list::-webkit-scrollbar{ height: 4px; }
.cart-cross-sell__list::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.15); border-radius: 4px; }
.cart-cross-sell__card{
  flex: 0 0 150px;
  scroll-snap-align: start;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 10px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15,15,20,.06);
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, transform .12s ease, box-shadow .15s ease;
}
.cart-cross-sell__card:hover{
  border-color: rgba(var(--accent-rgb),.6);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(var(--accent-rgb),.2);
  color: inherit;
}
.cart-cross-sell__media{
  width: 100%; aspect-ratio: 1;
  background: #f4f1ec;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 10px;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.cart-cross-sell__media img{ width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.cart-cross-sell__title{
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.3;
  color: #1b1b22;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 2.6em;
}
.cart-cross-sell__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: auto;
}
.cart-cross-sell__price-wrap{
  display: flex;
  flex-direction: column;
  line-height: 1.05;
  flex: 1 1 auto;
  min-width: 0;
}
.cart-cross-sell__price{
  font-size: .9rem;
  font-weight: 800;
  color: #1b1b22;
}
.cart-cross-sell__price-old{
  font-size: .7rem;
  color: rgba(27,27,34,.5);
  text-decoration: line-through;
  margin-top: 1px;
}
.cart-cross-sell__add{
  flex: 0 0 auto;
  width: 32px; height: 32px;
  border-radius: 999px;
  background: var(--lux2, var(--primary-start));
  color: #1a1a1a;
  border: 0;
  font-size: 1rem;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(var(--accent-rgb),.35);
  transition: transform .12s ease, background-color .15s ease, box-shadow .15s ease;
}
.cart-cross-sell__add:hover{
  transform: scale(1.08);
  background: var(--primary-start);
  box-shadow: 0 6px 14px rgba(var(--accent-rgb),.5);
  color: #1a1a1a;
}
.cart-cross-sell__add[disabled]{ opacity: .55; cursor: default; }

/* Mobile fix: padding generos sus/jos ca shadow + footer cardului să nu fie tăiate
   de overflow al scroller-ului orizontal */
@media (max-width: 575.98px) {
  .cart-cross-sell{ padding-top: 12px; }
  .cart-cross-sell__list{
    padding: 6px 2px 14px;
    gap: 8px;
    scroll-padding-right: 16px;
  }
  .cart-cross-sell__list::after{
    /* spacer ca ultimul card să nu fie lipit de marginea offcanvas-ului */
    content: ""; flex: 0 0 4px;
  }
  .cart-cross-sell__card{
    flex: 0 0 142px;
    padding: 8px;
    box-shadow: none;
  }
  .cart-cross-sell__title{ font-size: .78rem; min-height: 2.5em; }
}

/* Cart items - mobile spacing */
.cart-item__media{
  width:64px;
  height:64px;
  object-fit:contain;
}
.cart-item{
  background: #ffffff !important;
  border-color: rgba(0,0,0,.08) !important;
  box-shadow: 0 14px 30px rgba(15,15,20,.08);
}
.cart-item__media{
  background: #f4f1ec !important;
  border: 1px solid rgba(0,0,0,.06);
  padding: 6px;
}
.cart-item__top .fw-extrabold{
  font-size: 14px;
}
.cart-item__meta{
  color: rgba(27,27,34,.6) !important;
}
.cart-item__remove{
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border-color: rgba(220, 38, 38, .45) !important;
  color: #dc2626 !important;
  background: #fff;
  border-radius: 999px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex: 0 0 32px;
}
.cart-item__remove i{
  color: #dc2626 !important;
}
.cart-item__remove:hover{
  background: rgba(185, 28, 28, .08);
  border-color: rgba(185, 28, 28, .45) !important;
}
.cart-item__remove i{
  font-size: 12px;
  line-height: 1;
  display: block;
}

.empty-state__icon{
  color: #0A0E27 !important;
  font-size: 28px;
}
.cart-item__price{
  color: #111;
}
.cart-item .qty{
  border: 1px solid rgba(0,0,0,.1);
  background: #fff;
}
.cart-item .qty button{
  border-color: rgba(0,0,0,.12);
  color: #111;
}
.cart-item .qty input{
  color: #111;
}

.offcanvas#cartCanvas{
  background: #f7f5f1;
}
.offcanvas#cartCanvas .offcanvas-header{
  border-bottom-color: rgba(0,0,0,.08) !important;
}
.offcanvas#cartCanvas .offcanvas-title{
  color: #111;
}
.offcanvas#cartCanvas .btn-close{
  filter: none;
}
.cart-summary-sticky{
  position: sticky;
  bottom: 0;
  background: #f7f5f1;
  padding-top: 12px;
  padding-bottom: 12px;
  border-top: 1px solid rgba(0,0,0,.08);
  z-index: 2;
}
.offcanvas#cartCanvas .offcanvas-body{
  padding-bottom: 0;
}

.offcanvas#wishlistCanvas{
  background: #f7f5f1;
}
.offcanvas#wishlistCanvas .offcanvas-header{
  border-bottom-color: rgba(0,0,0,.08) !important;
}
.offcanvas#wishlistCanvas .offcanvas-title{
  color: #111;
}
.offcanvas#wishlistCanvas .btn-close{
  filter: none;
}
.wishlist-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 12px;
}
.wishlist-card__row{
  display: flex;
  gap: 12px;
}
.wishlist-card__row > a{
  display: block;
  flex: 0 0 68px;
}
.wishlist-card__media{
  width: 68px;
  height: 68px;
  object-fit: contain;
  background: #f4f1ec;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 6px;
  flex: 0 0 68px;
}
.wishlist-card__content{
  flex: 1;
  min-width: 0;
}
.wishlist-card__top{
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.wishlist-card__title{
  font-weight: 800;
  color: #0A0E27;
  line-height: 1.3;
}
.wishlist-card__meta{
  color: rgba(10,14,39,.62);
  font-size: 12px;
}
.wishlist-card__remove{
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 999px;
  border: 1px solid rgba(220,38,38,.42);
  color: #dc2626;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.wishlist-card__remove:hover{
  background: rgba(220,38,38,.08);
}
.wishlist-card__remove i{
  font-size: 11px;
}
.wishlist-card__bottom{
  margin-top: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.wishlist-card__price{
  font-weight: 800;
  color: #111;
}
.wishlist-empty{
  min-height: 220px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  text-align: center;
  padding: 18px;
}
.wishlist-empty__icon{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(var(--accent-rgb),.65);
  background: rgba(var(--accent-rgb),.18);
  color: #0A0E27;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.wishlist-empty__title{
  font-weight: 800;
  color: #0A0E27;
}
.wishlist-empty__text{
  color: rgba(10,14,39,.62);
  font-size: 13px;
}
.wishlist-empty--compact{
  min-height: 180px;
  margin-top: 6px;
}

.free-ship-card{
  background: #ffffff !important;
  border-color: rgba(0,0,0,.08) !important;
  box-shadow: 0 12px 28px rgba(15,15,20,.08);
}
.free-ship-card .progress{
  height: 12px !important;
  background: rgba(10,14,39,.08);
  border-radius: 999px;
  overflow: hidden;
}
.free-ship-card .progress-bar{
  background: linear-gradient(135deg, var(--primary-start), var(--primary-end));
  border-radius: 999px;
}
.progress-bar#freeShipBar{
  background: var(--primary-start) !important;
}
.free-ship-card #freeShipText{
  color: rgba(10,14,39,.7);
  font-weight: 600;
}
.free-ship-head{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.free-ship-badge{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--primary-start), var(--primary-end));
  color: #fff;
  font-size: 14px;
}
.free-ship-title{
  font-weight: 700;
  color: #0A0E27;
  font-size: 14px;
}

.voucher-disclosure{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 10px 12px;
  box-shadow: 0 10px 22px rgba(15,15,20,.06);
}
.voucher-disclosure__summary{
  cursor: pointer;
  font-weight: 600;
  color: #0A0E27;
  list-style: none;
}
.voucher-disclosure__summary::-webkit-details-marker{
  display: none;
}
.voucher-disclosure__summary::after{
  content: "+";
  float: right;
  color: rgba(10,14,39,.6);
}
.voucher-disclosure[open] .voucher-disclosure__summary::after{
  content: "–";
}
.voucher-disclosure__body{
  margin-top: 8px;
}

.cart-summary-card{
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
  box-shadow: 0 14px 30px rgba(15,15,20,.08);
}
.cart-item__row{
  align-items: flex-start;
}
.cart-item__content{
  min-width: 0;
}
.cart-item__bottom{
  margin-top: 6px;
}

@media (max-width: 576px){
  .cart-item{
    padding:14px !important;
  }
  .cart-item__row{
    display: grid !important;
    grid-template-columns: 56px 1fr;
    gap:12px !important;
    align-items: start;
  }
  .cart-item__media{
    width:56px;
    height:56px;
  }
  .cart-item__bottom{
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap:10px;
    margin-top: 6px !important;
  }
  .cart-item__content{
    min-width: 0;
  }
  .cart-item__top{
    gap:8px;
    align-items: start;
  }
  .cart-item__meta{
    font-size:12px;
  }
  .cart-item__remove{
    padding:6px 8px;
    align-self: flex-start;
  }
  .cart-item__price{
    align-self: center;
    justify-self: end;
  }
}

/* Age gate */
.agegate{
  position:fixed; inset:0; z-index: 2000;
  background: rgba(0,0,0,.70);
  backdrop-filter: blur(12px);
  display:flex; align-items:center; justify-content:center;
  padding:18px;
}
.agegate-card{
  width:min(520px, 96%);
  border:1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow);
  padding:18px;
}
.agegate-badge{
  width:52px;height:52px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  font-weight:1000;
  background: linear-gradient(135deg, var(--luxHot), rgba(255,255,255,.20));
  border:1px solid rgba(245,158,11,.35);
  margin-bottom:12px;
}
.cookie-consent{
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 18px;
  z-index: 1600;
  display: flex;
  justify-content: center;
  pointer-events: none;
}
.cookie-consent__card{
  width: min(640px, 100%);
  background: #fff;
  border: 1px solid rgba(10,14,39,.08);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(10,14,39,.18);
  padding: 14px 16px;
  display: grid;
  gap: 8px;
  pointer-events: all;
}
.cookie-consent__title{
  font-weight: 700;
  color: #0A0E27;
}
.cookie-consent__text{
  color: rgba(10,14,39,.7);
  font-size: 14px;
}
.cookie-consent__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 480px){
  .cookie-consent{
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
  .cookie-consent__actions .btn{
    flex: 1 1 auto;
  }
}

/* Modal glass */
.modal-glass{
  border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  backdrop-filter: blur(18px);
  border-radius: 22px;
}

/* Navmenu */
#navmenu{
  background: #f5c84c;
  backdrop-filter: none;
  position: relative;
  z-index: 50;
}
#navmenu ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: center;
}
#navmenu a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1b1b22;
  text-decoration: none;
  font-weight: 600;
  padding: 12px 0;
  transition: color .2s ease;
}
#navmenu a.active,
#navmenu a:hover{
  color: #000;
}
#navmenu .dropdown{
  position: relative;
}
#navmenu .dropdown > ul{
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 230px;
  background: rgba(12,14,20,.96);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 10px;
  display: none;
  box-shadow: var(--shadow);
  z-index: 60;
}
#navmenu .dropdown:hover > ul{
  display: block;
}
#navmenu .dropdown ul a{
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  font-weight: 500;
  color: rgba(255,255,255,.8);
}
#navmenu .dropdown ul a:hover{
  color: #fff;
  background: rgba(255,255,255,.08);
}
#navmenu .toggle-dropdown{
  font-size: 12px;
  opacity: .7;
}

/* ============================================================
   HEADER PREMIUM — glass sticky, accent auriu, minimalist & animat.
   Variabile (inline pe .site-header): --nav-bg --navmenu-bg --nav-text --nav-accent
   ============================================================ */
.site-header{ position: sticky; top: 0; z-index: 1000; transition: box-shadow .35s ease; }
.site-header .navbar{ background: transparent !important; border-bottom: 0 !important; transition: padding .3s ease; }
.site-header #navmenu{ background: var(--navmenu-bar-bg, transparent) !important; border-bottom: 0 !important; position: relative; }
/* Stratul de sticla (foloseste culoarea de navbar a magazinului) */
.site-header::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background: color-mix(in srgb, var(--nav-bg, #14130f) 84%, transparent);
  -webkit-backdrop-filter: blur(15px) saturate(150%); backdrop-filter: blur(15px) saturate(150%);
  border-bottom: 1px solid color-mix(in srgb, var(--nav-accent, #c2a35a) 24%, transparent);
  transition: background .35s ease;
}
.site-header.scrolled::before{ background: color-mix(in srgb, var(--nav-bg, #14130f) 96%, transparent); }
.site-header.scrolled{ box-shadow: 0 12px 44px -14px rgba(0,0,0,.55); }
.site-header.scrolled .navbar{ padding-top: 4px; padding-bottom: 4px; }

/* Logo rafinat — culoarea urmează --nav-text (ca să se schimbe cu paleta) */
.site-header .navbar-logo-text{ letter-spacing: .04em; font-weight: 600; color: var(--nav-text, #efe9dd) !important; }
/* Hamburger (☰) — preia culoarea textului nav, ca să fie vizibil pe orice fundal */
.site-header .mobile-nav-toggle{ color: var(--nav-text, #efe9dd); }
.site-header .mobile-nav-toggle:hover{ color: var(--nav-accent, #c2a35a); }

/* Cautare — minimal, focus auriu */
.site-header .search-desktop .form-control{
  background: color-mix(in srgb, var(--nav-text, #ffffff) 7%, transparent);
  border: 1px solid color-mix(in srgb, var(--nav-text, #ffffff) 15%, transparent);
  color: var(--nav-text, #efe9dd); border-radius: 999px; padding: 9px 18px;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.site-header .search-desktop .form-control::placeholder{ color: color-mix(in srgb, var(--nav-text,#fff) 42%, transparent); }
.site-header .search-desktop .form-control:focus{
  border-color: var(--nav-accent, #c2a35a);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nav-accent, #c2a35a) 18%, transparent);
}

/* Iconite — premium: rotunde, contur fin, accent auriu (suprascrie culorile solide) */
.site-header .nav-icons{ gap: 14px; }
.site-header .nav-icons > a{ color: var(--nav-text, #efe9dd) !important; font-size: 1.15rem; line-height: 1; transition: color .25s ease, transform .25s ease; }
.site-header .nav-icons > a:hover{ color: var(--nav-accent, #c2a35a) !important; transform: translateY(-1px); }
.site-header .nav-icons .iconbtn{
  background: transparent !important;
  border: 1px solid color-mix(in srgb, var(--nav-text, #ffffff) 20%, transparent) !important;
  color: var(--nav-text, #efe9dd) !important;
  width: 42px; height: 42px; border-radius: 50%; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.05rem;
  transition: border-color .25s ease, color .25s ease, transform .25s ease, background .25s ease;
}
.site-header .nav-icons .iconbtn:hover{
  border-color: var(--nav-accent, #c2a35a) !important;
  color: var(--nav-accent, #c2a35a) !important;
  background: color-mix(in srgb, var(--nav-accent, #c2a35a) 10%, transparent) !important;
  transform: translateY(-1px);
}
.site-header .nav-icons .count-badge{
  background: var(--nav-accent, #c2a35a) !important;
  color: #15130d !important;
  font: 700 .62rem/1 system-ui, sans-serif;
  min-width: 17px; height: 17px; padding: 0 4px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; border: 2px solid var(--nav-bg, #14130f);
  position: absolute; top: -5px; right: -5px;
}

/* Linkuri — minimalist lux: majuscule fine, spatiate, culoare estompata */
.site-header #navmenu a{
  color: color-mix(in srgb, var(--nav-text, #efe9dd) 76%, transparent);
  transition: color .25s ease;
}
.site-header #navmenu a:hover,
.site-header #navmenu a.active{ color: var(--nav-hover, var(--nav-text, #efe9dd)); }

@media (min-width: 1200px){
  .site-header #navmenu ul{ gap: 36px; }
  .site-header #navmenu a{
    position: relative; font-size: .77rem; font-weight: 500; letter-spacing: .15em;
    text-transform: uppercase; padding: 18px 2px;
  }
  /* Underline auriu animat din centru */
  .site-header #navmenu a::after{
    content:""; position:absolute; left:0; right:0; bottom: 12px; height: 1.5px;
    background: linear-gradient(90deg, var(--nav-accent, #c2a35a), color-mix(in srgb, var(--nav-accent,#c2a35a) 35%, transparent));
    transform: scaleX(0); transform-origin: center; transition: transform .35s cubic-bezier(.4,0,.2,1);
  }
  .site-header #navmenu a:hover::after,
  .site-header #navmenu a.active::after{ transform: scaleX(1); }
  .site-header #navmenu .dropdown ul a::after{ display: none; }

  /* Dropdown — glass, fade + slide */
  .site-header #navmenu .dropdown > ul{
    display: block; opacity: 0; visibility: hidden; transform: translateY(10px); pointer-events: none;
    background: var(--nav-dd-bg, color-mix(in srgb, var(--nav-bg, #14130f) 92%, transparent));
    -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%);
    border: 1px solid color-mix(in srgb, var(--nav-accent, #c2a35a) 22%, transparent);
    border-radius: 14px; padding: 12px; box-shadow: 0 24px 64px -18px rgba(0,0,0,.65);
    transition: opacity .28s ease, transform .28s ease, visibility .28s;
  }
  /* Punte invizibilă peste spațiul link↔dropdown, ca hover-ul să nu se piardă */
  .site-header #navmenu .dropdown > ul::before{
    content: ''; position: absolute; left: 0; right: 0; top: -16px; height: 18px;
  }
  .site-header #navmenu .dropdown:hover > ul{ opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
  .site-header #navmenu .dropdown ul a{
    text-transform: none; letter-spacing: .01em; font-size: .9rem; padding: 9px 12px;
    color: var(--nav-dd-text, color-mix(in srgb, var(--nav-text, #efe9dd) 74%, transparent));
  }
  .site-header #navmenu .dropdown ul a:hover{
    color: var(--nav-accent, #c2a35a);
    background: color-mix(in srgb, var(--nav-accent, #c2a35a) 12%, transparent);
  }
}
/* In editor: header-ul nu e sticky (sa nu intre sub bara editorului) */
body.shop-ed-active .site-header{ position: relative; }

/* ===== 5 layout-uri (peste baza premium glass). Desktop ≥1200px. ===== */
.navmenu-center-logo{ display: none; }
@media (min-width: 1200px){
  /* Logo centrat — grid 3 coloane: gol | logo centru | iconițe dreapta (centrate vertical) */
  body.nav-layout--centrat .search-desktop{ display: none !important; }
  body.nav-layout--centrat .navbar .container{ display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; }
  body.nav-layout--centrat .navbar .container > div:first-child{ grid-column: 2; justify-self: center; }
  body.nav-layout--centrat .navbar-brand{ margin: 0 !important; }
  body.nav-layout--centrat .nav-icons{ grid-column: 3; justify-self: end; margin: 0 !important; }
  body.nav-layout--centrat #navmenu ul{ justify-content: center; }

  /* Compact — un singur rând (linkuri suprapuse pe navbar) */
  body.nav-layout--compact .search-desktop{ display: none !important; }
  body.nav-layout--compact .navbar{ z-index: 51; }
  body.nav-layout--compact .navbar .container{ min-height: 64px; }
  body.nav-layout--compact #navmenu{ margin-top: -64px; position: relative; z-index: 52; pointer-events: none; }
  body.nav-layout--compact #navmenu .container{ min-height: 64px; display: flex; align-items: center; justify-content: center; }
  body.nav-layout--compact #navmenu ul{ pointer-events: auto; }
  body.nav-layout--compact #navmenu a{ padding: 8px 0; }
  body.nav-layout--compact #navmenu a::after{ bottom: 2px; }

  /* Split — logo centrat (grid, iconițe centrate vertical), linkuri spread dedesubt */
  body.nav-layout--split .search-desktop{ display: none !important; }
  body.nav-layout--split .navbar .container{ display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; }
  body.nav-layout--split .navbar .container > div:first-child{ grid-column: 2; justify-self: center; }
  body.nav-layout--split .navbar-brand{ margin: 0 !important; }
  body.nav-layout--split .nav-icons{ grid-column: 3; justify-self: end; margin: 0 !important; }
  body.nav-layout--split #navmenu ul{ justify-content: space-between; }

  /* Drawer — panou lateral glass + hamburger pe desktop */
  body.nav-layout--drawer #navmenu{
    position: fixed; top: 0; left: 0; bottom: 0; width: 300px; max-width: 84vw; z-index: 1200;
    transform: translateX(-100%); transition: transform .35s cubic-bezier(.4,0,.2,1); overflow-y: auto;
    background: color-mix(in srgb, var(--nav-bg, #14130f) 96%, transparent) !important;
    -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
    border-right: 1px solid color-mix(in srgb, var(--nav-accent, #c2a35a) 24%, transparent);
  }
  body.nav-layout--drawer.nav-open #navmenu{ transform: translateX(0); }
  /* Ridică tot header-ul (deci și panoul) peste backdrop, ca să fie clickabil */
  body.nav-layout--drawer.nav-open .site-header{ z-index: 1300; }
  body.nav-layout--drawer #navmenu .container{ max-width: 100%; padding: 70px 18px 24px; }
  body.nav-layout--drawer #navmenu ul{ flex-direction: column; align-items: stretch; gap: 2px; }
  body.nav-layout--drawer #navmenu a{ padding: 13px 14px; border-radius: 10px; width: 100%; }
  body.nav-layout--drawer #navmenu a::after{ display: none; }
  body.nav-layout--drawer.nav-open::after{ content: ''; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 1199; }
  body.nav-layout--drawer .nav-drawer-toggle{ display: inline-block; }
}
.nav-drawer-toggle{ display: inline-block; }
.nav-drawer-close{ display: none; }
body.nav-layout--drawer .nav-drawer-close{
  display: inline-flex; position: absolute; top: 16px; right: 16px; z-index: 3;
  width: 38px; height: 38px; border: 0; border-radius: 50%; cursor: pointer;
  align-items: center; justify-content: center; font-size: 1rem;
  background: color-mix(in srgb, var(--nav-text, #efe9dd) 10%, transparent);
  color: var(--nav-text, #efe9dd);
  transition: color .2s ease, background .2s ease;
}
body.nav-layout--drawer .nav-drawer-close:hover{ color: var(--nav-accent, #c2a35a); background: color-mix(in srgb, var(--nav-accent, #c2a35a) 14%, transparent); }
body.shop-ed-active .nav-drawer-close{ display: none !important; }
/* Editor: bara rămâne un rând normal editabil, indiferent de layout */
body.shop-ed-active #navmenu{ position: relative !important; transform: none !important; margin-top: 0 !important; width: auto !important; max-width: none !important; height: auto !important; pointer-events: auto !important; }
body.shop-ed-active #navmenu *{ pointer-events: auto; }
body.shop-ed-active #navmenu ul{ flex-direction: row !important; }
body.shop-ed-active .navmenu-center-logo{ display: none !important; }

.mobile-nav-toggle{
  font-size: 28px;
  cursor: pointer;
  line-height: 1;
}
.navbar-logo{
  height: 52px;
  width: auto;
  display: block;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.35));
}
/* Fallback wordmark — când magazinul nu are logo încărcat (în loc de imagine spartă). */
.navbar-logo-text{
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
  color: inherit;
  white-space: nowrap;
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}
/* Hero TEXT (fără imagini) — banner de întâmpinare cu titlu + subtitlu + buton. */
.shop-hero{
  padding: clamp(48px, 8vw, 92px) 0;
  background: rgba(var(--accent-rgb, 17,17,17), .05);
}
.shop-hero--center{ text-align: center; }
.shop-hero--left{ text-align: left; }
.shop-hero--left .shop-hero__subtitle{ margin-left: 0; margin-right: 0; }
/* Hero cu imagine de fundal — cover + strat întunecat pentru lizibilitatea textului. */
.shop-hero--image{ background-size: cover; background-position: center; position: relative; }
.shop-hero--image::before{ content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.shop-hero--image > .container{ position: relative; z-index: 1; }
.shop-hero--image .shop-hero__subtitle{ opacity: .9; }
.shop-hero__title{
  font-family: var(--site-heading-font-family, inherit);
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.02em;
  margin: 0 0 .35em;
}
.shop-hero__subtitle{
  font-size: 1.15rem;
  opacity: .72;
  max-width: 620px;
  margin: 0 auto 1.7em;
  line-height: 1.6;
}
.shop-hero .shop-hero__cta{
  font-size: 1.02rem;
  padding: 14px 34px;
}

/* ===================== Variante de hero (hero_layout) ===================== */
.shop-hero__media{ display: none; }

/* minimal — compact, aerisit */
.shop-hero--lay-minimal{ padding: clamp(34px, 5vw, 56px) 0; }
.shop-hero--lay-minimal .shop-hero__title{ font-size: clamp(1.7rem, 3.4vw, 2.6rem); }
.shop-hero--lay-minimal .shop-hero__subtitle{ font-size: 1.02rem; }

/* full — full-bleed dramatic, înalt, cu gradient pentru lizibilitate */
.shop-hero--lay-full{ min-height: 76vh; display: flex; align-items: center; padding: 0; }
.shop-hero--lay-full > .container{ padding-top: 40px; padding-bottom: 40px; width: 100%; }
.shop-hero--lay-full .shop-hero__title{ font-size: clamp(2.4rem, 6vw, 4.4rem); }
.shop-hero--lay-full .shop-hero__subtitle{ font-size: 1.25rem; max-width: 680px; }
.shop-hero--lay-full.shop-hero--image::before{ background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.6)); }

/* split — imagine pe o jumătate, text pe cealaltă */
.shop-hero--lay-split{ padding: 0; background-image: none !important; overflow: hidden; }
.shop-hero--lay-split .shop-hero__media{ display: block; background-size: cover; background-position: center; min-height: 280px; }
.shop-hero--lay-split[data-hero-edit] .shop-hero__media[data-hero-media-empty]{
  background: repeating-linear-gradient(45deg, #f0eef7, #f0eef7 12px, #e7e3f4 12px, #e7e3f4 24px);
  display: flex; align-items: center; justify-content: center;
}
.shop-hero--lay-split[data-hero-edit] .shop-hero__media[data-hero-media-empty]::after{
  content: 'Adaugă o imagine din ⚙ Hero'; color: #6b5fa6; font: 600 14px system-ui, sans-serif;
}
.shop-hero--lay-split > .container{ padding-top: 48px; padding-bottom: 48px; }
@media (min-width: 900px){
  .shop-hero--lay-split{ display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
  .shop-hero--lay-split > .container{ max-width: none; width: auto; display: flex; flex-direction: column; justify-content: center; padding: 56px 6%; margin: 0; }
  .shop-hero--lay-split .shop-hero__media{ min-height: 440px; height: 100%; }
}

/* Slider hero simplu (imagine + titlu + subtitlu + buton per slide) */
.hero-slider{
  position: relative;
  overflow: hidden;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
.hero-slider__track{
  display: flex;
  transition: transform .55s cubic-bezier(.4,0,.2,1);
  will-change: transform;
}
.hero-slider__slide{
  flex: 0 0 100%;
  min-width: 100%;
  box-sizing: border-box;
  padding: clamp(48px, 8vw, 100px) 0;
  background: rgba(var(--accent-rgb, 17,17,17), .05);
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(280px, 42vw, 460px);
}
.hero-slider__slide--center{ text-align: center; }
.hero-slider__slide--left{ text-align: left; }
.hero-slider__slide--right{ text-align: right; }
.hero-slider__slide--image{ color: #fff; }
.hero-slider__slide--image::before{ content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.42); }
.hero-slider__content{ position: relative; z-index: 1; width: 100%; }
.hero-slider__title{
  font-family: var(--site-heading-font-family, inherit);
  font-size: clamp(1.9rem, 4.6vw, 3.2rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 .35em;
}
.hero-slider__subtitle{
  font-size: 1.12rem;
  opacity: .85;
  max-width: 620px;
  margin: 0 0 1.6em;
  line-height: 1.6;
}
.hero-slider__slide--center .hero-slider__subtitle{ margin-left: auto; margin-right: auto; }
.hero-slider__slide--right .hero-slider__subtitle{ margin-left: auto; }
.hero-slider .hero-slider__cta{ font-size: 1.02rem; padding: 14px 34px; }
.hero-slider__nav{
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 3; width: 42px; height: 42px; border: 0; border-radius: 999px;
  background: rgba(0,0,0,.32); color: #fff; font-size: 24px; line-height: 1;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.hero-slider__nav:hover{ background: rgba(0,0,0,.5); }
.hero-slider__nav--prev{ left: 14px; }
.hero-slider__nav--next{ right: 14px; }
.hero-slider__dots{
  position: absolute; left: 0; right: 0; bottom: 16px; z-index: 3;
  display: flex; gap: 8px; justify-content: center;
}
.hero-slider__dot{
  width: 9px; height: 9px; border-radius: 999px; border: 0; padding: 0;
  background: rgba(0,0,0,.28); cursor: pointer; transition: background .15s, transform .15s;
}
.hero-slider__dot.is-active{ background: rgba(0,0,0,.7); transform: scale(1.2); }
.hero-slider__slide--image ~ .hero-slider__dots .hero-slider__dot,
.hero-slider--has-image .hero-slider__dot{ background: rgba(255,255,255,.55); }

/* Placeholder secțiune de produse/categorii goală (magazin fără produse încă) */
.shop-products__empty{
  flex: 1 1 100%;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  padding: clamp(32px, 6vw, 64px) 20px;
  border: 2px dashed rgba(var(--accent-rgb, 17,17,17), .18);
  border-radius: 16px;
  background: rgba(var(--accent-rgb, 17,17,17), .03);
  color: rgba(var(--accent-rgb, 17,17,17), .65);
}
.shop-products__empty-ico{ font-size: 2.2rem; opacity: .5; line-height: 1; }
.shop-products__empty-title{ font-size: 1.15rem; font-weight: 700; color: rgba(var(--accent-rgb, 17,17,17), .8); }
.shop-products__empty-sub{ font-size: .95rem; max-width: 420px; line-height: 1.55; }

/* Footer */
.site-footer{
  background: rgba(0,0,0,.32);
}
.footer-title{
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-size: 12px;
  color: rgba(255,255,255,.7);
  margin-bottom: 10px;
}
.footer-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.footer-list a{
  color: rgba(255,255,255,.82);
  text-decoration: none;
}
.footer-list a:hover{
  color: #fff;
}
.footer-icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line);
  text-decoration: none;
}
.footer-icon:hover{
  background: rgba(255,255,255,.12);
}
.footer-input{
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line);
  color: #fff;
}
.footer-input::placeholder{
  color: rgba(255,255,255,.5);
}
.footer-link-muted{
  color: rgba(255,255,255,.55);
  text-decoration: none;
}
.footer-link-muted:hover{
  color: #fff;
}
.footer-bottom{
  background: rgba(0,0,0,.25);
}

/* Search page: avoid stretched cards */
.no-stretch .card.product{
  height: auto !important;
}

/* Checkout */
.checkout-page{
  background:
    radial-gradient(900px 420px at 10% -10%, rgba(34,211,238,.18), transparent 60%),
    radial-gradient(900px 420px at 90% -10%, rgba(139,92,246,.18), transparent 60%),
    linear-gradient(180deg, rgba(7,10,15,1), rgba(11,16,32,1));
}
.is-loading > :not(.page-loader){
  opacity: 0;
  visibility: hidden;
}
.is-loading{
  overflow: hidden;
}
.page-loader{
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: linear-gradient(180deg, rgba(250,246,239,1), rgba(248,244,236,1));
  z-index: 2000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.is-loading .page-loader{
  opacity: 1;
  pointer-events: all;
}
.page-loader__spinner{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 3px solid rgba(10,14,39,.15);
  border-top-color: var(--primary-start);
  animation: pageSpinner .9s linear infinite;
}
.page-loader__text{
  font-weight: 600;
  color: #0A0E27;
}
@keyframes pageSpinner{
  to{transform: rotate(360deg);}
}
.checkout-crumbs .breadcrumb{
  --bs-breadcrumb-divider-color: rgba(10,14,39,.4);
}
.checkout-panel{
  border: 1px solid var(--line);
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.checkout-hero{
  padding-bottom: 10px;
  border-bottom: 1px dashed rgba(255,255,255,.08);
}
.checkout-toggle{
  background: rgba(0,0,0,.35);
  color: #fff;
}
.checkout-toggle:focus{
  box-shadow: none;
}
.checkout-step .accordion-button:not(.collapsed){
  background: rgba(0,0,0,.45);
  color: #fff;
}
.checkout-step .accordion-body{
  background: rgba(0,0,0,.18);
}
.option-card{
  transition: border-color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.option-card:hover{
  border-color: rgba(255,255,255,.25);
  transform: translateY(-1px);
}
.option-card input{
  accent-color: var(--lux2);
}
.checkout-page .option-card input{
  accent-color: var(--primary-start);
}
.checkout-page .form-check-input[type="radio"]{
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(10,14,39,.25);
  background: #fff;
  display: inline-grid;
  place-content: center;
}
.checkout-page .form-check-input[type="radio"]::before{
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: scale(0);
  transition: transform .12s ease;
  background: var(--primary-start);
}
.checkout-page .form-check-input[type="radio"]:checked{
  border-color: var(--primary-start);
  background: #fff;
}
.checkout-page .form-check-input[type="radio"]:checked::before{
  transform: scale(1);
}
.badge-danger-solid{
  background: #dc2626;
  color: #fff;
}
.option-card:has(input:checked){
  border-color: rgba(34,211,238,.45);
  box-shadow: none;
}
.checkout-summary{
  border: 1px solid var(--line);
  background:
    radial-gradient(600px 280px at 80% 0%, rgba(139,92,246,.12), transparent 60%),
    rgba(255,255,255,.04);
}
.checkout-summary .progress{
  background: rgba(255,255,255,.06);
}
.checkout-summary .progress-bar{
  background: linear-gradient(135deg, var(--lux1), var(--lux2));
}
.checkout-confirm{
  border-style: dashed;
}

/* Logare */
.pagina-logare{
  min-height: 100vh;
  padding: 48px 0;
}
.pagina-logare.pagina-logare--compact{
  min-height: auto;
  padding: 32px 0;
}
.logare-shell{
  max-width: 640px;
  margin: 0 auto;
  padding: 0 16px;
}
.logare-panel{
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  color: #0A0E27;
  box-shadow: none;
  padding: 28px;
}
.logare-panel .text-secondary{
  color: rgba(10,14,39,.7) !important;
}
.logare-hero{
  padding: 24px;
  border-radius: 20px;
  background: rgba(0,0,0,.35);
  border: 1px dashed rgba(255,255,255,.12);
}
.logare-hero h1{
  font-size: 32px;
  line-height: 1.1;
  margin-bottom: 12px;
}
.logare-hero p{
  color: rgba(255,255,255,.7);
  margin-bottom: 18px;
}
.logare-badges{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.logare-badge{
  border: 1px solid var(--line);
  background: rgba(255,255,255,.05);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 12px;
  color: rgba(255,255,255,.75);
}
.logare-form{
  display: grid;
  gap: 14px;
}
.logare-label{
  font-weight: 700;
  color: rgba(10,14,39,.82);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.logare-input{
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #fff;
  color: #0A0E27;
  padding: 12px 14px;
}
.logare-input::placeholder{ color: rgba(10,14,39,.45); }
.logare-actions{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.logare-link{
  color: rgba(10,14,39,.7);
  text-decoration: none;
}
.logare-link:hover{ color: #0A0E27; }
.logare-btn{
  border-radius: 14px;
  padding: 10px 16px;
  font-weight: 800;
}
.logare-alt{
  display: grid;
  gap: 10px;
}
.logare-alt-btn{
  border: 1px solid var(--line);
  background: #fff;
  color: #0A0E27;
  padding: 10px 14px;
  border-radius: 14px;
}
.logare-footer{
  color: rgba(10,14,39,.65);
  font-size: 12px;
  text-align: center;
  margin-top: 10px;
}
.logare-split{
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(10,14,39,.45);
  font-size: 12px;
}
.logare-split::before,
.logare-split::after{
  content: "";
  height: 1px;
  flex: 1;
  background: rgba(10,14,39,.10);
}
.logare-password{
  position: relative;
}
.logare-toggle{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: rgba(10,14,39,.6);
  font-size: 12px;
}
.logare-toggle:hover{ color: #0A0E27; }
@media (max-width: 992px){
  .logare-hero h1{ font-size: 26px; }
}

/* Contul meu */
.account-page .account-sidebar{
  background: #fff;
  border-color: rgba(10,14,39,.12);
  box-shadow: 0 12px 30px rgba(10,14,39,.08);
}
.account-page .account-sidebar #accountInitials{
  color: #fff;
}
.account-page .account-sidebar .list-group-item{
  background: transparent;
  color: rgba(10,14,39,.82);
  border: 0;
  border-radius: 12px;
  margin-bottom: 6px;
  padding: 10px 12px;
}
.account-page .account-sidebar .list-group-item.active{
  background: rgba(10,14,39,.10);
  color: #0A0E27;
}
.account-page .account-sidebar .list-group-item:hover{
  color: #0A0E27;
  background: rgba(10,14,39,.06);
}
.account-page .account-sidebar .list-group{
  gap: 4px;
}
.account-page .account-sidebar .collapse{
  margin-top: 8px;
}
.account-page section .glass-card{
  background: #fff;
  border-color: rgba(10,14,39,.12);
}

.pref-card{
  border:1px solid var(--line);
  border-radius: 0;
  padding: 14px 16px;
  background: #fff;
  transition: border-color .2s ease, transform .15s ease;
}
.pref-card:hover{
  border-color: rgba(255,255,255,.25);
  transform: translateY(-1px);
}
.pref-card .form-switch .form-check-input{
  width: 48px;
  height: 24px;
  background-color: rgba(var(--accent-rgb),.28);
  border:1px solid rgba(var(--accent-rgb),.65);
}
.pref-card .form-switch .form-check-input:checked{
  background-color: var(--primary-start);
  border-color: var(--primary-start);
}
.pref-card .form-switch .form-check-input:focus{
  box-shadow: 0 0 0 .2rem rgba(var(--accent-rgb),.25);
}

/* Address modal */
.address-modal{
  background:
    radial-gradient(420px 200px at 90% 0%, rgba(34,211,238,.16), transparent 60%),
    rgba(12,14,18,.92);
  border:1px solid var(--line);
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
  border-radius: 0;
}
.address-modal__header{
  background:
    linear-gradient(135deg, rgba(34,211,238,.12), rgba(139,92,246,.12)),
    rgba(255,255,255,.02);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.address-modal .form-control,
.address-modal .form-select{
  height: 44px;
  border-radius: 12px;
}
.address-modal .text-secondary.small{
  letter-spacing: .2px;
}
.address-modal .form-check-lg{
  width: 54px;
  height: 28px;
}

.empty-state{
  padding: 40px 12px 12px;
  color: #c9c9c9;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
}
.empty-state__icon{
  font-size: 2rem;
  color: rgba(255,255,255,.55);
  margin-bottom: 14px;
}
.empty-state__text{
  margin-top: 8px;
}

.order-card{
  background: rgba(255,255,255,.04);
  border:1px solid var(--line);
  box-shadow: 0 16px 46px rgba(0,0,0,.2);
  cursor: pointer;
  border-radius: 0;
}

.order-item-card{
  background: rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.1);
  border-radius: 0;
  padding: 12px;
  gap: 12px;
}
.account-page #orderItems .order-item-card.order-item-card-soft{
  background: #fcfcfd;
  border-color: rgba(10,14,39,.06);
}

.sum-voucher-row span:last-child{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.06);
  color: #e2e8f0;
  font-weight: 700;
}

.voucher-hint{
  color: rgba(10,14,39,.7);
}
.voucher-pill{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed rgba(0,0,0,.12);
  background: #fff;
  box-shadow: 0 12px 24px rgba(15,15,20,.06);
}
.voucher-pill__left{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.voucher-pill__code{
  font-weight: 800;
  letter-spacing: .3px;
}
.voucher-pill__value{
  font-size: 12px;
  color: rgba(10,14,39,.7);
}
.voucher-pill__remove{
  border: 1px solid rgba(220, 38, 38, .35);
  background: #fff;
  color: #dc2626;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.voucher-pill__remove:hover{
  background: rgba(220, 38, 38, .08);
}

/* Checkout page light theme */
.checkout-page{
  background: linear-gradient(120deg, rgba(255,240,225,.22), rgba(255,252,250,1));
  color: #0A0E27;
}
.checkout-page .navbar{
  background: #fff;
}
.checkout-page .navbar .text-white{
  color: #0A0E27 !important;
}
.checkout-page .glass-card,
.checkout-page .checkout-panel{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 18px 40px rgba(15,15,20,.08);
}
.checkout-page .accordion-item{
  border-color: rgba(0,0,0,.08) !important;
}
.checkout-page .accordion-button{
  background: #fff;
  color: #0A0E27;
}
.checkout-page .accordion-button:not(.collapsed){
  background: #fff;
  color: #0A0E27;
}
.checkout-page .accordion-body{
  background: #fff;
}
.checkout-page .option-card{
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
}
.checkout-page .bg-dark.bg-opacity-25{
  background: #fff !important;
}
.checkout-page .text-secondary{
  color: rgba(10,14,39,.65) !important;
}
.stripe-card-shell{
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 12px 26px rgba(15,15,20,.08);
}
.stripe-card-shell__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.stripe-card-shell__title{
  font-weight: 700;
  color: #0A0E27;
}
.stripe-card-shell__sub{
  font-size: 12px;
  color: rgba(10,14,39,.6);
}
.stripe-card-shell__icons{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(10,14,39,.6);
  font-size: 18px;
}
.stripe-card-shell__input{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
}
.stripe-card-shell__input .StripeElement{
  padding: 4px 0;
}
.checkout-page .form-check-input:checked{
  background-color: var(--primary-start);
  border-color: var(--primary-start);
}
.checkout-page .form-check-input:focus{
  box-shadow: 0 0 0 .2rem rgba(var(--accent-rgb),.25);
  border-color: var(--primary-start);
}
.checkout-page input[type="radio"]{
  accent-color: var(--primary-start);
}
.checkout-page input[type="radio"]:checked{
  background-color: var(--primary-start);
  border-color: var(--primary-start);
}
.checkout-page .form-check-input[type="radio"]{
  background-color: #fff;
  border-color: rgba(0,0,0,.25);
}
.checkout-page .form-check-input[type="radio"]:checked{
  background-color: var(--primary-start);
  border-color: var(--primary-start);
}
.pickup-modal{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  color: #0A0E27;
}
.pickup-modal .modal-header{
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.pickup-modal .modal-title{
  color: #0A0E27;
}
.pickup-modal .btn-close{
  filter: none;
}
.address-modal-light{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  color: #0A0E27;
}
.address-modal-light .modal-header{
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.address-modal__header{
  background: #fff !important;
}
.address-modal-light .text-secondary{
  color: rgba(10,14,39,.65) !important;
}
.address-modal-light .glass-input{
  background: #fff !important;
  border-color: rgba(0,0,0,.12) !important;
  color: #0A0E27 !important;
}
.address-modal-light .select2-container--default .select2-selection--single{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  color: #0A0E27 !important;
}
.address-modal-light .select2-container--default .select2-selection--single .select2-selection__rendered{
  color: #0A0E27 !important;
}
.address-modal-light .select2-container--default .select2-selection--single .select2-selection__placeholder{
  color: rgba(10,14,39,.55) !important;
}
.address-modal-light .select2-dropdown{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.12) !important;
}
.address-modal-light .select2-search__field{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  color: #0A0E27 !important;
}
.address-modal-light .select2-results__option{
  color: #0A0E27 !important;
}
.address-modal-light .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background: var(--primary-start) !important;
  color: #fff !important;
}
.address-modal-light .select2-results{
  background: #fff !important;
}

/* Select2 global light dropdown for county list */
.select2-dropdown{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.12) !important;
}
.select2-search__field{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  color: #0A0E27 !important;
}
.select2-results__option{
  color: #0A0E27 !important;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background: var(--primary-start) !important;
  color: #fff !important;
}
.address-modal-light .btn-close{
  filter: none;
}
.address-modal-light .form-check-lg{
  width: 3rem;
  height: 1.6rem;
}
.address-modal-light .form-check-lg:checked{
  background-color: var(--primary-start);
  border-color: var(--primary-start);
}
.address-modal-light .form-check-lg:focus{
  box-shadow: 0 0 0 .2rem rgba(var(--accent-rgb),.25);
}
.address-modal-light .form-check-input{
  background-color: var(--primary-start);
  border-color: var(--primary-start);
}
.address-modal-light .form-check-input:focus{
  box-shadow: 0 0 0 .2rem rgba(var(--accent-rgb),.25);
}
.address-modal-light .form-switch .form-check-input{
  background-color: var(--primary-start);
  border-color: var(--primary-start);
  background-image: radial-gradient(circle at center, #f5f5f5 6px, transparent 7px);
  background-size: 1rem 1rem;
  background-position: left 0.25rem center;
  background-repeat: no-repeat;
}
.address-modal-light .form-switch .form-check-input:checked{
  background-color: var(--primary-start);
  border-color: var(--primary-start);
  background-position: right 0.25rem center;
}
.pickup-branch{
  background: #fff;
  color: #0A0E27;
  border-color: rgba(0,0,0,.12);
}
.pickup-branch small{
  color: rgba(10,14,39,.7);
}
.pickup-branch.is-selected{
  border-color: var(--primary-start) !important;
  background: rgba(var(--accent-rgb),.14) !important;
}
.order-item-thumb{
  width: 52px;
  height: 52px;
  border-radius: 0;
  background: #fff;
  border:1px solid rgba(10,14,39,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: rgba(10,14,39,.4);
  font-size: 11px;
}
.order-item-thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 576px){
  .order-item-card{
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    border-radius: 0;
    padding: 12px;
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.12);
  }
  .order-item-card > .d-flex{
    min-width: 0;
    flex: 1 1 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .order-item-card .fw-extrabold{
    width: 100%;
    text-align: right;
    font-size: 1rem;
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 8px;
    margin-top: 2px;
  }
  .order-item-thumb{
    width: 100%;
    height: 140px;
    border-radius: 0;
  }
  .order-item-card .d-flex.align-items-center.flex-wrap.gap-1{
    align-items: flex-start;
  }
  .order-item-card .d-flex.align-items-center.flex-wrap.gap-1 > .fw-semibold{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .order-item-card .badge{
    margin-left: 0 !important;
  }
  .order-item-card .text-secondary.small{
    margin-top: 2px;
  }
}

.summary-box{
  margin-left: auto;
  max-width: 260px;
  text-align: right;
}
.summary-row{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 6px 0;
}
.summary-total{
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 10px;
  margin-top: 4px;
}

.address-card{
  position: relative;
  background:
    radial-gradient(320px 160px at 85% 0%, rgba(34,211,238,.18), transparent 60%),
    rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.25);
  transition: transform .15s ease, border-color .2s ease, box-shadow .2s ease;
  padding-left: 18px;
}
.address-card::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:4px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(34,211,238,.8), rgba(139,92,246,.8));
}
.address-card:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.25) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.address-card .badge{
  font-size: 11px;
  padding: 6px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(34,211,238,.35), rgba(139,92,246,.35));
  border:1px solid rgba(255,255,255,.2);
}
.address-card .btn{
  border-radius: 999px;
}

@media (max-width: 991.98px){
  #navmenu ul{
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 6px 0;
  }
  #navmenu li{
    width: 100%;
  }
  #navmenu a{
    width: 100%;
    padding: 12px 6px;
    justify-content: space-between;
  }
  #navmenu .dropdown > ul{
    position: static;
    display: none;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0 0 10px 12px;
  }
  #navmenu .dropdown.open > ul{
    display: block;
  }
}

@media (max-width: 1199.98px){
  #navmenu{
    display: none;
  }
  body.nav-open #navmenu{
    display: block;
  }
  .search-mobile{
    display: block;
  }
}

.home-theme{
  position: relative;
  overflow: hidden;
}

.home-hero{
  padding: 80px 0 50px;
  position: relative;
}
.home-hero::before,
.home-hero::after{
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  filter: blur(0px);
  opacity: 0.28;
  z-index: 0;
}
.home-hero::before{
  background: radial-gradient(circle, rgba(255,93,58,.65), transparent 70%);
  top: -140px;
  left: -120px;
}
.home-hero::after{
  background: radial-gradient(circle, rgba(255,179,71,.5), transparent 70%);
  top: -160px;
  right: -140px;
}
.home-hero .container{
  position: relative;
  z-index: 1;
}

.hero-kicker{
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 12px;
  color: rgba(27,27,34,.6);
}
.home-title{
  font-family: "Bebas Neue", "Sora", sans-serif;
  font-size: clamp(2.6rem, 4vw, 4.2rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.hero-sub{
  max-width: 520px;
}
.hero-cta .btn{
  min-width: 160px;
}
.hero-trust{
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.trust-item{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  box-shadow: 0 12px 30px rgba(15,15,20,.08);
}
.trust-item i{
  font-size: 18px;
  color: var(--lux2);
}

.hero-stack{
  display: grid;
  gap: 16px;
}
.hero-card-main{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  padding: 24px;
  position: relative;
  box-shadow: 0 20px 60px rgba(15,15,20,.12);
}
.hero-badge{
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 6px 10px;
  background: var(--ember);
  color: #fff;
}
.hero-shot{
  height: 220px;
  border-radius: 18px;
  background:
    linear-gradient(160deg, rgba(255,93,58,.28), rgba(255,179,71,.18)),
    radial-gradient(120px 80px at 30% 20%, rgba(255,255,255,.6), transparent 60%),
    #f2efe9;
  margin-bottom: 16px;
}
.hero-meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.price{
  text-align: right;
}
.price-main{
  font-size: 20px;
  font-weight: 800;
}
.price-old{
  font-size: 12px;
  text-decoration: line-through;
  color: rgba(27,27,34,.5);
}
.hero-card-mini{
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  padding: 16px 18px;
}

.home-marquee{
  border-top: 1px solid rgba(0,0,0,.08);
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding: 18px 0;
}
.marquee-track{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: rgba(27,27,34,.6);
}

.section-title{
  margin-bottom: 28px;
}

.home-collections .category-card{
  display: block;
  padding: 26px;
  height: 100%;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  color: inherit;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease;
}
.home-collections .category-card:hover{
  transform: translateY(-4px);
  border-color: rgba(0,0,0,.16);
}
.category-card::after{
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.35;
  background: radial-gradient(200px 140px at 100% 0%, rgba(255,255,255,.35), transparent 65%);
  pointer-events: none;
}
.category-tag{
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  color: rgba(27,27,34,.6);
}
.category-title{
  font-size: 20px;
  font-weight: 800;
  margin: 10px 0 6px;
}
.category-meta{
  color: rgba(27,27,34,.6);
  font-size: 13px;
}
.category-card--disposable{background: linear-gradient(135deg, rgba(255,93,58,.16), rgba(255,255,255,1));}
.category-card--pod{background: linear-gradient(135deg, rgba(255,179,71,.14), rgba(255,255,255,1));}
.category-card--liquid{background: linear-gradient(135deg, rgba(255,115,100,.16), rgba(255,255,255,1));}
.category-card--nic{background: linear-gradient(135deg, rgba(255,60,45,.16), rgba(255,255,255,1));}
.category-card--brand{background: linear-gradient(135deg, rgba(255,200,120,.16), rgba(255,255,255,1));}
.category-card--gear{background: linear-gradient(135deg, rgba(255,150,90,.16), rgba(255,255,255,1));}

.home-feature{
  padding: 40px 0;
}
.feature-card{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(120deg, rgba(255,93,58,.18), rgba(255,255,255,1));
  padding: 28px;
}
.feature-kicker{
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  color: rgba(27,27,34,.7);
}
.feature-price{
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 12px;
}
.feature-cta{
  min-width: 200px;
}

.home-products .product-card{
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.product-thumb{
  height: 180px;
  background: linear-gradient(135deg, rgba(255,255,255,.8), rgba(245,241,236,.9));
}
.product-thumb--one{background: linear-gradient(135deg, rgba(255,93,58,.35), rgba(18,18,23,.7));}
.product-thumb--two{background: linear-gradient(135deg, rgba(255,179,71,.35), rgba(18,18,23,.7));}
.product-thumb--three{background: linear-gradient(135deg, rgba(255,120,90,.35), rgba(18,18,23,.7));}
.product-thumb--four{background: linear-gradient(135deg, rgba(255,140,80,.35), rgba(18,18,23,.7));}
.product-thumb--five{background: linear-gradient(135deg, rgba(255,70,60,.35), rgba(18,18,23,.7));}
.product-thumb--six{background: linear-gradient(135deg, rgba(255,200,120,.35), rgba(18,18,23,.7));}
.product-body{
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.product-tags{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.product-title{
  font-weight: 700;
}
.product-meta{
  color: rgba(27,27,34,.6);
  font-size: 13px;
}
.product-footer{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.home-story{
  padding: 60px 0;
}
.story-card{
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  padding: 28px;
}
.story-kicker{
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  color: rgba(27,27,34,.6);
  margin-bottom: 10px;
}
.story-stats{
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  margin-top: 20px;
}
.stat-value{
  font-size: 22px;
  font-weight: 800;
}
.stat-label{
  font-size: 12px;
  color: rgba(27,27,34,.6);
}
.story-grid{
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.story-tile{
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  padding: 20px;
}
.tile-title{
  font-weight: 700;
  margin-bottom: 6px;
}

.home-cta{
  padding: 40px 0 80px;
}
.cta-card{
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(120deg, rgba(255,93,58,.2), rgba(255,255,255,1));
  padding: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
}
.cta-kicker{
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  color: rgba(27,27,34,.7);
}
.cta-form{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.cta-form .form-control{
  min-width: 240px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  color: #111;
}

@media (max-width: 991.98px){
  .home-hero{
    padding-top: 60px;
  }
  .feature-card,
  .cta-card{
    text-align: left;
  }
  .product-footer{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

/* Light header adjustments */
.navbar{
  background: #fff;
}
.navbar .text-white{
  color: #1b1b22 !important;
}
.navbar .btn-outline-light{
  color: #1b1b22;
  border-color: rgba(0,0,0,.12);
}
.navbar .btn-outline-light:hover{
  background: rgba(0,0,0,.04);
}
.navbar .btn-primary{
  background: var(--ember);
  border-color: var(--ember);
}
.search-suggest{
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 12px;
  box-shadow: 0 14px 30px rgba(15,15,20,.12);
  z-index: 120;
  max-height: min(62vh, 460px);
  overflow: auto;
}
.search-suggest__item{
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  text-decoration: none;
  color: #1b1b22;
}
.search-suggest__item + .search-suggest__item{
  border-top: 1px solid rgba(0,0,0,.06);
}
.search-suggest__item:hover{
  background: rgba(0,0,0,.03);
}
.search-suggest__media{
  width: 44px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.08);
  background: #f5f5f5;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.search-suggest__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.search-suggest__content{
  min-width: 0;
  display: grid;
  gap: 2px;
}
.search-suggest__title{
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-suggest__meta{
  font-size: 12px;
  color: rgba(27,27,34,.65);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.navbar-logo{
  filter: none;
}

#navmenu{
  background: #f5c84c;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
#navmenu a{
  color: #1b1b22;
}
#navmenu a.active,
#navmenu a:hover{
  color: #000;
}
#navmenu .dropdown > ul{
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 40px rgba(15,15,20,.12);
}
#navmenu .dropdown ul a{
  color: #1b1b22;
}
#navmenu .dropdown ul a:hover{
  color: #1b1b22;
  background: rgba(0,0,0,.04);
}

/* Home - Elfbar inspired */
.elf-hero{
  padding: 70px 0 40px;
  background: radial-gradient(1200px 500px at 10% -10%, rgba(255,93,58,.18), transparent 55%),
              radial-gradient(900px 600px at 90% -20%, rgba(255,179,71,.18), transparent 60%);
}
.hero-grid{
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: center;
}
.hero-kicker{
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 12px;
  color: rgba(27,27,34,.6);
}
.hero-title{
  font-family: "Bebas Neue", "Poppins", sans-serif;
  font-size: clamp(2.8rem, 5vw, 4.4rem);
  letter-spacing: .04em;
  margin: 12px 0 16px;
}
.hero-sub{
  max-width: 520px;
  color: rgba(27,27,34,.75);
}
.hero-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 10px;
}
.hero-actions .btn-primary{
  background: var(--ember);
  border-color: var(--ember);
}
.hero-actions .btn-outline-dark{
  border-color: rgba(0,0,0,.2);
}
.hero-chips{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.chip-btn{
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
}
.hero-trust{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.trust-pill{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(27,27,34,.75);
}
.trust-pill i{
  color: var(--ember);
}

.hero-side{
  display: grid;
  gap: 16px;
}
.banner-card{
  padding: 24px;
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(135deg, rgba(255,93,58,.18), #fff);
  box-shadow: 0 25px 60px rgba(15,15,20,.12);
  position: relative;
}
.banner-card--primary .btn-light{
  background: #111;
  color: #fff;
}
.banner-badge{
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--ember);
  color: #fff;
  padding: 6px 10px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  border-radius: 999px;
}
.banner-title{
  font-size: 22px;
  font-weight: 700;
}
.banner-sub{
  color: rgba(27,27,34,.6);
  margin: 4px 0 12px;
}
.banner-price{
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 14px;
}
.banner-price .price{
  font-weight: 800;
  font-size: 20px;
}
.banner-price .price-old{
  font-size: 12px;
  text-decoration: line-through;
  color: rgba(27,27,34,.5);
}
.banner-mini{
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 16px;
  padding: 18px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
}
.mini-kicker{
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .14em;
  color: rgba(27,27,34,.5);
}
.mini-title{
  font-weight: 700;
}
.mini-sub{
  color: rgba(27,27,34,.6);
  font-size: 13px;
}
.mini-badge{
  background: rgba(255,93,58,.15);
  color: var(--ember-deep);
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 999px;
}

.benefits-strip{
  padding: 24px 0;
}
.benefits-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
}
.benefit-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 14px;
}
.benefit-card i{
  font-size: 22px;
  color: var(--ember);
}
.benefit-title{
  font-weight: 700;
}
.benefit-sub{
  color: rgba(27,27,34,.6);
  font-size: 13px;
}

.brand-strip{
  padding: 20px 0 10px;
}
.brand-row{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  text-align: center;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .16em;
  color: rgba(27,27,34,.55);
}

.collections{
  padding: 50px 0;
}
.section-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.section-head h2{
  font-weight: 700;
  margin-bottom: 6px;
}
.section-head p{
  color: rgba(27,27,34,.6);
}
.collection-card{
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 20px;
  padding: 24px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  min-height: 180px;
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.collection-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(15,15,20,.12);
}
.collection-tag{
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .14em;
  color: rgba(27,27,34,.5);
}
.collection-title{
  font-weight: 700;
  font-size: 20px;
  margin: 8px 0 6px;
}
.collection-sub{
  color: rgba(27,27,34,.6);
  font-size: 13px;
}
.collection-card--disposable{background: linear-gradient(135deg, rgba(255,93,58,.18), #fff);}
.collection-card--pod{background: linear-gradient(135deg, rgba(255,179,71,.16), #fff);}
.collection-card--liquid{background: linear-gradient(135deg, rgba(255,115,100,.16), #fff);}
.collection-card--starter{background: linear-gradient(135deg, rgba(255,150,90,.16), #fff);}
.collection-card--nic{background: linear-gradient(135deg, rgba(255,60,45,.16), #fff);}
.collection-card--acc{background: linear-gradient(135deg, rgba(255,200,120,.16), #fff);}

.promo-banner{
  padding: 20px 0 50px;
}
.promo-card{
  border-radius: 22px;
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(120deg, rgba(255,93,58,.2), #fff);
  padding: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.promo-kicker{
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 12px;
  color: rgba(27,27,34,.5);
}
.promo-card h3{
  font-weight: 700;
  margin: 8px 0;
}
.promo-card p{
  color: rgba(27,27,34,.6);
}
.promo-tags{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.promo-tags span{
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
}
.promo-action{
  min-width: 180px;
  text-align: right;
}
.promo-price{
  font-size: 26px;
  font-weight: 800;
  margin-bottom: 10px;
}

.products{
  padding: 40px 0 60px;
}
.tab-pills{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.tab-pill{
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 13px;
}
.tab-pill.active{
  background: var(--ember);
  color: #fff;
  border-color: var(--ember);
}
.product-tile{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.product-tile .product-thumb{
  height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.product-tile .product-thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-info{
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.product-tags{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.product-tags span{
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
}
.product-name{
  font-weight: 700;
}
.product-meta{
  color: rgba(27,27,34,.6);
  font-size: 13px;
}
.product-footer{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.product-footer .price{
  font-weight: 700;
  color: #111;
}

.flavors{
  padding: 20px 0 60px;
}
.flavor-card{
  border-radius: 18px;
  padding: 24px;
  min-height: 140px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}
.flavor-title{
  font-weight: 700;
  font-size: 18px;
}
.flavor-sub{
  color: rgba(27,27,34,.6);
  font-size: 13px;
}
.flavor-card--fresh{background: linear-gradient(135deg, rgba(120,210,255,.18), #fff);}
.flavor-card--fruit{background: linear-gradient(135deg, rgba(255,180,90,.18), #fff);}
.flavor-card--dessert{background: linear-gradient(135deg, rgba(255,120,150,.18), #fff);}
.flavor-card--classic{background: linear-gradient(135deg, rgba(190,160,120,.18), #fff);}

.newsletter{
  padding: 40px 0 80px;
}
.newsletter-card{
  border-radius: 22px;
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(120deg, rgba(255,93,58,.2), #fff);
  padding: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.newsletter-kicker{
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 12px;
  color: rgba(27,27,34,.5);
}
.newsletter-form{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.newsletter-form .form-control{
  min-width: 240px;
  border: 1px solid rgba(0,0,0,.12);
}

@media (max-width: 991.98px){
  .hero-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .promo-action{
    text-align: left;
  }
  .product-footer{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
.product-thumb--one{background: linear-gradient(135deg, rgba(255,93,58,.3), rgba(255,255,255,.9));}
.product-thumb--two{background: linear-gradient(135deg, rgba(255,179,71,.3), rgba(255,255,255,.9));}
.product-thumb--three{background: linear-gradient(135deg, rgba(120,140,255,.25), rgba(255,255,255,.9));}
.product-thumb--four{background: linear-gradient(135deg, rgba(255,130,170,.25), rgba(255,255,255,.9));}
.product-thumb--five{background: linear-gradient(135deg, rgba(120,220,180,.25), rgba(255,255,255,.9));}
.product-thumb--six{background: linear-gradient(135deg, rgba(255,200,120,.3), rgba(255,255,255,.9));}
.product-thumb--seven{background: linear-gradient(135deg, rgba(150,200,255,.25), rgba(255,255,255,.9));}
.product-thumb--eight{background: linear-gradient(135deg, rgba(255,160,90,.28), rgba(255,255,255,.9));}

/* Zero theme */
html, body{
  width: 100%;
  overflow-x: hidden;
}
body{
  background: #f4f1ed;
  color: #1d1c1a;
}

.home-zero{
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background-image: none;
  background-color: #f4f1ed;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-top: 0;
}
.homepage-editorial{
  --homepage-editorial-surface: rgba(255,247,240,.92);
  --homepage-editorial-surface-strong: rgba(255,243,232,.96);
  --homepage-editorial-text: #1d1c1a;
  --homepage-editorial-muted: #9b6b4e;
  --homepage-editorial-cta-bg: #1d1c1a;
  --homepage-editorial-cta-text: #ffffff;
  --homepage-editorial-radius: 0px;
  --homepage-editorial-shadow: none;
  --homepage-editorial-image-radius: calc(var(--homepage-editorial-radius) * .85);
  --homepage-editorial-image-shadow: 0 26px 50px rgba(50,33,21,.16);
  padding: 56px 0 12px;
}
.homepage-editorial__grid{
  display: grid;
  gap: 28px;
  align-items: center;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  padding: 32px;
  border-radius: var(--homepage-editorial-radius);
  background-color: var(--homepage-editorial-surface);
  background-image: linear-gradient(135deg, var(--homepage-editorial-surface-strong), var(--homepage-editorial-surface));
  background-size: cover;
  background-position: center;
  border: 0;
  box-shadow: var(--homepage-editorial-shadow);
}
.homepage-editorial__content{
  max-width: 640px;
}
.homepage-editorial__eyebrow{
  margin-bottom: 14px;
  font-size: var(--homepage-editorial-eyebrow-size, 12px);
  text-align: var(--homepage-editorial-eyebrow-align, left);
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  color: var(--homepage-editorial-muted);
}
.homepage-subtitle{
  text-transform:none;
  letter-spacing:normal;
}
.homepage-subtitle-case--normal{
  text-transform:none;
}
.homepage-subtitle-case--uppercase{
  text-transform:uppercase;
}
.homepage-subtitle-case--lowercase{
  text-transform:lowercase;
}
.homepage-editorial__title{
  margin: 0;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.02;
  font-weight: 700;
  color: var(--homepage-editorial-text);
}
.homepage-editorial__body{
  margin-top: 18px;
  color: var(--homepage-editorial-text);
  font-size: 15px;
  line-height: 1.8;
}
.homepage-editorial__body p,
.homepage-editorial__body ul,
.homepage-editorial__body ol{
  margin-bottom: 0.9em;
}
.homepage-editorial__body ul,
.homepage-editorial__body ol{
  padding-left: 1.2em;
}
.homepage-editorial__body a{
  color: inherit;
  text-decoration: underline;
}
.homepage-editorial__actions{
  margin-top: 26px;
  display: flex;
}
.homepage-editorial__actions--countdown-mobile{
  display: none;
}
.homepage-editorial__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--homepage-editorial-cta-bg);
  color: var(--homepage-editorial-cta-text);
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background-color .2s ease, transform .2s ease;
}
.homepage-editorial__cta:hover{
  background: var(--homepage-editorial-cta-bg);
  color: var(--homepage-editorial-cta-text);
  transform: translateY(-1px);
  filter: brightness(.94);
}
.homepage-editorial__media{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
}
.homepage-editorial__media img{
  display: block;
  width: 100%;
  max-width: 480px;
  height: auto;
  max-height: 420px;
  object-fit: contain;
  border-radius: var(--homepage-editorial-image-radius);
  box-shadow: var(--homepage-editorial-image-shadow);
}
.homepage-editorial__placeholder{
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 420px);
  min-height: 320px;
  border-radius: var(--homepage-editorial-image-radius);
  border: 1px dashed rgba(29,28,26,.18);
  background: rgba(255,255,255,.5);
  color: rgba(29,28,26,.45);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 12px;
  font-weight: 700;
}
.homepage-editorial--image-circle .homepage-editorial__media img,
.homepage-editorial--image-circle .homepage-editorial__placeholder{
  width: 320px;
  max-width: min(100%, 320px);
  min-height: 320px;
  height: 320px;
  border-radius: 50%;
  object-fit: cover;
}
.homepage-editorial--image_left .homepage-editorial__grid{
  grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr);
}
.homepage-editorial--image_left .homepage-editorial__media{
  order: 1;
}
.homepage-editorial--image_left .homepage-editorial__content{
  order: 2;
}
.homepage-editorial--image_right .homepage-editorial__media{
  order: 2;
}
.homepage-editorial--image_right .homepage-editorial__content{
  order: 1;
}
.homepage-editorial--image_center .homepage-editorial__grid{
  grid-template-columns: 1fr;
  text-align: center;
}
.homepage-editorial--image_center .homepage-editorial__content{
  max-width: 760px;
  margin: 0 auto;
}
.homepage-editorial--image_center .homepage-editorial__actions{
  justify-content: center;
}
.homepage-editorial--image_center .homepage-editorial__media{
  min-height: 0;
  padding-top: 4px;
}
.homepage-editorial__media--coupon .flavor-showcase__coupon{
  max-width: 420px;
}
.homepage-editorial__media--newsletter,
.homepage-editorial__media--product{
  width: 100%;
}
.shop-products--gallery .shop-head__lead{
  margin-top: 10px;
}
.shop-products--reviews .shop-head__lead{
  margin-top: 10px;
}
.shop-products--usp .shop-head__lead{
  margin-top: 10px;
}
.shop-products--usp .shop-carousel__item{
  flex: 0 0 calc((100% - (var(--homepage-usp-gap, 16px) * (var(--homepage-usp-columns, 3) - 1))) / var(--homepage-usp-columns, 3));
  width: calc((100% - (var(--homepage-usp-gap, 16px) * (var(--homepage-usp-columns, 3) - 1))) / var(--homepage-usp-columns, 3));
}
.homepage-usp-grid{
  display: grid;
  grid-template-columns: repeat(var(--homepage-usp-columns, 3), minmax(0, 1fr));
  gap: var(--homepage-usp-gap, 16px);
}
.homepage-usp-card{
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
  padding: 24px;
  border-radius: var(--homepage-usp-card-radius, 24px);
  border: 1px solid rgba(29,28,26,.08);
  background: var(--homepage-usp-card-bg, #fff);
  color: var(--homepage-usp-card-text, #1d1c1a);
  text-decoration: none;
}
.homepage-usp-card:hover{
  color: var(--homepage-usp-card-text, #1d1c1a);
  text-decoration: none;
}
.homepage-usp-card__icon-badge{
  width: var(--homepage-usp-icon-size, 52px);
  height: var(--homepage-usp-icon-size, 52px);
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--homepage-usp-icon-bg, var(--homepage-usp-accent, #2563eb));
  color: var(--homepage-usp-accent-text, #ffffff);
  font-size: calc(var(--homepage-usp-icon-size, 52px) * .42);
  margin-bottom: 18px;
}
.homepage-usp-card__icon{
  width: var(--homepage-usp-icon-size, 52px);
  height: var(--homepage-usp-icon-size, 52px);
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--homepage-usp-icon-bg, rgba(29,28,26,.06));
  color: var(--homepage-usp-icon-color, currentColor);
  font-size: calc(var(--homepage-usp-icon-size, 52px) * .46);
}
.homepage-usp-card__head{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.homepage-usp-card__title{
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}
.homepage-usp-card__title-link,
.homepage-usp-card__title-link:hover{
  color: inherit;
  text-decoration: none;
}
.homepage-usp-card__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:auto;
  color:var(--homepage-usp-accent, #2563eb);
  font-weight:600;
  text-decoration:none;
}
.homepage-usp-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:40px;
  margin-top:auto;
  padding:0 14px;
  border-radius:12px;
  background:var(--homepage-usp-accent, #2563eb);
  color:var(--homepage-usp-accent-text, #ffffff);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}
.homepage-usp-card__button:hover,
.homepage-usp-card__link:hover{
  color:var(--homepage-usp-accent-text, #ffffff);
  text-decoration:none;
}
.homepage-usp-card__link:hover{
  color:var(--homepage-usp-accent, #2563eb);
}
.homepage-usp-card__body{
  line-height: 1.7;
  opacity: .82;
  font-size: 15px;
}
.shop-products--usp-layout-columns_icons .homepage-usp-card{
  gap:14px;
}
.shop-products--usp-layout-columns_icons.shop-products--usp-text-center .homepage-usp-card__icon-badge{
  margin-inline:auto;
}
.shop-products--usp-layout-hanging_icons .homepage-usp-card{
  gap:14px;
}
.shop-products--usp-layout-hanging_icons .homepage-usp-card__head{
  align-items:flex-start;
}
.shop-products--usp-layout-hanging_icons .homepage-usp-card__icon{
  width:40px;
  height:40px;
  border-radius:12px;
  background:rgba(29,28,26,.06);
}
.shop-products--usp-layout-icon_grid .homepage-usp-grid{
  grid-template-columns: repeat(var(--homepage-usp-columns, 4), minmax(0, 1fr));
}
.shop-products--usp-layout-icon_grid .shop-head > div{
  flex: 1 1 100%;
  width: 100%;
}
.shop-products--usp .shop-head > div{
  flex: 1 1 100%;
  width: 100%;
}
.shop-products--usp .shop-head .homepage-subtitle{
  display:block;
  width:100%;
}
.shop-products--usp-layout-icon_grid .homepage-usp-card{
  gap:8px;
}
.shop-products--usp-layout-icon_grid .homepage-usp-card__head{
  flex-direction:row;
  align-items:flex-start;
  gap:10px;
}
.shop-products--usp-layout-icon_grid .homepage-usp-card__icon{
  width:18px;
  height:18px;
  border-radius:0;
  background:transparent;
  font-size:18px;
  flex:0 0 18px;
}
.shop-products--usp-layout-icon_grid .homepage-usp-card__title{
  font-size:17px;
}
.shop-products--usp-layout-icon_grid .homepage-usp-card__body{
  padding-left:28px;
  font-size:13px;
}
.homepage-usp-featured{
  display:grid;
  grid-template-columns:minmax(240px, 1.05fr) minmax(0, 1.4fr);
  gap:32px;
  align-items:start;
}
.homepage-usp-featured__intro{
  display:grid;
  gap:16px;
}
.homepage-usp-featured__items{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--homepage-usp-gap, 16px);
}
.shop-products--usp-layout-features_title .homepage-usp-card{
  gap:14px;
}
.shop-products--usp-layout-features_title .homepage-usp-card__icon-badge{
  margin-bottom:12px;
}
.shop-products--usp-icon-left .homepage-usp-card__head{
  flex-direction: row;
  align-items: flex-start;
}
.shop-products--usp-text-center .homepage-usp-card{
  text-align:center;
  align-items:center;
}
.shop-products--usp-text-center .homepage-usp-card__head{
  align-items:center;
}
.shop-products--usp-compact .homepage-usp-card{
  padding:16px;
  gap:10px;
}
.shop-products--usp-compact .homepage-usp-card__title{
  font-size:16px;
}
.shop-products--usp-compact .homepage-usp-card__body{
  font-size:13px;
  line-height:1.5;
}
.homepage-banner-section{
  padding: clamp(44px, 7vw, 72px) 0;
}
.homepage-banner-section__surface{
  padding: clamp(24px, 4vw, 36px);
  border-radius: var(--homepage-banner-section-radius, 0px);
  box-shadow: var(--homepage-banner-section-shadow, none);
  background: var(--homepage-banner-section-surface, transparent);
}
.homepage-banner-section__head{
  width: min(100%, 760px);
  margin-bottom: 28px;
}
.homepage-banner-section__head .shop-head__lead{
  margin-top: 12px;
}
.homepage-banner-grid{
  display: grid;
  grid-template-columns: repeat(var(--homepage-banner-columns, 2), minmax(0, 1fr));
  gap: var(--homepage-banner-gap, 20px);
}
.homepage-banner-grid--triple{
  grid-template-columns: repeat(var(--homepage-banner-columns, 3), minmax(0, 1fr));
}
.homepage-banner-grid--quad{
  grid-template-columns: repeat(var(--homepage-banner-columns, 4), minmax(0, 1fr));
}
.homepage-banner-card{
  position: relative;
  min-height: var(--homepage-banner-card-height, clamp(300px, 35vw, 460px));
  border-radius: var(--homepage-banner-radius, 28px);
  overflow: hidden;
  background: rgba(20, 20, 20, .92);
  color: var(--homepage-banner-text, #ffffff);
  isolation: isolate;
}
.homepage-banner-card__media,
.homepage-banner-card__media img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.homepage-banner-card__media img{
  display: block;
  object-fit: cover;
}
.homepage-banner-card__overlay{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(14, 14, 14, .08) 0%, rgba(14, 14, 14, .28) 36%, rgba(14, 14, 14, .72) 100%);
  z-index: 1;
}
.homepage-banner-card__content{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: var(--homepage-banner-content-justify, flex-end);
  align-items: var(--homepage-banner-content-align, flex-start);
  min-height: inherit;
  padding: clamp(22px, 4vw, 34px);
  color: var(--homepage-banner-text, #ffffff);
  text-align: var(--homepage-banner-text-align, left);
}
.homepage-banner-card__title{
  margin: 0;
  font-size: var(--homepage-banner-title-size, clamp(26px, 3vw, 38px));
  line-height: 1.02;
  color: inherit;
}
.homepage-banner-card__body{
  margin-top: 12px;
  max-width: 34ch;
  font-size: 15px;
  line-height: 1.65;
  color: inherit;
  opacity: .94;
}
.homepage-banner-card__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 18px;
  padding: 0 18px;
  border-radius: var(--homepage-banner-button-radius, 999px);
  background: var(--homepage-banner-cta-bg, #1d1c1a);
  color: var(--homepage-banner-cta-text, #ffffff);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .01em;
}
.homepage-banner-card__cta:hover{
  color: var(--homepage-banner-cta-text, #ffffff);
  text-decoration: none;
}
.homepage-banner-card__stretch{
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  text-indent:-9999px;
}
.homepage-banner-card__content .homepage-banner-card__cta{
  position:relative;
  z-index:3;
}
.homepage-gallery{
  width: 100%;
}
.homepage-gallery__frame{
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(29,28,26,.08);
  background: #fff;
  aspect-ratio: 4 / 3;
  min-height: clamp(180px, calc(220px * var(--homepage-gallery-size, 100) / 100), 520px);
}
.homepage-gallery__frame img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: zoom-in;
}
.shop-carousel__track--list .homepage-gallery__frame{
  aspect-ratio: 16 / 11;
}
.shop-products--gallery .shop-carousel__item{
  flex: 0 0 clamp(220px, calc(240px * var(--homepage-gallery-size, 100) / 100), 520px);
  width: clamp(220px, calc(240px * var(--homepage-gallery-size, 100) / 100), 520px);
  max-width: none;
}
.shop-products--gallery .shop-carousel__track--list .shop-carousel__item{
  flex: 0 0 calc(25% - 12px);
  width: calc(25% - 12px);
}
.shop-products--gallery .homepage-gallery-grid{
  display:grid !important;
  width:100%;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:var(--homepage-gallery-gap, 16px);
  align-items:start;
}
.shop-products--gallery .homepage-gallery-grid__item{
  min-width:0;
  width:100%;
}
.shop-products--gallery .homepage-gallery-grid__item .homepage-gallery{
  width:100%;
}
.homepage-gallery-grid .homepage-gallery__frame{
  min-height:clamp(180px, calc(220px * var(--homepage-gallery-size, 100) / 100), 520px);
}
.shop-products--gallery[data-gallery-gap="0"] .shop-carousel__track{
  gap: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.shop-products--gallery[data-gallery-gap="0"] .homepage-gallery__frame{
  border: 0 !important;
}
.shop-products--gallery[data-gallery-gap="0"] .shop-carousel__track--list .shop-carousel__item{
  flex: 0 0 25%;
  width: 25%;
}
@media (max-width: 991.98px){
  .homepage-usp-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .shop-products--usp-layout-icon_grid .homepage-usp-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .homepage-usp-featured{
    grid-template-columns:1fr;
  }
  .homepage-banner-grid,
  .homepage-banner-grid--triple,
  .homepage-banner-grid--quad{
    grid-template-columns: 1fr;
  }
  .homepage-banner-card{
    min-height: 280px;
  }
  .shop-products--gallery .shop-carousel__track--list .shop-carousel__item{
    flex: 0 0 calc(50% - 8px);
    width: calc(50% - 8px);
  }
  .shop-products--gallery .homepage-gallery-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 575.98px){
  .homepage-usp-grid{
    grid-template-columns: 1fr;
  }
  .shop-products--usp-layout-icon_grid .homepage-usp-grid,
  .homepage-usp-featured__items{
    grid-template-columns:1fr;
  }
  .shop-products--usp .shop-carousel__item{
    flex: 0 0 100%;
    width: 100%;
  }
  .homepage-banner-section{
    padding: 34px 0;
  }
  .homepage-banner-section__surface{
    padding: 18px;
  }
  .homepage-banner-card{
    min-height: 240px;
    border-radius: 22px;
  }
  .homepage-banner-card__content{
    padding: 18px;
  }
  .homepage-banner-card__title{
    font-size: 22px;
  }
  .shop-products--gallery .shop-carousel__item,
  .shop-products--gallery .shop-carousel__track--list .shop-carousel__item{
    flex: 0 0 100%;
    width: 100%;
  }
  .shop-products--gallery .homepage-gallery-grid{
    grid-template-columns:1fr !important;
  }
}
.gallery-lightbox-open{
  overflow: hidden;
}
.homepage-gallery-lightbox{
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(10,10,10,.88);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
}
.homepage-gallery-lightbox.is-open{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.homepage-gallery-lightbox__dialog{
  position: relative;
  max-width: min(92vw, 1280px);
  max-height: 88vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.homepage-gallery-lightbox__image{
  display: block;
  max-width: 100%;
  max-height: 88vh;
  width: auto;
  height: auto;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}
.homepage-gallery-lightbox__close{
  position: absolute;
  top: -14px;
  right: -14px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #1d1c1a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.homepage-gallery-lightbox__nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #1d1c1a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.homepage-gallery-lightbox__nav--prev{
  left: -68px;
}
.homepage-gallery-lightbox__nav--next{
  right: -68px;
}
.homepage-gallery-lightbox__nav[disabled]{
  opacity: .45;
  cursor: default;
}
@media (max-width: 767.98px){
  .homepage-gallery-lightbox{
    padding: 16px;
  }
  .homepage-gallery-lightbox__dialog{
    max-width: 100%;
    max-height: 84vh;
  }
  .homepage-gallery-lightbox__image{
    max-height: 84vh;
    border-radius: 14px;
  }
  .homepage-gallery-lightbox__close{
    top: -10px;
    right: -2px;
  }
  .homepage-gallery-lightbox__nav{
    width: 40px;
    height: 40px;
  }
  .homepage-gallery-lightbox__nav--prev{
    left: 6px;
  }
  .homepage-gallery-lightbox__nav--next{
    right: 6px;
  }
}
.homepage-review-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100%;
  padding:24px;
  border-radius:24px;
  border:1px solid rgba(29,28,26,.08);
  background:#fff;
  color:#1d1c1a;
}
.homepage-review-card__stars{
  color:#f2c94c;
  font-size:16px;
  line-height:1;
  letter-spacing:.08em;
}
.homepage-review-card__body{
  font-size:15px;
  line-height:1.75;
}
.homepage-review-card__author{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.homepage-review-card__name{
  font-size:15px;
  font-weight:700;
}
.homepage-review-card__role{
  font-size:12px;
  color:rgba(29,28,26,.62);
}
.homepage-review-card__role a{
  color:inherit;
  text-decoration:none;
}
.homepage-review-card__role a:hover{
  color:inherit;
  text-decoration:none;
}
.homepage-faq{
  display: grid;
  gap: 12px;
  width: 100%;
}
.homepage-faq__item{
  border: 1px solid rgba(29,28,26,.1);
  border-radius: 20px;
  background: var(--homepage-faq-card-bg, rgba(255,255,255,.72));
  overflow: hidden;
}
.homepage-faq__question{
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 18px 22px;
  cursor: pointer;
  color: var(--homepage-faq-card-text, var(--homepage-editorial-text));
  font-size: 16px;
  font-weight: 700;
}
.homepage-faq__question::-webkit-details-marker{
  display: none;
}
.homepage-faq__icon{
  flex: 0 0 auto;
}
.homepage-faq__icon--minus{
  display: none;
}
.homepage-faq__item[open] .homepage-faq__icon--plus{
  display: none;
}
.homepage-faq__item[open] .homepage-faq__icon--minus{
  display: inline-block;
}
.homepage-faq__answer{
  padding: 0 22px 18px;
  color: var(--homepage-faq-card-text, var(--homepage-editorial-text));
  opacity: .78;
  line-height: 1.7;
}
.homepage-editorial--faq .homepage-editorial__grid{
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  align-items: start;
}
.homepage-editorial--faq .homepage-editorial__content{
  padding-top: 6px;
  width: 100%;
  max-width: 100%;
}
.homepage-editorial--faq_left .homepage-editorial__grid{
  grid-template-columns: minmax(320px, 1.1fr) minmax(0, .9fr);
}
.homepage-editorial--faq_left .homepage-faq{
  order: 1;
}
.homepage-editorial--faq_left .homepage-editorial__content{
  order: 2;
}
.homepage-editorial--faq_right .homepage-faq{
  order: 2;
}
.homepage-editorial--faq_right .homepage-editorial__content{
  order: 1;
}
.homepage-editorial--full_width .homepage-editorial__grid{
  grid-template-columns: 1fr;
}
.homepage-editorial--full_width .homepage-editorial__content{
  width: 100%;
  max-width: 100%;
}
.homepage-editorial--full_width .homepage-faq{
  width: 100%;
}
.homepage-editorial__media--product .shop-carousel__item{
  flex: 0 0 clamp(220px, 23vw, 280px);
  width: clamp(220px, 23vw, 280px);
  max-width: 100%;
  min-width: 0;
}
.homepage-editorial__media--product .shop-product{
  width: 100%;
  min-width: 0;
}
.homepage-editorial__media--product .shop-product__media{
  min-height: 0;
}
.homepage-editorial__media--product .shop-product__title,
.homepage-editorial__media--product .shop-product__meta,
.homepage-editorial__media--product .shop-product__price,
.homepage-editorial__media--product .shop-product__old,
.homepage-editorial__media--product .shop-product__vat,
.homepage-editorial__media--product .shop-product__period-inline{
  overflow-wrap: anywhere;
  word-break: break-word;
}
.homepage-editorial__media--product .shop-product__footer,
.homepage-editorial__media--product .shop-product__pricing{
  min-width: 0;
}
.homepage-editorial__media--product .shop-product__media img{
  max-width: none;
  max-height: none;
  height: 100%;
  border-radius: 0;
  box-shadow: none;
}
.homepage-editorial--image-circle .homepage-editorial__media--product .shop-product__media img{
  width: 100%;
  max-width: none;
  min-height: 0;
  height: 100%;
  border-radius: 0;
  object-fit: contain;
}
.homepage-newsletter-card{
  width: min(100%, 420px);
  padding: 24px;
  border: 1px solid rgba(29,28,26,.08);
  background: rgba(255,255,255,.78);
}
.homepage-newsletter-form{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.homepage-newsletter-form .form-control{
  min-width: 0;
  min-height: 50px;
  border-radius: 0 !important;
}
.homepage-newsletter-form .homepage-editorial__cta{
  width: 100%;
  border: 0;
  box-shadow: none;
  border-radius: 0 !important;
}
.homepage-newsletter-form--rounded .form-control,
.homepage-newsletter-form--rounded .homepage-editorial__cta{
  border-radius: 999px !important;
}
.homepage-newsletter-status{
  min-height: 20px;
  color: var(--homepage-editorial-text);
}
.homepage-newsletter-status.is-error{
  color: #b43f24;
}
.homepage-newsletter-note{
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.6;
  color: rgba(29,28,26,.6);
}
.homepage-newsletter-consent{
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #1d1c1a;
  cursor: pointer;
}
.homepage-newsletter-consent input[type="checkbox"]{
  margin-top: 3px;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
}
.homepage-newsletter-consent--off{
  opacity: .5;
}

.shop-hero{
  padding: 90px 0 50px;
  background:
    radial-gradient(900px 420px at 10% -10%, rgba(255,222,190,.55), transparent 60%),
    radial-gradient(900px 420px at 90% 0%, rgba(255,239,214,.6), transparent 60%),
    linear-gradient(120deg, rgba(255,242,228,.75), rgba(255,252,248,.95));
  background-color: #f7f2ec;
}
.shop-hero__grid{
  display: grid;
  gap: 36px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  align-items: center;
}
.shop-hero__slider{
  position: relative;
  overflow: hidden;
}
.shop-hero__track{
  display: flex;
  transition: transform .6s ease;
  will-change: transform;
}
.shop-hero__slide{
  min-width: 100%;
}
.shop-hero__controls{
  position: absolute;
  right: 12px;
  top: 12px;
  display: flex;
  gap: 8px;
}
.shop-hero__dots{
  position: absolute;
  left: 12px;
  bottom: 14px;
  display: flex;
  gap: 8px;
}
.shop-hero__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.2);
  background: rgba(255,255,255,.8);
}
.shop-hero__dot.is-active{
  background: var(--primary-start);
  border-color: var(--primary-start);
}
.hero-image-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 22px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 280px;
  box-shadow: 0 28px 70px rgba(20,20,20,.12);
}
.hero-image-card img{
  width: 100%;
  height: auto;
  object-fit: contain;
}
.hero-image-card__placeholder{
  color: rgba(29,28,26,.6);
}
.hero-text-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 22px;
  padding: 24px;
  min-height: 220px;
  box-shadow: 0 28px 70px rgba(20,20,20,.12);
}
.hero-text-card__title{
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 8px;
}
.hero-text-card__sub{
  color: rgba(29,28,26,.7);
}
@media (max-width: 768px){
  .shop-hero__controls{
    top: auto;
    bottom: 10px;
    right: 12px;
  }
  .shop-hero__dots{
    left: 12px;
    bottom: 12px;
  }
}
.shop-kicker{
  text-transform: uppercase;
  letter-spacing: .28em;
  font-size: 11px;
  color: rgba(29,28,26,.55);
}
.shop-title{
  font-family: "Playfair Display", "Bebas Neue", "Poppins", serif;
  font-size: clamp(2.6rem, 5vw, 4.4rem);
  margin: 14px 0 14px;
}
.shop-sub{
  max-width: 520px;
  color: rgba(29,28,26,.72);
}
.shop-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 20px 0 12px;
}
.shop-stats{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.stat-value{
  font-weight: 700;
  font-size: 18px;
}
.stat-label{
  font-size: 12px;
  color: rgba(29,28,26,.6);
}

.shop-hero__card .hero-card{
  background: #fff;
  border-radius: 22px;
  border: 1px solid rgba(0,0,0,.08);
  padding: 22px;
  box-shadow: 0 28px 70px rgba(20,20,20,.12);
  position: relative;
}
.hero-card__badge{
  position: absolute;
  top: 16px;
  right: 16px;
  background: #1d1c1a;
  color: #fff;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hero-card__media{
  height: 220px;
  border-radius: 16px;
  background: #f6f2ed;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.hero-card__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.hero-card__title{
  font-weight: 700;
  font-size: 20px;
}
.hero-card__meta{
  color: rgba(29,28,26,.6);
  margin-bottom: 10px;
}
.hero-card__price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 700;
  margin-bottom: 12px;
}
.hero-card__price small{
  color: rgba(29,28,26,.5);
  text-decoration: line-through;
}
.hero-card__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.shop-marquee{
  padding: 18px 0;
  background: transparent;
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.shop-hero,
.shop-marquee,
.shop-products,
.shop-collections{
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
.marquee-line{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .14em;
  color: #1b1b22;
}
.marquee-line span{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.marquee-line a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  text-decoration: none;
}
.marquee-line i{
  font-size: 20px;
}
.marquee-line svg{
  width: 22px;
  height: 22px;
  display: block;
}

.shop-collections,
.shop-products{
  padding: 50px 0;
}
.shop-products--contained{
  width: 100%;
  margin-left: 0;
}
.shop-collections{
  background-color: transparent;
}
.shop-collections--index{
  background: transparent;
}
.flavor-showcase{
  padding: 0;
  background: transparent;
  border-top: 0;
  border-bottom: 0;
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 0;
}
.flavor-showcase::before,
.flavor-showcase::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 70px;
  background: radial-gradient(120px 40px at 50% 0, rgba(0,0,0,.08), transparent 70%);
  opacity: .25;
}
.flavor-showcase::before{
  top: -1px;
}
.flavor-showcase::after{
  bottom: -1px;
  transform: scaleY(-1);
}
.flavor-showcase__wrap{
  position: relative;
  overflow: hidden;
  border-radius: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
.flavor-showcase__loader{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--flavor-bg, #f6efe7) 88%, white 12%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
  z-index: 4;
}
.flavor-showcase__loader.is-visible{
  opacity: 1;
}
.flavor-showcase__loader-spinner{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 3px solid rgba(255,255,255,.45);
  border-top-color: #1d1c1a;
  animation: flavorLoaderSpin .85s linear infinite;
}
.flavor-showcase__track{
  display: flex;
  transition: transform .6s ease;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
@keyframes flavorLoaderSpin{
  to{ transform: rotate(360deg); }
}
.flavor-showcase--single .flavor-showcase__grid{
  padding-top: 60px;
  padding-bottom: 92px;
}
.flavor-showcase__track--empty{
  display: block;
}
.flavor-showcase__empty{
  min-height: 320px;
  min-height: 340px;
  width: 100%;
  display: grid;
  place-items: center;
  font-weight: 600;
  color: rgba(0,0,0,.55);
  letter-spacing: .02em;
}
.flavor-showcase__slide{
  min-width: 100%;
  width: 100%;
  flex: 0 0 100%;
  position: relative;
  overflow: hidden;
  min-height: 540px;
  --flavor-bg-image-current: none;
  --fx: 0px;
  --fy: 0px;
  isolation: isolate;
}
.flavor-showcase__slide::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--flavor-bg);
  background-image: var(--flavor-bg-image-current, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: var(--flavor-bg-opacity, 1);
  z-index: 0;
  transform: translate3d(var(--fx), var(--fy), 0) scale(1.05);
  transition: transform .35s ease;
  will-change: transform;
}
.flavor-showcase__slide--promo .flavor-showcase__grid{
  grid-template-columns: minmax(280px, 760px);
  justify-content: start;
}
.flavor-showcase__slide--promo .flavor-showcase__grid--promo-badge{
  grid-template-columns: minmax(320px, 1fr) minmax(220px, 280px);
  justify-content: space-between;
}
.flavor-showcase__slide--promo .flavor-showcase__grid--promo-coupon{
  grid-template-columns: minmax(320px, 1fr) minmax(240px, 320px);
  justify-content: space-between;
}
.flavor-showcase__slide--promo .flavor-showcase__grid--promo-countdown{
  grid-template-columns: minmax(320px, 1fr) minmax(300px, 360px);
  justify-content: space-between;
}
.flavor-showcase__grid{
  display: grid;
  grid-template-columns: 1fr minmax(220px, 320px) 1fr;
  gap: 24px;
  align-items: center;
  min-height: 540px;
  padding: 50px 28px;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  color: var(--flavor-text, #1d1c1a);
}
.flavor-showcase__left{
  text-align: left;
  position: relative;
  z-index: 2;
}
.flavor-showcase__tag{
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .16em;
  margin-bottom: 12px;
  color: var(--flavor-text, #1d1c1a);
  opacity: .7;
}
.flavor-showcase__title{
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  margin: 0 0 18px;
  color: var(--flavor-text, #1d1c1a);
}
.flavor-showcase__cta{
  border-radius: 999px;
  padding: 10px 18px;
  background: var(--flavor-bg, #fff);
  border-color: var(--flavor-bg, #fff);
  color: var(--flavor-text, #1d1c1a);
}
.flavor-showcase__cta-wrap{
  position: absolute;
  left: 50%;
  bottom: 52px;
  transform: translateX(-50%);
  z-index: 20;
  display: flex;
  justify-content: center;
  width: min(100%, 420px);
  padding: 0 16px;
  pointer-events: auto;
}
.flavor-showcase__cta-wrap .flavor-showcase__cta{
  min-width: 180px;
  justify-content: center;
  position: relative;
  z-index: 21;
  pointer-events: auto;
}
.flavor-showcase__cta:hover{
  filter: brightness(.98);
}
.flavor-showcase__coupon{
  --coupon-bg: #f4c84d;
  --coupon-fg: #1d1c1a;
  --coupon-accent: var(--coupon-fg);
  --coupon-side-width: 84px;
  display: grid;
  grid-template-columns: var(--coupon-side-width) minmax(0, 1fr);
  align-items: stretch;
  width: min(100%, 380px);
  min-height: 196px;
  color: var(--coupon-fg);
  position: relative;
  overflow: visible;
  cursor: pointer;
}
.flavor-showcase__coupon:focus-visible{
  outline: 2px solid rgba(255,255,255,.9);
  outline-offset: 6px;
}
.flavor-showcase__coupon-shape{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  color: var(--coupon-bg);
  filter: drop-shadow(0 18px 32px rgba(0,0,0,.16));
  z-index: 0;
}
.flavor-showcase__coupon-side{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 10px;
  z-index: 1;
}
.flavor-showcase__coupon-side::after{
  content: "";
  position: absolute;
  top: 27px;
  bottom: 14px;
  right: -1px;
  width: 2px;
  background: repeating-linear-gradient(
    180deg,
    color-mix(in srgb, var(--coupon-fg) 35%, transparent) 0 8px,
    transparent 8px 14px
  );
}
.flavor-showcase__coupon-side::before{
  content: none;
}
.flavor-showcase__coupon-side-text{
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}
.flavor-showcase__coupon-main{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 22px 24px 20px 22px;
}
.flavor-showcase__coupon-value{
  font-size: clamp(2.05rem, 2.75vw, 2.9rem);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.flavor-showcase__coupon-heading{
  font-size: clamp(1.1rem, 1.45vw, 1.5rem);
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1;
}
.flavor-showcase__coupon-divider{
  width: 100%;
  height: 2px;
  margin: 10px 0 6px;
  background: color-mix(in srgb, var(--coupon-fg) 70%, transparent);
}
.flavor-showcase__coupon-code{
  font-size: clamp(1.2rem, 1.65vw, 1.45rem);
  font-weight: 900;
  letter-spacing: .18em;
  line-height: 1.12;
  text-transform: uppercase;
  color: var(--coupon-accent);
  word-break: break-word;
  overflow-wrap: anywhere;
  max-width: 100%;
}
.flavor-showcase__coupon-meta-wrap{
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 6px;
}
.flavor-showcase__coupon-meta{
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  opacity: .82;
}
.flavor-showcase__coupon--fit .flavor-showcase__coupon-code{
  font-size: clamp(.95rem, 1.2vw, 1.08rem);
  letter-spacing: .12em;
  line-height: 1.15;
}
.flavor-showcase__coupon--desktop{
  justify-self: end;
}
.flavor-showcase__coupon--mobile{
  display: none;
}
.flavor-showcase__offer{
  --offer-bg: rgba(255,255,255,.92);
  --offer-text: #232323;
  --offer-accent: #b01845;
  width: 150px;
  height: 150px;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: var(--offer-bg);
  border: 2px solid rgba(0,0,0,.08);
  box-shadow: 0 16px 30px rgba(0,0,0,.18);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 4px;
  padding: 10px 12px;
  box-sizing: border-box;
  position: relative;
  animation: flavorOfferZoomPulse 2.6s ease-in-out infinite;
  transform-origin: center;
}
.flavor-showcase__offer::before{
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(var(--accent-rgb),.22) 0%, rgba(var(--accent-rgb),0) 72%);
  z-index: -1;
  animation: flavorOfferGlow 2.6s ease-in-out infinite;
}
.flavor-showcase__offer--desktop{
  display: none;
}
@media (min-width: 992px){
  .flavor-showcase__coupon--mobile{
    display: none;
  }
  .flavor-showcase__offer--mobile{
    display: none;
  }
  .flavor-showcase__offer--desktop{
    display: grid;
    justify-self: end;
    margin-top: -58px;
    margin-bottom: 0;
  }
  .flavor-showcase__offer{
    width: 176px;
    height: 176px;
    padding: 14px 16px;
  }
  .flavor-showcase__offer-discount{
    font-size: 46px;
  }
  .flavor-showcase__offer--fixed-percent .flavor-showcase__offer-discount{
    margin-top: 0;
    transform: translateY(20px);
    font-size: 50px;
  }
  .flavor-showcase__offer-prefix{
    font-size: .5em;
  }
  .flavor-showcase__offer-period{
    font-size: 12px;
  }
}
.flavor-showcase__offer-discount{
  font-weight: 800;
  font-size: 40px;
  line-height: .95;
  color: var(--offer-accent);
}
.flavor-showcase__offer-prefix{
  font-size: .45em;
  line-height: 1;
  font-weight: 700;
  color: var(--offer-text);
  text-transform: uppercase;
  vertical-align: baseline;
}
.flavor-showcase__offer-period{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--offer-text);
}
.flavor-showcase__offer-period-line{
  display: block;
}
.flavor-showcase__offer-period-line:first-child{
  font-size: .9em;
  letter-spacing: .08em;
}
@keyframes flavorOfferZoomPulse{
  0%, 100%{ transform: scale(1); box-shadow: 0 16px 30px rgba(0,0,0,.18); }
  14%{ transform: scale(1.12); box-shadow: 0 24px 38px rgba(0,0,0,.22); }
  24%{ transform: scale(0.98); box-shadow: 0 14px 28px rgba(0,0,0,.16); }
  34%{ transform: scale(1.05); box-shadow: 0 20px 34px rgba(0,0,0,.20); }
  46%{ transform: scale(1); box-shadow: 0 16px 30px rgba(0,0,0,.18); }
}
@keyframes flavorOfferGlow{
  0%, 100%{ opacity: .42; transform: scale(.94); }
  18%{ opacity: .92; transform: scale(1.08); }
  34%{ opacity: .6; transform: scale(.99); }
  46%{ opacity: .42; transform: scale(.94); }
}
.flavor-showcase__center{
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
}
.flavor-showcase__fruits{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.flavor-showcase__fruits img{
  position: absolute;
  width: 110px;
  height: 110px;
  object-fit: contain;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.15));
  animation: fruitFloat 6s ease-in-out infinite;
  transform: translate(calc(var(--fx, 0px) + var(--ox, 0px)), calc(var(--fy, 0px) + var(--oy, 0px))) translateY(0) rotate(var(--rot, 0deg)) scale(var(--scale, 1));
  transition: transform .6s ease, opacity .6s ease;
  opacity: var(--fruit-opacity, 1);
}
.flavor-showcase__fruits img:nth-child(1){
  top: 10%; left: 6%;
  --rot: -8deg;
  --scale: 1.1;
  animation-delay: .1s;
  animation-duration: 7.5s;
}
.flavor-showcase__fruits img:nth-child(2){
  top: 48%; left: 10%;
  --rot: 10deg;
  --scale: .75;
  animation-delay: .5s;
  animation-duration: 6.8s;
}
.flavor-showcase__fruits img:nth-child(3){
  top: 8%; right: 16%;
  --rot: 14deg;
  --scale: .85;
  animation-delay: .8s;
  animation-duration: 7.2s;
}
.flavor-showcase__fruits img:nth-child(4){
  bottom: 14%; left: 28%;
  --rot: 6deg;
  --scale: .9;
  animation-delay: .3s;
  animation-duration: 6.2s;
}
.flavor-showcase__fruits img:nth-child(5){
  bottom: 10%; right: 12%;
  --rot: -12deg;
  --scale: 1.05;
  animation-delay: 1.1s;
  animation-duration: 7.8s;
}
.flavor-showcase__fruits img:nth-child(6){
  top: 36%; right: 6%;
  --rot: -6deg;
  --scale: .7;
  animation-delay: .6s;
  animation-duration: 6.5s;
}
.flavor-showcase__fruits img:nth-child(7){
  top: 18%; left: 38%;
  --rot: 12deg;
  --scale: .8;
  animation-delay: 1.2s;
  animation-duration: 7.1s;
}
.flavor-showcase__fruits img:nth-child(8){
  bottom: 22%; right: 28%;
  --rot: -14deg;
  --scale: .95;
  animation-delay: .9s;
  animation-duration: 6.9s;
}
.flavor-showcase__fruits img:nth-child(9){
  top: 58%; left: 18%;
  --rot: 4deg;
  --scale: .75;
  animation-delay: 1.4s;
  animation-duration: 7.4s;
}
.flavor-showcase__fruits img:nth-child(10){
  top: 22%; right: 38%;
  --rot: -4deg;
  --scale: 1.05;
  animation-delay: 1.6s;
  animation-duration: 7.6s;
}
@keyframes fruitFloat{
  0%{ transform: translate(calc(var(--fx, 0px) + var(--ox, 0px)), calc(var(--fy, 0px) + var(--oy, 0px))) translateY(0) rotate(var(--rot, 0deg)) scale(var(--scale, 1)); }
  50%{ transform: translate(calc(var(--fx, 0px) + var(--ox, 0px)), calc(var(--fy, 0px) + var(--oy, 0px))) translateY(-14px) rotate(var(--rot, 0deg)) scale(var(--scale, 1)); }
  100%{ transform: translate(calc(var(--fx, 0px) + var(--ox, 0px)), calc(var(--fy, 0px) + var(--oy, 0px))) translateY(0) rotate(var(--rot, 0deg)) scale(var(--scale, 1)); }
}
@keyframes productFloat{
  0%{ transform: translate(var(--fx, 0px), var(--fy, 0px)) translateY(0) rotate(-1.5deg) scale(1); }
  40%{ transform: translate(var(--fx, 0px), var(--fy, 0px)) translateY(-10px) rotate(1.5deg) scale(1.02); }
  70%{ transform: translate(var(--fx, 0px), var(--fy, 0px)) translateY(-4px) rotate(-0.5deg) scale(1.01); }
  100%{ transform: translate(var(--fx, 0px), var(--fy, 0px)) translateY(0) rotate(-1.5deg) scale(1); }
}
.flavor-showcase__center img{
  max-width: 220px;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 25px 45px rgba(0,0,0,.25));
  animation: productFloat 5.5s ease-in-out infinite;
  transform-origin: center;
  transform: translate(var(--fx, 0px), var(--fy, 0px));
}
.flavor-showcase__placeholder{
  width: 220px;
  height: 260px;
  background: rgba(255,255,255,.5);
  border-radius: 18px;
  display: grid;
  place-items: center;
}
.flavor-showcase__counter{
  position: absolute;
  bottom: -8px;
  font-size: 12px;
  letter-spacing: .18em;
  color: rgba(0,0,0,.6);
}
.flavor-showcase__right{
  display: grid;
  gap: 16px;
  text-align: right;
  position: relative;
  z-index: 2;
}
@media (min-width: 992px){
  .flavor-showcase__grid--layout-image_left .flavor-showcase__left{
    grid-column: 2;
  }
  .flavor-showcase__grid--layout-image_left .flavor-showcase__center{
    grid-column: 1;
  }
  .flavor-showcase__grid--layout-image_left .flavor-showcase__right{
    grid-column: 3;
  }
  .flavor-showcase__grid--layout-image_center .flavor-showcase__left{
    grid-column: 1;
  }
  .flavor-showcase__grid--layout-image_center .flavor-showcase__center{
    grid-column: 2;
  }
  .flavor-showcase__grid--layout-image_center .flavor-showcase__right{
    grid-column: 3;
  }
  .flavor-showcase__grid--layout-image_right .flavor-showcase__left{
    grid-column: 1;
  }
  .flavor-showcase__grid--layout-image_right .flavor-showcase__center{
    grid-column: 3;
  }
  .flavor-showcase__grid--layout-image_right .flavor-showcase__right{
    grid-column: 2;
  }
  .flavor-showcase__grid--product-badge.flavor-showcase__grid--layout-image_right .flavor-showcase__left,
  .flavor-showcase__grid--product-badge.flavor-showcase__grid--layout-image_center .flavor-showcase__left,
  .flavor-showcase__grid--product-badge.flavor-showcase__grid--layout-image_left .flavor-showcase__left{
    grid-column: 1;
  }
  .flavor-showcase__grid--product-badge.flavor-showcase__grid--layout-image_right .flavor-showcase__center,
  .flavor-showcase__grid--product-badge.flavor-showcase__grid--layout-image_center .flavor-showcase__center,
  .flavor-showcase__grid--product-badge.flavor-showcase__grid--layout-image_left .flavor-showcase__center{
    grid-column: 2;
  }
  .flavor-showcase__grid--product-badge.flavor-showcase__grid--layout-image_right .flavor-showcase__right,
  .flavor-showcase__grid--product-badge.flavor-showcase__grid--layout-image_center .flavor-showcase__right,
  .flavor-showcase__grid--product-badge.flavor-showcase__grid--layout-image_left .flavor-showcase__right{
    grid-column: 3;
    justify-items: end;
  }
}
.flavor-showcase__stories{
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 14px;
  z-index: 3;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 8px;
  pointer-events: none;
}
.flavor-showcase__story{
  height: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.4);
  overflow: hidden;
}
.flavor-showcase__story-fill{
  display: block;
  width: 0;
  height: 100%;
  background: rgba(255,255,255,.95);
}
.flavor-showcase__story.is-done .flavor-showcase__story-fill{
  width: 100%;
}
@keyframes storyFill{
  from{ width: 0; }
  to{ width: 100%; }
}
.flavor-showcase__stat-label{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--flavor-text, #1d1c1a);
  opacity: .6;
}
.flavor-showcase__stat-value{
  font-weight: 700;
  font-size: 20px;
  color: var(--flavor-text, #1d1c1a);
}
.flavor-showcase__countdown{
  display: inline-grid;
  grid-auto-flow: column;
  gap: 10px;
  align-items: stretch;
}
.flavor-showcase__countdown--desktop{
  display: none;
}
.flavor-showcase__countdown-item{
  min-width: 68px;
  padding: 10px 8px;
  border-radius: 16px;
  background:
    linear-gradient(rgba(255,255,255,.14), rgba(255,255,255,.14)),
    var(--flavor-bg, rgba(255,255,255,.78));
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  backdrop-filter: blur(10px);
  text-align: center;
}
.flavor-showcase__countdown-value{
  display: block;
  font-weight: 800;
  font-size: 28px;
  line-height: 1;
  color: var(--flavor-text, #1d1c1a);
}
.flavor-showcase__countdown-label{
  display: block;
  margin-top: 6px;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--flavor-text, #1d1c1a);
  opacity: .72;
}


@media (max-width: 991.98px){
  .flavor-showcase__track{
    transition: transform .42s ease-out;
  }
  .flavor-showcase__slide::before{
    transform: none;
    transition: none;
  }
  .flavor-showcase--single{
    height: 100svh;
    min-height: 100svh;
  }
  .flavor-showcase--single > .container,
  .flavor-showcase--single .flavor-showcase__wrap,
  .flavor-showcase--single .flavor-showcase__track,
  .flavor-showcase--single .flavor-showcase__slide{
    height: 100%;
    min-height: 100%;
  }
  .flavor-showcase{
    height: 100svh;
    min-height: 100svh;
  }
  .flavor-showcase > .container{
    height: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .flavor-showcase__wrap{
    height: 100%;
    min-height: 100%;
  }
  .flavor-showcase__loader-spinner{
    width: 38px;
    height: 38px;
  }
  .flavor-showcase__track,
  .flavor-showcase__slide{
    height: 100%;
    min-height: 100%;
  }
  .flavor-showcase__slide--promo .flavor-showcase__grid{
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    justify-content: center;
    align-items: center;
  }
  .flavor-showcase__slide--promo .flavor-showcase__grid--promo-badge{
    grid-template-columns: 1fr;
  }
  .flavor-showcase__grid{
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    text-align: center;
    height: 100%;
    min-height: 100%;
    align-content: center;
    gap: 16px;
    padding: 68px 18px 74px;
    overflow: hidden;
  }
  .flavor-showcase__left{
    margin: 0 auto;
    max-width: 560px;
    min-height: 0;
    position: relative;
  }
  .flavor-showcase__left--with-mobile-offer{
    padding-top: 132px;
    text-align: center;
    position: static;
  }
  .flavor-showcase__left--promo-badge-mobile{
    padding-top: 132px;
    text-align: center;
    width: 100%;
    max-width: 100%;
    position: static;
  }
  .flavor-showcase__left--with-mobile-offer .flavor-showcase__title{
    min-height: 0;
    display: block;
    -webkit-line-clamp: initial;
    -webkit-box-orient: initial;
    padding-right: 0;
    overflow: visible;
  }
  .flavor-showcase__left--promo-badge-mobile .flavor-showcase__title{
    min-height: 0;
    display: block;
    -webkit-line-clamp: initial;
    -webkit-box-orient: initial;
    padding-right: 0;
    overflow: visible;
  }
  .flavor-showcase__title{
    font-size: clamp(1.75rem, 7vw, 2.35rem);
    min-height: 2.5em;
    padding-right: 116px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .flavor-showcase__offer--mobile{
    position: absolute;
    float: none;
    top: 22px;
    right: 18px;
    margin: 0;
    z-index: 3;
  }
  .flavor-showcase__offer{
    width: 108px;
    height: 108px;
    aspect-ratio: 1 / 1;
    padding: 8px 10px;
    margin-left: auto;
    margin-right: auto;
  }
  .flavor-showcase__offer-discount{
    font-size: 29px;
  }
  .flavor-showcase__offer--fixed-percent .flavor-showcase__offer-discount{
    transform: none;
    font-size: 29px;
  }
  .flavor-showcase__offer-prefix{
    font-size: .42em;
  }
  .flavor-showcase__offer-period{
    font-size: 9px;
  }
  .flavor-showcase__coupon{
    --coupon-side-width: 64px;
    grid-template-columns: 64px minmax(0, 1fr);
    width: min(100%, 294px);
    min-height: 168px;
    border-radius: 20px;
  }
  .flavor-showcase__coupon--mobile{
    display: grid;
    justify-self: center;
    margin-left: auto;
    margin-right: auto;
  }
  .flavor-showcase__coupon--desktop{
    display: none;
  }
  .flavor-showcase__coupon-side{
    padding: 14px 8px;
  }
  .flavor-showcase__coupon-side-text{
    font-size: 11px;
    letter-spacing: .12em;
  }
  .flavor-showcase__coupon-main{
    padding: 16px 16px 14px 14px;
    gap: 4px;
  }
  .flavor-showcase__coupon-value{
    font-size: 30px;
  }
  .flavor-showcase__coupon-heading{
    font-size: 14px;
    letter-spacing: .14em;
  }
  .flavor-showcase__coupon-divider{
    margin: 8px 0 4px;
  }
  .flavor-showcase__coupon-code{
    font-size: 14px;
    letter-spacing: .12em;
  }
  .flavor-showcase__coupon-meta{
    font-size: 10px;
    line-height: 1.25;
  }
  .flavor-showcase__coupon--fit .flavor-showcase__coupon-code{
    font-size: 12px;
    letter-spacing: .09em;
  }
  .flavor-showcase__countdown{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
  }
  .flavor-showcase__countdown-item{
    min-width: 0;
    padding: 9px 6px;
  }
  .flavor-showcase__countdown-value{
    font-size: 22px;
  }
  .flavor-showcase__countdown-label{
    font-size: 9px;
  }
  .flavor-showcase__countdown--desktop{
    display: none;
  }
  .flavor-showcase__center img{
    max-width: min(56vw, 240px);
    max-height: 32vh;
  }
  .flavor-showcase__center{
    min-height: 180px;
  }
  .flavor-showcase__fruits img{
    width: 74px;
    height: 74px;
  }
  .flavor-showcase__right{
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(70px, 1fr);
    justify-content: center;
    gap: 10px;
    max-width: 320px;
    margin: 0 auto;
    text-align: center;
  }
  .flavor-showcase__left .small{
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.9em;
  }
  .flavor-showcase__stories{
    left: 12px;
    right: 12px;
    bottom: 10px;
  }
  .flavor-showcase__cta-wrap{
    bottom: 38px;
    width: calc(100% - 24px);
    padding: 0;
  }
  .flavor-showcase__cta-wrap .flavor-showcase__cta{
    min-width: 0;
    width: 100%;
    max-width: 320px;
  }
}
@media (min-width: 992px){
  .flavor-showcase__countdown--mobile{
    display: none;
  }
  .flavor-showcase__countdown--desktop{
    display: inline-grid;
  }
  .flavor-showcase__right--promo-countdown{
    justify-self: end;
    text-align: right;
  }
}
@media (max-width: 767.98px){
  .shop-collections--index{
    display: none;
  }
}
.shop-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.shop-head h2{
  font-weight: 700;
  margin-bottom: 6px;
}
.shop-head p{
  color: rgba(29,28,26,.6);
}
/* Secțiune pe toată lățimea (container-fluid px-0): produsele rămân cap-coadă, dar
   titlul/heading-ul nu trebuie lipit de marginea ecranului — îi dăm aer (min 20px). */
.container-fluid.px-0 .shop-head{
  padding-left: 20px;
  padding-right: 20px;
}

.shop-collection{
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  padding: 18px;
  min-height: 220px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.shop-collection:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(20,20,20,.12);
}
.shop-collection--active{
  border-color: rgba(201,128,76,.4);
  background: linear-gradient(135deg, #c9804c, #e3a36a);
  color: #fff;
  box-shadow: 0 20px 44px rgba(201,128,76,.28);
  transform: translateY(-2px);
}
.shop-collection--active .shop-collection__image{
  border-color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.15);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.25);
}
.shop-collection--active .shop-collection__title{
  color: #fff;
}
.shop-collection__title{
  font-size: 20px;
  font-weight: 700;
  margin: 0;
}
.shop-collection__image{
  width: 180px;
  height: 180px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  display: grid;
  place-items: center;
  padding: 4px;
}
.shop-collections--index .shop-collection__image{
  border-radius: 18px;
}
.shop-collection__image img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.shop-collection__image--empty{
  display: grid;
  place-items: center;
  color: rgba(0,0,0,.4);
  font-size: 28px;
}

/* ===== Teme/stiluri pentru secțiunea Categorii (collections_layout) =====
   „card" = stilul implicit (cerc în card alb) de mai sus. Overlay + minimal îl rescriu. */
/* OVERLAY: imaginea umple cardul, titlul stă peste ea, jos, pe un gradient întunecat. */
.shop-collections--layout-overlay .shop-collection{
  position: relative;
  padding: 0;
  border: 0;
  min-height: 0;
  width: min(78vw, 230px);
  aspect-ratio: 3 / 4;
  border-radius: 18px;
  overflow: hidden;
  display: block;
}
.shop-collections--layout-overlay .shop-collection__image{
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.shop-collections--layout-overlay .shop-collection__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shop-collections--layout-overlay .shop-collection__title{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 30px 16px 16px;
  color: #fff;
  font-size: 18px;
  text-align: left;
  background: linear-gradient(transparent, rgba(0,0,0,.72));
}
/* MINIMAL: imagine pătrată rotunjită, titlu dedesubt, fără card/bordură. */
.shop-collections--layout-minimal .shop-collection{
  background: transparent;
  border: 0;
  padding: 4px;
  min-height: 0;
  width: min(60vw, 175px);
}
.shop-collections--layout-minimal .shop-collection__image{
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border: 0;
  border-radius: 14px;
  padding: 0;
  background: #f6f2ed;
}
.shop-collections--layout-minimal .shop-collection__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shop-collections--layout-minimal .shop-collection__title{
  margin-top: 10px;
  font-size: 16px;
}

.shop-product{
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  padding: 16px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.shop-product__media{
  position: relative;
  height: 220px;
  background: #fff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.shop-product__media > a{
  display: block;
  width: 100%;
  height: 100%;
}
.shop-product__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: opacity .35s ease;
}
/* ── Preîncărcarea imaginilor din carduri ──
   Până acum caseta rămânea albă cât se descărca poza, apoi poza apărea brusc.
   Acum se vede un schelet care pulsează, iar imaginea intră printr-o topire.

   `opacity: 0` se aplică DOAR când JS-ul a pus `.is-loading`. Dacă scriptul nu
   rulează (eroare, blocat), imaginile se văd normal — un preloader n-are voie
   să ascundă marfa. */
.shop-product__media.is-loading img{ opacity: 0; }
.shop-product__media.is-loading::before,
.shop-product__media.is-failed::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: linear-gradient(90deg, #f4f4f5 25%, #e7e7ea 37%, #f4f4f5 63%);
  background-size: 400% 100%;
  animation: shopSkeleton 1.4s ease infinite;
  pointer-events: none;
  /* Sub butoanele din colț (favorite, comparator) și sub etichetele de reducere,
     care au z-index propriu — scheletul acoperă poza, nu comenzile cardului. */
  z-index: 0;
}
/* Poza care nu s-a putut încărca: fundal liniștit cu o iconiță, nu pictograma
   de imagine ruptă a browserului. */
.shop-product__media.is-failed::before{ animation: none; background: #f4f4f5; }
.shop-product__media.is-failed::after{
  content: "\F41A";
  font-family: "bootstrap-icons";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 28px;
  color: #b9b9c0;
  pointer-events: none;
}
.shop-product__media.is-failed img{ opacity: 0; }
@keyframes shopSkeleton{
  0%   { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}
@media (prefers-reduced-motion: reduce){
  .shop-product__media.is-loading::before{ animation: none; }
}
.shop-product__wish{
  position: absolute;
  z-index: 3;
  top: 8px;
  right: 8px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  color: var(--primary-start);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;
}
.shop-product__wish i{
  font-size: 16px;
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  line-height: 0;
  margin: 0;
  transform: translateY(-0.5px);
}
.shop-product__wish:hover{
  border-color: rgba(var(--accent-rgb),.75);
  background: #fff;
  color: var(--primary-start);
  transform: translateY(-1px);
}
.shop-product__wish.is-active{
  border-color: rgba(var(--accent-rgb),.75);
  background: #fff;
  color: var(--primary-start);
}
.shop-product__tags{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.shop-product__badges{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.shop-carousel{
  position: relative;
}
.shop-carousel__track{
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 4px 2px 12px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.shop-carousel__track--list{
  overflow: visible;
  flex-wrap: wrap;
  scroll-snap-type: none;
}
.shop-carousel__track--list .shop-carousel__item{
  flex: 0 0 calc(25% - 12px);
  width: calc(25% - 12px);
}
.shop-carousel__track::-webkit-scrollbar{
  display: none;
}
.shop-carousel__item{
  flex: 0 0 clamp(220px, 23vw, 280px);
  scroll-snap-align: start;
}
.shop-carousel__btn{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0A0E27;
}
.shop-carousel__btn.is-hidden{
  display: none !important;
}
.shop-carousel__btn:hover{
  background: rgba(var(--accent-rgb),.15);
  border-color: rgba(var(--accent-rgb),.6);
}
.shop-products--best,
.shop-products--new,
.shop-products--promo{
  position: relative;
  background: transparent;
}
.shop-products--best::before,
.shop-products--new::before,
.shop-products--promo::before{
  content: none;
}
@media (max-width: 991.98px){
  .shop-carousel__track--list .shop-carousel__item{
    flex: 0 0 calc(50% - 8px);
    width: calc(50% - 8px);
  }
}
@media (max-width: 575.98px){
  .shop-carousel__track--list .shop-carousel__item{
    flex: 0 0 100%;
    width: 100%;
  }
}
.shop-product__tags span{
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
}
.shop-product__title{
  font-weight: 700;
  text-decoration: none;
  color: inherit;
}
.shop-product__meta{
  color: rgba(29,28,26,.6);
  font-size: 13px;
}
.shop-product__footer{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.shop-product__price{
  font-weight: 700;
}
.shop-product__from{
  display: block;
  font-size: .72em;
  font-weight: 600;
  color: rgba(29,28,26,.62);
  letter-spacing: .01em;
  margin-bottom: 3px;
}
.shop-product__price--discount{
  color: #A74C4C;
}
.shop-product__pricing{
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  min-width: 0;
}
.shop-product__old{
  color: rgba(29,28,26,.55);
  text-decoration: line-through;
  font-size: 12px;
}
.shop-product__vat{
  color: rgba(29,28,26,.6);
  font-size: 11px;
}
.shop-product__period{
  color: rgba(29,28,26,.65);
  font-size: 11px;
}
.shop-product__period-inline{
  color: rgba(29,28,26,.55);
  font-size: 10px;
}
.shop-product__period-inline--bottom{
  margin-top: 6px;
}
.shop-product__omnibus{
  color: rgba(29,28,26,.55);
  font-size: 11px;
}

.shop-empty{
  background: #fff;
  border: 1px dashed rgba(0,0,0,.12);
  padding: 20px;
}

#categoryPage{
  --cat-ink: #201b17;
  --cat-cream: #fbf5ee;
  --cat-sand: #f1e7db;
  --cat-accent: #c9804c;
  --cat-shadow: 0 24px 50px rgba(28,20,12,.12);
}
#categoryPage .category-hero{
  position: relative;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
#categoryPage .category-hero--bleed{
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
#categoryPage .category-hero__inner{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 24px;
  align-items: center;
  padding: 32px 0 28px;
  position: relative;
  z-index: 2;
}
/* Când categoria nu are imagine, hero-ul folosește toată lățimea */
#categoryPage .category-hero__inner:not(:has(.category-hero__media)){
  grid-template-columns: minmax(0, 1fr);
}

/* Hero cu imagine ca fundal */
#categoryPage .category-hero--bg{
  background-image: var(--category-hero-bg);
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-bottom: 0;
}
#categoryPage .category-hero--bg .category-hero__bg-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, .35) 0%, rgba(15, 23, 42, .68) 100%);
  z-index: 1;
  pointer-events: none;
}
#categoryPage .category-hero--bg .category-hero__inner{
  grid-template-columns: minmax(0, 1fr);
  padding: 56px 0 48px;
}
#categoryPage .category-hero--bg .category-hero__title,
#categoryPage .category-hero--bg .category-hero__desc,
#categoryPage .category-hero--bg .qv-crumbs,
#categoryPage .category-hero--bg .qv-crumbs *,
#categoryPage .category-hero--bg .category-hero__meta{
  color: #fff;
}
#categoryPage .category-hero--bg .category-hero__chip{
  background: rgba(255, 255, 255, .15);
  color: #fff;
  border-color: rgba(255, 255, 255, .25);
  backdrop-filter: blur(6px);
}
#categoryPage .category-hero--bg .qv-crumbs__home,
#categoryPage .category-hero--bg .qv-crumbs__sep{
  color: rgba(255, 255, 255, .82);
}
#categoryPage .category-hero--full{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-radius: 0;
  border-left: 0;
  border-right: 0;
}
#categoryPage .category-hero::after{
  content: none;
}
#categoryPage .category-hero__content{
  position: relative;
  z-index: 1;
}
#categoryPage .category-hero__crumbs{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(32,27,23,.5);
}
#categoryPage .category-hero__crumbs a{
  text-decoration: none;
  color: inherit;
}
#categoryPage .category-hero__eyebrow{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .24em;
  color: rgba(32,27,23,.5);
  margin-top: 10px;
}
#categoryPage .category-hero__title{
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  margin: 6px 0 10px;
  color: var(--cat-ink);
}
#categoryPage .category-hero__desc{
  color: rgba(32,27,23,.65);
  max-width: 560px;
  margin-bottom: 16px;
}
#categoryPage .category-hero__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}
#categoryPage .category-hero__tags{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
#categoryPage .category-hero__tag{
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(32,27,23,.6);
}
#categoryPage .category-hero__tags{
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: none;
}
#categoryPage .category-hero__tags::-webkit-scrollbar{
  display: none;
}
#categoryPage .category-hero__chip{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(32,27,23,.65);
}
#categoryPage .category-hero__back{
  width: fit-content;
}
#categoryPage .category-hero__media{
  width: 100%;
  height: 260px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 10px;
}
#categoryPage .category-hero__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-width: 92%;
  max-height: 92%;
}
#categoryPage .category-hero__placeholder{
  color: rgba(0,0,0,.35);
  font-size: 30px;
}
#categoryPage .category-layout{
  margin-top: 24px;
}
#categoryPage .category-filters{
  position: sticky;
  top: 110px;
}
#categoryPage .category-filters .card{
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: none;
}
#categoryPage .category-filters .card-title{
  font-family: "Bebas Neue", "Poppins", sans-serif;
  font-size: 22px;
  letter-spacing: .08em;
}
#categoryPage .category-products .shop-products{
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
#categoryPage .shop-products--best{
  background: transparent;
}
#categoryPage .shop-products--best::before{
  content: none;
}
#categoryPage .category-products{
  padding-bottom: 40px;
}
#categoryPage .category-empty{
  padding: 36px;
  border-radius: 18px;
  border: 0;
  background: transparent;
  text-align: center;
}
#categoryPage .category-empty__icon{
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  display: grid;
  place-items: center;
  margin: 0 auto 14px;
  color: rgba(32,27,23,.6);
}
#categoryPage .category-empty__title{
  font-weight: 700;
  margin-bottom: 6px;
}
#categoryPage .category-empty__text{
  color: rgba(32,27,23,.6);
  font-size: 13px;
}
#staticPage .static-page{
  margin: 0 auto;
}
#staticPage .static-page__crumbs{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(32,27,23,.5);
}
#staticPage .static-page__crumbs a{
  text-decoration: none;
  color: inherit;
}
#staticPage .static-page__eyebrow{
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(32,27,23,.55);
}
#staticPage .static-page__title{
  font-size: clamp(26px, 3vw, 38px);
  margin: 10px 0 12px;
}
#staticPage .static-page__lead{
  color: rgba(32,27,23,.7);
  margin: 0;
  max-width: 520px;
}
#staticPage .static-page__content{
  line-height: 1.7;
  color: rgba(32,27,23,.8);
}
#staticPage .static-page__body{
  padding: 24px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  background: #fff;
}
#staticPage .static-page__products{
  margin-top: 26px;
}
#staticPage .static-page__subtitle{
  font-size: 20px;
  margin-bottom: 12px;
}
#staticPage .static-page--wide{
  max-width: 1200px;
  display: grid;
  gap: 22px;
}
#staticPage .static-page__hero{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 22px 26px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  background: #fff;
}
#staticPage .static-page__mark{
  width: 48px;
  height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  display: grid;
  place-items: center;
  color: rgba(32,27,23,.6);
  font-size: 22px;
}
@media (max-width: 767.98px){
  #staticPage .static-page__hero{
    flex-direction: column;
    align-items: flex-start;
  }
  #staticPage .static-page__body{
    padding: 20px;
  }
}
#categoryPage .category-products .shop-head h2{
  font-family: "Bebas Neue", "Poppins", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#categoryPage .category-products .shop-product{
  transition: transform .2s ease, box-shadow .2s ease;
}
#categoryPage .category-products .shop-product:hover{
  transform: translateY(-4px);
  box-shadow: none;
}
.shop-collection{
  box-shadow: none;
}
.shop-collection:hover{
  box-shadow: none;
}
.shop-collection--active{
  box-shadow: none;
}
#categoryPage .category-products .shop-product__media{
  background: linear-gradient(180deg, #f7f2ec, #fff);
}
#categoryPage .shop-carousel__track{
  padding: 8px 2px 20px;
}
#categoryPage .shop-carousel__item{
  flex: 0 0 clamp(240px, 24vw, 300px);
}
#categoryPage .shop-head{
  margin-bottom: 32px;
}
#categoryPage .shop-head h2{
  font-size: clamp(20px, 2.2vw, 28px);
}
#categoryPage .category-products .row.g-3{
  --bs-gutter-x: 24px;
  --bs-gutter-y: 24px;
}
@media (max-width: 991.98px){
  #categoryPage .category-hero__inner{
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "crumbs media"
      "title title"
      "desc desc"
      "meta meta"
      "back back";
    align-items: center;
    gap: 12px;
    padding: 24px 12px 20px;
  }
  /* Fără imagine — layout simplu pe o coloană */
  #categoryPage .category-hero__inner:not(:has(.category-hero__media)){
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
  #categoryPage .category-hero__content{
    padding-right: 0;
    display: contents;
  }
  #categoryPage .category-hero__crumbs{ grid-area: crumbs; }
  #categoryPage .category-hero__title{ grid-area: title; }
  #categoryPage .category-hero__desc{ grid-area: desc; }
  #categoryPage .category-hero__meta{ grid-area: meta; }
  #categoryPage .category-hero__back{ grid-area: back; }
  #categoryPage .category-hero__media{
    width: 72px;
    height: 64px;
    margin-left: auto;
    justify-self: end;
    align-self: start;
    margin-top: 4px;
    grid-area: media;
  }
  #categoryPage .category-hero__desc{
    font-size: 14px;
    line-height: 1.5;
    overflow: visible;
  }
  #categoryPage .category-hero__meta{
    margin: 0;
    gap: 6px;
  }
  #categoryPage .category-filters{
    position: static;
  }
  #categoryPage .category-products .shop-products{
    padding: 20px;
  }
}

@media (max-width: 991.98px){
  .shop-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .shop-product__footer{
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .shop-product__footer .qty,
  .shop-product__footer .btn{
    margin-left: auto;
  }
}

/* Nova theme variant */
.nova-home{
  --nova-ink: #1f1a17;
  --nova-warm: #c86b3c;
  --nova-cream: #f7f2ec;
  color: var(--nova-ink);
}
.nova-hero{
  padding: 90px 0 50px;
  background: radial-gradient(900px 450px at 15% -15%, rgba(200,107,60,.25), transparent 60%),
              radial-gradient(900px 450px at 90% 0%, rgba(150,120,90,.18), transparent 60%),
              var(--nova-cream);
}
.nova-hero__grid{
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: center;
}
.nova-pill{
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .18em;
  color: rgba(31,26,23,.6);
  background: #fff;
}
.nova-title{
  font-family: "Bebas Neue", "Poppins", sans-serif;
  font-size: clamp(2.6rem, 5vw, 4.4rem);
  margin: 16px 0 12px;
}
.nova-sub{
  max-width: 520px;
  color: rgba(31,26,23,.7);
}
.nova-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 10px;
}
.nova-kpi{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.nova-kpi strong{
  font-weight: 700;
  font-size: 18px;
}
.nova-kpi span{
  display: block;
  font-size: 12px;
  color: rgba(31,26,23,.6);
}

.nova-hero__stack{
  display: grid;
  gap: 16px;
}
.nova-card{
  background: #fff;
  border-radius: 22px;
  padding: 22px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 24px 60px rgba(20,20,20,.12);
  position: relative;
}
.nova-card__badge{
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--nova-ink);
  color: #fff;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nova-card__media{
  height: 220px;
  border-radius: 16px;
  background: #f7f2ec;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.nova-card__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nova-card__title{
  font-weight: 700;
  font-size: 20px;
}
.nova-card__meta{
  color: rgba(31,26,23,.6);
  margin-bottom: 10px;
}
.nova-card__price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 700;
  margin-bottom: 12px;
}
.nova-card__price small{
  color: rgba(31,26,23,.5);
  text-decoration: line-through;
}
.nova-card__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.nova-strip{
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.nova-strip__kicker{
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  color: rgba(31,26,23,.55);
}
.nova-strip__title{
  font-weight: 700;
}
.nova-strip__sub{
  color: rgba(31,26,23,.6);
  font-size: 13px;
}
.nova-strip__price{
  font-weight: 700;
  color: var(--nova-warm);
}

.nova-cats,
.nova-grid,
.nova-split{
  padding: 50px 0;
}
.nova-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.nova-head h2{
  font-weight: 700;
}
.nova-head p{
  color: rgba(31,26,23,.6);
}

.nova-catlist{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.nova-cat{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 18px;
  text-decoration: none;
  color: inherit;
}
.nova-cat__title{
  font-weight: 700;
}
.nova-cat__sub{
  color: rgba(31,26,23,.6);
  font-size: 13px;
}

.nova-item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 12px;
  height: 100%;
}
.nova-item__media{
  background: #f7f2ec;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.nova-item__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nova-item__body{
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.nova-item__tags{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.nova-item__tags span{
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
}
.nova-item__title{
  font-weight: 700;
  text-decoration: none;
  color: inherit;
}
.nova-item__meta{
  color: rgba(31,26,23,.6);
  font-size: 13px;
}
.nova-item__footer{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.nova-item__price{
  font-weight: 700;
  color: var(--nova-ink);
}

.nova-panel{
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  padding: 20px;
}
.nova-panel__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
}
.nova-list{
  display: grid;
  gap: 12px;
}
.nova-row{
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 12px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px dashed rgba(0,0,0,.12);
}
.nova-row:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}
.nova-row__media{
  width: 70px;
  height: 70px;
  background: #f7f2ec;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.nova-row__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nova-row__title{
  font-weight: 600;
  text-decoration: none;
  color: inherit;
}
.nova-row__meta{
  color: rgba(31,26,23,.6);
  font-size: 12px;
}
.nova-row__action{
  text-align: right;
  display: grid;
  gap: 6px;
  justify-items: end;
  font-weight: 700;
}

.nova-empty{
  padding: 16px;
  border: 1px dashed rgba(0,0,0,.12);
  background: #fff;
}

@media (max-width: 991.98px){
  .nova-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .nova-item{
    grid-template-columns: 1fr;
  }
  .nova-row{
    grid-template-columns: 60px 1fr;
  }
  .nova-row__action{
    grid-column: 2;
    justify-items: start;
  }
}

/* Flux theme variant */
.flux-home{
  --flux-ink: #151515;
  --flux-accent: #3f7cff;
  --flux-soft: #f2f4f7;
  color: var(--flux-ink);
}
.flux-hero{
  padding: 90px 0 50px;
  background: radial-gradient(900px 450px at 10% -10%, rgba(63,124,255,.18), transparent 60%),
              radial-gradient(900px 450px at 90% 0%, rgba(120,200,255,.18), transparent 60%),
              #f7f8fb;
}
.flux-hero__grid{
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: center;
}
.flux-label{
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 12px;
  color: rgba(21,21,21,.55);
}
.flux-title{
  font-family: "Bebas Neue", "Poppins", sans-serif;
  font-size: clamp(2.7rem, 5vw, 4.6rem);
  margin: 12px 0 16px;
}
.flux-sub{
  max-width: 520px;
  color: rgba(21,21,21,.7);
}
.flux-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.flux-hero-card{
  background: #fff;
  border-radius: 20px;
  padding: 22px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 22px 60px rgba(20,20,20,.12);
  position: relative;
}
.flux-hero-card__badge{
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--flux-accent);
  color: #fff;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.flux-hero-card__media{
  height: 220px;
  border-radius: 16px;
  background: #f0f3fb;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.flux-hero-card__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.flux-hero-card__title{
  font-weight: 700;
  font-size: 20px;
}
.flux-hero-card__meta{
  color: rgba(21,21,21,.6);
  margin-bottom: 10px;
}
.flux-hero-card__price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 700;
  margin-bottom: 12px;
}
.flux-hero-card__price small{
  color: rgba(21,21,21,.5);
  text-decoration: line-through;
}
.flux-hero-card__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.flux-cats,
.flux-products,
.flux-new{
  padding: 50px 0;
}
.flux-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.flux-head h2{
  font-weight: 700;
}
.flux-head p{
  color: rgba(21,21,21,.6);
}

.flux-catgrid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.flux-cat{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 18px;
  text-decoration: none;
  color: inherit;
}
.flux-cat__title{
  font-weight: 700;
}
.flux-cat__sub{
  color: rgba(21,21,21,.6);
  font-size: 13px;
}

.flux-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.flux-item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.flux-item__media{
  height: 160px;
  border-radius: 12px;
  background: #f0f3fb;
  display: flex;
  align-items: center;
  justify-content: center;
}
.flux-item__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.flux-item__tags{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.flux-item__tags span{
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
}
.flux-item__title{
  font-weight: 700;
  text-decoration: none;
  color: inherit;
}
.flux-item__meta{
  color: rgba(21,21,21,.6);
  font-size: 13px;
}
.flux-item__footer{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.flux-item__price{
  font-weight: 700;
  color: var(--flux-ink);
}

.flux-strip{
  display: grid;
  gap: 12px;
}
.flux-strip__item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 12px;
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 12px;
  align-items: center;
}
.flux-strip__media{
  width: 70px;
  height: 70px;
  background: #f0f3fb;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.flux-strip__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.flux-strip__title{
  font-weight: 600;
  text-decoration: none;
  color: inherit;
}
.flux-strip__meta{
  color: rgba(21,21,21,.6);
  font-size: 12px;
}
.flux-strip__action{
  text-align: right;
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.flux-empty{
  padding: 16px;
  border: 1px dashed rgba(0,0,0,.12);
  background: #fff;
}

@media (max-width: 991.98px){
  .flux-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .flux-strip__item{
    grid-template-columns: 60px 1fr;
  }
  .flux-strip__action{
    grid-column: 2;
    justify-items: start;
  }
}

/* Pulse theme variant */
.pulse-home{
  --pulse-ink: #111;
  --pulse-accent: #e94b6a;
  --pulse-accent2: #1dd3b0;
  --pulse-soft: #f6f3f0;
  color: var(--pulse-ink);
}
.pulse-hero{
  padding: 90px 0 50px;
  background:
    radial-gradient(800px 420px at 10% -10%, rgba(233,75,106,.25), transparent 60%),
    radial-gradient(800px 420px at 90% 0%, rgba(29,211,176,.2), transparent 60%),
    #fbf8f5;
}
.pulse-hero__grid{
  display: grid;
  gap: 32px;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
}
.pulse-kicker{
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 12px;
  color: rgba(17,17,17,.55);
}
.pulse-title{
  font-family: "Bebas Neue", "Poppins", sans-serif;
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  margin: 12px 0 16px;
}
.pulse-sub{
  max-width: 520px;
  color: rgba(17,17,17,.7);
}
.pulse-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.pulse-badges{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.pulse-badges span{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
}

.pulse-spot{
  background: #fff;
  border-radius: 22px;
  padding: 22px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 28px 70px rgba(20,20,20,.12);
  position: relative;
}
.pulse-spot__tag{
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--pulse-accent);
  color: #fff;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pulse-spot__media{
  height: 220px;
  border-radius: 16px;
  background: #f6f3f0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.pulse-spot__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.pulse-spot__title{
  font-weight: 700;
  font-size: 20px;
}
.pulse-spot__meta{
  color: rgba(17,17,17,.6);
  margin-bottom: 10px;
}
.pulse-spot__price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 700;
  margin-bottom: 12px;
}
.pulse-spot__price small{
  color: rgba(17,17,17,.5);
  text-decoration: line-through;
}
.pulse-spot__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.pulse-cats,
.pulse-products,
.pulse-new{
  padding: 50px 0;
}
.pulse-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.pulse-head h2{
  font-weight: 700;
}
.pulse-head p{
  color: rgba(17,17,17,.6);
}

.pulse-catgrid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.pulse-cat{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 18px;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}
.pulse-cat::after{
  content: "";
  position: absolute;
  inset: auto -40% -40% auto;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(233,75,106,.25), transparent 60%);
}
.pulse-cat__title{
  font-weight: 700;
}
.pulse-cat__sub{
  color: rgba(17,17,17,.6);
  font-size: 13px;
}

.pulse-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.pulse-item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
}
.pulse-item__media{
  height: 190px;
  background: #f6f3f0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pulse-item__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.pulse-item__body{
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pulse-item__tags{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.pulse-item__tags span{
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
}
.pulse-item__title{
  font-weight: 700;
  text-decoration: none;
  color: inherit;
}
.pulse-item__meta{
  color: rgba(17,17,17,.6);
  font-size: 13px;
}
.pulse-item__footer{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pulse-item__price{
  font-weight: 700;
}

.pulse-strip{
  display: grid;
  gap: 12px;
}
.pulse-strip__item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 12px;
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 12px;
  align-items: center;
}
.pulse-strip__media{
  width: 70px;
  height: 70px;
  background: #f6f3f0;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.pulse-strip__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.pulse-strip__title{
  font-weight: 600;
  text-decoration: none;
  color: inherit;
}
.pulse-strip__meta{
  color: rgba(17,17,17,.6);
  font-size: 12px;
}
.pulse-strip__action{
  text-align: right;
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.pulse-empty{
  padding: 16px;
  border: 1px dashed rgba(0,0,0,.12);
  background: #fff;
}

@media (max-width: 991.98px){
  .pulse-hero__grid{
    grid-template-columns: 1fr;
  }
  .pulse-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .pulse-strip__item{
    grid-template-columns: 60px 1fr;
  }
  .pulse-strip__action{
    grid-column: 2;
    justify-items: start;
  }
}

/* Studio theme variant */
.studio-home{
  --studio-ink: #1a1a1a;
  --studio-green: #3b6e5b;
  --studio-cream: #f5f1ea;
  color: var(--studio-ink);
}
.studio-hero{
  padding: 90px 0 50px;
  background: radial-gradient(900px 450px at 15% -15%, rgba(59,110,91,.22), transparent 60%),
              radial-gradient(900px 450px at 90% 0%, rgba(200,170,120,.18), transparent 60%),
              var(--studio-cream);
}
.studio-hero__grid{
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: center;
}
.studio-kicker{
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 12px;
  color: rgba(26,26,26,.55);
}
.studio-title{
  font-family: "Bebas Neue", "Poppins", sans-serif;
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  margin: 12px 0 16px;
}
.studio-sub{
  max-width: 520px;
  color: rgba(26,26,26,.7);
}
.studio-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.studio-metrics{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.studio-metrics strong{
  font-weight: 700;
}
.studio-metrics span{
  display: block;
  font-size: 12px;
  color: rgba(26,26,26,.6);
}

.studio-hero__cards{
  display: grid;
  gap: 16px;
}
.studio-card{
  background: #fff;
  border-radius: 22px;
  padding: 22px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 24px 60px rgba(20,20,20,.12);
  position: relative;
}
.studio-card__badge{
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--studio-green);
  color: #fff;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.studio-card__media{
  height: 220px;
  border-radius: 16px;
  background: #f5f1ea;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.studio-card__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.studio-card__title{
  font-weight: 700;
  font-size: 20px;
}
.studio-card__meta{
  color: rgba(26,26,26,.6);
  margin-bottom: 10px;
}
.studio-card__price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 700;
  margin-bottom: 12px;
}
.studio-card__price small{
  color: rgba(26,26,26,.5);
  text-decoration: line-through;
}
.studio-card__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.studio-block{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 18px;
}
.studio-block__title{
  font-weight: 700;
}
.studio-block__sub{
  color: rgba(26,26,26,.6);
  font-size: 13px;
  margin: 6px 0 10px;
}

.studio-cats,
.studio-products,
.studio-new{
  padding: 50px 0;
}
.studio-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.studio-head h2{
  font-weight: 700;
}
.studio-head p{
  color: rgba(26,26,26,.6);
}

.studio-cats__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.studio-cat{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 18px;
  text-decoration: none;
  color: inherit;
}
.studio-cat__title{
  font-weight: 700;
}
.studio-cat__sub{
  color: rgba(26,26,26,.6);
  font-size: 13px;
}

.studio-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}
.studio-item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  overflow: hidden;
}
.studio-item__media{
  height: 190px;
  background: #f5f1ea;
  display: flex;
  align-items: center;
  justify-content: center;
}
.studio-item__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.studio-item__body{
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.studio-item__tags{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.studio-item__tags span{
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
}
.studio-item__title{
  font-weight: 700;
  text-decoration: none;
  color: inherit;
}
.studio-item__meta{
  color: rgba(26,26,26,.6);
  font-size: 13px;
}
.studio-item__footer{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.studio-item__price{
  font-weight: 700;
}

.studio-strip{
  display: grid;
  gap: 12px;
}
.studio-strip__item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 12px;
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 12px;
  align-items: center;
}
.studio-strip__media{
  width: 70px;
  height: 70px;
  background: #f5f1ea;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.studio-strip__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.studio-strip__title{
  font-weight: 600;
  text-decoration: none;
  color: inherit;
}
.studio-strip__meta{
  color: rgba(26,26,26,.6);
  font-size: 12px;
}
.studio-strip__action{
  text-align: right;
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.studio-empty{
  padding: 16px;
  border: 1px dashed rgba(0,0,0,.12);
  background: #fff;
}

@media (max-width: 991.98px){
  .studio-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .studio-strip__item{
    grid-template-columns: 60px 1fr;
  }
  .studio-strip__action{
    grid-column: 2;
    justify-items: start;
  }
}

/* Theme V7 (full layout) */
.theme-v7{
  background: #f3f0ea;
  color: #1a1a1a;
  font-family: "Space Grotesk", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.theme-v7 *{
  font-family: "Space Grotesk", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.theme-v7 h1,
.theme-v7 h2,
.theme-v7 h3,
.theme-v7 h4,
.theme-v7 h5,
.theme-v7 h6{
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
}

.theme-v7 .agegate-card{
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 20px 60px rgba(20,20,20,.12);
}
.theme-v7 .agegate{
  background: rgba(15,15,20,.6);
}

:root{
  --topbar-h: 0px;
  --navbar-h: 0px;
}
.topbar{
  position: static;
}
.navbar{
  position: static;
  left: 0;
  right: 0;
  z-index: 1200;
  background: #fff;
}
body{
  padding-top: 0;
}
.v7-topbar__right a,
.v7-topbar__left{
  color: #fff;
  text-decoration: none;
}
.v7-topbar__right{
  display: flex;
  align-items: center;
  gap: 10px;
}
.v7-divider{
  opacity: .5;
}

.v7-nav{
  border-bottom: 1px solid rgba(0,0,0,.08);
  background: #fdfcf9;
}
.v7-nav__row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 0;
}
.v7-nav__left{
  display: flex;
  align-items: center;
  gap: 14px;
}
.v7-logo{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  font-weight: 700;
}
.v7-logo img{
  height: 34px;
  width: auto;
}
.v7-search{
  flex: 1;
  max-width: 520px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;
  padding: 10px 16px;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
}
.v7-search input{
  border: 0;
  outline: none;
  width: 100%;
  background: transparent;
}
.v7-nav__actions{
  display: flex;
  align-items: center;
  gap: 10px;
}
.v7-iconlink{
  color: #111;
  text-decoration: none;
  font-size: 20px;
}
.v7-iconbtn{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #fff;
}
.v7-iconbtn--primary{
  background: #111;
  color: #fff;
  border-color: #111;
}
.v7-iconbtn i{
  font-size: 18px;
}

.v7-menu{
  background: #fdfcf9;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.v7-menu ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
  align-items: center;
}
.v7-menu a{
  color: #1a1a1a;
  text-decoration: none;
  font-weight: 500;
  padding: 12px 0;
  display: inline-flex;
  gap: 8px;
  align-items: center;
}
.v7-menu a.active,
.v7-menu a:hover{
  color: #000;
}
.v7-menu .dropdown{
  position: relative;
}
.v7-menu .dropdown > ul{
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 230px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 10px;
  display: none;
  box-shadow: 0 20px 50px rgba(20,20,20,.12);
  z-index: 60;
}
.v7-menu .dropdown:hover > ul{
  display: block;
}
.v7-menu .dropdown ul a{
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
}
.v7-menu .dropdown ul a:hover{
  background: rgba(0,0,0,.04);
}

.theme-v7 .search-mobile{
  background: #fdfcf9;
}

.v7-home{
  background: #f3f0ea;
}
.v7-hero{
  padding: 70px 0 40px;
}
.v7-hero__grid{
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: center;
}
.v7-eyebrow{
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: 12px;
  color: rgba(26,26,26,.55);
}
.v7-hero__text h1{
  font-size: clamp(2.6rem, 5vw, 4.5rem);
  margin: 16px 0 14px;
}
.v7-hero__text p{
  max-width: 520px;
  color: rgba(26,26,26,.7);
}
.v7-hero__actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 20px 0 14px;
}
.v7-hero__ticks{
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  color: rgba(26,26,26,.65);
  font-size: 13px;
}
.v7-hero__ticks i{
  color: #111;
}

.v7-feature-card{
  background: #fff;
  border-radius: 24px;
  border: 1px solid rgba(0,0,0,.08);
  padding: 24px;
  position: relative;
  box-shadow: 0 30px 70px rgba(20,20,20,.12);
}
.v7-feature-card__badge{
  position: absolute;
  top: 16px;
  right: 16px;
  background: #111;
  color: #fff;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 999px;
}
.v7-feature-card__media{
  height: 240px;
  background: #f5f2ed;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.v7-feature-card__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.v7-feature-card__title{
  font-weight: 700;
  font-size: 20px;
}
.v7-feature-card__meta{
  color: rgba(26,26,26,.6);
}
.v7-feature-card__price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 700;
  margin: 12px 0;
}
.v7-feature-card__price small{
  color: rgba(26,26,26,.5);
  text-decoration: line-through;
}
.v7-feature-card__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.v7-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.v7-head p{
  color: rgba(26,26,26,.6);
}

.v7-collections,
.v7-products,
.v7-new{
  padding: 50px 0;
}
.v7-collections__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.v7-collection{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 20px;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease;
}
.v7-collection:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(20,20,20,.12);
}
.v7-collection__title{
  font-weight: 700;
}
.v7-collection__sub{
  color: rgba(26,26,26,.6);
  font-size: 13px;
}

.v7-split{
  padding: 20px 0 60px;
}
.v7-split__card{
  background: #111;
  color: #fff;
  border-radius: 22px;
  padding: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.v7-split__kicker{
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 12px;
  color: rgba(255,255,255,.6);
}
.v7-split__actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.v7-products__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.v7-product{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.v7-product__media{
  height: 180px;
  background: #f5f2ed;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.v7-product__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.v7-product__tags{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.v7-product__tags span{
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
}
.v7-product__title{
  font-weight: 700;
  text-decoration: none;
  color: inherit;
}
.v7-product__meta{
  color: rgba(26,26,26,.6);
  font-size: 13px;
}
.v7-product__footer{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.v7-product__price{
  font-weight: 700;
}

.v7-new__list{
  display: grid;
  gap: 12px;
}
.v7-new__item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 12px;
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 12px;
  align-items: center;
}
.v7-new__media{
  width: 70px;
  height: 70px;
  background: #f5f2ed;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.v7-new__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.v7-new__title{
  font-weight: 600;
  text-decoration: none;
  color: inherit;
}
.v7-new__meta{
  color: rgba(26,26,26,.6);
  font-size: 12px;
}
.v7-new__action{
  text-align: right;
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.v7-footer{
  background: transparent;
  color: var(--footer-text, #fff);
  padding: 0;
}
.v7-footer__brandblock{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.v7-footer__brandblock--center{
  align-items:center;
  text-align:center;
}
.v7-footer__brandblock--right{
  align-items:flex-end;
  text-align:right;
}
.v7-footer__brandtext{
  color: var(--footer-muted, rgba(255,255,255,.65));
  line-height: 1.6;
  max-width: 420px;
}
.v7-footer__brandblock .v7-logo img{
  height: auto;
  max-height: none;
}
.v7-footer{
  position: static;
  box-shadow: none;
}
body{
  padding-bottom: 0;
}
.home-zero,
.shop-hero,
.shop-marquee,
.shop-products,
.shop-collections{
  position: relative;
  z-index: 2;
}
@media (min-width: 992px){
  .v7-footer{
    position: static;
    box-shadow: none;
  }
  body{
    padding-bottom: 0;
  }
}
@media (max-width: 991.98px){
  .homepage-editorial{
    padding: 36px 0 8px;
  }
  .homepage-editorial__grid{
    grid-template-columns: 1fr;
    padding: 24px 20px;
    border-radius: 24px;
    text-align: center;
  }
  .homepage-editorial__content,
  .homepage-editorial__media,
  .homepage-editorial--image_left .homepage-editorial__content,
  .homepage-editorial--image_left .homepage-editorial__media,
  .homepage-editorial--image_right .homepage-editorial__content,
  .homepage-editorial--image_right .homepage-editorial__media{
    order: initial;
  }
  .homepage-editorial__content{
    max-width: 100%;
    margin: 0 auto;
  }
  .homepage-editorial__title{
    font-size: clamp(28px, 8vw, 40px);
  }
  .homepage-editorial__body{
    font-size: 14px;
    line-height: 1.7;
  }
  .homepage-editorial__media{
    min-height: 0;
    width: 100%;
    justify-content: center;
  }
  .homepage-editorial__media img,
  .homepage-editorial__placeholder{
    max-width: 100%;
    min-height: 260px;
  }
  .homepage-editorial__actions{
    width: 100%;
    justify-content: center;
  }
  .homepage-faq__question{
    padding: 16px 18px;
    font-size: 15px;
  }
  .homepage-faq__answer{
    padding: 0 18px 16px;
  }
  .homepage-editorial[data-homepage-section-type="countdown_banner"] .homepage-editorial__actions--countdown-desktop{
    display: none;
  }
  .homepage-editorial[data-homepage-section-type="countdown_banner"] .homepage-editorial__actions--countdown-mobile{
    display: flex;
    width: 100%;
    justify-content: center;
    margin-top: 18px;
  }
  .homepage-editorial__cta{
    width: 100%;
    max-width: 320px;
  }
  .homepage-editorial__media--coupon .flavor-showcase__coupon,
  .homepage-newsletter-card{
    width: 100%;
    max-width: 100%;
  }
  .homepage-editorial__media--coupon .flavor-showcase__coupon--desktop{
    display: grid;
    justify-self: center;
    margin-left: auto;
    margin-right: auto;
  }
  .homepage-editorial__media--product{
    justify-content: center;
    min-width: 0;
  }
  .homepage-editorial__media--product .shop-carousel__item{
    flex: 0 1 min(100%, 280px);
    width: min(100%, 280px);
    min-width: 0;
    margin-inline: auto;
  }
  .homepage-editorial__media--product .shop-product{
    max-width: 100%;
    min-width: 0;
  }
  .homepage-editorial__media--product .shop-product__footer{
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .homepage-editorial__media--product .shop-product__footer > .btn,
  .homepage-editorial__media--product .shop-product__footer > a.btn{
    flex: 0 0 auto;
  }
  .homepage-editorial__media .flavor-showcase__right--promo-countdown{
    width: 100%;
    justify-content: center;
  }
  .homepage-editorial__media .flavor-showcase__countdown{
    width: 100%;
    justify-content: center;
  }
  .homepage-editorial__media--countdown{
    flex-direction: column;
    align-items: center;
  }
  .homepage-editorial__media--countdown > .flavor-showcase__countdown--mobile{
    margin-inline: auto;
  }
  .homepage-editorial__media--countdown > .flavor-showcase__right--promo-countdown{
    display: none;
  }
  .homepage-editorial__eyebrow,
  .homepage-editorial__body,
  .homepage-newsletter-note,
  .homepage-newsletter-status{
    text-align: center;
  }
  .homepage-editorial--image_left .homepage-editorial__grid,
  .homepage-editorial--image_right .homepage-editorial__grid,
  .homepage-editorial--image_center .homepage-editorial__grid,
  .homepage-editorial--faq .homepage-editorial__grid{
    grid-template-columns: 1fr;
    text-align: center;
  }
  .homepage-editorial--faq_left .homepage-editorial__content,
  .homepage-editorial--faq_right .homepage-editorial__content,
  .homepage-editorial--full_width .homepage-editorial__content,
  .homepage-editorial--faq_left .homepage-faq,
  .homepage-editorial--faq_right .homepage-faq,
  .homepage-editorial--full_width .homepage-faq{
    order: initial;
  }
  .homepage-editorial--image_left .homepage-editorial__actions,
  .homepage-editorial--image_right .homepage-editorial__actions,
  .homepage-editorial--image_center .homepage-editorial__actions,
  .homepage-editorial--faq .homepage-editorial__actions{
    justify-content: center;
  }
  .homepage-editorial--image_left .homepage-editorial__media,
  .homepage-editorial--image_right .homepage-editorial__media,
  .homepage-editorial--image_center .homepage-editorial__media{
    padding-top: 0;
    justify-content: center;
  }
  /* Pe mobil eliminăm înălțimea minimă de 320px a zonei media — altfel cuponul
     voucher (~168px), formularul sau produsul „plutesc" într-o cutie pe jumătate
     goală (raportat: voucherul se afișa pe jumătate). */
  .homepage-editorial__media{
    min-height: 0;
  }
  .homepage-editorial--image-circle .homepage-editorial__media img,
  .homepage-editorial--image-circle .homepage-editorial__placeholder{
    width: min(100%, 260px);
    max-width: min(100%, 260px);
    min-height: 260px;
    height: 260px;
  }
  .shop-hero,
  .v7-header,
  .v7-topbar{
    width: 100%;
    margin-left: 0;
  }
  /* Pe mobil păstrăm full-bleed-ul pentru sistemul de secțiuni (home-zero + copiii
     ei), ca secțiunile și fundalurile colorate să ajungă cap-coadă la marginile
     ecranului. body{overflow-x:hidden} previne scroll-ul orizontal. */
  .home-zero{
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .shop-marquee,
  .shop-products,
  .shop-collections{
    width: 100%;
    margin-left: 0;
  }
}
@media (max-width: 575.98px){
  .homepage-editorial{
    padding: 28px 0 4px;
  }
  .homepage-editorial__grid{
    gap: 18px;
    padding: 18px 16px;
  }
  .homepage-editorial__eyebrow{
    margin-bottom: 10px;
  }
  .homepage-editorial__body{
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.65;
  }
  .homepage-editorial__actions{
    margin-top: 18px;
  }
  .homepage-editorial__cta{
    min-height: 44px;
    padding: 0 18px;
    font-size: 12px;
  }
  .homepage-editorial__media img,
  .homepage-editorial__placeholder{
    min-height: 220px;
  }
  .homepage-editorial__media--product .shop-carousel__item{
    width: 100%;
  }
  .homepage-editorial__media--product .shop-product{
    padding: 14px;
  }
  .homepage-editorial__media--product .shop-product__media{
    height: 148px;
  }
  .homepage-editorial__media--product .shop-product__wish{
    width: 34px;
    height: 34px;
  }
  .homepage-editorial__media--product .shop-product__footer{
    gap: 10px;
  }
  .homepage-newsletter-card{
    padding: 18px;
  }
}
.v7-footer__grid{
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.v7-footer__main{
  width: 100%;
  padding: 60px 0 30px;
}
.v7-footer__col{
  min-width: 0;
}
.v7-footer__text{
  color: var(--footer-muted, rgba(255,255,255,.65));
  line-height: 1.7;
  white-space: normal;
}
.v7-footer__brand p{
  color: var(--footer-muted, rgba(255,255,255,.65));
}
.v7-footer .v7-logo{
  color: var(--footer-text, #fff);
}
.v7-social{
  display: flex;
  gap: var(--footer-social-gap, 12px);
  flex-wrap: wrap;
  margin-top: 24px;
}
.v7-social a{
  color: var(--footer-social-color, var(--footer-text, #fff));
  font-size: var(--footer-social-size, 18px);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
.v7-social--center{
  justify-content: center;
}
.v7-social--right{
  justify-content: flex-end;
}
.v7-footer__links h6,
.v7-footer__newsletter h6{
  font-weight: 600;
  margin-bottom: 10px;
}
.v7-footer__newsletter p{
  color: var(--footer-muted, rgba(255,255,255,.65));
}
.v7-footer__image{
  display: inline-flex;
}
.v7-footer__image img{
  display:block;
  max-width: 220px;
  max-height: 110px;
  width:auto;
  height:auto;
}
.v7-footer__legal-images{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:24px;
  align-items:center;
  justify-content:flex-start;
  width: 100%;
  text-align: left;
}
.v7-footer__legal-images--center{
  justify-content:center !important;
  text-align: center;
}
.v7-footer__legal-images--right{
  justify-content:flex-end !important;
  text-align: right;
}
.v7-footer__legal-image{
  display:inline-flex;
  width: 180px;
  height: 72px;
  align-items:center;
  justify-content:center;
  overflow: hidden;
}
.v7-footer__legal-image img{
  display:block;
  max-width:180px;
  max-height:72px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.v7-footer__legal-images--rounded .v7-footer__legal-image{
  border-radius: 14px;
}
.v7-footer__legal-images--rounded .v7-footer__legal-image img{
  border-radius: 14px;
}
.v7-footer__links a,
.v7-legal a{
  color: var(--footer-link, rgba(255,255,255,.7));
  text-decoration: none;
  display: block;
  margin-bottom: 6px;
}
.v7-footer__links a:hover,
.v7-legal a:hover,
.v7-social a:hover{
  color: var(--footer-social-hover, var(--footer-link-hover, var(--primary-start)));
}
.v7-newsletter{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.v7-newsletter .form-control{
  min-width: 220px;
  background: color-mix(in srgb, var(--footer-bg, #111) 82%, white 18%);
  border: 1px solid color-mix(in srgb, var(--footer-border, #2a2a2a) 80%, white 20%);
  color: var(--footer-text, #fff);
}
.v7-newsletter .form-control::placeholder{
  color: var(--footer-muted, rgba(255,255,255,.65));
}
.v7-newsletter [data-newsletter-footer-submit]{
  border-width: 1px;
  box-shadow: none;
}
.v7-newsletter [data-newsletter-footer-submit]:hover,
.v7-newsletter [data-newsletter-footer-submit]:focus,
.v7-newsletter [data-newsletter-footer-submit]:active{
  box-shadow: none;
  filter: brightness(0.98);
}
.v7-legal{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
  font-size: 12px;
}
.v7-anpc{
  display: inline-flex;
  margin-top: 12px;
}
.v7-anpc img{
  display: block;
  max-width: 180px;
  max-height: 72px;
  width: auto;
  height: auto;
}
.v7-footer__bottom{
  border-top: 1px solid var(--footer-bottom-border, var(--footer-border, rgba(255,255,255,.12)));
  margin-top: 0;
  color: var(--footer-bottom-text, var(--footer-muted, rgba(255,255,255,.7)));
  font-size: 12px;
  width: 100%;
}
.v7-footer__bottom-inner{
  padding-top: 16px;
  padding-bottom: 16px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.v7-footer__bottom a{
  color: var(--footer-bottom-link, var(--footer-link, var(--footer-muted, rgba(255,255,255,.7))));
  text-decoration: none;
}
.v7-footer__bottom a:hover{
  color: var(--footer-bottom-link-hover, var(--footer-link-hover, var(--footer-link, var(--primary-start))));
  text-decoration: none;
}

/* ===================== Layout-uri de footer ===================== */
/* clasic = comportamentul implicit (grid auto-fit). Variantele de mai jos rearanjează ACELEAȘI coloane. */

/* centrat — totul aliniat pe centru */
.v7-footer--centrat .v7-footer__grid{ justify-items: center; text-align: center; max-width: 980px; margin: 0 auto; }
.v7-footer--centrat .v7-footer__brandblock{ align-items: center; text-align: center; }
.v7-footer--centrat .v7-social{ justify-content: center; }
.v7-footer--centrat .v7-footer__legal-images{ justify-content: center; }
.v7-footer--centrat .v7-footer__bottom-inner{ justify-content: center; text-align: center; }

/* compact — footer scurt, coloanele pe un singur rând orizontal */
.v7-footer--compact .v7-footer__main{ padding: 36px 0 18px; }
.v7-footer--compact .v7-footer__grid{ display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px 46px; }
.v7-footer--compact .v7-footer__col{ flex: 0 1 auto; }
.v7-footer--compact .v7-footer__links a{ display: inline-block; margin: 0 16px 4px 0; }

/* split — coloana brand mare la stânga, restul coloanelor la dreapta */
.v7-footer--split .v7-footer__grid{ display: flex; flex-wrap: wrap; gap: 30px 48px; }
.v7-footer--split .v7-footer__col{ flex: 1 1 150px; }
.v7-footer--split .v7-footer__col:first-child{ flex: 1 1 300px; }

/* stivuit — fiecare coloană pe toată lățimea, cu separatoare (look editorial) */
.v7-footer--stivuit .v7-footer__grid{ display: block; }
.v7-footer--stivuit .v7-footer__col{ padding: 24px 0; border-top: 1px solid var(--footer-border, rgba(255,255,255,.12)); }
.v7-footer--stivuit .v7-footer__col:first-child{ border-top: 0; padding-top: 0; }
.v7-footer--stivuit .v7-footer__links a{ display: inline-block; margin: 0 22px 6px 0; }

@media (max-width: 767.98px){
  .v7-footer--compact .v7-footer__grid,
  .v7-footer--split .v7-footer__grid{ gap: 22px 26px; }
}

/* ===================== Aspect secțiuni homepage (global, opt-in, clase pe body) ===================== */
/* Stil titlu secțiune — decorează eticheta .homepage-subtitle din .shop-head */
body.sec-title--linie .shop-head{ flex-direction: column; align-items: center; text-align: center; }
body.sec-title--linie .shop-head > div:first-child{ width: 100%; }
body.sec-title--linie .shop-head .homepage-subtitle{ text-align: center !important; }
body.sec-title--linie .shop-head .homepage-subtitle::after{
  content: ''; display: block; width: 64px; height: 3px; border-radius: 3px;
  margin: 10px auto 0;
  background: linear-gradient(90deg, transparent, rgba(var(--accent-rgb, 17,17,17), .75), transparent);
}
body.sec-title--accent .shop-head .homepage-subtitle{
  border-left: 4px solid rgba(var(--accent-rgb, 17,17,17), .85);
  padding-left: 12px;
}
body.sec-title--pastila .shop-head .homepage-subtitle{
  display: inline-block;
  background: rgba(var(--accent-rgb, 17,17,17), .1);
  padding: 6px 16px;
  border-radius: 999px;
}

/* Densitate grilă — modul grilă („listă") al secțiunilor de produse, doar desktop */
@media (min-width: 992px){
  body.sec-cols--2 .shop-carousel__track--list .shop-carousel__item{ flex: 0 0 calc(50% - 8px); width: calc(50% - 8px); }
  body.sec-cols--3 .shop-carousel__track--list .shop-carousel__item{ flex: 0 0 calc(33.333% - 11px); width: calc(33.333% - 11px); }
  body.sec-cols--4 .shop-carousel__track--list .shop-carousel__item{ flex: 0 0 calc(25% - 12px); width: calc(25% - 12px); }
}

/* Fundal alternant — fiecare a doua secțiune vizibilă din homepage. Culoarea e
   personalizabilă prin --sec-altbg-color; implicit o tentă din accent. */
body.sec-altbg .home-zero > section:nth-child(even of section:not([hidden])){
  background-color: var(--sec-altbg-color, rgba(var(--accent-rgb, 17,17,17), .045));
}
/* Excludere per secțiune din fundalul alternant (Setări secțiune → Fundal) */
body.sec-altbg .home-zero > section[data-altbg-off="1"]:nth-child(even of section:not([hidden])){
  background-color: transparent;
}

/* Forme de margine per secțiune (val/zigzag/curbă/înclinat) — marginea fundalului
   e DECUPATĂ (mask pe elementul care poartă fundalul), deci forma continuă perfect
   fundalul, inclusiv imagine sau gradient. Pe editoriale masca merge pe grilă
   (variabilele se moștenesc de pe secțiune). */
/* definițiile formelor — SUS */
body .home-zero > section[data-divider="val"]{
  --secdiv-top: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 16'%3E%3Cpath d='M0 8 Q30 0 60 8 T120 8 L120 16 L0 16 Z' fill='black'/%3E%3C/svg%3E");
  --secdiv-top-size: 120px 16px; --secdiv-top-h: 16px;
}
body .home-zero > section[data-divider="zigzag"]{
  --secdiv-top: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M0 12 L12 0 L24 12 Z' fill='black'/%3E%3C/svg%3E");
  --secdiv-top-size: 24px 12px; --secdiv-top-h: 12px;
}
body .home-zero > section[data-divider="curba"]{
  --secdiv-top: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 28 Q600 -20 1200 28 Z' fill='black'/%3E%3C/svg%3E");
  --secdiv-top-size: 100% 28px; --secdiv-top-h: 28px;
}
body .home-zero > section[data-divider="inclinat"]{
  --secdiv-top: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 28 L1200 0 L1200 28 Z' fill='black'/%3E%3C/svg%3E");
  --secdiv-top-size: 100% 28px; --secdiv-top-h: 28px;
}
/* definițiile formelor — JOS (oglindite) */
body .home-zero > section[data-divider-bottom="val"]{
  --secdiv-bottom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 16'%3E%3Cpath d='M0 8 Q30 16 60 8 T120 8 L120 0 L0 0 Z' fill='black'/%3E%3C/svg%3E");
  --secdiv-bottom-size: 120px 16px; --secdiv-bottom-h: 16px;
}
body .home-zero > section[data-divider-bottom="zigzag"]{
  --secdiv-bottom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M0 0 L24 0 L12 12 Z' fill='black'/%3E%3C/svg%3E");
  --secdiv-bottom-size: 24px 12px; --secdiv-bottom-h: 12px;
}
body .home-zero > section[data-divider-bottom="curba"]{
  --secdiv-bottom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 0 Q600 48 1200 0 Z' fill='black'/%3E%3C/svg%3E");
  --secdiv-bottom-size: 100% 28px; --secdiv-bottom-h: 28px;
}
body .home-zero > section[data-divider-bottom="inclinat"]{
  --secdiv-bottom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 0 L1200 0 L0 28 Z' fill='black'/%3E%3C/svg%3E");
  --secdiv-bottom-size: 100% 28px; --secdiv-bottom-h: 28px;
}
/* aplicarea măștii: 3 straturi — forma de sus + forma de jos + corpul dintre ele.
   Lipsă formă = strat solid de înălțime 0 (acoperire completă prin corpul central). */
body .home-zero > section:is([data-divider="val"],[data-divider="zigzag"],[data-divider="curba"],[data-divider="inclinat"],[data-divider-bottom="val"],[data-divider-bottom="zigzag"],[data-divider-bottom="curba"],[data-divider-bottom="inclinat"]):not(.homepage-editorial),
body .home-zero > section.homepage-editorial:is([data-divider="val"],[data-divider="zigzag"],[data-divider="curba"],[data-divider="inclinat"],[data-divider-bottom="val"],[data-divider-bottom="zigzag"],[data-divider-bottom="curba"],[data-divider-bottom="inclinat"]) .homepage-editorial__grid{
  -webkit-mask:
    var(--secdiv-top, linear-gradient(#000, #000)) left top / var(--secdiv-top-size, 100% var(--secdiv-top-h, 0px)) repeat-x,
    var(--secdiv-bottom, linear-gradient(#000, #000)) left bottom / var(--secdiv-bottom-size, 100% var(--secdiv-bottom-h, 0px)) repeat-x,
    linear-gradient(#000, #000) left 0 top var(--secdiv-top-h, 0px) / 100% calc(100% - var(--secdiv-top-h, 0px) - var(--secdiv-bottom-h, 0px)) no-repeat;
  mask:
    var(--secdiv-top, linear-gradient(#000, #000)) left top / var(--secdiv-top-size, 100% var(--secdiv-top-h, 0px)) repeat-x,
    var(--secdiv-bottom, linear-gradient(#000, #000)) left bottom / var(--secdiv-bottom-size, 100% var(--secdiv-bottom-h, 0px)) repeat-x,
    linear-gradient(#000, #000) left 0 top var(--secdiv-top-h, 0px) / 100% calc(100% - var(--secdiv-top-h, 0px) - var(--secdiv-bottom-h, 0px)) no-repeat;
}
/* ===================== Stiluri topbar ===================== */
/* marquee — mesajul defilează continuu; pauză la hover */
.topbar--marquee .container > div:first-child{ flex: 1 1 auto; overflow: hidden; max-width: 100%; }
.topbar--marquee [data-topbar-message-text]{
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation: topbar-marquee 18s linear infinite;
  will-change: transform;
}
.topbar--marquee:hover [data-topbar-message-text]{ animation-play-state: paused; }
@keyframes topbar-marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce){
  .topbar--marquee [data-topbar-message-text]{ animation: none; padding-left: 0; }
}

/* ===================== Layout pagina de produs (global, opt-in, clase pe body) ===================== */
@media (min-width: 992px){
  /* invers — galeria în dreapta, buybox-ul în stânga */
  body.pp-lay--invers .pp-prod-row{ flex-direction: row-reverse; }
  /* galerie — galerie mare (8/4) */
  body.pp-lay--galerie .pp-prod-row > .pp-gallery-col{ width: 66.666667%; }
  body.pp-lay--galerie .pp-prod-row > .pp-buybox-col{ width: 33.333333%; }
  /* echilibrat — 50/50 */
  body.pp-lay--echilibrat .pp-prod-row > .pp-gallery-col{ width: 50%; }
  body.pp-lay--echilibrat .pp-prod-row > .pp-buybox-col{ width: 50%; }
}

/* ===================== Layout listare produse (/produse, /cautare, categorii) ===================== */
@media (min-width: 992px){
  /* filtre sus — bară orizontală peste produse, grila pe toată lățimea */
  body.list-lay--sus .listing-row > .listing-filters{ width: 100%; }
  body.list-lay--sus .listing-row > .listing-filters #flavorFilter{
    display: flex !important;
    flex-wrap: wrap;
    gap: 18px 28px !important;
    align-items: flex-start;
  }
  body.list-lay--sus .listing-row > #products{ width: 100%; }
}
@media (min-width: 1200px){
  /* 4 coloane în loc de 3 pe listare */
  body.list-cols--4 #products > div[class*="col-"]{ flex: 0 0 auto; width: 25%; }
}

/* SweetAlert */
.swal2-confirm{
  background: var(--primary-start) !important;
  border-color: var(--primary-start) !important;
  color: #0A0E27 !important;
  box-shadow: none !important;
}
.swal2-confirm:hover{
  background: var(--primary-start) !important;
  border-color: var(--primary-start) !important;
  filter: brightness(0.98);
}
.swal2-confirm:focus,
.swal2-confirm:active,
.swal2-styled:focus{
  box-shadow: none !important;
  outline: none !important;
}

.theme-v7 .count-badge{
  background: #111;
}

@media (max-width: 991.98px){
  .v7-nav__row{
    flex-direction: column;
    align-items: flex-start;
  }
  .v7-search{
    width: 100%;
    max-width: none;
  }
  .v7-menu ul{
    flex-direction: column;
    align-items: flex-start;
  }
  .v7-new__item{
    grid-template-columns: 60px 1fr;
  }
  .v7-new__action{
    grid-column: 2;
    justify-items: start;
  }
  .v7-split__card{
    flex-direction: column;
    align-items: flex-start;
  }
}
.btn-primary,
.btn-primary:focus{
  background: linear-gradient(135deg, var(--primary-start), var(--primary-end));
  border-color: transparent;
}
.voucher-hint + .input-group .btn,
#applyVoucher{
  background: var(--primary-start) !important;
  border-color: var(--primary-start) !important;
  color: #0A0E27 !important;
}
.btn-primary:hover{
  filter: brightness(1.02);
  border-color: transparent;
}
.btn{
  box-shadow: none !important;
}
.btn:focus,
.btn:active{
  box-shadow: none !important;
}
#cartCanvas .btn.btn-primary.disabled,
#cartCanvas .btn.btn-primary:disabled{
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
.btn-outline-light{
  border-color: rgba(10,14,39,.25) !important;
  color: #0A0E27 !important;
}
.btn-outline-light:hover{
  background: rgba(10,14,39,.04) !important;
}
.btn-outline-dark{
  border-color: rgba(10,14,39,.35);
  color: var(--dark);
}
.btn-outline-dark:hover{
  background: rgba(10,14,39,.06);
  border-color: rgba(10,14,39,.45);
}
.text-bg-success{
  background: linear-gradient(135deg, var(--success-start), var(--success-end)) !important;
  color: #0b1b16 !important;
}
.text-bg-warning{
  background: linear-gradient(135deg, var(--secondary-start), var(--secondary-end)) !important;
  color: #fff !important;
}
.badge.text-bg-danger{
  background: var(--dark) !important;
  color: #fff !important;
}

.navbar .nav-icons a .bi-person{
  font-size: 1.45rem;
}

/* Global: no shadows on cards */
.card,
.glass-card,
.hero-card,
.free-ship-card,
.cart-summary-card,
.agegate-card,
.cookie-consent__card,
.pref-card,
.order-card,
.order-item-card,
.address-card,
.stripe-card-shell{
  box-shadow: none !important;
}

/* Body text: Space Grotesk (sau --site-font-family). Excludem icoanele
   Bootstrap și headings (h1-h6 + clase .h1-.h6) ca să primească Playfair. */
html body,
html body *:not(.bi):not([class^="bi-"]):not([class*=" bi-"]):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.h1):not(.h2):not(.h3):not(.h4):not(.h5):not(.h6){
  font-family: var(--site-font-family, "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif) !important;
}
/* Headings: Playfair Display (sau --site-heading-font-family). */
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .h1, html body .h2, html body .h3, html body .h4, html body .h5, html body .h6{
  font-family: var(--site-heading-font-family, "Playfair Display", Georgia, "Times New Roman", serif) !important;
}

/* Strip decorative letter-spacing / uppercase on title classes that originally
   targeted Bebas Neue / Playfair — they look "different" otherwise. */
.home-title,
.hero-title,
.shop-title,
.flavor-showcase__title,
.nova-title,
.flux-title,
.pulse-title,
.studio-title,
#categoryPage .category-filters .card-title,
#categoryPage .category-products .shop-head h2,
.theme-v7 h1, .theme-v7 h2, .theme-v7 h3, .theme-v7 h4, .theme-v7 h5, .theme-v7 h6 {
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* ===== Account page (contul-meu) ===== */
.account-page {
  color: #1a1a1a;
  padding-bottom: 5rem; /* leave room for mobile bottom-nav */
}
.account-page .glass-card {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 12px 30px rgba(15,15,20,.06) !important;
  color: #1a1a1a;
}
.account-page .text-secondary { color: rgba(10,14,39,.65) !important; }
.account-page .glass-input,
.account-page .form-control,
.account-page .form-select {
  background: #fff;
  border-color: rgba(0,0,0,.12);
  color: #1a1a1a;
}
.account-page .form-control:focus,
.account-page .form-select:focus {
  border-color: var(--lux2, var(--primary-start));
  box-shadow: 0 0 0 .2rem rgba(var(--accent-rgb),.25);
}
.account-page .btn-outline-light {
  color: #1a1a1a;
  border-color: rgba(0,0,0,.15);
  background: transparent;
}
.account-page .btn-outline-light:hover {
  color: #1a1a1a;
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.25);
}
.account-page .border-white.border-opacity-10,
.account-page .border-white {
  border-color: rgba(0,0,0,.08) !important;
}
.account-page .bg-dark.bg-opacity-25 {
  background: rgba(var(--accent-rgb),.18) !important;
}

.account-avatar {
  width: 52px; height: 52px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(var(--accent-rgb),.85), rgba(var(--accent-rgb),.45));
  color: #3a2c0c;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800;
  flex: 0 0 auto;
  letter-spacing: .02em;
}

@media (min-width: 992px) {
  .account-sidebar {
    position: sticky;
    top: 1rem;
    align-self: flex-start;
  }
}

.account-links .list-group-item {
  background: transparent;
  color: #1a1a1a;
  border: 0;
  padding: .65rem .85rem;
  border-radius: 12px !important;
  margin-bottom: .15rem;
  transition: background-color .15s ease, color .15s ease;
}
.account-links .list-group-item:hover {
  background: rgba(var(--accent-rgb),.12);
  color: #1a1a1a;
}
.account-links .list-group-item.active {
  background: rgba(var(--accent-rgb),.22);
  color: #3a2c0c;
  font-weight: 600;
  border-color: transparent;
}
.account-links .list-group-item.text-danger:hover {
  background: rgba(220,53,69,.08);
}

/* KPI cards on dashboard */
.account-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .account-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.account-kpi {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 1rem 1.1rem;
  display: flex; align-items: center; gap: .85rem;
  box-shadow: 0 8px 22px rgba(15,15,20,.04);
}
.account-kpi__icon {
  width: 42px; height: 42px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(var(--accent-rgb),.18);
  color: #6b4f12;
  font-size: 1.15rem;
  flex: 0 0 auto;
}
.account-kpi__label {
  font-size: .78rem;
  color: rgba(10,14,39,.6);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.account-kpi__value {
  font-size: 1.25rem;
  font-weight: 800;
  color: #1a1a1a;
  line-height: 1.1;
  margin-top: .15rem;
}

/* Order cards in lists */
.account-page .lista-comenzi {
  border: 1px solid rgba(0,0,0,.08) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #1a1a1a !important;
  text-decoration: none;
  transition: border-color .15s ease, transform .1s ease, box-shadow .15s ease;
}
.account-page .lista-comenzi:hover {
  border-color: rgba(var(--accent-rgb),.55) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(15,15,20,.06);
}
.account-page .lista-comenzi .id-comanda {
  color: #1a1a1a;
  font-weight: 700;
}
.account-page .lista-comenzi .img-produs img {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 8px;
}

/* Mobile bottom-nav */
.account-bottom-nav {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1030;
  display: flex;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px);
  border-top: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 -6px 18px rgba(15,15,20,.06);
}
.account-bottom-nav__item {
  flex: 1 1 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: .55rem .25rem .65rem;
  font-size: .7rem;
  font-weight: 600;
  color: rgba(10,14,39,.6);
  text-decoration: none;
  gap: .15rem;
  border: 0;
}
.account-bottom-nav__item i {
  font-size: 1.15rem;
  line-height: 1;
}
.account-bottom-nav__item.is-active {
  color: #6b4f12;
}
.account-bottom-nav__item.is-active i {
  color: var(--lux2, var(--primary-start));
}

/* ===== Breadcrumb component (.qv-crumbs) ===== */
.qv-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin: 0;
  padding: .5rem .85rem;
  list-style: none;
  background: rgba(0,0,0,.03);
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 500;
  color: rgba(32,27,23,.55);
  width: fit-content;
  max-width: 100%;
  text-transform: none;
  letter-spacing: normal;
}
.qv-crumbs__item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.qv-crumbs__item a {
  color: inherit;
  text-decoration: none;
  transition: color .15s ease;
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}
.qv-crumbs__item a:hover {
  color: var(--lux2, var(--primary-start));
}
.qv-crumbs__item.is-active {
  color: rgba(32,27,23,.95);
  font-weight: 600;
  max-width: 32ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qv-crumbs__sep {
  display: inline-flex;
  align-items: center;
  color: rgba(32,27,23,.25);
  font-size: .65rem;
  flex: 0 0 auto;
}
.qv-crumbs__home {
  font-size: 1rem;
  line-height: 1;
}
.checkout-page .qv-crumbs {
  background: rgba(0,0,0,.04);
}
@media (max-width: 575.98px) {
  .qv-crumbs { padding: .45rem .7rem; font-size: .8rem; }
  .qv-crumbs__item.is-active { max-width: 16ch; }
}

/* Existent: regula `html body *:not(.bi):not(...)` de la linia ~7753
   forțează deja Space Grotesk site-wide cu `!important`. */

/* ===== STILURI DE CARD PER TEMĂ (activate prin .cardstyle-<temă> pe body) ===== */
/* minimal — fără chrome, separator subțire, media pătrată, plat */
.cardstyle-minimal .shop-product{ border:0; border-radius:0 !important; background:transparent; padding:10px 2px; box-shadow:none !important; border-bottom:1px solid rgba(0,0,0,.12); }
.cardstyle-minimal .shop-product__media{ border-radius:0; }
.cardstyle-minimal .shop-product:hover{ background:rgba(0,0,0,.025); }

/* bold — bordură groasă + umbră dură decalată în accent */
.cardstyle-bold .shop-product{ border:2px solid #0d0d0f; border-radius:12px !important; box-shadow:6px 6px 0 var(--primary-start) !important; transition:transform .12s ease, box-shadow .12s ease; }
.cardstyle-bold .shop-product:hover{ transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--primary-start) !important; }

/* elegant — fără bordură, centrat, umbră fină, titlu cu linie accent */
.cardstyle-elegant .shop-product{ border:0; box-shadow:0 16px 44px rgba(20,17,14,.10) !important; text-align:center; padding:22px 18px; }
.cardstyle-elegant .shop-product__footer{ justify-content:center; }
.cardstyle-elegant .shop-product__title{ position:relative; padding-bottom:10px; }
.cardstyle-elegant .shop-product__title::after{ content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:28px; height:2px; background:var(--primary-start); }

/* warm — colțuri mari, umbră caldă, media rotunjită */
.cardstyle-warm .shop-product{ border:0; box-shadow:0 16px 36px rgba(180,100,60,.16) !important; }
.cardstyle-warm .shop-product__media{ border-radius:16px; overflow:hidden; }

/* fashion — editorial, imagine înaltă 3:4, titlu uppercase, fără chrome */
.cardstyle-fashion .shop-product{ border:0; border-radius:0 !important; background:transparent; box-shadow:none !important; padding:0; gap:8px; }
.cardstyle-fashion .shop-product__media{ aspect-ratio:3/4; border-radius:0; }
.cardstyle-fashion .shop-product__title{ text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; }

/* food — proaspăt, media rotunjită, umbră verde */
.cardstyle-food .shop-product{ border:0; box-shadow:0 14px 32px rgba(79,138,61,.16) !important; }
.cardstyle-food .shop-product__media{ border-radius:16px; overflow:hidden; }

/* tech — sharp, bordură 1px, hover accent + lift */
.cardstyle-tech .shop-product{ border:1px solid rgba(11,18,32,.14); border-radius:12px !important; box-shadow:none !important; transition:border-color .15s, transform .12s, box-shadow .15s; }
.cardstyle-tech .shop-product:hover{ border-color:var(--primary-start); transform:translateY(-3px); box-shadow:0 12px 28px rgba(11,18,32,.12) !important; }

/* beauty — delicat, centrat, umbră roz, media rotunjită */
.cardstyle-beauty .shop-product{ border:0; box-shadow:0 16px 36px rgba(var(--accent-rgb),.18) !important; text-align:center; }
.cardstyle-beauty .shop-product__media{ border-radius:18px; overflow:hidden; }
.cardstyle-beauty .shop-product__footer{ justify-content:center; }

/* jewelry — card întunecat, bordură fină accent, centrat, text deschis */
.cardstyle-jewelry .shop-product{ background:#161514; border:1px solid rgba(var(--accent-rgb),.5); border-radius:2px !important; text-align:center; color:#efe9dd; box-shadow:0 16px 40px rgba(0,0,0,.3) !important; }
.cardstyle-jewelry .shop-product__title, .cardstyle-jewelry .shop-product__price{ color:#efe9dd; }
.cardstyle-jewelry .shop-product__from, .cardstyle-jewelry .shop-product__old, .cardstyle-jewelry .shop-product__vat{ color:rgba(239,233,221,.6); }
.cardstyle-jewelry .shop-product__footer{ justify-content:center; }
.cardstyle-jewelry .shop-product__wish{ background:#1d1c1a; border-color:rgba(var(--accent-rgb),.4); }

/* sport — bară accent stânga, titlu uppercase, hover scale */
.cardstyle-sport .shop-product{ border:0; border-left:4px solid var(--primary-start); border-radius:10px !important; box-shadow:0 10px 26px rgba(0,0,0,.10) !important; transition:transform .12s ease; }
.cardstyle-sport .shop-product:hover{ transform:translateY(-3px) scale(1.01); }
.cardstyle-sport .shop-product__title{ text-transform:uppercase; letter-spacing:.03em; font-weight:800; }

/* furniture — catalog calm, bordură fină, padding generos */
.cardstyle-furniture .shop-product{ border:1px solid rgba(47,44,39,.14); border-radius:14px !important; box-shadow:none !important; padding:18px; }
.cardstyle-furniture .shop-product:hover{ box-shadow:0 12px 30px rgba(47,44,39,.10) !important; }

/* pharmacy — curat, rotunjit, umbră subtilă teal */
.cardstyle-pharmacy .shop-product{ border:1px solid rgba(15,179,164,.18); border-radius:18px !important; box-shadow:0 8px 22px rgba(15,179,164,.10) !important; }
.cardstyle-pharmacy .shop-product:hover{ box-shadow:0 12px 28px rgba(15,179,164,.16) !important; }

/* ===== POLISH UX CARD PRODUS (bază — se aplică peste toate temele; variantele
   .cardstyle-* câștigă unde definesc aceleași proprietăți, prin specificitate) ===== */
.shop-product{ transition: transform .18s ease, box-shadow .22s ease, border-color .18s ease; }
.shop-product:hover{ transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,.10); }
.shop-product__media{ overflow: hidden; }
.shop-product__media img{ transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.shop-product:hover .shop-product__media img{ transform: scale(1.06); }
/* Titlu pe maxim 2 rânduri → carduri de înălțime egală, fără salturi de layout */
.shop-product__title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.35; min-height:2.7em; }
/* Ierarhie preț mai clară */
.shop-product__price{ font-weight:800; font-size:1.06rem; letter-spacing:-.01em; }
.shop-product__old{ text-decoration: line-through; opacity:.7; }
/* Wishlist: feedback fin + accesibilitate */
.shop-product__wish{ box-shadow:0 2px 8px rgba(0,0,0,.06); }
.shop-product__wish:hover{ transform: scale(1.12); }
.shop-product__wish:active{ transform: scale(.95); }
.shop-product__wish:focus-visible,
.shop-product__footer .btn:focus-visible{ outline:2px solid var(--primary-start); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  .shop-product, .shop-product__media img, .shop-product__wish{ transition:none !important; }
  .shop-product:hover{ transform:none; }
  .shop-product:hover .shop-product__media img{ transform:none; }
}

/* ===== Badge-uri produs (reducere / nou) — overlay pe media, stânga-sus ===== */
.shop-product__media{ position: relative; }
.shop-product__flags{ position:absolute; top:8px; left:8px; z-index:2; display:flex; flex-direction:column; gap:6px; align-items:flex-start; pointer-events:none; }
.pflag{ display:inline-flex; align-items:center; line-height:1; font-weight:800; font-size:.72rem; letter-spacing:.02em; padding:5px 9px; border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,.16); }
.pflag--sale{ background: var(--primary-start); color:#fff; }
.pflag--new{ background:#1d1c1a; color:#fff; }

/* ===== Skeleton loading pentru grile de produse ===== */
.shop-product--skeleton{ pointer-events:none; }
.shop-product--skeleton .skel{ border-radius:8px; background:linear-gradient(100deg, rgba(0,0,0,.06) 30%, rgba(0,0,0,.12) 50%, rgba(0,0,0,.06) 70%); background-size:200% 100%; animation: skelShimmer 1.2s ease-in-out infinite; }
.shop-product--skeleton .skel--media{ height:220px; border-radius:12px; }
.shop-product--skeleton .skel--line{ height:12px; margin-top:6px; }
.shop-product--skeleton .skel--line.w-60{ width:60%; }
.shop-product--skeleton .skel--line.w-40{ width:40%; }
.shop-product--skeleton .skel--btn{ height:34px; width:90px; border-radius:10px; margin-top:auto; }
@keyframes skelShimmer{ 0%{ background-position:200% 0; } 100%{ background-position:-200% 0; } }
@media (prefers-reduced-motion: reduce){ .shop-product--skeleton .skel{ animation:none; } }

/* auto — industrial sharp, bordură subțire, hover accent + lift */
.cardstyle-auto .shop-product{ border:1px solid rgba(22,24,28,.16); border-radius:8px !important; box-shadow:none !important; transition:border-color .15s, transform .12s, box-shadow .15s; }
.cardstyle-auto .shop-product:hover{ border-color:var(--primary-start); transform:translateY(-3px); box-shadow:0 12px 28px rgba(22,24,28,.14) !important; }
.cardstyle-auto .shop-product__title{ text-transform:uppercase; letter-spacing:.02em; }

/* kids — super rotunjit, jucăuș, umbră mare colorată, media rotunjită */
.cardstyle-kids .shop-product{ border:0; border-radius:24px !important; box-shadow:0 16px 36px rgba(var(--accent-rgb),.20) !important; }
.cardstyle-kids .shop-product__media{ border-radius:20px; overflow:hidden; }
.cardstyle-kids .shop-product:hover{ transform:translateY(-4px) scale(1.01); }

/* books — clasic, bordură fină, colțuri mici */
.cardstyle-books .shop-product{ border:1px solid rgba(43,39,35,.15); border-radius:6px !important; box-shadow:none !important; }
.cardstyle-books .shop-product:hover{ box-shadow:0 10px 26px rgba(43,39,35,.10) !important; }

/* pets — rotunjit prietenos, umbră verde, media rotunjită */
.cardstyle-pets .shop-product{ border:0; border-radius:18px !important; box-shadow:0 14px 32px rgba(76,175,136,.16) !important; }
.cardstyle-pets .shop-product__media{ border-radius:14px; overflow:hidden; }

/* Carduri de produs: FĂRĂ umbre și FĂRĂ margini colorate, indiferent de tema activă.
   Vine după toate regulile cardstyle-* ca să le bată (aceeași specificitate + !important
   => câștigă ultima din sursă). Marginea rămâne, dar într-o nuanță neutră (nu colorată). */
.shop-product,
[class*="cardstyle-"] .shop-product,
.shop-product:hover,
[class*="cardstyle-"] .shop-product:hover{
  box-shadow: none !important;
  border-color: rgba(0,0,0,.08) !important;
}

/* ===== Stil global card produs (body.pcards-*) — ales din editor, independent de temă.
   „standard" = look-ul de bază (fără clasă). Vine DUPĂ tot (cardstyle-* + no-shadow) ca
   să câștige. Toate fără umbre / fără margini colorate. ===== */
/* MINIMAL: fără card/bordură/fundal — doar imaginea + info, curat. */
.pcards-minimal .shop-product{ border:0 !important; background:transparent !important; padding:8px 2px !important; border-radius:0 !important; }
/* ÎNCADRAT: bordură neutră vizibilă + colțuri drepte. */
.pcards-framed .shop-product{ border:1.5px solid rgba(0,0,0,.22) !important; border-radius:0 !important; padding:14px !important; background:#fff !important; }
.pcards-framed .shop-product__media{ border-radius:0; }
/* CENTRAT: imagine + text + acțiuni centrate. */
.pcards-centered .shop-product{ text-align:center; }
.pcards-centered .shop-product__meta,
.pcards-centered .shop-product__pricing{ justify-content:center; align-items:center; }
.pcards-centered .shop-product__footer{ flex-direction:column; align-items:center; gap:10px; }

/* „Lipit" (section_spacing „Fără spațiu"): secțiunea marcată data-flush își anulează
   spațiul de jos (inline), iar secțiunea imediat următoare își pierde spațiul de sus
   => cele două secțiuni se ating, fără gol între ele. */
[data-flush] + [data-homepage-section-type]{ padding-top: 0 !important; }

/* ===== Layout-uri noi de card produs (body.pcards-*) — fără umbre / margini colorate ===== */
/* ORIZONTAL: imaginea în stânga, detaliile (titlu/preț/acțiuni) în dreapta — aspect de listă. */
/* ORIZONTAL: jumătate stânga = imaginea pe toată înălțimea cardului (cu butoanele
   comparare + favorite peste ea, sus); jumătate dreapta = titlu, preț, apoi buton lat
   „Adaugă" pe toată lățimea. */
.pcards-horizontal .shop-product{ position:relative; display:flex; flex-direction:column; padding:0 !important; border:0 !important; overflow:hidden; border-radius:16px; min-height:270px; background:#fff; }
/* stânga: imaginea ocupă jumătatea stângă, pe toată înălțimea cardului. */
.pcards-horizontal .shop-product__media{ position:absolute; left:0; top:0; bottom:0; width:44%; height:auto; margin:0; border-radius:0; }
.pcards-horizontal .shop-product__media img{ width:100%; height:100%; object-fit:cover; }
/* dreapta: conținutul curge în jumătatea dreaptă (împins cu margin-left). */
.pcards-horizontal .shop-product__badges{ margin-left:44%; padding:12px 14px 0; }
.pcards-horizontal .shop-product__title{ margin-left:44%; padding:16px 14px 0; margin-top:0; -webkit-line-clamp:3; min-height:0; }
.pcards-horizontal .shop-product__meta{ margin-left:44%; padding:4px 14px 0; }
.pcards-horizontal .shop-product__footer{ margin-left:44%; padding:12px 14px 16px; flex-direction:column; align-items:stretch; gap:10px; margin-top:auto; order:10; }
.pcards-horizontal .shop-product__period-inline{ margin-left:44%; padding:0 14px; }
.pcards-horizontal .shop-product__pricing{ justify-content:flex-start; flex-wrap:wrap; }
.pcards-horizontal .shop-product__footer .btn{ width:100%; border-radius:10px; padding:9px 12px; font-size:.92rem; line-height:1.2; }
/* butonul de adăugare e doar cu icon — adăugăm și textul „Adaugă" în acest layout. */
.pcards-horizontal .shop-product__footer button[data-add]::after{ content:"Adaugă"; margin-left:7px; font-weight:700; }
.pcards-horizontal .shop-product__footer .qty{ width:100%; justify-content:center; gap:14px; padding:4px 6px; border:0; background:transparent; }
.pcards-horizontal .shop-product__footer .qty button{ width:26px; height:26px; border:0; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; padding:0; line-height:1; font-size:16px; }
.pcards-horizontal .shop-product__footer .qty input{ font-size:.92rem; }
/* Cardul orizontal e lat: în carusel item mai lat; în listă 2 pe rând (1 pe mobil). */
.pcards-horizontal .shop-products .shop-carousel__item{ width:min(92vw,420px); flex:0 0 min(92vw,420px); }
.pcards-horizontal .shop-products .shop-carousel__track--list{ gap:16px; }
.pcards-horizontal .shop-products .shop-carousel__track--list .shop-carousel__item{ width:calc(50% - 8px); flex:0 0 calc(50% - 8px); }
@media (max-width:640px){
  .pcards-horizontal .shop-products .shop-carousel__track--list .shop-carousel__item{ width:100%; flex-basis:100%; }
}
/* OVERLAY: imaginea umple cardul, titlul + prețul peste ea, jos, pe un gradient. */
.pcards-overlay .shop-product{ position:relative; padding:0 !important; border:0 !important; aspect-ratio:3/4; overflow:hidden; border-radius:16px; display:flex; flex-direction:column; justify-content:flex-end; }
.pcards-overlay .shop-product__media{ position:absolute; inset:0; height:100%; width:100%; margin:0; border-radius:0; z-index:0; }
.pcards-overlay .shop-product__media img{ width:100%; height:100%; object-fit:cover; }
.pcards-overlay .shop-product::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:60%; background:linear-gradient(transparent, rgba(0,0,0,.8)); z-index:1; pointer-events:none; }
.pcards-overlay .shop-product__badges,
.pcards-overlay .shop-product__title,
.pcards-overlay .shop-product__meta,
.pcards-overlay .shop-product__footer{ position:relative; z-index:2; padding-left:14px; padding-right:14px; }
.pcards-overlay .shop-product__title,
.pcards-overlay .shop-product__price,
.pcards-overlay .shop-product__from{ color:#fff !important; }
.pcards-overlay .shop-product__meta,
.pcards-overlay .shop-product__vat,
.pcards-overlay .shop-product__old{ color:rgba(255,255,255,.78) !important; }
.pcards-overlay .shop-product__footer{ padding-bottom:14px; margin-top:6px; }
/* ETICHETĂ DE PREȚ: card vertical curat; prețul ca o etichetă (pastilă) peste imagine,
   jos-stânga; titlul dedesubt; buton lat „Adaugă" jos. Fără umbre / margini colorate. */
.pcards-pricetag .shop-product{ position:relative; border:0 !important; padding:0 !important; background:#fff; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
.pcards-pricetag .shop-product__media{ height:210px; margin:0; border-radius:0; }
.pcards-pricetag .shop-product__pricing{
  position:absolute; left:12px; top:210px; transform:translateY(calc(-100% - 12px)); z-index:3;
  background:#1d1c1a; color:#fff; border:0; padding:7px 14px 7px 26px;
  border-radius:0 8px 8px 0;
  display:inline-flex; align-items:baseline; gap:6px; flex-wrap:nowrap; max-width:calc(100% - 24px);
  /* forma de etichetă de preț: vârf ascuțit spre stânga */
  clip-path: polygon(16px 0, 100% 0, 100% 100%, 16px 100%, 0 50%);
}
/* gaura („punched hole") din eticheta de preț, lângă vârf */
.pcards-pricetag .shop-product__pricing::after{
  content:""; position:absolute; left:10px; top:50%; transform:translateY(-50%);
  width:7px; height:7px; border-radius:50%; background:#fff;
}
.pcards-pricetag .shop-product__price,
.pcards-pricetag .shop-product__from{ color:#fff; font-weight:900; }
.pcards-pricetag .shop-product__vat,
.pcards-pricetag .shop-product__old{ color:rgba(255,255,255,.72); font-size:.68rem; }
.pcards-pricetag .shop-product__title{ padding:12px 14px 0; margin:0; -webkit-line-clamp:2; min-height:0; }
.pcards-pricetag .shop-product__meta{ padding:2px 14px 0; }
.pcards-pricetag .shop-product__footer{ padding:10px 14px 14px; margin-top:auto; }
.pcards-pricetag .shop-product__footer .btn{ width:100%; border-radius:10px; padding:9px 12px; font-size:.92rem; line-height:1.2; }
.pcards-pricetag .shop-product__footer button[data-add]::after{ content:"Adaugă"; margin-left:7px; font-weight:700; }
.pcards-pricetag .shop-product__footer .qty{ width:100%; justify-content:center; gap:14px; border:0; background:transparent; }
.pcards-pricetag .shop-product__footer .qty button{ border:0; display:inline-flex; align-items:center; justify-content:center; padding:0; line-height:1; }

/* Overlay: când produsul e deja în coș, stepperul de cantitate (− nr +) trebuie să fie
   bine vizibil pe gradientul întunecat (nr. alb, fundal translucid mai opac, butoane albe). */
.pcards-overlay .shop-product__footer .qty{
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.65);
}
.pcards-overlay .shop-product__footer .qty input{
  color: #fff;
  font-size: 1.05rem;
}
.pcards-overlay .shop-product__footer .qty .btn,
.pcards-overlay .shop-product__footer .qty button{
  color: #fff !important;
  border-color: rgba(255,255,255,.7) !important;
  background: transparent !important;
}
.pcards-overlay .shop-product__footer .qty .btn:hover,
.pcards-overlay .shop-product__footer .qty button:hover{
  background: rgba(255,255,255,.28) !important;
}

/* ===== Încă 7 stiluri de card produs (body.pcards-*) — fără umbre / margini colorate ===== */
/* BARĂ JOS (solidă): imagine sus + bandă solidă închisă dedesubt cu titlu/preț/buton. */
.pcards-bottombar .shop-product{ background:#1d1c1a; color:#fff; border:0 !important; padding:0 !important; overflow:hidden; border-radius:14px; display:flex; flex-direction:column; }
.pcards-bottombar .shop-product__media{ margin:0; border-radius:0; }
.pcards-bottombar .shop-product__title{ color:#fff; padding:12px 14px 0; margin:0; -webkit-line-clamp:2; min-height:0; }
.pcards-bottombar .shop-product__meta{ color:rgba(255,255,255,.7); padding:2px 14px 0; }
.pcards-bottombar .shop-product__price,.pcards-bottombar .shop-product__from{ color:#fff; }
.pcards-bottombar .shop-product__vat,.pcards-bottombar .shop-product__old{ color:rgba(255,255,255,.7); }
.pcards-bottombar .shop-product__footer{ padding:10px 14px 14px; margin-top:auto; }

/* COMPACT (dens): carduri mici, multe pe rând. */
.pcards-compact .shop-product{ border:0 !important; padding:6px !important; }
.pcards-compact .shop-product__media{ height:140px; }
.pcards-compact .shop-product__title{ font-size:.84rem; -webkit-line-clamp:2; min-height:0; margin-top:6px; line-height:1.3; }
.pcards-compact .shop-product__meta{ display:none; }
.pcards-compact .shop-product__footer{ margin-top:6px; gap:6px; }
.pcards-compact .shop-product__footer .btn{ padding:6px 8px; font-size:.8rem; }
.pcards-compact .shop-products .shop-carousel__item{ width:170px; flex:0 0 170px; }
.pcards-compact .shop-products .shop-carousel__track--list .shop-carousel__item{ width:calc(20% - 13px); flex:0 0 calc(20% - 13px); }
@media (max-width:900px){ .pcards-compact .shop-products .shop-carousel__track--list .shop-carousel__item{ width:calc(33.333% - 11px); flex-basis:calc(33.333% - 11px); } }
@media (max-width:560px){ .pcards-compact .shop-products .shop-carousel__track--list .shop-carousel__item{ width:calc(50% - 8px); flex-basis:calc(50% - 8px); } }

/* RIBBON de colț: banderolă diagonală sus-stânga din flag-ul existent (reducere / Nou). */
.pcards-ribbon .shop-product{ position:relative; overflow:hidden; border-radius:14px; border:0 !important; }
.pcards-ribbon .shop-product__flags{ position:absolute; top:0; left:0; width:138px; height:138px; overflow:hidden; pointer-events:none; gap:0; z-index:3; }
.pcards-ribbon .pflag{ position:absolute; left:-48px; top:30px; width:188px; transform:rotate(-45deg); display:block; text-align:center; white-space:nowrap; padding:7px 0; border-radius:0; font-size:.84rem; font-weight:800; line-height:1.1; box-shadow:none; background:#1d1c1a !important; color:#fff !important; }
.pcards-ribbon .pflag--new{ top:64px; }

/* STICKER reducere: flag-ul de reducere devine un autocolant rotund pe imagine. */
.pcards-sticker .pflag--sale{ width:52px; height:52px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; padding:0; font-size:.82rem; transform:rotate(-8deg); box-shadow:none; }
.pcards-sticker .pflag--new{ border-radius:999px; }

/* EDITORIAL (premium): imagine mare, titlu mare, aerisit. */
.pcards-editorial .shop-product{ border:0 !important; padding:0 !important; background:transparent; }
.pcards-editorial .shop-product__media{ height:300px; border-radius:14px; }
.pcards-editorial .shop-product__title{ font-size:1.15rem; font-weight:700; margin-top:14px; -webkit-line-clamp:2; min-height:0; }
.pcards-editorial .shop-product__meta{ margin-top:4px; }
.pcards-editorial .shop-product__footer{ margin-top:12px; }
.pcards-editorial .shop-products .shop-carousel__item{ width:min(86vw,300px); flex:0 0 min(86vw,300px); }
.pcards-editorial .shop-products .shop-carousel__track--list .shop-carousel__item{ width:calc(33.333% - 11px); flex:0 0 calc(33.333% - 11px); }
@media (max-width:680px){ .pcards-editorial .shop-products .shop-carousel__track--list .shop-carousel__item{ width:calc(50% - 8px); flex-basis:calc(50% - 8px); } }

/* BUBBLE (rotund): imaginea într-un cadru rotund, centrată, prietenos. */
.pcards-bubble .shop-product{ border:0 !important; padding:10px 8px !important; text-align:center; }
.pcards-bubble .shop-product__media{ width:100%; max-width:200px; aspect-ratio:1/1; height:auto; margin:0 auto; border-radius:50%; background:#f6f2ed; }
.pcards-bubble .shop-product__media img{ border-radius:50%; width:100%; height:100%; object-fit:cover; }
.pcards-bubble .shop-product__title{ margin-top:12px; }
.pcards-bubble .shop-product__footer{ justify-content:center; }
.pcards-bubble .shop-product__pricing{ justify-content:center; }

/* BARĂ CUMPĂRARE (quickadd): bandă închisă jos, mereu vizibilă, preț + buton. */
.pcards-quickadd .shop-product{ border:0 !important; padding:0 !important; overflow:hidden; border-radius:14px; background:#fff; display:flex; flex-direction:column; }
.pcards-quickadd .shop-product__media{ margin:0; border-radius:0; }
.pcards-quickadd .shop-product__title{ padding:12px 14px 0; margin:0; -webkit-line-clamp:2; min-height:0; }
.pcards-quickadd .shop-product__meta{ padding:2px 14px 8px; }
.pcards-quickadd .shop-product{ height:100%; }
/* bară de cumpărare uniformă pe toate cardurile: înălțime fixă + conținut centrat. */
.pcards-quickadd .shop-product__footer{ margin-top:auto; background:#1d1c1a; padding:0 14px; min-height:60px; flex-direction:row; align-items:center; justify-content:space-between; gap:10px; }
.pcards-quickadd .shop-product__price,.pcards-quickadd .shop-product__from{ color:#fff; }
.pcards-quickadd .shop-product__vat,.pcards-quickadd .shop-product__old{ color:rgba(255,255,255,.7); }
.pcards-quickadd .shop-product__footer .btn{ padding:8px 14px; font-size:.9rem; line-height:1.2; }
/* − cantitate + albe pe bara închisă */
.pcards-quickadd .shop-product__footer .qty{ background:transparent; border:0; gap:10px; }
.pcards-quickadd .shop-product__footer .qty input{ color:#fff; }
.pcards-quickadd .shop-product__footer .qty button{ color:#fff !important; border-color:rgba(255,255,255,.55) !important; background:transparent !important; display:inline-flex; align-items:center; justify-content:center; padding:0; line-height:1; }

/* ============================================================
   RETUȘURI — componente imobiliare / restaurant (gated pe clase)
   Folosesc token-urile site-ului: --primary-start (accent), --line,
   --shadow, --glass, --ink → respectă automat paleta aleasă de client.
   ============================================================ */

/* Card generic pentru blocurile noi (Locație, Dotări, Agent) */
.re-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.re-card__body{ padding:1.1rem 1.25rem; }
.re-block-title{
  display:flex; align-items:center; gap:.5rem;
  font-weight:800; font-size:1rem; color:var(--ink); margin:0 0 .85rem;
}
.re-block-title i{ color:var(--primary-start); font-size:1.05rem; }

/* Dotări — chips */
.re-amenities{ display:flex; flex-wrap:wrap; gap:.5rem; }
.re-amenity{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.45rem .8rem; border-radius:999px;
  background:var(--glass); border:1px solid var(--line);
  font-size:.86rem; color:var(--ink); line-height:1;
}
.re-amenity i{ color:var(--primary-start); font-size:.95rem; }

/* Locație — hartă */
.re-map__addr{ color:rgba(10,14,39,.62); margin-bottom:.75rem; font-size:.92rem; }
.re-map__frame{
  border-radius:12px; overflow:hidden; border:1px solid var(--line);
}
.re-map__frame iframe{ display:block; width:100%; border:0; }

/* Card agent */
.pp-agent-card{
  margin-top:.9rem; background:#fff;
  border:1px solid var(--line); border-radius:16px;
  box-shadow:var(--shadow);
}
.pp-agent-card .card-body{ padding:1rem 1.1rem; }
.pp-agent-card .re-agent__avatar{
  width:48px; height:48px; flex:0 0 48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(var(--accent-rgb),.12); color:var(--primary-start); font-size:1.25rem;
}
.pp-agent-card .re-agent__role{ font-size:.74rem; text-transform:uppercase; letter-spacing:.04em; color:rgba(10,14,39,.5); }
.pp-agent-card .re-agent__name{ font-weight:800; color:var(--ink); line-height:1.2; }
.re-agent__contacts{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem; }
.re-agent__contacts a{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.4rem .7rem; border-radius:999px; font-size:.84rem; text-decoration:none;
  border:1px solid var(--line); color:var(--ink); background:#fff; transition:all .15s ease;
}
.re-agent__contacts a.is-primary{ background:var(--primary-start); border-color:var(--primary-start); color:#fff; }
.re-agent__contacts a:hover{ box-shadow:0 4px 14px rgba(var(--accent-rgb),.18); transform:translateY(-1px); }

/* Status anunț (Rezervat / Vândut) */
.re-status{ display:inline-flex; align-items:center; gap:.35rem; padding:.3rem .7rem; border-radius:999px; font-weight:700; font-size:.8rem; }
.re-status--reserved{ background:rgba(255,193,7,.16); color:#9a6b00; }
.re-status--sold{ background:rgba(10,14,39,.82); color:#fff; }

/* Sufix preț /lună */
.shop-product__price .price-period,
.pp-price .price-period{ font-size:.62em; font-weight:600; color:rgba(10,14,39,.55); }

/* Filtre imobiliare (sidebar) */
.re-filter-group{ margin-bottom:1rem; }
.re-filter-group__label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:rgba(10,14,39,.55); margin-bottom:.4rem; font-weight:700; }
.re-filter-group .re-price-row{ display:flex; gap:.5rem; }

/* Carduri „Meniul zilei" (restaurant) */
.shop-daily-card{
  border:1px solid var(--line)!important; border-radius:16px; overflow:hidden;
  box-shadow:var(--shadow); transition:transform .15s ease, box-shadow .15s ease; height:100%;
}
.shop-daily-card:hover{ transform:translateY(-3px); box-shadow:0 26px 70px rgba(15,15,20,.16); }
.shop-daily-card .shop-daily-card__media{ background:var(--glass); }
.shop-daily-card .fw-bold{ color:var(--primary-start); }
.shop-products--daily .shop-products__title i{ color:var(--primary-start); }

/* Modal „Cere detalii" */
#propertyRequestModal .modal-content{ border:0; border-radius:18px; overflow:hidden; box-shadow:var(--shadow); }
#propertyRequestModal .modal-header{ background:rgba(var(--accent-rgb),.08); border-bottom:1px solid var(--line); }
#propertyRequestModal .modal-title{ font-weight:800; color:var(--ink); }
#propertyRequestModal #prSubmitBtn{ background:var(--primary-start); border-color:var(--primary-start); }

/* ═════════════ Reclamații: firul și trimiterea pozelor (contul clientului) ═════════════
   Pagina de cont e pe FUNDAL DESCHIS (.account-page pune carduri albe), deci
   aici nu merg clasele „pe alb transparent" din restul magazinului: un
   `bg-white bg-opacity-10` pe un card alb înseamnă bulă invizibilă. Culorile de
   mai jos pleacă din variabilele temei, ca zona să se schimbe odată cu paleta
   aleasă de magazin. */

.rcl-thread{ display:grid; gap:.6rem; }
.rcl-msg{ display:flex; flex-direction:column; gap:.15rem; max-width:92%; }
.rcl-msg--client{ align-self:flex-end; align-items:flex-end; margin-left:auto; }
.rcl-msg--shop{ align-self:flex-start; align-items:flex-start; }
.rcl-msg__meta{ font-size:.72rem; color:rgba(10,14,39,.55); }
.rcl-msg__body{
  padding:.5rem .75rem; border-radius:14px; white-space:pre-wrap; line-height:1.5;
  border:1px solid transparent;
}
.rcl-msg--client .rcl-msg__body{
  background:rgba(var(--accent-rgb),.14); border-color:rgba(var(--accent-rgb),.28);
  border-bottom-right-radius:5px;
}
.rcl-msg--shop .rcl-msg__body{
  background:rgba(10,14,39,.05); border-color:rgba(10,14,39,.09);
  border-bottom-left-radius:5px;
}
.rcl-msg--sistem .rcl-msg__body{
  background:transparent; border-style:dashed; border-color:rgba(10,14,39,.18);
  color:rgba(10,14,39,.7); font-size:.88rem;
}

/* Pozele deja trimise */
.rcl-gallery{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem; }
.rcl-photo{
  width:84px; height:84px; border-radius:12px; overflow:hidden; padding:0;
  border:1px solid var(--line); background:rgba(10,14,39,.04); cursor:zoom-in;
  transition:transform .15s ease, box-shadow .15s ease;
}
.rcl-photo:hover{ transform:translateY(-2px); box-shadow:0 8px 22px rgba(15,15,20,.14); }
.rcl-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Lupa: poza mare peste pagină */
.rcl-lightbox{
  position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center;
  background:rgba(6,8,20,.82); backdrop-filter:blur(4px); padding:1.5rem; cursor:zoom-out;
}
.rcl-lightbox img{ max-width:100%; max-height:100%; border-radius:12px; box-shadow:0 30px 90px rgba(0,0,0,.5); }
.rcl-lightbox__close{
  position:absolute; top:1rem; right:1rem; width:40px; height:40px; border-radius:999px;
  border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.12); color:#fff;
  font-size:1.2rem; line-height:1; cursor:pointer;
}

/* ── Zona de încărcare ── */
.rcl-upload{
  margin-top:.65rem; padding:.85rem; border-radius:14px;
  border:1px solid rgba(255,193,7,.45); background:rgba(255,193,7,.07);
}
.rcl-upload__title{ font-weight:700; display:flex; align-items:center; gap:.4rem; }
.rcl-upload__title i{ color:#c98a00; }
.rcl-upload__hint{ font-size:.82rem; color:rgba(10,14,39,.6); margin-bottom:.6rem; }

.rcl-drop{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem;
  padding:1.1rem .75rem; text-align:center; cursor:pointer;
  border:2px dashed rgba(10,14,39,.18); border-radius:14px; background:#fff;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.rcl-drop:hover{ border-color:rgba(var(--accent-rgb),.55); background:rgba(var(--accent-rgb),.04); }
.rcl-drop.is-over{
  border-color:var(--primary-start); background:rgba(var(--accent-rgb),.1); transform:scale(1.01);
}
.rcl-drop.is-full{ opacity:.55; cursor:not-allowed; }
.rcl-drop__icon{ font-size:1.6rem; color:var(--primary-start); line-height:1; }
.rcl-drop__main{ font-weight:600; }
.rcl-drop__main u{ text-decoration-color:rgba(var(--accent-rgb),.6); text-underline-offset:3px; }
.rcl-drop__sub{ font-size:.78rem; color:rgba(10,14,39,.55); }
.rcl-drop input[type=file]{ display:none; }

/* Miniaturile alese, înainte de trimitere */
.rcl-picks{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.6rem; }
.rcl-pick{
  position:relative; width:84px; border-radius:12px; overflow:hidden;
  border:1px solid var(--line); background:#fff;
}
.rcl-pick__img{ width:84px; height:84px; object-fit:cover; display:block; background:rgba(10,14,39,.05); }
.rcl-pick__size{
  display:block; font-size:.66rem; text-align:center; padding:.15rem .2rem;
  color:rgba(10,14,39,.6); background:rgba(10,14,39,.03);
}
.rcl-pick__del{
  position:absolute; top:4px; right:4px; width:22px; height:22px; border-radius:999px;
  border:0; background:rgba(6,8,20,.72); color:#fff; font-size:.8rem; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0;
  opacity:0; transition:opacity .15s ease;
}
.rcl-pick:hover .rcl-pick__del,
.rcl-pick__del:focus{ opacity:1; }
.rcl-pick--bad{ border-color:rgba(220,53,69,.6); background:rgba(220,53,69,.06); }
.rcl-pick--bad .rcl-pick__size{ color:#b02a37; background:rgba(220,53,69,.1); }
.rcl-pick--sent .rcl-pick__img{ opacity:.45; }
.rcl-pick__ok{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--primary-start); font-size:1.5rem;
}

/* Bara de progres a încărcării */
.rcl-progress{ margin-top:.6rem; }
.rcl-progress__track{ height:6px; border-radius:999px; background:rgba(10,14,39,.1); overflow:hidden; }
.rcl-progress__fill{
  height:100%; width:0; border-radius:999px;
  background:linear-gradient(90deg, var(--primary-start), var(--primary-end));
  transition:width .2s ease;
}
.rcl-progress__label{ font-size:.75rem; color:rgba(10,14,39,.6); margin-top:.25rem; }

.rcl-upload__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-top:.6rem; }
.rcl-upload__count{ font-size:.78rem; color:rgba(10,14,39,.6); margin-left:auto; }

/* Firul viu: „Magazinul scrie…" și „Văzut". Stau pe rândul lor, sub ultimul
   mesaj, ca să nu împingă bulele când apar și dispar. */
.rcl-live{
  display:flex; align-items:center; gap:.4rem; justify-content:flex-end;
  font-size:.76rem; color:rgba(10,14,39,.55); min-height:1.1rem; margin-top:-.25rem;
}
.rcl-live .bi{ color:var(--primary-start); }
.rcl-typing{ display:inline-flex; gap:3px; align-items:center; }
.rcl-typing i{
  width:5px; height:5px; border-radius:999px; background:rgba(10,14,39,.4);
  animation:rcl-typing 1.1s infinite ease-in-out;
}
.rcl-typing i:nth-child(2){ animation-delay:.16s; }
.rcl-typing i:nth-child(3){ animation-delay:.32s; }
@keyframes rcl-typing{
  0%, 60%, 100%{ opacity:.25; transform:translateY(0); }
  30%{ opacity:1; transform:translateY(-2px); }
}
@media (prefers-reduced-motion: reduce){
  .rcl-typing i{ animation:none; opacity:.6; }
}

/* Alegerea produsului la deschiderea unei reclamații. Rândul e o etichetă
   întreagă, nu doar bifa: pe telefon se apasă cu degetul pe numele produsului,
   nu pe pătrățelul de 16 pixeli. */
.rcl-pick-prod{
  display:flex; align-items:center; gap:.6rem; cursor:pointer;
  padding:.5rem .65rem; border:1px solid var(--line); border-radius:12px;
  background:#fff; transition:border-color .15s ease, background .15s ease;
}
.rcl-pick-prod:hover{ border-color:rgba(var(--accent-rgb),.45); }
.rcl-pick-prod.is-on{ border-color:rgba(var(--accent-rgb),.65); background:rgba(var(--accent-rgb),.06); }
.rcl-pick-prod .form-check-input{ margin:0; flex:0 0 auto; }
.rcl-pick-prod__qty{ display:flex; align-items:center; gap:.4rem; flex:0 0 auto; }
.rcl-pick-prod__qty input{ width:70px; text-align:center; }

/* Semnul „ai un răspuns nou" din meniul de jos al contului. Punctul stă lipit de
   iconiță, nu lângă text: pe telefon eticheta e mică și s-ar rupe rândul. */
.account-bottom-nav__item { position: relative; }
.account-bottom-nav__badge{
  position:absolute; top:2px; left:calc(50% + 6px);
  min-width:16px; height:16px; padding:0 4px; border-radius:999px;
  background:#dc3545; color:#fff; font-size:.62rem; font-weight:700;
  display:flex; align-items:center; justify-content:center; line-height:1;
}

/* Marcajul „are garanție SGR" pe linia din coș. Verde ca reducerile din casă:
   e tot un ban care se întoarce, nu unul plătit. */
.cart-item__sgr{
  display:inline-flex; align-items:center; gap:.35rem;
  background:rgba(var(--accent-rgb),.14); color:#0b6b3a;
  border:1px solid rgba(11,107,58,.25);
  padding:.15rem .55rem; border-radius:999px;
  font-size:.74rem; font-weight:700; line-height:1.3;
}
