/* ==========================================================================
   css_producto.css – ficha de producto
   ==========================================================================
   Partes modificadas:
   - Layout 2 columnas (galería | info), breadcrumb, título grande
   - Cantidad + añadir al carrito + wishlist (misma altura)
   - Compartir (social-sharing), tabs descripción/detalles alineados
   - Aviso stock (ps_emailalerts): email + botón negro/amarillo
   - Contenido tabs alineado a la izquierda
   - Productos relacionados / accesorios (mismo estilo catálogo)
   - Flags, precios, ocultar reassurances y bloque comentarios

   - Contenedor max-width 1460px (sin padding en .container)

   Responsive:
   - Desktop (base): 2 columnas 46% / 54%
   - Tablet ≤ 991px: 1 columna, título reducido
   - Móvil ≤ 767px: wishlist junto al título; relacionados/vistos en slider
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');

/* ----- Desktop / base ----- */

body#product,
body.page-product {
  background: var(--dil-cream, #faf5eb);
  font-family: var(--dil-font, Montserrat, system-ui, sans-serif);
  color: var(--dil-ink, #151515);
}

body#product #wrapper,
body.page-product #wrapper,
body#product #main,
body.page-product #main {
  background: transparent;
}

body#product #wrapper > .container,
body.page-product #wrapper > .container {
  width: 100%;
  max-width: 1460px;
  margin-left: auto;
  margin-right: auto;
}

/* Mismo aire lateral que catálogo: sin gutters Bootstrap extra */
body#product #wrapper > .container > .row,
body.page-product #wrapper > .container > .row {
  margin-left: 0;
  margin-right: 0;
}

body#product #content-wrapper,
body.page-product #content-wrapper,
body#product #main,
body.page-product #main {
  width: 100%;
  max-width: none !important;
  padding: 0 !important;
  margin: 0;
}

/* Breadcrumb */
body#product .breadcrumb,
body.page-product .breadcrumb {
  margin: 0 0 1.25rem;
  padding: 0;
  background: transparent;
}

body#product .breadcrumb ol,
body.page-product .breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

body#product .breadcrumb li,
body.page-product .breadcrumb li {
  color: var(--dil-red, #d01b1b);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body#product .breadcrumb li a,
body.page-product .breadcrumb li a {
  color: var(--dil-red, #d01b1b);
  text-decoration: none;
}

body#product .breadcrumb li a:hover,
body.page-product .breadcrumb li a:hover {
  color: var(--dil-black, #000);
}

body#product .breadcrumb li::after,
body.page-product .breadcrumb li::after {
  content: '>';
  margin-left: 0.35rem;
  color: #c4beb2;
}

body#product .breadcrumb li:last-child,
body.page-product .breadcrumb li:last-child {
  color: var(--dil-muted, #7a7a7a);
  font-weight: 500;
}

body#product .breadcrumb li:last-child::after,
body.page-product .breadcrumb li:last-child::after {
  content: none;
}

/* Layout 2 columnas */
body#product .product-container,
body.page-product .product-container {
  align-items: flex-start;
  margin-left: 0;
  margin-right: 0;
}

body#product .product-container > .col-md-6,
body.page-product .product-container > .col-md-6 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

body#product .product-container > .col-md-6:first-child,
body.page-product .product-container > .col-md-6:first-child {
  flex: 0 0 46%;
  max-width: 46%;
  padding-left: 0;
}

body#product .product-container > .col-md-6:last-child,
body.page-product .product-container > .col-md-6:last-child {
  flex: 0 0 54%;
  max-width: 54%;
  padding-right: 0;
}

/* Galería */
body#product #content.page-content,
body.page-product #content.page-content {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

body#product .images-container,
body.page-product .images-container {
  margin: 0;
}

body#product .product-cover,
body.page-product .product-cover {
  position: relative;
  margin: 0 0 0.75rem;
  background: var(--dil-white, #fff);
  border: 1px solid var(--dil-line, #ddd8ce);
}

body#product .product-cover img,
body.page-product .product-cover img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  background: var(--dil-white, #fff);
}

body#product .product-cover .layer,
body.page-product .product-cover .layer {
  background: rgba(0, 0, 0, 0.28);
}

/* Flags solo en galería principal (no miniaturas de relacionados) */
body#product #content > .product-flags,
body.page-product #content > .product-flags,
body#product .images-container .product-flags,
body.page-product .images-container .product-flags {
  top: 0.7rem;
  left: 0.7rem;
  right: auto;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: auto !important;
  max-width: calc(100% - 3.5rem) !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0.2rem;
  pointer-events: none;
}

body#product #content > .product-flags .product-flag,
body.page-product #content > .product-flags .product-flag,
body#product .images-container .product-flags .product-flag,
body.page-product .images-container .product-flags .product-flag {
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  pointer-events: auto;
  list-style: none !important;
  background: var(--dil-red, #d01b1b) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.22rem 0.35rem !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  line-height: 1.15;
  white-space: nowrap;
}

body#product #content > .product-flags .product-flag.discount,
body.page-product #content > .product-flags .product-flag.discount,
body#product #content > .product-flags .product-flag.discount-percentage,
body.page-product #content > .product-flags .product-flag.discount-percentage,
body#product #content > .product-flags .product-flag.on-sale,
body.page-product #content > .product-flags .product-flag.on-sale,
body#product .images-container .product-flags .product-flag.on-sale,
body.page-product .images-container .product-flags .product-flag.on-sale,
body#product .images-container .product-flags .product-flag.discount,
body.page-product .images-container .product-flags .product-flag.discount {
  background: var(--dil-red, #d01b1b) !important;
  width: auto !important;
  max-width: none !important;
  margin-top: 0 !important;
  text-align: left !important;
  white-space: nowrap;
}

body#product .product-images,
body.page-product .product-images {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

body#product .thumb-container,
body.page-product .thumb-container {
  margin: 0;
}

body#product .thumb-container .thumb,
body.page-product .thumb-container .thumb {
  width: 4.5rem;
  height: 4.5rem;
  object-fit: contain;
  background: var(--dil-white, #fff);
  border: 1px solid var(--dil-line, #ddd8ce);
  padding: 0.25rem;
  cursor: pointer;
  opacity: 1;
}

body#product .thumb-container .thumb.selected,
body.page-product .thumb-container .thumb.selected,
body#product .thumb-container .thumb.js-thumb-selected,
body.page-product .thumb-container .thumb.js-thumb-selected {
  border-color: var(--dil-black, #000);
}

/* Título + precios */
body#product .product-container .h1,
body.page-product .product-container .h1 {
  margin: 0 0 0.85rem;
  font-family: var(--dil-font-display, Oswald, Montserrat, sans-serif);
  font-size: clamp(2.15rem, 3.8vw, 3.1rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--dil-black, #000);
}

body#product .product-prices,
body.page-product .product-prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.65rem;
  row-gap: 0.35rem;
  margin: 0 0 1.1rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid var(--dil-line, #ddd8ce);
}

body#product .product-price,
body.page-product .product-price {
  margin: 0;
}

/* Precio tachado detrás (a la derecha) del precio actual */
body#product .product-price.has-discount,
body.page-product .product-price.has-discount,
body#product .product-price.has-discount .current-price,
body.page-product .product-price.has-discount .current-price {
  display: contents;
}

body#product .product-discount,
body.page-product .product-discount {
  display: inline-flex;
  align-items: baseline;
  order: 2;
  margin: 0;
}

body#product .product-discount .regular-price,
body.page-product .product-discount .regular-price,
body#product .product-prices .regular-price,
body.page-product .product-prices .regular-price {
  color: #9a9488;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: line-through;
  margin: 0;
}

body#product .current-price,
body.page-product .current-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem 0.65rem;
}

body#product .current-price-value,
body.page-product .current-price-value {
  order: 1;
  font-family: var(--dil-font-display, Oswald, Montserrat, sans-serif);
  font-size: clamp(1.7rem, 2.4vw, 2.25rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--dil-black, #000);
}

body#product .product-prices .discount,
body.page-product .product-prices .discount,
body#product .product-prices .discount-percentage,
body.page-product .product-prices .discount-percentage {
  order: 3;
  background: var(--dil-yellow, #fccf27);
  color: var(--dil-black, #000);
  border-radius: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.22rem 0.4rem;
}

body#product .tax-shipping-delivery-label,
body.page-product .tax-shipping-delivery-label {
  order: 4;
  flex: 1 0 100%;
  margin-top: 0.45rem;
  color: var(--dil-muted, #7a7a7a);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Descripción corta */
body#product .product-information,
body.page-product .product-information {
  margin: 0;
}

body#product .product-description,
body.page-product .product-description {
  margin: 0 0 1.25rem;
  color: #3a3a3a;
  font-size: 0.92rem;
  line-height: 1.55;
}

body#product .product-description p,
body.page-product .product-description p {
  margin: 0 0 0.65rem;
}

/* Listas (TinyMCE: <li><p>…</p></li>): punto y texto en la misma línea */
body#product .product-description ul,
body.page-product .product-description ul,
body#product .product-description ol,
body.page-product .product-description ol,
body#product .tabs .tab-pane .product-description ul,
body.page-product .tabs .tab-pane .product-description ul,
body#product .tabs .tab-pane .product-description ol,
body.page-product .tabs .tab-pane .product-description ol,
body#product .product-information .product-description ul,
body.page-product .product-information .product-description ul,
body#product .product-information .product-description ol,
body.page-product .product-information .product-description ol {
  margin: 0 0 1rem;
  padding-left: 1.35rem !important;
  list-style-position: outside !important;
}

body#product .product-description ul,
body.page-product .product-description ul,
body#product .tabs .tab-pane .product-description ul,
body.page-product .tabs .tab-pane .product-description ul,
body#product .product-information .product-description ul,
body.page-product .product-information .product-description ul {
  list-style-type: disc !important;
}

body#product .product-description ol,
body.page-product .product-description ol,
body#product .tabs .tab-pane .product-description ol,
body.page-product .tabs .tab-pane .product-description ol {
  list-style-type: decimal !important;
}

body#product .product-description li,
body.page-product .product-description li,
body#product .tabs .tab-pane .product-description li,
body.page-product .tabs .tab-pane .product-description li,
body#product .product-information .product-description li,
body.page-product .product-information .product-description li {
  display: list-item !important;
  margin: 0 0 0.4rem;
  padding: 0;
  color: #3a3a3a;
  line-height: 1.55;
}

body#product .product-description li > p,
body.page-product .product-description li > p,
body#product .tabs .tab-pane .product-description li > p,
body.page-product .tabs .tab-pane .product-description li > p,
body#product .product-information .product-description li > p,
body.page-product .product-information .product-description li > p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Cantidad + carrito + wishlist */
body#product .product-add-to-cart .control-label,
body.page-product .product-add-to-cart .control-label {
  display: block;
  margin: 0 0 0.45rem;
  color: var(--dil-ink, #151515);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body#product .product-quantity,
body.page-product .product-quantity {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.55rem;
  margin: 0 0 0.85rem;
}

body#product .product-quantity .qty,
body.page-product .product-quantity .qty {
  display: flex !important;
  align-items: stretch;
  float: none !important;
  margin: 0 !important;
  height: 3rem;
  box-sizing: border-box;
  border: 1px solid var(--dil-black, #000);
  background: var(--dil-white, #fff);
  overflow: hidden;
}

/* TouchSpin: input + flechas en fila (el float del tema las tiraba abajo) */
body#product .product-quantity .bootstrap-touchspin,
body.page-product .product-quantity .bootstrap-touchspin {
  display: flex !important;
  align-items: stretch;
  float: none !important;
  width: auto !important;
  height: 100%;
  margin: 0;
  border: 0 !important;
  background: transparent;
  box-shadow: none !important;
}

body#product .product-quantity #quantity_wanted,
body.page-product .product-quantity #quantity_wanted,
body#product .product-quantity .bootstrap-touchspin input.form-control,
body.page-product .product-quantity .bootstrap-touchspin input.form-control,
body#product .product-quantity .bootstrap-touchspin input.input-group,
body.page-product .product-quantity .bootstrap-touchspin input.input-group {
  float: none !important;
  display: block;
  width: 3.25rem !important;
  min-width: 3.25rem;
  height: 100% !important;
  margin: 0;
  padding: 0 0.35rem !important;
  text-align: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  color: var(--dil-black, #000);
  font-size: 0.95rem;
  font-weight: 700;
  box-shadow: none !important;
  -moz-appearance: textfield;
  appearance: textfield;
}

body#product .product-quantity #quantity_wanted::-webkit-outer-spin-button,
body.page-product .product-quantity #quantity_wanted::-webkit-outer-spin-button,
body#product .product-quantity #quantity_wanted::-webkit-inner-spin-button,
body.page-product .product-quantity #quantity_wanted::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body#product .product-quantity .bootstrap-touchspin .input-group-btn-vertical,
body.page-product .product-quantity .bootstrap-touchspin .input-group-btn-vertical {
  display: flex !important;
  flex-direction: column;
  float: none !important;
  position: relative;
  width: 1.85rem !important;
  min-width: 1.85rem;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--dil-black, #000);
  white-space: normal;
  vertical-align: stretch;
}

body#product .product-quantity .bootstrap-touchspin .btn-touchspin,
body.page-product .product-quantity .bootstrap-touchspin .btn-touchspin,
body#product .product-quantity .bootstrap-touchspin .input-group-btn-vertical > .btn,
body.page-product .product-quantity .bootstrap-touchspin .input-group-btn-vertical > .btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  float: none !important;
  position: relative;
  flex: 1 1 50%;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--dil-white, #fff) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--dil-black, #000);
  line-height: 1;
}

body#product .product-quantity .bootstrap-touchspin .bootstrap-touchspin-down,
body.page-product .product-quantity .bootstrap-touchspin .bootstrap-touchspin-down {
  margin-top: 0 !important;
  border-top: 1px solid var(--dil-line, #ddd8ce) !important;
}

body#product .product-quantity .bootstrap-touchspin .btn-touchspin:hover,
body.page-product .product-quantity .bootstrap-touchspin .btn-touchspin:hover {
  background: var(--dil-sand, #f7f4ee) !important;
}

body#product .product-quantity .bootstrap-touchspin .input-group-btn-vertical i,
body.page-product .product-quantity .bootstrap-touchspin .input-group-btn-vertical i,
body#product .product-quantity .bootstrap-touchspin .btn-touchspin i,
body.page-product .product-quantity .bootstrap-touchspin .btn-touchspin i {
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1;
}

body#product .product-quantity .bootstrap-touchspin .touchspin-up::after,
body.page-product .product-quantity .bootstrap-touchspin .touchspin-up::after,
body#product .product-quantity .bootstrap-touchspin .touchspin-down::after,
body.page-product .product-quantity .bootstrap-touchspin .touchspin-down::after {
  font-family: 'Material Icons', sans-serif;
  font-size: 1rem;
  line-height: 1;
}

body#product .product-quantity .add,
body.page-product .product-quantity .add {
  float: none;
  flex: 1 1 auto;
  margin: 0;
}

body#product .product-quantity .add-to-cart,
body.page-product .product-quantity .add-to-cart,
body#product button.add-to-cart.btn-primary,
body.page-product button.add-to-cart.btn-primary {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 1.1rem;
  background: var(--dil-black, #000);
  border: 1px solid var(--dil-black, #000);
  border-radius: 0;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body#product .product-quantity .add-to-cart:hover,
body.page-product .product-quantity .add-to-cart:hover,
body#product button.add-to-cart.btn-primary:hover,
body.page-product button.add-to-cart.btn-primary:hover {
  background: var(--dil-yellow, #fccf27);
  border-color: var(--dil-yellow, #fccf27);
  color: var(--dil-black, #000);
}

body#product .product-quantity .add-to-cart .material-icons,
body.page-product .product-quantity .add-to-cart .material-icons {
  margin-right: 0.35rem;
  font-size: 1.15rem;
  vertical-align: middle;
}

body#product .product-quantity .wishlist-button,
body.page-product .product-quantity .wishlist-button {
  float: none;
  margin: 0;
  align-self: stretch;
  display: flex;
}

body#product .product-quantity .wishlist-button-add,
body.page-product .product-quantity .wishlist-button-add,
body#product .product-quantity .wishlist-button-product,
body.page-product .product-quantity .wishlist-button-product,
body#product .product-quantity button.wishlist-button-add,
body.page-product .product-quantity button.wishlist-button-add {
  width: 3rem !important;
  height: auto !important;
  min-width: 3rem !important;
  min-height: 3rem !important;
  align-self: stretch;
  margin-left: 0 !important;
}

body#product .product-quantity .wishlist-button-add i,
body.page-product .product-quantity .wishlist-button-add i,
body#product .product-quantity .wishlist-button-add .material-icons,
body.page-product .product-quantity .wishlist-button-add .material-icons,
body#product .product-quantity .wishlist-button-product i,
body.page-product .product-quantity .wishlist-button-product i,
body#product .product-quantity .wishlist-button-product .material-icons,
body.page-product .product-quantity .wishlist-button-product .material-icons {
  width: 1.25rem !important;
  height: 1.25rem !important;
}

/* Wishlist ficha: tamaño base en css_base (2rem en miniaturas) */

/* Compartir */
body#product .product-additional-info,
body.page-product .product-additional-info {
  margin-top: 0.85rem;
}

body#product .social-sharing,
body.page-product .social-sharing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  background: transparent;
  border: 1px solid var(--dil-line, #ddd8ce);
}

body#product .social-sharing > span,
body.page-product .social-sharing > span {
  color: var(--dil-black, #000);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body#product .social-sharing ul,
body.page-product .social-sharing ul {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Iconos en el <li> (sprites del tema): no tapar con fondo del <a> */
body#product .social-sharing li,
body.page-product .social-sharing li {
  display: block;
  width: 2rem;
  height: 2rem;
  margin: 0;
  border: 1px solid var(--dil-line, #ddd8ce);
  border-radius: 0;
  background-color: var(--dil-white, #fff);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.2rem 1.2rem;
  transition:
    border-color 0.15s ease,
    background-color 0.15s ease,
    box-shadow 0.15s ease;
}

body#product .social-sharing li a,
body.page-product .social-sharing li a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body#product .social-sharing li:hover,
body.page-product .social-sharing li:hover,
body#product .social-sharing li:focus-within,
body.page-product .social-sharing li:focus-within {
  border-color: var(--dil-red, oklch(55% 0.19 27)) !important;
  background-color: color-mix(in srgb, var(--dil-red, #d01b1b) 12%, #fff) !important;
  box-shadow: inset 0 0 0 1px var(--dil-red, oklch(55% 0.19 27));
}

/* Aviso de stock (ps_emailalerts) */
body#product .product-additional-info > .tabs,
body.page-product .product-additional-info > .tabs {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0;
}

body#product .product-additional-info .js-mailalert,
body.page-product .product-additional-info .js-mailalert {
  text-align: left !important;
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  background: transparent;
  border: 1px solid var(--dil-line, #ddd8ce);
}

body#product .product-additional-info .js-mailalert .form-control,
body.page-product .product-additional-info .js-mailalert .form-control {
  display: block;
  width: 100%;
  max-width: none;
  height: 3rem;
  margin: 0;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--dil-black, #000);
  border-radius: 0;
  background: var(--dil-white, #fff);
  color: var(--dil-ink, #151515);
  font-family: var(--dil-font, Montserrat, system-ui, sans-serif);
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.2;
  box-shadow: none !important;
}

body#product .product-additional-info .js-mailalert .form-control:focus,
body.page-product .product-additional-info .js-mailalert .form-control:focus {
  border-color: var(--dil-black, #000);
  outline: none;
  box-shadow: none !important;
}

body#product .product-additional-info .js-mailalert .form-control::placeholder,
body.page-product .product-additional-info .js-mailalert .form-control::placeholder {
  color: var(--dil-muted, #7a7a7a);
  opacity: 1;
}

body#product .product-additional-info .js-mailalert .gdpr_consent_wrapper,
body.page-product .product-additional-info .js-mailalert .gdpr_consent_wrapper {
  margin-top: 0.65rem !important;
  font-size: 0.8rem;
}

body#product .product-additional-info .js-mailalert .js-mailalert-add,
body.page-product .product-additional-info .js-mailalert .js-mailalert-add,
body#product .product-additional-info .js-mailalert .btn-primary,
body.page-product .product-additional-info .js-mailalert .btn-primary {
  display: block;
  width: 100%;
  min-height: 3rem;
  margin: 0.65rem 0 0 !important;
  padding: 0.75rem 1.1rem;
  background: var(--dil-black, #000) !important;
  border: 1px solid var(--dil-black, #000) !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-family: var(--dil-font, Montserrat, system-ui, sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: normal;
  box-shadow: none !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body#product .product-additional-info .js-mailalert .js-mailalert-add:hover,
body.page-product .product-additional-info .js-mailalert .js-mailalert-add:hover,
body#product .product-additional-info .js-mailalert .btn-primary:hover,
body.page-product .product-additional-info .js-mailalert .btn-primary:hover {
  background: var(--dil-yellow, #fccf27) !important;
  border-color: var(--dil-yellow, #fccf27) !important;
  color: var(--dil-black, #000) !important;
}

body#product .product-additional-info .js-mailalert .js-mailalert-add:disabled,
body.page-product .product-additional-info .js-mailalert .js-mailalert-add:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

body#product .product-additional-info .js-mailalert-alerts,
body.page-product .product-additional-info .js-mailalert-alerts {
  margin-top: 0.65rem;
}

body#product .product-additional-info .js-mailalert .alert,
body.page-product .product-additional-info .js-mailalert .alert,
body#product .product-additional-info .js-mailalert-alerts .alert,
body.page-product .product-additional-info .js-mailalert-alerts .alert {
  margin: 0.65rem 0 0 !important;
  padding: 0.65rem 0.85rem;
  border-radius: 0;
  border: 1px solid var(--dil-line, #ddd8ce);
  background: var(--dil-sand, #f7f4ee);
  color: var(--dil-ink, #151515);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
}

body#product .product-additional-info .js-mailalert .alert-success,
body.page-product .product-additional-info .js-mailalert .alert-success,
body#product .product-additional-info .js-mailalert-alerts .alert-success,
body.page-product .product-additional-info .js-mailalert-alerts .alert-success {
  border-color: var(--dil-black, #000);
  background: var(--dil-yellow, #fccf27);
  color: var(--dil-black, #000);
}

body#product .product-additional-info .js-mailalert .alert-danger,
body.page-product .product-additional-info .js-mailalert .alert-danger,
body#product .product-additional-info .js-mailalert-alerts .alert-danger,
body.page-product .product-additional-info .js-mailalert-alerts .alert-danger {
  border-color: var(--dil-red, #d01b1b);
  background: #fff;
  color: var(--dil-red, #d01b1b);
}

body#product .product-additional-info .js-mailalert .alert-info,
body.page-product .product-additional-info .js-mailalert .alert-info {
  border-color: var(--dil-line, #ddd8ce);
  background: var(--dil-sand, #f7f4ee);
  color: var(--dil-ink, #151515);
}

/* Disponibilidad */
body#product #product-availability,
body.page-product #product-availability {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.65rem;
  color: var(--dil-red, #d01b1b);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body#product #product-availability .material-icons,
body.page-product #product-availability .material-icons {
  font-size: 1rem;
  line-height: 1;
}

/* Ocultar reassurances de ficha (envíos / asesoramiento / pago / stock) */
body#product .blockreassurance_product,
body.page-product .blockreassurance_product {
  display: none !important;
}

/* Ocultar comentarios de producto */
body#product #product-comments-list-header,
body.page-product #product-comments-list-header,
body#product #product-comments-list,
body.page-product #product-comments-list,
body#product #empty-product-comment,
body.page-product #empty-product-comment,
body#product #product-comments-list-footer,
body.page-product #product-comments-list-footer,
body#product #product-comments-list-pagination,
body.page-product #product-comments-list-pagination,
body#product .product-comments-additional-info,
body.page-product .product-comments-additional-info {
  display: none !important;
}

/* GDPR checkbox en producto */
body#product .gdpr_hook,
body.page-product .gdpr_hook {
  margin-top: 0.75rem;
  font-size: 0.8rem;
}

body#product .gdpr_hook a,
body.page-product .gdpr_hook a {
  color: var(--dil-ink, #151515) !important;
}

/* Tabs descripción / detalles – alineados con compartir */
body#product .tabs,
body.page-product .tabs {
  margin-top: 1.25rem;
  padding: 0 !important;
  background: transparent !important;
}

body#product .tabs .nav-tabs,
body.page-product .tabs .nav-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 1rem;
  border-bottom: 1px solid var(--dil-line, #ddd8ce);
  margin: 0 0 1.15rem;
  padding: 0;
}

body#product .tabs .nav-tabs .nav-item,
body.page-product .tabs .nav-tabs .nav-item {
  float: none;
  margin: 0;
}

body#product .tabs .nav-tabs .nav-link,
body.page-product .tabs .nav-tabs .nav-link {
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  margin: 0;
  padding: 0.65rem 0;
  color: var(--dil-muted, #7a7a7a);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: transparent;
}

body#product .tabs .nav-tabs .nav-link.active,
body.page-product .tabs .nav-tabs .nav-link.active,
body#product .tabs .nav-tabs .nav-link:hover,
body.page-product .tabs .nav-tabs .nav-link:hover {
  color: var(--dil-black, #000);
  border-bottom-color: var(--dil-black, #000);
  background: transparent;
}

body#product .tabs .tab-content,
body.page-product .tabs .tab-content {
  padding: 0;
}

body#product .tabs .tab-pane,
body.page-product .tabs .tab-pane {
  padding: 0 !important;
  color: #3a3a3a;
  font-size: 0.9rem;
  line-height: 1.55;
  text-align: left !important;
}

body#product .tabs .tab-pane .product-description,
body.page-product .tabs .tab-pane .product-description,
body#product .tabs .tab-pane .product-description h1,
body.page-product .tabs .tab-pane .product-description h1,
body#product .tabs .tab-pane .product-description h2,
body.page-product .tabs .tab-pane .product-description h2,
body#product .tabs .tab-pane .product-description h3,
body.page-product .tabs .tab-pane .product-description h3,
body#product .tabs .tab-pane .product-description h4,
body.page-product .tabs .tab-pane .product-description h4,
body#product .tabs .tab-pane .product-description p,
body.page-product .tabs .tab-pane .product-description p,
body#product .tabs .tab-pane .product-description div,
body.page-product .tabs .tab-pane .product-description div,
body#product .tabs .tab-pane .product-description li,
body.page-product .tabs .tab-pane .product-description li {
  text-align: left !important;
}

body#product .product-features,
body.page-product .product-features {
  margin: 0;
}

body#product .product-features > dl.data-sheet,
body.page-product .product-features > dl.data-sheet {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 0;
  margin: 0;
  border: 1px solid var(--dil-line, #ddd8ce);
}

body#product .product-features .name,
body.page-product .product-features .name,
body#product .product-features .value,
body.page-product .product-features .value {
  margin: 0;
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid var(--dil-line, #ddd8ce);
  font-size: 0.82rem;
}

body#product .product-features .name,
body.page-product .product-features .name {
  background: var(--dil-sand, #f7f4ee);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.72rem;
}

/* Relacionados / más vistos / misma categoría / cross-sell / accesorios
   ps_categoryproducts: <section><div>… (sin .products / .featured-products) */
body#product .featured-products,
body.page-product .featured-products,
body#product section.product-accessories,
body.page-product section.product-accessories,
body#product .product-accessories,
body.page-product .product-accessories,
body#product #main > section:has(.product-miniature),
body.page-product #main > section:has(.product-miniature) {
  margin-top: 2.75rem;
  clear: both;
}

body#product .featured-products > h2,
body.page-product .featured-products > h2,
body#product section.product-accessories > h3,
body.page-product section.product-accessories > h3,
body#product .product-accessories .h3,
body.page-product .product-accessories .h3,
body#product .featured-products .products-section-title,
body.page-product .featured-products .products-section-title,
body#product #main > section:has(.product-miniature) > h2,
body.page-product #main > section:has(.product-miniature) > h2 {
  margin: 0 0 1.5rem !important;
  padding: 0;
  font-family: var(--dil-font-display, Oswald, Montserrat, sans-serif);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--dil-black, #000);
  text-align: left;
}

body#product .featured-products .products,
body.page-product .featured-products .products,
body#product .product-accessories .products,
body.page-product .product-accessories .products,
body#product #main > section > .products,
body.page-product #main > section > .products,
body#product #main > section > div:has(> .js-product),
body.page-product #main > section > div:has(> .js-product),
body#product #main > section > div:has(> .product),
body.page-product #main > section > div:has(> .product) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent;
  border: 0;
  justify-content: stretch !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

/* Anular col-* Bootstrap (padding lateral = huecos) – igual que catálogo */
body#product .featured-products .products .product,
body.page-product .featured-products .products .product,
body#product .product-accessories .products .product,
body.page-product .product-accessories .products .product,
body#product .featured-products .products > .js-product,
body.page-product .featured-products .products > .js-product,
body#product .featured-products .products > [class*='col-'],
body.page-product .featured-products .products > [class*='col-'],
body#product .product-accessories .products > [class*='col-'],
body.page-product .product-accessories .products > [class*='col-'],
body#product #main > section .js-product,
body.page-product #main > section .js-product,
body#product #main > section .product,
body.page-product #main > section .product,
body#product #main > section [class*='col-'].product,
body.page-product #main > section [class*='col-'].product,
body#product #main > section [class*='col-'].js-product,
body.page-product #main > section [class*='col-'].js-product {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  flex-basis: auto !important;
  margin: 0 !important;
  margin-right: -1px !important;
  margin-bottom: -1px !important;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: var(--dil-white, #fff);
  box-sizing: border-box !important;
}

body#product .featured-products .product-miniature,
body.page-product .featured-products .product-miniature,
body#product .product-accessories .product-miniature,
body.page-product .product-accessories .product-miniature,
body#product #main > section .product-miniature,
body.page-product #main > section .product-miniature {
  margin: 0;
  height: 100%;
}

body#product .featured-products .product-miniature .thumbnail-container,
body.page-product .featured-products .product-miniature .thumbnail-container,
body#product .product-accessories .product-miniature .thumbnail-container,
body.page-product .product-accessories .product-miniature .thumbnail-container,
body#product #main > section .product-miniature .thumbnail-container,
body.page-product #main > section .product-miniature .thumbnail-container,
body#product #content-wrapper .product-miniature .thumbnail-container,
body.page-product #content-wrapper .product-miniature .thumbnail-container {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  margin: 0 !important;
  overflow: visible !important;
  border: 1px solid var(--dil-line, #ddd8ce) !important;
  box-shadow: none !important;
  background: var(--dil-white, #fff);
  box-sizing: border-box !important;
}

body#product .featured-products .product-miniature .thumbnail-top,
body.page-product .featured-products .product-miniature .thumbnail-top,
body#product .product-accessories .product-miniature .thumbnail-top,
body.page-product .product-accessories .product-miniature .thumbnail-top,
body#product #main > section .product-miniature .thumbnail-top,
body.page-product #main > section .product-miniature .thumbnail-top {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--dil-white, #fff);
}

body#product .featured-products .product-miniature .product-thumbnail,
body.page-product .featured-products .product-miniature .product-thumbnail,
body#product .product-accessories .product-miniature .product-thumbnail,
body.page-product .product-accessories .product-miniature .product-thumbnail,
body#product #main > section .product-miniature .product-thumbnail,
body.page-product #main > section .product-miniature .product-thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 1rem;
  box-sizing: border-box;
}

body#product .featured-products .product-miniature .product-thumbnail img,
body.page-product .featured-products .product-miniature .product-thumbnail img,
body#product .product-accessories .product-miniature .product-thumbnail img,
body.page-product .product-accessories .product-miniature .product-thumbnail img,
body#product #main > section .product-miniature .product-thumbnail img,
body.page-product #main > section .product-miniature .product-thumbnail img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

body#product .featured-products .product-miniature .highlighted-informations,
body.page-product .featured-products .product-miniature .highlighted-informations,
body#product .product-accessories .product-miniature .highlighted-informations,
body.page-product .product-accessories .product-miniature .highlighted-informations,
body#product #main > section .product-miniature .highlighted-informations,
body.page-product #main > section .product-miniature .highlighted-informations {
  display: none !important;
}

body#product .featured-products .product-list-reviews,
body.page-product .featured-products .product-list-reviews,
body#product .product-accessories .product-list-reviews,
body.page-product .product-accessories .product-list-reviews {
  display: none !important;
}

body#product .featured-products .product-miniature .wishlist-button,
body.page-product .featured-products .product-miniature .wishlist-button,
body#product .product-accessories .product-miniature .wishlist-button,
body.page-product .product-accessories .product-miniature .wishlist-button {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 3;
}

/* Wishlist relacionados: estilo en css_base */

/* Flags miniaturas relacionadas – igual que catálogo */
body#product .featured-products .product-miniature .product-flags,
body.page-product .featured-products .product-miniature .product-flags,
body#product .product-accessories .product-miniature .product-flags,
body.page-product .product-accessories .product-miniature .product-flags {
  position: absolute !important;
  top: 0.55rem !important;
  left: 0.55rem !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 6 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: auto !important;
  max-width: calc(100% - 3.5rem) !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0.2rem;
  overflow: visible !important;
  pointer-events: none;
}

body#product .featured-products .product-miniature .product-flags .product-flag,
body.page-product .featured-products .product-miniature .product-flags .product-flag,
body#product .product-accessories .product-miniature .product-flags .product-flag,
body.page-product .product-accessories .product-miniature .product-flags .product-flag,
body#product .featured-products .product-miniature .product-flags li.product-flag,
body.page-product .featured-products .product-miniature .product-flags li.product-flag,
body#product .product-accessories .product-miniature .product-flags li.product-flag,
body.page-product .product-accessories .product-miniature .product-flags li.product-flag {
  display: inline-flex !important;
  align-items: center;
  pointer-events: auto;
  margin: 0 !important;
  background: var(--dil-red, #d01b1b) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.22rem 0.35rem !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  line-height: 1.15;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow: visible !important;
}

body#product .featured-products .product-miniature .product-flags li.product-flag.on-sale,
body.page-product .featured-products .product-miniature .product-flags li.product-flag.on-sale,
body#product .product-accessories .product-miniature .product-flags li.product-flag.on-sale,
body.page-product .product-accessories .product-miniature .product-flags li.product-flag.on-sale,
body#product .featured-products .product-miniature .product-flags li.product-flag.discount,
body.page-product .featured-products .product-miniature .product-flags li.product-flag.discount,
body#product .product-accessories .product-miniature .product-flags li.product-flag.discount,
body.page-product .product-accessories .product-miniature .product-flags li.product-flag.discount,
body#product .featured-products .product-miniature .product-flags li.product-flag.out-of-stock,
body.page-product .featured-products .product-miniature .product-flags li.product-flag.out-of-stock,
body#product .product-accessories .product-miniature .product-flags li.product-flag.out-of-stock,
body.page-product .product-accessories .product-miniature .product-flags li.product-flag.out-of-stock {
  width: auto !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  text-align: left !important;
  white-space: nowrap;
  order: 0 !important;
}

/* Pie fijo: misma altura en todas las tarjetas */
body#product .featured-products .product-miniature .product-description,
body.page-product .featured-products .product-miniature .product-description,
body#product .product-accessories .product-miniature .product-description,
body.page-product .product-accessories .product-miniature .product-description,
body#product #main > section .product-miniature .product-description,
body.page-product #main > section .product-miniature .product-description {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto !important;
  box-sizing: border-box;
  height: 8.25rem !important;
  min-height: 8.25rem !important;
  max-height: 8.25rem !important;
  margin: 0 !important;
  padding: 0.9rem 0.95rem 1rem !important;
  background: var(--dil-sand, #f7f4ee) !important;
  position: static !important;
  width: 100% !important;
  bottom: auto !important;
  box-shadow: none !important;
  overflow: hidden;
}

body#product .featured-products .product-miniature .product-description::after,
body.page-product .featured-products .product-miniature .product-description::after {
  display: none !important;
  content: none !important;
}

body#product .featured-products .product-miniature .product-title,
body.page-product .featured-products .product-miniature .product-title,
body#product .product-accessories .product-miniature .product-title,
body.page-product .product-accessories .product-miniature .product-title,
body#product #main > section .product-miniature .product-title,
body.page-product #main > section .product-miniature .product-title {
  margin: 0 0 0.75rem !important;
  height: 2.6em !important;
  max-height: 2.6em !important;
  font-family: var(--dil-font, Montserrat, system-ui, sans-serif);
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase !important;
  text-align: left !important;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

body#product .featured-products .product-miniature .product-title a,
body.page-product .featured-products .product-miniature .product-title a,
body#product .product-accessories .product-miniature .product-title a,
body.page-product .product-accessories .product-miniature .product-title a,
body#product #main > section .product-miniature .product-title a,
body.page-product #main > section .product-miniature .product-title a {
  color: var(--dil-ink, #151515) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

body#product .featured-products .product-miniature .product-title a:hover,
body.page-product .featured-products .product-miniature .product-title a:hover,
body#product .product-accessories .product-miniature .product-title a:hover,
body.page-product .product-accessories .product-miniature .product-title a:hover {
  color: var(--dil-red, oklch(55% 0.19 27)) !important;
}

body#product .featured-products .product-miniature .product-price-and-shipping,
body.page-product .featured-products .product-miniature .product-price-and-shipping,
body#product .product-accessories .product-miniature .product-price-and-shipping,
body.page-product .product-accessories .product-miniature .product-price-and-shipping,
body#product #main > section .product-miniature .product-price-and-shipping,
body.page-product #main > section .product-miniature .product-price-and-shipping {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.5rem;
  margin-top: auto;
  text-align: left;
}

body#product .featured-products .product-miniature .price,
body.page-product .featured-products .product-miniature .price,
body#product .product-accessories .product-miniature .price,
body.page-product .product-accessories .product-miniature .price,
body#product #main > section .product-miniature .price,
body.page-product #main > section .product-miniature .price {
  color: var(--dil-black, #000);
  font-size: 0.95rem;
  font-weight: 700;
}

body#product .featured-products .product-miniature .regular-price,
body.page-product .featured-products .product-miniature .regular-price {
  color: var(--dil-muted, #7a7a7a);
  font-size: 0.78rem;
  text-decoration: line-through;
}

/* ==========================================================================
   Tablet ≤ 991px
   ========================================================================== */

@media (max-width: 991px) {
  body#product .product-container > .col-md-6,
  body.page-product .product-container > .col-md-6,
  body#product .product-container > .col-md-6:first-child,
  body.page-product .product-container > .col-md-6:first-child,
  body#product .product-container > .col-md-6:last-child,
  body.page-product .product-container > .col-md-6:last-child {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 0;
    padding-right: 0;
  }

  body#product .product-container > .col-md-6:first-child,
  body.page-product .product-container > .col-md-6:first-child {
    margin-bottom: 1.5rem;
  }

  body#product .product-container .h1,
  body.page-product .product-container .h1 {
    font-size: 2rem;
  }

  body#product .current-price-value,
  body.page-product .current-price-value {
    font-size: 1.85rem;
  }

  body#product .featured-products .products,
  body.page-product .featured-products .products,
  body#product .product-accessories .products,
  body.page-product .product-accessories .products,
  body#product #main > section > .products,
  body.page-product #main > section > .products,
  body#product #main > section > div:has(> .js-product),
  body.page-product #main > section > div:has(> .js-product),
  body#product #main > section > div:has(> .product),
  body.page-product #main > section > div:has(> .product) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body#product .featured-products .products .product,
  body.page-product .featured-products .products .product,
  body#product .product-accessories .products .product,
  body.page-product .product-accessories .products .product,
  body#product #main > section .js-product,
  body.page-product #main > section .js-product,
  body#product #main > section .product,
  body.page-product #main > section .product {
    width: auto !important;
  }
}

/* ==========================================================================
   Móvil ≤ 767px
   ========================================================================== */

@media (max-width: 767px) {
  body#product .breadcrumb,
  body.page-product .breadcrumb {
    margin-bottom: 0.9rem;
  }

  body#product .product-container .h1,
  body.page-product .product-container .h1 {
    font-size: 1.75rem;
    padding-right: 3.25rem;
  }

  body#product .current-price-value,
  body.page-product .current-price-value {
    font-size: 1.65rem;
  }

  /* Wishlist a la derecha del título */
  body#product .product-container > .col-md-6:last-child,
  body.page-product .product-container > .col-md-6:last-child {
    position: relative;
  }

  body#product .product-quantity .wishlist-button,
  body.page-product .product-quantity .wishlist-button {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    margin: 0;
    align-self: auto;
  }

  body#product .product-quantity .wishlist-button-add,
  body.page-product .product-quantity .wishlist-button-add,
  body#product .product-quantity .wishlist-button-product,
  body.page-product .product-quantity .wishlist-button-product,
  body#product .product-quantity button.wishlist-button-add,
  body.page-product .product-quantity button.wishlist-button-add {
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    align-self: auto;
  }

  body#product .product-quantity,
  body.page-product .product-quantity {
    flex-direction: row;
  }

  body#product .product-quantity .add,
  body.page-product .product-quantity .add {
    flex: 1 1 calc(100% - 5.5rem);
    min-width: 10rem;
  }

  body#product .product-quantity .add-to-cart,
  body.page-product .product-quantity .add-to-cart {
    width: 100%;
  }

  body#product .social-sharing,
  body.page-product .social-sharing {
    flex-direction: column;
    align-items: flex-start;
  }

  body#product .thumb-container .thumb,
  body.page-product .thumb-container .thumb {
    width: 3.6rem;
    height: 3.6rem;
  }

  /* Flechas galería: a los lados de la imagen (no abajo con miniaturas) */
  body#product .js-qv-mask.scroll,
  body.page-product .js-qv-mask.scroll {
    width: 100% !important;
    margin: 0 !important;
  }

  body#product .product-cover .scroll-box-arrows,
  body.page-product .product-cover .scroll-box-arrows {
    display: block !important;
    position: static;
  }

  body#product .product-cover .scroll-box-arrows i,
  body.page-product .product-cover .scroll-box-arrows i {
    position: absolute;
    top: 50%;
    bottom: auto;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    margin: 0;
    padding: 0;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--dil-line, #ddd8ce);
    color: var(--dil-black, #000);
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }

  body#product .product-cover .scroll-box-arrows .left,
  body.page-product .product-cover .scroll-box-arrows .left {
    left: 0.45rem;
    right: auto;
  }

  body#product .product-cover .scroll-box-arrows .right,
  body.page-product .product-cover .scroll-box-arrows .right {
    right: 0.45rem;
    left: auto;
  }

  body#product .product-cover .scroll-box-arrows i:active,
  body.page-product .product-cover .scroll-box-arrows i:active {
    background: var(--dil-yellow, #fccf27);
    border-color: var(--dil-yellow, #fccf27);
  }

  /* Fuera del cover (desktop o sin JS): ocultar en móvil */
  body#product #content > .scroll-box-arrows,
  body.page-product #content > .scroll-box-arrows {
    display: none !important;
  }

  body#product .product-features > dl.data-sheet,
  body.page-product .product-features > dl.data-sheet {
    grid-template-columns: 1fr;
  }

  body#product .featured-products .products,
  body.page-product .featured-products .products,
  body#product .product-accessories .products,
  body.page-product .product-accessories .products,
  body#product #main > section > .products,
  body.page-product #main > section > .products,
  body#product #main > section > div:has(> .js-product),
  body.page-product #main > section > div:has(> .js-product),
  body#product #main > section > div:has(> .product),
  body.page-product #main > section > div:has(> .product) {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    margin: 0 calc(-1 * var(--dil-layout-padding-x-mobile, 1rem)) !important;
    padding: 0.1rem 0 0.5rem !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    background: transparent;
    scrollbar-width: none;
  }

  body#product .featured-products .products::-webkit-scrollbar,
  body.page-product .featured-products .products::-webkit-scrollbar,
  body#product .product-accessories .products::-webkit-scrollbar,
  body.page-product .product-accessories .products::-webkit-scrollbar,
  body#product #main > section > .products::-webkit-scrollbar,
  body.page-product #main > section > .products::-webkit-scrollbar,
  body#product #main > section > div:has(> .js-product)::-webkit-scrollbar,
  body.page-product #main > section > div:has(> .js-product)::-webkit-scrollbar {
    display: none;
  }

  /* 1 producto = 100% del carrusel; el siguiente no asoma (swipe / autoavance) */
  body#product .featured-products .products .product,
  body.page-product .featured-products .products .product,
  body#product .product-accessories .products .product,
  body.page-product .product-accessories .products .product,
  body#product .featured-products .products > .js-product,
  body.page-product .featured-products .products > .js-product,
  body#product .product-accessories .products > .js-product,
  body.page-product .product-accessories .products > .js-product,
  body#product #main > section .js-product,
  body.page-product #main > section .js-product,
  body#product #main > section .product,
  body.page-product #main > section .product,
  body#product #main > section [class*='col-'].product,
  body.page-product #main > section [class*='col-'].product,
  body#product #main > section [class*='col-'].js-product,
  body.page-product #main > section [class*='col-'].js-product {
    float: none !important;
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 var(--dil-layout-padding-x-mobile, 1rem) !important;
    box-sizing: border-box !important;
    height: auto !important;
    align-self: flex-start !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  body#product .featured-products .product-miniature,
  body.page-product .featured-products .product-miniature,
  body#product .product-accessories .product-miniature,
  body.page-product .product-accessories .product-miniature,
  body#product #main > section .product-miniature,
  body.page-product #main > section .product-miniature,
  body#product .featured-products .product-miniature .thumbnail-container,
  body.page-product .featured-products .product-miniature .thumbnail-container,
  body#product .product-accessories .product-miniature .thumbnail-container,
  body.page-product .product-accessories .product-miniature .thumbnail-container,
  body#product #main > section .product-miniature .thumbnail-container,
  body.page-product #main > section .product-miniature .thumbnail-container {
    height: auto !important;
    min-height: 0 !important;
  }

  body#product .featured-products .product-miniature .product-description,
  body.page-product .featured-products .product-miniature .product-description,
  body#product .product-accessories .product-miniature .product-description,
  body.page-product .product-accessories .product-miniature .product-description,
  body#product #main > section .product-miniature .product-description,
  body.page-product #main > section .product-miniature .product-description {
    height: auto !important;
    min-height: 6.75rem !important;
    max-height: none !important;
  }

  body#product .featured-products .product-miniature .product-title,
  body.page-product .featured-products .product-miniature .product-title,
  body#product .product-accessories .product-miniature .product-title,
  body.page-product .product-accessories .product-miniature .product-title,
  body#product #main > section .product-miniature .product-title,
  body.page-product #main > section .product-miniature .product-title,
  body#product .featured-products .product-miniature .product-title a,
  body.page-product .featured-products .product-miniature .product-title a,
  body#product .product-accessories .product-miniature .product-title a,
  body.page-product .product-accessories .product-miniature .product-title a,
  body#product #main > section .product-miniature .product-title a,
  body.page-product #main > section .product-miniature .product-title a {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    word-break: break-word;
  }

  body#product .featured-products > h2,
  body.page-product .featured-products > h2,
  body#product #main > section:has(.product-miniature) > h2,
  body.page-product #main > section:has(.product-miniature) > h2 {
    margin-bottom: 1.15rem !important;
    font-size: 1.05rem;
  }
}
