/* ==========================================================================
   LANAFASHION — port Nubessa: marimi pe carduri + cos (pagina + drawer)
   Tokens adaptate la paleta LANA (alb/negru/roz). NU modifica alte pagini.
   ========================================================================== */
:root {
  --nb-bg:        #FFFFFF;
  --nb-sand:      #F6F4F5;
  --nb-ink:       #000000;
  --nb-copper:    #D5A6BD;  /* accent LANA (rozul din tema) */
  --nb-sale:      #FF0000;  /* pretul redus din tema LANA */
  --nb-serif:     var(--bs-body-font-family);
  --nb-sans:      var(--bs-body-font-family);
  --nb-font-sans: var(--bs-body-font-family);
  --nb-font-serif:var(--bs-body-font-family);
  --nb-container: 1280px;
}

/* Reguli din base.html.twig (nubessa) — drawer totals */
.cart-drawer-totals__item{ padding:0.1rem !important; }
@media (max-width: 767.98px){
  .cart-drawer-totals{ margin-top:0.3rem !important; }
}


/* =========================================================
   NUBESSA — Available sizes on catalog cards
   Identic pe mobile + desktop: chips lipite direct de imagine,
   fara border-top, radius doar jos. Mereu vizibile (nu hover).
   ========================================================= */

.product--grid { position: relative; }

/* Hide MerchantPro's checkbox/label "expand" mechanism — show all sizes always */
.product__attributes input[type="checkbox"][data-input-expand] {
  display: none !important;
}
.product--grid .product__attribute-name {
  display: none !important;
}

/* KILL gap intre imagine si chips */
.page--catalog-products .grid-image {
  margin-bottom: 0 !important;
}
.page--catalog-products .product--grid .product__data,
.product--grid .product__data {
  padding-top: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

/* Wrapper attributes — ordinea: PRIMUL element din product__data, lipit de imagine */
.product--grid .product__attributes {
  order: -1 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif;
  position: static !important;
  background: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Container chips — single-row scroll orizontal, fara wrap, fara gap */
.product--grid .product__attribute {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  cursor: default !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.product--grid .product__attribute::-webkit-scrollbar {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

/* Fiecare chip — lipit de imagine, fundal sand subtil, hover ink invers premium */
.product--grid .product__attribute-link {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 34px !important;
  height: 28px !important;
  padding: 0 10px !important;
  margin: 0 !important;
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--nb-ink, #000000) !important;
  background: var(--nb-sand, #F7F3F5) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-top: 0 !important;
  border-right-width: 0 !important;
  border-radius: 0 0 4px 4px !important;
  text-decoration: none !important;
  overflow: hidden !important;
  transition: color 0.25s ease, background 0.25s ease, transform 0.25s ease !important;
}
.product--grid .product__attribute-link:last-child {
  border-right-width: 1px !important;
}
.product--grid .product__attribute-link:hover {
  color: #fff !important;
  background: var(--nb-ink, #000000) !important;
}

/* Out of stock — fundal hatching subtil + diagonala fina + text estompat */
.product--grid .product__attribute-link.disabled,
.product--grid .product__attribute-link[aria-disabled="true"],
.product--grid .product__attribute-link--unavailable {
  color: rgba(0, 0, 0, 0.3) !important;
  background:
    linear-gradient(
      to top right,
      transparent calc(50% - 1px),
      rgba(0, 0, 0, 0.35) calc(50% - 1px),
      rgba(0, 0, 0, 0.35) calc(50% + 1px),
      transparent calc(50% + 1px)
    ),
    rgba(244, 241, 237, 0.6) !important;
  text-decoration: none !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
  font-weight: 400 !important;
}
.product--grid .product__attribute-link.disabled:hover,
.product--grid .product__attribute-link[aria-disabled="true"]:hover,
.product--grid .product__attribute-link--unavailable:hover {
  color: rgba(0, 0, 0, 0.3) !important;
}

/* Desktop — chips usor mai mari */
@media (min-width: 768px) {
  .product--grid .product__attribute-link {
    min-width: 38px !important;
    height: 32px !important;
    font-size: 11px !important;
    padding: 0 12px !important;
  }
}

/* ==========================================================================
   CATEGORY PAGE — chips marimi pe mobile
   Container .product__attribute = 90% din card, centrat.
   Chip-urile se adapteaza astfel incat sa intre fix 7 in container
   (1/7 din latimea containerului) — restul accesibile prin scroll
   orizontal. Scoped doar la .page--catalog-products.
   ========================================================================== */
@media (max-width: 767px) {
  /* Kill orizontal padding pe product__data ca chips sa ocupe TOT cardul */
  .page--catalog-products .product--grid .product__data {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Wrapper attributes la 95% din card, centrat */
  .page--catalog-products .product--grid .product__attributes {
    width: 95% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* Container chips = 100% din wrapper, gap 0 (stil connected ca pe desktop).
     safe center = centreaza chips-urile cand sunt putine; cand depasesc randul,
     cade automat la flex-start (prima chip ramane vizibila intreaga). */
  .page--catalog-products .product--grid .product__attribute {
    width: 100% !important;
    margin: 0 !important;
    gap: 0 !important;
    justify-content: safe center !important;
  }
  /* Pastram visual desktop (sand bg, border 6%, radius doar jos),
     ajustam DOAR latimea ca sa intre 5 chips fix in cardul mobile. */
  .page--catalog-products .product--grid .product__attribute-link {
    flex: 0 0 17% !important;
    min-width: 0 !important;
    max-width: 17% !important;
    padding: 0 !important;
    letter-spacing: 0.02em !important;
  }
}

/* ==========================================================================
   NUBESSA — CART PAGE — layout 2-col desktop, items, sticky summary, fix-uri aside-last/aside-main
   Sursa migrată din assets/css/nubessa_custom.css (master istoric)
   Ordinea regulilor păstrată identic. Nu reordonați fără să verificați cascade.
   ========================================================================== */

/* ==========================================================================
   CART PAGE (.site-cart)
   Layout: 2-col desktop (items left + sticky summary right), 1-col mobile.
   Note: load order requires !important. 4+ classes used unde shorthand
   `background:` ar reseta background-image-ul moștenit.
   ========================================================================== */

/* --- Page heading "Cos de cumparaturi" --- */
.site-cart .page--cart .page__aside-head {
  padding: 2rem 0 1.5rem !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  margin-bottom: 2rem !important;
}
.site-cart .page--cart .page__heading {
  font-family: var(--nb-serif)!important;
  font-size: 2.25rem !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em !important;
  color: #000000 !important;
  margin: 0 !important;
  text-transform: none !important;
}
@media (min-width: 768px) {
  .site-cart .page--cart .page__heading {
    font-size: 3rem !important;
  }
}
@media (min-width: 992px) {
  .site-cart .page--cart .page__heading {
    font-size: 3.5rem !important;
  }
}

/* --- Page grid (2-col desktop) --- */
@media (min-width: 992px) {
  .site-cart .page--cart .page__content-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    grid-template-areas:
      "head head"
      "content aside"
      "last last" !important;
    column-gap: 3rem !important;
    row-gap: 0 !important;
  }
  .site-cart .page--cart .page__aside-head    { grid-area: head !important; }
  .site-cart .page--cart .page__content       { grid-area: content !important; }
  .site-cart .page--cart .page__aside-main    { grid-area: aside !important; }
  .site-cart .page--cart .page__aside-last    { grid-area: last !important; margin-top: 4rem !important; }
}

/* --- Cart table reset → minimal grid rows --- */
.site-cart .page--cart .cart {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 0 !important;
}
.site-cart .page--cart .cart__head {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}
.site-cart .page--cart .cart__head th {
  font-family: var(--nb-sans)!important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(0, 0, 0, 0.5) !important;
  font-weight: 400 !important;
  padding: 0 0 0.75rem !important;
  text-align: left !important;
  border: 0 !important;
}
.site-cart .page--cart .cart__item-col-head--price,
.site-cart .page--cart .cart__item-col-head--quantity {
  text-align: left !important;
}
.site-cart .page--cart .cart__item-col-head--total {
  text-align: right !important;
}

/* Hide head on mobile */
@media (max-width: 767px) {
  .site-cart .page--cart .cart__head {
    display: none !important;
  }
}

/* --- Cart row --- */
.site-cart .page--cart .cart__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}
.site-cart .page--cart .cart__item-col {
  padding: 1.5rem 0.5rem !important;
  vertical-align: top !important;
  border: 0 !important;
}
.site-cart .page--cart .cart__item-col:first-child {
  padding-left: 0 !important;
}
.site-cart .page--cart .cart__item-col:last-child {
  padding-right: 0 !important;
}

/* Image cell */
.site-cart .page--cart .cart__item-col--image {
  width: 100px !important;
}
.site-cart .page--cart .cart__item-image {
  display: block !important;
  width: 90px !important;
  background-color: #F7F3F5 !important;
  overflow: hidden !important;
}
.site-cart .page--cart .cart__item-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Description cell */
.site-cart .page--cart .cart__item-name {
  font-family: var(--nb-serif)!important;
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  color: #000000 !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 0.5rem !important;
}
.site-cart .page--cart .cart__item-name:hover {
  color: #D5A6BD !important;
}
.site-cart .page--cart .cart__item-options,
.site-cart .page--cart .cart__options {
  font-family: var(--nb-sans)!important;
  font-size: 0.85rem !important;
  color: rgba(0, 0, 0, 0.6) !important;
  margin-top: 0.5rem !important;
  line-height: 1.4 !important;
}

/* Price cells */
.site-cart .page--cart .cart__item-price,
.site-cart .page--cart .cart__item-line-total {
  font-family: var(--nb-serif)!important;
  font-size: 1rem !important;
  color: #000000 !important;
  display: inline-block !important;
}
.site-cart .page--cart .cart__item-price sup,
.site-cart .page--cart .cart__item-line-total sup {
  font-size: 0.7em !important;
  vertical-align: super !important;
}
.site-cart .page--cart .cart__item-col--line-total {
  text-align: right !important;
}

/* --- Quantity spinner --- */
.site-cart .page--cart .quantity-spinner {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  background-color: #FFFFFF !important;
  width: auto !important;
  margin-bottom: 0.75rem !important;
}
.site-cart .page--cart .quantity-spinner__button {
  width: 36px !important;
  height: 36px !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  color: #000000 !important;
  font-family: var(--nb-sans)!important;
  font-size: 0.9rem !important;
  cursor: pointer !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease !important;
}
.site-cart .page--cart .quantity-spinner__button:hover {
  background-color: #F7F3F5 !important;
}
.site-cart .page--cart .cart__item-quantity {
  width: 40px !important;
  height: 36px !important;
  border: 0 !important;
  background-color: transparent !important;
  text-align: center !important;
  font-family: var(--nb-sans)!important;
  font-size: 0.875rem !important;
  color: #000000 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* --- Remove button --- */
.site-cart .page--cart .cart__remove-item {
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  color: rgba(0, 0, 0, 0.5) !important;
  font-family: var(--nb-sans)!important;
  font-size: 10px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 0 !important;
  cursor: pointer !important;
  display: inline-block !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color 0.2s ease !important;
}
.site-cart .page--cart .cart__remove-item:hover {
  color: #D5A6BD !important;
}

/* --- Aside main: sticky summary --- */
.site-cart .page--cart .page__aside-main {
  margin-top: 0 !important;
}
.site-cart .page--cart .page__aside-wrapper {
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  padding: 1.75rem !important;
  background-color: #FFFFFF !important;
}
@media (min-width: 992px) {
  .site-cart .page--cart .page__aside-main {
    position: sticky !important;
    top: 6rem !important;
    align-self: start !important;
  }
}

/* --- Cart totals --- */
.site-cart .page--cart .cart-totals {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  padding-bottom: 1.25rem !important;
  margin-bottom: 1.25rem !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}
.site-cart .page--cart .cart-totals__item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  font-family: var(--nb-sans)!important;
  font-size: 0.9rem !important;
  color: #000000 !important;
  padding: 0 !important;
  border: 0 !important;
}
.site-cart .page--cart .cart-totals__item-label {
  color: rgba(0, 0, 0, 0.6) !important;
  font-size: 0.875rem !important;
}
.site-cart .page--cart .cart-totals__item-value {
  font-family: var(--nb-serif)!important;
  font-size: 1rem !important;
  color: #000000 !important;
}
.site-cart .page--cart .cart-totals__item-value sup {
  font-size: 0.7em !important;
  vertical-align: super !important;
}
.site-cart .page--cart .cart-totals__item--discount .cart-totals__item-label,
.site-cart .page--cart .cart-totals__item--discount .cart-totals__item-value,
.site-cart .page--cart .cart-totals__item--discount .cart-totals__item-value span {
  color: #FF0000 !important;
}

/* TOTAL — separate, bigger */
.site-cart .page--cart .cart-totals__item--total {
  border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
  padding-top: 1.25rem !important;
  margin-top: 0.5rem !important;
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.site-cart .page--cart .cart-totals__item--total .cart-totals__item-label {
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #000000 !important;
}
.site-cart .page--cart .cart-totals__item--total .cart-totals__item-value {
  font-size: 1.5rem !important;
}

/* --- Cart actions: checkout button --- */
.site-cart .page--cart .cart-actions {
  margin-top: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}
.site-cart .page--cart .cart-action,
.site-cart .page--cart .cart-actions .btn-wrapper {
  width: 100% !important;
}
.site-cart .page--cart .cart__action--checkout.btn,
.site-cart .page--cart .cart__action--checkout {
  display: block !important;
  width: 100% !important;
  height: 52px !important;
  background-color: #D5A6BD !important;
  background-image: none !important;
  color: #000000 !important;
  font-weight: 600 !important;
  font-family: var(--nb-sans)!important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  border: 0 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease !important;
  padding: 0 1rem !important;
  line-height: 52px !important;
  text-align: center !important;
  text-decoration: none !important;
}
.site-cart .page--cart .cart__action--checkout.btn:hover,
.site-cart .page--cart .cart__action--checkout:hover {
  background-color: #000000 !important;
  color: #FFFFFF !important;
}

/* --- Mobile checkout (in aside-head) --- */
.site-cart .page--cart .cart-mobile-checkout.btn,
.site-cart .page--cart .cart-mobile-checkout {
  display: none !important;
}
@media (max-width: 991px) {
  .site-cart .page--cart .cart-mobile-checkout.btn,
  .site-cart .page--cart .cart-mobile-checkout {
    display: inline-block !important;
    margin-top: 1rem !important;
    width: auto !important;
    min-width: 200px !important;
    height: 48px !important;
    line-height: 48px !important;
    background-color: #D5A6BD !important;
    background-image: none !important;
    color: #000000 !important;
    font-weight: 600 !important;
    font-family: var(--nb-sans)!important;
    font-size: 11px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 1.5rem !important;
    text-align: center !important;
  }
  .site-cart .page--cart .cart-mobile-checkout:hover {
    background-color: #000000 !important;
    color: #FFFFFF !important;
  }
}

/* --- Cart share box (Finalizeaza mai tarziu) --- */
.site-cart .page--cart .cart-share {
  background-color: #F7F3F5 !important;
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  margin-bottom: 2.5rem !important;
}
@media (min-width: 768px) {
  .site-cart .page--cart .cart-share {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 1.75rem 2rem !important;
  }
}
.site-cart .page--cart .cart-share__hint {
  font-family: var(--nb-sans)!important;
  font-size: 0.875rem !important;
  color: rgba(0, 0, 0, 0.7) !important;
  line-height: 1.5 !important;
  flex: 1 !important;
}
.site-cart .page--cart .cart-share__hint b {
  font-family: var(--nb-serif)!important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #000000 !important;
  display: block !important;
  margin-bottom: 0.25rem !important;
}
.site-cart .page--cart .cart-share__button.btn,
.site-cart .page--cart .cart-share__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 1px solid #000000 !important;
  border-radius: 0 !important;
  color: #000000 !important;
  font-family: var(--nb-sans)!important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 0.85rem 1.5rem !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
}
.site-cart .page--cart .cart-share__button.btn:hover,
.site-cart .page--cart .cart-share__button:hover {
  background-color: #000000 !important;
  color: #FFFFFF !important;
}
.site-cart .page--cart .cart-share__button .icon {
  width: 14px !important;
  height: 14px !important;
}

/* --- Related products heading override --- */
.site-cart .page--cart .cart__related-products {
  margin-top: 3rem !important;
}
.site-cart .page--cart .cart__related-products > h2 {
  font-family: var(--nb-serif)!important;
  font-size: 1.75rem !important;
  font-weight: 400 !important;
  color: #000000 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 1.5rem !important;
  text-transform: none !important;
}
@media (min-width: 768px) {
  .site-cart .page--cart .cart__related-products > h2 {
    font-size: 2rem !important;
  }
}

/* --- Empty cart fallback --- */
.site-cart .page--cart .cart__empty,
.site-cart .page--cart .empty-cart {
  text-align: center !important;
  padding: 4rem 1rem !important;
  font-family: var(--nb-serif)!important;
  font-size: 1.5rem !important;
  color: rgba(0, 0, 0, 0.5) !important;
}

/* --- Tablet: ascunde coloana Pret unitar (lasa doar total) ca sa nu fie aglomerat --- */
@media (max-width: 991px) and (min-width: 768px) {
  .site-cart .page--cart .cart__item-col-head--price,
  .site-cart .page--cart .cart__item-col--price-gross {
    display: none !important;
  }
}

/* --- Mobile: tabel devine stack vertical --- */
@media (max-width: 767px) {
  .site-cart .page--cart .cart,
  .site-cart .page--cart .cart__body,
  .site-cart .page--cart .cart__item {
    display: block !important;
    width: 100% !important;
  }
  .site-cart .page--cart .cart__item {
    display: grid !important;
    grid-template-columns: 90px 1fr !important;
    grid-template-areas:
      "img desc"
      "img price"
      "qty qty"
      "total total" !important;
    gap: 0.5rem 1rem !important;
    padding: 1.25rem 0 !important;
  }
  .site-cart .page--cart .cart__item-col {
    padding: 0 !important;
    display: block !important;
  }
  .site-cart .page--cart .cart__item-col--image       { grid-area: img !important; }
  .site-cart .page--cart .cart__item-col--description { grid-area: desc !important; }
  .site-cart .page--cart .cart__item-col--price-gross { grid-area: price !important; }
  .site-cart .page--cart .cart__item-col--quantity    { grid-area: qty !important; margin-top: 0.75rem !important; }
  .site-cart .page--cart .cart__item-col--line-total  {
    grid-area: total !important;
    text-align: left !important;
    border-top: 1px dashed rgba(0, 0, 0, 0.1) !important;
    padding-top: 0.75rem !important;
    margin-top: 0.5rem !important;
  }
  .site-cart .page--cart .cart__item-col--line-total::before {
    content: "Total: " !important;
    font-family: var(--nb-sans)!important;
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: rgba(0, 0, 0, 0.5) !important;
    margin-right: 0.5rem !important;
  }
  .site-cart .page--cart .cart__item-col--price-gross::before {
    content: "Pret: " !important;
    font-family: var(--nb-sans)!important;
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: rgba(0, 0, 0, 0.5) !important;
    margin-right: 0.5rem !important;
  }
  .site-cart .page--cart [data-label]::before {
    /* dezactiveaza data-label nativ MerchantPro pentru a nu duplica */
    display: none !important;
  }
}

/* ==========================================================================
   CART — fix structural aside-last (cart-share + related products)
   Problema: pe desktop cart-share se întindea pe toată lățimea, iar butonul
   email zbura izolat. Related products primea border parazit.
   Soluție: display:contents pe aside-last → poziționăm explicit fiecare copil
   în grid-ul părinte.
   ========================================================================== */
@media (min-width: 992px) {
  /* Reset grid-template-areas vechi — folosim grid-row/column explicit */
  .site-cart .page--cart .page__content-wrapper {
    grid-template-areas: none !important;
    grid-template-rows: auto auto auto auto !important;
  }
  .site-cart .page--cart .page__aside-head {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  .site-cart .page--cart .page__content {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .site-cart .page--cart .page__aside-main {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  /* aside-last → flatten ca să plasăm copii în grid-ul părinte */
  .site-cart .page--cart .page__aside-last {
    display: contents !important;
  }
  .site-cart .page--cart .page__aside-last > .cart-share {
    grid-column: 1 !important;
    grid-row: 3 !important;
    margin-top: 2rem !important;
    margin-bottom: 0 !important;
  }
  .site-cart .page--cart .page__aside-last > .cart__related-products {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    margin-top: 4rem !important;
  }
}

/* Sub 992px: aside-last revine la block normal, sub items */
@media (max-width: 991px) {
  .site-cart .page--cart .page__aside-last {
    display: block !important;
    margin-top: 2rem !important;
  }
}

/* --- Reset border/bg parazit pe containerele related products --- */
.site-cart .page--cart .cart__related-products,
.site-cart .page--cart .cart__related-products .products-slider,
.site-cart .page--cart .cart__related-products .products-slider__items,
.site-cart .page--cart .cart__related-products .splide,
.site-cart .page--cart .cart__related-products .splide__track,
.site-cart .page--cart .cart__related-products .splide__list {
  border: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* --- Cart-share: structura internă (hint + action) — nu mai e flex-between full-width --- */
.site-cart .page--cart .cart-share {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 1rem !important;
}
.site-cart .page--cart .cart-share__hint {
  flex: none !important;
  width: 100% !important;
}
.site-cart .page--cart .cart-share__action {
  flex: none !important;
  width: auto !important;
}

/* ==========================================================================
   CART — fix: scot sticky de pe aside-main
   Sticky summary intra in conflict cu related-products full-width (col 1/-1),
   se vedea cardul sumar suprapus peste slider. Solutie: aside-main static.
   ========================================================================== */
@media (min-width: 992px) {
  .site-cart .page--cart .page__aside-main {
    position: static !important;
    top: auto !important;
    align-self: start !important;
  }
}


/* ==========================================================================
   NUBESSA — Cart drawer (offcanvas) styling — items, qty, totals
   ========================================================================== */

/* Offcanvas frame (only when it contains the cart drawer) */
.offcanvas:has(.cart-drawer) {
  width: 440px !important;
  max-width: 100vw !important;
  background: #fff !important;
  border-left: 0 !important;
}
.offcanvas:has(.cart-drawer) .offcanvas-header {
  padding: 22px 24px 18px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  align-items: center !important;
}
.cart-drawer__title {
  font-family: var(--nb-serif) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--nb-ink, #000000) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.offcanvas:has(.cart-drawer) .btn-close {
  opacity: 0.7 !important;
  background-size: 14px !important;
}
.offcanvas:has(.cart-drawer) .btn-close:hover {
  opacity: 1 !important;
}
.offcanvas:has(.cart-drawer) .offcanvas-body {
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Items list */
.cart-drawer .drawer-items__table-wrapper {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  padding: 8px 24px !important;
}
.cart-drawer .drawer-items__table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
}
.cart-drawer .drawer-items__row {
  border: 0 !important;
}
.cart-drawer .drawer-items__row:not(:last-child) td {
  padding-bottom: 16px !important;
}
.cart-drawer .drawer-items__body > tr:nth-child(2n) td {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  padding-bottom: 18px !important;
}
.cart-drawer .drawer-items__body > tr:nth-child(2n+1) td {
  padding-top: 18px !important;
}
.cart-drawer .drawer-items__body > tr:first-child td {
  padding-top: 8px !important;
}
.cart-drawer .drawer-items__cell {
  vertical-align: top !important;
  padding: 0 !important;
}
.cart-drawer .drawer-items__cell--image {
  width: 84px !important;
  padding-right: 14px !important;
}
.cart-drawer .drawer-items__image {
  width: 84px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: var(--nb-sand, #F7F3F5) !important;
}
.cart-drawer .drawer-items__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Product name */
.cart-drawer .drawer-items__item-name {
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--nb-ink, #000000) !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  display: block !important;
  margin-bottom: 6px !important;
}
.cart-drawer .drawer-items__item-name:hover {
  color: var(--nb-copper, #D5A6BD) !important;
}

/* Marime / options */
.cart-drawer .drawer-items__options {
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 12px !important;
  color: rgba(0, 0, 0, 0.6) !important;
  margin: 0 !important;
}

/* Details cell (qty + remove) */
.cart-drawer .drawer-items__cell--details {
  padding-top: 10px !important;
}
.cart-drawer .drawer-items__cell-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Quantity spinner */
.cart-drawer .quantity-spinner,
.cart-drawer .input-spinner {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  height: 32px !important;
}
.cart-drawer .quantity-spinner__button,
.cart-drawer .btn-decrement,
.cart-drawer .btn-increment {
  background: transparent !important;
  border: 0 !important;
  width: 28px !important;
  height: 30px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--nb-ink, #000000) !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
.cart-drawer .quantity-spinner__button:hover,
.cart-drawer .btn-decrement:hover,
.cart-drawer .btn-increment:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  color: var(--nb-copper, #D5A6BD) !important;
}
.cart-drawer .cart__item-quantity,
.cart-drawer .quantity-spinner input,
.cart-drawer .input-spinner input {
  width: 32px !important;
  height: 30px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 13px !important;
  color: var(--nb-ink, #000000) !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Remove button */
.cart-drawer .drawer-items__quantity-options {
  display: inline-flex !important;
  align-items: center !important;
}
.cart-drawer .drawer-items__remove-item {
  background: transparent !important;
  border: 0 !important;
  padding: 4px !important;
  color: rgba(0, 0, 0, 0.5) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cart-drawer .drawer-items__remove-item:hover {
  color: var(--nb-copper, #D5A6BD) !important;
}
.cart-drawer .drawer-items__remove-item .icon {
  width: 16px !important;
  height: 16px !important;
}

/* Price */
.cart-drawer .drawer-items__cell--price {
  text-align: right !important;
  white-space: nowrap !important;
  padding-left: 8px !important;
}
.cart-drawer .drawer-items__line-total {
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--nb-ink, #000000) !important;
}
.cart-drawer .drawer-items__line-total sup {
  font-size: 10px !important;
  font-weight: 500 !important;
  top: -4px !important;
}

/* Footer area: coupon, totals, checkout button — keep at bottom of drawer */
.cart-drawer .cart-drawer__footer,
.cart-drawer .cart-drawer__totals,
.cart-drawer .cart-drawer__buttons {
  padding: 16px 24px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: #fff !important;
}
.cart-drawer .cart-drawer__totals {
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
}
.cart-drawer .cart-drawer__totals-row,
.cart-drawer .cart-totals__row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  font-size: 13px !important;
  color: rgba(0, 0, 0, 0.7) !important;
  margin-bottom: 6px !important;
}
.cart-drawer .cart-drawer__totals-row--total,
.cart-drawer .cart-totals__row--total,
.cart-drawer [class*="__totals-row"]:last-child {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--nb-ink, #000000) !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* Checkout button(s) */
.cart-drawer .cart-drawer__buttons .btn,
.cart-drawer .cart-drawer__checkout,
.cart-drawer .btn-checkout,
.cart-drawer a[href*="checkout"].btn {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  background: var(--nb-ink, #000000) !important;
  color: #fff !important;
  border: 1px solid var(--nb-ink, #000000) !important;
  border-radius: 999px !important;
  text-align: center !important;
  text-decoration: none !important;
  margin: 0 !important;
}
.cart-drawer .cart-drawer__buttons .btn + .btn,
.cart-drawer .cart-drawer__buttons a + a {
  margin-top: 8px !important;
  background: transparent !important;
  color: var(--nb-ink, #000000) !important;
}
.cart-drawer .cart-drawer__buttons .btn:hover {
  background: var(--nb-copper, #D5A6BD) !important;
  border-color: var(--nb-copper, #D5A6BD) !important;
  color: #000 !important;
}

/* Empty state */
.cart-drawer__empty,
.cart-drawer .cart-drawer__empty-state {
  padding: 60px 24px !important;
  text-align: center !important;
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  color: rgba(0, 0, 0, 0.6) !important;
}

@media (max-width: 575px) {
  .offcanvas:has(.cart-drawer) {
    width: 100vw !important;
  }
  .cart-drawer .drawer-items__table-wrapper {
    padding: 8px 16px !important;
  }
  .cart-drawer .cart-drawer__footer,
  .cart-drawer .cart-drawer__totals,
  .cart-drawer .cart-drawer__buttons {
    padding: 14px 16px !important;
  }
}

/* ----- Cart drawer action buttons (Comanda + Continua cumparaturile) ----- */
.cart-drawer .cart__action,
.cart-drawer .cart__action--checkout,
.cart-drawer .cart-mobile-checkout,
.offcanvas:has(.cart-drawer) .cart__action,
.offcanvas:has(.cart-drawer) .cart__action--checkout {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  border-radius: 999px !important;
  text-align: center !important;
  text-decoration: none !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}
/* Primary: Comanda (ink solid) */
.cart-drawer .btn-primary,
.cart-drawer .cart__action--checkout.btn-primary,
.cart-drawer .cart-mobile-checkout {
  background: var(--nb-copper, #D5A6BD) !important;
  color: #000 !important;
  font-weight: 600 !important;
  border: 1px solid var(--nb-copper, #D5A6BD) !important;
}
.cart-drawer .btn-primary:hover,
.cart-drawer .cart__action--checkout.btn-primary:hover,
.cart-drawer .cart-mobile-checkout:hover {
  background: var(--nb-ink, #000000) !important;
  border-color: var(--nb-ink, #000000) !important;
  color: #fff !important;
}
/* Secondary: Continua cumparaturile / Vizualizare cart (outline) */
.cart-drawer .btn-outline-secondary,
.cart-drawer .btn-outline-primary,
.cart-drawer .cart__action--checkout.btn-outline-secondary {
  background: transparent !important;
  color: var(--nb-ink, #000000) !important;
  border: 1px solid rgba(0, 0, 0, 0.2) !important;
}

/* Drawer footer actions (Trimite comanda + Vizualizare cart) */
.cart-drawer__actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 16px 24px 20px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: #fff !important;
}
.cart-drawer__actions .btn-wrapper {
  display: block !important;
  width: 100% !important;
}
.cart-drawer__action,
.cart-drawer__action--back,
.cart-drawer__action--view-cart {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  border-radius: 999px !important;
  text-align: center !important;
  text-decoration: none !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}
.cart-drawer__action--back.btn-primary,
.cart-drawer__action.btn-primary {
  background: var(--nb-copper, #D5A6BD) !important;
  color: #000 !important;
  font-weight: 600 !important;
  border: 1px solid var(--nb-copper, #D5A6BD) !important;
}
.cart-drawer__action--back.btn-primary:hover,
.cart-drawer__action.btn-primary:hover {
  background: var(--nb-ink, #000000) !important;
  border-color: var(--nb-ink, #000000) !important;
  color: #fff !important;
}
.cart-drawer__action--view-cart.btn-outline-primary,
.cart-drawer__action.btn-outline-primary,
.cart-drawer__action.btn-outline-secondary {
  background: transparent !important;
  color: var(--nb-ink, #000000) !important;
  border: 1px solid rgba(0, 0, 0, 0.2) !important;
}
.cart-drawer__action--view-cart.btn-outline-primary:hover,
.cart-drawer__action.btn-outline-primary:hover,
.cart-drawer__action.btn-outline-secondary:hover {
  background: var(--nb-ink, #000000) !important;
  border-color: var(--nb-ink, #000000) !important;
  color: #fff !important;
}
.cart-drawer .btn-outline-secondary:hover,
.cart-drawer .btn-outline-primary:hover,
.cart-drawer .cart__action--checkout.btn-outline-secondary:hover {
  background: var(--nb-ink, #000000) !important;
  color: #fff !important;
  border-color: var(--nb-ink, #000000) !important;
}

/* Coupon code in drawer — match brand */
.cart-drawer .coupon-code {
  margin: 14px 0 !important;
}
.cart-drawer .coupon-code__form {
  display: flex !important;
  gap: 8px !important;
  align-items: stretch !important;
}
.cart-drawer .coupon-code__input.form-control {
  flex: 1 1 auto !important;
  height: 44px !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  border-radius: 999px !important;
  padding: 0 16px !important;
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 13px !important;
  background: #fff !important;
}
.cart-drawer .coupon-code__input.form-control:focus {
  border-color: var(--nb-ink, #000000) !important;
  box-shadow: 0 0 0 3px rgba(213, 166, 189, 0.12) !important;
  outline: none !important;
}
.cart-drawer .coupon-code__button.btn {
  height: 44px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  font-family: var(--nb-font-sans, 'Space Grotesk'), sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  background: transparent !important;
  color: var(--nb-ink, #000000) !important;
  border: 1px solid rgba(0, 0, 0, 0.2) !important;
  white-space: nowrap !important;
}
.cart-drawer .coupon-code__button.btn:hover,
.cart-drawer .coupon-code__button.btn-primary {
  background: var(--nb-ink, #000000) !important;
  color: #fff !important;
  border-color: var(--nb-ink, #000000) !important;
}

/* ==========================================================================
   NUBESSA — BARA PROGRES "LIVRARE GRATUITA"
   Rendat in snippets/cart/totals.html.twig, deci apare in pagina /cart
   si in drawer-ul mini-cart. Pragul se citeste din shop.discount_rules
   (type=free_shipping). Apare automat dupa fiecare update AJAX al cosului.
   ========================================================================== */
.nb-free-ship {
  padding: 14px 16px;
  margin: 0 0 16px;
  background: var(--nb-sand, #F7F3F5);
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.nb-free-ship__text {
  font-family: var(--nb-sans);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--nb-ink, #000000);
  margin: 0 0 10px;
  letter-spacing: 0.01em;
}
.nb-free-ship__text strong {
  font-weight: 600;
  color: var(--nb-copper, #D5A6BD);
}
.nb-free-ship__bar {
  position: relative;
  width: 100%;
  height: 6px;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  overflow: hidden;
}
.nb-free-ship__fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: var(--nb-copper, #D5A6BD);
  border-radius: 999px;
  transition: width 0.4s cubic-bezier(.16,1,.3,1);
}
/* Stare atins: bara plina copper, text colorat copper */
.nb-free-ship--reached .nb-free-ship__text {
  color: var(--nb-copper, #D5A6BD);
  font-weight: 500;
}
.nb-free-ship--reached .nb-free-ship__fill {
  width: 100% !important;
}

/* ==========================================================================
   NUBESSA — Helper-i vizibilitate mobile/desktop pentru drawer
   Folositi pe butoanele "Vizualizare cart" (desktop) si
   "Continua cumparaturile" (mobil) din cart_drawer.html.twig.
   Breakpoint 768px aliniat cu restul layout-ului mobile.
   ========================================================================== */
@media (max-width: 767.98px) {
  .nb-d-none-mobile { display: none !important; }
}
@media (min-width: 768px) {
  .nb-d-none-desktop { display: none !important; }
}
