/* Título producto: anula capitalize/uppercase del template Impreza */
.single-product .w-post-elm.post_title.entry-title,
.single-product .product_title {
  text-transform: none !important;
}

/* Botón Personalizar fijo en móvil; se oculta al ver la imagen (clase .hide-sticky) */
@media screen and (max-width: 600px) {
  .single-product .single_add_to_cart_button {
    transition: opacity 0.3s, transform 0.3s;
    position: fixed !important;
    bottom: 30px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 40px) !important;
    max-width: 400px !important;
    border-radius: 10px !important;
    z-index: 9999 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
  }

  .single-product .single_add_to_cart_button.hide-sticky {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(20px) !important;
  }

  /* Lightbox abierto: ocultar siempre (sin depender solo del JS) */
  body:has(.pswp--open) .single-product .single_add_to_cart_button,
  body.pswp-open-in-css .single-product .single_add_to_cart_button,
  body.cp-lightbox-open .single-product .single_add_to_cart_button {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* PhotoSwipe por encima del sticky */
  .pswp {
    z-index: 10050 !important;
  }

  /* Lupa siempre visible en móvil (Impreza la deja en opacity:0 sin hover) */
  .single-product .woocommerce-product-gallery__trigger {
    opacity: 1 !important;
    z-index: 5 !important;
    background: rgba(0, 0, 0, 0.35);
    border-radius: 0 0 0 8px;
  }
}

/* Miniaturas de la galería en móvil: 4 por fila, sin scroll horizontal.
   Anula el CSS de Impreza (60px + nowrap). */
@media (max-width: 767px) {
  .single-product .woocommerce-product-gallery {
    --gallery-thumb-columns: 4;
    --gallery-thumb-gap: 8px;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs,
  .single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs,
  .single-product .woocommerce-product-gallery ol:not(.flex-direction-nav) {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    white-space: normal !important;
    gap: var(--gallery-thumb-gap, 8px) !important;
    touch-action: manipulation;
  }

  .single-product .woocommerce-product-gallery ol > li,
  .single-product .woocommerce-product-gallery .flex-control-thumbs > li {
    width: calc(
      (100% - var(--gallery-thumb-gap, 8px) * (var(--gallery-thumb-columns, 4) - 1))
      / var(--gallery-thumb-columns, 4)
    ) !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 calc(
      (100% - var(--gallery-thumb-gap, 8px) * (var(--gallery-thumb-columns, 4) - 1))
      / var(--gallery-thumb-columns, 4)
    ) !important;
    margin: 0 !important;
    float: none !important;
  }

  .single-product .woocommerce-product-gallery ol > li img,
  .single-product .woocommerce-product-gallery .flex-control-thumbs > li img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    display: block;
  }
}
