/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */




/* Deshabilitar la opción de expandir (resize) para todos los campos de textarea */
textarea {
    resize: none !important;
}






/* Ocultar flechas (spinners) en input type="number" — Teléfono */
input[name="form_fields[telefono]"]::-webkit-outer-spin-button,
input[name="form_fields[telefono]"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[name="form_fields[telefono]"] {
  -moz-appearance: textfield; /* Firefox */
  appearance: textfield;
}





/* OCULTAR FLECHAS CAMPO NUMER */
/* Chrome, Safari, Edge, Opera */
#form-field-monto::-webkit-outer-spin-button,
#form-field-monto::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
#form-field-monto{
  -moz-appearance: textfield;
  appearance: textfield;
}




/* Ocultar quantity cuando solamente hay 1 unidad disponible */
.tt-product-options form.cart:has(input.qty[max="1"]) .quantity {
	display: none !important;
}


/* Alinear botón cuando no aparece el quantity */
.tt-product-options form.cart:has(input.qty[max="1"])
.single_add_to_cart_button {
	margin-left: 0 !important;
}





/* OCULTAR FLECHAS DEL CHECKOUT EN CAMPOS NÚMERO */
/* Checkout: ocultar flechas (spinner) en el campo NIT (type="number") */
body.woocommerce-checkout #billing_nit_facturacion{
  -moz-appearance: textfield; /* Firefox */
  appearance: textfield;
}

/* Chrome, Edge, Safari */
body.woocommerce-checkout #billing_nit_facturacion::-webkit-outer-spin-button,
body.woocommerce-checkout #billing_nit_facturacion::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}








/* =========================================
   QUITAR FLECHAS EN INPUT NUMBER
========================================= */

/* Chrome, Safari, Edge, Opera */
.float input[type="number"]::-webkit-outer-spin-button,
.float input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.float input[type="number"]{
  -moz-appearance: textfield;
  appearance: textfield;
}









/* QUITAR BORDER EL FOCUS EN FORMULARIOS clase CSS: no-focus-line*/
/* SOLO formularios con la clase no-focus-line */
.no-focus-line .elementor-form input:focus,
.no-focus-line .elementor-form textarea:focus,
.no-focus-line .elementor-form select:focus,
.no-focus-line .elementor-field-group input:focus,
.no-focus-line .elementor-field-group textarea:focus,
.no-focus-line .elementor-field-group select:focus {
  outline: none !important;
  box-shadow: none !important;
}









/* FORMULARIO SUSCRIBIRSE ANIMACIÓN DE LABELS*/
/* =========================================
   Floating Label (Elementor Form)
   Clase widget: float
   Estructura: label + input dentro de .elementor-field-group
   ========================================= */

.float .elementor-field-group{
  position: relative;
}

/* Deja espacio arriba para el label cuando "sube" */
.float .elementor-field-textual{
  padding-top: 18px !important;
}

/* LABEL como placeholder (sobre el input) */
.float .elementor-field-group > .elementor-field-label{
  position: absolute;
  left: 20px;                 /* ajusta si tu input tiene padding diferente */
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  margin: 0 !important;
  opacity: .75;
  line-height: 1;
  transition: top .18s ease, transform .18s ease, opacity .18s ease, font-size .18s ease;
  z-index: 2;
}

/* Placeholder visible por defecto */
.float .elementor-field-textual::placeholder{
  opacity: 1;
  transition: opacity .15s ease;
}

/* Al enfocar o cuando hay texto: label sube */
.float .elementor-field-group.is-focus > .elementor-field-label,
.float .elementor-field-group.is-filled > .elementor-field-label{
  top: 3px;
  transform: translateY(0);
  opacity: 1;
  font-size: 12px !important;
}

/* Al enfocar o con texto: ocultar placeholder para que no choque */
.float .elementor-field-group.is-focus .elementor-field-textual::placeholder,
.float .elementor-field-group.is-filled .elementor-field-textual::placeholder{
  opacity: 0;
}



/* SUBIR LABEL DE MENSAJE */
/* =========================================
   FIX: Campo MENSAJE (textarea) - evitar que el texto se monte en el label
   Solo afecta .elementor-field-group-mensaje
========================================= */

/* Label en reposo arriba (ya lo tenías) */
.float .elementor-field-group-mensaje > .elementor-field-label{
  top: 14px !important;                 
  transform: translateY(0) !important;  
}

/* Dar MÁS espacio arriba dentro del textarea */
.float .elementor-field-group-mensaje textarea.elementor-field-textual{
  padding-top: 27px !important;   /* ajusta 32–44 */
  padding-bottom: 12px !important;
}

/* Responsive */
@media (max-width: 767px){
  .float .elementor-field-group-mensaje > .elementor-field-label{
    top: 14px !important;
    transform: translateY(0) !important;
  }

  .float .elementor-field-group-mensaje textarea.elementor-field-textual{
    padding-top: 27px !important; /* ajusta 36–48 */
    padding-bottom: 12px !important;
  }
}



/* RESPONSIVE DE LOS LABELS FLOTANTES EN FORMULARIO DE FOOTER SUSCRIBETE */
/* =========================================
   Floating Label (RESPONSIVE fine-tune)
   Solo móvil/tablet
   ========================================= */
@media (max-width: 767px){

  /* 1) Más espacio arriba para que el cursor/texto no quede pegado al label */
  .float .elementor-field-textual{
    padding-top: 24px !important;  /* 👈 sube/baja: 22–28 */
    padding-bottom: 10px !important; /* opcional: más “aire” */
  }

  /* 2) Transición más suave (menos brusca) */
  .float .elementor-field-group > .elementor-field-label{
    transition:
      top .28s cubic-bezier(.2,.8,.2,1),
      transform .28s cubic-bezier(.2,.8,.2,1),
      opacity .22s ease,
      font-size .28s cubic-bezier(.2,.8,.2,1);
  }

  /* 3) Cuando sube: que suba un poco más (más separación visual) */
  .float .elementor-field-group.is-focus > .elementor-field-label,
  .float .elementor-field-group.is-filled > .elementor-field-label{
    top: 3px;          /* 👈 más arriba (antes 7px). Prueba 2–5 */
    font-size: 12px !important;   /* 👈 el tamaño que ya te gustó (ajustable) */
  }

  /* 4) (Opcional) En reposo, bajar un poquito el label para que se sienta centrado */
  .float .elementor-field-group > .elementor-field-label{
    top: 54%;          /* 👈 50% era perfecto en desktop; en móvil a veces se ve mejor 52–56 */
  }
}






/* =========================================
   CHECKOUT - Formulario en 2 columnas desktop
   Solo reorganización visual
========================================= */

@media (min-width: 1025px) {

  /* Evitar floats nativos de WooCommerce dentro del formulario */
  .gm-checkout-custom #customer_details .col-1,
  .gm-checkout-custom #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Billing en grid de 2 columnas */
  .gm-checkout-custom .woocommerce-billing-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Los campos dejan de forzar ancho completo */
  .gm-checkout-custom .woocommerce-billing-fields__field-wrapper > .form-row {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* Títulos ocupan toda la fila */
  .gm-checkout-custom #billing_datos_de_cliente_field,
  .gm-checkout-custom #billing_datos_de_facturacion_field {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-bottom: 6px !important;
    padding-left: 5px !important;
  }

  /* Datos de Cliente */
  .gm-checkout-custom #billing_first_name_field {
    grid-column: 1 !important;
  }

  .gm-checkout-custom #billing_last_name_field {
    grid-column: 2 !important;
  }

  .gm-checkout-custom #billing_phone_field {
    grid-column: 1 !important;
  }

  .gm-checkout-custom #billing_email_field {
    grid-column: 2 !important;
  }

  /* Separación entre Datos de Cliente y Datos de Facturación */
  .gm-checkout-custom #billing_datos_de_facturacion_field {
    margin-top: 28px !important;
  }

  /* Datos de Facturación */
  .gm-checkout-custom #billing_factura_a_nombre_de_field {
    grid-column: 1 !important;
  }

  .gm-checkout-custom #billing_direccion_de_facturacion_field {
    grid-column: 2 !important;
  }

  .gm-checkout-custom #billing_nit_field {
    grid-column: 1 !important;
  }

  /* País sigue oculto */
  .gm-checkout-custom #billing_country_field {
    display: none !important;
  }

  /* Inputs llenan su celda */
  .gm-checkout-custom .woocommerce-billing-fields__field-wrapper input.input-text,
  .gm-checkout-custom .woocommerce-billing-fields__field-wrapper textarea.input-text,
  .gm-checkout-custom .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Mantener dirección diferente alineada con el inicio visual */
  .gm-checkout-custom #ship-to-different-address {
    margin-top: 28px !important;
    padding-left: 5px !important;
  }

  /* Notas debajo, ancho completo */
  .gm-checkout-custom #order_comments_field {
    width: 100% !important;
    margin-top: 18px !important;
  }
}


/* Ocultar selector de dirección diferente */
#ship-to-different-address {
  display: none !important;
}
/* Alinear título Datos de Envío */
#shipping_datos_de_envio_field {
  padding-left: 5px !important;
}








/* EFECTO DE HOVER EN CARDS DE INICIO DE SERVICIOS */
/* =========================================
   SERVICIOS: mostrar "Información" solo en hover (ESCRITORIO)
   Clases:
   - Padre: servicios-hover
   - Tarjetas (Imagen 1/2/3): srv-card
   - Overlay info: srv-info
========================================= */

@media (min-width: 1025px){

  /* Cada tarjeta debe servir de referencia para el overlay */
  .servicios-hover .srv-card{
    position: relative;
    overflow: hidden; /* respeta bordes redondeados */
  }

  /* El bloque de info se vuelve overlay y arranca oculto */
  .servicios-hover .srv-card .srv-info{
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: opacity .35s ease, visibility .35s ease;
  }

  /* Mostrar al pasar el mouse o al enfocar algo dentro (teclado) */
  .servicios-hover .srv-card:hover .srv-info,
  .servicios-hover .srv-card:focus-within .srv-info{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

}










/* REDUCIR ESPACIO ENTRE BOTONES DE SHARE PLANTILLA BLOGS SINGLE POST */
/* Share Buttons: íconos más juntos (solo donde pongas .share-compact) */
.share-compact .elementor-grid{
  --grid-column-gap: 0px; /* <-- ajusta este valor */
  --grid-row-gap: 3px;
   /* o flex-start si los quieres pegados a la izquierda */
}

/* Por si Elementor mete márgenes extra en items/botones */
.share-compact .elementor-grid-item,
.share-compact .elementor-share-btn{
  margin: -4px !important;
}















/* =========================================
   CHECKOUT CUSTOM LAYOUT
   Clase en widget Checkout: gm-checkout-custom
========================================= */

.gm-checkout-custom,
.gm-checkout-custom * {
  box-sizing: border-box;
}

/* Contenedor principal del checkout */
.gm-checkout-custom form.checkout .e-checkout__container {
  display: grid !important;
  grid-template-columns: minmax(280px, 36%) minmax(0, 1fr);
  column-gap: 48px;
  align-items: start;
  width: 100%;
}

/* Permitimos reordenar los bloques internos sin ocultar nada */
.gm-checkout-custom .e-checkout__column-start,
.gm-checkout-custom .e-checkout__column-end,
.gm-checkout-custom .e-checkout__column-inner {
  display: contents !important;
}

/* Formulario de cliente: lado derecho */
.gm-checkout-custom #customer_details {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  max-width: 100%;
}

/* Resumen de compra: lado izquierdo y sticky */
.gm-checkout-custom .e-checkout__order_review {
  grid-column: 1;
  grid-row: 1 / span 4;
  align-self: start;
  position: sticky !important;
  top: 150px !important; /* ajusta si tu header fijo es más alto */
  z-index: 5;
  width: 100%;
  max-width: 100%;
  overflow: visible !important;
}

/* Asegurar que el título del resumen NO quede oculto */
.gm-checkout-custom .e-checkout__order_review #order_review_heading {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 0 !important;
  margin-bottom: 18px;
  position: relative;
  z-index: 6;
}

/* Tabla del resumen */
.gm-checkout-custom .e-checkout__order_review #order_review,
.gm-checkout-custom .e-checkout__order_review .woocommerce-checkout-review-order,
.gm-checkout-custom .e-checkout__order_review .woocommerce-checkout-review-order-table {
  width: 100%;
  max-width: 100%;
  overflow: visible !important;
}

/* Caja de cupón: visible, no ocultar */
.gm-checkout-custom .e-coupon-box {
  grid-column: 2;
  grid-row: 2;
  display: block !important;
  width: 100%;
  max-width: 100%;
  margin-top: 24px;
}

/* Método de pago y botón: lado derecho debajo del formulario/cupón */
.gm-checkout-custom .e-checkout__order_review-2 {
  grid-column: 2;
  grid-row: 3;
  width: 100%;
  max-width: 100%;
  margin-top: 24px;
}

/* Evitar que el sticky interno de Elementor interfiera */
.gm-checkout-custom .e-sticky-right-column,
.gm-checkout-custom .e-sticky-right-column--active {
  position: static !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* No ocultar ningún bloque funcional del checkout */
.gm-checkout-custom .woocommerce-billing-fields,
.gm-checkout-custom .woocommerce-billing-fields__field-wrapper,
.gm-checkout-custom .woocommerce-shipping-fields,
.gm-checkout-custom .woocommerce-additional-fields,
.gm-checkout-custom .woocommerce-additional-fields__field-wrapper,
.gm-checkout-custom .woocommerce-checkout-payment,
.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper,
.gm-checkout-custom .form-row,
.gm-checkout-custom .place-order {
  display: block;
  visibility: visible;
  opacity: 1;
}

/* Asegurar que campos y selects ocupen bien el ancho */
.gm-checkout-custom .form-row,
.gm-checkout-custom .woocommerce-input-wrapper,
.gm-checkout-custom input.input-text,
.gm-checkout-custom textarea.input-text,
.gm-checkout-custom .select2-container {
  width: 100% !important;
  max-width: 100%;
}

/* Forzar visibilidad del checkbox de términos SI WooCommerce lo renderiza */
.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper .form-row,
.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox,
.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper label.checkbox,
.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.gm-checkout-custom input#terms {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.gm-checkout-custom input#terms {
  width: auto !important;
  height: auto !important;
  margin-right: 8px !important;
  appearance: checkbox !important;
  -webkit-appearance: checkbox !important;
}

/* Responsive: en tablet/mobile todo vuelve a una columna */
@media (max-width: 1024px) {
  .gm-checkout-custom form.checkout .e-checkout__container {
    display: block !important;
  }

  .gm-checkout-custom .e-checkout__column-start,
  .gm-checkout-custom .e-checkout__column-end,
  .gm-checkout-custom .e-checkout__column-inner {
    display: block !important;
  }

  .gm-checkout-custom .e-checkout__order_review {
    position: static !important;
    width: 100%;
    margin-bottom: 32px;
  }

  .gm-checkout-custom #customer_details,
  .gm-checkout-custom .e-coupon-box,
  .gm-checkout-custom .e-checkout__order_review-2 {
    width: 100%;
    margin-top: 24px;
  }
}





/* =========================================
   CHECKOUT - AJUSTES FORMULARIO DERECHO
   Clase en widget Checkout: gm-checkout-custom
========================================= */

/* -----------------------------------------
   1. ORDEN Y ALINEACIÓN GENERAL
----------------------------------------- */

/* Grid con una fila superior para login y una fila alineada para resumen/formulario */
.gm-checkout-custom form.checkout .e-checkout__container {
  display: grid !important;
  grid-template-columns: minmax(280px, 36%) minmax(0, 1fr);
  grid-template-rows: auto auto auto auto;
  column-gap: 48px;
  align-items: start;
}

/* Mantener reordenamiento sin ocultar contenido */
.gm-checkout-custom .e-checkout__column-start,
.gm-checkout-custom .e-checkout__column-end,
.gm-checkout-custom .e-checkout__column-inner {
  display: contents !important;
}

/* Login arriba del formulario, lado derecho */
.gm-checkout-custom .e-woocommerce-login-section {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  max-width: 100%;
  margin: 0 0 18px;
  padding: 0;
}

/* Resumen alineado con el inicio real del formulario */
.gm-checkout-custom .e-checkout__order_review {
  grid-column: 1;
  grid-row: 2 / span 4;
  align-self: start;
  position: sticky !important;
  top: 120px !important;
  z-index: 5;
  width: 100%;
  max-width: 100%;
  overflow: visible !important;
}

/* Formulario derecho alineado con resumen */
.gm-checkout-custom #customer_details {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

/* Cupón y pago debajo del formulario */
.gm-checkout-custom .e-coupon-box {
  grid-column: 2;
  grid-row: 3;
  width: 100%;
  max-width: 100%;
  margin-top: 0px;
}




.gm-checkout-custom .e-checkout__order_review-2 {
  grid-column: 2;
  grid-row: 4;
  width: 100%;
  max-width: 100%;
  margin-top: -5px;
}



/* Compactar espacio entre cupón cerrado y método de pago */
.gm-checkout-custom .e-coupon-box {
  margin-bottom: 0 !important;
}

.gm-checkout-custom .e-coupon-box .e-woocommerce-coupon-nudge {
  margin-bottom: 0 !important;
}

.gm-checkout-custom #payment,
.gm-checkout-custom .woocommerce-checkout-payment,
.gm-checkout-custom .wc_payment_methods {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.gm-checkout-custom .wc_payment_methods {
  margin-bottom: 14px !important;
}

.gm-checkout-custom .wc_payment_method {
  margin-top: 0 !important;
  padding-top: 0 !important;
}






/* Evitar que el sticky interno de Elementor interfiera */
.gm-checkout-custom .e-sticky-right-column,
.gm-checkout-custom .e-sticky-right-column--active {
  position: static !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* -----------------------------------------
   2. HEADINGS DEL FORMULARIO
----------------------------------------- */

/* Títulos del resumen y del formulario con el mismo estilo */
.gm-checkout-custom #order_review_heading,
.gm-checkout-custom .form-heading,
.gm-checkout-custom .woocommerce-billing-fields h3,
.gm-checkout-custom .woocommerce-shipping-fields h3,
.gm-checkout-custom .woocommerce-additional-fields h3,
.gm-checkout-custom .woocommerce-checkout-payment h3 {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: "Anton" !important;
  text-transform: uppercase !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
  /*font-weight: 700 !important;*/
  letter-spacing: 0 !important;
}



/* Ajuste fino de títulos internos del checkout */
.gm-checkout-custom #billing_datos_de_cliente_field,
.gm-checkout-custom #billing_datos_de_facturacion_field {
	padding-left: 5px !important;
  margin-bottom: 5px !important;
}

/* Separar Datos de Facturación del formulario anterior */
.gm-checkout-custom #billing_datos_de_facturacion_field {
  margin-top: 25px !important;
}





/* Los h4 personalizados vienen como form-row; quitamos comportamiento de campo */
.gm-checkout-custom .form-heading.form-row {
  float: none !important;
  clear: both !important;
  width: 100% !important;
}

/* Evitar espacio raro del h3 vacío de WooCommerce */
.gm-checkout-custom .woocommerce-billing-fields > h3:empty,
.gm-checkout-custom .woocommerce-additional-fields > h3:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------
   3. LOGIN SUPERIOR
----------------------------------------- */

.gm-checkout-custom .e-woocommerce-login-section .woocommerce-form-login-toggle {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #2B2B2B;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
}

.gm-checkout-custom .e-woocommerce-login-section .woocommerce-form-login-toggle a {
  color: #000;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.gm-checkout-custom .e-woocommerce-login-anchor {
  margin: 0 0 20px !important;
  padding: 18px;
  background: #F5F5F5;
  border-radius: 0px !important;
}

/* Si el cliente ya inició sesión y WooCommerce no imprime login,
   el formulario igual queda alineado porque grid-row 1 queda vacío. */

/* -----------------------------------------
   4. CHECKBOX DIRECCIÓN DIFERENTE
----------------------------------------- */

/* Compactar el bloque completo */
/*.gm-checkout-custom #ship-to-different-address {
  margin: 18px 0 14px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}*/

/* Compactar el bloque completo */
.gm-checkout-custom #ship-to-different-address {
  margin: 18px 0 14px !important;
  padding-left: 35px !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.2 !important;
}

/* Label compacto y alineado */
.gm-checkout-custom #ship-to-different-address label {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer;
}

/* Checkbox visible y con tamaño normal */
.gm-checkout-custom #ship-to-different-address-checkbox {
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  appearance: checkbox !important;
  -webkit-appearance: checkbox !important;
}

/* Texto del checkbox */
.gm-checkout-custom #ship-to-different-address span {
  color: #000;
  font-family: "Poppins" !important;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 600;
}

/* Reducir separación cuando se abre la dirección de entrega */
.gm-checkout-custom .shipping_address {
  margin-top: 14px !important;
}

/* LINK POLITICAS DE PRIVACIDAD */
.gm-checkout-custom .woocommerce-privacy-policy-link {
	font-family: "Poppins" !important;
}

/* -----------------------------------------
   5. ASEGURAR QUE NADA DEL FORMULARIO SE OCULTE
----------------------------------------- */

.gm-checkout-custom .woocommerce-billing-fields,
.gm-checkout-custom .woocommerce-billing-fields__field-wrapper,
.gm-checkout-custom .woocommerce-shipping-fields,
.gm-checkout-custom .woocommerce-shipping-fields__field-wrapper,
.gm-checkout-custom .woocommerce-additional-fields,
.gm-checkout-custom .woocommerce-additional-fields__field-wrapper,
.gm-checkout-custom .woocommerce-checkout-payment,
.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper,
.gm-checkout-custom .form-row,
.gm-checkout-custom .place-order {
  visibility: visible;
  opacity: 1;
}

/* -----------------------------------------
   6. CHECKBOX DE TÉRMINOS SI WOO LO RENDERIZA
----------------------------------------- */

/* Esto solo aplica si WooCommerce imprime el input #terms.
   En el HTML actual todavía no aparece ese input. */
.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper .form-row,
.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper label.checkbox,
.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  visibility: visible !important;
  opacity: 1 !important;
}

.gm-checkout-custom .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.gm-checkout-custom input#terms {
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 3px 8px 0 0 !important;
  appearance: checkbox !important;
  -webkit-appearance: checkbox !important;
}




/* Mostrar radio del método de pago aunque WooCommerce lo oculte */
.gm-checkout-custom #payment .wc_payment_methods input.input-radio {
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 8px 0 0 !important;
  appearance: radio !important;
  -webkit-appearance: radio !important;
}

/* Alinear radio + texto del método */
/*.gm-checkout-custom #payment .wc_payment_method > label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 16px !important;
  cursor: pointer;
}*/





/* =========================================
   CHECKOUT - OCULTAR CAMPOS PAÍS / REGIÓN
   Billing + Shipping
========================================= */

.gm-checkout-custom #billing_country_field,
.gm-checkout-custom #shipping_country_field {
  display: none !important;
}



/* -----------------------------------------
   RESPONSIVE
----------------------------------------- */

@media (max-width: 1024px) {
  .gm-checkout-custom form.checkout .e-checkout__container {
    display: block !important;
  }

  .gm-checkout-custom .e-checkout__column-start,
  .gm-checkout-custom .e-checkout__column-end,
  .gm-checkout-custom .e-checkout__column-inner {
    display: block !important;
  }

  .gm-checkout-custom .e-woocommerce-login-section,
  .gm-checkout-custom #customer_details,
  .gm-checkout-custom .e-coupon-box,
  .gm-checkout-custom .e-checkout__order_review-2 {
    width: 100%;
    margin-top: 0;
  }

  .gm-checkout-custom .e-checkout__order_review {
    position: static !important;
    width: 100%;
    margin-bottom: 32px;
  }

  .gm-checkout-custom #order_review_heading,
  .gm-checkout-custom .form-heading,
  .gm-checkout-custom .woocommerce-billing-fields h3,
  .gm-checkout-custom .woocommerce-shipping-fields h3,
  .gm-checkout-custom .woocommerce-additional-fields h3,
  .gm-checkout-custom .woocommerce-checkout-payment h3 {
    font-size: 22px !important;
  }
}







/* =========================================
 * 
   CHECKOUT - AJUSTE FINO DE ESPACIADOS
   No cambia colores, fuentes ni estilos visuales
========================================= */

/* -----------------------------------------
   1. REORDENAR LOGIN / RESUMEN / FORMULARIO
----------------------------------------- */

/* El resumen y el login arrancan en la misma fila */
.gm-checkout-custom .e-checkout__order_review {
  grid-column: 1;
  grid-row: 1 / span 5;
}

/* Login alineado al nivel del título "Resumen de compra" */
.gm-checkout-custom .e-woocommerce-login-section {
  grid-column: 2;
  grid-row: 1;
  margin: 0 0 10px !important;
  padding: 0 !important;
  align-self: start;
}

/* El formulario empieza justo debajo del login, con poco espacio */
.gm-checkout-custom #customer_details {
  grid-column: 2;
  grid-row: 2;
  margin: 0 !important;
  padding: 0 !important;
}

/* Si el login no existe, el formulario sube y queda alineado con el resumen */
.gm-checkout-custom .e-checkout__container:not(:has(.e-woocommerce-login-section)) #customer_details {
  grid-row: 1;
	 margin-top: 15px !important;
}

/* Reducir espacio interno del aviso de login */
.gm-checkout-custom .e-woocommerce-login-section .woocommerce-form-login-toggle {
  margin: 0 0 8px !important;
  padding: 0 !important;
}

/* Si se abre el login, que no genere una separación enorme */
.gm-checkout-custom .e-woocommerce-login-anchor {
  margin: 8px 0 12px !important;
}

/* El título Datos de Cliente no debe quedar lejos del login */
.gm-checkout-custom #customer_details .form-heading:first-of-type {
  margin-top: 35px !important;
}








/* =========================================
   CHECKOUT - ALINEAR LOGIN CON FORMULARIO
   Solo corrige alineación horizontal y espaciado
========================================= */

/* Mover el login al mismo inicio visual que los campos */
.gm-checkout-custom .e-woocommerce-login-section {
  padding-left: 30px !important;
}

/* Asegurar que el texto interno no se centre ni se desplace raro */
.gm-checkout-custom .e-woocommerce-login-section .woocommerce-form-login-toggle {
  text-align: left !important;
  width: 100%;
}

/* Si se abre el formulario de login, también queda alineado */
.gm-checkout-custom .e-woocommerce-login-anchor {
  width: 100%;
}

/* Responsive: no desplazar en tablet/mobile */
@media (max-width: 1024px) {
  .gm-checkout-custom .e-woocommerce-login-section {
    padding-left: 0 !important;
  }
}



/* =========================================
   CHECKOUT - BAJAR LOGIN AL NIVEL DEL RESUMEN
========================================= */

/* Baja el bloque de iniciar sesión sin mover los campos */
.gm-checkout-custom .e-woocommerce-login-section {
  margin-top: 20px !important;
  margin-bottom: 10px !important;
}

/* Mantener el texto del login compacto */
.gm-checkout-custom .e-woocommerce-login-section .woocommerce-form-login-toggle {
  margin-bottom: 8px !important;
}









/* =========================================
   CHECKOUT - ALINEAR DIRECCIÓN DIFERENTE Y CUPÓN
   Solo corrige alineación horizontal
========================================= */

/* Mismo inicio visual que los campos del formulario */
/*.gm-checkout-custom #ship-to-different-address,*/
.gm-checkout-custom .e-coupon-box {
  padding-left: 30px !important;
}

/* Que el contenido desplegado de dirección de entrega siga alineado con campos */
.gm-checkout-custom .shipping_address {
  padding-left: 30px !important;
}

/* El contenido interno no debe encogerse raro */
.gm-checkout-custom .shipping_address .woocommerce-shipping-fields__field-wrapper,
.gm-checkout-custom .e-coupon-box .e-coupon-anchor,
.gm-checkout-custom .e-coupon-box .coupon-container-grid {
  width: 100%;
  max-width: 100%;
}

/* Responsive: quitar desplazamiento para no romper mobile/tablet */
@media (max-width: 1024px) {
  .gm-checkout-custom #ship-to-different-address,
  .gm-checkout-custom .shipping_address,
  .gm-checkout-custom .e-coupon-box {
    padding-left: 0 !important;
  }
}








/* ANIMACIÓN DE FORMULARIO CHECKOUT WIDGET PAGAR */
/* =========================================
   Floating labels - WooCommerce Checkout
   Scope: .float-checkout
   ========================================= */

/* Base */
.float-checkout .woocommerce-checkout .form-row{
  position: relative;
  margin-top: 0 !important;
}

/* --- LABEL: que NO ocupe espacio arriba y viva dentro del campo --- */
.float-checkout .woocommerce-checkout .form-row > label{
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;

  /* clave: que no deje “label arriba” */
  display: block !important;
  width: auto !important;

  pointer-events: none !important;
  opacity: .75 !important;
  line-height: 1 !important;
  z-index: 5 !important;

  transition:
    top .18s ease,
    transform .18s ease,
    opacity .18s ease,
    font-size .18s ease;
}

/* Si el label viene como screen-reader-text, lo hacemos visible pero igual flotante */
.float-checkout .woocommerce-checkout .form-row > label.screen-reader-text{
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* --- Inputs/textarea normales: espacio para el label --- */
.float-checkout .woocommerce-checkout .form-row .input-text,
.float-checkout .woocommerce-checkout .form-row textarea{
  padding-top: 18px !important; /*(18)*/
}

/* Placeholder fuera (para que no choque con el label) */
.float-checkout .woocommerce-checkout .form-row .input-text::placeholder,
.float-checkout .woocommerce-checkout .form-row textarea::placeholder{
  opacity: 0 !important;
}

/* --- SELECT2 (Departamento) – ajustes FINOS para que no se rompa --- */
.float-checkout .woocommerce-checkout .form-row .select2-container--default .select2-selection--single{
  height: auto !important;
  min-height: 48px;          /* ajusta si tu input es más alto */
  padding: 0 !important;     /* importante */
  display: flex !important;
  align-items: stretch !important;
}

.float-checkout .woocommerce-checkout .form-row .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding-left: 12px !important;
  padding-right: 36px !important;
  padding-top: 18px !important;   /* espacio para label */
  padding-bottom: 8px !important;
  line-height: 1.2 !important;
}

.float-checkout .woocommerce-checkout .form-row .select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 100% !important;
  top: 0 !important;
  right: 10px !important;
}

/* --- Estado: focus / filled (sube el label) --- */
.float-checkout .woocommerce-checkout .form-row.is-focus > label,
.float-checkout .woocommerce-checkout .form-row.is-filled > label{
  top: 6px !important;
  transform: translateY(0) !important;
  opacity: 1 !important;
  font-size: 12px !important;
}

/* Responsive */
@media (max-width: 767px){
  .float-checkout .woocommerce-checkout .form-row .input-text,
  .float-checkout .woocommerce-checkout .form-row textarea{
    padding-top: 24px !important;
  }

  .float-checkout .woocommerce-checkout .form-row .select2-container--default
  .select2-selection--single .select2-selection__rendered{
    padding-top: 24px !important;
  }

  .float-checkout .woocommerce-checkout .form-row > label{
    top: 54% !important;
  }

  .float-checkout .woocommerce-checkout .form-row.is-focus > label,
  .float-checkout .woocommerce-checkout .form-row.is-filled > label{
    top: 6px !important;
  }
}



/* =========================================
   EXCLUIR DEPARTAMENTO DEL FLOATING LABEL
   ========================================= */

/* Quitar posicionamiento flotante */
.float-checkout .woocommerce-checkout #billing_state_field > label{
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  font-size: 16px !important;
  margin-bottom: 6px !important;
  pointer-events: auto !important;
}

/* Resetear padding raro del select */
.float-checkout .woocommerce-checkout #billing_state_field
.select2-container--default
.select2-selection--single
.select2-selection__rendered{
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Evitar que JS lo anime visualmente */
.float-checkout .woocommerce-checkout #billing_state_field{
  --no-float: 1;
}



/* =========================================
   EXCLUIR PAÍS / REGIÓN DEL FLOATING LABEL
   ========================================= */

/* Quitar posicionamiento flotante */
.float-checkout .woocommerce-checkout #billing_country_field > label{
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  font-size: 16px !important;
  margin-bottom: 6px !important;
  pointer-events: auto !important;
}

/* Resetear padding raro del select */
.float-checkout .woocommerce-checkout #billing_country_field
.select2-container--default
.select2-selection--single
.select2-selection__rendered{
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Evitar que JS lo anime visualmente */
.float-checkout .woocommerce-checkout #billing_country_field{
  --no-float: 1;
}




/* =========================================
   TOP TENIS - Checkout: separar labels del borde
========================================= */

.float-checkout .woocommerce-checkout .form-row > label {
  left: 10px !important;
}

.float-checkout .woocommerce-checkout .form-row.is-focus > label,
.float-checkout .woocommerce-checkout .form-row.is-filled > label {
  left: 20px !important;
}

.float-checkout .woocommerce-checkout .form-row .input-text,
.float-checkout .woocommerce-checkout .form-row textarea {
  padding-left: 20px !important;
  padding-right: 20px !important;
}









/* =========================================
   TOP TENIS - UBICACIONES / LOCATEANDFILTER
   Shortcode: [tt_ubicaciones_top_tenis]
========================================= */

.tt-laf-ubicaciones,
.tt-laf-ubicaciones * {
  box-sizing: border-box;
}

.tt-laf-ubicaciones {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  transform: none;

  --tt-location-blue: #4C6EF5;
  --tt-icon-waze: url("https://dev-top-tenis.pantheonsite.io/wp-content/uploads/2026/06/waze.svg");
  --tt-icon-maps: url("https://dev-top-tenis.pantheonsite.io/wp-content/uploads/2026/06/google-maps.svg");
}

/* Wrapper interno del shortcode nativo */
/*.tt-laf-ubicaciones__inner > div {
  display: grid !important;
  grid-template-columns: 420px 560px !important;
  gap: 20px !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
}*/
.tt-laf-ubicaciones__inner > div,
.tt-laf-ubicaciones #locate-anything-template-wrapper {
  display: grid !important;
  grid-template-columns: 43% 57% !important;
  gap: 24px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* Anular layout interno original del plugin */
.tt-laf-ubicaciones #bloc1,
.tt-laf-ubicaciones #bloc2 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: none !important;
}


/* Capas internas del widget */
.elementor-element-e2b4f1a .elementor-widget-container,
.elementor-element-e2b4f1a .elementor-shortcode,
.elementor-element-e2b4f1a .tt-laf-ubicaciones,
.elementor-element-e2b4f1a .tt-laf-ubicaciones__inner {
  width: 100% !important;
  max-width: 100% !important;
}


/* =========================================
   PANEL IZQUIERDO
========================================= */

.tt-laf-ubicaciones__inner > div > div:first-child {
  width: 100% !important;
  height: 560px !important;
  min-height: 560px !important;
  padding: 58px 48px !important;
  border-radius: 0px !important;
  background: var(--tt-location-blue) !important;
  overflow-y: hidden !important;
  overflow-x: hidden !important;
}

/* Título superior: INFORMACIÓN DE LA TIENDA */
.tt-laf-ubicaciones__inner > div > div:first-child::before {
  content: "INFORMACIÓN DE LA TIENDA";
  display: block;
  margin: 0 0 48px;
  color: #fff !important;
  font-family: "Anton", sans-serif !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap !important;
}

/* Contador de resultados */
.tt-laf-ubicaciones .map-nav-results-found {
  display: block !important;
  margin: 0 0 18px !important;
  color: #fff !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

/* Item de ubicación */
.tt-laf-ubicaciones .map-nav-item {
  display: block !important;
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 16px 18px !important;
  border-radius: 0px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  list-style: none !important;
  cursor: pointer;
  opacity: 1 !important;
  box-shadow: none !important;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}

/* Hover/active: solo cambia el fondo, NO el texto */
.tt-laf-ubicaciones .map-nav-item:hover,
.tt-laf-ubicaciones .map-nav-item.focus,
.tt-laf-ubicaciones .map-nav-item.active,
.tt-laf-ubicaciones .map-nav-item.is-active,
.tt-laf-ubicaciones .map-nav-item.tt-location-active,
.tt-laf-ubicaciones .map-nav-item[aria-current="true"],
.tt-laf-ubicaciones .map-nav-item[aria-selected="true"] {
  background: rgba(0, 0, 0, 0.10) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* Todo el texto del panel izquierdo en blanco */
.tt-laf-ubicaciones .map-nav-item,
.tt-laf-ubicaciones .map-nav-item *,
.tt-laf-ubicaciones .map-nav-item:hover,
.tt-laf-ubicaciones .map-nav-item:hover *,
.tt-laf-ubicaciones .map-nav-item.focus,
.tt-laf-ubicaciones .map-nav-item.focus *,
.tt-laf-ubicaciones .map-nav-item.tt-location-active,
.tt-laf-ubicaciones .map-nav-item.tt-location-active * {
  color: #fff !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
}

/* Nombre de la ubicación en el panel izquierdo */
.tt-laf-ubicaciones .map-nav-item .gm-about-location-title,
.tt-laf-ubicaciones .map-nav-item > strong:first-child,
.tt-laf-ubicaciones .map-nav-item .map-nav-item-title,
.tt-laf-ubicaciones .map-nav-item h3,
.tt-laf-ubicaciones .map-nav-item h4,
.tt-laf-ubicaciones .map-nav-item .location-title,
.tt-laf-ubicaciones .map-nav-item .title {
  display: block !important;
  margin: 0 0 10px !important;
  color: #fff !important;
  font-family: "Anton", sans-serif !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
  letter-spacing: 0.2px !important;
}

/* Labels Tel / Horario en panel izquierdo */
.tt-laf-ubicaciones .map-nav-item strong {
  color: #fff !important;
  font-weight: 700 !important;
}

/* Campos ocultos por JS cuando vienen vacíos */
.tt-laf-ubicaciones .gm-about-location-text.tt-location-field-empty {
  display: none !important;
}

/* =========================================
   BOTONES WAZE / MAPS
========================================= */

.tt-laf-ubicaciones .tt-location-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

.tt-laf-ubicaciones .tt-location-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 9px 16px !important;
  border-radius: 0px !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.tt-laf-ubicaciones .tt-location-action:hover {
  background: rgba(255, 255, 255, 0.28) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.tt-laf-ubicaciones .tt-location-action::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex: 0 0 22px;
}

.tt-laf-ubicaciones .tt-location-action--waze::before {
  background-image: var(--tt-icon-waze);
}

.tt-laf-ubicaciones .tt-location-action--maps::before {
  background-image: var(--tt-icon-maps);
}

/* =========================================
   MAPA DERECHO
========================================= */

.tt-laf-ubicaciones__inner > div > div:last-child {
  width: 100% !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 0px !important;
  overflow: hidden !important;
  background: #F5F5F5 !important;
}

.tt-laf-ubicaciones .leaflet-container {
  width: 100% !important;
  height: 560px !important;
  min-height: 560px !important;
  max-width: 100% !important;
  border-radius: 0px !important;
  overflow: hidden !important;
  background: #F5F5F5 !important;
}

/* Evitar que capas internas limiten el ancho */
.tt-laf-ubicaciones .leaflet-pane,
.tt-laf-ubicaciones .leaflet-map-pane,
.tt-laf-ubicaciones .leaflet-tile-pane,
.tt-laf-ubicaciones .leaflet-overlay-pane,
.tt-laf-ubicaciones .leaflet-marker-pane,
.tt-laf-ubicaciones .leaflet-popup-pane,
.tt-laf-ubicaciones .leaflet-layer,
.tt-laf-ubicaciones .leaflet-tile-container {
  max-width: none !important;
}


/* =========================================
   TOP TENIS - PIN PERSONALIZADO UBICACIONES
========================================= */

.tt-laf-ubicaciones .leaflet-marker-icon {
  content: url("https://dev-top-tenis.pantheonsite.io/wp-content/uploads/2026/06/pin-ubicacion.svg") !important;
  width: 42px !important;
  height: 42px !important;
  margin-left: -21px !important;
  margin-top: -42px !important;
  object-fit: contain !important;
  filter: none !important;
}


/* =========================================
   POPUP DEL MAPA
========================================= */

.tt-laf-ubicaciones .leaflet-popup-content {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: #000 !important;
}

.tt-laf-ubicaciones .leaflet-popup-content *,
.tt-laf-ubicaciones .leaflet-popup-content .gm-about-location-text {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: #000 !important;
}

/* Nombre de ubicación en popup: siempre bold/Anton */
.tt-laf-ubicaciones .leaflet-popup-content .gm-about-location-title {
  display: block !important;
  margin: 0 0 10px !important;
  color: #000 !important;
  font-family: "Anton", sans-serif !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
  letter-spacing: 0.2px !important;
}

/* Labels Tel / Horario dentro del popup */
.tt-laf-ubicaciones .leaflet-popup-content strong {
  color: #000 !important;
  font-weight: 700 !important;
}

/* Botones dentro del popup */
.tt-laf-ubicaciones .leaflet-popup-content .tt-location-actions {
  margin-top: 18px !important;
}

.tt-laf-ubicaciones .leaflet-popup-content .tt-location-action {
  min-height: 38px !important;
  padding: 8px 14px !important;
  background: #eeeeee !important;
  color: #000 !important;
  font-size: 15px !important;
}

.tt-laf-ubicaciones .leaflet-popup-content .tt-location-action:hover {
  background: #e0e0e0 !important;
  color: #000 !important;
}

/* =========================================
   SCROLL CONDICIONAL
========================================= */

/* Solo si hay más de 3 ubicaciones, el JS agrega esta clase */
.tt-laf-ubicaciones__inner > div > div:first-child.tt-laf-has-many-locations {
  overflow-y: auto !important;
  scrollbar-width: thin;
}

.tt-laf-ubicaciones__inner > div > div:first-child.tt-laf-has-many-locations::-webkit-scrollbar {
  width: 6px;
}

.tt-laf-ubicaciones__inner > div > div:first-child.tt-laf-has-many-locations::-webkit-scrollbar-track {
  background: transparent;
}

.tt-laf-ubicaciones__inner > div > div:first-child.tt-laf-has-many-locations::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.32);
  border-radius: 0px;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1024px) {
  .tt-laf-ubicaciones {
    max-width: 100%;
  }

  /*.tt-laf-ubicaciones__inner > div {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }*/
	.tt-laf-ubicaciones__inner > div,
.tt-laf-ubicaciones #locate-anything-template-wrapper {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
}

  .tt-laf-ubicaciones__inner > div > div:first-child {
    order: 1 !important;
    height: auto !important;
    min-height: auto !important;
    padding: 44px 36px 0px !important;
  }

  .tt-laf-ubicaciones__inner > div > div:last-child {
    order: 2 !important;
    height: 460px !important;
    min-height: 460px !important;
  }

  .tt-laf-ubicaciones .leaflet-container {
    height: 460px !important;
    min-height: 460px !important;
  }

  .tt-laf-ubicaciones__inner > div > div:first-child::before {
    margin-bottom: 34px !important;
    font-size: 21px !important;
    white-space: nowrap !important;
  }

  .tt-laf-ubicaciones .map-nav-item .gm-about-location-title,
  .tt-laf-ubicaciones .leaflet-popup-content .gm-about-location-title {
    font-size: 20px !important;
  }

  .tt-laf-ubicaciones .map-nav-item {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
	
	.tt-laf-ubicaciones__inner > div,
.tt-laf-ubicaciones #locate-anything-template-wrapper {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
}
	
  .tt-laf-ubicaciones__inner > div > div:first-child {
    padding: 34px 24px 0px !important;
    border-radius: 0px !important;
    min-height: auto !important;
  }

  .tt-laf-ubicaciones__inner > div > div:last-child,
  .tt-laf-ubicaciones .leaflet-container {
    height: 520px !important;
    min-height: 520px !important;
    border-radius: 0px !important;
  }

  .tt-laf-ubicaciones__inner > div > div:first-child::before {
    font-size: 30px !important;
    line-height: 1 !important;
    margin-bottom: 30px !important;
    white-space: nowrap !important;
  }

  .tt-laf-ubicaciones .map-nav-results-found,
  .tt-laf-ubicaciones .map-nav-item,
  .tt-laf-ubicaciones .map-nav-item *,
  .tt-laf-ubicaciones .gm-about-location-text {
    font-size: 15px !important;
  }

  .tt-laf-ubicaciones .map-nav-item {
    padding: 14px 16px !important;
    border-radius: 0px !important;
    margin-bottom: 0 !important;
  }

  .tt-laf-ubicaciones .map-nav-item .gm-about-location-title,
  .tt-laf-ubicaciones .leaflet-popup-content .gm-about-location-title {
    font-size: 18px !important;
  }

  .tt-laf-ubicaciones .tt-location-actions {
    gap: 10px !important;
  }

  .tt-laf-ubicaciones .tt-location-action {
    min-height: 40px !important;
    padding: 8px 14px !important;
    font-size: 14px !important;
  }

  .tt-laf-ubicaciones .tt-location-action::before {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
}





/* =========================================
   TOP TENIS - MAPA UBICACIONES
   Quitar título y contador de resultados
========================================= */

/* Quitar título "INFORMACIÓN DE LA TIENDA" que metimos por CSS */
.tt-laf-ubicaciones__inner > div > div:first-child::before {
  content: none !important;
  display: none !important;
}

/* Quitar mensaje "1 Results Found" / "Resultados encontrados" */
.tt-laf-ubicaciones .map-nav-results-found,
.tt-laf-ubicaciones__inner .map-nav-results-found,
.tt-laf-ubicaciones #results-found-1028 {
  display: none !important;
}




/* =========================================
   TOP TENIS - MAPA
   1 ubicación: solo bajarla/centrarla verticalmente
   SIN moverla horizontalmente
========================================= */

/* Panel izquierdo cuando solo hay una ubicación */
.tt-laf-ubicaciones__inner > div > div:first-child.tt-laf-single-location {
  display: block !important;
  padding-top: 130px !important; /* ajusta aquí: 110px / 120px / 140px */
}

/* Wrapper interno: reset, sin flex */
.tt-laf-ubicaciones__inner > div > div:first-child.tt-laf-single-location .map-nav-wrapper {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Tarjeta: conservar alineación original, sin centrado horizontal */
.tt-laf-ubicaciones__inner > div > div:first-child.tt-laf-single-location .map-nav-item {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}













/* =========================================
   CHECKOUT - RESUMEN DE COMPRA CON MINIATURAS
   Top Tenis
========================================= */

/* Más ancho para el resumen */
.gm-checkout-custom form.checkout .e-checkout__container {
  grid-template-columns: minmax(430px, 44%) minmax(0, 1fr) !important;
  column-gap: 56px !important;
}

/* Tabla */
.gm-checkout-custom .woocommerce-checkout-review-order-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* Columnas */
.gm-checkout-custom .woocommerce-checkout-review-order-table .product-name {
  width: 74% !important;
}

.gm-checkout-custom .woocommerce-checkout-review-order-table .product-total {
  width: 26% !important;
  text-align: right !important;
}

/* Encabezados */
.gm-checkout-custom .woocommerce-checkout-review-order-table thead th {
  padding: 0 0 22px !important;
  border: 0 !important;
  color: #000 !important;
  /*font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;*/
}

/* Celdas */
.gm-checkout-custom .woocommerce-checkout-review-order-table tbody td {
  padding: 0 0 28px !important;
  border: 0 !important;
  vertical-align: middle !important;
}

/* Producto: imagen + texto */
.gm-checkout-custom .tt-checkout-product {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Fondo gris de miniatura */
.gm-checkout-custom .tt-checkout-thumb-wrap {
  flex: 0 0 112px !important;
  width: 112px !important;
  height: 112px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px !important;
  border-radius: 0px !important;
  /*background: #F5F5F5 !important;*/
  overflow: hidden !important;
}

/* Imagen completa, sin corte */
.gm-checkout-custom .tt-checkout-thumb-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* Bloque de info */
.gm-checkout-custom .tt-checkout-product-info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Nombre del producto */
.gm-checkout-custom .tt-checkout-product-name {
  display: block !important;
  color: #000 !important;
 /* font-family: "Poppins" !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;*/
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Cantidad pegada al nombre */
.gm-checkout-custom .tt-checkout-product-qty {
  display: block !important;
  margin-top: 6px !important;
  color: #000 !important;
  /*font-family: "Poppins" !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;*/
}

/* Precio */
.gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total {
  padding-left: 14px !important;
  color: #000 !important;
 /* font-family: "Poppins" !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;*/
  white-space: nowrap !important;
  text-align: right !important;
position: relative !important;
top: -40px !important;
}

.gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total .amount,
.gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total bdi {
  color: #000 !important;
  font-weight: 500 !important;
}

/* Subtotal / Shipment / Total */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot th,
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot td {
  padding: 14px 0 !important;
  border: 0 !important;
  color: #000 !important;
 /* font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;*/
}

.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
}

/* Shipping */
.gm-checkout-custom .woocommerce-checkout-review-order-table #shipping_method {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.gm-checkout-custom .woocommerce-checkout-review-order-table #shipping_method li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.gm-checkout-custom .woocommerce-checkout-review-order-table #shipping_method label {
  color: #000 !important;
  font-weight: 700 !important;
}

/* Total: fondo único alineado al ancho real de la tabla */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total {
  position: relative !important;
  display: table-row !important;
}

/* El fondo gris ya NO va en th/td */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  position: relative !important;
  z-index: 1 !important;
  background: transparent !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* Esta es la barra gris real: nace en el th y se extiende hasta cubrir también el td */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total th::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(135.135% + 26%); /* compensa el 74/26 de la tabla */
  height: 100%;
  background: #F5F5F5;
  border-radius: 0px;
  z-index: -1;
}

/* Texto Total */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total th {
  padding-left: 22px !important;
  padding-right: 0 !important;
  border-radius: 0 !important;
  width: 74% !important;
}

/* Precio Total */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  padding-left: 0 !important;
  padding-right: 22px !important;
  border-radius: 0 !important;
  text-align: right !important;
  width: 26% !important;
  white-space: nowrap !important;
}

/* Tipografía del total */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total td,
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total strong,
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total .amount,
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total bdi {
  color: #000 !important;
  font-weight: 700 !important;
}




/* =========================================
   CHECKOUT - AFINAR TOTAL FINAL
========================================= */

/* Menos alto, pero con mejor aire interno */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* ESTE es el bloque gris real */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total th::before {
  left: -10px !important;
  width: calc(135.135% + 20px) !important;
  border-radius: 0px !important;
}

/* Darle aire al texto izquierdo */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total th {
  padding-left: 5px !important;
  padding-right: 0 !important;
}

/* Darle aire al precio derecho */
.gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  padding-left: 0 !important;
  padding-right: 5px !important;
  text-align: right !important;
}





/* Responsive */
@media (max-width: 1024px) {
  .gm-checkout-custom form.checkout .e-checkout__container {
    display: block !important;
  }

  .gm-checkout-custom .tt-checkout-thumb-wrap {
    flex-basis: 96px !important;
    width: 96px !important;
    height: 96px !important;
  }
}

@media (max-width: 767px) {
  .gm-checkout-custom .woocommerce-checkout-review-order-table thead {
    display: none !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody tr.cart_item {
    display: block !important;
    margin-bottom: 24px !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-name,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .gm-checkout-custom .tt-checkout-product {
    gap: 14px !important;
  }

  .gm-checkout-custom .tt-checkout-thumb-wrap {
    flex-basis: 82px !important;
    width: 82px !important;
    height: 82px !important;
    padding: 10px !important;
    border-radius: 0px !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total {
    padding-left: 96px !important;
    margin-top: 8px !important;
  }
}








/* =========================================
   CHECKOUT - RESPONSIVE MOBILE FINAL CORREGIDO
   No toca la barra gris del total
========================================= */

@media (max-width: 767px) {

  /* -----------------------------------------
     1. ORDEN GENERAL MOBILE
     Resumen primero, formulario después
  ----------------------------------------- */

  .gm-checkout-custom form.checkout .e-checkout__container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
  }

  .gm-checkout-custom .e-checkout__column-start,
  .gm-checkout-custom .e-checkout__column-end,
  .gm-checkout-custom .e-checkout__column-inner {
    display: contents !important;
  }

  .gm-checkout-custom .e-checkout__order_review {
    order: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 38px !important;
    padding: 0 !important;
  }

  .gm-checkout-custom .e-woocommerce-login-section {
    order: 2 !important;
    width: 100% !important;
    padding-left: 0 !important;
    margin: 0 0 18px !important;
  }

  .gm-checkout-custom #customer_details {
    order: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .gm-checkout-custom .e-coupon-box {
    order: 4 !important;
    width: 100% !important;
    padding-left: 0 !important;
    margin: 20px 0 !important;
  }

  .gm-checkout-custom .e-checkout__order_review-2 {
    order: 5 !important;
    width: 100% !important;

  }
	
	
  /* -----------------------------------------
     1.1 TÍTULOS CENTRADOS MOBILE
  ----------------------------------------- */

  .gm-checkout-custom #order_review_heading,
  .gm-checkout-custom #billing_datos_de_cliente_field,
  .gm-checkout-custom #billing_datos_de_facturacion_field {
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
	

  /* -----------------------------------------
     2. RESUMEN DE COMPRA MOBILE
  ----------------------------------------- */

  .gm-checkout-custom #order_review_heading {
    margin: 0 0 24px !important;
    padding: 0 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  .gm-checkout-custom #order_review,
  .gm-checkout-custom .woocommerce-checkout-review-order,
  .gm-checkout-custom .woocommerce-checkout-review-order-table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  /* Ocultar encabezados Producto/Subtotal en mobile */
  .gm-checkout-custom .woocommerce-checkout-review-order-table thead {
    display: none !important;
  }

  /* Producto en bloque completo */
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody tr.cart_item,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-name,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody tr.cart_item {
    margin: 0 0 30px !important;
    padding: 0 !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-name {
    padding: 0 !important;
  }

  /* Producto: imagen izquierda, texto derecha, bien alineado */
  .gm-checkout-custom .tt-checkout-product {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .gm-checkout-custom .tt-checkout-thumb-wrap {
    flex: 0 0 82px !important;
    width: 82px !important;
    min-width: 82px !important;
    height: 82px !important;
    padding: 10px !important;
    border-radius: 0px !important;
  }

  .gm-checkout-custom .tt-checkout-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .gm-checkout-custom .tt-checkout-product-info {
    flex: 1 1 auto !important;
    width: calc(100% - 96px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 96px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .gm-checkout-custom .tt-checkout-product-name {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    color: #000 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }

  .gm-checkout-custom .tt-checkout-product-qty {
    display: block !important;
    margin-top: 5px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    color: #000 !important;
  }

  /* Precio debajo del producto, alineado con el texto, no flotando */
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total {
    padding: 10px 0 0 96px !important;
    margin: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total .amount,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total bdi {
    font-size: 15px !important;
    color: #000 !important;
    font-weight: 700 !important;
  }

  /* -----------------------------------------
     3. SUBTOTAL / SHIPPING
     NO TOCAR ORDER TOTAL AQUÍ
  ----------------------------------------- */

  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.shipping {
    display: table-row !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.shipping th,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.shipping td {
    display: table-cell !important;
    width: 50% !important;
    padding: 13px 0 !important;
    vertical-align: middle !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.shipping th {
    text-align: left !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tfoot tr.shipping td {
    text-align: right !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table #shipping_method label {
    white-space: normal !important;
    text-align: right !important;
  }

  /* -----------------------------------------
     4. IMPORTANTE:
     No tocar .order-total en mobile.
     Se queda usando el estilo desktop que ya funciona.
  ----------------------------------------- */

  /* -----------------------------------------
     5. Quitar desplazamientos desktop
  ----------------------------------------- */

  .gm-checkout-custom #ship-to-different-address,
  .gm-checkout-custom .shipping_address,
  .gm-checkout-custom .e-coupon-box,
  .gm-checkout-custom .e-woocommerce-login-section {
    padding-left: 0 !important;
  }
}






/* =========================================
   CHECKOUT - MOBILE PRODUCTO FINAL LIMPIO
   Alinea precio con precios inferiores
   No toca Subtotal, Shipping ni Total
========================================= */

@media (max-width: 767px) {

  /* La tabla del resumen debe permitir que el producto use todo el ancho */
  .gm-checkout-custom .woocommerce-checkout-review-order-table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  /* El body y la fila del producto dejan de comportarse como tabla */
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody,
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody tr.cart_item {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody tr.cart_item {
    margin: 0 0 30px !important;
    padding: 0 !important;
  }

  /* CLAVE: cancelar el 74% desktop */
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-name {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  /* Ocultar precio original de WooCommerce solo en mobile */
  .gm-checkout-custom .woocommerce-checkout-review-order-table tbody td.product-total {
    display: none !important;
  }

  /* Producto ocupa todo el ancho: imagen | nombre/cantidad | precio */
  .gm-checkout-custom .tt-checkout-product {
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 20px !important;
    row-gap: 4px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Miniatura un poco más compacta para darle más ancho al nombre */
  .gm-checkout-custom .tt-checkout-thumb-wrap {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 70px !important;
    min-width: 70px !important;
    height: 70px !important;
    padding: 9px !important;
    border-radius: 0px !important;
    /*background: #F5F5F5 !important;*/
    overflow: hidden !important;
  }

  .gm-checkout-custom .tt-checkout-thumb-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* Permite que nombre, cantidad y precio participen en el grid principal */
  .gm-checkout-custom .tt-checkout-product-info {
    display: contents !important;
  }

  /* Nombre más ancho */
  .gm-checkout-custom .tt-checkout-product-name {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    display: block !important;
    width: calc(100%) !important;
	max-width: calc(100%) !important;
    margin: 0 !important;
    color: #000 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
    font-weight: 400 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }

  /* Cantidad debajo del nombre */
  .gm-checkout-custom .tt-checkout-product-qty {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    display: block !important;
    margin: 3px 0 0 !important;
    color: #000 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
  }

  /* Precio a la derecha real del ancho completo */
  .gm-checkout-custom .tt-checkout-product-price-mobile {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: start !important;
    justify-self: end !important;
    display: block !important;
    margin: 0 !important;
	  margin-top: 5px !important;
    padding-left: 0 !important;
	transform: translateX(85px) !important;
    color: #000 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  .gm-checkout-custom .tt-checkout-product-price-mobile .amount,
  .gm-checkout-custom .tt-checkout-product-price-mobile bdi {
    color: #000 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }
	
	
  .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout #payment {
    padding: var(--sections-padding, 0px 0px);
  }
	
}

















/* =========================================
   CART TOP TENIS - ESTILO GENERAL
   Clase widget Cart: gm-cart-custom
========================================= */

.gm-cart-custom,
.gm-cart-custom * {
  box-sizing: border-box;
}

/* Contenedor principal del cart */
.gm-cart-custom .e-cart__container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  column-gap: 42px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* IMPORTANTE:
   Permite que la tabla de productos ocupe todo el ancho,
   y que cupón/totales queden paralelos debajo */
.gm-cart-custom .e-cart__column-start,
.gm-cart-custom .woocommerce-cart-form {
  display: contents !important;
}

/* Columna derecha */
.gm-cart-custom .e-cart__column-end {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: -10px !important;
}

/* Limpiar cajas internas sin tocar botones */
.gm-cart-custom .e-cart-section,
.gm-cart-custom .e-shop-table,
.gm-cart-custom .e-cart-totals,
.gm-cart-custom .cart-collaterals,
.gm-cart-custom .cart_totals {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* =========================================
   TABLA DE PRODUCTOS - ANCHO COMPLETO
========================================= */

/* La tabla ahora ocupa todo el ancho superior */
.gm-cart-custom .woocommerce-cart-form .e-shop-table {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.gm-cart-custom table.shop_table.cart {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 18px !important;
  border: 0 !important;
}

/* Encabezados */
.gm-cart-custom table.shop_table.cart thead th {
  padding: 0 16px 8px !important;
  border: 0 !important;
  background: transparent !important;

}

/* Fila de producto */
.gm-cart-custom table.shop_table.cart tbody tr.cart_item {
  background: #F5F5F5 !important;
  border-radius: 0px !important;
}

/* Celdas */
.gm-cart-custom table.shop_table.cart tbody tr.cart_item td {
  padding: 18px 16px !important;
  border: 0 !important;
  background: transparent !important;
  vertical-align: middle !important;
  color: #000 !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

/* Redondear fila completa */
.gm-cart-custom table.shop_table.cart tbody tr.cart_item td:first-child {
  border-radius: 0 0 0 0 !important;
}

.gm-cart-custom table.shop_table.cart tbody tr.cart_item td:last-child {
  border-radius: 0 0 0 0 !important;
}

/* Ajustes de columnas */
.gm-cart-custom table.shop_table.cart .product-remove {
  width: 58px !important;
  text-align: center !important;
}

.gm-cart-custom table.shop_table.cart .product-thumbnail {
  width: 110px !important;
  text-align: center !important;
}

.gm-cart-custom table.shop_table.cart .product-name {
  width: auto !important;
}

.gm-cart-custom table.shop_table.cart .product-price,
.gm-cart-custom table.shop_table.cart .product-quantity,
.gm-cart-custom table.shop_table.cart .product-subtotal {
  text-align: center !important;
  white-space: nowrap !important;
}

/* Imagen producto */
.gm-cart-custom table.shop_table.cart .product-thumbnail img {
  width: 70px !important;
  height: 70px !important;
  max-width: 70px !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 0px !important;
}

/* Nombre producto */
.gm-cart-custom table.shop_table.cart .product-name a {
  color: #000 !important;
  font-family: "Poppins" !important;
  font-size: 16px !important;
  line-height: 1.22 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

/* Variaciones / editar si aparecen */
.gm-cart-custom table.shop_table.cart .variation,
.gm-cart-custom table.shop_table.cart .variation * {
  color: #9A9A9A !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}

/* Precios */
.gm-cart-custom table.shop_table.cart .amount,
.gm-cart-custom table.shop_table.cart bdi {
  color: #000 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

/* =========================================
   BOTÓN ELIMINAR - ÍCONO BASURERO
========================================= */

.gm-cart-custom table.shop_table.cart .product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
}

.gm-cart-custom table.shop_table.cart .product-remove a.remove:hover {
  background: transparent !important;
}

.gm-cart-custom table.shop_table.cart .product-remove a.remove::before {
  content: "";
  display: block;
  width: 13px;
  height: 15px;
  background-color: #2B2B2B;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'><path d='M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'><path d='M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z'/></svg>");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Ocultar actions vacío de WooCommerce */
.gm-cart-custom table.shop_table.cart td.actions {
  display: none !important;
}




/* =========================================
   TEXTO CUPÓN + CUPÓN + TOTALES
========================================= */

/* Ocultar solo el contenedor original usado como fuente */
.texto-cupon.texto-cupon--source {
  display: none !important;
}

/* Texto clonado/movido dentro del cupón */
.gm-cart-custom .coupon.e-cart-section .texto-cupon.texto-cupon--in-cart {
  display: block !important;
  width: 100% !important;
  max-width: 450px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}

/* Limpiar estructura interna del contenedor de Elementor */
.gm-cart-custom .coupon.e-cart-section .texto-cupon--in-cart .e-con-inner {
  width: 100% !important;
  max-width: 450px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* No tocar estilos de Elementor, solo quitar márgenes raros */
.gm-cart-custom .coupon.e-cart-section .texto-cupon--in-cart .elementor-widget {
  margin: 0 !important;
}

.gm-cart-custom .coupon.e-cart-section .texto-cupon--in-cart .elementor-heading-title {
  margin: 0 !important;
}

/* Cupón abajo izquierda */
.gm-cart-custom .woocommerce-cart-form .coupon.e-cart-section {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: 450px !important;
  margin-top: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* =========================================
   CUPÓN TIPO PÍLDORA
   Sin tocar colores principales del botón
========================================= */

.gm-cart-custom .coupon .form-row,
.gm-cart-custom .coupon .coupon-col {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #2B2B2B !important;
  border-radius: 0px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.gm-cart-custom .coupon .coupon-col-start {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.gm-cart-custom .coupon input#coupon_code {
  width: 100% !important;
  height: 40px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 0 0 0 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.gm-cart-custom .coupon .coupon-col-end {
  flex: 0 0 auto !important;
}

/* Botón cupón: no cambiamos colores, fondo ni tipografía principal */
.gm-cart-custom .coupon button.e-apply-coupon {
  margin: 0 !important;
  border-radius: 0px !important;
  box-shadow: none !important;
}

/* Eliminar flechas/símbolos inventados */
.gm-cart-custom .coupon button.e-apply-coupon::after,
.gm-cart-custom .wc-proceed-to-checkout .checkout-button::after {
  content: none !important;
  display: none !important;
}


/* =========================================
   TOTALES
========================================= */

.gm-cart-custom .cart_totals h2 {
  display: none !important;
}

.gm-cart-custom .cart_totals table.shop_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 12px !important;
  border: 0 !important;
  table-layout: fixed !important;
}

/* Evitar duplicado tipo SubtotalSubtotal */
.gm-cart-custom .cart_totals table.shop_table td::before,
.gm-cart-custom .cart_totals table.shop_table th::before {
  content: none !important;
  display: none !important;
}

/* Mantener estructura de tabla normal */
.gm-cart-custom .cart_totals table.shop_table tr {
  display: table-row !important;
  background: transparent !important;
}

/* Celdas visibles */
.gm-cart-custom .cart_totals table.shop_table th,
.gm-cart-custom .cart_totals table.shop_table td {
  display: table-cell !important;
  padding: 14px 18px !important;
  border: 0 !important;
  background: #F5F5F5 !important;
  color: #000 !important;
  font-family: "Poppins" !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
}

/* Label izquierdo */
.gm-cart-custom .cart_totals table.shop_table th {
  width: 45% !important;
  text-align: left !important;
  border-radius: 0 0 0 0 !important;
}

/* Valor derecho */
.gm-cart-custom .cart_totals table.shop_table td {
  width: 55% !important;
  text-align: right !important;
  white-space: nowrap !important;
  border-radius: 0 0 0 0 !important;
}

/* Precios */
/*.gm-cart-custom .cart_totals table.shop_table .amount,
.gm-cart-custom .cart_totals table.shop_table bdi {
  color: #000 !important;
  font-size: 14px !important;
}*/

/* Total en negrita */
.gm-cart-custom .cart_totals table.shop_table tr.order-total th,
.gm-cart-custom .cart_totals table.shop_table tr.order-total td,
.gm-cart-custom .cart_totals table.shop_table tr.order-total strong,
.gm-cart-custom .cart_totals table.shop_table tr.order-total .amount,
.gm-cart-custom .cart_totals table.shop_table tr.order-total bdi {
  font-weight: 700 !important;
}



/* =========================================
   SHIPPING ALINEADO DENTRO DEL RECUADRO
========================================= */

.gm-cart-custom .cart_totals table.shop_table tr.shipping th,
.gm-cart-custom .cart_totals table.shop_table tr.shipping td {
  vertical-align: middle !important;
}

.gm-cart-custom .cart_totals table.shop_table #shipping_method {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: right !important;
}

.gm-cart-custom .cart_totals table.shop_table #shipping_method li {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: right !important;
}

.gm-cart-custom .cart_totals table.shop_table #shipping_method label {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #000 !important;
  font-weight: 400 !important;
  text-align: right !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* Ocultar destino y calculadora visualmente */
.gm-cart-custom .cart_totals .woocommerce-shipping-destination,
.gm-cart-custom .cart_totals .woocommerce-shipping-calculator {
  display: none !important;
}

/* Botón proceder: solo layout, no colores ni flechas */
.gm-cart-custom .wc-proceed-to-checkout {
  margin-top: 16px !important;
  padding: 0 !important;
}

.gm-cart-custom .wc-proceed-to-checkout .checkout-button {
  width: 100% !important;
  border-radius: 0px !important;
  box-shadow: none !important;
}







/* =========================================
   CART TOP TENIS - RESPONSIVE UNIFICADO
   Tablet + Mobile
========================================= */

@media (max-width: 1024px) {
  .gm-cart-custom .e-cart__container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .gm-cart-custom .e-cart__column-start,
  .gm-cart-custom .woocommerce-cart-form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .texto-cupon.texto-cupon--source {
    display: none !important;
  }

  .gm-cart-custom .woocommerce-cart-form .coupon.e-cart-section {
    max-width: 100% !important;
    margin: 18px 0 28px !important;
  }

  .gm-cart-custom .e-cart__column-end {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
  }
}

/* =========================================
   MOBILE - TARJETAS DE PRODUCTO
========================================= */

@media (max-width: 767px) {

  .gm-cart-custom table.shop_table.cart {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border-spacing: 0 !important;
    border-collapse: separate !important;
  }

  .gm-cart-custom table.shop_table.cart thead {
    display: none !important;
  }

  .gm-cart-custom table.shop_table.cart tbody {
    display: block !important;
    width: 100% !important;
  }

  /* Tarjeta completa */
  .gm-cart-custom table.shop_table.cart tbody tr.cart_item {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "remove image"
      "name name"
      "price price"
      "quantity quantity"
      "subtotal subtotal" !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 28px 28px 26px !important;
    row-gap: 18px !important;
    column-gap: 16px !important;
    background: #F5F5F5 !important;
    border-radius: 0px !important;
  }

  .gm-cart-custom table.shop_table.cart tbody tr.cart_item td {
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    color: #000 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  /* Quitar */
  .gm-cart-custom table.shop_table.cart .product-remove {
    grid-area: remove !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .gm-cart-custom table.shop_table.cart .product-remove a.remove {
    margin: 0 !important;
  }

  /* Imagen arriba derecha, con aire al borde */
.gm-cart-custom table.shop_table.cart .product-thumbnail {
  grid-area: image !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  transform: translateX(38px) !important;
}

  .gm-cart-custom table.shop_table.cart .product-thumbnail a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .gm-cart-custom table.shop_table.cart .product-thumbnail img {
    width: 74px !important;
    height: 74px !important;
    max-width: 74px !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* Cada dato como fila: label izquierda / valor derecha */
  .gm-cart-custom table.shop_table.cart .product-name,
  .gm-cart-custom table.shop_table.cart .product-price,
  .gm-cart-custom table.shop_table.cart .product-quantity,
  .gm-cart-custom table.shop_table.cart .product-subtotal {
    display: grid !important;
    grid-template-columns: 118px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
  }

  .gm-cart-custom table.shop_table.cart .product-name {
    grid-area: name !important;
  }

  .gm-cart-custom table.shop_table.cart .product-price {
    grid-area: price !important;
  }

  .gm-cart-custom table.shop_table.cart .product-quantity {
    grid-area: quantity !important;
  }

  .gm-cart-custom table.shop_table.cart .product-subtotal {
    grid-area: subtotal !important;
  }

  /* Labels */
  .gm-cart-custom table.shop_table.cart td.product-name::before,
  .gm-cart-custom table.shop_table.cart td.product-price::before,
  .gm-cart-custom table.shop_table.cart td.product-quantity::before,
  .gm-cart-custom table.shop_table.cart td.product-subtotal::before {
    content: attr(data-title) ":" !important;
    display: block !important;
    float: none !important;
    color: #000 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-align: left !important;
  }

  /* Valores */
  .gm-cart-custom table.shop_table.cart .product-name a,
  .gm-cart-custom table.shop_table.cart .product-price .amount,
  .gm-cart-custom table.shop_table.cart .product-price bdi,
  .gm-cart-custom table.shop_table.cart .product-subtotal .amount,
  .gm-cart-custom table.shop_table.cart .product-subtotal bdi {
    display: block !important;
    color: #000 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: right !important;
    text-decoration: none !important;
    padding-right: 20px !important;
  }

  /* Cantidad alineada como valor */
  .gm-cart-custom table.shop_table.cart .product-quantity .quantity {
    justify-self: end !important;
    margin-right: 20px !important;
    width: 92px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .gm-cart-custom table.shop_table.cart .product-quantity input.qty {
    width: 92px !important;
    min-width: 92px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #A7A7A7 !important;
    border-radius: 0px !important;
    background: #fff !important;
    color: #000 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 40px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: none !important;
  }

  /* Mantener flechas nativas si el navegador las muestra */
  .gm-cart-custom table.shop_table.cart .product-quantity input.qty::-webkit-outer-spin-button,
  .gm-cart-custom table.shop_table.cart .product-quantity input.qty::-webkit-inner-spin-button {
    opacity: 1 !important;
    margin: 0 !important;
  }

  /* Si existen botones plus/minus, se preparan; si no existen, no afecta */
  .gm-cart-custom table.shop_table.cart .product-quantity .quantity .plus,
  .gm-cart-custom table.shop_table.cart .product-quantity .quantity .minus,
  .gm-cart-custom table.shop_table.cart .product-quantity .quantity button.plus,
  .gm-cart-custom table.shop_table.cart .product-quantity .quantity button.minus,
  .gm-cart-custom table.shop_table.cart .product-quantity .quantity a.plus,
  .gm-cart-custom table.shop_table.cart .product-quantity .quantity a.minus {
    display: none !important;
  }

  /* Ocultar actions vacío */
  .gm-cart-custom table.shop_table.cart td.actions {
    display: none !important;
  }

  /* =========================================
     MOBILE - CUPÓN
  ========================================= */

  .gm-cart-custom .woocommerce-cart-form .coupon.e-cart-section {
    max-width: 100% !important;
    margin: 18px 0 24px !important;
    padding: 0 !important;
  }

  .gm-cart-custom .coupon.e-cart-section .texto-cupon--in-cart {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
  }

  .gm-cart-custom .coupon.e-cart-section .texto-cupon--in-cart .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .gm-cart-custom .coupon.e-cart-section .texto-cupon--in-cart .elementor-widget {
    margin: 0 !important;
  }

  .gm-cart-custom .coupon.e-cart-section .texto-cupon--in-cart .elementor-heading-title {
    margin: 0 !important;
  }

  /* Píldora del cupón menos alta y centrada */
  .gm-cart-custom .coupon .form-row,
  .gm-cart-custom .coupon .coupon-col {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #2B2B2B !important;
    border-right: 0 !important;
    border-radius: 0px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  .gm-cart-custom .coupon .coupon-col-start {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 100% !important;
  }

  .gm-cart-custom .coupon input#coupon_code {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 0 0 0 0 !important;
    background: transparent !important;
    color: #000 !important;
    font-size: 13px !important;
    line-height: 42px !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .gm-cart-custom .coupon .coupon-col-end {
    flex: 0 0 auto !important;
    height: 44px !important;
    margin-left: -1px !important;
  }

  .gm-cart-custom .coupon button.e-apply-coupon {
    height: 44px !important;
    min-height: 44px !important;
    margin: -1px -1px -1px 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: 0px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    line-height: 1 !important;
  }

  .gm-cart-custom .coupon button.e-apply-coupon::after,
  .gm-cart-custom .wc-proceed-to-checkout .checkout-button::after {
    content: none !important;
    display: none !important;
  }

  /* =========================================
     MOBILE - TOTALES
  ========================================= */

  .gm-cart-custom .cart_totals table.shop_table {
    width: 100% !important;
    border-spacing: 0 10px !important;
  }

  .gm-cart-custom .wc-proceed-to-checkout {
    margin-top: 14px !important;
  }
	
  /* Quitar ":" fantasma en remove e imagen */
.gm-cart-custom table.shop_table.cart td.product-remove::before,
.gm-cart-custom table.shop_table.cart td.product-thumbnail::before {
  content: none !important;
  display: none !important;
}	
	
}






/* =========================================
   CART - TABLET CUPÓN: SOLO ALTO Y CENTRADO
========================================= */

@media (min-width: 768px) and (max-width: 1024px) {

  /* No reducir el ancho del cupón */
  .gm-cart-custom .woocommerce-cart-form .coupon.e-cart-section {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Píldora menos alta */
  .gm-cart-custom .coupon .form-row,
  .gm-cart-custom .coupon .coupon-col {
    min-height: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Input centrado verticalmente */
  .gm-cart-custom .coupon input#coupon_code {
    height: 36px !important;
    min-height: 36px !important;
    line-height: 36px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Columna del botón */
  .gm-cart-custom .coupon .coupon-col-end {
    height: 38px !important;
    display: flex !important;
    align-items: stretch !important;
  }

  /* Botón centrado de verdad */
  .gm-cart-custom .coupon button.e-apply-coupon {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: -1px -1px -1px 0 !important;
    padding: 0 28px !important;
    border-radius: 0px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
  }

  /* Por si el texto interno viene envuelto por Elementor */
  .gm-cart-custom .coupon button.e-apply-coupon *,
  .gm-cart-custom .coupon button.e-apply-coupon span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
  }
}








/* =========================================
   CART - OCULTAR TEXTO/CUPÓN CUANDO EL CARRITO ESTÁ VACÍO
========================================= */

/* Si WooCommerce marca carrito vacío en body */
body.woocommerce-cart .cart-empty ~ .return-to-shop,
body.woocommerce-cart .woocommerce:has(.cart-empty) .gm-cart-custom .coupon.e-cart-section,
body.woocommerce-cart .woocommerce:has(.cart-empty) .gm-cart-custom .e-cart__column-end,
body.woocommerce-cart .woocommerce:has(.cart-empty) .texto-cupon {
  display: none !important;
}

/* Fallback: si no hay items reales dentro de la tabla */
body.woocommerce-cart .gm-cart-custom:not(:has(.woocommerce-cart-form__cart-item)) .coupon.e-cart-section,
body.woocommerce-cart .gm-cart-custom:not(:has(.woocommerce-cart-form__cart-item)) .e-cart__column-end,
body.woocommerce-cart .gm-cart-custom:not(:has(.woocommerce-cart-form__cart-item)) .texto-cupon {
  display: none !important;
}







/* =========================================
   CART VACÍO - TOP TENIS
   Scope: .gm-cart-custom
========================================= */

/* Contenedor general del mensaje vacío */
.gm-cart-custom .wc-empty-cart-message {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 28px !important;
}

/* Caja del mensaje */
.gm-cart-custom .cart-empty.woocommerce-info {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-height: 86px !important;
  margin: 0 !important;
  padding: 24px 32px !important;

  border: 0 !important;
  border-radius: 0px !important;
  background: #F5F5F5 !important;

  color: #000 !important;
  font-family: "Poppins"!important;
  font-size: 25px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* Quitar línea azul superior default de WooCommerce */
.gm-cart-custom .cart-empty.woocommerce-info::before {
  content: none !important;
  display: none !important;
}

/* Quitar borde superior default de WooCommerce */
.gm-cart-custom .woocommerce-info {
  border-top: 0 !important;
}

/* Contenedor del botón */
.gm-cart-custom .return-to-shop {
  display: flex !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Botón volver a tienda */
.gm-cart-custom .return-to-shop .button.wc-backward {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 190px !important;
  min-height: 48px !important;
  padding: 12px 28px !important;

  border: 1px solid #2B2B2B !important;
  border-radius: 0px !important;
  background: #2B2B2B !important;

  color: #fff !important;
  font-family: "Poppins"!important;
  font-size: 16px !important;
  text-transform: uppercase;
  line-height: 1 !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;

  box-shadow: none !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}

/* Hover botón */
.gm-cart-custom .return-to-shop .button.wc-backward:hover,
.gm-cart-custom .return-to-shop .button.wc-backward:focus {
  background: transparent !important;
  border-color: #2B2B2B !important;
  color: #2B2B2B !important;
}

/* Responsive */
@media (max-width: 767px) {
  .gm-cart-custom .cart-empty.woocommerce-info {
    min-height: 74px !important;
    padding: 20px 22px !important;
    border-radius: 0px !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    text-align: center !important;
  }

  .gm-cart-custom .return-to-shop {
    justify-content: center !important;
  }

  .gm-cart-custom .return-to-shop .button.wc-backward {
    width: 100% !important;
    max-width: 260px !important;
    min-height: 46px !important;
    font-size: 15px !important;
    border-radius: 0px !important;
  }
}








/* =========================================
   TOP TENIS - QUANTITY GLOBAL FINAL
   Single product + carrito
========================================= */

/* Wrapper general */
.quantity.tt-qty-enhanced {
  position: relative !important;
  display: inline-grid !important;
  grid-template-columns: 1fr 32px !important;
  grid-template-rows: 17px 17px !important;
  width: 118px !important;
  min-width: 118px !important;
  height: 34px !important;
  border: 1px solid #000 !important;
  border-radius: 0px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

/* Ocultar flechas nativas */
.quantity.tt-qty-enhanced input.qty::-webkit-outer-spin-button,
.quantity.tt-qty-enhanced input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.quantity.tt-qty-enhanced input.qty {
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

/* Campo numérico */
.quantity.tt-qty-enhanced input.qty {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #000 !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 34px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-indent: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Botones */
.quantity.tt-qty-enhanced .tt-qty-btn {
  position: relative !important;
  display: block !important;
  grid-column: 2 !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid #000 !important;
  border-radius: 0 !important;
  background: #000 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color .2s ease !important;
}

.quantity.tt-qty-enhanced .tt-qty-plus {
  grid-row: 1 !important;
  border-bottom: 1px solid #000 !important;
}

.quantity.tt-qty-enhanced .tt-qty-minus {
  grid-row: 2 !important;
}

/* Flechas realmente centradas */
.quantity.tt-qty-enhanced .tt-qty-btn::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 6px !important;
  height: 6px !important;
  margin: 0 !important;
  transform-origin: center !important;
  box-sizing: border-box !important;
}

.quantity.tt-qty-enhanced .tt-qty-plus::before {
  border-top: 1.5px solid #fff !important;
  border-right: 1.5px solid #fff !important;
  transform: translate(-50%, -35%) rotate(-45deg) !important;
}

.quantity.tt-qty-enhanced .tt-qty-minus::before {
  border-right: 1.5px solid #fff !important;
  border-bottom: 1.5px solid #fff !important;
  transform: translate(-50%, -80%) rotate(45deg) !important;
}

/* Hover */
.quantity.tt-qty-enhanced .tt-qty-btn:hover {
  background: #EDEDED !important;
}

.quantity.tt-qty-enhanced .tt-qty-btn:hover::before {
  border-color: #000 !important;
}

/* Focus / active */
/* Focus no debe dejar el botón en estado hover después del click */
.quantity.tt-qty-enhanced .tt-qty-btn:focus {
  background: #000 !important;
  outline: none !important;
}

.quantity.tt-qty-enhanced .tt-qty-btn:focus::before {
  border-color: #fff !important;
}

/* Mientras se presiona sí puede verse gris */
.quantity.tt-qty-enhanced .tt-qty-btn:active {
  background: #EDEDED !important;
}

.quantity.tt-qty-enhanced .tt-qty-btn:active::before {
  border-color: #000 !important;
}

/* Disabled: seguir negro como pediste */
.quantity.tt-qty-enhanced .tt-qty-btn:disabled,
.quantity.tt-qty-enhanced .tt-qty-btn[disabled] {
  background: #000 !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}

.quantity.tt-qty-enhanced .tt-qty-btn:disabled::before,
.quantity.tt-qty-enhanced .tt-qty-btn[disabled]::before {
  border-color: #fff !important;
}

/* =========================
   AJUSTE ESPECÍFICO CARRITO
========================= */
td.product-quantity .quantity.tt-qty-enhanced,
.woocommerce-cart-form .quantity.tt-qty-enhanced,
.woocommerce .cart .quantity.tt-qty-enhanced {
  width: 108px !important;
  min-width: 108px !important;
  height: 34px !important;
  grid-template-columns: 1fr 31px !important;
  grid-template-rows: 17px 17px !important;
  border: 1px solid #000 !important;
  border-radius: 0px !important;
}

td.product-quantity .quantity.tt-qty-enhanced input.qty,
.woocommerce-cart-form .quantity.tt-qty-enhanced input.qty,
.woocommerce .cart .quantity.tt-qty-enhanced input.qty {
  height: 34px !important;
  line-height: 34px !important;
  padding: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

td.product-quantity .quantity.tt-qty-enhanced .tt-qty-btn,
.woocommerce-cart-form .quantity.tt-qty-enhanced .tt-qty-btn,
.woocommerce .cart .quantity.tt-qty-enhanced .tt-qty-btn {
  width: 31px !important;
  min-width: 31px !important;
  height: 17px !important;
  border-left: 1px solid #000 !important;
  background: #000 !important;
}

td.product-quantity .quantity.tt-qty-enhanced .tt-qty-plus,
.woocommerce-cart-form .quantity.tt-qty-enhanced .tt-qty-plus,
.woocommerce .cart .quantity.tt-qty-enhanced .tt-qty-plus {
  border-bottom: 1px solid #000 !important;
}

/* Hover carrito */
td.product-quantity .quantity.tt-qty-enhanced .tt-qty-btn:hover,
.woocommerce-cart-form .quantity.tt-qty-enhanced .tt-qty-btn:hover,
.woocommerce .cart .quantity.tt-qty-enhanced .tt-qty-btn:hover {
  background: #EDEDED !important;
}

td.product-quantity .quantity.tt-qty-enhanced .tt-qty-btn:hover::before,
.woocommerce-cart-form .quantity.tt-qty-enhanced .tt-qty-btn:hover::before,
.woocommerce .cart .quantity.tt-qty-enhanced .tt-qty-btn:hover::before {
  border-color: #000 !important;
}

/* =========================
   MOBILE
========================= */
@media (max-width: 767px) {
  .quantity.tt-qty-enhanced {
    width: 102px !important;
    min-width: 102px !important;
    height: 32px !important;
    grid-template-columns: 1fr 30px !important;
    grid-template-rows: 16px 16px !important;
    border-radius: 0px !important;
  }

  .quantity.tt-qty-enhanced input.qty {
    height: 32px !important;
    line-height: 32px !important;
    font-size: 15px !important;
  }

  .quantity.tt-qty-enhanced .tt-qty-btn {
    width: 30px !important;
    min-width: 30px !important;
    height: 16px !important;
  }
}





/* =========================================
   QUANTITY - AJUSTE SOLO WIDGET CART
   No afecta single product / add to cart
========================================= */

.gm-cart-custom td.product-quantity .quantity.tt-qty-enhanced input.qty {
  padding: 5px 0 0 !important;
  line-height: 34px !important;
}

/* Asegurar que el add to cart NO herede ese padding */
body:not(.woocommerce-cart) .single_variation_wrap .quantity.tt-qty-enhanced input.qty,
body:not(.woocommerce-cart) form.cart .quantity.tt-qty-enhanced input.qty,
.single-product .quantity.tt-qty-enhanced input.qty {
  padding: 0 !important;
}












/* =========================================
   CART MOBILE - QUANTITY FLECHAS VERTICALES
   Solo widget cart responsive
========================================= */

@media (max-width: 767px) {

  /* Contenedor quantity: número izquierda, flechas derecha */
  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced {
    display: grid !important;
    grid-template-columns: 72px 30px !important;
    grid-template-rows: 17px 17px !important;
    width: 102px !important;
    min-width: 102px !important;
    height: 34px !important;
    margin: 0 20px 0 0 !important;
    padding: 0 !important;
    border: 1px solid #000 !important;
    border-radius: 0px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  /* Input ocupa toda la columna izquierda */
  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced input.qty {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 72px !important;
    min-width: 72px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 4px 0 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #000 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 34px !important;
    text-align: center !important;
    box-shadow: none !important;
  }

  /* Botones base */
  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-btn {
    position: relative !important;
    display: block !important;
    grid-column: 2 !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid #000 !important;
    border-radius: 0 !important;
    background: #000 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    box-shadow: none !important;
  }

  /* Flecha arriba: fila 1 */
  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-plus {
    grid-row: 1 !important;
    border-bottom: 1px solid #000 !important;
  }

  /* Flecha abajo: fila 2 */
  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-minus {
    grid-row: 2 !important;
  }

  /* Flechas centradas */
  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-btn::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 6px !important;
    height: 6px !important;
    box-sizing: border-box !important;
  }

  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-plus::before {
    border-top: 1.5px solid #fff !important;
    border-right: 1.5px solid #fff !important;
    transform: translate(-50%, -35%) rotate(-45deg) !important;
  }

  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-minus::before {
    border-right: 1.5px solid #fff !important;
    border-bottom: 1.5px solid #fff !important;
    transform: translate(-50%, -70%) rotate(45deg) !important;
  }

  /* Hover */
  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-btn:hover {
    background: #EDEDED !important;
  }

  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-btn:hover::before {
    border-color: #000 !important;
  }

  /* Al soltar/click fuera vuelve a negro */
  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-btn:not(:hover):not(:active) {
    background: #000 !important;
  }

  .gm-cart-custom table.shop_table.cart td.product-quantity .quantity.tt-qty-enhanced .tt-qty-btn:not(:hover):not(:active)::before {
    border-color: #fff !important;
  }
}




/* LIGHTBOX SINGLE PRODUCT IMAGEN DE PRODUCTO MÁS TRANSPARENTE */
.pswp__bg{
  opacity: 0.72 !important;
}













/* =========================================
   SINGLE PRODUCT - GALERÍA PRODUCTO
   Fondo gris + marco fijo + thumbs completas
========================================= */

.open-gallery .flex-viewport,
.open-gallery .woocommerce-product-gallery__image {
  height: 430px !important;
  max-height: 430px !important;
  /*background: #F5F5F5 !important;*/
	border-radius: 0px !important;
  overflow: hidden !important;
}

.open-gallery .woocommerce-product-gallery__image > a {
  height: 430px !important;
  padding: 42px 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.open-gallery .woocommerce-product-gallery__image img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Miniaturas */
.open-gallery .flex-control-nav.flex-control-thumbs {
  display: flex !important;
  gap: 10px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.open-gallery .flex-control-nav.flex-control-thumbs li {
  width: 105px !important;
  height: 104px !important;
  min-width: 120px !important;
  padding: 14px !important;
  /*background: #F5F5F5 !important;*/
  border-radius: 0px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.open-gallery .flex-control-nav.flex-control-thumbs li img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 0.45 !important;
  margin: 0 auto !important;
}

.open-gallery .flex-control-nav.flex-control-thumbs li img.flex-active,
.open-gallery .flex-control-nav.flex-control-thumbs li:hover img {
  opacity: 1 !important;
}

/* Responsive */
@media (max-width: 1024px) {
  .open-gallery .flex-viewport,
  .open-gallery .woocommerce-product-gallery__image,
  .open-gallery .woocommerce-product-gallery__image > a {
    height: 380px !important;
    max-height: 380px !important;
  }

  .open-gallery .woocommerce-product-gallery__image > a {
    padding: 36px 36px !important;
  }

  .open-gallery .flex-control-nav.flex-control-thumbs li {
    width: 92px !important;
    height: 92px !important;
    min-width: 108px !important;
    padding: 12px !important;
  }
}

@media (max-width: 767px) {
  .open-gallery .flex-viewport,
  .open-gallery .woocommerce-product-gallery__image,
  .open-gallery .woocommerce-product-gallery__image > a {
    height: 315px !important;
    max-height: 315px !important;
    border-radius: 0px !important;
  }

  .open-gallery .woocommerce-product-gallery__image > a {
    padding: 28px 26px !important;
  }

  .open-gallery .flex-control-nav.flex-control-thumbs {
    gap: 10px !important;
    margin-top: 14px !important;
  }

  .open-gallery .flex-control-nav.flex-control-thumbs li {
    width: 76px !important;
    height: 76px !important;
    min-width: 85px !important;
    padding: 9px !important;
    border-radius: 0px !important;
  }
}






/* Quitar fondo blanco del zoom */
.clear-img .woocommerce-product-gallery__wrapper .zoomImg {
  background: transparent !important;
  background-color: transparent !important;
  z-index: 2 !important;
}

/* Imagen base */
.clear-img .woocommerce-product-gallery__image img.wp-post-image {
  position: relative;
  z-index: 1 !important;
  transition: opacity .12s ease;
}

/* Mientras hover activa el zoom, ocultamos la base */
.clear-img .woocommerce-product-gallery__image:hover img.wp-post-image {
  opacity: 0 !important;
}









/* =========================================
   MI CUENTA - AJUSTE MINIMO LOGIN / REGISTRO
   Clase widget My Account: info-user
========================================= */

/* Títulos alineados con los campos, sin mover columnas */
.info-user #customer_login .u-column1 h2,
.info-user #customer_login .u-column2 h2 {
  padding-left: 35px !important;
  margin-left: 0 !important;
}

/* Campos con border radius uniforme */
.info-user #customer_login input.input-text,
.info-user #customer_login input[type="text"],
.info-user #customer_login input[type="email"],
.info-user #customer_login input[type="password"] {
  border-radius: 0px !important;
  background: #F5F5F5 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Wrapper password también sin bordes raros */
.info-user #customer_login .password-input {
  display: block !important;
  width: 100% !important;
}

/* Registro como grid visual para reordenar campos con CSS */
.info-user #customer_login form.register {
  display: grid !important;
  grid-template-columns: 1fr !important;
}

/* Todos los campos del registro ocupan ancho completo */
.info-user #customer_login form.register .form-row {
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* Nombre primero */
.info-user #customer_login form.register #reg_first_name_field,
.info-user #customer_login form.register p:has(#reg_first_name) {
  order: 1 !important;
}

/* Apellido segundo */
.info-user #customer_login form.register #reg_last_name_field,
.info-user #customer_login form.register p:has(#reg_last_name) {
  order: 2 !important;
}

/* Email tercero */
.info-user #customer_login form.register p:has(#reg_email) {
  order: 3 !important;
}

/* Contraseña cuarta */
.info-user #customer_login form.register p:has(#reg_password) {
  order: 4 !important;
}

/* Textos ocultos/atribución después de campos */
.info-user #customer_login form.register .clear,
.info-user #customer_login form.register wc-order-attribution-inputs {
  order: 5 !important;
}

/* Privacidad */
.info-user #customer_login form.register .woocommerce-privacy-policy-text {
  order: 6 !important;
}

/* Botón */
.info-user #customer_login form.register p:has(.woocommerce-form-register__submit) {
  order: 7 !important;
}

/* Nombre y apellido igual que correo/contraseña */
.info-user #customer_login form.register p:has(#reg_first_name),
.info-user #customer_login form.register p:has(#reg_last_name) {
  margin-bottom: 20px !important;
}

/* Evitar que Nombre/Apellido se queden en dos columnas */
.info-user #customer_login form.register .form-row-first,
.info-user #customer_login form.register .form-row-last {
  width: 100% !important;
  float: none !important;
  margin-right: 0 !important;
}

/* Responsive: no cambiar columnas, solo mantener orden */
@media (max-width: 767px) {
  .info-user #customer_login .u-column1 h2,
  .info-user #customer_login .u-column2 h2 {
    padding-left: 0 !important;
  }
}






/* =========================================
   PLANTILLA GRACIAS POR TU COMPRA
========================================= */

/* Oculta la plantilla personalizada solo en checkout normal.
   No la oculta en order-received ni en Elementor. */
body:not(.woocommerce-order-received):not(.elementor-editor-active):not(.elementor-editor-preview) .tt-order-received-template {
  display: none !important;
}

/* Muestra la plantilla personalizada cuando ya se recibió el pedido */
body.woocommerce-order-received .tt-order-received-template {
  display: block !important;
}

/* Permite verla dentro del editor de Elementor */
body.elementor-editor-active .tt-order-received-template,
body.elementor-editor-preview .tt-order-received-template {
  display: block !important;
}

/* Oculta el checkout/default de WooCommerce en pedido recibido */
body.woocommerce-order-received .gm-checkout-custom {
  display: none !important;
}

/* Oculta el bloque completo del checkout en pedido recibido */
body.woocommerce-order-received .tt-checkout-form {
  display: none !important;
}

/* Oculta el título "Proceso de pago" en pedido recibido */
body.woocommerce-order-received .tt-checkout-title {
  display: none !important;
}










/* =========================================
   TOP TENIS - OCULTAR LIMPIAR SOLO EN ADD TO CART
========================================= */

.elementor-widget-woocommerce-product-add-to-cart .variations_form .reset_variations {
    display: none !important;
}










/* =========================================
   TOP TENIS - Login checkout seguro y alineado
   No rompe abrir/cerrar del toggle
========================================= */

/* IMPORTANTE:
   No forzar display sobre .e-woocommerce-login-anchor.
   Ese contenedor lo abre/cierra Elementor/WooCommerce.
*/

.gm-checkout-custom .e-woocommerce-login-section,
.gm-checkout-custom .e-woocommerce-login-section * {
  box-sizing: border-box;
}

/* Contenedor interno del login */
.gm-checkout-custom .e-woocommerce-login-section .e-login-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  text-align: left !important;
}

/* Texto introductorio */
.gm-checkout-custom .e-woocommerce-login-section .e-woocommerce-login-nudge {
  width: 100% !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  text-align: left !important;
}

/* ================================
   CAMPOS LOGIN - DESKTOP
================================ */

@media (min-width: 1025px) {
  .gm-checkout-custom .e-woocommerce-login-section .e-login-wrap-start {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .gm-checkout-custom .e-woocommerce-login-section .e-login-wrap-start .form-row {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .gm-checkout-custom .e-woocommerce-login-section .e-login-wrap-start .clear {
    display: none !important;
  }
}

/* ================================
   CAMPOS LOGIN - TABLET / MOBILE
================================ */

@media (max-width: 1024px) {
  .gm-checkout-custom .e-woocommerce-login-section .e-login-wrap-start {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .gm-checkout-custom .e-woocommerce-login-section .e-login-wrap-start .form-row {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    text-align: left !important;
  }
}

/* Inputs login */
.gm-checkout-custom .e-woocommerce-login-section .e-login-wrap-start input.input-text {
  width: 100% !important;
  max-width: 100% !important;
}

/* ================================
   BOTÓN LOGIN
================================ */

/* Contenedor del botón */
.gm-checkout-custom .e-woocommerce-login-section .e-login-wrap-end {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Fila donde vive el botón */
.gm-checkout-custom .e-woocommerce-login-section .e-login-wrap-end .form-row {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Ocultar label vacío del botón */
.gm-checkout-custom .e-woocommerce-login-section .e-login-label {
  display: none !important;
}

/* Botón iniciar sesión */
.gm-checkout-custom .e-woocommerce-login-section .e-woocommerce-form-login-submit,
.gm-checkout-custom .e-woocommerce-login-section button[name="login"] {
  width: auto !important;
  max-width: none !important;
  min-width: 190px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* ================================
   RECORDARME / OLVIDASTE CONTRASEÑA
================================ */

.gm-checkout-custom .e-woocommerce-login-section .e-login-actions-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  padding-left: 10px !important;
  text-align: left !important;
}

/* Recordarme */
.gm-checkout-custom .e-woocommerce-login-section .e-login-actions-wrap-start {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  text-align: left !important;
}

.gm-checkout-custom .e-woocommerce-login-section .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.gm-checkout-custom .e-woocommerce-login-section .woocommerce-form-login__rememberme input[type="checkbox"] {
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  appearance: checkbox !important;
  -webkit-appearance: checkbox !important;
}

/* Olvidaste contraseña */
.gm-checkout-custom .e-woocommerce-login-section .e-login-actions-wrap-end {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.gm-checkout-custom .e-woocommerce-login-section .lost_password {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.gm-checkout-custom .e-woocommerce-login-section .lost_password a {
  display: inline-block !important;
  text-align: left !important;
}


/* =========================================
   TOP TENIS - Login checkout: sin fondo
========================================= */

.e-woocommerce-login-section .e-woocommerce-login-anchor {
  background-color: transparent;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}







/*ALINEAR LABELS DE TALLA Y COLOR SINGLE PRODUCT*/
.tt-product-options table.variations th.label,
.tt-product-options table.variations td.value {
  display: block;
  width: 100%;
  padding-left: 0 !important;
  margin-left: 0 !important;
  text-align: left;
}

.tt-product-options table.variations th.label label {
  display: block;
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: left;
}

.tt-product-options .swatchly-type-wrap {
  margin-left: 0 !important;
  padding-left: 0 !important;
  justify-content: flex-start;
}



/* Reducir espacio entre label y opciones */
.tt-product-options table.variations th.label {
  margin-bottom: 5px !important;
  padding-bottom: 0 !important;
}

.tt-product-options table.variations td.value {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.tt-product-options .swatchly-type-wrap {
  margin-top: 0 !important;
}






/* =========================================
   Menú: flecha dropdown respeta colores de Elementor
   Clase en widget Nav Menu: menu-icono-dinamico
========================================= */

.menu-icono-dinamico .elementor-nav-menu .menu-item-has-children > .elementor-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.menu-icono-dinamico .elementor-nav-menu .sub-arrow {
  color: inherit;
  fill: currentColor;
  line-height: 1;
}

.menu-icono-dinamico .elementor-nav-menu .sub-arrow svg,
.menu-icono-dinamico .elementor-nav-menu .sub-arrow svg path {
  fill: currentColor !important;
  color: inherit;
}

/* Hover: la flecha hereda el color hover del link configurado en Elementor */
.menu-icono-dinamico .elementor-nav-menu .menu-item-has-children > .elementor-item:hover .sub-arrow,
.menu-icono-dinamico .elementor-nav-menu .menu-item-has-children > .elementor-item:hover .sub-arrow svg,
.menu-icono-dinamico .elementor-nav-menu .menu-item-has-children > .elementor-item:hover .sub-arrow svg path {
  fill: currentColor !important;
  color: inherit;
}

/* Active/current: hereda el color active configurado en Elementor */
.menu-icono-dinamico .elementor-nav-menu .current-menu-item > .elementor-item .sub-arrow,
.menu-icono-dinamico .elementor-nav-menu .current_page_item > .elementor-item .sub-arrow,
.menu-icono-dinamico .elementor-nav-menu .current_page_parent > .elementor-item .sub-arrow,
.menu-icono-dinamico .elementor-nav-menu .current-menu-ancestor > .elementor-item .sub-arrow,
.menu-icono-dinamico .elementor-nav-menu .current-menu-parent > .elementor-item .sub-arrow {
  color: inherit;
  fill: currentColor;
}










/* =========================================
   Mi cuenta - Recuperar contraseña centrado
   Clase en Elementor: cuenta-reset
   ========================================= */

.cuenta-reset .woocommerce-ResetPassword.lost_reset_password {
  max-width: 560px;
  margin: 0 auto;
  text-align: left;
}

.cuenta-reset .woocommerce-ResetPassword .woocommerce-form-row {
  width: 100%;
  float: none;
}

.cuenta-reset .woocommerce-ResetPassword label {
  display: block;
  margin-bottom: 8px;
}

.cuenta-reset .woocommerce-ResetPassword input.input-text {
  width: 100%;
}

.cuenta-reset .woocommerce-ResetPassword .woocommerce-Button.button {
  display: block;
  margin: 18px auto 0;
}















/* =========================================
   WooCommerce - Badge de oferta
   ========================================= */

.single-product span.onsale,
.single-product .onsale {
  background-color: #000000;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  width: 68px;
  height: 68px;
  min-width: 68px;
  min-height: 68px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  text-align: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
  z-index: 5;
}






/* PRECIO PRODUCTO - SOLO AJUSTE DEL PRECIO TACHADO
   Clase del widget Product Price: min-price
   Elementor controla el precio principal.
*/

.min-price.elementor-widget-woocommerce-product-price p.price del {
  font-size: calc(1em - 7px);
  font-weight: 500;
  opacity: 1;
  color: inherit;
  text-decoration: line-through;
}

/* Evita que WooCommerce/Elementor duplique tamaños internos */
.min-price.elementor-widget-woocommerce-product-price p.price del .woocommerce-Price-amount,
.min-price.elementor-widget-woocommerce-product-price p.price del bdi,
.min-price.elementor-widget-woocommerce-product-price p.price del .woocommerce-Price-currencySymbol {
  font-size: inherit;
  font-weight: inherit;
}

/* Limpieza del precio actual en oferta */
.min-price.elementor-widget-woocommerce-product-price p.price ins {
  text-decoration: none;
  background: transparent;
  color: inherit;
}






/* Card de producto clickeable */
.card-go {
  cursor: pointer;
}






/* WooCommerce notices: mensajes positivos y negativos */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-NoticeGroup .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-info {
  border-top-color: #2B2B2B;
  color: #000;
}

/* Texto y links dentro de los mensajes */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message a:not(.button),
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error a:not(.button),
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info a:not(.button),
.woocommerce-NoticeGroup .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-message a:not(.button),
.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error a:not(.button),
.woocommerce-NoticeGroup .woocommerce-info,
.woocommerce-NoticeGroup .woocommerce-info a:not(.button) {
  color: #000;
}

/* Botón dentro de los mensajes */
.woocommerce-notices-wrapper .button.wc-forward,
.woocommerce-NoticeGroup .button.wc-forward {
  border-radius: 0px;
  border: 1px solid transparent;
  background-color: #2B2B2B;
  color: #fff;
  text-transform: uppercase;
}

/* Hover del botón */
.woocommerce-notices-wrapper .button.wc-forward:hover,
.woocommerce-NoticeGroup .button.wc-forward:hover {
  border-color: #2B2B2B;
  background-color: transparent;
  color: #2B2B2B;
}




/* Menú tienda unido con submenu */
@media (min-width: 1025px) {

  .menu-bloque .elementor-nav-menu--main > ul > li.menu-item-has-children {
    position: relative;
  }

  /* Submenu alineado al item Tienda */
  .menu-bloque .elementor-nav-menu--main > ul > li.menu-item-has-children > ul.sub-menu {
	width: calc(100% - 2px) !important;
	min-width: calc(100% - 2px) !important;
	max-width: calc(100% - 2px) !important;

    left: 0 !important;
    right: auto !important;
    transform: none !important;

    margin-left: 0 !important;
    margin-top: 0 !important;

    box-sizing: border-box;
  }

  /* Cuando el submenu está abierto, quitamos radios inferiores del enlace */
  /*.menu-bloque .elementor-nav-menu--main > ul > li.menu-item-has-children:hover > a.elementor-item,
  .menu-bloque .elementor-nav-menu--main > ul > li.menu-item-has-children:focus-within > a.elementor-item,
  .menu-bloque .elementor-nav-menu--main > ul > li.menu-item-has-children > a.elementor-item.highlighted,
  .menu-bloque .elementor-nav-menu--main > ul > li.menu-item-has-children > a.elementor-item[aria-expanded="true"] {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }*/
	
  .menu-bloque .elementor-nav-menu--main > ul > li.menu-item-has-children > a.elementor-item.highlighted,
  .menu-bloque .elementor-nav-menu--main > ul > li.menu-item-has-children > a.elementor-item[aria-expanded="true"] {
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	transition: background-color .2s ease, color .2s ease !important;
  }

  /* IMPORTANTE: Elementor pinta el fondo del item con ::before */
 /* .menu-bloque .elementor-nav-menu--main.e--pointer-background > ul > li.menu-item-has-children:hover > a.elementor-item::before,
  .menu-bloque .elementor-nav-menu--main.e--pointer-background > ul > li.menu-item-has-children:focus-within > a.elementor-item::before,
  .menu-bloque .elementor-nav-menu--main.e--pointer-background > ul > li.menu-item-has-children > a.elementor-item.highlighted::before,
  .menu-bloque .elementor-nav-menu--main.e--pointer-background > ul > li.menu-item-has-children > a.elementor-item[aria-expanded="true"]::before {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }*/
	
  .menu-bloque .elementor-nav-menu--main.e--pointer-background > ul > li.menu-item-has-children > a.elementor-item.highlighted::before,
  .menu-bloque .elementor-nav-menu--main.e--pointer-background > ul > li.menu-item-has-children > a.elementor-item[aria-expanded="true"]::before {
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	transition: background-color .2s ease, color .2s ease !important;
  }
}





/* GROW SUAVE SOLO EN EL ITEM PRINCIPAL SIN DROPDOWN */
.menu-grow-soft .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item{
  display: inline-flex;
  align-items: center;
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
  transform-origin: center center;
  will-change: transform;
}

.menu-grow-soft .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover{
  transform: scale(1.05);
}






/* Carrusel con flechas abajo a la derecha */
.arrow-down .elementor-image-carousel-wrapper {
  position: relative;
  overflow: visible !important;
}

/* Flechas base */
.arrow-down .elementor-swiper-button {
  position: absolute !important;
  top: auto !important;
  bottom: -30px !important;
  transform: none !important;
  z-index: 10 !important;

  width: auto !important;
  height: auto !important;

  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  transition: color 0.25s ease, fill 0.25s ease;
}

/* Flecha izquierda */
.arrow-down .elementor-swiper-button-prev {
  left: auto !important;
  right: 40px !important;
}

/* Flecha derecha */
.arrow-down .elementor-swiper-button-next {
  left: auto !important;
  right: 12px !important;
}

/* Tamaño del SVG */
.arrow-down .elementor-swiper-button svg {
  width: 36px;
  height: 36px;
  fill: currentColor;
}

/* Evita que el click/focus deje color pegado */
.arrow-down .elementor-swiper-button:focus,
.arrow-down .elementor-swiper-button:active,
.arrow-down .elementor-swiper-button:focus-visible {
  color: inherit !important;
  outline: none !important;
}

/* Hover real */
.arrow-down .elementor-swiper-button:hover {
  color: #46693C !important;
}

/* Hover aplicado directamente al SVG/path */
.arrow-down .elementor-swiper-button:hover svg,
.arrow-down .elementor-swiper-button:hover svg path {
  fill: #46693C !important;
  color: #46693C !important;
}





/* Icono relleno de WhatsApp */
.elementor-share-btn_whatsapp .elementor-share-btn__icon svg,
.elementor-share-btn_whatsapp .elementor-share-btn__icon i {
    display: none !important;
}

.elementor-share-btn_whatsapp .elementor-share-btn__icon::before {
    content: "";
    display: block;
    width: 1.7em;
    height: 1.7em; 
    background-color: currentColor;
    -webkit-mask-image: url('/wp-content/uploads/2026/06/whatsapp.svg');
    mask-image: url('/wp-content/uploads/2026/06/whatsapp.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}




/* AJUSTE ALINEACIÓN BLOG */
/* Título blog limitado a 2 líneas */
.tt-blog-title-clamp .elementor-heading-title a{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* Excerpt blog limitado a 3 líneas */
.tt-blog-excerpt-clamp,
.tt-blog-excerpt-clamp p{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* Base para evitar cortes raros de palabras */
.tt-blog-title-clamp .elementor-heading-title a,
.tt-blog-excerpt-clamp,
.tt-blog-excerpt-clamp p{
  overflow: hidden;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
	
	


/* Ocultar título nativo del theme en internas de Custom Post Types */
/* Ocultar únicamente el título nativo en las internas del CPT Marca */
body.single-marca main.site-main > .page-header,
body.single-marca main.site-main > article > .entry-header,
body.single-marca main.site-main > article > header.entry-header,
body.single-marca main.site-main > article > .entry-title {
  display: none !important;
}




/* FIX CONTENEDOR DESBORDAMIENTO LATERAL HOME */
/*@media (max-width: 767px) {
  body.home .elementor-element-fdcab8f {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (max-width: 767px) {
  body.home .elementor-element-fdcab8f,
  body.home .elementor-element-fdcab8f > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}*/








/* =========================================
   TOP TENIS - FILTRO HUSKY
   Clase contenedor Elementor: gm-shop-filters-husky
========================================= */

.gm-shop-filters-husky,
.gm-shop-filters-husky * {
  box-sizing: border-box;
}

.gm-shop-filters-husky {
  background: #fff;
  color: #2B2B2B;
  font-family: "Poppins", sans-serif !important;
  overflow: visible !important;
}

.gm-shop-filters-husky .elementor-widget-container,
.gm-shop-filters-husky .elementor-shortcode,
.gm-shop-filters-husky .woof,
.gm-shop-filters-husky .woof_redraw_zone {
  width: 100%;
  background: transparent !important;
}

.gm-shop-filters-husky ul,
.gm-shop-filters-husky li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.gm-shop-filters-husky .woof_container {
  width: 100%;
  margin: 0 0 18px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid #DEDEDE;
  background: transparent !important;
  overflow: visible !important;
}

.gm-shop-filters-husky .woof_container:last-of-type {
  margin-bottom: 0 !important;
}

/* Ocultar elementos extra del plugin */
.gm-shop-filters-husky .woof_count,
.gm-shop-filters-husky .woof_radio_term_reset,
.gm-shop-filters-husky .woof_checkbox_term_reset,
.gm-shop-filters-husky .woof_container_overlay_item,
.gm-shop-filters-husky .woof_tooltip_header,
.gm-shop-filters-husky .woof_tooltip_templates {
  display: none !important;
}

/* =========================================
   TÍTULOS GENERALES
========================================= */

.gm-shop-filters-husky .woof_container h4,
.gm-shop-filters-husky .woof_container .widget-title,
.gm-shop-filters-husky .woof_container .woof_front_toggle {
  display: block !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

/* Ocultar título de Género */
.gm-shop-filters-husky .woof_container_pa_genero h4 {
  display: none !important;
}

/* =========================================
   GÉNERO - ITEMS PRINCIPALES
========================================= */

.gm-shop-filters-husky .woof_list_radio {
  width: 100%;
}

.gm-shop-filters-husky .woof_list_radio li {
  position: relative !important;
  display: block !important;
  width: 100%;
  min-height: 40px !important;
  margin: 0 0 4px !important;
}

/* Ocultar radio real/iCheck, manteniendo click funcional */
.gm-shop-filters-husky .woof_list_radio li > .iradio_square-blue {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 5 !important;
  cursor: pointer !important;
}

.gm-shop-filters-husky .woof_list_radio li > .iradio_square-blue input,
.gm-shop-filters-husky .woof_list_radio li > .iradio_square-blue ins {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

/* Fila base de radio */
.gm-shop-filters-husky .woof_list_radio label.woof_radio_label {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 8px 42px 8px 12px !important;

  border: 0 !important;
  border-radius: 0px !important;
  background: transparent !important;
  color: #111 !important;

  font-family: "Poppins", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  text-transform: uppercase !important;

  cursor: pointer !important;
  overflow: hidden !important;
  transition: background-color .18s ease, color .18s ease !important;
}

/* Alinear SOLO género con headers: MARCAS / CATEGORÍA / TALLAS */
.gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio label.woof_radio_label {
  margin-left: -12px !important;
  width: calc(100% + 12px) !important;
  padding-left: 12px !important;
}

/* Flecha normal para género */
.gm-shop-filters-husky .woof_list_radio label.woof_radio_label::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  z-index: 1;
  width: 21px;
  height: 21px;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='%232B2B2B' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/></svg>");
}

/* Hover / activo para género */
.gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio li:hover label.woof_radio_label,
.gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio li:has(input:checked) label.woof_radio_label,
.gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio li:has(.iradio_square-blue.checked) label.woof_radio_label {
  margin-left: -12px !important;
  width: calc(100% + 12px) !important;
  padding: 8px 42px 8px 12px !important;
  background: #2B2B2B !important;
  color: #fff !important;
}

.gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio li:hover label.woof_radio_label::after,
.gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio li:has(input:checked) label.woof_radio_label::after,
.gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio li:has(.iradio_square-blue.checked) label.woof_radio_label::after {
  right: 10px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='%23FFFFFF' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/></svg>");
}

/* =========================================
   ACORDEONES: MARCAS / CATEGORÍA / TALLAS
========================================= */

.gm-shop-filters-husky .woof_container_product_brand h4,
.gm-shop-filters-husky .woof_container_product_cat h4,
.gm-shop-filters-husky .woof_container_pa_talla h4 {
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: calc(100% + 12px) !important;
  min-height: 40px !important;
  margin: 0 0 4px -12px !important;
  padding: 8px 42px 8px 12px !important;

  border-radius: 0px !important;
  background: transparent !important;
  color: #111 !important;

  font-family: "Poppins", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  text-transform: uppercase !important;

  cursor: pointer;
  user-select: none;
  transition: background-color .18s ease, color .18s ease !important;
}

/* Hover headers igual a Género */
.gm-shop-filters-husky .woof_container_product_brand h4:hover,
.gm-shop-filters-husky .woof_container_product_cat h4:hover,
.gm-shop-filters-husky .woof_container_pa_talla h4:hover {
  background: #2B2B2B !important;
  color: #fff !important;
}

/* Header abierto normal */
.gm-shop-filters-husky .woof_container_product_brand.is-open h4,
.gm-shop-filters-husky .woof_container_product_cat.is-open h4,
.gm-shop-filters-husky .woof_container_pa_talla.is-open h4 {
  background: transparent !important;
  color: #111 !important;
}

/* Header abierto + hover igual a Género */
.gm-shop-filters-husky .woof_container_product_brand.is-open h4:hover,
.gm-shop-filters-husky .woof_container_product_cat.is-open h4:hover,
.gm-shop-filters-husky .woof_container_pa_talla.is-open h4:hover {
  background: #2B2B2B !important;
  color: #fff !important;
}

/* Flecha acordeón cerrado */
.gm-shop-filters-husky .woof_container_product_brand h4::after,
.gm-shop-filters-husky .woof_container_product_cat h4::after,
.gm-shop-filters-husky .woof_container_pa_talla h4::after {
  content: "" !important;
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;

  width: 22px !important;
  height: 22px !important;

  border: 0 !important;
  transform: translateY(-50%) !important;

  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;

  background-image: url("data:image/svg+xml;utf8,<svg aria-hidden='true' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'><path fill='%232B2B2B' d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z'/></svg>") !important;
}

/* Flecha acordeón abierto */
.gm-shop-filters-husky .woof_container_product_brand.is-open h4::after,
.gm-shop-filters-husky .woof_container_product_cat.is-open h4::after,
.gm-shop-filters-husky .woof_container_pa_talla.is-open h4::after {
  transform: translateY(-50%) !important;

  background-image: url("data:image/svg+xml;utf8,<svg aria-hidden='true' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'><path fill='%232B2B2B' d='M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z'/></svg>") !important;
}

/* Flecha blanca en hover de headers */
.gm-shop-filters-husky .woof_container_product_brand h4:hover::after,
.gm-shop-filters-husky .woof_container_product_cat h4:hover::after,
.gm-shop-filters-husky .woof_container_pa_talla h4:hover::after {
  background-image: url("data:image/svg+xml;utf8,<svg aria-hidden='true' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'><path fill='%23FFFFFF' d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z'/></svg>") !important;
}

.gm-shop-filters-husky .woof_container_product_brand.is-open h4:hover::after,
.gm-shop-filters-husky .woof_container_product_cat.is-open h4:hover::after,
.gm-shop-filters-husky .woof_container_pa_talla.is-open h4:hover::after {
  background-image: url("data:image/svg+xml;utf8,<svg aria-hidden='true' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'><path fill='%23FFFFFF' d='M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z'/></svg>") !important;
}

/* Cerrado por defecto cuando JS ya preparó acordeones */
.gm-shop-filters-husky.accordion-ready .woof_container_product_brand .woof_block_html_items,
.gm-shop-filters-husky.accordion-ready .woof_container_product_cat .woof_block_html_items,
.gm-shop-filters-husky.accordion-ready .woof_container_pa_talla .woof_block_html_items {
  display: none !important;
}

/* Bloque abierto: Marcas y Categoría con scroll */
.gm-shop-filters-husky.accordion-ready .woof_container_product_brand.is-open .woof_block_html_items,
.gm-shop-filters-husky.accordion-ready .woof_container_product_cat.is-open .woof_block_html_items {
  display: block !important;
  position: relative !important;

  max-height: 146px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;

  padding: 8px 8px 8px 0 !important;

  scrollbar-width: thin;
  scrollbar-color: #2B2B2B #E8E8E8;
}

/* Bloque abierto: Tallas sin scroll y sin cambiar diseño */
.gm-shop-filters-husky.accordion-ready .woof_container_pa_talla.is-open .woof_block_html_items {
  display: block !important;
  overflow: visible !important;
}

/* Espacios de acordeones */
.gm-shop-filters-husky .woof_container_product_brand,
.gm-shop-filters-husky .woof_container_product_cat,
.gm-shop-filters-husky .woof_container_pa_talla {
  padding-bottom: 12px !important;
}

.gm-shop-filters-husky .woof_container_product_brand.is-open,
.gm-shop-filters-husky .woof_container_product_cat.is-open,
.gm-shop-filters-husky .woof_container_pa_talla.is-open {
  padding-bottom: 18px !important;
}

.gm-shop-filters-husky .woof_container_pa_talla.is-open h4 {
  margin-bottom: 8px !important;
}

/* Scrollbar Marcas/Categoría */
.gm-shop-filters-husky .woof_container_product_brand .woof_block_html_items::-webkit-scrollbar,
.gm-shop-filters-husky .woof_container_product_cat .woof_block_html_items::-webkit-scrollbar {
  width: 5px;
}

.gm-shop-filters-husky .woof_container_product_brand .woof_block_html_items::-webkit-scrollbar-track,
.gm-shop-filters-husky .woof_container_product_cat .woof_block_html_items::-webkit-scrollbar-track {
  background: #E8E8E8;
  border-radius: 0px;
}

.gm-shop-filters-husky .woof_container_product_brand .woof_block_html_items::-webkit-scrollbar-thumb,
.gm-shop-filters-husky .woof_container_product_cat .woof_block_html_items::-webkit-scrollbar-thumb {
  background: #2B2B2B;
  border-radius: 0px;
}

/* =========================================
   SUBITEMS MARCAS / CATEGORÍA
========================================= */

.gm-shop-filters-husky .woof_container_product_brand.is-open .woof_list_radio,
.gm-shop-filters-husky .woof_container_product_cat.is-open .woof_list_radio {
  position: relative !important;
  margin-left: 4px !important;
  padding-left: 8px !important;
  border-left: 1px solid #DADADA !important;
}

.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio li,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio li {
  position: relative !important;
  min-height: 34px !important;
  margin-bottom: 2px !important;
}

.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio label.woof_radio_label,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio label.woof_radio_label {
  position: relative !important;
  z-index: 2 !important;

  width: calc(100% + 9px) !important;
  min-height: 34px !important;
  margin-left: -9px !important;
  padding: 6px 10px !important;

  border-radius: 0px !important;
  background: transparent !important;
  color: #2B2B2B !important;

  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

/* Quitar flecha circular SOLO en subitems */
.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio label.woof_radio_label::after,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio label.woof_radio_label::after {
  display: none !important;
}

/* Puntito subnivel */
.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio label.woof_radio_label::before,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio label.woof_radio_label::before {
  content: "";
  flex: 0 0 auto;
  width: 5px;
  height: 5px;
  margin-left: 0;
  margin-right: 8px;
  border-radius: 50%;
  background: #BDBDBD;
}

.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio li:hover label.woof_radio_label,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio li:hover label.woof_radio_label {
  background: #F4F4F4 !important;
  color: #111 !important;
  border-radius: 0px !important;
}

.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio li:hover label.woof_radio_label::before,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio li:hover label.woof_radio_label::before {
  background: #2B2B2B;
}

.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio li:has(input:checked) label.woof_radio_label,
.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio li:has(.iradio_square-blue.checked) label.woof_radio_label,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio li:has(input:checked) label.woof_radio_label,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio li:has(.iradio_square-blue.checked) label.woof_radio_label {
  background: #2B2B2B !important;
  color: #fff !important;
  border-radius: 0px !important;
}

.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio li:has(input:checked) label.woof_radio_label::before,
.gm-shop-filters-husky .woof_container_product_brand .woof_list_radio li:has(.iradio_square-blue.checked) label.woof_radio_label::before,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio li:has(input:checked) label.woof_radio_label::before,
.gm-shop-filters-husky .woof_container_product_cat .woof_list_radio li:has(.iradio_square-blue.checked) label.woof_radio_label::before {
  background: #fff;
}

/* =========================================
   TALLAS
========================================= */

.gm-shop-filters-husky .woof_container_pa_talla ul.woof_list_checkbox {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 7px !important;
  align-items: start !important;
  justify-content: stretch !important;
  padding-bottom: 10px !important;
}

.gm-shop-filters-husky .woof_container_pa_talla .woof_list_checkbox li {
  position: relative !important;
  width: 100% !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gm-shop-filters-husky .woof_container_pa_talla .icheckbox_square-blue {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 28px !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 5 !important;
  cursor: pointer !important;
}

.gm-shop-filters-husky .woof_container_pa_talla .icheckbox_square-blue input,
.gm-shop-filters-husky .woof_container_pa_talla .icheckbox_square-blue ins {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 28px !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

.gm-shop-filters-husky .woof_container_pa_talla label.woof_checkbox_label {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-width: 0 !important;
  height: 28px !important;
  min-height: 28px !important;

  margin: 0 !important;
  padding: 0 3px !important;
  border: 1px solid #DADADA !important;
  border-radius: 0px !important;
  background: #fff !important;
  color: #2B2B2B !important;

  font-family: "Poppins", sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  text-align: center !important;
  cursor: pointer !important;
  overflow: hidden !important;
  text-transform: uppercase !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.gm-shop-filters-husky .woof_container_pa_talla li:hover label.woof_checkbox_label,
.gm-shop-filters-husky .woof_container_pa_talla li:has(input:checked) label.woof_checkbox_label,
.gm-shop-filters-husky .woof_container_pa_talla li:has(.icheckbox_square-blue.checked) label.woof_checkbox_label {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

/* =========================================
   PRECIO
========================================= */

.gm-shop-filters-husky .woof_price3_search_container {
  margin-bottom: 18px !important;
  padding-bottom: 18px !important;
}

.gm-shop-filters-husky .woof_wcga_label_hide {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* Ocultar regla/grid inferior y valores extra */
.gm-shop-filters-husky .irs-min,
.gm-shop-filters-husky .irs-max,
.gm-shop-filters-husky .irs-single,
.gm-shop-filters-husky .irs-grid,
.gm-shop-filters-husky .irs-grid-pol,
.gm-shop-filters-husky .irs-grid-text {
  display: none !important;
  visibility: hidden !important;
}

/* Ocultar burbujas duplicadas del precio en sticky */
.elementor-sticky__spacer .woof_price_filter .irs-from,
.elementor-sticky__spacer .woof_price_filter .irs-to,
.elementor-sticky__spacer .woof_price_filter .irs-single,
.elementor-sticky__spacer .woof_price_filter .irs-min,
.elementor-sticky__spacer .woof_price_filter .irs-max {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Burbujas reales visibles */
.gm-shop-filters-husky .woof_price3_search_container .irs-from,
.gm-shop-filters-husky .woof_price3_search_container .irs-to {
  display: block !important;
  visibility: visible !important;
  top: -2px !important;
  background: #2B2B2B !important;
  color: #fff !important;
  border-radius: 0px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  padding: 4px 6px !important;
}

.gm-shop-filters-husky .woof_price3_search_container .irs,
.gm-shop-filters-husky .woof_price3_search_container .irs--round {
  position: relative !important;
  height: 54px !important;
  margin: 0 !important;
  overflow: visible !important;
}

.gm-shop-filters-husky .irs--round .irs-line {
  top: 27px !important;
  height: 5px !important;
  border: 0 !important;
  border-radius: 0px !important;
  background: #2B2B2B !important;
}

.gm-shop-filters-husky .irs--round .irs-bar {
  top: 27px !important;
  height: 5px !important;
  border: 0 !important;
  border-radius: 0px !important;
  background: #2B2B2B !important;
}

.gm-shop-filters-husky .irs--round .irs-handle {
  top: 19px !important;
  width: 18px !important;
  height: 18px !important;
  border: 1px solid #2B2B2B !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.gm-shop-filters-husky .irs--round .irs-handle i {
  display: none !important;
}

.gm-shop-filters-husky input.woof_range_slider.irs-hidden-input {
  display: none !important;
}

/* =========================================
   BOTÓN RESET / LIMPIAR
========================================= */

.gm-shop-filters-husky .woof_submit_search_form_container {
  margin-top: 16px !important;
}

.gm-shop-filters-husky .woof_reset_search_form,
.gm-shop-filters-husky .woof_submit_search_form {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 132px !important;
  min-height: 46px !important;
  padding: 10px 24px !important;

  border: 1px solid #2B2B2B !important;
  border-radius: 0px !important;
  box-shadow: none !important;

  font-family: "Poppins", sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color .18s ease, color .18s ease;
}

.gm-shop-filters-husky .woof_reset_search_form {
  background: #F5F5F5 !important;
  color: #2B2B2B !important;
}

.gm-shop-filters-husky .woof_reset_search_form:hover,
.gm-shop-filters-husky .woof_reset_search_form:focus {
  background: #2B2B2B !important;
  color: #fff !important;
}

.gm-shop-filters-husky .woof_submit_search_form {
  background: #2B2B2B !important;
  color: #fff !important;
}

.gm-shop-filters-husky .woof_submit_search_form:hover,
.gm-shop-filters-husky .woof_submit_search_form:focus {
  background: #111 !important;
  color: #fff !important;
}

/* =========================================
   MOBILE: ACORDEÓN GENERAL FILTROS
========================================= */

.tt-mobile-filter-toggle {
  display: none;
}

@media (max-width: 767px) {
  .tt-mobile-filter-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    min-height: 52px !important;
    margin: 0 0 -5px !important;
    padding: 12px 18px !important;

    border: 1px solid #DEDEDE !important;
    border-radius: 0px !important;
    background: #fff !important;
    color: #111 !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;

    box-shadow: none !important;
    outline: none !important;
    cursor: pointer !important;

    transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
  }

  .tt-mobile-filter-toggle:hover,
  .tt-mobile-filter-toggle:focus,
  .tt-mobile-filter-toggle:active {
    background: #fff !important;
    color: #111 !important;
    border-color: #2B2B2B !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .tt-mobile-filter-toggle.is-open,
  .tt-mobile-filter-toggle.is-open:hover,
  .tt-mobile-filter-toggle.is-open:focus,
  .tt-mobile-filter-toggle.is-open:active {
    background: #2B2B2B !important;
    color: #fff !important;
    border-color: #2B2B2B !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .tt-mobile-filter-toggle::after {
    content: "";
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin-left: 12px;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    background-image: url("data:image/svg+xml;utf8,<svg aria-hidden='true' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'><path fill='%232B2B2B' d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z'/></svg>");
  }

  .tt-mobile-filter-toggle.is-open::after {
    background-image: url("data:image/svg+xml;utf8,<svg aria-hidden='true' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'><path fill='%23FFFFFF' d='M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z'/></svg>");
  }

  .gm-shop-filters-husky.tt-mobile-filter-collapsed {
    display: none !important;
  }

  .gm-shop-filters-husky.tt-mobile-filter-open {
    display: block !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1024px) {
  .gm-shop-filters-husky .woof_list_radio label.woof_radio_label {
    font-size: 16px !important;
  }

  .gm-shop-filters-husky .woof_container_pa_talla ul.woof_list_checkbox {
    grid-template-columns: repeat(4, minmax(0, 42px)) !important;
    justify-content: start !important;
  }
}

@media (max-width: 767px) {
  .gm-shop-filters-husky .woof_container {
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
  }

  .gm-shop-filters-husky .woof_list_radio li {
    min-height: 36px !important;
    margin-bottom: 2px !important;
  }

  .gm-shop-filters-husky .woof_list_radio label.woof_radio_label {
    min-height: 36px !important;
    font-size: 15px !important;
  }

  .gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio label.woof_radio_label {
    margin-left: -12px !important;
    width: calc(100% + 12px) !important;
    padding: 8px 38px 8px 12px !important;
  }

  .gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio li:hover label.woof_radio_label,
  .gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio li:has(input:checked) label.woof_radio_label,
  .gm-shop-filters-husky .woof_container_pa_genero .woof_list_radio li:has(.iradio_square-blue.checked) label.woof_radio_label {
    margin-left: -12px !important;
    width: calc(100% + 12px) !important;
    padding: 8px 38px 8px 12px !important;
  }

  .gm-shop-filters-husky .woof_list_radio label.woof_radio_label::after {
    width: 20px;
    height: 20px;
  }

  .gm-shop-filters-husky .woof_container h4 {
    font-size: 15px !important;
    min-height: 36px !important;
  }

  /* Tallas 7 columnas en celular */
  .gm-shop-filters-husky .woof_container_pa_talla ul.woof_list_checkbox {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 7px 6px !important;
    justify-content: stretch !important;
  }

  .gm-shop-filters-husky .woof_container_pa_talla .woof_list_checkbox li,
  .gm-shop-filters-husky .woof_container_pa_talla .icheckbox_square-blue,
  .gm-shop-filters-husky .woof_container_pa_talla label.woof_checkbox_label {
    height: 27px !important;
    min-height: 27px !important;
  }

  .gm-shop-filters-husky .woof_container_pa_talla label.woof_checkbox_label {
    font-size: 12px !important;
    padding: 0 2px !important;
  }

  .gm-shop-filters-husky .woof_container_product_brand .woof_list_radio label.woof_radio_label,
  .gm-shop-filters-husky .woof_container_product_cat .woof_list_radio label.woof_radio_label {
    min-height: 34px !important;
    padding: 6px 10px !important;
    font-size: 14px !important;
  }
}





/* ==================================================
   LOOP ITEMS: TÍTULOS DE PRODUCTO A 2 LÍNEAS
   Reserva siempre el espacio de 2 líneas y alinea
   precio + botón en todas las tarjetas
================================================== */

.tt-product-title .elementor-heading-title {
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;

	height: 2.2em !important;
	min-height: 2.2em !important;
	max-height: 2.2em !important;

	line-height: 1.1em !important;
	overflow: hidden !important;
	text-overflow: ellipsis;
}

/* El enlace conserva el estilo y tamaño del título */
.tt-product-title .elementor-heading-title > a {
	color: inherit;
	font: inherit;
	line-height: inherit;
}









/* ==================================================
   CARDS DE MARCAS: RESPETAR IMAGEN DE FONDO
================================================== */

.tt-brand-card {
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}









/* ==================================================
   LOOP PRODUCTOS: OVERLAY SOBRE CONTENEDOR DE IMAGEN
================================================== */

.tt-image-overlay {
	position: relative !important;
	isolation: isolate;
	border-radius: 0px;
}

/* Overlay que ocupa todo el contenedor */
.tt-image-overlay::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;

	background-color: rgba(0, 0, 0, 0.25);
	border-radius: 0px;

	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

/* Activar overlay al pasar sobre cualquier parte de la imagen */
.tt-image-overlay:hover::after {
	opacity: 1;
}

/* Imagen y enlace por debajo del overlay */
.tt-image-overlay .elementor-widget-theme-post-featured-image {
	position: relative;
	z-index: 1;
}

/* La etiqueta de oferta permanece encima */
.tt-image-overlay .oferta,
.tt-image-overlay [class*="oferta"] {
	position: relative;
	z-index: 3 !important;
}

/* Quitar el fondo placeholder únicamente si existe
   realmente el widget de imagen destacada */
.tt-image-overlay:has(.elementor-widget-theme-post-featured-image) {
	background-image: none !important;
}











/* Flechas circulares reutilizables */
.flechas-slide .elementor-swiper-button {
	width: 18px;
	height: 18px;
	color: #ffffff;
	transition: color 0.25s ease;
}

/* Ocultar las flechas originales */
.flechas-slide .elementor-swiper-button svg {
	display: none;
}

/* Estructura de las nuevas flechas */
.flechas-slide .elementor-swiper-button::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background-color: currentColor;

	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;

	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

/* Flecha izquierda */
.flechas-slide .elementor-swiper-button-prev::before {
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z'/%3E%3C/svg%3E");

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z'/%3E%3C/svg%3E");
}

/* Flecha derecha */
.flechas-slide .elementor-swiper-button-next::before {
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/%3E%3C/svg%3E");

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/%3E%3C/svg%3E");
}

/* Hover: únicamente cambia a negro */
.flechas-slide .elementor-swiper-button:hover {
	color: #000000;
}