/* ============================================================
   UBD Modular Bonito · Product App 1.10.5 · 2026-08-18
   CAPA VISUAL DIRECTA DEL MÓDULO
   - No modifica JS, formularios, precios, hooks ni comportamiento.
   - Regla absoluta: fondo claro = texto oscuro; fondo oscuro = texto blanco.
   - Diseñada contra el HTML real de Black and Gold Gentleman.
   ============================================================ */

html.ubd-product-ready body#product {
  --ubd-app-ink:#202124;
  --ubd-app-muted:#666066;
  --ubd-app-line:#e7e1e4;
  --ubd-app-soft:#faf9fa;
  --ubd-app-soft2:#f4f2f3;
  --ubd-app-accent:#c2185b;
  --ubd-app-accent-soft:#fff0f6;
  --ubd-app-dark:#202124;
  --ubd-app-radius:16px;
  --ubd-app-shadow:0 4px 18px rgba(30,24,28,.055);
}

/* ---------- CONTENEDOR GENERAL / ESTILO APP ---------- */
html.ubd-product-ready body#product .tv-product-page-content,
html.ubd-product-ready body#product .product-information,
html.ubd-product-ready body#product .product-actions {
  color:var(--ubd-app-ink)!important;
}

html.ubd-product-ready body#product :is(.product-variants,.block-product-attribute-custom,.ubdpr-wrap,.ubdgi-wrap) {
  width:100%!important;
  margin:10px 0!important;
  padding:14px!important;
  border:1px solid var(--ubd-app-line)!important;
  border-radius:var(--ubd-app-radius)!important;
  background:#fff!important;
  box-shadow:var(--ubd-app-shadow)!important;
  color:var(--ubd-app-ink)!important;
}

/* Fotos de producto siempre completas */
html.ubd-product-ready body#product :is(.product-cover img,.product-images img,.ets_zoom_img,.ubdgi-card img) {
  object-fit:contain!important;
  object-position:center!important;
}

/* ---------- ETS EXTRA OPTIONS ---------- */
/* Se sobreescribe a propósito el mosaico multicolor de 1.8.8. */
html.ubd-product-ready body#product .block-product-attribute-custom,
html.ubd-product-ready body#product .block-product-attribute-custom :is(div,span,p,label,strong,small,h4,h5) {
  color:var(--ubd-app-ink)!important;
  text-shadow:none!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .form-group h4 {
  display:block!important;
  min-height:0!important;
  margin:0 0 12px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ubd-app-ink)!important;
  font-size:20px!important;
  font-weight:850!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .list-attribute-custom {
  display:grid!important;
  gap:12px!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .from-group-option {
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .from-group-option > h5 {
  min-height:0!important;
  margin:0 0 8px!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:11px!important;
  background:var(--ubd-app-soft2)!important;
  color:#3c393b!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  padding:0!important;
  overflow:visible!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox),
html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox):nth-child(n) {
  position:relative!important;
  display:block!important;
  min-width:0!important;
  min-height:92px!important;
  margin:0!important;
  padding:9px!important;
  overflow:hidden!important;
  border:1px solid var(--ubd-app-line)!important;
  border-radius:13px!important;
  background:var(--ubd-app-soft)!important;
  color:var(--ubd-app-ink)!important;
  box-shadow:none!important;
  transform:none!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox):has(input:checked) {
  border:2px solid var(--ubd-app-accent)!important;
  background:var(--ubd-app-accent-soft)!important;
  color:var(--ubd-app-ink)!important;
  box-shadow:none!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox) > label {
  display:block!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--ubd-app-ink)!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox) > label > div:first-child {
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:8px!important;
  width:100%!important;
  min-height:0!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .ets_input_group {
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:3!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom img.ets_zoom_img {
  grid-column:1!important;
  width:44px!important;
  height:54px!important;
  min-width:44px!important;
  max-width:44px!important;
  margin:0!important;
  padding:2px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .attr-text {
  grid-column:2!important;
  width:auto!important;
  min-width:0!important;
  padding-right:18px!important;
  color:var(--ubd-app-ink)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.28!important;
  text-align:left!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .attr-text *,
html.ubd-product-ready body#product .block-product-attribute-custom .product-discount {
  color:var(--ubd-app-ink)!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .ets_attr_desc_small {
  width:100%!important;
  margin:6px 0 0!important;
  padding:6px 0 0!important;
  border-top:1px solid var(--ubd-app-line)!important;
  color:var(--ubd-app-muted)!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  text-align:left!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .ets_notification_ex {
  margin:7px 0 0!important;
  padding:0!important;
  background:transparent!important;
  color:var(--ubd-app-muted)!important;
  font-size:10.5px!important;
}

html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-selected-details {
  margin:8px 0 0!important;
  padding:9px 11px!important;
  border:0!important;
  border-left:3px solid var(--ubd-app-accent)!important;
  border-radius:9px!important;
  background:#fff7fa!important;
  color:var(--ubd-app-ink)!important;
}
html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-selected-details * {
  color:var(--ubd-app-ink)!important;
}

/* ---------- UBD REGLAS / SEIS RAZONES ---------- */
html.ubd-product-ready body#product .ubdpr-wrap,
html.ubd-product-ready body#product .ubdpr-wrap * {
  color:var(--ubd-app-ink)!important;
  text-shadow:none!important;
}
html.ubd-product-ready body#product .ubdpr-option-card {
  min-height:48px!important;
  padding:9px 10px!important;
  border:1px solid var(--ubd-app-line)!important;
  border-radius:11px!important;
  background:var(--ubd-app-soft)!important;
  color:var(--ubd-app-ink)!important;
  box-shadow:none!important;
}
html.ubd-product-ready body#product .ubdpr-option-card:has(input:checked) {
  border-color:var(--ubd-app-accent)!important;
  background:var(--ubd-app-accent-soft)!important;
  color:var(--ubd-app-ink)!important;
}

/* ---------- GLOBO INCLUIDO ---------- */
html.ubd-product-ready body#product .ubdgi-wrap,
html.ubd-product-ready body#product .ubdgi-wrap * {
  color:var(--ubd-app-ink)!important;
  text-shadow:none!important;
}
html.ubd-product-ready body#product .ubdgi-choice-tabs label,
html.ubd-product-ready body#product .ubdgi-card,
html.ubd-product-ready body#product .ubdgi-panel {
  border-color:var(--ubd-app-line)!important;
  background:var(--ubd-app-soft)!important;
  color:var(--ubd-app-ink)!important;
  box-shadow:none!important;
}
html.ubd-product-ready body#product .ubdgi-choice-tabs label:has(input:checked),
html.ubd-product-ready body#product .ubdgi-card:has(input:checked) {
  border-color:var(--ubd-app-accent)!important;
  background:var(--ubd-app-accent-soft)!important;
  color:var(--ubd-app-ink)!important;
}

/* ---------- CANTIDAD + CTA ---------- */
html.ubd-product-ready body#product .product-quantity {
  width:100%!important;
  margin:12px 0 8px!important;
  padding:10px 12px!important;
  border:1px solid var(--ubd-app-line)!important;
  border-radius:12px!important;
  background:var(--ubd-app-soft)!important;
  color:var(--ubd-app-ink)!important;
}
html.ubd-product-ready body#product .product-quantity * {
  color:var(--ubd-app-ink)!important;
}

html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page.tv-product-page-add-to-cart-wrapper {
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  width:100%!important;
  margin:0!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page.tv-product-page-add-to-cart-wrapper > * {
  grid-column:1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
html.ubd-product-ready body#product .tvcart-btn-model .add-to-cart {
  width:100%!important;
  min-height:54px!important;
  margin:0!important;
  border:0!important;
  border-radius:13px!important;
  background:var(--ubd-app-dark)!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(32,33,36,.13)!important;
  font-size:15px!important;
  font-weight:850!important;
}
html.ubd-product-ready body#product .tvcart-btn-model .add-to-cart * {
  color:#fff!important;
}

/* ---------- PUNTOS / KUESKI / PAGO SEGURO: UNA FILA CADA UNO ---------- */
/* Neutraliza display:contents del tema y el grid de dos columnas. */
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page .tvproduct-stock-social {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  grid-column:1!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page .tvproduct-stock-social .product-additional-info {
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  width:100%!important;
  max-width:100%!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page .tvproduct-stock-social .product-additional-info > br.clear {
  display:none!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page .tvproduct-stock-social .product-additional-info > #loyalty_product_wrapper,
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page .tvproduct-stock-social .product-additional-info > .row:has(kueskipay-widget) {
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid var(--ubd-app-line)!important;
  border-radius:13px!important;
  background:var(--ubd-app-soft)!important;
  color:var(--ubd-app-ink)!important;
  box-shadow:none!important;
  overflow:visible!important;
  clear:both!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page .tvproduct-stock-social .product-additional-info > .row:has(kueskipay-widget) > [class*="col-"] {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}

/* Puntos: supera el style inline que viene después del HTML del módulo. */
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page #loyalty_product_wrapper .loyalty-card-modern {
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ubd-app-ink)!important;
  box-shadow:none!important;
  text-align:left!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page #loyalty_product_wrapper .loyalty-icon-container {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  margin:0!important;
  border-radius:11px!important;
  background:var(--ubd-app-dark)!important;
  color:#fff!important;
  box-shadow:none!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page #loyalty_product_wrapper .loyalty-icon-container * {
  color:#fff!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page #loyalty_product_wrapper :is(.loyalty-main-msg,.loyalty-sub-msg,.points-badge,.voucher-value,strong,span,p) {
  color:var(--ubd-app-ink)!important;
  text-decoration:none!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page #loyalty_product_wrapper .loyalty-main-msg {
  margin:0 0 3px!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.3!important;
}
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page #loyalty_product_wrapper .loyalty-sub-msg {
  margin:0!important;
  font-size:11px!important;
  line-height:1.35!important;
}

/* Kueski: sólo piel exterior; Shadow DOM y función permanecen intactos. */
html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page .product-additional-info > .row:has(kueskipay-widget) kueskipay-widget {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:4px 0!important;
  color:var(--ubd-app-ink)!important;
}

/* Pago seguro / PayPal: su propia fila completa. */
html.ubd-product-ready body#product #ps_checkout-payment-method-logo-block-container {
  position:relative!important;
  display:block!important;
  grid-column:1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid var(--ubd-app-line)!important;
  border-radius:13px!important;
  background:var(--ubd-app-soft)!important;
  color:var(--ubd-app-ink)!important;
  box-shadow:none!important;
}
html.ubd-product-ready body#product #ps_checkout-payment-method-logo-block-container :is(div,span,strong) {
  color:var(--ubd-app-ink)!important;
}
html.ubd-product-ready body#product #ps_checkout-payment-method-logo-block-title {
  margin:0 0 8px!important;
  color:var(--ubd-app-ink)!important;
  font-size:11px!important;
  font-weight:800!important;
}
html.ubd-product-ready body#product #ps_checkout-payment-method-logos-container {
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

/* Quita las etiquetas artificiales grandes de capas antiguas. */
html.ubd-product-ready body#product #loyalty_product_wrapper::before,
html.ubd-product-ready body#product .product-additional-info > .row:has(kueskipay-widget)::before,
html.ubd-product-ready body#product #ps_checkout-payment-method-logo-block-container::before {
  display:none!important;
  content:none!important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px) {
  html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:699px) {
  html.ubd-product-ready body#product :is(.product-variants,.block-product-attribute-custom,.ubdpr-wrap,.ubdgi-wrap) {
    margin:8px 0!important;
    padding:12px!important;
    border-radius:14px!important;
  }

  /* App móvil: opciones ETS en lista, no tarjetas gigantes de 2 columnas. */
  html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track {
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox),
  html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox):nth-child(n) {
    min-height:70px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom .ubd-eto-modular-track > :is(.radio,.checkbox) > label > div:first-child {
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:10px!important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom img.ets_zoom_img {
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    max-width:52px!important;
  }
  html.ubd-product-ready body#product .block-product-attribute-custom .attr-text {
    padding-right:22px!important;
    font-size:12.5px!important;
    line-height:1.3!important;
  }

  html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page #loyalty_product_wrapper .loyalty-card-modern {
    grid-template-columns:38px minmax(0,1fr)!important;
    text-align:left!important;
  }
  html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page #loyalty_product_wrapper .loyalty-icon-container {
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
  }
  html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page .tvproduct-stock-social .product-additional-info > #loyalty_product_wrapper,
  html.ubd-product-ready body#product .tvwishlist-compare-wrapper-page .tvproduct-stock-social .product-additional-info > .row:has(kueskipay-widget),
  html.ubd-product-ready body#product #ps_checkout-payment-method-logo-block-container {
    padding:11px!important;
    border-radius:12px!important;
  }
}

/* Última protección de contraste en superficies claras de esta capa. */
html.ubd-product-ready body#product :is(
  .block-product-attribute-custom,
  .block-product-attribute-custom .from-group-option,
  .block-product-attribute-custom .radio,
  .block-product-attribute-custom .checkbox,
  .ubdpr-wrap,.ubdpr-option-card,
  .ubdgi-wrap,.ubdgi-panel,.ubdgi-card,
  #loyalty_product_wrapper,
  .product-additional-info > .row:has(kueskipay-widget),
  #ps_checkout-payment-method-logo-block-container
) {
  color:var(--ubd-app-ink)!important;
}
