/* Upsell mini cart și pagina de coș — independent de stilurile paginii Acasă. */
.wd-side-hidden-cart .wd-heading,
.wd-side-hidden-cart .wd-heading .title,
.wd-side-hidden .wd-heading .title,
.wd-side-hidden-cart .wd-heading h1,
.wd-side-hidden-cart .wd-heading h2,
.wd-side-hidden-cart .wd-heading h3,
.wd-side-hidden-cart .wd-heading h4,
.wd-cart-content .wd-heading,
.wd-cart-content .wd-heading .title,
.wd-cart-content .wd-heading h1,
.wd-cart-content .wd-heading h2,
.wd-cart-content .wd-heading h3,
.wd-cart-content .wd-heading h4 {
  font-size: 14px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options {
  position: relative;
  z-index: 2;
  margin: 4px 0;
  font-size: 11px;
  line-height: 1.35;
}
:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options > summary {
  width: fit-content;
  cursor: pointer;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
/* În coș și în mini-coș linkul e un buton mic, ușor de observat. */
:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options {
  margin-top: 6px;
  font-size: 12px;
}
:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options > summary {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border: 1px solid #ee6d14;
  border-radius: 4px;
  background: #fff8f3;
  color: #ee6d14;
  font-weight: 700;
  text-decoration: none;
  list-style: none;
}
:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options > summary::-webkit-details-marker { display: none; }
:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options > summary::after {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease;
}
:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options[open] > summary::after {
  transform: translateY(1px) rotate(-135deg);
}
:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options > summary:focus-visible {
  outline: 2px solid #172e39;
  outline-offset: 2px;
}
:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options > ul.variation {
  position: absolute;
  top: 100%;
  inset-inline-start: 0;
  box-sizing: border-box;
  width: 320px;
  max-width: 100%;
  max-height: 240px;
  overflow-y: auto;
  margin: 0;
  padding: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 5px;
  background: #fff;
  color: #172e39;
  box-shadow: 0 4px 14px rgb(0 0 0 / 15%);
  text-align: start;
}
:is(.woocommerce-mini-cart-item, .woocommerce-cart-form .cart_item) .ema-mini-options[open] { z-index: 6; }

.woocommerce-mini-cart-item .ema-mini-options-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 5px;
}
.woocommerce-mini-cart-item .ema-mini-options-row > span.quantity {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.woocommerce-mini-cart-item .ema-mini-options-row > .ema-mini-options {
  flex: 0 0 auto;
  margin: 0;
}
@media (max-width: 767px) {
  .woocommerce-mini-cart-item .ema-mini-options-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .woocommerce-mini-cart-item .ema-mini-options-row > .ema-mini-options {
    display: block !important;
    width: max-content;
    max-width: 100%;
    overflow: visible;
  }
  .woocommerce-mini-cart-item .ema-mini-options-row > .ema-mini-options > summary {
    display: inline-flex !important;
    width: auto;
    max-width: 100%;
    white-space: nowrap;
    visibility: visible !important;
  }
  .woocommerce-mini-cart-item .ema-mini-options-row > .ema-mini-options > ul.variation {
    position: absolute;
    inset-inline-start: 50% !important;
    inset-inline-end: auto !important;
    width: min(300px, calc(100vw - 40px)) !important;
    max-width: calc(100vw - 40px) !important;
    transform: translateX(-50%);
    z-index: 1000;
    padding: 14px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  .woocommerce-cart-form .cart_item .product-name > .ema-mini-options > ul.variation {
    inset-inline-start: 50%;
    inset-inline-end: auto;
    width: min(320px, calc(100vw - 40px));
    max-width: calc(100vw - 40px);
    transform: translateX(-50%);
    z-index: 1000;
    padding: 14px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}
.woocommerce-mini-cart-item .ema-mini-options-row > .ema-mini-options > summary {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  box-sizing: border-box;
  box-shadow: none;
}
.woocommerce-mini-cart-item .ema-mini-options-row > .ema-mini-options > summary::-webkit-details-marker { display: none; }
.woocommerce-mini-cart-item .ema-mini-options-row > .ema-mini-options > summary:hover {
  background: #ffeede;
}
.woocommerce-mini-cart-item .ema-mini-options-row > .ema-mini-options > ul.variation {
  inset-inline-start: auto;
  inset-inline-end: 0;
  width: min(300px, calc(100vw - 40px));
  max-width: none;
}
.woocommerce-cart-form .cart_item .product-name > .ema-mini-options > ul.variation {
  width: min(320px, calc(100vw - 40px));
  max-width: none;
}

/* Denumirile produselor ocupă maximum două rânduri în mini cart și în coș. */
.woocommerce-mini-cart-item .cart-info .wd-entities-title,
.woocommerce-cart-form .cart_item .product-name > a:first-child,
.woocommerce-checkout-review-order-table .cart_item .product-name > a:first-child,
.wd-checkout-prod-title .cart-product-label {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
  max-height: 2.7em;
}

.ema-upsell { clear: both; padding: 10px 0; margin: 0; border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; }
.ema-upsell__carousel { position: relative; }
.ema-upsell__navigation {
  position: absolute;
  z-index: 5;
  top: 50%;
  right: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  gap: 0;
  margin: 0;
  padding: 0 6px;
  transform: translateY(-50%);
  pointer-events: none;
}
.ema-upsell__navigation[hidden] { display: none; }
.ema-upsell .ema-upsell__navigation button {
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  min-width: 32px;
  max-width: 32px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  background: #fff;
  color: #172e39;
  box-shadow: none;
  font-size: 0;
  line-height: 1;
  /* Butonul conține și „›” ascuns; fără gap, săgeata rămâne pe centru. */
  gap: 0;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
  pointer-events: auto;
}
/* Chevron geometric, centrat, independent de fontul temei. */
.ema-upsell .ema-upsell__navigation button::before {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: translateX(-2px) rotate(-45deg);
}
.ema-upsell .ema-upsell__navigation button[data-ema-upsell-prev]::before { transform: translateX(2px) rotate(135deg); }
.ema-upsell .ema-upsell__navigation button::after { content: none; }
.ema-upsell .ema-upsell__navigation button:hover:not(:disabled) { background: #f3f5f6; border-color: #172e39; }
.ema-upsell .ema-upsell__navigation button:disabled { opacity: .35; cursor: default; }
@media (prefers-reduced-motion: reduce) {
  .ema-upsell .ema-upsell__navigation button { transition: none; }
}
.ema-upsell__track { min-width: 0; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
/* Fără bară de derulare: navigarea se face din săgeți sau prin swipe. */
.ema-upsell__track::-webkit-scrollbar { display: none; }
/* Shortcode-ul pune clasa pe wrapperul .woocommerce; grila WoodMart e .products din interior. */
.ema-upsell .ema-upsell__products { display: block; width: 100%; margin: 0 !important; padding: 0 !important; }
.ema-upsell .ema-upsell__products .products {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: none !important;
}
.ema-upsell .ema-upsell__products .products > .product-grid-item,
.ema-upsell .ema-upsell__products .products > .wd-product,
.ema-upsell .ema-upsell__products .products > li.product {
  box-sizing: border-box;
  flex: 0 0 calc((100% - 12px) / 2) !important;
  width: calc((100% - 12px) / 2) !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  scroll-snap-align: start;
}
/* Fără adăugare rapidă în coș: ascundem orice CTA rămas de la temă, inclusiv wrapperul. */
.ema-upsell .ema-upsell__products .wd-add-btn,
.ema-upsell .ema-upsell__products .woodmart-add-btn,
.ema-upsell .ema-upsell__products a.add_to_cart_button,
.ema-upsell .ema-upsell__products a.product_type_simple,
.ema-upsell .ema-upsell__products a.product_type_variable,
.ema-upsell .ema-upsell__products a.added_to_cart { display: none !important; }
/* În mini cart nu e loc pentru wishlist; în pagina de coș rămâne. */
.ema-upsell--mini-cart .ema-upsell__products .wd-wishlist-btn,
.ema-upsell--mini-cart .ema-upsell__products .woodmart-wishlist-btn,
.ema-upsell--mini-cart .ema-upsell__products .wd-wishlist-icon,
.ema-upsell--mini-cart .ema-upsell__products .tinvwl_add_to_wishlist_button,
.ema-upsell--mini-cart .ema-upsell__products .yith-wcwl-add-to-wishlist { display: none !important; }
/* Text mai compact decât în listările de produse. */
.ema-upsell .ema-upsell__products .wd-entities-title,
.ema-upsell .ema-upsell__products .woocommerce-loop-product__title { font-size: 13px !important; line-height: 1.35 !important; }
.ema-upsell .ema-upsell__products .price,
.ema-upsell .ema-upsell__products .price .amount { font-size: 13px !important; line-height: 1.35 !important; }
/* Mini cart: blocul următor are deja linie de separare; evităm linia dublă. */
.ema-upsell--mini-cart { border-bottom: 0; }
.ema-upsell--mini-cart .ema-upsell__navigation {
  position: absolute;
  top: 50%;
  right: -10px;
  left: -10px;
  width: auto;
  box-sizing: border-box;
  justify-content: space-between;
  gap: 6px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
}
.ema-upsell--mini-cart .ema-upsell__navigation button {
  background: #fff;
  border-color: #aab4ba;
  box-shadow: 0 2px 5px rgb(0 0 0 / 18%);
}
.ema-upsell--mini-cart .ema-upsell__navigation button:disabled { opacity: .65; }
.ema-upsell--mini-cart .ema-upsell__navigation button::before {
  width: 16px;
  height: 16px;
  border: 0;
  background: currentColor;
  clip-path: polygon(31.25% 12.5%, 68.75% 50%, 31.25% 87.5%, 22.5% 78.75%, 51.25% 50%, 22.5% 21.25%);
  transform: translateX(1px);
}
.ema-upsell--mini-cart .ema-upsell__navigation button[data-ema-upsell-prev]::before {
  transform: translateX(-1px) rotate(180deg);
}
.ema-upsell--mini-cart .ema-upsell__track { display: flex; gap: 8px; }
.ema-upsell--mini-cart .ema-mini-recommendation {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  flex: 0 0 82%;
  min-width: 0;
  scroll-snap-align: start;
  width: 82%;
  padding: 6px;
  border: 1px solid #e5e7eb;
  color: inherit;
  text-align: left;
  text-decoration: none;
}
.ema-upsell--mini-cart .ema-mini-recommendation:only-child { flex-basis: 100%; width: 100%; }
.ema-mini-recommendation__image { display: block; width: 76px; height: 76px; }
.ema-mini-recommendation__image img {
  display: block;
  width: 76px !important;
  height: 76px !important;
  max-width: 100%;
  margin: 0 !important;
  object-fit: contain;
}
.ema-mini-recommendation__info { display: block; min-width: 0; }
.ema-mini-recommendation__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 2.7em;
  font-size: 13px;
  line-height: 1.35;
}
.ema-mini-recommendation__price {
  display: block;
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}
.ema-mini-recommendation__footer {
  display: flex;
  flex-wrap: nowrap;
  margin-top: 4px;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  min-width: 0;
}
.ema-upsell--mini-cart .ema-mini-recommendation__add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  flex: 0 0 auto;
  border-radius: var(--btn-accented-brd-radius, var(--btn-brd-radius, 5px));
  min-height: 24px;
  min-width: 0;
  padding: 3px 5px;
  font-size: 10px;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
}
.ema-upsell--mini-cart .ema-mini-recommendation__add svg {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* Mini cart: afisam o singura recomandare, intr-un rand compact. */
.ema-upsell--mini-cart .ema-upsell__products .products { gap: 0 !important; }
.ema-upsell--mini-cart .ema-upsell__products .products > .product-grid-item,
.ema-upsell--mini-cart .ema-upsell__products .products > .wd-product,
.ema-upsell--mini-cart .ema-upsell__products .products > li.product {
  flex: 0 0 100% !important;
  width: 100% !important;
  padding: 0 !important;
}
.ema-upsell--mini-cart .ema-upsell__products .product-wrapper {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
  padding: 6px !important;
}
.ema-upsell--mini-cart .ema-upsell__products .product-element-top {
  flex: 0 0 76px;
  width: 76px !important;
  height: 76px;
  margin: 0 !important;
  overflow: hidden;
}
.ema-upsell--mini-cart .ema-upsell__products .product-element-top img {
  display: block;
  width: 100%;
  height: 76px;
  object-fit: contain;
}
.ema-upsell--mini-cart .ema-upsell__products .product-element-bottom {
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left;
}
.ema-upsell--mini-cart .ema-upsell__products .product-information,
.ema-upsell--mini-cart .ema-upsell__products .wd-product-footer {
  margin: 0 !important;
  padding: 0 !important;
}
.ema-upsell--mini-cart .ema-upsell__products .wd-entities-title,
.ema-upsell--mini-cart .ema-upsell__products .woocommerce-loop-product__title {
  display: -webkit-box;
  margin: 0 0 4px !important;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.ema-upsell--mini-cart .ema-upsell__products .price { margin: 0 !important; }
.ema-upsell :focus-visible { outline: 2px solid #146c80; outline-offset: 2px; }

/* Mesajul pentru pragul de transport gratuit este mai discret in mini cart. */
:where(.wd-cart-content, .wd-side-hidden-cart, .widget_shopping_cart_content)
:is([class*="free-shipping"], [class*="free_shipping"], [class*="shipping-progress"], [class*="shipping_progress"], [class*="ship-txt"]),
.xoo-wsc-ftx-ship-txt {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

/* Eliminăm separatorul și spațiul vertical din jurul mesajului în mini cart. */
:is(.wd-cart-content, .wd-side-hidden-cart, .widget_shopping_cart_content, .widget_shopping_cart) .wd-free-progress-bar {
  border-top: 0 !important;
  padding-block: 0 !important;
  margin-block: 0 !important;
}

/* Limităm doar mesajul, fără să tăiem bara de progres a transportului. */
:where(.wd-cart-content, .wd-side-hidden-cart, .widget_shopping_cart_content, .widget_shopping_cart) .wd-free-progress-bar .progress-msg,
.xoo-wsc-ftx-ship-txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 2.7em;
  font-size: 11px !important;
  line-height: 1.35 !important;
}
:where(.wd-cart-content, .wd-side-hidden-cart, .widget_shopping_cart_content, .widget_shopping_cart) .wd-free-progress-bar .progress-msg *,
.xoo-wsc-ftx-ship-txt * {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Pe pagina de coș folosim toată lățimea, după totaluri. */
/* Ascunde recomandările vechi și containerul lor cu margine de 40px. */
body.woocommerce-cart .elementor[data-elementor-id="10170"],
body.woocommerce-cart .ema-cart-custom-block:has(.elementor[data-elementor-id="10170"]) {
  display: none !important;
}

.ema-upsell--cart { box-sizing: border-box; width: 100%; min-width: 0; float: none; margin: 24px 0; }
/* Pe desktop, în pagina de coș, 4 produse pe rând; mini cart rămâne cu 2. */
@media (min-width: 1025px) {
  .ema-upsell--cart .ema-upsell__products .products > .product-grid-item,
  .ema-upsell--cart .ema-upsell__products .products > .wd-product,
  .ema-upsell--cart .ema-upsell__products .products > li.product {
    flex-basis: calc((100% - 36px) / 4) !important;
    width: calc((100% - 36px) / 4) !important;
  }
}

/* Indiciu sub produsele sugerate din mini-coș: lista se poate glisa. */
.ema-upsell__swipe-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 8px 0 0;
  color: #718087;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
}
.ema-upsell__swipe-hint[hidden] { display: none; }
.ema-upsell__swipe-hint svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #ee6d14;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  animation: ema-swipe-hint 1.6s ease-in-out infinite;
}
@keyframes ema-swipe-hint {
  0%, 100% { transform: translateX(-2px); }
  50% { transform: translateX(2px); }
}
@media (prefers-reduced-motion: reduce) {
  .ema-upsell__swipe-hint svg { animation: none; }
}
