html,
body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}
@media only screen and (max-width: 767px) {
  .cuota-precio {
    font-size: 7px !important;
  }
}
.leyenda-archivo-productos {
    font-size: 12px;
    color: black;
    font-weight: bold;
    margin-top: 10px;
}
.woocommerce ul.products li.product a img {
    margin-bottom: 15px; /* Ajusta este valor según sea necesario */
}

.ct-order-review {
    border-radius: 10px; /* Ajusta el radio de los bordes según sea necesario */
}

.cart_totals {
	 border-radius: 10px; /* Ajusta el radio de los bordes según sea necesario */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); /* Añade una sombra para un aspecto tridimensional */
}


.custom-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #56111a;
    color: white;
    padding: 4px 7px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 5px;
    display: flex;
    align-items: center;
    gap: 5px;
    z-index: 99;
}

.shipping-badge svg {
    width: 19px;
    height: 16px;
    stroke: white;
}

/* Media Query for mobile */
@media (max-width: 768px) {
    .custom-badge {
        font-size: 9px;
        padding: 4px 7px;
    }

    .shipping-badge svg {
        width: 15px;
        height: 12px;
    }
}

/* Badge de PREVENTA */
.custom-badge-preventa {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 5px;
    background-color: white !important;
    color: black !important;
    z-index: 99;
    white-space: nowrap;
}

/* Badge de IN STOCK */
.custom-badge-instock {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 5px;
    background-color: black !important;
    color: white !important;
    z-index: 99;
    white-space: nowrap;
}

/* Ajuste para móviles */
@media (max-width: 768px) {
    .custom-badge-preventa,
    .custom-badge-instock {
        font-size: 9px;
        padding: 4px 7px;
    }
}

.variation-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.variation-btn {
  padding: 10px 14px;
  font-size: 14px;
  border: 2px solid #ccc;
  border-radius: 6px;
  background: #f5f5f5;
  color: #333;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  min-width: 40px;
}

@media (hover: hover) and (pointer: fine) {
        .variation-btn:hover:not(.disabled):not(.selected) {
  border-color: #888;
  background: #eaeaea;
}
        }

.variation-btn.selected,
        .variation-btn.selected:hover,
        .variation-btn.selected:focus,
        .variation-btn.selected:active {
            background-color: #000;
            color: #fff;
            border-color: #000;
        }

.variation-btn.disabled {
  background: #eee;
  color: #aaa;
  border-color: #ccc;
  cursor: not-allowed;
  position: relative;
  overflow: hidden;
}

/* Dibuja la ✖ como dos líneas finas */
.variation-btn.disabled::before,
.variation-btn.disabled::after {
  content: '';
  position: absolute;
  width: 80%;
  height: 2px;
  background-color: rgba(120, 120, 120, 0.30);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  pointer-events: none;
}

.variation-btn.disabled::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* En mobile: ✖ más delgada y más suave */
@media (max-width: 600px) {
  .variation-btn.disabled::before,
  .variation-btn.disabled::after {
    height: 2px;
    background-color: rgba(120, 120, 120, 0.50);
  }
}


/* Precio tachado más chico y alineado más arriba en listados */
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount {
  font-size: 0.7em;         /* más chico */
  position: relative;
  top: -0.5px;                /* sube un poco (ajustá según necesites) */
}

.woocommerce ul.products li.product .price {
  margin-top: 4px !important;     /* refuerzo por si el título no toma margen */
  display: inline-block;            /* evita colapsar el margen */
}


/* Badge junto al título */
.woocommerce ul.products li.product .coco-title-badge {
  display: inline-block;
  margin-left: 2px;
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #000;
  border-radius: 5px;
  white-space: nowrap;
  vertical-align: middle;
}

@media (max-width: 480px) {
  .woocommerce ul.products li.product .coco-title-badge {
    font-size: 10px;
    padding: 3px 3px;
  }
}

/* Single product: poner el H1 y el badge en la misma línea */
.single-product .product_title.entry-title {
  display: inline-block;
  margin-right: 7px;
  vertical-align: middle;
}

.single-product .coco-title-badge--single {
  display: inline-block;
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #000;
  border-radius: 9999px;
  white-space: nowrap;
  vertical-align: middle;
}

@media (max-width: 480px) {
  .single-product .coco-title-badge--single {
    font-size: 14px;
    padding: 3px 8px;
  }
}


/* Botón "Añadir al carrito" y "Finalizar compra" en negro con esquinas redondeadas */
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit {
    background-color: #000000; /* negro */
    color: #ffffff; /* texto blanco */
    border: none;
		border-radius: 5px !important; /* redondeado */
}

/* ======== Estilos de precios en PRODUCTO ======== */
.single-product .precio-efectivo span {
    font-size: 14px !important;
    line-height: 1.4;
}

/* cuotas y Go Cuotas: 10px / 500 (el !important es para ganarle al style inline del snippet 54) */
/* un pelin de aire entre el precio y la linea de cuotas */
.woocommerce ul.products li.product .price .cuota-precio,
.single-product .cuota-precio {
    margin-top: 1px;
}

.cuota-precio span,
.go-cuotas-precio span {
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.4;
}

/* Para IDs especiales */
.coco-title-badge.rojo {
    background: #000000 !important; /* Bordo oscuro */
    color: #fff !important;
}


/* ==========================================================
   BARRA DE AVISO — ABAJO DEL MENÚ — SOLO MOBILE/TABLET
   Bordó oscuro elegante, Poppins, blanco en negrita
   ========================================================== */

/* MOBILE / TABLET */
/* ===== Anadir al carrito: bordo #56111a siempre, negro #000 al presionar ===== */
button.button.single_add_to_cart_button,
button.button.single_add_to_cart_button:hover,
button.button.single_add_to_cart_button:focus {
    background-color: #56111a;
    color: #fff;
}

button.button.single_add_to_cart_button:active,
button.button.single_add_to_cart_button:hover:active {
    background-color: #000;
    color: #fff;
}

/* ===== Finalizar compra: bordo #56111a siempre, negro #000 al presionar ===== */
a.button.checkout-button,
a.button.checkout-button:hover,
a.button.checkout-button:focus {
    background-color: #56111a;
    color: #fff;
}

a.button.checkout-button:active,
a.button.checkout-button:hover:active {
    background-color: #000;
    color: #fff;
}

/* ===== Checkout: titulos de seccion en pastilla negra ===== */
#order_review_heading,
#order_review .ct-shipping-heading,
.ct-shipping-heading,
.coco-checkout-heading,
h3.coco-checkout-heading,
.woocommerce-billing-fields > h3 {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background-color: #000;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: 0.5px;
    text-align: center;
    padding: 10px 16px;
    border-radius: 10px;
    margin: 0 0 14px;
}

/* ===== Checkout: opciones de envio como lista con lineas divisorias (igual que pago) ===== */
#shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
}

#shipping_method > li {
    display: flex;
    align-items: center;
    gap: 10px;
    border: none;
    border-top: 1px solid var(--theme-border-color, rgba(0, 0, 0, 0.29));
    padding: 16px 0;
    margin: 0;
}

/* descripcion debajo de cada modalidad de entrega: baja a su propia linea dentro del li flex */
#shipping_method > li {
    flex-wrap: wrap;
}

.coco-envio-desc {
    flex: 1 0 100%;
    padding-left: 35px;
    margin-top: 4px;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #111518;
}

#shipping_method > li:first-child {
    border-top: none;
    padding-top: 0;
}

/* el tema separa los items 10px; hay que empatar su especificidad */
ul#shipping_method > li:not(:last-child) {
    margin-bottom: 0;
}

#shipping_method > li > label {
    margin: 0;
}

/* ===== Checkout: opciones de pago con lineas divisorias, igual que entrega ===== */
#payment {
    margin-left: 0;
    margin-right: 0;
}

#payment ul.payment_methods > li.wc_payment_method {
    border: none;
}

#payment ul.payment_methods > li.wc_payment_method:not(:first-child) {
    border-top: 1px solid var(--theme-border-color, rgba(0, 0, 0, 0.29));
}

#payment ul.payment_methods > li.wc_payment_method > label {
    padding: 16px 0;
}

#payment ul.payment_methods .payment_box {
    padding-left: 0;
    padding-right: 0;
}

/* ===== Checkout: "Notas del pedido" con la misma tipografia que "Enviar a otra direccion" ===== */
#order_comments_field > label {
    font-family: Poppins, sans-serif;
    font-size: 15px;
    font-weight: 600;
}

/* ===== Checkout: encabezados Producto / Subtotal en el gris de los divisores ===== */
table.shop_table.woocommerce-checkout-review-order-table thead th {
    color: var(--theme-border-color, rgba(0, 0, 0, 0.29));
}

/* ===== Carrito: el nombre del producto venia en blanco sobre blanco (color del widget de Elementor) ===== */
.woocommerce-cart-form .cart_item td.product-name a,
.woocommerce-cart-form .cart_item td.product-name a:hover {
    color: var(--theme-text-color, #111518);
    font-weight: 600;
}



/* ===== Checkout: campos a completar con fondo gris ===== */
#customer_details .form-row input[type="text"],
#customer_details .form-row input[type="tel"],
#customer_details .form-row input[type="email"],
#customer_details .form-row input[type="number"],
#customer_details .form-row input[type="date"],
#customer_details .form-row textarea,
#customer_details .form-row .select2-selection--single {
    background-color: #f5f5f5;
    border-radius: 6px;
    padding: 10px 12px;
    box-sizing: border-box;
    /* el tema fija height:25px; sin esto el padding recorta el texto */
    height: auto;
    min-height: 44px;
}

/* la flecha del select queda centrada en la caja mas alta */
#customer_details .form-row .select2-selection--single .select2-selection__arrow {
    top: 0;
    height: 100%;
}




/* ===== Ficha de producto: toda la tipografia en Arial ===== */
body.single-product,
body.single-product p, body.single-product span, body.single-product a,
body.single-product div, body.single-product li, body.single-product td, body.single-product th,
body.single-product h1, body.single-product h2, body.single-product h3,
body.single-product h4, body.single-product h5, body.single-product h6,
body.single-product label, body.single-product button, body.single-product input,
body.single-product select, body.single-product textarea,
body.single-product strong, body.single-product em, body.single-product small {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

/* ===== Ficha de producto: Anadir al carrito bordo tambien sin talle elegido ===== */
button.button.single_add_to_cart_button.disabled,
button.button.single_add_to_cart_button:disabled,
button.button.single_add_to_cart_button.wc-variation-selection-needed {
    opacity: 1;
    background-color: #56111a;
    color: #fff;
}

/* ===== Ficha de producto: ocultar el aviso "Hay existencias" (se conserva el de agotado) ===== */
.single-product .woocommerce-variation-availability p.stock.in-stock {
    display: none;
}

/* EFECTIVO: misma altura que la pastilla de TRANSFERENCIA (base en el snippet "PRECIO EFECTIVO DINAMICO") */
.single-product .coco-efvo-box {
    border: none;
    display: inline-block;
}

.single-product .coco-efvo-price {
    display: inline;
    line-height: 1.4;
}

/* pastilla TRANSFERENCIA: color (el !important es para ganarle al style inline del snippet 54)
*/
/* pie de pagina en Arial en todo el sitio (titulos, links, subtitulos y textos) */
#footer,
#footer *,
footer.ct-footer,
footer.ct-footer * {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

/* los titulos de widget del pie los pisa una regla #footer h3 (1,0,1): hay que subir especificidad */
#footer.ct-footer h1,
#footer.ct-footer h2,
#footer.ct-footer h3,
#footer.ct-footer h4,
#footer.ct-footer h5,
#footer.ct-footer h6,
#footer.ct-footer .widget-title {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

/* pastilla de TRANSFERENCIA en toda la web (ficha y listados); el !important es por el style inline del snippet 54 */
.precio-efectivo {
    background: #DADADA !important;
    /* el snippet 54 escribe display:inline-block como style inline: hace falta !important */
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 26px;
}

/* el snippet 54 escribe color:#fff como style inline en el span */
.precio-efectivo span {
    color: #000 !important;
}

/* entre las dos pastillas quedaba un <p> vacio con margin-bottom:10px que duplicaba la separacion */
.single-product .summary p:empty {
    margin: 0;
}

/* los titulos de la descripcion corta traen color: #733520 como style inline desde el editor.
   Se normalizan al bordo de marca; lo correcto a futuro es corregirlo en el contenido del producto. */
.woocommerce-product-details__short-description [style*="733520"] {
    color: #56111a !important;
}

/* interlineado mas compacto en la descripcion corta (IMPORTANTE / DEVOLUCION DE COMPRA) */
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description p,
.single-product .woocommerce-product-details__short-description span {
    line-height: 1.25;
}

/* boton "Ver carrito": el tema lo limita con max-width:90% y min-height:60px */
.single-product .ct-cart-actions .added_to_cart {
    flex: 1 0 100%;
    width: 100%;
    max-width: 100%;
    min-height: 30px;
    height: 30px;
    padding-top: 0;
    padding-bottom: 0;
    box-sizing: border-box;
}

/* ocultar SKU y categorias en la ficha (si algun producto usa etiquetas, esas siguen visibles) */
.single-product .product_meta > span.sku_wrapper,
.single-product .product_meta > span.posted_in {
    display: none;
}

/* titulo del producto: 18px / 500 (los 27px venian de una regla generica de Easy Google Fonts sobre h1) */
.single-product h1.product_title {
    font-size: 18px;
    font-weight: 500;
    /* el tema hereda un ratio 0.8: a 18px daba 14.4px y los nombres largos se pisaban al cortar en dos lineas */
    line-height: 1.3;
}

/* tags de producto (EN TIENDA / PREVENTA / BEST SELLER / LO NUEVO): Arial, mismo cuerpo y misma altura */
/* precio de venta en los listados: 1px mas y un escalon mas de peso (era 16px/600) */
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .price > .woocommerce-Price-amount {
    font-size: 17px;
    font-weight: 700;
}

/* boton SHOP NOW de los listados */
.woocommerce ul.products li.product a.button.add_to_cart_button,
.woocommerce ul.products li.product a.button.ajax_add_to_cart {
    background-color: #000;
    color: #fff;
    /* Elementor fija Courier New con !important en los botones del listado */
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
}

.custom-badge,
.custom-badge-instock,
.custom-badge-preventa {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 10px;
    line-height: 1.2;
    padding: 4px 7px;
    box-sizing: border-box;
}

/* el ancho lo escribe el plugin como style inline (width:95px): fit-content lo ajusta al texto */
.wcpb-product-badges-badge {
    width: fit-content !important;
}

/* el plugin de badges escribe font-size y demas como style inline en cada badge: hace falta !important */
.wcpb-product-badges-badge > div {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    padding: 4px 7px !important;
    box-sizing: border-box !important;
}

/* no repetir el cartel de ATENCION al elegir el talle */
.single-product .woocommerce-variation-description {
    display: none;
}

@media (max-width: 1024px) {

    .coco-announcement-bar {
        width: 100%;
        background: #000
					!important;     /* Bordó oscuro navideño */
        color: #ffffff !important;
        font-family: "Courier New", Courier, monospace !important;
        font-weight: 700;                   /* negrita elegante */

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

        padding: 3px 14px;
        font-size: 11px;
        

        /* Clave: YA NO ES FIXED, VA EN EL FLUJO */
        position: fixed;
        top: auto;
        z-index: 1;

        /* Empujamos la barra hacia abajo para que quede
           visualmente debajo del menú sticky */
        margin-top: 50px; /* 🔧 AJUSTÁ este valor según la altura del menú mobile *  }

    /* Ya no hace falta empujar el body */
    body:not(.elementor-editor-active) {
        padding-top: 0 !important;
    }
}

/* Ocultar barra en desktop */
@media (min-width: 1025px) {
    .coco-announcement-bar {
        display: none !important;
    }
}

/* ================================
   ANIMACIÓN SLIDER (SE MANTIENE)
   ================================ */

.coco-announcement-track {
    position: relative;
    overflow: hidden;
    min-height: 27px;
    flex: 1;
    text-align: center;
}

.coco-announcement-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    transform: translateY(6px);
    transition: opacity .4s ease, transform .4s ease;

    padding: 0 8px;
    white-space: nowrap;
}

.coco-announcement-slide.is-active {
    opacity: 1;
    transform: translateY(0);
}

/* Sin flechas */
.coco-announcement-arrow {
    display: none !important;
}

@media (max-width: 1024px) {
    .coco-announcement-bar {
        width: 100%;
        background: #000000 !important;
        color: #ffffff !important;
        font-family: "Courier New", Courier, monospace !important;
        font-weight: 700;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 3px 14px;
        font-size: 11px;
        position: fixed;
        top: auto;
        z-index: 1;
        margin-top: 50px;
    }

    .coco-announcement-row-slider {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 27px;
    }

    .coco-announcement-row-countdown {
        width: 100%;
        text-align: center;
        font-family: "Courier New", Courier, monospace;
        font-weight: 700;
        font-size: 10px;
        color: #ffffff;
        padding: 2px 0 4px;
        letter-spacing: 2px;
    }

    body:not(.elementor-editor-active) {
        padding-top: 0 !important;
    }
}

@media (min-width: 768px) {
  .coco-announcement-bar {
    display: none !important;
  }
}
