/* ======================================================================
   UBD Modular v1 · 0.6.4.7 · ESTABILIDAD DE PRODUCTO + BUSCADOR
   Esta hoja vive en EL TEMA y se carga al final para prevalecer sobre
   estilos de módulos sin alterar su lógica, inputs, eventos ni checkout.
   ====================================================================== */

/* ----------------------------------------------------------------------
   1) PUNTOS BONITOS / KUESKI / PAGO SEGURO
   Una ficha por fila SIEMPRE. El tema controla tarjeta, tipografía,
   espaciado y saltos; los módulos conservan exclusivamente sus datos.
   ---------------------------------------------------------------------- */
html.ubd-product-ready body#product .ubd-commerce-trust {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-auto-flow:row !important;
  gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:22px 0 10px !important;
  padding:0 !important;
}

html.ubd-product-ready body#product .ubd-commerce-trust > .ubd-commerce-trust-card {
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:center !important;
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:126px !important;
  height:auto !important;
  margin:0 !important;
  padding:18px clamp(18px,3vw,28px) 20px !important;
  overflow:hidden !important;
  border:1px solid rgba(23,56,62,.10) !important;
  border-radius:22px !important;
  box-shadow:0 12px 28px rgba(23,56,62,.07) !important;
  box-sizing:border-box !important;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  color:#17383E !important;
}
html.ubd-product-ready body#product .ubd-commerce-trust > .ubd-commerce-trust-points { background:#F7D878 !important; }
html.ubd-product-ready body#product .ubd-commerce-trust > .ubd-commerce-trust-kueski { background:#C6DEA4 !important; }
html.ubd-product-ready body#product .ubd-commerce-trust > .ubd-commerce-trust-payments { background:#EEF6FD !important; }

html.ubd-product-ready body#product .ubd-commerce-trust .ubd-commerce-trust-label {
  align-self:flex-start !important;
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:34px !important;
  margin:0 0 14px !important;
  padding:7px 13px !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.86) !important;
  color:#17383E !important;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}

/* Elimina etiquetas/tarjetas que estilos anteriores dibujaban dentro. */
html.ubd-product-ready body#product .ubd-commerce-trust #loyalty_product_wrapper::before,
html.ubd-product-ready body#product .ubd-commerce-trust .row:has(kueskipay-widget)::before,
html.ubd-product-ready body#product .ubd-commerce-trust kueskipay-widget::before,
html.ubd-product-ready body#product .ubd-commerce-trust #ps_checkout-payment-method-logo-block-container::before,
html.ubd-product-ready body#product .ubd-commerce-trust #ps_checkout-express-button-container::before,
html.ubd-product-ready body#product .ubd-commerce-trust #paypal-button-container::before {
  display:none !important;
  content:none !important;
}

/* Neutraliza las envolturas originales: la única tarjeta es la del tema. */
html.ubd-product-ready body#product .ubd-commerce-trust :where(
  #loyalty_product_wrapper,
  .row,
  [class*="col-"],
  kueskipay-widget,
  #ps_checkout-payment-method-logo-block-container,
  #ps_checkout-express-button-container,
  #paypal-button-container
) {
  float:none !important;
  position:static !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}

/* Puntos Bonitos: misma métrica visual que Kueski. */
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper,
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper * {
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  box-sizing:border-box !important;
}
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper .loyalty-card-modern {
  display:grid !important;
  grid-template-columns:62px minmax(0,1fr) !important;
  align-items:center !important;
  gap:16px !important;
  width:min(100%,780px) !important;
  max-width:780px !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper .loyalty-icon-container {
  display:grid !important;
  place-items:center !important;
  width:62px !important;
  min-width:62px !important;
  height:62px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:none !important;
}
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper .loyalty-content-detail {
  display:grid !important;
  gap:5px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper .loyalty-main-msg,
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper .loyalty-sub-msg {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#17383E !important;
  text-align:left !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  text-wrap:pretty !important;
}
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper .loyalty-main-msg {
  font-size:clamp(16px,1.8vw,21px) !important;
  font-weight:850 !important;
  line-height:1.3 !important;
}
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper .loyalty-sub-msg {
  font-size:clamp(13px,1.45vw,16px) !important;
  font-weight:650 !important;
  line-height:1.5 !important;
  color:#50686D !important;
}
html.ubd-product-ready body#product .ubd-commerce-trust-points #loyalty_product_wrapper :where(
  .points-badge,#loyalty_points,#total_loyalty_points,.voucher-value
) {
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  font-family:inherit !important;
  font-size:1.18em !important;
  font-weight:950 !important;
  line-height:inherit !important;
  letter-spacing:0 !important;
  white-space:normal !important;
}

/* Kueski: el host queda totalmente plano; el Shadow DOM se estiliza por JS del tema. */
html.ubd-product-ready body#product .ubd-commerce-trust-kueski kueskipay-widget {
  display:block !important;
  width:min(100%,780px) !important;
  max-width:780px !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 !important;
  color:#17383E !important;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  --kp-text-align:center;
  --kp-padding-y:0;
}

/* Pago seguro hereda exactamente el mismo ritmo vertical. */
html.ubd-product-ready body#product .ubd-commerce-trust-payments #ps_checkout-payment-method-logo-block-container {
  display:grid !important;
  place-items:center !important;
  gap:10px !important;
  width:min(100%,780px) !important;
  margin:0 auto !important;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}
html.ubd-product-ready body#product .ubd-commerce-trust-payments #ps_checkout-payment-method-logo-block-title {
  margin:0 !important;
  color:#50686D !important;
  font-family:inherit !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:center !important;
}

/* ----------------------------------------------------------------------
   2) ETS EXTRA OPTIONS
   Sin alturas artificiales. Sin dos filas horizontales. Sin márgenes
   negativos. Tarjetas naturales y grid sólido para que nunca se monten.
   ---------------------------------------------------------------------- */
html.ubd-product-ready body#product .block-product-attribute-custom .from-group-option {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  overflow:hidden !important;
}
html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-template-rows:none !important;
  grid-auto-flow:row !important;
  grid-auto-columns:auto !important;
  align-items:stretch !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  scroll-snap-type:none !important;
}
html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox) {
  display:flex !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:11px 9px !important;
  overflow:hidden !important;
  border-radius:17px !important;
  box-sizing:border-box !important;
}
html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox) > label,
html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox) > label.control-label,
html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox) > label.control-label > div:first-child {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
html.ubd-product-ready body#product .block-product-attribute-custom img.ets_zoom_img {
  display:block !important;
  width:clamp(78px,8vw,104px) !important;
  height:clamp(78px,8vw,104px) !important;
  min-width:0 !important;
  max-width:104px !important;
  max-height:104px !important;
  flex:0 0 auto !important;
  margin:0 auto 2px !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:14px !important;
}
html.ubd-product-ready body#product .block-product-attribute-custom .attr-text {
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.28 !important;
  text-align:center !important;
  white-space:normal !important;
  text-overflow:clip !important;
  overflow:visible !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}
html.ubd-product-ready body#product .block-product-attribute-custom :where(
  .product-discount,.attribute_price_save,.price
) {
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:4px 0 0 !important;
  padding:0 !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:visible !important;
}
html.ubd-product-ready body#product .block-product-attribute-custom .ets_attr_desc_small {
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:6px 0 0 !important;
  padding:6px 0 0 !important;
  font-size:10px !important;
  line-height:1.32 !important;
  white-space:normal !important;
  overflow:visible !important;
}

@media (min-width:700px) and (max-width:1050px) {
  html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:699px) {
  html.ubd-product-ready body#product .block-product-attribute-custom {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:12px 0 !important;
    padding:11px !important;
    overflow:hidden !important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom .from-group-option {
    padding:10px !important;
    overflow:hidden !important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:none !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox) {
    min-height:0 !important;
    height:auto !important;
    padding:9px 7px 10px !important;
    border-radius:15px !important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom img.ets_zoom_img {
    width:76px !important;
    height:76px !important;
    max-width:76px !important;
    max-height:76px !important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom .attr-text {
    font-size:10.5px !important;
    line-height:1.24 !important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom :where(.product-discount,.attribute_price_save,.price) {
    font-size:12.5px !important;
  }
}

@media (max-width:380px) {
  html.ubd-product-ready body#product .block-product-attribute-custom,
  html.ubd-product-ready body#product .block-product-attribute-custom .from-group-option {
    padding-left:8px !important;
    padding-right:8px !important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track {
    gap:8px !important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom img.ets_zoom_img {
    width:68px !important;
    height:68px !important;
    max-width:68px !important;
    max-height:68px !important;
  }
}

/* ----------------------------------------------------------------------
   3) BUSCADOR FLOTANTE DEL HEADER
   ---------------------------------------------------------------------- */
.ubd-theme-search-overlay {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483600 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  padding:max(78px,calc(58px + env(safe-area-inset-top))) 12px 24px !important;
  background:rgba(23,56,62,.36) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  box-sizing:border-box !important;
}
.ubd-theme-search-overlay[hidden] { display:none !important; }
.ubd-theme-search-dialog {
  position:relative !important;
  width:min(680px,100%) !important;
  max-width:680px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:18px !important;
  border:1px solid rgba(255,255,255,.82) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 26px 70px rgba(23,56,62,.24) !important;
  box-sizing:border-box !important;
}
.ubd-theme-search-head {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 13px !important;
}
.ubd-theme-search-head strong {
  color:#17383E !important;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
}
.ubd-theme-search-close {
  display:grid !important;
  place-items:center !important;
  flex:0 0 40px !important;
  width:40px !important;
  height:40px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(23,56,62,.10) !important;
  border-radius:12px !important;
  background:#F6F8F6 !important;
  color:#17383E !important;
  font-size:24px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.ubd-theme-search-form {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:9px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.ubd-theme-search-input {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:54px !important;
  margin:0 !important;
  padding:0 16px !important;
  border:1px solid #DDE5E1 !important;
  border-radius:15px !important;
  outline:0 !important;
  background:#FBFCFB !important;
  color:#17383E !important;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:650 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
.ubd-theme-search-input:focus {
  border-color:#5EA58A !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(94,165,138,.12) !important;
}
.ubd-theme-search-submit {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:112px !important;
  height:54px !important;
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:15px !important;
  background:#17383E !important;
  color:#fff !important;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
}
html.ubd-theme-search-open,
html.ubd-theme-search-open body { overflow:hidden !important; }

@media (max-width:520px) {
  .ubd-theme-search-overlay {
    padding:max(68px,calc(50px + env(safe-area-inset-top))) 9px 18px !important;
  }
  .ubd-theme-search-dialog {
    padding:14px !important;
    border-radius:20px !important;
  }
  .ubd-theme-search-form {
    grid-template-columns:minmax(0,1fr) !important;
  }
  .ubd-theme-search-submit {
    width:100% !important;
    min-width:0 !important;
  }
}

/* ----------------------------------------------------------------------
   4) CONTENCIÓN EXTRA DE PRODUCTO
   ---------------------------------------------------------------------- */
html.ubd-product-ready body#product :where(
  .tv-product-page-content,
  .product-actions,
  #add-to-cart-or-refresh,
  .product-add-to-cart,
  .ubd-commerce-trust,
  .block-product-attribute-custom
),
html.ubd-product-ready body#product :where(
  .tv-product-page-content,
  .product-actions,
  #add-to-cart-or-refresh,
  .product-add-to-cart,
  .ubd-commerce-trust,
  .block-product-attribute-custom
) * {
  max-width:100% !important;
  box-sizing:border-box !important;
}


/* ======================================================================
   4) CHECKOUT · NO MOSTRAR BOTONES TÉCNICOS VACÍOS
   Respeta display:none inline que colocan Stripe/PayPal/Kueski/transferencia
   y el botón nativo de confirmación mientras PrestaShop lo mantiene oculto.
   ====================================================================== */
body#checkout #checkout-payment-step button[type="submit"][style*="display:none"],
body#checkout #checkout-payment-step button[type="submit"][style*="display: none"] {
  display:none !important;
}
body#checkout #checkout-payment-step .js-payment-option-form button[id^="pay-with-payment-option-"] {
  min-width:0 !important;
  min-height:0 !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
body#checkout #checkout-payment-step .js-payment-option-form button[id^="pay-with-payment-option-"][style*="display:none"],
body#checkout #checkout-payment-step .js-payment-option-form button[id^="pay-with-payment-option-"][style*="display: none"] {
  display:none !important;
}

/* ======================================================================
   5) CARRITO · CESTO SIEMPRE DENTRO DE LA TARJETA
   El JS mueve el enlace real (mismo href/data-action) a este slot estable.
   ====================================================================== */
body#cart .cart-item,
body#cart .product-line-grid {
  position:relative !important;
}
body#cart .product-line-grid {
  min-width:0 !important;
  max-width:100% !important;
  padding-bottom:54px !important;
  overflow:visible !important;
}
body#cart .ubd-cart-delete-stable-slot {
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  z-index:12 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  width:auto !important;
  min-width:44px !important;
  height:44px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
body#cart .ubd-cart-delete-stable-slot .remove-from-cart,
body#cart .ubd-cart-delete-stable-slot [data-link-action="delete-from-cart"] {
  position:static !important;
  inset:auto !important;
  display:grid !important;
  place-items:center !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:0 0 44px !important;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  border:1px solid rgba(232,115,79,.18) !important;
  border-radius:13px !important;
  background:#FFF0E7 !important;
  color:#D95F3F !important;
  text-decoration:none !important;
  box-shadow:none !important;
  overflow:hidden !important;
  cursor:pointer !important;
}
body#cart .ubd-cart-delete-stable-slot .remove-from-cart svg,
body#cart .ubd-cart-delete-stable-slot [data-link-action="delete-from-cart"] svg {
  display:block !important;
  width:21px !important;
  height:21px !important;
  max-width:21px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
}
body#cart .ubd-cart-delete-stable-slot .remove-from-cart:hover,
body#cart .ubd-cart-delete-stable-slot [data-link-action="delete-from-cart"]:hover {
  background:#FFE2D5 !important;
  color:#B94B31 !important;
}
@media(max-width:575px){
  body#cart .product-line-grid{padding-bottom:48px !important}
  body#cart .ubd-cart-delete-stable-slot{height:40px !important;min-width:40px !important}
  body#cart .ubd-cart-delete-stable-slot .remove-from-cart,
  body#cart .ubd-cart-delete-stable-slot [data-link-action="delete-from-cart"]{
    flex-basis:40px !important;width:40px !important;min-width:40px !important;max-width:40px !important;height:40px !important;min-height:40px !important;border-radius:12px !important
  }
}


/* ======================================================================
   0.6.4.8 · ATRIBUTOS DE PRODUCTO · ESPACIADO ESTABLE LABEL / VALUE
   Corrige "Bebida:Café" / "Color Mantel:Azul" tanto en carrito como
   en el resumen de /un-pedido. No depende de espacios escritos en Smarty.
   ====================================================================== */
body#checkout #cart-summary-product-list .product-line-info > .label,
body#cart .product-line-grid-body .product-line-info > .label {
  display:inline !important;
  margin:0 .62em 0 0 !important;
  padding:0 !important;
  vertical-align:baseline !important;
  white-space:normal !important;
}
body#checkout #cart-summary-product-list .product-line-info > .value,
body#cart .product-line-grid-body .product-line-info > .value {
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  min-width:0 !important;
  vertical-align:baseline !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
body#checkout #cart-summary-product-list .product-line-info,
body#cart .product-line-grid-body .product-line-info:has(> .label + .value) {
  line-height:1.5 !important;
}
@media (max-width:575px) {
  body#checkout #cart-summary-product-list .product-line-info > .label,
  body#cart .product-line-grid-body .product-line-info > .label {
    margin-right:.55em !important;
  }
}

/* ======================================================================
   0.6.4.9 · LOGIN LIMPIO + SOCIAL LOGIN EN POPUP
   - Un solo login nativo visible en /iniciar-sesion.
   - ETS Social Login conserva únicamente el widget lateral SLW.
   - Cerrado por defecto, botón naranja "Entrar", popup sólo con Google.
   ====================================================================== */

/* Las dos variantes duplicadas de ETS no deben competir con el login nativo. */
html.ubd-commerce-login-ready body#authentication .ets_solo_social_wrapper.alw,
html.ubd-commerce-login-ready body#authentication .ets_solo_social_wrapper.lgp,
html.ubd-commerce-login-ready body#authentication .ubd-login-fast-intro,
html.ubd-commerce-login-ready body#authentication .ubd-login-email-heading {
  display:none !important;
}

/* El formulario nativo queda como única tarjeta de credenciales. */
html.ubd-commerce-login-ready body#authentication #content {
  gap:18px !important;
  padding:clamp(22px,4vw,32px) !important;
  border:1px solid #e2e8e5 !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:0 18px 48px rgba(23,52,60,.09) !important;
}
html.ubd-commerce-login-ready body#authentication .login-form {
  order:1 !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
}
html.ubd-commerce-login-ready body#authentication #login-form .form-control-label {
  margin:0 0 7px !important;
  color:#17343c !important;
  font-family:Manrope,Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:850 !important;
  line-height:1.35 !important;
}
html.ubd-commerce-login-ready body#authentication #login-form .form-control,
html.ubd-commerce-login-ready body#authentication #login-form input {
  min-height:52px !important;
  border:1px solid #dbe3df !important;
  border-radius:14px !important;
  background:#fbfcfb !important;
  color:#17343c !important;
  font-family:Manrope,Arial,sans-serif !important;
  box-shadow:none !important;
}
html.ubd-commerce-login-ready body#authentication #login-form .input-group .form-control {
  border-radius:14px 0 0 14px !important;
}
html.ubd-commerce-login-ready body#authentication #login-form button[data-action="show-password"] {
  min-height:52px !important;
  border:1px solid #dbe3df !important;
  border-left:0 !important;
  border-radius:0 14px 14px 0 !important;
  background:#eef3f0 !important;
  color:#17343c !important;
  font-family:Manrope,Arial,sans-serif !important;
  font-size:11px !important;
  font-weight:900 !important;
}
html.ubd-commerce-login-ready body#authentication #submit-login {
  width:100% !important;
  min-height:54px !important;
  border-radius:15px !important;
  background:#4b8b61 !important;
  border-color:#4b8b61 !important;
  color:#fff !important;
  font-family:Manrope,Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:0 10px 24px rgba(75,139,97,.20) !important;
}
html.ubd-commerce-login-ready body#authentication .no-account {
  order:2 !important;
  margin:2px 0 0 !important;
  text-align:center !important;
  font-family:Manrope,Arial,sans-serif !important;
}

/* ---------- ÚNICO SOCIAL LOGIN: botón lateral naranja ---------- */
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 {
  position:fixed !important;
  top:50% !important;
  right:0 !important;
  left:auto !important;
  bottom:auto !important;
  z-index:9900 !important;
  display:block !important;
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  transform:translateY(-50%) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  pointer-events:none !important;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_slide_widget {
  position:static !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  width:72px !important;
  min-width:72px !important;
  height:auto !important;
  min-height:78px !important;
  margin:0 !important;
  padding:10px 7px !important;
  transform:none !important;
  border:0 !important;
  border-radius:18px 0 0 18px !important;
  background:#f28a39 !important;
  color:#fff !important;
  box-shadow:0 10px 28px rgba(28,46,51,.18) !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  text-align:center !important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_slide_widget:hover {
  background:#e97d2f !important;
  transform:translateX(-2px) !important;
  box-shadow:0 13px 30px rgba(28,46,51,.22) !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_slide_widget .ets_solo_title {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:2px !important;
  margin:0 !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_slide_widget .material-icons {
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font-size:25px !important;
  line-height:1 !important;
}

/* Cerrado significa CERRADO, aunque CSS/JS del módulo añada active. */
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649:not(.ubd-social-open-v0649) > .ets_solo_wrapper_content.slw,
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649:not(.ubd-social-open-v0649) > .ets_solo_account_close {
  display:none !important;
}

/* Fondo/modal controlados por el tema. */
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649.ubd-social-open-v0649 > .ets_solo_account_close.overlay {
  position:fixed !important;
  inset:0 !important;
  z-index:10000 !important;
  display:block !important;
  width:100vw !important;
  height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  background:rgba(12,30,35,.52) !important;
  backdrop-filter:blur(5px) !important;
  -webkit-backdrop-filter:blur(5px) !important;
  border:0 !important;
  pointer-events:auto !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649.ubd-social-open-v0649 > .ets_solo_wrapper_content.slw {
  position:fixed !important;
  top:50% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  z-index:10002 !important;
  display:block !important;
  width:min(420px,calc(100vw - 28px)) !important;
  max-width:420px !important;
  min-width:0 !important;
  max-height:min(78vh,520px) !important;
  height:auto !important;
  margin:0 !important;
  padding:28px !important;
  transform:translate(-50%,-50%) !important;
  overflow:auto !important;
  border:1px solid #e1e8e4 !important;
  border-radius:24px !important;
  background:#fff !important;
  color:#17343c !important;
  box-shadow:0 28px 90px rgba(10,28,33,.28) !important;
  pointer-events:auto !important;
  text-align:center !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649.ubd-social-open-v0649 > .ets_solo_account_close.button {
  position:fixed !important;
  top:calc(50% - min(39vh,260px) + 14px) !important;
  left:calc(50% + min(210px,calc(50vw - 14px)) - 48px) !important;
  right:auto !important;
  z-index:10003 !important;
  display:grid !important;
  place-items:center !important;
  width:34px !important;
  height:34px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:#eef3f0 !important;
  color:#17343c !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  font-size:0 !important;
  opacity:1 !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649.ubd-social-open-v0649 > .ets_solo_account_close.button::before {
  content:"×" !important;
  position:static !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  color:#17343c !important;
  font-family:Arial,sans-serif !important;
  font-size:25px !important;
  font-weight:400 !important;
  line-height:1 !important;
  transform:none !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649.ubd-social-open-v0649 > .ets_solo_account_close.button::after {
  display:none !important;
  content:none !important;
}

/* Dentro del popup sólo Google; se elimina el login email duplicado del módulo. */
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .solo-login-form,
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_or,
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_social_desc {
  display:none !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_social_title {
  display:block !important;
  margin:0 0 18px !important;
  color:#17343c !important;
  font-family:inherit !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_social {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_social_item.google {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_social_btn {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:11px !important;
  width:100% !important;
  min-height:54px !important;
  margin:0 !important;
  padding:11px 16px !important;
  border:1px solid #dfe5e2 !important;
  border-radius:15px !important;
  background:#fff !important;
  color:#17343c !important;
  font-family:inherit !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1.2 !important;
  box-shadow:0 8px 22px rgba(23,52,60,.08) !important;
  cursor:pointer !important;
}
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_social_btn .svg_gl,
.ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_social_btn .svg_gl svg {
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  margin:0 !important;
}
html.ubd-social-modal-open-v0649,
html.ubd-social-modal-open-v0649 body {
  overflow:hidden !important;
}

@media (max-width:600px) {
  .ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_slide_widget {
    width:62px !important;
    min-width:62px !important;
    min-height:68px !important;
    border-radius:16px 0 0 16px !important;
  }
  .ets_solo_social_wrapper.slw.ubd-social-entry-v0649 .ets_solo_slide_widget .ets_solo_title {
    font-size:11px !important;
  }
  .ets_solo_social_wrapper.slw.ubd-social-entry-v0649.ubd-social-open-v0649 > .ets_solo_wrapper_content.slw {
    width:calc(100vw - 24px) !important;
    padding:24px 18px 20px !important;
    border-radius:20px !important;
  }
  .ets_solo_social_wrapper.slw.ubd-social-entry-v0649.ubd-social-open-v0649 > .ets_solo_account_close.button {
    top:calc(50% - min(39vh,260px) + 11px) !important;
    left:auto !important;
    right:22px !important;
  }
}


/* ================================================================
   UBD Modular v1 0.6.4.12 · HOME MÓVIL · HERO SIN SOLAPAMIENTOS
   Última autoridad: elimina el botón verde fantasma (Asistente) y
   mantiene 3 chips + Calcular envío en bandas separadas.
   ================================================================ */
@media (max-width:699px) {
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-buttons-mobile {
    position:absolute !important;
    left:clamp(14px,4vw,22px) !important;
    right:clamp(14px,4vw,22px) !important;
    bottom:16px !important;
    z-index:20 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:0 !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
    overflow:visible !important;
  }
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-buttons-mobile::before,
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-buttons-mobile::after {
    display:none !important;
    content:none !important;
  }
  /* Asistente ya existe en otros accesos: no debe quedar oculto detrás de los chips. */
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-buttons-mobile > a:first-child {
    display:none !important;
  }
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-buttons-mobile > a:nth-child(2) {
    position:relative !important;
    inset:auto !important;
    z-index:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:50px !important;
    height:auto !important;
    margin:0 !important;
    padding:12px 16px !important;
    border:0 !important;
    border-radius:18px !important;
    background:#ef8050 !important;
    color:#fff !important;
    box-shadow:0 12px 26px rgba(24,51,58,.16) !important;
    transform:none !important;
    line-height:1.2 !important;
    text-align:center !important;
  }
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-chips-mobile {
    position:absolute !important;
    left:clamp(14px,4vw,22px) !important;
    right:clamp(14px,4vw,22px) !important;
    bottom:82px !important;
    z-index:21 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:stretch !important;
    gap:7px !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
    overflow:visible !important;
  }
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-chips-mobile::before,
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-chips-mobile::after {
    display:none !important;
    content:none !important;
  }
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-chips-mobile > a {
    position:relative !important;
    inset:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    height:auto !important;
    margin:0 !important;
    padding:8px 7px !important;
    border:1px solid rgba(23,52,60,.08) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.97) !important;
    color:#17343c !important;
    box-shadow:0 8px 20px rgba(24,51,58,.12) !important;
    transform:none !important;
    font-size:clamp(9px,2.55vw,11px) !important;
    line-height:1.15 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
}
@media (max-width:359px) {
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-chips-mobile {
    left:10px !important;
    right:10px !important;
    bottom:78px !important;
    gap:5px !important;
  }
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-chips-mobile > a {
    min-height:40px !important;
    padding:7px 4px !important;
    font-size:8.5px !important;
  }
  html.ubd-modular-ready body#index #ubd-modular-bonito .ubd-mod-hero-media .ubd-mod-hero-buttons-mobile {
    left:10px !important;
    right:10px !important;
    bottom:14px !important;
  }
}
