/* =====================================================
   FINALIZAR COMPRA: CAJAS DE ENVÍO PRO (MÁS ALTAS)
   ===================================================== */

/* 1. Estirar la tabla al máximo posible */
.woocommerce-checkout-review-order-table {
    width: 100% !important;
}

/* 2. Ajustar el contenedor de las opciones */
#shipping_method {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* 3. Diseño de cada caja individual */
#shipping_method li {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 12px !important; /* Espacio entre cajas */
    padding: 15px 20px !important; /* MÁS ALTO: Aumentamos el padding arriba/abajo */
    transition: all 0.3s ease;
    display: block !important;
    width: 100% !important;
}

/* Efecto al pasar el mouse o estar seleccionado */
#shipping_method li:hover {
    border-color: #18494d;
    background-color: #f0fdf4;
}

/* 4. Alineación interna del Logo, Precio y Fecha */
#shipping_method li label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    cursor: pointer;
    font-weight: 600;
    color: #18494d;
}

/* 5. Hacer que el input (el circulito) no estorbe el diseño */
#shipping_method li input[type="radio"] {
    margin-right: 15px !important;
}

/* 6. Estilo para la fecha (que se vea clarita al lado derecho) */
#shipping_method li label small, 
#shipping_method li label .sh-shipping-date {
    font-weight: normal;
    color: #64748b;
    font-style: italic;
}


/* =====================================================
   ALINEACIÓN FINAL DIRECCIÓN DE ENVÍO - MORALEJA
   ===================================================== */

/* 1. Limpieza de elementos que no queremos */
.woocommerce-order-received h1.entry-title,
.woocommerce-order-received ul.woocommerce-order-overview,
.woocommerce-order-received h2#payment_details,
.woocommerce-order-received .shop_table.order_details:not(.woocommerce-table--order-details),
.woocommerce-order-received .woocommerce-message,
.woocommerce-order-received .woocommerce-column--billing-address {
    display: none !important;
}

/* 2. Asegurar que Detalles del Pedido se vea bien */
.woocommerce-order-received section.woocommerce-order-details {
    display: block !important;
    margin-bottom: 30px;
}

/* 3. ALINEACIÓN DE LA DIRECCIÓN DE ENVÍO */
.woocommerce-order-received .woocommerce-customer-details {
    /* Quitamos el centrado y lo alineamos al contenedor de arriba */
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-order-received .woocommerce-column--shipping-address {
    width: 100% !important;
    float: none !important;
    /* Este margen empuja la dirección para que calce con el cuadro de arriba */
    /* Si ves que falta un pelín, cambia el 15px por 20px */
    padding-left: 15px !important; 
    text-align: left !important;
}

.woocommerce-order-received .woocommerce-column--shipping-address .woocommerce-column__title {
    text-align: left !important;
    font-size: 22px;
    color: #18494d;
    margin-bottom: 10px;
}

.woocommerce-order-received address {
    text-align: left !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    line-height: 1.6;
}

/* Ocultar la palabra opcional en campos que sabemos que son vitales */
#billing_address_1_field .optional, 
#billing_address_number_field .optional, 
#billing_state_field .optional {
    display: none !important;
}

/* Asegurar que el asterisco rojo sea visible */
#billing_address_1_field label .required, 
#billing_address_number_field label .required, 
#billing_state_field label .required {
    color: #e2401c !important;
    visibility: visible !important;
    display: inline-block !important;
}
/* Eliminar el bloque de "Enviar a una dirección diferente" de raíz */
#ship-to-different-address, 
.ship-to-different-address, 
.woocommerce-shipping-fields {
    display: none !important;
}

/* Espaciado para la nueva sección 3 */
#seccion-facturacion-moraleja {
    margin-top: 40px;
    border-top: 2px dashed #eee;
    padding-top: 30px;
}












/* 1. LIMPIEZA: Ocultar el título nativo "Detalles de facturación" */
.woocommerce-billing-fields > h3, 
.woocommerce-checkout h3#billing_headings {
    display: none !important;
}

/* 2. TÍTULO SECCIÓN 1: DATOS PERSONALES (Sobre el campo Nombre) */
#billing_first_name_field::before {
    content: "1. DATOS PERSONALES";
    display: block;
    font-size: 20px;
    font-weight: bold;
    color: #03363d;
    margin-bottom: 15px;
    width: 100%;
}

/* 3. TÍTULO SECCIÓN 2: (Eliminado de aquí, se movió al PHP de arriba) */

/* 4. TÍTULO DINÁMICO: DATOS DE DESPACHO (Sobre la Calle, solo si NO es retiro) */
body:not(.modo-retiro-total) #billing_address_1_field::before {
    content: "DATOS DE DESPACHO";
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #03363d;
    margin-top: 10px;
    margin-bottom: 15px;
    border-top: 1px solid #eee;
    padding-top: 20px;
    width: 100%;
}

/* 5. TÍTULO SECCIÓN 3: FACTURACIÓN (Si usas el plugin de RUT) */
.rut_fields::before, .invoice-details-title::before {
    content: "3. DATOS DE FACTURACIÓN";
    display: block;
    font-size: 20px;
    font-weight: bold;
    color: #03363d;
    margin-top: 30px;
    margin-bottom: 15px;
    width: 100%;
}

/* Ocultar el campo de País/Región en el Checkout */
#billing_country_field {
    display: none !important;
}

/* Ajustar el margen del campo email para que los botones de entrega suban bien */
#billing_email_field {
    margin-bottom: 25px !important;
}






/* Ocultar título en la página de Recursos Docentes */
body.page-id-15970 .entry-header {
    display: none !important;
}

/* Ocultar Retiro de la lista de couriers si NO estamos en modo retiro */
body:not(.modo-retiro-total) #shipping_method li:has(input[value*="local_pickup"]) {
    display: none !important;
}

/* 1. Traducir Your order a Tu pedido (Forma limpia) */
#order_review_heading {
    font-size: 0 !important; /* Escondemos el original */
}
#order_review_heading::before {
    content: 'Tu pedido';
    font-size: 30px !important; /* Ajusta al tamaño que quieras */
    visibility: visible;
    color: #03363d;
    font-weight: bold;
}

/* 2. Traducir Producto y Subtotal sin márgenes extra */
.shop_table thead th.product-name {
    font-size: 0 !important;
    text-align: left !important;
    padding-left: 0 !important; /* Quitamos margen izquierdo */
}
.shop_table thead th.product-name::before {
    content: 'Producto';
    font-size: 16px !important; /* Tamaño estándar de tu tabla */
    visibility: visible;
    color: #666; /* Color gris suave para encabezados */
}

.shop_table thead th.product-total {
    font-size: 0 !important;
    text-align: right !important;
    padding-right: 0 !important;
}
.shop_table thead th.product-total::before {
    content: 'Subtotal';
    font-size: 14px !important;
    visibility: visible;
    color: #666;
}

/* 3. Asegurar que la columna de productos no tenga padding innecesario */
.woocommerce-checkout-review-order-table th, 
.woocommerce-checkout-review-order-table td {
    padding-left: 0 !important;
}

/* Elimina el segundo bloque de cupón (el de abajo) */
.woocommerce-checkout-review-order-table .checkout_coupon,
.woocommerce-checkout #order_review .checkout_coupon {
    display: none !important;
}
/* Elimina por completo la franja azul informativa del cupón */
.woocommerce-info, 
.woocommerce-form-coupon-toggle {
    display: none !important;
}

/* Asegura que el formulario del cupón se mantenga visible si lo necesitas */
.checkout_coupon.woocommerce-form-coupon {
    display: block !important;
}

/* Orden de campos estilo Limpio */
.woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0 4%;
}
#billing_first_name_field, #billing_last_name_field { width: 48% !important; }
#billing_phone_field, #billing_email_field { width: 48% !important; }
#billing_country_field, #billing_state_field { width: 48% !important; }
#billing_city_field, #billing_address_1_field { width: 100% !important; }

.woocommerce-checkout label {
    font-weight: 700 !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    display: block;
}

.woocommerce-checkout input.input-text {
    padding: 12px 15px !important;
    border-radius: 6px !important;
    border: 1px solid #ccc !important;
}





/* =========================================
   14. FORZAR 4 COLUMNAS SOLO EN PÁGINAS DE CATEGORÍAS
   ========================================= */

@media (min-width: 1025px) {
    /* Limitado a body.tax-product_cat para no afectar el Home */
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_cat .bookory-product-loop ul.products {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 30px !important; 
    }
    
    body.tax-product_cat .woocommerce ul.products li.product {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        clear: none !important; 
    }
}

/* Ajuste intermedio para Tablets (3 columnas) en categorías */
@media (min-width: 769px) and (max-width: 1024px) {
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_cat .bookory-product-loop ul.products {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px !important;
    }
    body.tax-product_cat .woocommerce ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
    }
}
















/* =========================================
   1. BOTONES: AGREGAR AL CARRITO (MÓVIL Y ESCRITORIO)
   ========================================= */

/* A. ESCRITORIO: Botón + Centrado y Verde */
.woocommerce ul.products li.product .product-caption,
.woocommerce ul.products li.product .product-details {
    display: flex !important;
    flex-direction: column !important;
    align-items: left !important;
    text-align: left !important;
}

.woocommerce ul.products li.product .button.add_to_cart_button {
    display: inline-block !important;
    background-color: #03363D !important;
    color: #ffffff !important;
    border: 1px solid #03363D !important;
    border-radius: 50px !important;
    padding: 6px 20px !important;
    font-size: 14px !important;
    margin-top: 10px !important;
    line-height: 1.5 !important;
    width: auto !important;
    transition: all 0.3s ease;
    visibility: visible !important; 
    opacity: 1 !important; 
    position: relative !important; 
    z-index: 99 !important; 
    pointer-events: auto !important;
}

.woocommerce ul.products li.product .button.add_to_cart_button::before {
    content: '+';
    font-weight: bold;
    margin-right: 6px;
    font-size: 15px;
}

.woocommerce ul.products li.product .button.add_to_cart_button:hover {
    background-color: #ffffff !important;
    color: #03363D !important;
    border: 1px solid #03363D !important;
}

/* B. MÓVIL: Ajustes del botón (Más corto y sin cortes) */
@media (max-width: 768px) {
    .woocommerce ul.products li.product .button.add_to_cart_button {
        width: 100% !important; 
        margin: 10px auto !important; 
        padding: 10px 4px !important; /* AUMENTADO el padding superior/inferior para hacerlo más "gordito" */
        font-size: 13px !important; /* AUMENTADO de 11px a 13px */
        white-space: normal !important; 
        line-height: 1.2 !important;
        text-align: center !important;
        min-height: 44px !important; /* AUMENTADO para mejor área táctil */
        display: flex !important;
        justify-content: center !important; 
        align-items: center !important;
    }
    
    .woocommerce ul.products li.product .button.add_to_cart_button * {
        color: #ffffff !important;
        font-size: 13px !important; /* AUMENTADO de 11px a 13px */
    }
}

/* C. OCULTAR BOTONES NO DESEADOS (Manteniendo el "Leer más" oculto) */

/* 1. Ocultamos el "Leer más" y cualquier botón que no sea de compra directa */
.woocommerce ul.products li.product .button:not(.add_to_cart_button),
.woocommerce ul.products li.product.outofstock .button {
    display: none !important;
}

/* 2. Ocultamos botones duplicados que flotan sobre la imagen */
.woocommerce ul.products li.product .product-transition .button.add_to_cart_button,
.woocommerce ul.products li.product .product-image .button.add_to_cart_button {
    display: none !important;
}

/* 3. FORZAMOS el botón real de compra en el caption (Grid y Lista) */
.woocommerce ul.products li.product .product-caption .add_to_cart_button,
.woocommerce ul.products li.product .product-details .add_to_cart_button {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* =========================================
   2. PRECIOS: ORDEN, COLORES Y MÓVIL
   ========================================= */

.price, .woocommerce-Price-amount {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
}

/* Precio Nuevo (Rojo y Primero) */
.price ins,
.price > .woocommerce-Price-amount:last-child { 
    order: -1 !important;
    margin-right: 10px !important;
    text-decoration: none !important;
    color: #ff677e !important;
    font-weight: 800 !important;
}

body.single-product .price ins,
body.single-product .price > .woocommerce-Price-amount bdi {
    font-size: 32px !important;
}

/* Precio Antiguo (Gris y Segundo) */
.price del {
    order: 2 !important;
    color: #999999 !important;
    font-size: 0.9em !important;
    font-weight: normal !important;
    text-decoration: line-through !important;
    opacity: 1 !important;
    margin-left: 0 !important;
}

/* Alineación de precios en listados Grid */
.woocommerce ul.products li.product .price {
    margin-top: auto !important;
    padding-top: 10px !important;
    align-self: center !important;
    text-align: center !important;
    width: 100% !important;
}

@media (max-width: 768px) {
    /* Ordenar precios uno arriba del otro en móvil */
    .woocommerce ul.products li.product .price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        min-height: 55px !important; 
        margin-bottom: 10px !important;
    }

    .woocommerce ul.products li.product .price ins {
        margin-right: 0 !important; 
        margin-bottom: 2px !important;
        line-height: 1.1 !important;
    }

    .woocommerce ul.products li.product .price del {
        margin-left: 0 !important;
        line-height: 1.1 !important;
    }
}


/* =========================================
   3. ETIQUETAS Y CÍRCULOS DE DESCUENTO
   ========================================= */

/* A) Círculos Pequeños (Catálogo) */
.woocommerce ul.products li.product .onsale,
.bookory-product-loop .onsale,
span.onsale,
.related.products .onsale { 
    top: auto !important;
    right: auto !important;
    bottom: -10px !important;
    left: 7px !important;
    position: absolute !important;
    background-color: #ff677e !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    width: 45px !important;
    height: 45px !important;
    line-height: 45px !important;
    font-size: 14px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    margin: 0 !important;
}

/* B) Círculo Gigante (Ficha de Producto) */
.single-product .product .images .onsale {
    width: 70px !important;
    height: 70px !important;
    font-size: 30px !important;
    font-weight: 600 !important;
    line-height: 100px !important;
    top: -20px !important;
    left: -20px !important;
    bottom: auto !important;
    right: auto !important;
}

/* C) Ocultar Etiquetas sobrantes */
span.inventory_status,
p.stock.out-of-stock,
.single-product .product-image-wrapper .advanced-woo-labels,
.single-product .woocommerce-product-gallery .advanced-woo-labels,
.single-product .images .advanced-woo-labels {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}


/* =========================================
   4. CARRITO Y CHECKOUT
   ========================================= */

/* Mejoras Columnas Carrito */
.cart_totals th { width: 30% !important; white-space: nowrap !important; }
.cart_totals td { width: 70% !important; }
tr.custom-savings-row td { padding-top: 10px !important; padding-bottom: 10px !important; }

/* Ocultar Envíos en Carrito */
.woocommerce-cart .cart_totals .shipping,
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    display: none !important;
}

/* Colores Precio Carrito */
.precio-oferta-rojo .oferta .amount,
.precio-oferta-rojo .oferta bdi { color: #ff677e !important; }
.precio-oferta-rojo .original .amount,
.precio-oferta-rojo .original bdi { color: #999999 !important; font-weight: normal !important; }

/* Botón Seguir Comprando */
.woocommerce-cart .continue-shopping-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: 15px !important;
    background-color: #ffffff !important;
    color: #03363D !important;
    border: 1px solid #03363D !important;
    border-radius: 50px !important;
    padding: 12px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
}
.woocommerce-cart .continue-shopping-btn:hover {
    background-color: #03363D !important;
    color: #ffffff !important;
    cursor: pointer;
}

/* =========================================
   5. CUPONES Y TABLA DE PEDIDOS
   ========================================= */

/* Cupón Arriba y Alineado */
.cart_totals table.shop_table tbody { display: flex; flex-direction: column; }
.cart_totals table.shop_table tr { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.cart_totals tr.custom-coupon-row { order: -1 !important; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #eaeaea; width: 100%; }
.cart_totals tr.custom-coupon-row th { display: none !important; }
.cart_totals tr.custom-coupon-row td { width: 100% !important; display: block !important; padding: 20px 0 !important; text-align: center !important;}
.cart_totals tr.custom-coupon-row td .coupon-inner-wrapper { display: flex; gap: 10px; width: 100% !important; max-width: 100% !important; align-items: center; justify-content: center !important; margin: 0 !important; }
.cart_totals tr.custom-coupon-row td input.input-text { flex: 1; width: 100% !important; margin: 0 !important; }
.cart_totals tr.custom-coupon-row td button.button { flex-shrink: 0 !important; width: max-content !important; min-width: 120px !important; margin: 0 !important; height: 50px !important; width: auto !important; }
.custom-coupon-row input#coupon_code { width: 180px !important; margin: 0 !important; height: 40px !important; }

/* Ocultar cupones extra */
.woocommerce-cart form.woocommerce-cart-form .coupon,
.cart-collaterals > .coupon,
.woocommerce-cart .cart-collaterals .cart_totals + .coupon { display: none !important; }

/* Visibilidad Cupón Checkout */
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: block !important; visibility: visible !important; }
.cupon-movido-wrapper { display: block !important; width: 100%; padding: 20px; background: #f9f9f9; border-top: 1px dashed #bbb; margin-top: 20px !important; }
.cart_totals .coupon { display: block !important; padding: 20px; background-color: #f9f9f9; border-radius: 8px; margin-top: 20px; }
.cart_totals .coupon input#coupon_code { width: 100% !important; margin-bottom: 10px; padding: 10px; }
.cart_totals .coupon button.button { width: 100% !important; display: block; }

/* Alineación Tabla Pedidos (Mi Cuenta) */
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td { vertical-align: middle !important; padding-top: 15px !important; padding-bottom: 15px !important; }
.woocommerce-account .woocommerce-orders-table th a,
.woocommerce-account .woocommerce-orders-table td a,
.woocommerce-account .woocommerce-orders-table td span,
.woocommerce-account .woocommerce-orders-table td time,
.woocommerce-account .woocommerce-orders-table td p { margin-bottom: 0 !important; margin-top: 0 !important; display: inline-block !important; line-height: 1.4 !important; vertical-align: middle !important; }
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-total { line-height: 1.2 !important; }
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-total .amount { display: block !important; margin-bottom: 3px !important; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { margin: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; vertical-align: middle !important; }


/* =========================================
   6. ÍNDICE DESPLEGABLE (ACORDEÓN)
   ========================================= */

.indice-desplegable { margin: 30px 0; border: 1px solid #eaeaea; border-radius: 8px; background-color: #fdfdfd; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,0.03); }
.indice-boton { display: flex; justify-content: space-between; align-items: center; background-color: #03363D; color: #ffffff; padding: 16px 20px; font-size: 16px; font-weight: 700; cursor: pointer; list-style: none; transition: background-color 0.3s; }
.indice-boton:hover { background-color: #022429; }
.indice-boton::-webkit-details-marker { display: none; }
.indice-icono { font-size: 12px; transition: transform 0.3s ease; }
.indice-desplegable[open] .indice-icono { transform: rotate(180deg); }
.indice-contenido { padding: 25px 20px; background-color: #ffffff; border-top: 1px solid #eaeaea; }
.indice-columnas { display: flex; flex-wrap: wrap; gap: 30px; }
.indice-col { flex: 1; min-width: 250px; }
.indice-col ul li { margin-bottom: 8px; }


/* =========================================
   7. FORMULARIOS Y ELEMENTOS VARIOS
   ========================================= */

.ml-form-horizontalRow button.primary { margin-bottom: -5px !important; height: 42px !important; display: inline-flex !important; align-items: center !important; }
.ml-form-horizontalRow input.form-control { height: 42px !important; margin-bottom: 0 !important; }
.ml-form-horizontalRow { display: flex !important; align-items: flex-end !important; gap: 10px !important; }

.wpcf7-form-control.wpcf7-select { border-radius: 50px !important; height: 55px !important; padding-left: 15px !important; padding-right: 15px !important; border: 1px solid #ccc !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: #ffffff !important; }
.wpcf7-form-control.wpcf7-select { background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23666666%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E') !important; background-repeat: no-repeat !important; background-position: right 15px top 50% !important; background-size: 12px auto !important; }


/* =========================================
   8. ESTRUCTURA Y VISUAL (ESTRELLAS, BORDES, ETC.)
   ========================================= */

/* Estrellas Amarillas y Alineadas */
.woocommerce .star-rating, .woocommerce .star-rating span { color: transparent !important; }
.woocommerce .star-rating::before, .woocommerce .star-rating span::before { color: #ffb400 !important; visibility: visible !important; }
.woocommerce .star-rating { overflow: hidden !important; font-family: 'star' !important; font-weight: 400 !important; font-style: normal !important; font-size: 1.2em !important; width: 5.4em !important; height: 1em !important; line-height: 1 !important; margin: 5px 0 !important; position: relative !important; }
.woocommerce .star-rating span { font-size: 1em !important; line-height: 1 !important; top: 0 !important; left: 0 !important; position: absolute !important; padding-top: 0 !important; }
.woocommerce .star-rating::before, .woocommerce .star-rating span::before { top: 0 !important; position: absolute !important; left: 0 !important; content: '\53\53\53\53\53'; }
p.stars a { color: #ffb400 !important; }
.count-review, .star-rating, .woocommerce-product-rating { display: none !important; }

/* Quitar Marco Negro Ficha Producto */
.woocommerce-product-gallery img, .woocommerce-product-gallery .flex-viewport, .woocommerce-product-gallery .woocommerce-product-gallery__image { border: none !important; box-shadow: none !important; }
.flex-control-thumbs img { border: none !important; box-shadow: none !important; }
.woocommerce div.product div.images { border: none !important; box-shadow: none !important; }

/* Separar texto línea vertical (Pestañas) */
@media (min-width: 768px) {
    .woocommerce div.product .woocommerce-tabs .panel,
    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel { padding-left: 20px !important; }
}


/* =========================================
   9. VISTAS ESPECIALES Y REPARACIONES
   ========================================= */

/* Vista Rápida Blanca */
.woosq-popup .woosq-content, .woosq-popup .woosq-product, .woosq-popup .slick-list, .woosq-popup .slick-track { height: auto !important; min-height: 500px !important; }
.woosq-popup .woosq-product-image, .woosq-popup .woocommerce-product-gallery, .woosq-popup .slick-slide { background-color: #ffffff !important; padding: 0 !important; height: auto !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; }
.woosq-popup img.wp-post-image, .woosq-popup .woocommerce-product-gallery__image img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 80vh !important; object-fit: contain !important; margin: 0 auto !important; box-shadow: none !important; }
.woosq-popup .woosq-product-summary { align-self: center !important; }

/* Cross-Sells (Productos Relacionados) 4 Columnas */
.cart-collaterals .cross-sells ul.products, .cart-collaterals .cross-sells .slick-track { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; width: 100% !important; transform: none !important; margin: 0 !important; }
.cart-collaterals .cross-sells ul.products li.product { width: 100% !important; max-width: 100% !important; margin-bottom: 0 !important; padding: 0 !important; flex: none !important; }
.cart-collaterals .cross-sells ul.products li.product img { width: 100% !important; height: auto !important; object-fit: cover !important; margin: 0 auto 10px auto !important; }
.cart-collaterals .cross-sells .slick-arrow, .cart-collaterals .cross-sells .slick-dots { display: none !important; }
@media (max-width: 768px) {
    .cart-collaterals .cross-sells ul.products, .cart-collaterals .cross-sells .slick-track { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
}

/* Fix Z-index y Clics (Ojos y Etiquetas) */
.awl-label-id-14403, .awl-label-id-14415, .awl-label-wrap, .awl-label-text, .advanced-woo-labels { pointer-events: none !important; }
.product-transition .group-action, .woosq-btn { pointer-events: auto !important; z-index: 999 !important; }


/* =========================================
   10. OCULTAR ELEMENTOS ESPECÍFICOS
   ========================================= */

/* Ocultar textitos molestos */
p.woocommerce-noreviews { display: none !important; }
.widget_product_categories .cat-item-15 { display: none !important; } /* Sin categoría */
.bookory-social-share { display: none !important; }

/* Ocultar Títulos Páginas */
.page-id-9081 .entry-title, .page-id-9081 .entry-header { display: none !important; } /* Tienda */
.page-id-14930 .entry-title, .page-id-14930 .page-header, .page-id-14930 h1.page-title { display: none !important; } /* Mira APP */
.page-id-6667 .entry-title, .page-id-6667 .page-header, .page-id-6667 h1.page-title { display: none !important; } /* Librerías */
.page-id-15138 .entry-header, .page-id-15138 .entry-title, .page-id-15138 h1.page-title { display: none !important; } /* Trabaja */

/* Limpieza Blog */
.bookory-meta-footer .categories-link { display: none !important; }
.elementor-widget-container .categories-link { display: none !important; }
.bookory-meta-footer { display: flex !important; width: 100% !important; justify-content: flex-end !important; }
.bookory-meta-footer .more-link-wrap { display: block !important; }

/* Ocultar Reseñas Ficha Producto */
#tab-description ol.commentlist, #tab-description .commentlist { display: none !important; }
#tab-description .woocommerce-Reviews-title { display: none !important; }
#tab-description .woocommerce-pagination { display: none !important; }
#tab-reviews #review_form_wrapper { display: none !important; }


/* =========================================
   11. AJUSTES MÓVILES GLOBALES Y ZENDESK
   ========================================= */

/* Ocultar Barra Inferior Elementor/Tema */
body .bookory-handheld-footer-bar, div.bookory-handheld-footer-bar, .handheld-footer-bar, #bookory-handheld-footer-bar { display: none !important; height: 0 !important; overflow: hidden !important; visibility: hidden !important; }
.elementor-element-5c1c1fa, .elementor-location-footer .elementor-section-wrap > .elementor-section.elementor-sticky--active { display: none !important; opacity: 0 !important; pointer-events: none !important; height: 0 !important; z-index: -1 !important; }
body { padding-bottom: 0 !important; margin-bottom: 0 !important; }

/* Ocultar Elementos Menú Escritorio */
@media (min-width: 1025px) {
    .solo-movil { display: none !important; }
    #menu-item-14503 { display: none !important; } /* Ocultar Zendesk en PC */
}

/* Ajustes Header Móvil */
@media (max-width: 768px) {
    .header-group-action .account-item, .header-group-action .my-account-icon, .header-group-action a[href*="my-account"] { display: none !important; }
    .header-group-action .wishlist-item, .header-group-action .wishlist-icon, .header-group-action a[href*="wishlist"] { display: none !important; }
    .header-group-action, .header-group-action .cart-item, .header-group-action .cart-contents { display: inline-flex !important; visibility: visible !important; opacity: 1 !important; }
}

/* Zendesk Móvil */
@media (max-width: 1024px) {
    .elementor-nav-menu--dropdown .elementor-item, .elementor-nav-menu--dropdown a { padding-left: 40px !important; padding-right: 40px !important; }
    .elementor-nav-menu--dropdown { padding: 20px 0 !important; }
    
    #menu-item-14503 { display: block !important; width: 100% !important; box-sizing: border-box !important; margin-top: 25px !important; margin-bottom: 25px !important; padding-left: 20px !important; padding-right: 20px !important; }
    #menu-item-14503 a { background-color: #03363D !important; color: #ffffff !important; width: 100% !important; display: flex !important; justify-content: center !important; align-items: center !important; padding: 15px 0 !important; font-weight: 700 !important; font-size: 16px !important; text-align: center !important; }
    #menu-item-14503 a:active { background-color: #044b55 !important; }
}


/* =========================================
   12. EXTRAS (WISHLIST, BANNER, FUENTES)
   ========================================= */

/* Fuente Global */
body, h1, h2, h3, h4, h5, h6, p, a, span, li, input, button, select, textarea { font-family: 'Source Sans 3', sans-serif !important; }
body, p, li, span, label, .woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description, .product_meta, .elementor-widget-text-editor { line-height: 1.6 !important; }
p { margin-bottom: 15px !important; }
h1, h2, h3, h4, h5, h6 { margin-bottom: 15px !important; line-height: 1.3 !important; }
.elementor-icon-list-item, .elementor-icon-list-text, .menu-item a { line-height: 1.5 !important; }
.elementor-icon-list-item { padding-bottom: 10px !important; margin-bottom: 0 !important; }
.elementor-icon-list-text { display: inline-block !important; vertical-align: middle !important; padding-left: 0 !important; }

/* Banner Rojo Animado */
.banner-rojo-animado { position: relative; overflow: hidden; }
.banner-rojo-animado img { width: 100%; height: auto; display: block; transition: transform 0.5s ease; }
.banner-rojo-animado:hover img { transform: scale(1.03); }

/* Wishlist Botón */
.woosw-popup .stock, .woosw-list .stock { display: none !important; }
.woosw-popup .woosw-item .button, .woosw-list .woosw-item .button { background-color: #03363D !important; color: #ffffff !important; border-radius: 50px !important; border: none !important; font-size: 13px !important; font-weight: 600 !important; text-transform: none !important; height: 42px !important; width: auto !important; min-width: 150px !important; padding: 0 30px !important; margin: 10px auto 0 auto !important; white-space: nowrap !important; display: flex !important; justify-content: center !important; align-items: center !important; line-height: 1 !important; }
.woosw-popup .woosw-item .button:hover, .woosw-list .woosw-item .button:hover { background-color: #17494d !important; transform: translateY(-1px); text-decoration: none !important; }

/* Ocultar monto carrito cabecera */
.header-group-action .cart-item .amount, .header-group-action .cart-item .woocommerce-Price-amount, .header-group-action .cart-contents .woocommerce-Price-amount { display: none !important; }

/* Detalles IVA */
.order-total td { display: flex !important; flex-direction: column !important; align-items: flex-end !important; padding-top: 15px !important; }
.order-total .amount { font-size: 24px !important; font-weight: 700 !important; color: #03363D !important; line-height: 1 !important; }
.order-total .includes_tax { font-size: 13px !important; color: #888 !important; font-weight: 400 !important; margin-top: 8px !important; text-align: right !important; width: 100% !important; }
.order-total .includes_tax .amount { font-size: 13px !important; color: #888 !important; font-weight: inherit !important; display: inline !important; }

/* Etiquetas Inventario Ficha */
.single-product .inventory_status { font-size: 16px !important; font-weight: 700 !important; text-transform: uppercase !important; padding: 8px 16px !important; border-radius: 4px !important; display: inline-block !important; margin-bottom: 15px !important; line-height: 1 !important; }
.single-product .inventory_status.out-of-stock, .stock.out-of-stock { background-color: #ffeff0 !important; color: #d63638 !important; border: 1px solid #d63638 !important; }
.single-product .inventory_status.in-stock, .stock.in-stock { background-color: #e8f5e9 !important; color: #2e7d32 !important; border: 1px solid #2e7d32 !important; }
.single-product .entry-summary-top { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }
.single-product .entry-summary-top .product-nav, .single-product .entry-summary-top .pagination-prev, .single-product .entry-summary-top .pagination-next, .single-product .entry-summary-top a[rel="prev"], .single-product .entry-summary-top a[rel="next"] { order: 2 !important; margin-bottom: 0 !important; }
.advanced-woo-labels { width: 100% !important; flex: 0 0 100% !important; margin-top: 8px !important; order: 3 !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; }
.awl-label-wrap, .single-product .inventory_status { margin-bottom: 8px !important; float: none !important; display: inline-block !important; }
.single-product .entry-summary-top .inventory_status { margin-bottom: 0 !important; }
body.single-product, body.single-product .site-content, body.single-product .product { background-color: #ffffff !important; background: #ffffff !important; }
.related.products h2 { margin-bottom: 35px !important; margin-top: 40px !important; font-size: 24px !important; }

/* =========================================
   13. ALINEACIÓN DE BOTONES Y PRECIOS JUNTOS (SOLO MÓVIL)
   ========================================= */
@media (max-width: 768px) {
    /* 1. Convertir la tarjeta en columna */
    .woocommerce ul.products li.product {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important; 
    }

    /* 2. El área de texto ocupa el espacio sobrante para empujar todo hacia abajo */
    .woocommerce ul.products li.product .product-caption,
    .woocommerce ul.products li.product .product-details {
        display: flex !important;
        flex-direction: column !important;
        flex-grow: 1 !important;
    }

    /* 3. Fijar la caja de precio al fondo con altura estricta */
    .woocommerce ul.products li.product .price {
        margin-top: auto !important; 
        min-height: 46px !important; /* Altura exacta para 2 precios pegaditos */
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important; 
        margin-bottom: 8px !important;
    }
    
    /* 4. JUNTAR LOS PRECIOS (Rojo y Gris) */
    .woocommerce ul.products li.product .price ins,
    .woocommerce ul.products li.product .price > .woocommerce-Price-amount:last-child {
        margin-bottom: -3px !important; /* Margen negativo para acercar el rojo al gris de abajo */
        line-height: 1 !important;
    }
    
    .woocommerce ul.products li.product .price del {
        line-height: 1 !important;
        margin-top: 0 !important;
    }
}

/* 1. FULMINAR EL CARRUSEL ORIGINAL DE BOOKORY */
.woocommerce-cart .cross-sells {
    display: none !important;
}

/* 2. ESTILOS PARA NUESTRA NUEVA GRILLA PERFECTA DE 4 */
.mis-cross-sells-limpios {
    margin-top: 50px;
    width: 100%;
    max-width: 850px !important; 
    clear: both;
}

.mis-cross-sells-limpios h2 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #03363D !important;
    margin-bottom: 25px !important;
}

.mis-cross-sells-limpios ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.mis-cross-sells-limpios ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* En móviles baja a 2 columnas */
@media (max-width: 768px) {
    .mis-cross-sells-limpios ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
}




/* =========================================
   DIRECCIONES: LA ILUSIÓN ÓPTICA (EL BOTÓN FINAL) 🪄
   ========================================= */

/* 1. La grilla (Esto ya no se toca, quedó perfecto) */
body .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; 
    gap: 40px !important; 
    width: 100% !important;
    align-items: start !important;
}

/* 2. Ancla en las columnas (.col-1 y .col-2) */
body .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set .col-1,
body .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set .col-2 {
    position: relative !important; 
    padding-bottom: 55px !important; /* Espacio para el botón */
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* 3. Textos protegidos */
body .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set address {
    width: 100% !important;
    word-break: normal !important;
    white-space: normal !important;
    line-height: 1.6 !important;
    display: block !important;
}

/* 4. Título en su lugar */
body .woocommerce-MyAccount-content .woocommerce-Address-title {
    display: block !important;
    margin-bottom: 15px !important;
    width: 100% !important;
}

body .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
    margin: 0 !important;
    float: none !important;
}

/* 5. EL BOTÓN (Escondiendo la basura fuera de la pantalla) */
body .woocommerce-MyAccount-content .woocommerce-Address-title a.edit {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    
    /* Caja rígida e inamovible */
    width: 105px !important;
    height: 38px !important;
    background-color: #03363D !important;
    border-radius: 50px !important;
    
    /* LA MAGIA: Empujamos el texto largo feo fuera del botón */
    text-indent: 500px !important; 
    white-space: nowrap !important;
    overflow: hidden !important; /* Corta y esconde el texto empujado */
    
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    transition: background-color 0.3s ease !important;
}

body .woocommerce-MyAccount-content .woocommerce-Address-title a.edit:hover {
    background-color: #022429 !important;
}

/* 6. EL STICKER NUEVO (Se pone encima del botón vacío) */
body .woocommerce-MyAccount-content .woocommerce-Address-title a.edit::after {
    content: "\270E   Editar" !important; /* Ícono de lápiz + Editar */
    
    /* Lo pegamos exactamente cubriendo todo el botón */
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    
    /* Cancelamos la patada para que este texto SÍ se quede al centro */
    text-indent: 0 !important; 
    
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    color: #ffffff !important;
    font-family: 'Source Sans 3', sans-serif, Arial !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

/* Limpiamos por si el tema quiere meter su propio ícono raro */
body .woocommerce-MyAccount-content .woocommerce-Address-title a.edit::before {
    display: none !important;
}

/* 7. Móvil */
@media (max-width: 768px) {
    body .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set {
        grid-template-columns: 1fr !important; 
        gap: 30px !important;
    }
}

/* ELIMINA LA FILA COMPLETA DEL IVA EN CARRITO Y PAGO */
tr.tax-rate, 
.cart-tax-total,
.includes_tax {
    display: none !important;
}

/* POR SI ACASO APARECE EL TEXTO JUNTO AL TOTAL */
.amount + .woocommerce-price-suffix {
    display: none !important;
}
/* ELIMINAR TEXTO "INCLUDING TAXES" EN BLOQUES DE CHECKOUT 🎯 */
.wc-block-components-totals-footer-item-tax,
.wc-block-components-totals-item__tax-line,
p.wc-block-components-totals-footer-item-tax {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Marco sutil y color corporativo para el éxito del pedido */
.woocommerce-notice--success.woocommerce-thankyou-order-received {
    background-color: transparent !important;
    border: 1px solid #d1dce0 !important;
    color: #03363d !important;
    padding: 40px 20px !important;
    text-align: center !important;
    font-size: 1.25rem !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
    max-width: 800px;
    margin: 40px auto !important;
    border-radius: 4px !important;
}

/* Estilo para la primera línea del mensaje */
.woocommerce-notice--success.woocommerce-thankyou-order-received::first-line {
    font-weight: 700 !important;
    font-size: 1.4rem !important;
    color: #03363d !important;
}

/* =============================================================
   CSS MIGRADO DESDE SNIPPET #68 (43-D: CSS Global + Checkout)
   Migrado: 2026-03-30
   ============================================================= */

        .xoo-wsc-header .xoo-wsc-ctxt,
        .cart-close-title {
            font-size: 0 !important;
            visibility: hidden !important;
            height: 0 !important;
            overflow: hidden !important;
        }
        .woocommerce-breadcrumb {
            padding: 12px 0;
            font-size: 0.85em;
            color: #666;
            margin-bottom: 10px;
        }
        .woocommerce-breadcrumb a {
            color: #0f2b26;
            text-decoration: none;
        }
        .woocommerce-breadcrumb a:hover {
            text-decoration: underline;
        }
		
		
        /* Fix: Mostrar estrellas Unicode en widget de filtro por valoraciones */
        .widget_rating_filter .star-rating {
            display: inline-block !important;
            visibility: visible !important;
            opacity: 1 !important;
            overflow: hidden !important;
            position: relative !important;
            height: 1.2em !important;
            width: 5.8em !important;
            font-family: inherit !important;
            font-size: 14px !important;
            line-height: 1.2 !important;
            color: #d4d4d4 !important;
            vertical-align: middle;
            margin-right: 6px;
            letter-spacing: 2px;
        }
        .widget_rating_filter .star-rating::before {
            content: '\2605\2605\2605\2605\2605' !important;
            color: #d4d4d4 !important;
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            visibility: visible !important;
            font-family: inherit !important;
            letter-spacing: 2px;
        }
        .widget_rating_filter .star-rating span {
            overflow: hidden !important;
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            padding-top: 1.5em !important;
            display: block !important;
            visibility: visible !important;
        }
        .widget_rating_filter .star-rating span::before {
            content: '\2605\2605\2605\2605\2605' !important;
            color: #ffb400 !important;
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            visibility: visible !important;
            font-family: inherit !important;
            letter-spacing: 2px;
        }
        .widget_rating_filter ul {
            list-style: none !important;
            padding: 0 !important;
            margin: 0 !important;
        }
        .widget_rating_filter li {
            padding: 8px 0 !important;
            border-bottom: 1px solid #f0f0f0;
        }
        .widget_rating_filter li:last-child {
            border-bottom: none !important;
        }
        .widget_rating_filter a {
            display: flex !important;
            align-items: center !important;
            text-decoration: none !important;
            color: #555 !important;
            font-size: 14px !important;
            transition: color 0.2s;
        }
        .widget_rating_filter a:hover {
            color: #0f2b26 !important;
        }
        /* F6: Checkout styles */
        .woocommerce-checkout .woocommerce-billing-fields h3,
        .woocommerce-checkout .woocommerce-shipping-fields h3 {
            color: #0f2b26;
            font-size: 1.3em;
            margin-bottom: 15px;
        }
        .woocommerce-checkout .moraleja-retiro-nota {
            max-width: 100%;
        }

/* Botones carrito: tamaños consistentes */
        .woocommerce-cart .checkout-button,
        .woocommerce-cart .continue-shopping-btn,
        .woocommerce-cart .wc-proceed-to-checkout a,
        .woocommerce-cart a.button {
            font-size: 16px !important;
            font-weight: 600 !important;
            padding: 14px 28px !important;
            line-height: 1.4 !important;
        }

        /* F7: "Tu pedido" - tabla con 2 columnas, precios a la derecha */
        .woocommerce-checkout-review-order-table {
            display: table !important;
            width: 100% !important;
            border-collapse: collapse !important;
            table-layout: fixed !important;
        }
        .woocommerce-checkout-review-order-table thead,
        .woocommerce-checkout-review-order-table tbody,
        .woocommerce-checkout-review-order-table tfoot {
            display: table-header-group !important;
        }
        .woocommerce-checkout-review-order-table tbody {
            display: table-row-group !important;
        }
        .woocommerce-checkout-review-order-table tfoot {
            display: table-footer-group !important;
        }
        .woocommerce-checkout-review-order-table tr {
            display: table-row !important;
        }
        .woocommerce-checkout-review-order-table th,
        .woocommerce-checkout-review-order-table td {
            display: table-cell !important;
            padding: 12px 8px !important;
            vertical-align: top !important;
        }
        .woocommerce-checkout-review-order-table tr.shipping {
            display: table-row !important;
        }
        .woocommerce-checkout-review-order-table .shipping th {
            display: none !important;
        }
        .woocommerce-checkout-review-order-table .shipping td {
            display: table-cell !important;
            width: auto !important;
            padding: 12px 0 !important;
        }
                .woocommerce-checkout-review-order-table td.product-total,
        .woocommerce-checkout-review-order-table th.product-total,
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td.product-total,
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th.product-total {
            width: 35% !important;
            text-align: right !important;
            font-size: 16px !important;
            font-weight: 600 !important;
            padding-right: 0 !important;
        }
        .woocommerce-checkout-review-order-table td.product-total {
            text-align: right !important;
            white-space: nowrap !important;
        }
        .woocommerce-checkout-review-order-table td.product-total span,
        .woocommerce-checkout-review-order-table td.product-total .woocommerce-Price-amount,
        .woocommerce-checkout-review-order-table td.product-total bdi {
            text-align: right !important;
            display: inline !important;
            float: none !important;
        }
        .woocommerce-checkout-review-order-table thead th.product-name,
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th.product-name {
            width: 65% !important;
            text-align: left !important;
            padding-left: 0 !important;
        }
        .woocommerce-checkout-review-order-table td.product-name {
            padding-left: 0 !important;
        }
        .woocommerce-checkout-review-order-table .cart-subtotal td,
        .woocommerce-checkout-review-order-table .shipping td,
        .woocommerce-checkout-review-order-table .tax-rate td,
        .woocommerce-checkout-review-order-table .fee td {
            text-align: right !important;
            font-size: 16px !important;
        }
        .woocommerce-checkout-review-order-table .cart-subtotal th,
        .woocommerce-checkout-review-order-table .tax-rate th,
        .woocommerce-checkout-review-order-table .fee th,
        .woocommerce-checkout-review-order-table .cart-subtotal td {
            font-size: 16px !important;
        }
        .woocommerce-checkout-review-order-table .order-total td {
            text-align: right !important;
            font-size: 22px !important;
            font-weight: 700 !important;
            color: #0f2b26 !important;
        }
        .woocommerce-checkout-review-order-table .order-total th {
            font-size: 18px !important;
            font-weight: 600 !important;
        }
/* Forzar alineación derecha de TODOS los precios en la tabla (sin float para no romper layout) */
        .woocommerce-checkout-review-order-table .woocommerce-Price-amount {
            float: none !important;
        }
        .woocommerce-checkout-review-order-table tfoot th {
            text-align: left !important;
            padding-left: 0 !important;
        }
        .woocommerce-checkout-review-order-table tfoot td {
            text-align: right !important;
            padding-right: 0 !important;
        }
        .woocommerce-checkout-review-order-table tfoot td .woocommerce-Price-amount {
            float: none !important;
        }
        /* Fix heading "Tu pedido": el tema usa font-size:0 + ::before, respetamos eso */
        #order_review_heading,
        .woocommerce-checkout h3#order_review_heading {
            font-size: 0 !important;
            color: #0f2b26 !important;
            margin-bottom: 18px !important;
            visibility: visible !important;
        }
        #order_review_heading::before {
            font-size: 28px !important;
            font-weight: 700 !important;
            color: #0f2b26 !important;
            visibility: visible !important;
        }
        .woocommerce-checkout #payment .payment_methods label {
            font-size: 16px !important;
        }
        .woocommerce-checkout #payment .payment_box p {
            font-size: 14px !important;
        }
        .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
            font-size: 14px !important;
        }
        #place_order {
            font-size: 18px !important;
            padding: 16px 24px !important;
        }
        .woocommerce-checkout .woocommerce-input-wrapper input.input-text,
        .woocommerce-checkout .woocommerce-input-wrapper select {
            font-size: 15px !important;
        }
        /* Consolidar estilos de inputs en checkout */
        .woocommerce-checkout input.input-text,
        .woocommerce-checkout select,
        .woocommerce-checkout textarea,
        .woocommerce-checkout .select2-container .select2-selection--single,
        .woocommerce-checkout textarea {
            height: auto !important;
            min-height: 80px !important;
        }
        /* Layout Datos de Despacho: 2 filas (flex-based, alta especificidad) */
        /* Layout Datos de Despacho */
        /* Secciones 1, 2, 3: misma jerarquía */
        body .woocommerce-checkout #moraleja-datos-personales-title,
        body .woocommerce-checkout .moraleja-shipping-toggle-title,
        body .woocommerce-checkout #seccion-facturacion-moraleja .moraleja-shipping-toggle-title {
            font-size: 18px !important;
            font-weight: bold !important;
            color: #03363d !important;
            margin: 0 0 12px !important;
            padding: 0 !important;
            border: none !important;
        }
        body .woocommerce-checkout #moraleja-datos-personales-title {
            flex: 0 0 100% !important;
        }
        body .woocommerce-checkout #moraleja-despacho-title {
            flex: 0 0 100% !important;
            font-size: 15px !important;
            font-weight: 600 !important;
            color: #555 !important;
            margin: 15px 0 10px !important;
            padding-top: 12px !important;
            border-top: 1px solid #eee !important;
        }
        /* Ocultar ::before de customizer en billing_address_1 (título ahora via JS) */
        body #billing_address_1_field::before {
            content: none !important;
            display: none !important;
        }
        /* Ocultar duplicado 1. DATOS PERSONALES (Customizer/theme) */
        body #billing_first_name_field::before {
            content: none !important;
            display: none !important;
        }
        body.modo-retiro-total #moraleja-despacho-title {
            display: none !important;
        }
        body .woocommerce-checkout #billing_address_1_field {
            flex: 0 0 58% !important;
            max-width: 58% !important;
            box-sizing: border-box !important;
        }
        body .woocommerce-checkout
        body .woocommerce-checkout #billing_address_2_field {
            flex: 0 0 48% !important;
            max-width: 48% !important;
            box-sizing: border-box !important;
        }
        body .woocommerce-checkout #billing_state_field {
            flex: 0 0 48% !important;
            max-width: 48% !important;
            box-sizing: border-box !important;
        }
        /* billing_state_field label - handled by JS */
        .woocommerce-checkout .form-row label {
            font-size: 15px !important;
        }
/* Layout: Nombre+Apellidos y Teléfono+Email en la misma fila (flex) */
        .woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 0 4% !important;
        }
        .woocommerce-checkout .woocommerce-billing-fields .form-row-first,
        .woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-first {
            flex: 0 0 48% !important;
            max-width: 48% !important;
            float: none !important;
            clear: none !important;
            margin-right: 0 !important;
        }
        .woocommerce-checkout .woocommerce-billing-fields .form-row-last,
        .woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-last {
            flex: 0 0 48% !important;
            max-width: 48% !important;
            float: none !important;
            clear: none !important;
            margin-right: 0 !important;
        }
        .woocommerce-checkout .woocommerce-billing-fields .form-row-wide,
        .woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide {
            flex: 0 0 100% !important;
            max-width: 100% !important;
            width: 100% !important;
            float: none !important;
            clear: both !important;
        }

        
        /* Fix: SubtotalSubtotal duplicado - ocultar texto original del th */
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th.product-total {
            font-size: 0 !important;
            line-height: 0 !important;
        }
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th.product-total::before {
            content: 'Subtotal';
            font-size: 16px !important;
            font-weight: 600 !important;
            line-height: 1.4 !important;
        }
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th.product-name {
            font-size: 0 !important;
            line-height: 0 !important;
        }
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th.product-name::before {
            content: 'Producto';
            font-size: 16px !important;
            font-weight: 600 !important;
            line-height: 1.4 !important;
        }

        
        /* Shipping row: ancho completo para opciones de courier */
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
            display: table-row !important;
        }
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
            display: none !important;
        }
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
            display: table-cell !important;
            width: auto !important;
            padding: 12px 0 !important;
        }
        .woocommerce-checkout #order_review .woocommerce-shipping-methods,
        .woocommerce-checkout #order_review #shipping_method {
            width: 100% !important;
            max-width: 100% !important;
        }
        .woocommerce-checkout #order_review .woocommerce-shipping-methods li {
            width: 100% !important;
            box-sizing: border-box !important;
        }
        /* Nota de retiro: ancho completo */
        .moraleja-retiro-nota {
            text-align: left !important;
            word-break: normal !important;
            overflow-wrap: break-word !important;
        }
        /* Retiro en Librería: capitalizar label */
        .woocommerce-shipping-methods li:has(input[value*="local_pickup"]) label {
            font-size: 0 !important;
        }
        .woocommerce-shipping-methods li:has(input[value*="local_pickup"]) label::before {
            content: 'Retiro en Librería';
            font-size: 15px !important;
            font-weight: 600 !important;
        }
        .woocommerce-shipping-methods li:has(input[value*="local_pickup"]) label .moraleja-retiro-nota {
            font-size: 13px !important;
            font-weight: normal !important;
        }

        /* Shipping methods: layout compacto tipo tarjeta */
        .woocommerce-shipping-methods {
            list-style: none !important;
            padding: 0 !important;
            margin: 10px 0 !important;
        }
        .woocommerce-shipping-methods li {
            display: flex !important;
            align-items: center !important;
            padding: 10px 12px !important;
            margin-bottom: 8px !important;
            border: 1px solid #e0e0e0 !important;
            border-radius: 8px !important;
            background: #fff !important;
            cursor: pointer !important;
            transition: border-color 0.2s, box-shadow 0.2s !important;
        }
        .woocommerce-shipping-methods li:hover {
            border-color: #03363d !important;
        }
        .woocommerce-shipping-methods li:has(input:checked) {
            border-color: #03363d !important;
            box-shadow: 0 0 0 1px #03363d !important;
            background: #f8fffe !important;
        }
        .woocommerce-shipping-methods li input[type="radio"] {
            flex-shrink: 0 !important;
            width: 18px !important;
            height: 18px !important;
            margin-right: 10px !important;
            accent-color: #03363d !important;
            cursor: pointer !important;
        }
        .woocommerce-shipping-methods li label {
            display: grid !important;
            grid-template-columns: 55px 1fr auto !important;
            grid-template-rows: auto auto !important;
            align-items: center !important;
            gap: 2px 8px !important;
            width: 100% !important;
            cursor: pointer !important;
            font-size: 14px !important;
            line-height: 1.4 !important;
            margin: 0 !important;
        }
        .woocommerce-shipping-methods li label img.shipit_icon {
            grid-row: 1 / 3 !important;
            grid-column: 1 !important;
            max-width: 50px !important;
            height: auto !important;
            margin: 0 !important;
        }
        .woocommerce-shipping-methods li label .woocommerce-Price-amount,
        .woocommerce-shipping-methods li label > span:not(.text-mute):not(.woocommerce-Price-amount) {
            grid-column: 2 !important;
            grid-row: 1 !important;
            font-weight: 700 !important;
            font-size: 15px !important;
            color: #03363d !important;
            float: none !important;
        }
        .woocommerce-shipping-methods li label .text-mute {
            grid-column: 2 / 4 !important;
            grid-row: 2 !important;
            font-size: 12px !important;
            font-style: italic !important;
            color: #888 !important;
            padding-left: 0 !important;
        }
        /* [REMOVED] Duplicate .shipping rules — desktop rules in F7 section are canonical */
        /* Cupón: solo en Tu pedido, ocultar el del inicio (alta especificidad) */
        body.woocommerce-checkout .woocommerce-form-coupon-toggle,
        body.woocommerce-checkout form#woocommerce-checkout-form-coupon,
        body .woocommerce-checkout .woocommerce-form-coupon-toggle,
        body .woocommerce-checkout form#woocommerce-checkout-form-coupon {
            display: none !important;
            height: 0 !important;
            overflow: hidden !important;
            margin: 0 !important;
            padding: 0 !important;
            visibility: hidden !important;
        }
        /* Cupón en Tu pedido: visible y con espaciado */
        .woocommerce-checkout #order_review .custom-coupon-row,
        .woocommerce-checkout-review-order-table .custom-coupon-row {
            display: table-row !important;
        }
        .woocommerce-checkout #order_review .custom-coupon-row td {
            padding: 16px 0 !important;
            border-top: 1px solid #eee !important;
            vertical-align: middle !important;
        }
        .woocommerce-checkout #order_review .custom-coupon-row .coupon-inner-wrapper {
            display: flex !important;
            gap: 6px !important;
            align-items: center !important;
            width: 100% !important;
        }
        .woocommerce-checkout #order_review .custom-coupon-row input#coupon_code {
            flex: 1 !important;
            min-width: 0 !important;
            padding: 12px 15px !important;
            font-size: 15px !important;
            border-radius: 8px !important;
            border: 1px solid #ccc !important;
            height: 48px !important;
        }
        .woocommerce-checkout #order_review .custom-coupon-row button.button {
            flex-shrink: 0 !important;
            padding: 12px 20px !important;
            font-size: 15px !important;
            font-weight: 600 !important;
            color: #fff !important;
            background: #03363d !important;
            border: none !important;
            border-radius: 8px !important;
            height: 48px !important;
        }
        .woocommerce-checkout #order_review .custom-coupon-row button.button:hover {
            background: #044a52 !important;
        }
        /* F8: Ocultar campos innecesarios para Chile */
        #billing_country_field,
        #shipping_country_field,
        #billing_city_field,
        #shipping_city_field,
        #billing_postcode_field,
        #shipping_postcode_field {
            display: none !important;
            height: 0 !important;
            overflow: hidden !important;
            margin: 0 !important;
            padding: 0 !important;
        }
        /* Campos de dirección: Número y Complemento lado a lado */
        #billing_address_2_field {
            width: 48% !important;
            float: right !important;
            clear: none !important;
        }
        #shipping_address_number_field {
            width: 48% !important;
            float: left !important;
            clear: left !important;
        }
        #shipping_address_2_field {
            width: 48% !important;
            float: right !important;
            clear: none !important;
        }
        /* Input styling para los nuevos campos */
        /* Mapa de dirección del cliente */
        #moraleja-address-map-wrap { display:none !important;
            margin: 20px 0 10px;
            clear: both;
        }
        .moraleja-map-label {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 8px;
            color: #0f2b26;
        }
        #moraleja-address-map-container {
            border: 1px solid #ddd;
            border-radius: 12px;
            overflow: hidden;
            height: 220px;
            display: none;
            position: relative;
        }
        #moraleja-address-map-container.visible {
            display: block;
        }
        #moraleja-address-map {
            width: 100%;
            height: 100%;
        }
        .moraleja-map-address-text {
            font-size: 13px;
            color: #666;
            margin-top: 6px;
            line-height: 1.4;
        }

        /* F8: Estilo del selector de comuna (Select2) para igualar inputs */
        #billing_state_field select,
        #shipping_state_field select {
            font-size: 15px !important;
            padding: 10px 12px !important;
            border: 1px solid #ccc !important;
            border-radius: 8px !important;
            background-color: #fff !important;
            width: 100% !important;
        }
        #billing_state_field label,
        #shipping_state_field label {
            font-size: 15px !important;
            font-weight: 600 !important;
            margin-bottom: 6px !important;
        }
        /* Select2 container: mismo estilo que los inputs del checkout */
        #billing_state_field .select2-container,
        #shipping_state_field .select2-container {
            width: 100% !important;
        }
        #billing_state_field .select2-container .select2-selection--single,
        #shipping_state_field .select2-container .select2-selection--single {
            height: 48px !important;
            border: 1px solid #ccc !important;
            border-radius: 8px !important;
            background-color: #fff !important;
            padding: 0 15px !important;
            display: flex !important;
            align-items: center !important;
            transition: border-color 0.2s ease !important;
        }
        #billing_state_field .select2-container .select2-selection--single:hover,
        #shipping_state_field .select2-container .select2-selection--single:hover {
            border-color: #0f2b26 !important;
        }
        #billing_state_field .select2-container--focus .select2-selection--single,
        #shipping_state_field .select2-container--focus .select2-selection--single {
            border-color: #0f2b26 !important;
            box-shadow: 0 0 0 1px #0f2b26 !important;
        }
        #billing_state_field .select2-selection__rendered,
        #shipping_state_field .select2-selection__rendered {
            font-size: 15px !important;
            color: #333 !important;
            line-height: 48px !important;
            padding-left: 0 !important;
            padding-right: 30px !important;
        }
        #billing_state_field .select2-selection__arrow,
        #shipping_state_field .select2-selection__arrow {
            height: 48px !important;
            right: 12px !important;
            display: flex !important;
            align-items: center !important;
        }
        #billing_state_field .select2-selection__placeholder,
        #shipping_state_field .select2-selection__placeholder {
            color: #999 !important;
            font-size: 15px !important;
        }
        /* Select2 dropdown abierto */
        .select2-dropdown {
            border: 1px solid #ccc !important;
            border-radius: 8px !important;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
            margin-top: 4px !important;
        }
        .select2-results__option {
            padding: 10px 15px !important;
            font-size: 14px !important;
        }
        .select2-results__option--highlighted {
            background-color: #0f2b26 !important;
            color: #fff !important;
        }
        .select2-search--dropdown .select2-search__field {
            padding: 10px 12px !important;
            font-size: 15px !important;
            border: 1px solid #ccc !important;
            border-radius: 6px !important;
        }
    
        /* Mobile: mostrar Mi Cuenta y Wishlist en header */
        @media (max-width: 768px) {
            .site-header .header-group-action .account-item,
            .site-header .header-group-action .wishlist-item,
            header .header-group-action .account-item,
            header .header-group-action .wishlist-item {
                display: inline-flex !important;
            }
            /* Hacer iconos más compactos en mobile */
            .site-header .header-group-action .account-item a,
            .site-header .header-group-action .wishlist-item a {
                padding: 4px !important;
            }
            .site-header .header-group-action .account-item .account-label,
            .site-header .header-group-action .wishlist-item .wishlist-label {
                display: none !important;
            }
        }
    
        /* Mobile: botón Realizar Pedido sticky */
        @media (max-width: 768px) {
            .woocommerce-checkout #place_order {
                position: sticky !important;
                bottom: 0 !important;
                z-index: 100 !important;
                margin: 0 -16px !important;
                width: calc(100% + 32px) !important;
                border-radius: 0 !important;
                padding: 18px !important;
                font-size: 18px !important;
                box-shadow: 0 -4px 12px rgba(0,0,0,0.1) !important;
            }
        }
    
        /* Mobile: badge descuento más grande y legible */
        @media (max-width: 768px) {
            .woocommerce ul.products li.product .onsale,
            .woocommerce span.onsale {
                min-width: 50px !important;
                min-height: 50px !important;
                font-size: 13px !important;
                line-height: 50px !important;
            }
        }
    
        /* Mejorar contraste de precios tachados (WCAG AA) */
        del .woocommerce-Price-amount,
        .price del,
        del .amount {
            color: #767676 !important; /* ratio 4.54:1 sobre blanco — pasa WCAG AA */
        }
    
        /* Ocultar Centro de ayuda (Próximamente) en todos los menús */
        .menu-item-16013, .menu-item-16037 { display: none !important; }
    

        /* ========================================= */
        /* CSS CONSOLIDADO desde otros snippets      */
        /* ========================================= */

        /* --- Desde #55: ShipIt checkout --- */

        /* FIX: Shipping row ancho completo - carga temprano para evitar flash */
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals,
        .woocommerce-checkout-review-order-table tr.shipping { display: table-row !important; }
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
        .woocommerce-checkout-review-order-table .shipping th { display: none !important; }
        .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td,
        .woocommerce-checkout-review-order-table .shipping td { display: table-cell !important; width: auto !important; padding: 12px 0 !important; }
        #billing_address_1_field.moraleja-oculto,
        #shipping_address_1_field.moraleja-oculto,
        p.moraleja-oculto {
            display:none !important; position:absolute !important;
            height:0 !important; overflow:hidden !important;
            margin:0 !important; padding:0 !important; border:0 !important;
        }
        body.modo-retiro .moraleja-addr-field,
        body.modo-retiro #billing_address_2_field,
        body.modo-retiro #billing_state_field,
        body.modo-retiro #moraleja-gmap-wrap,
        body.modo-retiro #moraleja-despacho-title {
            display: none !important;
        }
        /* En modo retiro: ocultar TODOS los couriers */
        body.modo-retiro .woocommerce-shipping-methods li { display: none !important; }
        body.modo-retiro .woocommerce-shipping-methods li.retiro-visible { display: list-item !important; }
        /* Aumentar tamaño del mensaje de retiro en sidebar */
        body.modo-retiro .woocommerce-shipping-methods .moraleja-retiro-nota,
        body.modo-retiro .woocommerce-shipping-methods li.retiro-visible .moraleja-retiro-nota {
            font-size: 13.5px !important; line-height: 1.5 !important;
        }
        #moraleja-gmap-wrap { margin-top:20px; }
        #moraleja-gmap-wrap .gmap-label { font-size:14px; font-weight:600; color:#18494d; margin-bottom:8px; }
        #moraleja-gmap { width:100%; height:280px; border-radius:8px; border:1px solid #e0e0e0; }
        #moraleja-gmap-addr { font-size:13px; color:#888; margin-top:6px; }
    
        /* --- Desde #13: Te estás ahorrando --- */

        tr.custom-savings-row {
            display: table-row !important;
            border-bottom: 1px solid #eaeaea !important;
        }
        tr.custom-savings-row th {
            display: table-cell !important;
            font-size: 16px !important;
            font-weight: 700 !important;
            color: #ff677e !important;
            text-align: left !important;
            padding: 8px 0 !important;
            border: none !important;
            white-space: nowrap !important;
        }
        tr.custom-savings-row td {
            display: table-cell !important;
            font-size: 18px !important;
            font-weight: 800 !important;
            color: #ff677e !important;
            text-align: right !important;
            padding: 8px 0 !important;
            border: none !important;
            vertical-align: middle !important;
        }
    
        /* --- Desde #45: Boleta/Factura --- */

        .moraleja-document-toggle { display: flex; background: #f2f2f2; border-radius: 8px; padding: 4px; border: 1px solid #ddd; max-width: 500px; }
        .toggle-doc { flex: 1; padding: 12px; text-align: center; cursor: pointer; font-weight: 600; color: #666; border-radius: 6px; transition: all 0.2s; }
        .toggle-doc.active { background: white; color: #03363d; box-shadow: 0 2px 4px rgba(0,0,0,0.1); border: 1px solid #ccc; }
        
        #campos-factura-chile .form-row label { font-weight: 600; color: #03363d; margin-bottom: 5px; display: block; }
        #campos-factura-chile .input-text { border-radius: 8px !important; border: 1px solid #ccc !important; height: 48px !important; padding: 12px 15px !important; font-size: 15px !important; width: 100%; box-sizing: border-box; }
        
        #ship-to-different-address, .woocommerce-shipping-fields { display: none !important; }
    
        /* --- Desde #44: Home + Categorías --- */

        .moraleja-cta-institucional {
            background: linear-gradient(135deg, #0f2b26 0%, #1a4a3f 100%);
            color: #fff;
            padding: 35px 20px;
            text-align: center;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            margin: 0;
        }
        .moraleja-cta-institucional .cta-inner {
            max-width: 800px;
            margin: 0 auto;
        }
        .moraleja-cta-institucional h3 {
            font-size: 22px;
            margin: 0 0 10px;
            font-weight: 700;
            color: #fff;
        }
        .moraleja-cta-institucional p {
            font-size: 15px;
            margin: 0 0 20px;
            color: rgba(255,255,255,0.85);
            line-height: 1.5;
        }
        .moraleja-cta-institucional .cta-buttons {
            display: flex;
            gap: 12px;
            justify-content: center;
            flex-wrap: wrap;
        }
        .moraleja-cta-institucional .cta-btn {
            display: inline-block;
            padding: 12px 28px;
            border-radius: 6px;
            font-weight: 600;
            font-size: 14px;
            text-decoration: none;
            transition: all 0.2s;
        }
        .moraleja-cta-institucional .cta-btn-primary {
            background: #fff;
            color: #0f2b26;
        }
        .moraleja-cta-institucional .cta-btn-primary:hover {
            background: #a8d5ba;
            color: #0f2b26;
        }
        .moraleja-cta-institucional .cta-btn-secondary {
            background: transparent;
            color: #fff;
            border: 1px solid rgba(255,255,255,0.4);
        }
        .moraleja-cta-institucional .cta-btn-secondary:hover {
            border-color: #fff;
            background: rgba(255,255,255,0.1);
        }
    

        .proximamente-btn {
            background: #e0e0e0 !important;
            color: #888 !important;
            cursor: default !important;
            border: none !important;
            pointer-events: auto !important;
            opacity: 0.8;
            font-style: italic;
        }
        .proximamente-btn:hover {
            background: #d5d5d5 !important;
            color: #666 !important;
        }
        /* C3: Estilizar descripción de categoría como banner */
        .woocommerce-products-header .term-description,
        .woocommerce-products-header .taxonomy-description {
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            padding: 20px 25px;
            border-radius: 8px;
            margin-bottom: 20px;
            font-size: 15px;
            line-height: 1.6;
            color: #333;
            border-left: 4px solid #0f2b26;
        }
        .woocommerce-products-header .term-description p,
        .woocommerce-products-header .taxonomy-description p {
            margin: 0;
        }
    
        /* --- Desde #19: Img hover zoom --- */

        /* 1. LIBERAMOS LOS CONTENEDORES: Permitimos que el disco sobresalga sin que lo corten */
        .woocommerce ul.products li.product,
        .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
        .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
            overflow: visible !important;
        }

        /* 2. EL NUEVO MARCO: Este div creado por JS envolverá SOLO a la imagen. Aquí escondemos el zoom. */
        .img-zoom-wrapper {
            overflow: hidden !important;
            display: block !important;
            position: relative !important;
            border-radius: 8px; /* Ajuste para mantener los bordes redondeados de tus libros */
            z-index: 1; 
        }

        /* 3. TRANSICIÓN DE LA IMAGEN */
        .woocommerce ul.products li.product .img-zoom-wrapper img {
            transition: transform 0.2s ease-in-out !important; 
            transform-origin: center center !important; 
            will-change: transform; 
            cursor: pointer !important; 
            display: block !important;
            width: 100% !important;
            height: auto !important;
            margin: 0 !important;
        }

        /* 4. ¡LA MAGIA! Zoom al pasar el ratón */
        .woocommerce ul.products li.product:hover .img-zoom-wrapper img {
            transform: scale(1.05) !important; 
        }
        
        /* 5. Aseguramos que el disco rosado flote por encima de todo */
        .woocommerce ul.products li.product .onsale,
        .woocommerce ul.products li.product .badge,
        .woocommerce ul.products li.product .ast-onsale-card {
            z-index: 99 !important;
        }
    
        /* --- Desde #69: Footer global --- */

        .moraleja-global-footer {
            background-color: #0f2b26;
            color: #fff;
            padding: 40px 20px 20px;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            font-size: 14px;
            line-height: 1.6;
        }
        .moraleja-global-footer a { color: #a8d5ba; text-decoration: none; }
        .moraleja-global-footer a:hover { color: #fff; text-decoration: underline; }
        .moraleja-footer-inner {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 30px;
        }
        .moraleja-footer-col h4 { color: #fff; font-size: 16px; margin-bottom: 15px; font-weight: 600; }
        .moraleja-footer-col ul { list-style: none; padding: 0; margin: 0; }
        .moraleja-footer-col ul li { margin-bottom: 8px; }
        .moraleja-footer-bottom {
            max-width: 1200px; margin: 30px auto 0; padding-top: 20px;
            border-top: 1px solid rgba(255,255,255,0.15);
            text-align: center; color: rgba(255,255,255,0.6); font-size: 13px;
        }
    
    
        
        /* Evitar superposición de elementos en entry-summary */
        .single-product .entry-summary > * {
            position: relative !important;
            z-index: 1 !important;
        }
        .single-product .entry-summary {
            overflow: visible !important;
        }
        /* Bookory renderiza woocommerce-tabs múltiples veces — ocultar duplicados */
        .single-product .woocommerce-tabs ~ .woocommerce-tabs {
            display: none !important;
        }
        /* Limpiar posicionamiento de tabs content */
        .single-product .woocommerce-tabs .woocommerce-Tabs-panel {
            position: relative !important;
            z-index: 1 !important;
            background: #fff !important;
        }
        /* Asegurar que el tab description no se superpone */
        .single-product .woocommerce-Tabs-panel--description {
            overflow: visible !important;
        }
        .single-product .woocommerce-Tabs-panel--description h2,
        .single-product .woocommerce-Tabs-panel--description h3,
        .single-product .woocommerce-Tabs-panel--description p,
        .single-product .woocommerce-Tabs-panel--description ul,
        .single-product .woocommerce-Tabs-panel--description li {
            position: relative !important;
            z-index: 1 !important;
            background: #fff !important;
        }
        /* Entry-summary: short description limpia */
        .single-product .entry-summary .woocommerce-product-details__short-description {
            position: relative !important;
            z-index: 1 !important;
            background: #fff !important;
        }
        /* Reseñas: limpiar superposición */
        .single-product #reviews,
        .single-product .woocommerce-Reviews {
            position: relative !important;
            z-index: 1 !important;
            background: #fff !important;
        }
        .single-product #reviews .comment_container {
            background: #fff !important;
            position: relative !important;
            z-index: 1 !important;
        }
        /* Paneles inactivos ocultos — el JS de Bookory los muestra al click */
        .single-product .woocommerce-tabs .woocommerce-Tabs-panel {
            display: none;
        }
        .single-product .woocommerce-tabs .woocommerce-Tabs-panel--description {
            display: block;
        }
        /* h2 accordion de Bookory para mobile — no mostrar en desktop */
        @media (min-width: 768px) {
            .single-product .woocommerce-tabs h2.resp-accordion {
                display: none !important;
            }
        }
    
        /* === FIX DEFINITIVO TABS BOOKORY ===
         * Bookory convierte tabs WC a accordion via JS (resp-accordion)
         * Pero entre que el HTML se renderiza y el JS ejecuta,
         * todos los paneles son visibles causando superposición.
         * Este CSS oculta los paneles por defecto — el JS de Bookory
         * los muestra al hacer click añadiendo clase .active
         */
        .single-product .woocommerce-tabs .woocommerce-Tabs-panel:not(:first-of-type) {
            display: none;
        }
        .single-product .woocommerce-tabs .woocommerce-Tabs-panel.active {
            display: block !important;
        }
        /* Accordion body oculto por defecto */
        .single-product .woocommerce-tabs .accordion-body {
            display: none;
        }
        .single-product .woocommerce-tabs .accordion-body.active {
            display: block !important;
        }
        /* resp-accordion headings: solo visibles en mobile */
        .single-product .woocommerce-tabs h2.resp-accordion {
            cursor: pointer;
        }
        .single-product .woocommerce-tabs .resp-tab-content:not(.resp-tab-content-active) {
            display: none;
        }
    
        
        
        

        /* === FIX LINE-HEIGHT + FOOTER HIDE === */
        .elementor-kit-17,
        body.elementor-kit-17 {
            line-height: 1.7 !important;
        }
        .elementor-kit-17 h1 { line-height: 1.1 !important; }
        .elementor-kit-17 h2 { line-height: 1.15 !important; }
        .elementor-kit-17 h3 { line-height: 1.2 !important; }
        .elementor-kit-17 h4 { line-height: 1.3 !important; }
        .elementor-kit-17 h5 { line-height: 1.3 !important; }
        .elementor-kit-17 h6 { line-height: 1.3 !important; }
        /* Ocultar footer del tema Bookory */
        .site-footer,
        .bookory-meta-footer {
            display: none !important;
        }

        

        /* === POPUP CROSS-SELL MOBILE === */
        @media (max-width: 768px) {
            .popup-cross-sell,
            .bookory-popup-cross-sell,
            [class*="popup-cross-sell"] {
                position: fixed !important;
                bottom: 10px !important;
                right: 10px !important;
                left: auto !important;
                width: calc(100vw - 20px) !important;
                max-width: 340px !important;
                z-index: 9999 !important;
                border-radius: 12px !important;
                box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
                font-size: 14px !important;
                padding: 12px !important;
                background: #fff !important;
            }
            .popup-cross-sell img,
            .bookory-popup-cross-sell img,
            [class*="popup-cross-sell"] img {
                max-width: 70px !important;
                height: auto !important;
                border-radius: 6px !important;
            }
            .popup-cross-sell .product-title,
            .bookory-popup-cross-sell .product-title {
                font-size: 13px !important;
                line-height: 1.3 !important;
            }
            .popup-cross-sell .price,
            .bookory-popup-cross-sell .price {
                font-size: 15px !important;
                font-weight: 700 !important;
            }
        }

        /* === SIDE CART (xoo-wsc) MOBILE === */
        @media (max-width: 768px) {
            .xoo-wsc-container {
                width: 100vw !important;
                max-width: 100% !important;
            }
        }

        

        

        /* === FOOTER: excluir de reglas de producto === */
        .moraleja-global-footer,
        .moraleja-global-footer * {
            background: transparent !important;
        }
        .moraleja-global-footer {
            background: #17494D !important;
        }
        .moraleja-global-footer .moraleja-footer-logo img {
            background: transparent !important;
        }

        /* Mi Cuenta: evitar H1 duplicado */
        .woocommerce-account .entry-title {
            display: block !important;
        }

        /* === CHECKOUT LAYOUT FIX === */
        /* Ocultar col-2 (ship-to-different-address) — innecesario */
        
        .woocommerce-checkout .col2-set {
            display: block !important;
        }
        .woocommerce-checkout .col2-set .col-1 {
            width: 100% !important;
            float: none !important;
        }

        /* === CHECKOUT MOBILE === */
        @media (max-width: 768px) {
            /* Order review full width */
            .woocommerce-checkout #order_review,
            .woocommerce-checkout #order_review_heading {
                width: 100% !important;
                float: none !important;
            }
            /* Campos apilados en mobile */
            .woocommerce-checkout .form-row-first,
            .woocommerce-checkout .form-row-last {
                width: 100% !important;
                float: none !important;
                flex: 0 0 100% !important;
                max-width: 100% !important;
            }
            /* Títulos de sección */
            .woocommerce-checkout #moraleja-datos-personales-title,
            .woocommerce-checkout #moraleja-despacho-title {
                font-size: 16px !important;
                padding: 10px 0 !important;
            }
            /* Tabla resumen compacta */
            .woocommerce-checkout table.shop_table td,
            .woocommerce-checkout table.shop_table th {
                padding: 8px 6px !important;
                font-size: 14px !important;
            }
            /* Botón pagar full width */
            .woocommerce-checkout #place_order {
                width: 100% !important;
                font-size: 16px !important;
                padding: 14px !important;
            }
            /* Botones retiro/envío en columna */
            .woocommerce-checkout #bloque-botones-moraleja > div:first-child {
                flex-direction: column !important;
            }
            .woocommerce-checkout #bloque-botones-moraleja .toggle-tab {
                width: 100% !important;
            }
            /* Campos dirección full width */
            .woocommerce-checkout #billing_address_1_field,
            .woocommerce-checkout #billing_address_2_field,
            .woocommerce-checkout #billing_state_field,
            .woocommerce-checkout #moraleja_calle_field,
            .woocommerce-checkout #moraleja_numero_field {
                flex: 0 0 100% !important;
                max-width: 100% !important;
            }
        }

        

        /* Shipping method labels en una línea */
        #shipping_method li label {
            display: flex !important;
            align-items: center;
            gap: 10px;
        }

        /* === CHECKOUT LAYOUT v2 === */
        /* col-2 ocupa 100% del ancho, sin columna vacía */
        .woocommerce-checkout .col2-set {
            display: block !important;
        }
        .woocommerce-checkout .col2-set .col-1 {
            width: 100% !important;
            float: none !important;
            flex: none !important;
            min-width: 0 !important;
        }
        .woocommerce-checkout .col2-set .col-2 {
            display: block !important;
            width: 100% !important;
            float: none !important;
            flex: none !important;
            min-width: 0 !important;
        }
        /* Ocultar H3 "¿Enviar a dirección diferente?" y checkbox */
        .woocommerce-shipping-fields > h3,
        .woocommerce-form__label-for-checkbox,
        #ship-to-different-address {
            display: none !important;
        }
        /* Ocultar título "Datos de Facturación" */
        .woocommerce-checkout .woocommerce-billing-fields > h3 {
            display: none !important;
        }
        /* Campos ocultos */
        .moraleja-oculto {
            display: none !important;
        }
        /* Campos shipping: visibilidad controlada por JS via clase moraleja-campo-envio */
        /* Mobile checkout */
        @media (max-width: 768px) {
            .woocommerce-checkout #place_order {
                width: 100% !important;
                font-size: 16px !important;
                padding: 14px !important;
            }
        }

        /* Campos de dirección envío: ocultos por defecto, JS los muestra */
        .woocommerce-checkout #shipping_state_field.moraleja-campo-envio,
        .woocommerce-checkout #moraleja_calle_field.moraleja-campo-envio,
        .woocommerce-checkout #moraleja_numero_field.moraleja-campo-envio,
        .woocommerce-checkout #shipping_address_2_field.moraleja-campo-envio {
            display: none;
        }
        /* Cuando JS añade .moraleja-mostrar, se muestran */
        .woocommerce-checkout .moraleja-mostrar {
            display: block !important;
        }

        /* Unificar estilo de inputs en checkout */
        .woocommerce-checkout input.input-text,
        .woocommerce-checkout input[type="text"],
        .woocommerce-checkout input[type="email"],
        .woocommerce-checkout input[type="tel"],
        .woocommerce-checkout select,
        .woocommerce-checkout textarea,
        .woocommerce-checkout .select2-selection,
        #moraleja-direccion-envio input,
        #moraleja-direccion-envio select {
            border-radius: 4px !important;
            border: 1.5px solid #d1d5db !important;
            background: #fafafa !important;
            padding: 0 12px !important;
            font-size: 14px !important;
            color: #333 !important;
            height: 42px !important;
            line-height: 42px !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        }
        .woocommerce-checkout .select2-container .select2-selection {
            border-radius: 4px !important;
            border: 1.5px solid #d1d5db !important;
            background: #fafafa !important;
            min-height: 42px !important;
            height: 42px !important;
            padding: 0 12px !important;
            line-height: 42px !important;
        }

        /* FORZAR altura uniforme en TODOS los inputs del checkout */
        .woocommerce-checkout input[type="text"],
        .woocommerce-checkout input[type="email"],
        .woocommerce-checkout input[type="tel"],
        .woocommerce-checkout input[type="number"],
        .woocommerce-checkout input.input-text,
        .woocommerce-checkout select,
        .woocommerce-checkout .select2-selection,
        .woocommerce-checkout .select2-selection__rendered,
        #moraleja-direccion-envio input,
        #moraleja-direccion-envio select {
            height: 42px !important;
            min-height: 42px !important;
            max-height: 42px !important;
            padding: 0 12px !important;
            line-height: 42px !important;
            font-size: 14px !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            color: #333 !important;
            background: #fafafa !important;
            border: 1.5px solid #d1d5db !important;
            border-radius: 4px !important;
            box-sizing: border-box !important;
        }

        /* Ocultar bloque retiro en librería del resumen por defecto */
        .moraleja-retiro-nota,
        .woocommerce-checkout .moraleja-retiro-nota,
        #order_review .moraleja-retiro-nota {
            display: none !important;
        }
        /* Solo mostrar en modo retiro */
        body.modo-retiro-total .moraleja-retiro-nota,
        body.modo-retiro-total #order_review .moraleja-retiro-nota {
            display: block !important;
        }
        /* También ocultar la fila de shipping que contiene "Retiro en Librería" */
        .woocommerce-shipping-totals .moraleja-retiro-nota {
            display: none !important;
        }
        body.modo-retiro-total .woocommerce-shipping-totals .moraleja-retiro-nota {
            display: block !important;
        }

        /* Ocultar TODA la opción local_pickup del listado de shipping por defecto */
        #shipping_method li:has(input[value*="local_pickup"]),
        #shipping_method li input[value*="local_pickup"] ~ *,
        #shipping_method li input[value*="local_pickup"] {
            /* :has no soportado en todos browsers, JS lo complementa */
        }
        /* Ocultar el label "Retiro en Librería" como botón */
        .woocommerce-shipping-totals #shipping_method li label[for*="local_pickup"],
        .woocommerce-shipping-totals #shipping_method li input[value*="local_pickup"] {
            display: none !important;
        }
        /* Solo mostrar en modo retiro */
        body.modo-retiro-total .woocommerce-shipping-totals #shipping_method li label[for*="local_pickup"],
        body.modo-retiro-total .woocommerce-shipping-totals #shipping_method li input[value*="local_pickup"] {
            display: inline-block !important;
        }

        /* Ocultar el LI completo de local_pickup por defecto */
        #shipping_method li.local-pickup-li-hidden {
            display: none !important;
            height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            border: none !important;
            overflow: hidden !important;
        }

        /* Ocultar texto IVA en total del checkout */
        .woocommerce-checkout .order-total .includes_tax,
        .woocommerce-checkout .order-total small,
        .woocommerce-checkout .order-total .tax_label,
        .woocommerce-checkout .tax-rate,
        .woocommerce-checkout .tax-total {
            display: none !important;
        }
        /* Unificar títulos de sección del checkout */
        .woocommerce-checkout #moraleja-datos-personales-title,
        .woocommerce-checkout #moraleja-metodo-envio-title,
        .woocommerce-checkout #moraleja-tipo-documento-title,
        .woocommerce-checkout .moraleja-section-title {
            font-size: 15px !important;
            font-weight: 700 !important;
            color: #03363d !important;
            text-transform: uppercase !important;
            letter-spacing: 0.5px !important;
            margin-bottom: 12px !important;
            padding-bottom: 8px !important;
            border-bottom: 1px solid #e5e7eb !important;
        }

        /* FORZAR tamaño idéntico en los 3 títulos de sección */
        #moraleja-datos-personales-title,
        #moraleja-metodo-envio-title,
        #moraleja-tipo-documento-title {
            font-size: 15px !important;
            font-weight: 700 !important;
            color: #03363d !important;
            text-transform: uppercase !important;
            letter-spacing: 0.5px !important;
            margin-bottom: 12px !important;
            padding-bottom: 8px !important;
            border-bottom: 1px solid #e5e7eb !important;
            line-height: 1.4 !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        }

        /* Select2 en comuna proxy - mismo estilo que inputs */
        #moraleja-direccion-envio .select2-container {
            width: 100% !important;
        }
        #moraleja-direccion-envio .select2-container .select2-selection--single {
            height: 42px !important;
            border: 1.5px solid #d1d5db !important;
            border-radius: 4px !important;
            background: #fafafa !important;
            padding: 0 12px !important;
        }
        #moraleja-direccion-envio .select2-container .select2-selection__rendered {
            line-height: 42px !important;
            font-size: 14px !important;
            color: #333 !important;
            padding-left: 0 !important;
        }
        #moraleja-direccion-envio .select2-container .select2-selection__arrow {
            height: 42px !important;
        }
        #moraleja-direccion-envio .select2-container .select2-selection__clear {
            margin-right: 8px !important;
        }

        /* Select2 comuna: forzar estilo uniforme */
        .select2-container--default .select2-selection--single,
        #moraleja-direccion-envio .select2-container--default .select2-selection--single,
        .woocommerce-checkout .select2-container--default .select2-selection--single {
            height: 42px !important;
            border: 1.5px solid #d1d5db !important;
            border-radius: 4px !important;
            background: #fafafa !important;
            padding: 0 12px !important;
            box-sizing: border-box !important;
        }
        .select2-container--default .select2-selection--single .select2-selection__rendered,
        #moraleja-direccion-envio .select2-selection__rendered {
            line-height: 42px !important;
            font-size: 14px !important;
            color: #333 !important;
            padding-left: 0 !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        }
        .select2-container--default .select2-selection--single .select2-selection__arrow {
            height: 42px !important;
        }
        .select2-container--default .select2-selection--single .select2-selection__placeholder {
            color: #999 !important;
            font-size: 14px !important;
        }

        /* Ocultar select nativo cuando Select2 está activo */
        #moraleja-direccion-envio select#ui_comuna {
            display: none !important;
        }

        /* Quitar borde del contenedor padre de Comuna */
        #moraleja-direccion-envio > div:first-child {
            border: none !important;
            padding: 0 !important;
            background: transparent !important;
        }

        /* NUCLEAR: quitar TODO borde interior en comuna */
        #moraleja-direccion-envio *,
        #moraleja-direccion-envio div,
        #moraleja-direccion-envio span,
        #moraleja-direccion-envio select,
        .select2-container .select2-selection__rendered,
        .select2-container .select2-selection__arrow {
            border: none !important;
            outline: none !important;
            box-shadow: none !important;
        }
        /* Solo el contenedor externo de Select2 tiene borde */
        .select2-container--default .select2-selection--single {
            border: 1.5px solid #d1d5db !important;
        }

        /* Mostrar checkbox de términos y condiciones */
        .woocommerce-terms-and-conditions-wrapper,
        .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label,
        .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox,
        .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
        .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text,
        #terms {
            display: inline-block !important;
            visibility: visible !important;
            opacity: 1 !important;
        }
        .woocommerce-terms-and-conditions-wrapper {
            display: block !important;
            margin: 15px 0 !important;
        }
        .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
            font-size: 14px !important;
        }

        /* ============================================
         * CARRITO — Estética unificada con checkout
         * ============================================ */
        /* Layout general */
        .woocommerce-cart .woocommerce {
            max-width: 1200px;
            margin: 0 auto;
        }

        /* Tabla del carrito */
        .woocommerce-cart table.shop_table {
            border: 1.5px solid #e5e7eb !important;
            border-radius: 8px !important;
            overflow: hidden;
            border-collapse: separate !important;
        }
        .woocommerce-cart table.shop_table th {
            background: #f9fafb !important;
            font-size: 13px !important;
            font-weight: 700 !important;
            color: #03363d !important;
            text-transform: uppercase !important;
            letter-spacing: 0.5px !important;
            padding: 12px 16px !important;
            border-bottom: 1.5px solid #e5e7eb !important;
        }
        .woocommerce-cart table.shop_table td {
            padding: 16px !important;
            vertical-align: middle !important;
            border-bottom: 1px solid #f3f4f6 !important;
            font-size: 14px !important;
        }
        .woocommerce-cart table.shop_table td.product-name a {
            color: #03363d !important;
            font-weight: 600 !important;
            text-decoration: none !important;
        }
        .woocommerce-cart table.shop_table td.product-price,
        .woocommerce-cart table.shop_table td.product-subtotal {
            font-weight: 600 !important;
        }

        /* Input cantidad */
        .woocommerce-cart .quantity input.qty {
            height: 42px !important;
            width: 60px !important;
            border: 1.5px solid #d1d5db !important;
            border-radius: 4px !important;
            background: #fafafa !important;
            font-size: 14px !important;
            text-align: center !important;
            padding: 0 !important;
        }

        /* Botones del carrito */
        .woocommerce-cart .actions .button,
        .woocommerce-cart .coupon .button {
            background: #03363d !important;
            color: #fff !important;
            border: none !important;
            border-radius: 4px !important;
            padding: 10px 20px !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            cursor: pointer !important;
        }
        .woocommerce-cart .actions .button:hover,
        .woocommerce-cart .coupon .button:hover {
            background: #044a52 !important;
        }
        .woocommerce-cart .coupon input {
            height: 42px !important;
            border: 1.5px solid #d1d5db !important;
            border-radius: 4px !important;
            padding: 0 12px !important;
            font-size: 14px !important;
            background: #fafafa !important;
        }

        /* ===== CART TOTALS: mismo modelo que el checkout ===== */

        /* Contenedor */
        .woocommerce-cart .cart_totals {
            border: 1.5px solid #e5e7eb !important;
            border-radius: 12px !important;
            padding: 24px !important;
            background: #fff !important;
        }
        .woocommerce-cart .cart_totals h2 {
            font-size: 15px !important;
            font-weight: 700 !important;
            color: #03363d !important;
            text-transform: uppercase !important;
            letter-spacing: 0.5px !important;
            margin-bottom: 18px !important;
            padding-bottom: 12px !important;
            border-bottom: 1.5px solid #e5e7eb !important;
        }

        /* Tabla: layout fixed como checkout */
        .woocommerce-cart .cart_totals table.shop_table {
            display: table !important;
            width: 100% !important;
            table-layout: fixed !important;
            border-collapse: collapse !important;
            border: none !important;
        }
        .woocommerce-cart .cart_totals table.shop_table tr {
            display: table-row !important;
        }
        .woocommerce-cart .cart_totals table.shop_table th,
        .woocommerce-cart .cart_totals table.shop_table td {
            display: table-cell !important;
            vertical-align: middle !important;
            padding: 12px 0 !important;
            border-bottom: 1px solid #f3f4f6 !important;
        }

        /* Proporciones: 60% etiqueta, 40% valor */
        .woocommerce-cart .cart_totals table.shop_table th {
            width: 60% !important;
            text-align: left !important;
            font-size: 16px !important;
            font-weight: 600 !important;
            color: #03363d !important;
            background: transparent !important;
        }
        .woocommerce-cart .cart_totals table.shop_table td {
            width: 40% !important;
            text-align: right !important;
            font-size: 16px !important;
        }

        /* Total destacado */
        .woocommerce-cart .cart_totals .order-total th {
            font-size: 18px !important;
            font-weight: 700 !important;
            text-transform: uppercase !important;
        }
        .woocommerce-cart .cart_totals .order-total td {
            font-size: 22px !important;
            font-weight: 700 !important;
            color: #03363d !important;
        }

        /* Ocultar calculador de envío duplicado */
        .woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
            display: none !important;
        }

        /* Ocultar IVA en carrito */
        .woocommerce-cart .order-total .includes_tax,
        .woocommerce-cart .order-total small,
        .woocommerce-cart .tax-rate,
        .woocommerce-cart .tax-total {
            display: none !important;
        }

        /* Calculadora de envío */
        .woocommerce-cart .shipping-calculator-button {
            color: #03363d !important;
            font-weight: 600 !important;
            font-size: 14px !important;
        }
        .woocommerce-cart .shipping-calculator-form select,
        .woocommerce-cart .shipping-calculator-form input,
        .woocommerce-cart .shipping-calculator-form .select2-selection--single {
            height: 42px !important;
            border: 1.5px solid #d1d5db !important;
            border-radius: 4px !important;
            background: #fafafa !important;
            font-size: 14px !important;
            padding: 0 12px !important;
        }
        .woocommerce-cart .shipping-calculator-form .select2-selection__rendered {
            line-height: 42px !important;
            font-size: 14px !important;
        }
        .woocommerce-cart .shipping-calculator-form .select2-selection__arrow {
            height: 42px !important;
        }
        .woocommerce-cart .shipping-calculator-form .button {
            background: #03363d !important;
            color: #fff !important;
            border: none !important;
            border-radius: 4px !important;
            padding: 10px 20px !important;
            font-weight: 600 !important;
            width: 100% !important;
            margin-top: 8px !important;
        }

        /* Shipping methods en carrito */
        .woocommerce-cart #shipping_method li {
            padding: 8px 0 !important;
            border-bottom: 1px solid #f3f4f6 !important;
            font-size: 14px !important;
        }
        .woocommerce-cart #shipping_method li label {
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
        }

        /* Ocultar local_pickup en carrito */
        .woocommerce-cart #shipping_method li input[value*="local_pickup"],
        .woocommerce-cart #shipping_method li input[value*="local_pickup"] + label {
            display: none !important;
        }

        /* Botón ir al checkout */
        .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
            background: #03363d !important;
            color: #fff !important;
            border-radius: 8px !important;
            font-size: 16px !important;
            font-weight: 700 !important;
            padding: 14px !important;
            text-align: center !important;
            display: block !important;
            text-decoration: none !important;
        }
        .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
            background: #044a52 !important;
        }

        /* Remover enlace */
        .woocommerce-cart td.product-remove a {
            color: #e53e3e !important;
            font-size: 20px !important;
        }

        /* Mobile carrito */
        @media (max-width: 768px) {
            .woocommerce-cart table.shop_table {
                font-size: 13px !important;
            }
            .woocommerce-cart table.shop_table td {
                padding: 10px 8px !important;
            }
        }

        /* Carrito: shipping methods como cards separadas (igual que checkout) */
        .woocommerce-cart #shipping_method {
            list-style: none !important;
            padding: 0 !important;
            margin: 10px 0 !important;
        }
        .woocommerce-cart #shipping_method li {
            border: 1.5px solid #e5e7eb !important;
            border-radius: 8px !important;
            padding: 12px 16px !important;
            margin-bottom: 8px !important;
            background: #fff !important;
            transition: all 0.2s !important;
        }
        .woocommerce-cart #shipping_method li:has(input:checked),
        .woocommerce-cart #shipping_method li.active {
            border-color: #03363d !important;
            background: #f0f7f4 !important;
        }
        .woocommerce-cart #shipping_method li label {
            display: flex !important;
            align-items: center !important;
            gap: 10px !important;
            cursor: pointer !important;
            font-size: 14px !important;
            font-weight: 500 !important;
            width: 100% !important;
        }
        .woocommerce-cart #shipping_method li label img {
            max-height: 24px !important;
            width: auto !important;
        }
        .woocommerce-cart #shipping_method li input[type="radio"] {
            order: 99 !important;
            margin-left: auto !important;
        }

        /* Ocultar local_pickup en carrito (li completo) */
        .woocommerce-cart #shipping_method li:has(input[value*="local_pickup"]) {
            display: none !important;
        }

        /* Totales del carrito: más espaciado */
        /* Carrito: fila de envío ocupa ancho completo (como en checkout) */
        .woocommerce-cart .cart_totals .woocommerce-shipping-totals.shipping > th {
            display: none !important;
        }
        .woocommerce-cart .cart_totals .woocommerce-shipping-totals.shipping > td {
            width: 100% !important;
            display: table-cell !important;
            padding: 12px 0 !important;
        }
        .woocommerce-cart .cart_totals .woocommerce-shipping-totals.shipping > td::before {
            content: "Envío";
            display: block !important;
            width: 100% !important;
            font-size: 15px;
            font-weight: 700;
            color: #03363d;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 10px;
        }

        /* Carrito: mostrar calculadora de envío abierta y con estilo */
        .woocommerce-cart .shipping-calculator-form {
            display: block !important;
        }
        /* Ocultar campos innecesarios (país, ciudad, código postal) */
        .woocommerce-cart .shipping-calculator-form .form-row:not(#calc_shipping_state_field) {
            display: none !important;
        }
        .woocommerce-cart #calc_shipping_state_field {
            display: block !important;
        }
        /* Select2 en calculadora de envío del carrito */
        .woocommerce-cart .shipping-calculator-form .select2-container {
            width: 100% !important;
        }
        .woocommerce-cart .shipping-calculator-form .select2-container--default .select2-selection--single {
            height: 42px !important;
            border: 1.5px solid #d1d5db !important;
            border-radius: 4px !important;
            background: #fafafa !important;
        }
        .woocommerce-cart .shipping-calculator-form .select2-selection__rendered {
            line-height: 42px !important;
            font-size: 14px !important;
            padding-left: 12px !important;
        }
        .woocommerce-cart .shipping-calculator-form .select2-selection__arrow {
            height: 42px !important;
        }
        /* Ocultar enlace "Calcular envío" ya que el form está siempre abierto */
        .woocommerce-cart .shipping-calculator-button {
            display: none !important;
        }
        /* Botón actualizar envío */
        .woocommerce-cart .shipping-calculator-form button[name="calc_shipping"] {
            background: #03363d !important;
            color: #fff !important;
            border: none !important;
            border-radius: 4px !important;
            padding: 10px 20px !important;
            font-weight: 600 !important;
            font-size: 14px !important;
            width: 100% !important;
            margin-top: 8px !important;
            cursor: pointer !important;
            display: block !important;
        }


/* =============================================================
   CSS MIGRADO DESDE SNIPPETS #8,#9,#10,#23,#31,#32,#64,#69,#70
   Migrado: 2026-03-30
   ============================================================= */

/* --- Snippet #8: Reseñas · Carrusel en home · Pop-up en single-products --- */
.contenedor-carrusel-resenas { width: 100%; overflow: hidden; padding: 20px 0; background: transparent; position: relative; }
        .pista-carrusel-resenas { display: flex; gap: 20px; width: max-content; animation: deslizarResenas 35s linear infinite; }
        .contenedor-carrusel-resenas:hover .pista-carrusel-resenas { animation-play-state: paused; }
        
        /* Estilos actualizados para la caja-resena (ahora es un enlace) */
        .caja-resena { 
            flex: 0 0 320px; 
            background-color: #ffffff; 
            padding: 20px 25px 25px 25px; 
            border-radius: 12px; 
            box-shadow: 0 5px 15px rgba(0,0,0,0.05); 
            display: flex; 
            flex-direction: column; 
            justify-content: space-between; 
            border-left: 1px solid #eaeaea; 
            border-right: 1px solid #eaeaea; 
            border-bottom: 1px solid #eaeaea;
            text-decoration: none; /* Quitamos el subrayado típico de los links */
            color: inherit; /* Hereda el color normal del texto */
            transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transición suave para el hover */
            cursor: pointer;
        }

        /* Efecto al pasar el mouse: se levanta y la sombra crece */
        .caja-resena:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 25px rgba(0,0,0,0.1);
        }

        .cabecera-resena { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
        .estrellas-resena { font-size: 14px; }
        .etiqueta-categoria { font-size: 11px; font-weight: 700; padding: 4px 8px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.5px; }
        .texto-resena { font-size: 15px; font-style: italic; color: #4a4a4a; line-height: 1.5; margin-bottom: 15px; }
        .info-inferior-resena { display: flex; flex-direction: column; align-items: flex-start; margin-top: auto; border-top: 1px solid #f0f0f0; padding-top: 10px; }
        .autor-resena { font-size: 14px; font-weight: 700; color: #17494d; }
        .producto-resena { font-size: 12px; color: #888888; margin-top: 3px; }
        .producto-resena strong { color: #555555; }
        @keyframes deslizarResenas { 0% { transform: translateX(0); } 100% { transform: translateX(calc(-50% - 10px)); } }
/* Diseño y posición del Pop-up */
        #popup-cross-sell {
            position: fixed;
            bottom: 120px; 
            right: -450px; 
            width: 380px; 
            background-color: #ffffff;
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.15);
            z-index: 99999;
            transition: right 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
            border-left: 5px solid #17494d; 
        }

        #popup-cross-sell.mostrar {
            right: 30px; 
        }

        #cerrar-popup-cs {
            position: absolute;
            top: 2px; 
            right: 8px; 
            background: none;
            border: none;
            font-size: 24px;
            line-height: 1;
            color: #888;
            cursor: pointer;
            z-index: 10;
            padding: 5px; 
        }

        #cerrar-popup-cs:hover {
            color: #333;
        }

        .contenido-popup-cs {
            display: block;
            padding: 20px; 
            text-decoration: none;
            color: inherit;
        }

        .titulo-sugerencia {
            font-size: 13px; 
            font-weight: 700;
            color: #17494d;
            text-transform: uppercase;
            margin: 0 0 12px 0;
            letter-spacing: 0.5px;
            padding-right: 20px; 
        }

        .cuerpo-popup-cs {
            display: flex;
            gap: 15px;
            align-items: center;
        }

        .imagen-cs img {
            width: 80px; 
            height: auto;
            border-radius: 5px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }

        .info-cs {
            flex: 1;
        }

        .nombre-libro-cs {
            font-size: 15px; 
            font-weight: 700;
            color: #333;
            margin: 0 0 5px 0;
            line-height: 1.2;
        }

        .estrellas-cs {
            font-size: 12px;
            margin-bottom: 5px;
        }

        .texto-cs {
            font-size: 14px; 
            font-style: italic;
            color: #555;
            margin: 0 0 8px 0;
            line-height: 1.4;
        }

        .autor-cs {
            font-size: 12px;
            font-weight: 600;
            color: #888;
        }
        
        @media (max-width: 768px) {
            #popup-cross-sell {
                width: calc(100% - 40px);
                bottom: 15px; 
                right: -100%;
            }
            #popup-cross-sell.mostrar {
                right: 20px;
            }
            .imagen-cs img {
                width: 60px; 
            }
        }


/* --- Snippet #9: Lightbox Índice interactivo --- */
/* 1. FONDO DE PANTALLA (Ajuste de Opacidad) */
        .visor-modal {
            display: none; 
            position: fixed; 
            z-index: 99999; 
            left: 0; top: 0; 
            width: 100%; height: 100%; 
            
            /* CAMBIO: De 0.85 a 0.6 (Más transparente) */
            background-color: rgba(0,0,0,0.6); 
            backdrop-filter: blur(3px); /* Blur un poco más suave */
            
            justify-content: center;
            align-items: center;
        }

        /* 2. CAJA DEL VISOR (Ajuste de Tamaño) */
        .visor-contenido {
            position: relative;
            background-color: #000; 
            
            /* CAMBIO: Casi todo el ancho de la pantalla */
            width: 96vw; 
            max-width: 1800px; /* Permite que sea gigante en pantallas grandes */
            
            /* Mantiene formato panorámico */
            aspect-ratio: 16 / 9;
            height: auto; 
            
            /* Aprovecha toda la altura posible sin salirse */
            max-height: 96vh;
            
            box-shadow: 0 15px 50px rgba(0,0,0,0.5);
            border-radius: 4px;
            overflow: hidden;
            animation: fadeIn 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); /* Animación más elegante */
        }

        #visor-iframe { width: 100%; height: 100%; display: block; }

       /* --- BOTÓN CERRAR (CORREGIDO) --- */
        .visor-cerrar {
            position: absolute;
            /* Posición fija en la esquina de la pantalla */
            top: 20px; 
            right: 30px; 
            
            color: #fff;
            font-size: 50px; /* Tamaño grande y visible */
            font-weight: 300; /* Fino y elegante */
            line-height: 1;
            cursor: pointer;
            z-index: 100000; /* Por encima de todo */
            
            /* Transición suave para el efecto hover */
            transition: transform 0.2s ease;
            
            /* Sombra suave para asegurar contraste si el fondo es claro */
            text-shadow: 0 2px 5px rgba(0,0,0,0.5);
        }

        /* EFECTO HOVER SOLICITADO (110%) */
        .visor-cerrar:hover { 
            transform: scale(1.1); /* Agranda un 10% */
            color: #fff; 
        }
        
        @keyframes fadeIn {
            from { opacity: 0; transform: scale(0.92); }
            to { opacity: 1; transform: scale(1); }
        }

       /* Estilo Links */
        .link-capitulo {
            display: inline-block; /* <--- ESTO ES LA CLAVE */
            color: #17494d;
            text-decoration: none;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.2s ease;
        }
        
        .link-capitulo:hover {
            color: #17494d; /* O el color que prefieras al pasar el mouse */
            transform: scale(1.1); /* Ahora sí funcionará */
        }

        /* MÓVILES (Pantallas verticales) */
        @media (max-width: 768px) {
            .visor-contenido {
                width: 100vw; /* Ancho total en celular */
                max-width: none;
                aspect-ratio: auto; 
                height: 70vh; /* Altura fija cómoda */
                border-radius: 0; /* Sin bordes redondeados en móvil */
            }
            .visor-cerrar {
                top: 10px; 
                right: 10px;
                color: #000; 
                background: rgba(255,255,255,0.9);
                border-radius: 50%;
                width: 36px; height: 36px;
                display: flex; align-items: center; justify-content: center;
                font-size: 24px;
                box-shadow: 0 2px 10px rgba(0,0,0,0.2);
            }
        }


/* --- Snippet #10: Barra de seguimiento --- */
.tracking-container-wrapper.minimal-theme { max-width: 800px; margin: 20px auto 50px auto; padding: 0 10px; font-family: 'Source Sans 3', sans-serif; }
        .order-summary-minimal { text-align: center; margin-bottom: 40px; color: #555; font-size: 15px; }
        .order-summary-minimal .separator { margin: 0 10px; color: #ddd; }
        .order-summary-minimal .status-badge { background: #03363d; color: white; padding: 4px 12px; border-radius: 12px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
        .tracking-list { display: flex; justify-content: space-between; position: relative; width: 100%; }
        .tracking-item { display: flex; flex-direction: column; align-items: center; position: relative; flex: 1; }
        .tracking-item:not(:last-child)::after { content: ''; position: absolute; top: 25px; left: 50%; width: 100%; height: 3px; background-color: #e9ecef; z-index: -1; }
        .tracking-item.is-completed::after { background-color: #03363d; }
        .tracking-icon { width: 50px; height: 50px; border-radius: 50%; background-color: white; border: 2px solid #e9ecef; display: flex; align-items: center; justify-content: center; color: #adb5bd; transition: all 0.3s ease; z-index: 1; }
        .tracking-icon svg { width: 22px; height: 22px; stroke-width: 2px; }
        .tracking-label-wrapper { margin-top: 10px; display: flex; flex-direction: column; align-items: center; }
        .tracking-label { font-size: 13px; color: #adb5bd; font-weight: 500; text-align: center; line-height: 1.2; }
        .tracking-date { font-size: 11px; color: #999; margin-top: 4px; font-weight: 400; text-align: center; line-height: 1.3; }
        .tracking-time { font-size: 0.9em; opacity: 0.75; font-weight: 400; }
        .tracking-item.is-completed .tracking-icon { background-color: #03363d; border-color: #03363d; color: white; }
        .tracking-item.is-completed .tracking-label, .tracking-item.is-completed .tracking-date { color: #03363d; }
        .tracking-item.is-active .tracking-icon { background-color: #03363d; border-color: #03363d; color: white; box-shadow: 0 0 0 5px rgba(3, 54, 61, 0.15); transform: scale(1.1); }
        .tracking-item.is-active .tracking-label { color: #03363d; font-weight: 800; }
        .tracking-item.is-active .tracking-date { color: #03363d; font-weight: 600; }
        @media (max-width: 768px) {
            .tracking-item:not(:last-child)::after { top: 20px; height: 2px; }
            .tracking-icon { width: 40px; height: 40px; }
            .tracking-icon svg { width: 18px; height: 18px; }
            .tracking-label { font-size: 11px; }
            .tracking-date { font-size: 10px; margin-top: 3px; }
            .tracking-time { font-size: 0.85em; }
        }


/* --- Snippet #23: ACTUALIZAR CARRITO AUTOMATICAMENTE --- */
/* Esto oculta el botón de actualizar */
            button[name="update_cart"] { display: none !important; }


/* --- Snippet #31: SHORTCODE VER ENTRADAS BLOG --- */
.boton-moraleja-blog {
                    background-color: #03363d; 
                    color: white !important;
                    padding: 12px 25px;
               
                    font-weight: 800;
                    text-transform: uppercase;
                    text-decoration: none;
                    transition: all 0.3s ease;
                    display: inline-block;
                    border: 2px solid #ff677e;
                }
                .boton-moraleja-blog:hover {
                    background-color: white;
                    color: #ff677e !important;
                }


/* --- Snippet #32: Mensaje pago exitoso --- */
/* --- Reset: reducir espacio y ocultar defaults --- */
        .woocommerce-order-received .entry-content,
        .woocommerce-order-received .site-main,
        .woocommerce-order-received article .entry-content {
            padding-top: 5px !important;
            margin-top: 0 !important;
        }
        .woocommerce-order-received .page-title,
        .woocommerce-order-received .entry-title,
        .woocommerce-order-received .woocommerce-order-overview,
        .woocommerce-order-received .woocommerce-thankyou-order-received,
        .woocommerce-order-received .woocommerce-order-details,
        .woocommerce-order-received .woocommerce-customer-details,
        .woocommerce-order-received .woocommerce-table--order-details,
        .woocommerce-order-received .shop_table.order_details,
        .woocommerce-order-received .woocommerce-column--billing-address,
        .woocommerce-order-received .woocommerce-column--shipping-address,
        .woocommerce-order-received section.woocommerce-order-details,
        .woocommerce-order-received h2:not(.mrlj-ty h2):not(.mrlj-ty-card-title) {
            display: none !important;
        }

        /* --- Base --- */
        .mrlj-ty {
            max-width: 640px;
            margin: 0 auto 40px;
            font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
            color: #1a1a1a;
        }

        /* --- Header: confirmación --- */
        .mrlj-ty-header {
            text-align: center;
            padding: 20px 16px 24px;
        }
        .mrlj-ty-header h1 {
            font-size: 28px;
            font-weight: 800;
            color: #03363d;
            margin: 0 0 6px;
            letter-spacing: -0.5px;
        }
        .mrlj-ty-ordnum {
            font-size: 15px;
            color: #666;
            margin: 0 0 10px;
        }
        .mrlj-ty-ordnum span {
            font-size: 24px;
            font-weight: 800;
            color: #03363d;
        }
        .mrlj-ty-gracias {
            font-size: 17px;
            color: #555;
            margin: 0 0 4px;
        }
        .mrlj-ty-email-confirm {
            font-size: 16px;
            color: #555;
            margin: 0;
        }

        /* --- Card: Notas finales --- */
        .mrlj-ty-notas {
            padding: 20px;
            background: #f8fafb;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            margin-bottom: 16px;
        }
        .mrlj-ty-notas-title {
            font-size: 15px;
            font-weight: 700;
            color: #03363d;
            margin: 0 0 12px;
        }
        .mrlj-ty-notas ol {
            margin: 0;
            padding-left: 20px;
        }
        .mrlj-ty-notas li {
            font-size: 14px;
            color: #444;
            line-height: 1.6;
            margin-bottom: 10px;
        }
        .mrlj-ty-notas li:last-child {
            margin-bottom: 0;
        }

        /* --- Cards genéricas --- */
        .mrlj-ty-card {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            overflow: hidden;
            margin-bottom: 16px;
        }
        .mrlj-ty-card-title {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 13px 20px;
            background: #03363d;
            color: #fff;
            font-size: 15px;
            font-weight: 700;
            margin: 0;
        }
        .mrlj-ty-card-title svg {
            flex-shrink: 0;
            width: 20px;
            height: 20px;
        }
        .mrlj-ty-card-body {
            padding: 20px;
        }

        /* --- Card: Datos cliente --- */
        .mrlj-ty-datos {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px 20px;
        }
        .mrlj-ty-datos dt {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.6px;
            color: #999;
            font-weight: 600;
            margin: 0 0 2px;
        }
        .mrlj-ty-datos dd {
            font-size: 15px;
            color: #222;
            margin: 0;
            font-weight: 500;
        }

        /* --- Card: Envío domicilio (misma estética que Tus datos) --- */
        .mrlj-ty-dir-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px 20px;
            margin-bottom: 16px;
        }
        .mrlj-ty-dir-label {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.6px;
            color: #999;
            font-weight: 600;
            margin: 0 0 2px;
        }
        .mrlj-ty-dir-value {
            font-size: 15px;
            color: #222;
            font-weight: 500;
            margin: 0;
        }
        .mrlj-ty-mapa {
            border-radius: 8px;
            overflow: hidden;
            border: 1px solid #e5e7eb;
            margin-top: 4px;
        }
        .mrlj-ty-mapa iframe {
            display: block;
            width: 100%;
            height: 180px;
            border: 0;
        }

        /* --- Card: Retiro --- */
        .mrlj-ty-retiro-msg {
            display: flex;
            gap: 12px;
            align-items: flex-start;
            padding: 16px;
            background: #fef9ec;
            border: 1px solid #f5e6b8;
            border-radius: 8px;
            font-size: 14px;
            line-height: 1.5;
            color: #5a4a1e;
        }
        .mrlj-ty-retiro-msg .mrlj-ty-retiro-icon {
            font-size: 22px;
            flex-shrink: 0;
            line-height: 1;
        }

        /* --- Card: Detalle pedido --- */
        .mrlj-ty-items {
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .mrlj-ty-item {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 12px 0;
            border-bottom: 1px solid #f0f0f0;
        }
        .mrlj-ty-item:last-child {
            border-bottom: none;
        }
        .mrlj-ty-item-img {
            width: 56px;
            height: 72px;
            object-fit: cover;
            border-radius: 6px;
            border: 1px solid #eee;
            flex-shrink: 0;
            background: #f8f8f8;
        }
        .mrlj-ty-item-info {
            flex: 1;
            min-width: 0;
        }
        .mrlj-ty-item-name {
            font-size: 14px;
            font-weight: 600;
            color: #222;
            margin: 0 0 2px;
        }
        .mrlj-ty-item-qty {
            font-size: 13px;
            color: #888;
        }
        .mrlj-ty-item-price {
            font-size: 15px;
            font-weight: 700;
            color: #03363d;
            white-space: nowrap;
        }
        .mrlj-ty-totals {
            margin-top: 12px;
            padding-top: 12px;
            border-top: 2px solid #e5e7eb;
        }
        .mrlj-ty-total-row {
            display: flex;
            justify-content: space-between;
            padding: 4px 0;
            font-size: 14px;
            color: #555;
        }
        .mrlj-ty-total-row.mrlj-ty-total-final {
            font-size: 18px;
            font-weight: 800;
            color: #03363d;
            padding-top: 8px;
        }
        .mrlj-ty-pago {
            margin-top: 10px;
            padding-top: 10px;
            border-top: 1px solid #f0f0f0;
            font-size: 13px;
            color: #888;
            text-align: right;
        }

        /* --- Tracking bar (snippet #10) ajustes --- */
        .tracking-container-wrapper.minimal-theme {
            max-width: 640px;
            margin: 8px auto 30px;
        }

        /* --- Responsive --- */
        @media (max-width: 640px) {
            .mrlj-ty { padding: 0 10px; }
            .mrlj-ty-header h1 { font-size: 24px; }
            .mrlj-ty-ordnum span { font-size: 20px; }
            .mrlj-ty-datos,
            .mrlj-ty-dir-grid { grid-template-columns: 1fr; }
            .mrlj-ty-card-body { padding: 16px; }
            .mrlj-ty-item-img { width: 48px; height: 62px; }
        }


/* --- Snippet #64: Mi Cuenta - Rediseño Moraleja --- */
/* ========== VARIABLES ========== */
        :root {
            --mrlj-primary: #03363d;
            --mrlj-primary-light: #0a6c5c;
            --mrlj-bg: #f7f8fa;
            --mrlj-card-bg: #fff;
            --mrlj-border: #e5e7eb;
            --mrlj-text: #1a1a1a;
            --mrlj-text-secondary: #666;
            --mrlj-text-muted: #999;
            --mrlj-radius: 10px;
            --mrlj-font: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
        }

        /* ========== LAYOUT GENERAL ========== */
        .woocommerce-account .entry-content,
        .woocommerce-account .hentry .entry-content {
            padding-top: 10px !important;
        }
        .woocommerce-account .entry-title,
        .woocommerce-account .page-title {
            display: none !important;
        }
        .woocommerce-account .woocommerce {
            font-family: var(--mrlj-font) !important;
        }

        /* ========== NAVEGACIÓN LATERAL — fix alineación Bookory ========== */
        .hentry .entry-content .woocommerce-MyAccount-navigation {
            background: var(--mrlj-card-bg) !important;
            border: 1px solid var(--mrlj-border) !important;
            border-radius: var(--mrlj-radius) !important;
            overflow: hidden !important;
            padding: 8px 0 !important;
        }
        .hentry .entry-content .woocommerce-MyAccount-navigation ul {
            margin: 0 !important;
            padding: 0 !important;
            border-top: none !important;
        }
        .hentry .entry-content .woocommerce-MyAccount-navigation ul li {
            border-bottom: none !important;
            margin: 0 !important;
        }
        .hentry .entry-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link a {
            display: flex !important;
            align-items: center !important;
            gap: 10px !important;
            padding: 12px 20px !important;
            font-size: 14px !important;
            font-weight: 500 !important;
            color: var(--mrlj-text-secondary) !important;
            text-decoration: none !important;
            transition: all 0.2s !important;
            white-space: nowrap !important;
            border-left: 3px solid transparent !important;
            flex-direction: row !important;
            text-align: left !important;
        }
        /* Asegurar que iconos SVG de Bookory estén bien alineados */
        .hentry .entry-content .woocommerce-MyAccount-navigation ul li a i,
        .hentry .entry-content .woocommerce-MyAccount-navigation ul li a svg {
            width: 20px !important;
            height: 20px !important;
            flex-shrink: 0 !important;
            vertical-align: middle !important;
            position: static !important;
            margin: 0 !important;
        }
        .hentry .entry-content .woocommerce-MyAccount-navigation ul li a:hover {
            color: var(--mrlj-primary) !important;
            background: #f0f7f4 !important;
            border-left-color: var(--mrlj-primary) !important;
        }
        .hentry .entry-content .woocommerce-MyAccount-navigation ul li.is-active a {
            color: var(--mrlj-primary) !important;
            background: #f0f7f4 !important;
            border-left-color: var(--mrlj-primary) !important;
            font-weight: 700 !important;
        }

        /* ========== CONTENIDO PRINCIPAL ========== */

        /* ========== DASHBOARD ========== */
        .woocommerce-MyAccount-content > p:first-child {
            background: var(--mrlj-card-bg);
            border: 1px solid var(--mrlj-border);
            border-radius: var(--mrlj-radius);
            padding: 24px;
            font-size: 15px;
            color: var(--mrlj-text-secondary);
            line-height: 1.6;
        }
        .woocommerce-MyAccount-content > p:first-child strong {
            color: var(--mrlj-primary);
        }

        /* ========== TABLA DE PEDIDOS ========== */
        .woocommerce-orders-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0;
            background: var(--mrlj-card-bg);
            border: 1px solid var(--mrlj-border);
            border-radius: var(--mrlj-radius);
            overflow: hidden;
            font-size: 14px;
        }
        .woocommerce-orders-table thead {
            background: var(--mrlj-primary);
        }
        .woocommerce-orders-table thead th {
            color: #fff !important;
            font-weight: 600;
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            padding: 14px 16px;
            border: none;
        }
        .woocommerce-orders-table tbody tr {
            transition: background 0.15s;
        }
        .woocommerce-orders-table tbody tr:hover {
            background: #f8fafb;
        }
        .woocommerce-orders-table tbody td {
            padding: 16px;
            border-bottom: 1px solid #f0f0f0;
            vertical-align: middle;
            color: var(--mrlj-text);
        }
        .woocommerce-orders-table tbody tr:last-child td {
            border-bottom: none;
        }
        .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
            font-weight: 700;
            color: var(--mrlj-primary);
            text-decoration: none;
        }
        .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
            text-decoration: underline;
        }
        .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
            font-weight: 600;
            font-size: 13px;
        }
        .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button {
            background: var(--mrlj-primary) !important;
            color: #fff !important;
            border: none !important;
            border-radius: 6px !important;
            padding: 8px 16px !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            text-decoration: none;
            transition: background 0.2s;
        }
        .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button:hover {
            background: var(--mrlj-primary-light) !important;
        }

        /* ========== VIEW ORDER (detalle de pedido) ========== */
        /* Párrafo intro "El pedido #XXXX se realizó..." */
        .woocommerce-account .woocommerce-MyAccount-content > p:first-of-type mark {
            background: none !important;
            color: inherit !important;
        }

        /* Encabezados de secciones */
        .woocommerce-account .woocommerce-order-details > h2,
        .woocommerce-account .woocommerce-customer-details > h2,
        .woocommerce-account .woocommerce-column__title {
            font-family: var(--mrlj-font) !important;
            font-size: 15px !important;
            font-weight: 700 !important;
            color: #fff !important;
            background: var(--mrlj-primary) !important;
            padding: 13px 20px !important;
            margin: 0 !important;
            border-radius: var(--mrlj-radius) var(--mrlj-radius) 0 0 !important;
        }

        /* Tabla de productos en view-order */
        .woocommerce-account .shop_table.order_details {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0;
            background: var(--mrlj-card-bg);
            border: 1px solid var(--mrlj-border);
            border-radius: 0 0 var(--mrlj-radius) var(--mrlj-radius);
            overflow: hidden;
            margin-bottom: 24px !important;
            font-size: 14px;
        }
        /* Thead: fix texto duplicado (Bookory ::before + WC text) */
        .woocommerce-account .shop_table.order_details thead {
            background: #f8fafb !important;
        }
        .woocommerce-account .shop_table.order_details thead th {
            font-size: 0 !important;
            padding: 10px 16px !important;
            border-bottom: 1px solid var(--mrlj-border) !important;
        }
        .woocommerce-account .shop_table.order_details thead th::before {
            font-size: 11px !important;
            text-transform: uppercase !important;
            letter-spacing: 0.5px !important;
            color: var(--mrlj-text-muted) !important;
            font-weight: 600 !important;
        }
        .woocommerce-account .shop_table.order_details thead th.product-name { font-size: 0 !important; }
        .woocommerce-account .shop_table.order_details thead th.product-name::before { content: 'Producto' !important; font-size: 11px !important; }
        .woocommerce-account .shop_table.order_details thead th.product-total { font-size: 0 !important; text-align: right !important; }
        .woocommerce-account .shop_table.order_details thead th.product-total::before { content: 'Subtotal' !important; font-size: 11px !important; }

        /* Tbody: productos */
        .woocommerce-account .shop_table.order_details tbody td {
            padding: 14px 16px !important;
            border-bottom: 1px solid #f0f0f0 !important;
            vertical-align: middle !important;
        }
        .woocommerce-account .shop_table.order_details tbody td.product-name {
            font-weight: 600 !important;
            font-size: 14px !important;
            color: var(--mrlj-text) !important;
        }
        .woocommerce-account .shop_table.order_details tbody td.product-name a {
            color: var(--mrlj-primary) !important;
            text-decoration: none !important;
        }
        .woocommerce-account .shop_table.order_details tbody td.product-name .product-quantity {
            color: var(--mrlj-text-muted) !important;
            font-weight: 400 !important;
            font-size: 13px !important;
        }
        .woocommerce-account .shop_table.order_details tbody td.product-total {
            font-size: 14px !important;
            font-weight: 500 !important;
            color: var(--mrlj-text) !important;
            text-align: right !important;
        }

        /* Tfoot: jerarquía Subtotal < Envío < Total >> Medio de pago */
        .woocommerce-account .shop_table.order_details tfoot th,
        .woocommerce-account .shop_table.order_details tfoot td {
            padding: 8px 16px !important;
            border-top: 1px solid #f0f0f0 !important;
            font-size: 13px !important;
            font-weight: 400 !important;
            color: var(--mrlj-text-secondary) !important;
        }
        .woocommerce-account .shop_table.order_details tfoot td {
            text-align: right !important;
        }
        /* Montos de subtotal y envío: discretos */
        .woocommerce-account .shop_table.order_details tfoot td .woocommerce-Price-amount,
        .woocommerce-account .shop_table.order_details tfoot td .amount {
            font-size: 13px !important;
            font-weight: 500 !important;
            color: var(--mrlj-text-secondary) !important;
        }
        /* Total — prominente */
        .woocommerce-account .shop_table.order_details tfoot .order-total th,
        .woocommerce-account .shop_table.order_details tfoot .order-total td {
            font-size: 16px !important;
            font-weight: 800 !important;
            color: var(--mrlj-primary) !important;
            border-top: 2px solid var(--mrlj-border) !important;
            padding: 12px 16px !important;
        }
        .woocommerce-account .shop_table.order_details tfoot .order-total td .woocommerce-Price-amount,
        .woocommerce-account .shop_table.order_details tfoot .order-total td .amount {
            font-size: 16px !important;
            font-weight: 800 !important;
            color: var(--mrlj-primary) !important;
        }
        /* Medio de pago — el más discreto */
        .woocommerce-account .shop_table.order_details tfoot tr:last-child th,
        .woocommerce-account .shop_table.order_details tfoot tr:last-child td {
            font-size: 12px !important;
            font-weight: 400 !important;
            color: var(--mrlj-text-muted) !important;
            border-top: 1px solid #f0f0f0 !important;
            padding: 6px 16px 10px !important;
        }

        /* ========== DIRECCIONES (view-order + edit-address) ========== */
        .woocommerce-account .woocommerce-customer-details {
            margin-top: 0;
        }
        .woocommerce-account .woocommerce-columns--addresses {
            display: grid !important;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
        }
        /* Envío primero, facturación segundo */
        .woocommerce-account .woocommerce-column--shipping-address {
            order: 1 !important;
        }
        .woocommerce-account .woocommerce-column--billing-address {
            order: 2 !important;
        }
        .woocommerce-account .woocommerce-column--shipping-address,
        .woocommerce-account .woocommerce-column--billing-address {
            background: var(--mrlj-card-bg);
            border: 1px solid var(--mrlj-border);
            border-radius: var(--mrlj-radius);
            overflow: hidden;
            margin: 0 !important;
            padding: 0 !important;
        }
        .woocommerce-account .woocommerce-column--shipping-address address,
        .woocommerce-account .woocommerce-column--billing-address address {
            padding: 20px;
            font-size: 14px;
            line-height: 1.7;
            color: var(--mrlj-text-secondary);
            font-style: normal;
        }

        /* Edit address page */
        .woocommerce-account .woocommerce-address-fields .form-row {
            margin-bottom: 16px;
        }
        .woocommerce-account .woocommerce-address-fields label {
            font-size: 13px;
            font-weight: 600;
            color: var(--mrlj-text);
            margin-bottom: 4px;
            display: block;
        }
        .woocommerce-account .woocommerce-address-fields input.input-text,
        .woocommerce-account .woocommerce-address-fields select {
            width: 100%;
            padding: 10px 14px;
            border: 1px solid var(--mrlj-border);
            border-radius: 6px;
            font-size: 14px;
            font-family: var(--mrlj-font);
            transition: border-color 0.2s;
        }
        .woocommerce-account .woocommerce-address-fields input.input-text:focus,
        .woocommerce-account .woocommerce-address-fields select:focus {
            border-color: var(--mrlj-primary);
            outline: none;
            box-shadow: 0 0 0 3px rgba(3, 54, 61, 0.1);
        }
        .woocommerce-account .woocommerce-address-fields button[type="submit"] {
            background: var(--mrlj-primary) !important;
            color: #fff !important;
            border: none !important;
            border-radius: 8px !important;
            padding: 12px 32px !important;
            font-size: 15px !important;
            font-weight: 700 !important;
            cursor: pointer;
            transition: background 0.2s;
        }
        .woocommerce-account .woocommerce-address-fields button[type="submit"]:hover {
            background: var(--mrlj-primary-light) !important;
        }

        /* Edit address cards grid */
        .woocommerce-account .u-columns {
            display: grid !important;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
        }
        .woocommerce-account .u-columns .woocommerce-Address {
            background: var(--mrlj-card-bg);
            border: 1px solid var(--mrlj-border);
            border-radius: var(--mrlj-radius);
            overflow: hidden;
        }
        .woocommerce-account .u-columns .woocommerce-Address-title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: var(--mrlj-primary);
            padding: 13px 20px;
        }
        .woocommerce-account .u-columns .woocommerce-Address-title h3 {
            color: #fff !important;
            font-size: 15px !important;
            font-weight: 700 !important;
            margin: 0 !important;
        }
        .woocommerce-account .u-columns .woocommerce-Address-title a {
            color: #fff !important;
            font-size: 13px;
            opacity: 0.85;
        }
        .woocommerce-account .u-columns .woocommerce-Address-title a:hover {
            opacity: 1;
        }
        .woocommerce-account .u-columns .woocommerce-Address address {
            padding: 20px;
            font-style: normal;
            font-size: 14px;
            line-height: 1.7;
            color: var(--mrlj-text-secondary);
        }

        /* ========== EDIT ACCOUNT ========== */
        .woocommerce-account .woocommerce-EditAccountForm {
            background: var(--mrlj-card-bg);
            border: 1px solid var(--mrlj-border);
            border-radius: var(--mrlj-radius);
            padding: 24px;
        }
        .woocommerce-account .woocommerce-EditAccountForm .form-row {
            margin-bottom: 16px;
        }
        .woocommerce-account .woocommerce-EditAccountForm label {
            font-size: 13px;
            font-weight: 600;
            color: var(--mrlj-text);
        }
        .woocommerce-account .woocommerce-EditAccountForm input.input-text {
            width: 100%;
            padding: 10px 14px;
            border: 1px solid var(--mrlj-border);
            border-radius: 6px;
            font-size: 14px;
            font-family: var(--mrlj-font);
        }
        .woocommerce-account .woocommerce-EditAccountForm button[type="submit"] {
            background: var(--mrlj-primary) !important;
            color: #fff !important;
            border: none !important;
            border-radius: 8px !important;
            padding: 12px 32px !important;
            font-size: 15px !important;
            font-weight: 700 !important;
        }

        /* ========== TRACKING BAR AJUSTES ========== */
        .woocommerce-account .tracking-container-wrapper.minimal-theme {
            max-width: 100%;
            margin: 0 0 24px;
        }

        /* ========== RESPONSIVE ========== */
        @media (max-width: 768px) {
            .woocommerce-MyAccount-navigation ul {
                flex-direction: column;
            }
            .woocommerce-MyAccount-navigation ul li a {
                padding: 12px 16px;
                border-bottom: none;
                border-left: 3px solid transparent;
            }
            .woocommerce-MyAccount-navigation ul li.is-active a {
                border-bottom: none;
                border-left-color: var(--mrlj-primary);
            }
            .woocommerce-account .woocommerce-columns--addresses,
            .woocommerce-account .u-columns {
                grid-template-columns: 1fr !important;
            }
            .woocommerce-orders-table thead {
                display: none;
            }
            .woocommerce-orders-table tbody tr {
                display: block;
                padding: 16px;
                border-bottom: 1px solid var(--mrlj-border);
            }
            .woocommerce-orders-table tbody td {
                display: flex;
                justify-content: space-between;
                padding: 6px 0;
                border: none;
            }
            .woocommerce-orders-table tbody td::before {
                content: attr(data-title);
                font-weight: 600;
                color: var(--mrlj-text-muted);
                font-size: 12px;
                text-transform: uppercase;
            }
        }


/* --- Snippet #69: 43-E: Mapa + Precios + Footer --- */
.moraleja-global-footer {
            background: #17494D;
            color: #c8cdd3;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            font-size: 14px;
            line-height: 1.7;
            margin-top: 0;
        }
        .moraleja-footer-main {
            padding: 50px 0 30px;
        }
        .moraleja-footer-inner {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 30px;
            display: grid;
            grid-template-columns: 1.5fr 1fr 1fr 1fr;
            gap: 40px;
        }
        .moraleja-footer-logo {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 28px;
            font-weight: 700;
            color: #fff;
            letter-spacing: 3px;
            margin-bottom: 16px;
        }
        .moraleja-footer-desc {
            color: #8e97a3;
            margin-bottom: 12px;
            font-size: 13.5px;
        }
        .moraleja-footer-contact-info {
            margin-bottom: 16px;
            font-size: 13.5px;
        }
        .moraleja-footer-contact-info a {
            color: #c8cdd3;
            text-decoration: none;
        }
        .moraleja-footer-contact-info a:hover {
            color: #fff;
        }
        .moraleja-footer-social {
            display: flex;
            gap: 12px;
        }
        .moraleja-footer-social a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: rgba(255,255,255,0.08);
            color: #c8cdd3;
            transition: all 0.2s ease;
            text-decoration: none;
        }
        .moraleja-footer-social a:hover {
            background: rgba(255,255,255,0.18);
            color: #fff;
            transform: translateY(-2px);
        }
        .moraleja-global-footer h4 {
            color: #fff;
            font-size: 15px;
            font-weight: 600;
            margin: 0 0 18px 0;
            text-transform: uppercase;
            letter-spacing: 0.8px;
        }
        .moraleja-global-footer ul {
            list-style: none !important;
            padding: 0 !important;
            margin: 0 !important;
        }
        .moraleja-global-footer ul li {
            padding: 0 !important;
            margin: 0 0 10px 0 !important;
            list-style-type: none !important;
        }
        .moraleja-global-footer ul li::before,
        .moraleja-global-footer ul li::marker {
            display: none !important;
            content: "" !important;
        }
        .moraleja-global-footer ul li a {
            color: #8e97a3;
            text-decoration: none;
            transition: color 0.2s ease;
            font-size: 14px;
        }
        .moraleja-global-footer ul li a:hover {
            color: #fff;
        }
        .moraleja-footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.08);
            padding: 20px 0;
            text-align: center;
        }
        .moraleja-footer-bottom .moraleja-footer-bottom-inner {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 30px;
        }
        .moraleja-footer-bottom span {
            color: #6b7280;
            font-size: 13px;
        }
        @media (max-width: 768px) {
            .moraleja-footer-inner {
                grid-template-columns: 1fr 1fr;
                gap: 30px;
            }
            .moraleja-footer-brand {
                grid-column: 1 / -1;
                text-align: center;
            }
            .moraleja-footer-social {
                justify-content: center;
            }
        }
        @media (max-width: 480px) {
            .moraleja-footer-inner {
                grid-template-columns: 1fr;
                gap: 25px;
                text-align: center;
            }
            .moraleja-footer-social {
                justify-content: center;
            }
        }


/* --- Snippet #70: Carrito — Toggle envío/retiro (clonado de checkout) --- */
/* Toggle tabs */
        .moraleja-cart-section-title {
            font-size: 15px;
            font-weight: 700;
            color: #03363d;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 12px;
        }
        .moraleja-cart-toggle-tabs {
            display: flex;
            gap: 10px;
            margin-bottom: 16px;
        }
        .moraleja-cart-tab {
            flex: 1;
            text-align: center;
            padding: 14px 12px;
            border: 2px solid #03363d;
            border-radius: 8px;
            cursor: pointer;
            font-weight: 700;
            font-size: 14px;
            background: #fff;
            color: #03363d;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }
        .moraleja-cart-tab:hover {
            background: #f0f7f4;
        }
        .moraleja-cart-tab.active {
            background: #03363d;
            color: #fff;
        }
        .moraleja-cart-tab.active svg {
            stroke: #fff;
        }

        /* Card retiro */
        .moraleja-cart-retiro-card {
            display: flex;
            gap: 14px;
            padding: 16px;
            background: #f0f7f4;
            border-radius: 8px;
            border-left: 4px solid #03363d;
            font-size: 14px;
            line-height: 1.6;
            margin-bottom: 16px;
        }
        .moraleja-cart-retiro-icon {
            flex-shrink: 0;
            padding-top: 2px;
        }
        .moraleja-cart-retiro-note {
            color: #666;
            font-size: 13px;
        }

        /* Ocultar shipping completo en modo retiro */
        body.moraleja-cart-modo-retiro .woocommerce-cart .cart_totals .shipping td #shipping_method {
            display: none !important;
        }
        body.moraleja-cart-modo-retiro .woocommerce-cart .shipping-calculator-form {
            display: none !important;
        }
        body.moraleja-cart-modo-retiro .woocommerce-cart .shipping-calculator-button {
            display: none !important;
        }

        /* Sección "Método de Envío" — posicionamiento */
        #moraleja-cart-metodo-envio {
            margin-bottom: 16px;
        }

        /* Mobile */
        @media (max-width: 480px) {
            .moraleja-cart-toggle-tabs {
                flex-direction: column;
                gap: 8px;
            }
        }

/* FIX: Shipping row ancho completo - evitar flash (migrado desde style.css) */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals,
.woocommerce-checkout-review-order-table tr.shipping {
    display: table-row !important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table .shipping th {
    display: none !important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td,
.woocommerce-checkout-review-order-table .shipping td {
    display: table-cell !important;
    width: auto !important;
    padding: 12px 0 !important;
}






