/* ==========================================================================
   ESTILOS DE WOOCOMMERCE - TEMA OSCURO Y ALTO CONTRASTE
   Alineación de diseño con Bodega Quinta Santero
   ========================================================================== */

/* Contenedor y estructura general */
body.woocommerce .site-main,
body.woocommerce-page .site-main,
.woocommerce-shop .site-main {
    background-color: #f4eedd !important;
    color: #333333 !important;
}

/* Tipografía de WooCommerce */
.woocommerce .site-main h1, .woocommerce-page .site-main h1,
.woocommerce .site-main h2, .woocommerce-page .site-main h2,
.woocommerce .site-main h3, .woocommerce-page .site-main h3,
.woocommerce .site-main h4, .woocommerce-page .site-main h4 {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    color: #333333 !important;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.woocommerce-loop-product__title {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    font-size: 1.15rem !important;
    text-transform: uppercase;
    color: #333333 !important;
    margin-top: 15px !important;
    margin-bottom: 8px !important;
}

/* Enlaces y textos del loop de productos */
.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price {
    color: #666666 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600;
}



.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: #333333 !important;
    box-shadow: 0 10px 25px rgba(205, 164, 123, 0.15);
}

.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
    border-radius: 4px;
    max-height: 280px;
    object-fit: contain;
    width: auto;
    margin: 0 auto !important;
}

/* Botones de WooCommerce */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background-color: #333333 !important;
    color: #000000 !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
    transition: all 0.3s ease !important;
    border: 1px solid #cda47b !important;
    cursor: pointer;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
    background-color: transparent !important;
    color: #333333 !important;
    transform: scale(1.03);
    box-shadow: 0 4px 15px rgba(205, 164, 123, 0.3);
}

/* Botones secundarios / alternativos (ej: Pago en checkout) */
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page #respond input#submit.alt,
.woocommerce-page a.button.alt,
.woocommerce-page button.button.alt,
.woocommerce-page input.button.alt {
    background-color: #333333 !important;
    color: #000000 !important;
    border-color: #333333 !important;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-page #respond input#submit.alt:hover,
.woocommerce-page a.button.alt:hover,
.woocommerce-page button.button.alt:hover,
.woocommerce-page input.button.alt:hover {
    background-color: transparent !important;
    color: #333333 !important;
}

/* Tablas de Carrito y Checkout */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    border: 1px solid rgba(205, 164, 123, 0.2) !important;
    border-radius: 8px !important;
    background-color: #110808 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    background-color: rgba(205, 164, 123, 0.1) !important;
    color: #333333 !important;
    border-bottom: 1px solid rgba(205, 164, 123, 0.2) !important;
    padding: 15px !important;
}

.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
    border-top: 1px solid rgba(205, 164, 123, 0.1) !important;
    color: #e5e5e5 !important;
    padding: 15px !important;
}

.woocommerce table.shop_table td a {
    color: #333333 !important;
    transition: color 0.2s ease;
}

.woocommerce table.shop_table td a:hover {
    color: #333333 !important;
}

/* Formularios de WooCommerce (Campos de entrada, Labels) */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    color: #333333 !important;
    font-weight: 500;
    margin-bottom: 5px;
    display: inline-block;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row select {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #333333 !important;
    border: 1px solid rgba(205, 164, 123, 0.3) !important;
    border-radius: 4px !important;
    padding: 10px 15px !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-page form .form-row input.input-text:focus,
.woocommerce-page form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page form .form-row select:focus {
    border-color: #333333 !important;
    box-shadow: 0 0 8px rgba(205, 164, 123, 0.4) !important;
    outline: none !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Totales del Carrito (Cart Collaterals) y Secciones de Pago */
.cart-collaterals,
.woocommerce-checkout #order_review,
#payment {
    background-color: #ffffff !important;
    border: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-radius: 8px !important;
    padding: 25px !important;
}

#payment ul.payment_methods {
    border-bottom: 1px solid rgba(205, 164, 123, 0.1) !important;
    padding-bottom: 15px !important;
}

#payment div.payment_box {
    background-color: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(205, 164, 123, 0.1) !important;
    color: #d1d1d1 !important;
    border-radius: 4px;
}

/* Detalles del Producto Individual */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #333333 !important;
    font-size: 1.5rem !important;
}

.woocommerce div.product .product_title {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    color: #333333 !important;
    font-size: 2.5rem !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: #333333 !important;
    line-height: 1.6;
}

.woocommerce div.product div.images img {
    border: 1px solid rgba(205, 164, 123, 0.15) !important;
    border-radius: 8px !important;
    background-color: #110808 !important;
}

/* Pestañas de Información en Producto Detalle */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid rgba(205, 164, 123, 0.2) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: transparent !important;
    border: 1px solid transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: #110808 !important;
    border: 1px solid rgba(205, 164, 123, 0.2) !important;
    border-bottom-color: #110808 !important;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: #b5b5b5 !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #333333 !important;
}

/* Mensajes y Notificaciones */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: #110808 !important;
    color: #333333 !important;
    border-top: 3px solid #cda47b !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

.woocommerce-message a.button {
    padding: 6px 14px !important;
    font-size: 0.85rem !important;
}

/* Cantidad de Producto (Quantity Input) */
.woocommerce .quantity .qty {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #333333 !important;
    border: 1px solid rgba(205, 164, 123, 0.3) !important;
    border-radius: 4px !important;
    padding: 8px !important;
    text-align: center;
}

/* Breadcrumbs de WooCommerce */
.woocommerce-breadcrumb {
    color: #b5b5b5 !important;
    font-size: 0.9rem !important;
    margin-bottom: 30px !important;
}

.woocommerce-breadcrumb a {
    color: #333333 !important;
}

.woocommerce-breadcrumb a:hover {
    color: #333333 !important;
}

/* Secciones Vacías (Carrito vacío, Sin productos) */
.cart-empty,
.woocommerce-info {
    text-align: center;
    padding: 30px !important;
}

/* ==========================================================================
   UX BANNER TIENDA - "¿CÓMO ARMO MI PACK?" (PREMIUM)
   ========================================================================== */
.ag-shop-info-wrapper {
    background-color: #000000;
    padding: 50px 20px;
    margin-bottom: 50px;
    border-radius: 12px;
    box-sizing: border-box;
}
.ag-shop-info-wrapper-inner {
    max-width: 1000px;
    margin: 0 auto;
}
.ag-shop-banner-premium {
    background: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 30px;
    margin-bottom: 30px;
    color: #333333;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.ag-shop-banner-header {
    text-align: center;
    margin-bottom: 30px;
}

.ag-shop-banner-header h3 {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 1.8rem !important;
    color: #333333 !important;
    letter-spacing: 2px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
}

.ag-shop-banner-header p {
    color: #666666 !important;
    font-size: 1.1rem !important;
    font-family: 'Montserrat', sans-serif !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}

.ag-shop-banner-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.ag-banner-card {
    background: #f9f6f0;
    border: none;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: transform 0.3s ease;
}

.ag-banner-card:hover {
    transform: translateY(-3px);
    background: #f0eadd;
}

.ag-banner-card i {
    font-size: 2rem;
    color: #5c1a1b;
    margin-bottom: 15px;
}

.ag-banner-card h4 {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    color: #333333 !important;
    font-size: 1.2rem !important;
    margin-bottom: 10px !important;
}

.ag-banner-card p {
    color: #666666 !important;
    font-size: 0.95rem !important;
    font-family: 'Montserrat', sans-serif !important;
}

.ag-banner-card strong {
    color: #cda47b !important;
    font-weight: 600 !important;
}

.ag-shop-banner-whatsapp {
    text-align: center !important;
    margin: 0 !important;
    color: #111111 !important;
}

.ag-shop-banner-whatsapp a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #25D366;
    color: #ffffff !important;
    padding: 10px 20px;
    border-radius: 30px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.ag-shop-banner-whatsapp a:hover {
    background-color: #128C7E;
}

/* ==========================================================================
   GAMIFICACIÓN DEL CARRITO (BARRA DE PROGRESO)
   ========================================================================== */
.ag-cart-progress-container {
    margin-bottom: 0;
    padding: 0 0 40px;
}

.ag-progress-wrapper {
    background: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 20px 30px;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.ag-progress-text {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    font-size: 1.1rem;
    color: #111111 !important;
    margin-bottom: 15px;
}

.ag-progress-text i {
    color: #cda47b;
}

.ag-progress-bar {
    width: 100%;
    height: 10px;
    background-color: rgba(205, 164, 123, 0.2);
    border-radius: 5px;
    overflow: hidden;
    position: relative;
}

.ag-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #cda47b, #e0b488);
    border-radius: 5px;
    transition: width 0.5s ease-in-out;
}

/* ==========================================================================
   ETIQUETAS (BADGES) EN PRODUCTOS
   ========================================================================== */
.woocommerce ul.products li.product {
    position: relative; /* Para que la etiqueta absoluta se posicione bien */
}

.ag-custom-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 6px 10px;
    border-radius: 4px;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 500;
    z-index: 99;
    letter-spacing: 1px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    gap: 6px;
    background-color: rgba(17, 8, 8, 0.9);
    border: 1px solid rgba(205, 164, 123, 0.4);
    backdrop-filter: blur(4px);
}

.ag-badge-bestseller {
    color: #cda47b;
}

.ag-badge-bestseller i {
    color: #cda47b;
}

.ag-badge-limited {
    color: #ff6b6b;
    border-color: rgba(255, 107, 107, 0.4);
}

.ag-badge-limited i {
    color: #ff6b6b;
}


/* ==========================================================================
/* ==========================================================================
/* ==========================================================================
/* ==========================================================================
   CARRITO LATERAL (OFF-CANVAS) - TEMA CLARO Y LIMPIO (REESCRITO END-TO-END)
   ========================================================================== */

/* Boton Flotante (Globo claro, carrito oscuro) */
.ag-floating-cart-btn {
    position: fixed; bottom: 30px; right: 30px; 
    background-color: var(--ag-gold-light); /* Globo claro */
    color: var(--ag-dark); /* Icono del carrito oscuro */
    width: 60px; height: 60px; border-radius: 50%; display: flex;
    align-items: center; justify-content: center; font-size: 24px; cursor: pointer;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5); z-index: 9998; border: 2px solid #fff;
    transition: all 0.3s ease;
}
.ag-floating-cart-btn:hover { transform: scale(1.05); background-color: var(--ag-gold); }
.ag-floating-cart-count {
    position: absolute; top: -5px; right: -5px; background-color: #8b0000; color: #fff;
    font-size: 12px; font-weight: bold; width: 22px; height: 22px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}

/* Overlay oscuro */
.ag-side-cart-overlay {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background-color: rgba(0,0,0,0.6); backdrop-filter: blur(4px);
    z-index: 9999; opacity: 0; visibility: hidden; transition: opacity 0.3s;
}
.ag-side-cart-overlay.ag-overlay-visible { opacity: 1; visibility: visible; }

/* Panel Principal (Tema Claro / Lateral Claro) */
.ag-side-cart-panel {
    position: fixed; top: 0; right: -500px; width: 500px; max-width: 100vw; height: 100vh;
    background-color: var(--ag-light-bg); /* Lateral Claro */
    color: var(--ag-light-text); 
    z-index: 10000; box-shadow: -10px 0 30px rgba(0,0,0,0.5); 
    display: flex; flex-direction: column; transition: right 0.4s cubic-bezier(0.77, 0, 0.175, 1);
}
.ag-side-cart-panel.ag-cart-open { right: 0; }

/* Header (Oscuro con margen superior) */
.ag-side-cart-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 35px 30px 25px 30px; 
    background-color: var(--ag-dark);
    border-bottom: 2px solid var(--ag-gold);
}
.ag-side-cart-header h3 {
    margin: 0; font-family: var(--font-title); color: #ffffff !important; text-transform: uppercase; font-size: 1.2rem;
}
.ag-side-cart-header h3 i {
    color: #ffffff !important;
}
.ag-close-cart { background: none; border: none; color: #fff; font-size: 1.5rem; cursor: pointer; transition: 0.3s; }
.ag-close-cart:hover { color: var(--ag-gold); }

/* Progress Wrapper y Mensajes de Gamificacion */
.ag-side-cart-progress { padding: 30px 30px 0 30px; }
.ag-side-cart-panel .woocommerce-message,
.ag-side-cart-panel .woocommerce-info,
.ag-side-cart-panel .woocommerce-error {
    background-color: var(--ag-light-card); 
    color: var(--ag-light-text); 
    padding: 15px; margin: 0 0 20px 0;
    border: 1px solid rgba(205,164,123,0.3); 
    border-radius: var(--ag-radius-sm); 
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.ag-side-cart-panel .ag-progress-wrapper {
    background-color: var(--ag-light-card);
    color: var(--ag-light-text); 
    padding: 20px; border-radius: var(--ag-radius-sm);
    border: 1px solid rgba(205,164,123,0.3); 
    margin: 0; box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.ag-side-cart-panel .ag-progress-wrapper p,
.ag-side-cart-panel .ag-progress-wrapper span,
.ag-side-cart-panel .ag-progress-wrapper strong {
    color: var(--ag-light-text) !important;
}

/* Contenido Principal */
.ag-side-cart-content { flex-grow: 1; overflow-y: auto; padding: 0 30px 30px 30px; }

/* Lista de Productos (Cards blancas) */
.ag-side-cart-content ul.cart_list { margin: 0; padding: 0; list-style: none; }
/* Layout del item del carrito */
.ag-side-cart-content ul.cart_list li {
    display: flex; align-items: flex-start; gap: 15px; flex-wrap: wrap;
    padding: 15px; margin: 0 0 15px 0; 
    background-color: var(--ag-light-card); 
    border: 1px solid rgba(205,164,123,0.2);
    border-radius: var(--ag-radius-sm);
    position: relative !important;
}
.ag-side-cart-content ul.cart_list li img {
    width: 60px; height: 60px; object-fit: cover; border-radius: 4px;
    border: 1px solid rgba(0,0,0,0.05); margin: 0; flex-shrink: 0;
}
.ag-side-cart-content ul.cart_list li a:not(.remove) {
    color: var(--ag-light-text); 
    font-family: var(--font-body); text-decoration: none; 
    display: flex; align-items: flex-start; flex-grow: 1; gap: 10px;
    width: 100%; /* Forzar salto de linea para el bloque de cantidad si es necesario */
}
.ag-side-cart-content ul.cart_list li a:not(.remove):hover { color: var(--ag-gold-dark); }
.ag-side-cart-content ul.cart_list li .quantity { margin: 0; }
.ag-side-cart-content ul.cart_list li .quantity .amount { color: var(--ag-light-text); font-weight: bold; }

/* Contenedor de acciones (Cantidad + Precio) */
.ag-minicart-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 8px !important;
}

/* Controles de Cantidad en Mini-cart */
.ag-minicart-qty {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    height: 32px !important;
    width: auto !important;
    min-width: 96px !important;
    max-width: 105px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

.ag-minicart-qty .ag-qty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 32px !important;
    background: #f4f1ea !important;
    border: none !important;
    border-radius: 0 !important;
    color: #1a1a1a !important;
    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
    user-select: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
    flex-shrink: 0 !important;
}

.ag-minicart-qty .ag-qty-btn:hover {
    background: var(--ag-gold, #cda47b) !important;
    color: #fff !important;
}

.ag-minicart-qty input.ag-qty-input {
    display: block !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 48px !important;
    height: 32px !important;
    border: none !important;
    border-left: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #1a1a1a !important;
    font-family: inherit !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 32px !important;
    outline: none !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
    -webkit-appearance: none !important;
    flex-shrink: 0 !important;
}

.ag-minicart-qty input.ag-qty-input::-webkit-outer-spin-button,
.ag-minicart-qty input.ag-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.ag-minicart-qty.loading {
    opacity: 0.8 !important;
}

#ag-side-cart-panel.ag-cart-updating .widget_shopping_cart_content .total,
#ag-side-cart-panel.ag-cart-updating .ag-cart-progress-container {
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.ag-minicart-actions .quantity-price {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--ag-dark, #1a1a1a) !important;
    white-space: nowrap !important;
}

/* Boton de Eliminar */
.ag-side-cart-content ul.cart_list li a.remove { 
    color: #cc0000; background: rgba(204,0,0,0.1); 
    width: 24px; height: 24px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; margin: 0; position: absolute !important; top: 15px !important; right: 15px !important; left: auto !important; border: none; transition: 0.3s;
}
.ag-side-cart-content ul.cart_list li a.remove:hover { color: #fff; background: #cc0000; }

/* Totales */
.ag-side-cart-content .widget_shopping_cart_content .total {
    padding: 20px 0; border-top: 1px solid rgba(205,164,123,0.3); margin-top: 10px;
    display: flex; justify-content: space-between; 
    color: var(--ag-light-text); font-weight: bold; font-size: 1.1rem; border-bottom: none;
}

/* Botones Inferiores */
.ag-side-cart-content .widget_shopping_cart_content .buttons { display: flex; flex-direction: column; gap: 12px; }
.ag-side-cart-content .widget_shopping_cart_content .buttons a {
    display: block; width: 100%; text-align: center; padding: 15px; font-family: var(--font-title);
    text-transform: uppercase; text-decoration: none; border-radius: var(--ag-radius-sm); transition: 0.3s;
}
.ag-side-cart-content .widget_shopping_cart_content .buttons a:not(.checkout) {
    background-color: var(--ag-dark-mid); color: #fff; border: none; order: 1;
}
.ag-side-cart-content .widget_shopping_cart_content .buttons a:not(.checkout):hover { background-color: #333; }

/* Boton Finalizar Compra */
.ag-side-cart-content .widget_shopping_cart_content .buttons a.checkout {
    background-color: transparent; color: #a0a0a0; border: 1px dashed #a0a0a0; order: 2; pointer-events: none;
}
.ag-side-cart-panel.ag-checkout-enabled .widget_shopping_cart_content .buttons a.checkout {
    background-color: var(--ag-dark); color: #fff; font-weight: bold; border: none; pointer-events: auto;
}
.ag-side-cart-panel.ag-checkout-enabled .widget_shopping_cart_content .buttons a.checkout:hover { background-color: #000; }

/* Carrito vacio */
.woocommerce-mini-cart__empty-message { text-align: center; color: var(--ag-text-muted); font-size: 1.1rem; margin-top: 40px; }

   DISEÑO PREMIUM TIENDA: MADERA Y OBSIDIANA
   ========================================================================== */

/* 1. Fondo de la tienda: Fondo claro restaurado */
body.woocommerce .site-main,
body.woocommerce-page .site-main,
.elementor-location-archive {
    background-image: none !important;
    background-color: #f8f4ee !important;
    padding-left: 5vw !important;
    padding-right: 5vw !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce, body.woocommerce-page {
    background-color: #f8f4ee !important;
}

/* Ocultar elementos innecesarios y cartel de resultados */
.woocommerce-breadcrumb,
.storefront-breadcrumb,
.woocommerce-products-header,
.woocommerce-result-count,
.woocommerce-ordering {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
}

/* 1.5. Fix de la Grilla de WooCommerce usando CSS Grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
    gap: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important; /* Quitar clearfix obsoleto de WooCommerce para evitar huecos en la grilla */
}

/* ==========================================================================
   FIX: ALTURA DE BOTÓN AGREGAR AL CARRITO Y CANTIDAD EN GRILLA
   ========================================================================== */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .quantity {
    height: 45px !important;
    margin: 0 !important;
    vertical-align: top !important;
    box-sizing: border-box !important;
    float: left !important;
}
.woocommerce ul.products li.product .quantity {
    width: 60px !important;
    margin-right: 5px !important;
}
.woocommerce ul.products li.product .quantity input.qty {
    height: 100% !important;
    width: 100% !important;
    border-color: #dddddd !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    border-radius: 4px;
    background-color: #ffffff !important;
    color: #333333 !important;
}
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.button.add_to_cart_button,
.woocommerce-page ul.products li.product a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    width: calc(100% - 65px) !important;
    line-height: 1.1 !important;
    background-color: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #cccccc !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    transition: all 0.3s ease !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button.add_to_cart_button:hover,
.woocommerce-page ul.products li.product a.button:hover {
    background-color: #333333 !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

/* Ocultar permanentemente el tick/checkmark de producto añadido para mantener el botón limpio y sobrio */
.woocommerce ul.products li.product a.button.added::after,
.woocommerce ul.products li.product .button.added::after,
.woocommerce-page ul.products li.product a.button.added::after,
a.add_to_cart_button.added::after,
a.button.added::after,
.button.added::after {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products li.product::after {
    content: '';
    display: table;
    clear: both;
}

/* 2. Tarjetas de Vinos: Claras */
.woocommerce ul.products li.product {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    border-radius: 8px !important;
    padding: 25px !important;
    padding-bottom: 75px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02) !important;
    transition: all 0.4s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #333333 !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    margin-top: auto !important;
}

.woocommerce ul.products li.product .price {
    color: #5c1a1b !important;
}

/* Micro-animación: Elevación y Borde Dorado Fuerte */
.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: #c4d9a7 !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
}

/* 3. Banner de ¿Cómo armo mi pack? */
.ag-shop-banner-premium {
    background: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 30px;
    margin-bottom: 30px;
    color: #333333;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.ag-shop-banner-header h3 {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 1.8rem !important;
    color: #333333 !important;
    letter-spacing: 2px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
}
.ag-shop-banner-header p {
    color: #555555 !important;
    font-size: 1.1rem !important;
    font-family: 'Montserrat', sans-serif !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}

/* Tarjetas internas del banner */
.ag-banner-card {
    background: #f8f4ee;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: transform 0.3s ease;
}
.ag-banner-card:hover {
    transform: translateY(-3px);
    background: #ffffff;
}
.ag-banner-card h4, .ag-banner-card p {
    color: #555555 !important;
    font-size: 0.95rem !important;
    font-family: 'Montserrat', sans-serif !important;
}
.ag-banner-card i {
    color: #5c1a1b !important;
}

/* 4. Barra de Progreso */
.ag-cart-progress-container {
    background: #ffffff !important; /* Blanco */
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.03) !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
}

/* Mensajes de WooCommerce adaptados a fondo oscuro */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: transparent !important; 
    color: #eaeaea !important; 
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.woocommerce-message strong {
    color: #333333 !important; 
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none !important;
}

/* ==========================================================================
   ESTILOS DE HOVER Y CANTIDADES
   ========================================================================== */

/* Hover sobre imagen de producto (Absolute Match) */
.ag-img-overlay {
    position: absolute;
    background: rgba(7, 7, 9, 0.85); /* Obsidiana translúcido */
    color: #eaeaea;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    box-sizing: border-box;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    z-index: 10;
    pointer-events: none; /* Dejar pasar los clics si es necesario */
}

/* Botones de Cantidad (+/-) en Carrito Lateral */
.ag-minicart-qty-controls {
    display: inline-flex;
    align-items: center;
    background: #FAF8F5;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 4px;
    margin-right: 10px;
    margin-top: 5px;
}

.ag-minicart-qty-btn {
    background: transparent !important;
    border: none !important;
    color: #1A1A1A !important;
    font-weight: bold;
    padding: 2px 8px !important;
    cursor: pointer;
    transition: background 0.2s ease !important;
    font-size: 14px !important;
}

.ag-minicart-qty-btn:hover {
    background: rgba(0,0,0,0.05) !important;
    color: #333333 !important;
}

.ag-minicart-qty-val {
    padding: 0 5px;
    font-weight: bold;
    color: #1A1A1A;
    min-width: 16px;
    text-align: center;
}

.ag-minicart-price {
    color: #333333 !important;
    font-weight: bold;
    margin-left: 5px;
}

/* ==========================================================================
   HOVER DE PRODUCTO (SOPORTE PARA CACHÉ Y NUEVO JS)
   ========================================================================== */
/* Para el HTML viejo que quedó en caché */
.ag-product-image-wrapper {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px 8px 0 0 !important;
    display: block !important;
    flex: 0 0 auto !important; /* Evita que se estire y cubra toda la tarjeta */
    height: max-content !important;
    max-height: max-content !important;
}

.ag-product-hover-desc {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(7, 7, 9, 0.85) !important; /* Fondo oscuro */
    color: #eaeaea !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

.woocommerce ul.products li.product:hover .ag-product-hover-desc,
.ag-product-image-wrapper:hover .ag-product-hover-desc {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Evitar que el contenedor general de Elementor expanda la imagen */
.woocommerce ul.products li.product a img {
    margin-bottom: 0 !important;
    display: block !important;
}

/* ==========================================================================
   FRONT-END RULES PARA EL HOVER RESTRINGIDO A LA IMAGEN
   ========================================================================== */
.ag-shrink-wrap {
    position: relative !important;
    display: inline-flex !important; /* Asegura que no se expanda al 100% de la tarjeta */
    justify-content: center;
    align-items: center;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}

/* Alineación central de la imagen en la tarjeta por si acaso */
.woocommerce ul.products li.product a {
    text-align: center !important;
}

.ag-img-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(7, 7, 9, 0.85) !important;
    color: #eaeaea !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

.ag-shrink-wrap:hover .ag-img-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* ==========================================================================
   FRONT-END RULES PARA EL HOVER RESTRINGIDO A LA IMAGEN
   ========================================================================== */
.ag-shrink-wrap {
    display: grid !important;
    place-items: center !important;
    position: relative !important;
    max-width: max-content !important;
    margin: 0 auto !important;
    border-radius: 8px 8px 0 0 !important;
    overflow: hidden !important;
}

.ag-shrink-wrap img {
    grid-area: 1 / 1 !important;
    width: auto !important; /* Permitir que la imagen defina su tamaño real */
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
}

.ag-img-overlay {
    grid-area: 1 / 1 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(7, 7, 9, 0.85) !important;
    color: #eaeaea !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

/* Hover al pasar el ratón por cualquier parte de la tarjeta */
.woocommerce ul.products li.product:hover .ag-img-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Y si el viejo código HTML sigue en caché, anularlo para que no moleste */
.woocommerce ul.products li.product .ag-product-hover-desc {
    display: none !important;
}

.ag-custom-badge.ag-badge-outofstock {
    background: rgba(231, 76, 60, 0.9) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
}

/* Ocultar el enlace 'Ver Carrito' que aparece junto al botón de añadir */
a.added_to_cart.wc-forward {
    display: none !important;
}
/* ==========================================================================
   MEDIA QUERIES PARA MOVILES (TIENDA WOOCOMMERCE)
   ========================================================================== */
@media (max-width: 768px) {
    body.woocommerce .site-main,
    body.woocommerce-page .site-main,
    .elementor-location-archive {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .woocommerce ul.products[class*="columns-"] li.product,
    .woocommerce-page ul.products[class*="columns-"] li.product {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 25px !important;
        padding: 20px 20px 70px 20px !important;
    }

    .ag-shop-banner-premium {
    background: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 30px;
    margin-bottom: 30px;
    color: #333333;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

    .ag-banner-card {
    background: #f4eedd;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: transform 0.3s ease;
}
    
    .ag-cart-progress-container {
        padding: 15px !important;
    }

    .ag-side-cart-panel {
        width: 100vw !important;
        right: -100vw !important;
        transition: right 0.3s ease;
    }

    .ag-side-cart-panel.ag-cart-open {
        right: 0 !important;
    }
    
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #333333 !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    margin-top: auto !important;
}

    .ag-floating-cart-btn {
        bottom: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
        font-size: 1.3rem;
    }
}
/* ==========================================================================
   FIX: CLEARFIX Y FONDO CLARO EN PAGINA DE PRODUCTO
   ========================================================================== */
body.single-product, 
body.single-product #primary, 
body.single-product .site-main {
    background-color: #f8f4ee !important;
    background-image: none !important;
}

.site-main::after,
body.single-product .woocommerce div.product::after {
    content: '';
    display: table;
    clear: both;
}

footer.site-footer, #colophon {
    clear: both !important;
}


/* ==========================================================================
   AJUSTES SOLICITADOS EN DETALLE DE PRODUCTO (IMAGEN, SKU, BOTON, NOTA)
   ========================================================================== */

/* 1. Achicar 40% la imagen (queda al 60% de su contenedor) y centrarla */
body.single-product .woocommerce-product-gallery img {
    max-width: 60% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
}

/* 2. Esconder SKU, Categorías y Etiquetas */
body.single-product .product_meta {
    display: none !important;
}

/* 3. Mejorar contraste del boton 'Añadir al carrito' */
body.single-product form.cart .single_add_to_cart_button {
    background-color: #cda47b !important;
    color: #ffffff !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 4px !important;
    transition: background-color 0.3s ease !important;
    text-shadow: none !important;
}
body.single-product form.cart .single_add_to_cart_button:hover {
    background-color: #b89065 !important;
    color: #ffffff !important;
}

/* 4. Re-organizar la nota de 'Compra minima' abajo del boton */
body.single-product .ag-product-pack-note {
    display: block !important;
    clear: both !important;
    margin-top: 25px !important;
    padding: 15px !important;
    background-color: rgba(205, 164, 123, 0.25) !important;
    border-left: 4px solid #cda47b !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.95rem !important;
    color: #333333 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
body.single-product .ag-product-pack-note a {
    color: #cda47b !important;
    font-weight: bold !important;
    text-decoration: none !important;
}
body.single-product .ag-product-pack-note a:hover {
    text-decoration: underline !important;
}


/* ==========================================================================
   AJUSTES DE MARGENES (PRODUCTO, FOOTER, CANTIDAD, NOTA)
   ========================================================================== */

/* Margen arriba (separar del header) y margen abajo (empujar footer) */
body.single-product .site-main {
    padding-top: 60px !important;
    padding-bottom: 80px !important;
}

/* Margen entre la cantidad y el boton añadir al carrito, y margen inferior para separar la nota */
body.single-product form.cart .single_add_to_cart_button {
    margin-left: 20px !important;
    margin-bottom: 25px !important;
}

body.single-product form.cart .quantity {
    margin-bottom: 25px !important;
}

/* El margen superior normal (se mantiene por si acaso, pero el empuje real lo hace el margen inferior de los elementos flotantes arriba) */
body.single-product .ag-product-pack-note {
    margin-top: 10px !important;
}


/* ==========================================================================
   WOOCOMMERCE NOTICES REFACTOR
   ========================================================================== */
body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-message,
body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-info {
    background-color: transparent !important;
    color: #333333 !important;
    border: 1px solid #333333 !important;
    border-radius: 4px !important;
    padding: 15px 25px !important;
    margin: 15px auto 35px auto !important;
    max-width: 600px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-message::before,
body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-info::before {
    display: none;
}

body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-message .button,
body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-info .button {
    display: none;
}




/* ==========================================================================
   ESTILOS DE WOOCOMMERCE - TEMA OSCURO Y ALTO CONTRASTE
   Alineación de diseño con Bodega Quinta Santero
   ========================================================================== */

/* Contenedor y estructura general */
.woocommerce,
body.woocommerce-page .site-main,
.woocommerce-shop .site-main {
    background-color: #f4eedd !important;
    color: #333333 !important;
}

/* Tipografía de WooCommerce */
.woocommerce h1, .woocommerce-page h1,
.woocommerce h2, .woocommerce-page h2,
.woocommerce h3, .woocommerce-page h3,
.woocommerce h4, .woocommerce-page h4 {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    color: #333333 !important;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.woocommerce-loop-product__title {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    font-size: 1.15rem !important;
    text-transform: uppercase;
    color: #333333 !important;
    margin-top: 15px !important;
    margin-bottom: 8px !important;
}

/* Enlaces y textos del loop de productos */
.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price {
    color: #666666 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600;
}



.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: #333333 !important;
    box-shadow: 0 10px 25px rgba(205, 164, 123, 0.15);
}

.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
    border-radius: 4px;
    max-height: 280px;
    object-fit: contain;
    width: auto;
    margin: 0 auto !important;
}

/* Botones de WooCommerce */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background-color: #333333 !important;
    color: #000000 !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
    transition: all 0.3s ease !important;
    border: 1px solid #cda47b !important;
    cursor: pointer;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
    background-color: transparent !important;
    color: #333333 !important;
    transform: scale(1.03);
    box-shadow: 0 4px 15px rgba(205, 164, 123, 0.3);
}

/* Botones secundarios / alternativos (ej: Pago en checkout) */
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page #respond input#submit.alt,
.woocommerce-page a.button.alt,
.woocommerce-page button.button.alt,
.woocommerce-page input.button.alt {
    background-color: #333333 !important;
    color: #000000 !important;
    border-color: #333333 !important;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-page #respond input#submit.alt:hover,
.woocommerce-page a.button.alt:hover,
.woocommerce-page button.button.alt:hover,
.woocommerce-page input.button.alt:hover {
    background-color: transparent !important;
    color: #333333 !important;
}

/* Tablas de Carrito y Checkout */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    border: 1px solid rgba(205, 164, 123, 0.2) !important;
    border-radius: 8px !important;
    background-color: #110808 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    background-color: rgba(205, 164, 123, 0.1) !important;
    color: #333333 !important;
    border-bottom: 1px solid rgba(205, 164, 123, 0.2) !important;
    padding: 15px !important;
}

.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
    border-top: 1px solid rgba(205, 164, 123, 0.1) !important;
    color: #e5e5e5 !important;
    padding: 15px !important;
}

.woocommerce table.shop_table td a {
    color: #333333 !important;
    transition: color 0.2s ease;
}

.woocommerce table.shop_table td a:hover {
    color: #333333 !important;
}

/* Formularios de WooCommerce (Campos de entrada, Labels) */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    color: #333333 !important;
    font-weight: 500;
    margin-bottom: 5px;
    display: inline-block;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row select {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #333333 !important;
    border: 1px solid rgba(205, 164, 123, 0.3) !important;
    border-radius: 4px !important;
    padding: 10px 15px !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-page form .form-row input.input-text:focus,
.woocommerce-page form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page form .form-row select:focus {
    border-color: #333333 !important;
    box-shadow: 0 0 8px rgba(205, 164, 123, 0.4) !important;
    outline: none !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Totales del Carrito (Cart Collaterals) y Secciones de Pago */
.cart-collaterals,
.woocommerce-checkout #order_review,
#payment {
    background-color: #ffffff !important;
    border: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-radius: 8px !important;
    padding: 25px !important;
}

#payment ul.payment_methods {
    border-bottom: 1px solid rgba(205, 164, 123, 0.1) !important;
    padding-bottom: 15px !important;
}

#payment div.payment_box {
    background-color: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(205, 164, 123, 0.1) !important;
    color: #d1d1d1 !important;
    border-radius: 4px;
}

/* Detalles del Producto Individual */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #333333 !important;
    font-size: 1.5rem !important;
}

.woocommerce div.product .product_title {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    color: #333333 !important;
    font-size: 2.5rem !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: #333333 !important;
    line-height: 1.6;
}

.woocommerce div.product div.images img {
    border: 1px solid rgba(205, 164, 123, 0.15) !important;
    border-radius: 8px !important;
    background-color: #110808 !important;
}

/* Pestañas de Información en Producto Detalle */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid rgba(205, 164, 123, 0.2) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: transparent !important;
    border: 1px solid transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: #110808 !important;
    border: 1px solid rgba(205, 164, 123, 0.2) !important;
    border-bottom-color: #110808 !important;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: #b5b5b5 !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #333333 !important;
}

/* Mensajes y Notificaciones */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: #110808 !important;
    color: #333333 !important;
    border-top: 3px solid #cda47b !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

.woocommerce-message a.button {
    padding: 6px 14px !important;
    font-size: 0.85rem !important;
}

/* Cantidad de Producto (Quantity Input) */
.woocommerce .quantity .qty {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #333333 !important;
    border: 1px solid rgba(205, 164, 123, 0.3) !important;
    border-radius: 4px !important;
    padding: 8px !important;
    text-align: center;
}

/* Breadcrumbs de WooCommerce */
.woocommerce-breadcrumb {
    color: #b5b5b5 !important;
    font-size: 0.9rem !important;
    margin-bottom: 30px !important;
}

.woocommerce-breadcrumb a {
    color: #333333 !important;
}

.woocommerce-breadcrumb a:hover {
    color: #333333 !important;
}

/* Secciones Vacías (Carrito vacío, Sin productos) */
.cart-empty,
.woocommerce-info {
    text-align: center;
    padding: 30px !important;
}


/* ==========================================================================
   UX BANNER TIENDA - "¿CÓMO ARMO MI PACK?" (PREMIUM)
   ========================================================================== */
.ag-shop-banner-premium {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 40px 0 20px;
    margin-bottom: 0;
    color: #444444;
    box-shadow: none;
}

.ag-shop-banner-header {
    text-align: center;
    margin-bottom: 30px;
}

.ag-shop-banner-header h3 {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 1.8rem !important;
    color: #ffffff !important;
    letter-spacing: 2px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
}

.ag-shop-banner-header p {
    color: #cccccc !important;
    font-size: 1.1rem !important;
    font-family: 'Montserrat', sans-serif !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}

.ag-shop-banner-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.ag-banner-card {
    background: #111111;
    border: none;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: transform 0.3s ease;
}

.ag-banner-card:hover {
    transform: translateY(-3px);
    background: #1a1a1a;
}

.ag-banner-card i {
    font-size: 2rem;
    color: #5c1a1b;
    margin-bottom: 15px;
}

.ag-banner-card h4 {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    color: #ffffff !important;
    font-size: 1.2rem !important;
    margin-bottom: 10px !important;
}

.ag-banner-card p {
    color: #aaaaaa !important;
    font-size: 0.95rem !important;
    font-family: 'Montserrat', sans-serif !important;
}

.ag-banner-card strong {
    color: #cda47b !important;
    font-weight: 600 !important;
}

.ag-shop-banner-whatsapp {
    text-align: center !important;
    margin: 0 !important;
    color: #111111 !important;
}

.ag-shop-banner-whatsapp a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #25D366;
    color: #ffffff !important;
    padding: 10px 20px;
    border-radius: 30px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.ag-shop-banner-whatsapp a:hover {
    background-color: #128C7E;
}


/* ==========================================================================
   GAMIFICACIÓN DEL CARRITO (BARRA DE PROGRESO)
   ========================================================================== */
.ag-cart-progress-container {
    margin-bottom: 0;
    padding: 0 0 40px;
}

.ag-progress-wrapper {
    background: #111111;
    border: none;
    border-radius: 8px;
    padding: 20px 30px;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.ag-progress-text {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    font-size: 1.1rem;
    color: #111111 !important;
    margin-bottom: 15px;
}

.ag-progress-text i {
    color: #cda47b;
}

.ag-progress-bar {
    width: 100%;
    height: 10px;
    background-color: rgba(205, 164, 123, 0.2);
    border-radius: 5px;
    overflow: hidden;
    position: relative;
}

.ag-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #cda47b, #e0b488);
    border-radius: 5px;
    transition: width 0.5s ease-in-out;
}


/* ==========================================================================
   ETIQUETAS (BADGES) EN PRODUCTOS
   ========================================================================== */
.woocommerce ul.products li.product {
    position: relative; /* Para que la etiqueta absoluta se posicione bien */
}

.ag-custom-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 6px 10px;
    border-radius: 4px;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 500;
    z-index: 99;
    letter-spacing: 1px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    gap: 6px;
    background-color: rgba(17, 8, 8, 0.9);
    border: 1px solid rgba(205, 164, 123, 0.4);
    backdrop-filter: blur(4px);
}

.ag-badge-bestseller {
    color: #cda47b;
}

.ag-badge-bestseller i {
    color: #cda47b;
}

.ag-badge-limited {
    color: #ff6b6b;
    border-color: rgba(255, 107, 107, 0.4);
}

.ag-badge-limited i {
    color: #ff6b6b;
}



/* ==========================================================================
   CARRITO LATERAL (OFF-CANVAS) Y BOTÓN FLOTANTE - REFACTORIZADO
   ========================================================================== */
.ag-floating-cart-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background-color: #cda47b;
    color: #110808;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    cursor: pointer;
    z-index: 9998;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.ag-floating-cart-btn:hover {
    transform: scale(1.1);
    background-color: #e0b488;
}

.ag-floating-cart-count {
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: #8b0000;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 700;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #110808;
}

.ag-side-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(6px);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.ag-side-cart-overlay.ag-overlay-visible {
    opacity: 1;
    visibility: visible;
}

.ag-side-cart-panel {
    position: fixed;
    top: 0;
    right: -420px;
    width: 420px;
    max-width: 100vw;
    height: 100vh;
    background-color: var(--ag-light-bg);
    z-index: 10000;
    box-shadow: -5px 0 25px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
    transition: right 0.4s cubic-bezier(0.77, 0, 0.175, 1);
}

.ag-side-cart-panel.ag-cart-open {
    right: 0;
}

.ag-side-cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    background-color: #110808;
    color: #cda47b;
    border-bottom: 2px solid #cda47b;
}

.ag-side-cart-header h3 {
    margin: 0 !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 1.2rem !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.ag-close-cart {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 1.5rem;
    cursor: pointer;
    transition: color 0.3s ease;
}

.ag-close-cart:hover {
    color: #cda47b;
}

.ag-side-cart-progress {
    padding: 20px 20px 0 20px;
}

.ag-side-cart-progress .ag-progress-wrapper {
    background-color: transparent;
    border: 1px solid rgba(205, 164, 123, 0.5);
    padding: 15px;
}

.ag-side-cart-content {
    flex-grow: 1;
    overflow-y: auto;
    padding: 20px;
}

/* ---------------------------------------------------------
   DISEÑO "CARD" PARA LA LISTA DE PRODUCTOS
--------------------------------------------------------- */
.ag-side-cart-content ul.cart_list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ag-side-cart-content ul.cart_list li {
    padding: 15px !important;
    margin-bottom: 15px !important;
    background-color: var(--ag-light-card) !important;
    border: 1px solid rgba(205, 164, 123, 0.2) !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    position: relative !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
}

/* Controlando la imagen para que no explote */
.ag-side-cart-content ul.cart_list li img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    margin: 0 !important;
    float: none !important;
    border: 1px solid rgba(205, 164, 123, 0.2) !important;
}

/* Contenedor del nombre y cantidad */
.ag-side-cart-content ul.cart_list li > a:not(.remove) {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    flex-grow: 1 !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    color: var(--ag-light-text) !important;
    text-decoration: none !important;
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.ag-side-cart-content ul.cart_list li .quantity {
    display: block !important;
    font-size: 0.9rem !important;
    color: #666 !important;
    margin-top: 5px !important;
    font-family: 'Montserrat', sans-serif !important;
}

.ag-side-cart-content ul.cart_list li .quantity .amount {
    font-weight: bold !important;
    color: #333333 !important;
}

/* Botón Eliminar elegante */
.ag-side-cart-content ul.cart_list li a.remove {
    position: static !important;
    margin: 0 !important;
    color: #8b0000 !important;
    background: rgba(139, 0, 0, 0.1) !important;
    border: none !important;
    font-size: 1.2rem !important;
    border-radius: 50% !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.ag-side-cart-content ul.cart_list li a.remove:hover {
    background: #8b0000 !important;
    color: #333333 !important;
}

/* Total del Carrito */
.ag-side-cart-content .widget_shopping_cart_content .total {
    padding: 15px 0 !important;
    border-top: 2px solid rgba(205, 164, 123, 0.2) !important;
    border-bottom: none !important;
    margin-top: 10px !important;
    display: flex !important;
    justify-content: space-between !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    font-size: 1.3rem !important;
    color: var(--ag-light-text) !important;
}

/* ---------------------------------------------------------
   BOTONES Y FLUJO UX
--------------------------------------------------------- */
.ag-side-cart-content .widget_shopping_cart_content .buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.ag-side-cart-content .widget_shopping_cart_content .buttons a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 15px !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}

/* Botón Ver Carrito (Principal) */
.ag-side-cart-content .widget_shopping_cart_content .buttons a:not(.checkout) {
    background-color: #333333 !important;
    color: #ffffff !important;
    border: none !important;
    order: 1 !important; /* Lo forzamos a estar arriba */
    box-shadow: 0 4px 15px rgba(205, 164, 123, 0.4) !important;
}

.ag-side-cart-content .widget_shopping_cart_content .buttons a:not(.checkout):hover {
    background-color: #e0b488 !important;
    transform: translateY(-2px) !important;
}

/* Botón Checkout (Secundario/Bloqueado) */
.ag-side-cart-content .widget_shopping_cart_content .buttons a.checkout {
    background-color: transparent !important;
    color: #a0a0a0 !important;
    border: 1px dashed #a0a0a0 !important;
    order: 2 !important; /* Lo forzamos abajo */
    pointer-events: none !important; /* Bloqueado visualmente */
    opacity: 0.5 !important;
}

/* Solo habilitar Checkout si el panel tiene clase ag-checkout-enabled (se añadirá con JS/PHP si cumple la regla de 6) */
.ag-side-cart-panel.ag-checkout-enabled .widget_shopping_cart_content .buttons a.checkout {
    background-color: #110808 !important;
    color: #ffffff !important;
    border: 1px solid #110808 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
}

.ag-side-cart-panel.ag-checkout-enabled .widget_shopping_cart_content .buttons a.checkout:hover {
    background-color: #2a1515 !important;
}

/* Mensaje de carrito vacío */
.woocommerce-mini-cart__empty-message {
    text-align: center !important;
    color: #666 !important;
    font-size: 1.1rem !important;
    margin-top: 40px !important;
}


/* ==========================================================================
   DISEÑO PREMIUM TIENDA: MADERA Y OBSIDIANA
   ========================================================================== */

/* 1. Fondo de la tienda: Fondo claro restaurado */
body.woocommerce .site-main,
body.woocommerce-page .site-main,
.elementor-location-archive {
    background-image: none !important;
    background-color: #f8f4ee !important;
    padding-left: 5vw !important;
    padding-right: 5vw !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce, body.woocommerce-page {
    background-color: #f8f4ee !important;
}

/* Ocultar elementos innecesarios */
.woocommerce-breadcrumb,
.storefront-breadcrumb,
.woocommerce-products-header {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
}

/* 2. Tarjetas de Vinos: Claras en vez de Obsidiana */
.woocommerce ul.products li.product {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    border-radius: 8px !important;
    padding: 25px !important;
    padding-bottom: 75px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02) !important;
    transition: all 0.4s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #333333 !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    margin-top: auto !important;
}

.woocommerce ul.products li.product .price {
    color: #5c1a1b !important; /* Dorado premium o rojo */
}

/* Micro-animación: Elevación y Borde Dorado Fuerte */
.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: #c4d9a7 !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
}

/* 3. Banner de ¿Cómo armo mi pack? */
.ag-shop-banner-premium {
    background: #ffffff;
    border: 1px solid #c4d9a7;
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 40px;
    color: #444444;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.ag-shop-banner-header h3 {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    text-transform: uppercase !important;
    font-size: 1.8rem !important;
    color: #333333 !important;
    letter-spacing: 2px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
}
.ag-shop-banner-header p {
    color: #555555 !important;
    font-size: 1.1rem !important;
    font-family: 'Montserrat', sans-serif !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}

/* Tarjetas internas del banner */
.ag-banner-card {
    background: #f8f4ee;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: transform 0.3s ease;
}
.ag-banner-card:hover {
    transform: translateY(-3px);
    background: #ffffff;
}
.ag-banner-card h4, .ag-banner-card p {
    color: #555555 !important;
    font-size: 0.95rem !important;
    font-family: 'Montserrat', sans-serif !important;
}
.ag-banner-card i {
    color: #5c1a1b !important;
}

/* 4. Barra de Progreso */
.ag-cart-progress-container {
    background: #ffffff !important; /* Blanco */
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.03) !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
}

/* Mensajes de WooCommerce adaptados a fondo oscuro */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: transparent !important; 
    color: #eaeaea !important; 
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.woocommerce-message strong {
    color: #333333 !important; 
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none !important;
}


/* ==========================================================================
   MATAR EL CUADRO BLANCO DEL WOOCOMMERCE MESSAGE
   ========================================================================== */
/* Usamos 'background' shorthand en vez de 'background-color' porque el tema 
   podría estar usando un shorthand que anula nuestra regla */
body.woocommerce .ag-cart-progress-container .woocommerce-message,
body.woocommerce .ag-cart-progress-container .woocommerce-info,
body.woocommerce .woocommerce-message,
body.woocommerce .woocommerce-info,
body.woocommerce .woocommerce-error {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Forzar que el texto dentro del cuadro se lea bien */
body.woocommerce .woocommerce-message,
body.woocommerce .woocommerce-info,
body.woocommerce .woocommerce-message strong,
body.woocommerce .woocommerce-info strong {
    color: #333333 !important; /* Dorado */
}


/* ==========================================================================
   HOVER DE PRODUCTO (SOPORTE PARA CACHÉ Y NUEVO JS)
   ========================================================================== */
/* Para el HTML viejo que quedó en caché */
.ag-product-image-wrapper {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px 8px 0 0 !important;
    display: block !important;
    flex: 0 0 auto !important; /* Evita que se estire y cubra toda la tarjeta */
    height: max-content !important;
    max-height: max-content !important;
}

.ag-product-hover-desc {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(7, 7, 9, 0.85) !important; /* Fondo oscuro */
    color: #eaeaea !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

.woocommerce ul.products li.product:hover .ag-product-hover-desc,
.ag-product-image-wrapper:hover .ag-product-hover-desc {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Evitar que el contenedor general de Elementor expanda la imagen */
.woocommerce ul.products li.product a img {
    margin-bottom: 0 !important;
    display: block !important;
}


/* ==========================================================================
   FRONT-END RULES PARA EL HOVER RESTRINGIDO A LA IMAGEN
   ========================================================================== */
.ag-shrink-wrap {
    position: relative !important;
    display: inline-flex !important; /* Asegura que no se expanda al 100% de la tarjeta */
    justify-content: center;
    align-items: center;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}

/* Alineación central de la imagen en la tarjeta por si acaso */
.woocommerce ul.products li.product a {
    text-align: center !important;
}

.ag-img-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(7, 7, 9, 0.85) !important;
    color: #eaeaea !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

.ag-shrink-wrap:hover .ag-img-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}


/* ==========================================================================
   FRONT-END RULES PARA EL HOVER RESTRINGIDO A LA IMAGEN
   ========================================================================== */
.ag-shrink-wrap {
    display: grid !important;
    place-items: center !important;
    position: relative !important;
    max-width: max-content !important;
    margin: 0 auto !important;
    border-radius: 8px 8px 0 0 !important;
    overflow: hidden !important;
}

.ag-shrink-wrap img {
    grid-area: 1 / 1 !important;
    width: auto !important; /* Permitir que la imagen defina su tamaño real */
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
}

.ag-img-overlay {
    grid-area: 1 / 1 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(7, 7, 9, 0.85) !important;
    color: #eaeaea !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

/* Hover al pasar el ratón por cualquier parte de la tarjeta */
.woocommerce ul.products li.product:hover .ag-img-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Y si el viejo código HTML sigue en caché, anularlo para que no moleste */
.woocommerce ul.products li.product .ag-product-hover-desc {
    display: none !important;
}

.ag-custom-badge.ag-badge-outofstock {
    background: rgba(231, 76, 60, 0.9) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
}

/* Ocultar el enlace 'Ver Carrito' que aparece junto al botón de añadir */
a.added_to_cart.wc-forward {
    display: none !important;
}

/* ==========================================================================
   MEDIA QUERIES PARA MOVILES (TIENDA WOOCOMMERCE)
   ========================================================================== */
@media (max-width: 768px) {
    body.woocommerce .site-main,
    body.woocommerce-page .site-main,
    .elementor-location-archive {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .woocommerce ul.products[class*="columns-"] li.product,
    .woocommerce-page ul.products[class*="columns-"] li.product {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 25px !important;
        padding: 20px 20px 70px 20px !important;
    }

    .ag-shop-banner-premium {
    background: #ffffff;
    border: 1px solid #c4d9a7;
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 40px;
    color: #444444;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

    .ag-banner-card {
    background: #f4eedd;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: transform 0.3s ease;
}
    
    .ag-cart-progress-container {
        padding: 15px !important;
    }

    .ag-side-cart-panel {
        width: 100vw !important;
        right: -100vw !important;
        transition: right 0.3s ease;
    }

    .ag-side-cart-panel.ag-cart-open {
        right: 0 !important;
    }
    
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #333333 !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    margin-top: auto !important;
}

    .ag-floating-cart-btn {
        bottom: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
        font-size: 1.3rem;
    }
}

/* ==========================================================================
   MÓDULO TIENDA — UX + MARKETING CSS
   ========================================================================== */

/* Hero de Tienda */
.ag-shop-hero {
    background: transparent;
    padding: 100px 20px 40px;
    text-align: center;
    margin-bottom: 60px; /* Pushed filters further down */
}
.ag-shop-hero__inner {
    max-width: 800px;
    margin: 0 auto;
}
.ag-shop-hero__eyebrow {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    color: #cda47b;
    font-weight: 500;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 15px;
}
.ag-shop-hero__title {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    font-size: 2.8rem;
    color: #111111;
    line-height: 1.2;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.ag-shop-hero__subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.05rem;
    color: #666666;
    margin: 0 auto 35px auto;
    line-height: 1.6;
    max-width: 600px;
}
.ag-shop-hero__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}
.ag-shop-btn-pack {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #111111;
    color: #ffffff;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    font-size: 1.05rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 14px 32px;
    border-radius: 50px;
    transition: all 0.3s ease;
    border: 1px solid #111111;
}
.ag-shop-btn-pack i {
    color: #25D366;
    font-size: 1.2rem;
}
.ag-shop-btn-pack:hover {
    background-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    color: #111111;
}
.ag-shop-pack-info {
    display: inline-block;
    font-size: 0.95rem;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    color: #000000;
    background-color: #cda47b; /* Solid gold */
    border: none;
    padding: 10px 24px;
    border-radius: 50px;
    letter-spacing: 0.5px;
    box-shadow: 0 6px 20px rgba(205, 164, 123, 0.3);
    margin-top: 10px;
    text-transform: uppercase;
}

/* Filtros de Categoría */
.ag-shop-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 30px;
    margin-bottom: 40px;
    position: relative;
    z-index: 10;
}
.ag-filter-btn {
    border: 1px solid #dddddd;
    background: #ffffff;
    color: #555555;
    padding: 10px 24px;
    border-radius: 30px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
    text-decoration: none;
    display: inline-block;
}
.ag-filter-btn:hover {
    border-color: #cda47b;
    color: #cda47b;
    background: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(205, 164, 123, 0.15);
}
.ag-filter-btn--active {
    background: #111111;
    border-color: #111111;
    color: #ffffff !important;
}

/* Badges Dinámicos (Tags) */
.ag-badges-container {
    position: absolute;
    top: 15px;
    left: 15px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    z-index: 10;
    pointer-events: none;
}
.ag-badge {
    background-color: #cda47b;
    color: #000000;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    font-size: 0.8rem;
    padding: 4px 10px;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
/* Color especial para el tag "Stock Limitado" si lo crean */
.ag-badge--stock-limitado {
    background-color: #d9534f;
    color: #ffffff;
}

/* Nota de modelo de compra (Producto individual) */
.ag-product-pack-note {
    margin-top: 15px;
    font-size: 0.9rem;
    color: #a0a0a0;
    background: rgba(255,255,255,0.03);
    padding: 10px 15px;
    border-radius: 4px;
    border-left: 3px solid #cda47b;
}
.ag-product-pack-note a {
    color: #cda47b;
    text-decoration: underline;
}

/* Cross-sell (También te puede interesar) */
.ag-cross-sell {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid rgba(205, 164, 123, 0.15);
}
.ag-cross-sell__title {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 30px;
    text-align: center;
}
.ag-cross-sell__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
}
.ag-cross-sell__item {
    background: #110808;
    border: 1px solid rgba(205, 164, 123, 0.15);
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    transition: transform 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
}
.ag-cross-sell__item:hover {
    transform: translateY(-5px);
    border-color: #cda47b;
}
.ag-cross-sell__item img {
    max-height: 180px;
    object-fit: contain;
    margin: 0 auto 15px;
}
.ag-cross-sell__name {
    font-family: 'ITC Avant Garde Gothic Std', sans-serif;
    color: #ffffff;
    font-size: 1.1rem;
    text-transform: uppercase;
    margin-bottom: 5px;
}
.ag-cross-sell__price {
    color: #cda47b;
    font-weight: 600;
}


/* ==========================================================================
   AG FRONTEND/UX LAYOUT FIX (SOLO WOOCOMMERCE)
   ========================================================================== */

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 2.5rem !important; 
    margin: 0 !important;
    padding: 3rem 0 !important;
    list-style: none !important;
}

/* Alta especificidad para asegurar que las tarjetas sean oscuras */
html body.woocommerce ul.products li.product,
html body.woocommerce-page ul.products li.product,
html body.woocommerce .products .product,
html body.woocommerce-page .products .product {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    box-sizing: border-box !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
}

html body.woocommerce ul.products li.product:hover,
html body.woocommerce-page ul.products li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 25px rgba(205, 164, 123, 0.2) !important;
}

.woocommerce ul.products li.product img {
    max-width: 100% !important;
    height: auto !important;
    margin-bottom: 1rem !important;
    border-radius: 4px !important;
}

/* ------------------------------------------------
   RESPONSIVE FIXES
   ------------------------------------------------ */

@media (max-width: 1280px) {
    .main-navigation .primary-menu {
        gap: 1rem !important;
    }
    .main-navigation .primary-menu li a {
        font-size: 0.9rem !important;
    }
    .site-branding {
        max-width: 220px !important;
    }
}

@media (max-width: 1024px) {
    header.site-header .container {
        flex-wrap: wrap !important;
    }
    .site-header-menu {
        width: 100% !important;
        justify-content: center !important;
        margin-top: 1rem !important;
    }
    .main-navigation .primary-menu {
        justify-content: center !important;
    }
    .woocommerce ul.products {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .site-branding {
        max-width: 180px !important;
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
        gap: 1.5rem !important;
    }
}


/* ==========================================================================
   FRANJA BLANCA DE INFORMACIÓN (Layout Band)
   La sección "¿Cómo armo mi pack?" + Barra de progreso en banda blanca full-width
   ========================================================================== */

.ag-shop-info-wrapper {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    background-color: #000000;
    padding: 50px 20px;
    margin-bottom: 50px;
    box-sizing: border-box;
}
.ag-shop-info-wrapper-inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* Fix WooCommerce Grid empty slot and hide result count */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}
.woocommerce-result-count {
    display: none !important;
}

/* Fix quantity and add-to-cart button heights */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .quantity {
    height: 45px !important;
    margin: 0 !important;
    vertical-align: top !important;
    box-sizing: border-box !important;
    float: left !important;
}
.woocommerce ul.products li.product .quantity {
    width: 60px !important;
    margin-right: 5px !important;
}
.woocommerce ul.products li.product .quantity input.qty {
    height: 100% !important;
    width: 100% !important;
    border-color: #dddddd !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
}
.woocommerce ul.products li.product .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    width: calc(100% - 65px) !important; /* Total width minus quantity width and margin */
    line-height: 1.1 !important;
}
.woocommerce ul.products li.product::after {
    content: '';
    display: table;
    clear: both;
}


/* ==========================================================================
   FIX: CLEARFIX Y FONDO CLARO EN PAGINA DE PRODUCTO
   ========================================================================== */
body.single-product, 
body.single-product #primary, 
body.single-product .site-main {
    background-color: #f8f4ee !important;
    background-image: none !important;
}

.site-main::after,
body.single-product .woocommerce div.product::after {
    content: '';
    display: table;
    clear: both;
}

footer.site-footer, #colophon {
    clear: both !important;
}



/* ==========================================================================
   AJUSTES SOLICITADOS EN DETALLE DE PRODUCTO (IMAGEN, SKU, BOTON, NOTA)
   ========================================================================== */

/* 1. Achicar 40% la imagen (queda al 60% de su contenedor) y centrarla */
body.single-product .woocommerce-product-gallery img {
    max-width: 60% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
}

/* 2. Esconder SKU, Categorías y Etiquetas */
body.single-product .product_meta {
    display: none !important;
}

/* 3. Mejorar contraste del boton 'Añadir al carrito' */
body.single-product form.cart .single_add_to_cart_button {
    background-color: #cda47b !important;
    color: #ffffff !important;
    font-family: 'ITC Avant Garde Gothic Std', sans-serif !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 4px !important;
    transition: background-color 0.3s ease !important;
    text-shadow: none !important;
}
body.single-product form.cart .single_add_to_cart_button:hover {
    background-color: #b89065 !important;
    color: #ffffff !important;
}

/* 4. Re-organizar la nota de 'Compra minima' abajo del boton */
body.single-product .ag-product-pack-note {
    display: block !important;
    clear: both !important;
    margin-top: 25px !important;
    padding: 15px !important;
    background-color: rgba(205, 164, 123, 0.25) !important;
    border-left: 4px solid #cda47b !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.95rem !important;
    color: #333333 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
body.single-product .ag-product-pack-note a {
    color: #cda47b !important;
    font-weight: bold !important;
    text-decoration: none !important;
}
body.single-product .ag-product-pack-note a:hover {
    text-decoration: underline !important;
}



/* ==========================================================================
   WOOCOMMERCE NOTICES REFACTOR
   ========================================================================== */
body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-message,
body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-info {
    background-color: transparent !important;
    color: #333333 !important;
    border: 1px solid #333333 !important;
    border-radius: 4px !important;
    padding: 15px 25px !important;
    margin: 15px auto 35px auto !important;
    max-width: 600px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-message::before,
body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-info::before {
    display: none;
}

body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-message .button,
body.single-product #page.site div.woocommerce-notices-wrapper .woocommerce-info .button {
    display: none;
}



/* ==========================================================================
   FORZAR IMAGEN DE FONDO (ROMPIENDO BLOQUEOS DE ELEMENTOR/TEMA)
   ========================================================================== */

/* 1. Aplicar la madera directamente al Body para garantizar que cubra toda la ventana */
body.woocommerce,
body.woocommerce-page {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.8)), url('/wp-content/uploads/bodega_interior_fondo.png') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
}

/* 2. Hacer totalmente transparentes todas las capas intermedias que podrían estar tapando la madera */
body.woocommerce #page,
body.woocommerce #content,
body.woocommerce .site-main,
body.woocommerce .elementor-location-archive,
body.woocommerce .page-content,
body.woocommerce-page #page,
body.woocommerce-page #content,
body.woocommerce-page .site-main,
body.woocommerce-page .elementor-location-archive,
body.woocommerce-page .page-content {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}



/* ==========================================================================
   FORZAR MADERA EN CONTENEDORES INTERNOS (OVERRIDE ELEMENTOR GREY)
   ========================================================================== */

/* El fondo gris que ves proviene de la configuración de Elementor. 
   Para aplastarlo, inyectamos la madera en la capa más alta de Elementor */
body.woocommerce .elementor-location-archive,
body.woocommerce .site-main,
body.woocommerce #page,
body.woocommerce-page .elementor-location-archive,
body.woocommerce-page .site-main,
body.woocommerce-page #page {
    background-image: none !important;
    background-color: #f8f4ee !important;
}



/* ==========================================================================
   MATAR EL CUADRO BLANCO DEL PROGRESS WRAPPER
   ========================================================================== */
body.woocommerce .ag-progress-wrapper,
body.woocommerce-page .ag-progress-wrapper {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}




/* ==========================================================================
   MATAR CUALQUIER SCROLL INTERNO (SIN ROMPER EL SCROLL DEL NAVEGADOR)
   ========================================================================== */
/* Forzar que todos los contenedores fluyan naturalmente y no generen scrollbars internos */
body.woocommerce .site-main,
body.woocommerce .elementor-location-archive,
body.woocommerce .elementor-section,
body.woocommerce .elementor-container,
body.woocommerce .elementor-widget-wrap,
body.woocommerce .elementor-widget-container {
    overflow: visible !important;
    max-height: none !important;
}

/* Prevenir scroll horizontal global de forma segura */
body.woocommerce {
    
    max-width: 100% !important;
    width: 100% !important;
}



/* ==========================================================================
   ESTILOS DE HOVER Y CANTIDADES
   ========================================================================== */

/* Hover sobre imagen de producto (Absolute Match) */
.ag-img-overlay {
    position: absolute;
    background: rgba(7, 7, 9, 0.85); /* Obsidiana translúcido */
    color: #eaeaea;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    box-sizing: border-box;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    z-index: 10;
    pointer-events: none; /* Dejar pasar los clics si es necesario */
}

/* Botones de Cantidad (+/-) en Carrito Lateral */
.ag-minicart-qty-controls {
    display: inline-flex;
    align-items: center;
    background: #FAF8F5;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 4px;
    margin-right: 10px;
    margin-top: 5px;
}

.ag-minicart-qty-btn {
    background: transparent !important;
    border: none !important;
    color: #1A1A1A !important;
    font-weight: bold;
    padding: 2px 8px !important;
    cursor: pointer;
    transition: background 0.2s ease !important;
    font-size: 14px !important;
}

.ag-minicart-qty-btn:hover {
    background: rgba(0,0,0,0.05) !important;
    color: #333333 !important;
}

.ag-minicart-qty-val {
    padding: 0 5px;
    font-weight: bold;
    color: #1A1A1A;
    min-width: 16px;
    text-align: center;
}

.ag-minicart-price {
    color: #333333 !important;
    font-weight: bold;
    margin-left: 5px;
}

/* ==========================================================================
   ESTILOS DE CAMPOS DE FORMULARIO DE CHECKOUT (FONDO BLANCO)
   ========================================================================== */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #1a0a05 !important;
    border: 1.5px solid rgba(205,164,123,0.5) !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    box-shadow: none !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    background-color: #ffffff !important;
    border-color: #cda47b !important;
    box-shadow: 0 0 0 3px rgba(205, 164, 123, 0.2) !important;
    outline: none !important;
}

/* ==========================================================================
   CHECKOUT PAGE: ANCHO ADECUADO Y RESUMEN DE PEDIDO UNIFICADO
   ========================================================================== */

/* 1. Ancho principal del contenedor de Checkout sin anidación de paddings */
body.woocommerce-checkout .site-main,
body.woocommerce-checkout #primary {
    max-width: 1140px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Flexbox para las 2 columnas (Facturación e Información Adicional) */
body.woocommerce-checkout form.checkout .col2-set {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    width: 100% !important;
    margin-bottom: 30px !important;
    float: none !important;
}

body.woocommerce-checkout form.checkout .col2-set .col-1,
body.woocommerce-checkout form.checkout .col2-set .col-2 {
    flex: 1 1 450px !important;
    max-width: 100% !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout form.checkout .form-row {
    width: 100% !important;
    float: none !important;
    margin-bottom: 18px !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout form.checkout .form-row-first {
    width: 48% !important;
    float: left !important;
}

body.woocommerce-checkout form.checkout .form-row-last {
    width: 48% !important;
    float: right !important;
}

body.woocommerce-checkout form.checkout .clear {
    clear: both !important;
}

@media (max-width: 768px) {
    body.woocommerce-checkout form.checkout .form-row-first,
    body.woocommerce-checkout form.checkout .form-row-last {
        width: 100% !important;
        float: none !important;
    }
}

/* 2. Caja blanca del resumen de pedido (#order_review) con "TU PEDIDO" dentro */
.woocommerce-checkout #order_review_heading {
    background-color: #ffffff !important;
    color: #1a0a05 !important;
    font-family: var(--font-title, 'Montserrat', sans-serif) !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin: 0 !important;
    padding: 24px 28px 10px 28px !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-bottom: none !important;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout-review-order {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #1a0a05 !important;
    border: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-top: none !important;
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
    padding: 10px 28px 28px 28px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

/* Si el título está insertado por JS dentro de #order_review */
.woocommerce-checkout #order_review #order_review_heading {
    border: none !important;
    border-radius: 0 !important;
    padding: 10px 0 15px 0 !important;
    margin: 0 !important;
}

/* Títulos, encabezados y textos dentro del resumen del pedido */
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td,
.woocommerce-checkout #order_review .product-name,
.woocommerce-checkout #order_review .product-total,
.woocommerce-checkout #order_review .cart-subtotal,
.woocommerce-checkout #order_review .order-total,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.woocommerce-checkout table.shop_table td.product-name,
.woocommerce-checkout table.shop_table td.product-total,
.woocommerce-checkout table.shop_table strong,
.woocommerce-checkout table.shop_table span.woocommerce-Price-amount {
    color: #1a0a05 !important;
    font-weight: 600 !important;
}

/* Bordes internos de la tabla del pedido */
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.woocommerce-checkout table.shop_table tr {
    border-bottom: 1px solid rgba(205, 164, 123, 0.25) !important;
}

/* Métodos de pago */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 20px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    background-color: #fcf8f2 !important;
    border: 1px solid rgba(205, 164, 123, 0.3) !important;
    border-radius: 8px !important;
    padding: 15px 20px !important;
    margin-bottom: 20px !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    color: #1a0a05 !important;
    font-weight: 600 !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    color: #1a0a05 !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

.woocommerce-checkout #payment div.payment_box {
    background-color: #ffffff !important;
    border: 1px solid rgba(205, 164, 123, 0.4) !important;
    color: #4a3b32 !important;
    border-radius: 6px !important;
    padding: 12px 15px !important;
    font-size: 0.9rem !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #cda47b !important;
}

/* Botón de Realizar Pedido / Confirmar */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout input[name="woocommerce_checkout_place_order"] {
    background-color: #cda47b !important;
    color: #0a0000 !important;
    font-family: var(--font-title, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 16px 32px !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout input[name="woocommerce_checkout_place_order"]:hover {
    background-color: #b89065 !important;
    color: #0a0000 !important;
    transform: translateY(-2px) !important;
}

/* ==========================================================================
   ESTILOS PÁGINA DE PEDIDO RECIBIDO / GRACIAS (ORDER RECEIVED / THANK YOU)
   ========================================================================== */

/* Contenedor general en la página de Gracias / Pedido Recibido */
.woocommerce-order-received .site-main,
.woocommerce-order-received #primary,
.woocommerce-order-received .woocommerce {
    max-width: 1140px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* 1. Banner "Gracias. Tu pedido ha sido recibido." */
.woocommerce-order-received p.woocommerce-notice--success,
.woocommerce-order-received p.woocommerce-thankyou-order-received {
    background-color: #ffffff !important;
    color: #1a0a05 !important;
    font-family: var(--font-title, 'Montserrat', sans-serif) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    border-left: 5px solid #cda47b !important;
    border-top: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-right: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-bottom: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-radius: 10px !important;
    padding: 20px 24px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
}

/* 2. Tarjeta resumen del pedido (Número de pedido, fecha, email, total, método) */
.woocommerce-order-received ul.woocommerce-order-overview,
.woocommerce-order-received ul.order_details {
    background-color: #ffffff !important;
    border: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    list-style: none !important;
}

.woocommerce-order-received ul.woocommerce-order-overview li,
.woocommerce-order-received ul.order_details li {
    border-right: 1px solid rgba(205, 164, 123, 0.25) !important;
    padding-right: 20px !important;
    margin-right: 0 !important;
    float: none !important;
    font-size: 0.82rem !important;
    color: #7a6a5a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 700 !important;
}

.woocommerce-order-received ul.woocommerce-order-overview li:last-child,
.woocommerce-order-received ul.order_details li:last-child {
    border-right: none !important;
}

.woocommerce-order-received ul.woocommerce-order-overview li strong,
.woocommerce-order-received ul.order_details li strong {
    display: block !important;
    color: #1a0a05 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin-top: 6px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* 3. Mensaje de aviso de transferencia/comprobante */
.woocommerce-order-received .woocommerce > p {
    background-color: #ffffff !important;
    border: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-left: 4px solid #cda47b !important;
    color: #1a0a05 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    padding: 16px 20px !important;
    border-radius: 8px !important;
    margin-bottom: 25px !important;
}

/* 4. Encabezados "NUESTROS DETALLES BANCARIOS" y "DETALLES DEL PEDIDO" */
.woocommerce-order-received h2,
.woocommerce-order-received h3,
.woocommerce-order-received .bacs_details h2,
.woocommerce-order-received .woocommerce-order-details__title {
    font-family: var(--font-title, 'Montserrat', sans-serif) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #1a0a05 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    border-bottom: 2px solid #cda47b !important;
    padding-bottom: 8px !important;
    display: inline-block !important;
}

/* Cuentas bancarias de BACS */
.woocommerce-order-received h3.wc-bacs-bank-details-account-name {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #1a0a05 !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    border-bottom: none !important;
    display: block !important;
}

.woocommerce-order-received ul.wc-bacs-bank-details,
.woocommerce-order-received ul.bank_details {
    background-color: #ffffff !important;
    border: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-radius: 10px !important;
    padding: 18px 24px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
    list-style: none !important;
}

.woocommerce-order-received ul.wc-bacs-bank-details li,
.woocommerce-order-received ul.bank_details li {
    color: #7a6a5a !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 6px !important;
}

.woocommerce-order-received ul.wc-bacs-bank-details li strong,
.woocommerce-order-received ul.bank_details li strong {
    color: #1a0a05 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* 5. Tabla de "DETALLES DEL PEDIDO" */
.woocommerce-order-received table.woocommerce-table--order-details,
.woocommerce-order-received table.shop_table {
    background-color: #ffffff !important;
    border: 1px solid rgba(205, 164, 123, 0.4) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.woocommerce-order-received table.shop_table thead tr th {
    background-color: #fcf8f2 !important;
    color: #1a0a05 !important;
    font-family: var(--font-title, 'Montserrat', sans-serif) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid rgba(205, 164, 123, 0.3) !important;
}

.woocommerce-order-received table.shop_table tbody td,
.woocommerce-order-received table.shop_table tfoot td,
.woocommerce-order-received table.shop_table tfoot th {
    color: #1a0a05 !important;
    font-size: 0.95rem !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid rgba(205, 164, 123, 0.2) !important;
}

/* Quitar el color rojo de los enlaces a productos en la tabla */
.woocommerce-order-received table.shop_table td.product-name a,
.woocommerce-order-received table.shop_table td a {
    color: #1a0a05 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.woocommerce-order-received table.shop_table td.product-name a:hover {
    color: #cda47b !important;
}

.woocommerce-order-received table.shop_table td.product-name .product-quantity {
    color: #5c4d42 !important;
    font-weight: 600 !important;
}

.woocommerce-order-received table.shop_table tfoot th {
    color: #1a0a05 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
}

.woocommerce-order-received table.shop_table tfoot td {
    color: #1a0a05 !important;
    font-weight: 700 !important;
}

/* ==========================================================================
   CHECKOUT: REORGANIZACIÓN DE CUPÓN Y FIX BOTÓN REALIZAR EL PEDIDO
   ========================================================================== */

/* Ocultar aviso/caja punteada sobrante del cupón */
html body .woocommerce-checkout .woocommerce-form-coupon-toggle,
html body .woocommerce-form-coupon-toggle {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Título ¿TIENES UN CUPÓN? */
html body .ag-coupon-heading,
html body .col-2 .ag-coupon-heading {
    margin-top: 22px !important;
    margin-bottom: 12px !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #1a0a05 !important;
    text-transform: uppercase !important;
    display: block !important;
    clear: both !important;
}

/* Formulario de Cupón Siempre Visible en Columna Derecha */
html body .woocommerce-checkout form.checkout_coupon,
html body form.checkout_coupon {
    display: block !important;
    margin-top: 10px !important;
    margin-bottom: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    clear: both !important;
}

/* Filas del formulario de cupón en desktop: Input a la izquierda, Botón a la derecha */
html body .woocommerce-checkout form.checkout_coupon .form-row-first,
html body form.checkout_coupon .form-row-first {
    width: 58% !important;
    float: left !important;
    margin-bottom: 0 !important;
    padding-right: 8px !important;
    box-sizing: border-box !important;
}

html body .woocommerce-checkout form.checkout_coupon .form-row-last,
html body form.checkout_coupon .form-row-last {
    width: 42% !important;
    float: right !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
}

html body .woocommerce-checkout form.checkout_coupon input.input-text,
html body form.checkout_coupon input.input-text {
    height: 46px !important;
    border: 1.5px solid rgba(205, 164, 123, 0.6) !important;
    border-radius: 8px !important;
    padding: 0 14px !important;
    font-size: 0.95rem !important;
    color: #1a0a05 !important;
    background-color: #ffffff !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Botón APLICAR CUPÓN: DORADO TAN (#cda47b) MISMO ESTILO QUE REALIZAR EL PEDIDO */
html body .woocommerce-checkout form.checkout_coupon button[name="apply_coupon"],
html body .woocommerce-checkout form.checkout_coupon button.button,
html body .woocommerce-checkout form.checkout_coupon input[type="submit"],
html body .woocommerce form.checkout_coupon button.button,
html body form.checkout_coupon button.button,
html body form.checkout_coupon button,
html body button[name="apply_coupon"] {
    background: #cda47b !important;
    background-color: #cda47b !important;
    color: #1a0a05 !important;
    border: none !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.05em !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
    width: 100% !important;
    height: 46px !important;
    line-height: 46px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
    box-shadow: 0 3px 10px rgba(205, 164, 123, 0.2) !important;
    display: inline-block !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

html body .woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:hover,
html body .woocommerce-checkout form.checkout_coupon button.button:hover,
html body form.checkout_coupon button:hover {
    background: #b89168 !important;
    background-color: #b89168 !important;
    color: #ffffff !important;
}

@media (max-width: 768px) {
    html body .woocommerce-checkout form.checkout_coupon .form-row-first,
    html body .woocommerce-checkout form.checkout_coupon .form-row-last {
        width: 100% !important;
        float: none !important;
        margin-bottom: 10px !important;
        padding: 0 !important;
    }
}

/* FIX DEFINITIVO PARA BOTÓN REALIZAR EL PEDIDO QUE SE SALE DEL CONTENEDOR */
html body .woocommerce-checkout #payment,
html body .woocommerce-checkout #payment .place-order,
html body .woocommerce-checkout #payment #place_order,
html body #add_payment_page #payment #place_order,
html body #payment #place_order,
html body button#place_order,
html body .woocommerce-checkout button#place_order {
    box-sizing: border-box !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

html body .woocommerce-checkout #payment {
    padding: 20px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

html body .woocommerce-checkout #payment .place-order {
    padding: 0 !important;
    margin: 15px 0 0 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

html body .woocommerce-checkout #payment #place_order,
html body #payment #place_order,
html body button#place_order {
    width: 100% !important;
    display: block !important;
    background: #cda47b !important;
    background-color: #cda47b !important;
    color: #1a0a05 !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    text-transform: uppercase !important;
    padding: 14px 20px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transition: background-color 0.2s ease !important;
    cursor: pointer !important;
    box-shadow: 0 3px 10px rgba(205, 164, 123, 0.2) !important;
}

html body .woocommerce-checkout #payment #place_order:hover,
html body #payment #place_order:hover {
    background: #b89168 !important;
    background-color: #b89168 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   TARJETAS DE PRODUCTO EN CARRITO / MINI CART / CHECKOUT: BOTÓN ELIMINAR E INPUT CANTIDAD
   ========================================================================== */

/* Contenedor relativo para tarjetas de producto */
html body .woocommerce table.cart td.product-remove,
html body .woocommerce-cart .cart_item,
html body .woocommerce-checkout .cart_item,
html body .woocommerce-page .cart_item,
html body .woocommerce-mini-cart-item,
html body .widget_shopping_cart_content li,
html body .widget_shopping_cart li,
html body .elementor-menu-cart__product,
html body .elementor-menu-cart__product-remove,
html body .elementor-menu-cart__container .elementor-menu-cart__product,
html body li.mini_cart_item,
html body li.woocommerce-mini-cart-item,
html body ul.woocommerce-mini-cart li,
html body tr.cart_item,
html body td.product-remove,
html body .wc-block-cart-item {
    position: relative !important;
}

/* Botón de Eliminar: Cruz roja limpia arriba a la derecha (Sin fondo ni sombra) con especificidad extrema */
html body .widget_shopping_cart ul.cart_list li a.remove,
html body .widget_shopping_cart ul.product_list_widget li a.remove,
html body .widget_shopping_cart_content ul.cart_list li a.remove,
html body .widget_shopping_cart_content ul.product_list_widget li a.remove,
html body .woocommerce ul.cart_list li a.remove,
html body .woocommerce ul.product_list_widget li a.remove,
html body ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove,
html body ul.woocommerce-mini-cart li a.remove,
html body .mini_cart_item a.remove,
html body li.mini_cart_item a.remove,
html body li.woocommerce-mini-cart-item a.remove,
html body .woocommerce a.remove,
html body .woocommerce a.remove_from_cart_button,
html body .woocommerce-cart table.cart a.remove,
html body .woocommerce-checkout table.cart a.remove,
html body .woocommerce td.product-remove a.remove,
html body .woocommerce .cart_item a.remove,
html body .product-remove a.remove,
html body .product-remove a,
html body a.remove,
html body a.remove_from_cart_button,
html body a.ag-mini-cart-remove-cross {
    position: absolute !important;
    top: 10px !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    background: none !important;
    background-color: transparent !important;
    color: #dc2626 !important; /* Cruz Roja limpia */
    border-radius: 0 !important;
    display: inline-block !important;
    text-align: center !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
    z-index: 9999 !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
}

/* Eliminar totalmente pseudo-elementos sobrantes */
html body a.remove::before,
html body a.remove::after,
html body a.remove_from_cart_button::before,
html body a.remove_from_cart_button::after,
html body .woocommerce-mini-cart-item a.remove::before,
html body .widget_shopping_cart a.remove::before {
    content: none !important;
    display: none !important;
}

/* HOVER: SIN fondo, solo se agranda un poquito la cruz roja */
html body .widget_shopping_cart ul.cart_list li a.remove:hover,
html body .widget_shopping_cart ul.product_list_widget li a.remove:hover,
html body .widget_shopping_cart_content ul.cart_list li a.remove:hover,
html body .woocommerce a.remove:hover,
html body .woocommerce a.remove:focus,
html body .woocommerce a.remove:active,
html body a.remove:hover,
html body a.remove_from_cart_button:hover {
    background: none !important;
    background-color: transparent !important;
    color: #dc2626 !important;
    transform: scale(1.18) !important;
    box-shadow: none !important;
    outline: none !important;
    filter: none !important;
}

/* Campo de Cantidad (Input Qty): Borde más fuerte y texto 100% centrado verticalmente */
.woocommerce .quantity input.qty,
.woocommerce-cart .quantity input.qty,
.woocommerce-checkout .quantity input.qty,
.woocommerce table.cart td.product-quantity input.qty,
.quantity input.qty,
input[type="number"].qty,
input.qty {
    border: 1.5px solid #777777 !important; /* Borde bien marcado */
    border-radius: 6px !important;
    background-color: #ffffff !important;
    color: #1a0a05 !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    height: 38px !important;
    min-height: 38px !important;
    line-height: 38px !important;
    padding: 0 6px !important;
    margin: 0 !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    outline: none !important;
}

.woocommerce .quantity input.qty:focus,
.quantity input.qty:focus {
    border-color: #cda47b !important;
    box-shadow: 0 0 0 2px rgba(205, 164, 123, 0.3) !important;
}



/* ==========================================================================
   MINICART / SIDE CART — Botón eliminar producto
   Reemplaza agFixMiniCartRemoveButtons() que aplicaba esto via jQuery.
   ========================================================================== */

html body .elementor-menu-cart__product,
html body .woocommerce-mini-cart-item,
html body .cart_item,
html body li.mini_cart_item {
    position: relative !important;
}

html body .elementor-menu-cart__product-remove,
html body .elementor-menu-cart__product .product-remove,
html body .woocommerce-mini-cart-item .product-remove,
html body .cart_item .product-remove,
html body li.mini_cart_item .product-remove {
    position: absolute !important;
    top: 10px !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    z-index: 9999 !important;
}

html body .elementor-menu-cart__product-remove a,
html body .elementor-menu-cart__product-remove button,
html body .elementor-menu-cart__product .product-remove a,
html body .woocommerce-mini-cart-item .product-remove a,
html body li.mini_cart_item .product-remove a,
html body a.remove_from_cart_button {
    background: none !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #dc2626 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* ==========================================================================
   CHECKOUT — Botón aplicar cupón
   Reemplaza agForceCouponButtonGold() que aplicaba esto via JS setProperty.
   ========================================================================== */

html body .woocommerce-checkout form.checkout_coupon button.button,
html body .woocommerce-checkout form.checkout_coupon button,
html body form.checkout_coupon button.button,
html body form.checkout_coupon button,
html body form.checkout_coupon input[type="submit"],
html body #ag-apply-coupon-btn {
    background: #cda47b !important;
    background-color: #cda47b !important;
    color: #1a0a05 !important;
    border: none !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.05em !important;
    border-radius: 8px !important;
    height: 46px !important;
    line-height: 46px !important;
    width: 100% !important;
    padding: 0 12px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    box-shadow: 0 3px 10px rgba(205, 164, 123, 0.25) !important;
    display: block !important;
    text-align: center !important;
}

html body .woocommerce-checkout form.checkout_coupon button.button:hover,
html body .woocommerce-checkout form.checkout_coupon button:hover,
html body form.checkout_coupon button.button:hover,
html body form.checkout_coupon button:hover,
html body form.checkout_coupon input[type="submit"]:hover,
html body #ag-apply-coupon-btn:hover {
    background: #b89168 !important;
    background-color: #b89168 !important;
    color: #fff !important;
}

