/*
Theme Name: Cataros
Theme URI: https://cataros.com
Author: Antigravity
Author URI: https://google.com
Description: Un tema premium, místico y minimalista para la tienda Cataros de Tarots y Oráculos. Colores: Dorado (#cda333), Blanco (#ffffff), Negro (#010202), Gris (#7f7f7f).
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: cataros
*/

:root {
    --gold: #cda333;
    --black: #010202;
    --gray: #7f7f7f;
    --white: #ffffff;
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--black);
    background-color: var(--white);
    margin: 0;
    padding: 0;
    -webkit-tap-highlight-color: transparent; /* QA: previene recuadros grises en dispositivos táctiles */
}


/* ============================================================
   HEADER — Layout explícito (resistente a conflictos WooCommerce)
   ============================================================ */

.header-main-bar {
    display: flex;
    align-items: center;
    height: 64px;
    padding-left: 1rem;
    padding-right: 1rem;
}

.header-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: auto;
    min-width: 0; /* el contenedor toma solo el ancho del logo, sin espacio extra */
    order: 1;
}

.header-logo a {
    display: block;
    line-height: 0; /* elimina espacio extra bajo la imagen */
}

.header-logo img,
.header-logo picture {
    display: block;
    height: 40px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
}

/* 👤 Menú de Cuenta (Dropdown) */
.header-account-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.account-menu-dropdown {
    position: absolute;
    top: calc(100% + 15px);
    right: -10px;
    width: 220px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
    margin: 0;
    padding: 1.25rem 0;
    list-style: none;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    pointer-events: none;
    border-radius: 4px;
}

.account-menu-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* Triángulo decorativo eliminado por solicitud de usuario */

.account-menu-user-name {
    padding: 0 1.5rem 0.75rem;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #cda333; /* gold */
    border-bottom: 1px solid rgba(0,0,0,0.04);
    margin-bottom: 0.75rem;
    opacity: 0.8;
}

.account-menu-dropdown__link {
    display: block;
    padding: 0.65rem 1.5rem;
    font-size: 0.85rem;
    color: #374151; /* gray-700 */
    text-decoration: none;
    transition: all 0.25s ease;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
}

.account-menu-dropdown__link:hover {
    background: rgba(205, 163, 51, 0.03); /* Dorado extremadamente sutil */
    color: #cda333;
    /* Eliminado padding-left extra para una animación más elegante y tranquila */
}

.account-menu-dropdown__sep {
    height: 1px;
    background: rgba(0,0,0,0.05);
    margin: 0.75rem 0;
}

.account-menu-dropdown__link--logout {
    color: #dc2626; /* red-600 */
}

.account-menu-dropdown__link--logout:hover {
    background: #fef2f2;
    color: #b91c1c;
}

.header-hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: #ffffff;
    padding: 0.5rem;
    order: 2;
}

.header-spacer {
    flex: 1;
    order: 3;
}

.header-icons {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
    order: 4;
}

/* Fixes Visuales Finales a Medida */

/* Optmización Responsive: Finalizar Compra (Tabletas/Móvil) */
@media screen and (max-width: 834px) {
    /* Ocultar precio y badge de ahorro en el resumen del carrito de bloques que rompen el layout */
    .woocommerce-checkout .wc-block-components-product-price__value,
    .woocommerce-checkout .wc-block-components-product-badge.wc-block-components-sale-badge {
        display: none !important;
    }
}

/* Optimizando área de contenido en Mi Cuenta para móviles */
@media screen and (max-width: 480px) {
    /* Eliminamos el padding lateral del contenedor para ganar espacio real */
    .woocommerce-MyAccount-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* Aseguramos que la alerta use el ancho total disponible */
    .woocommerce-MyAccount-content .woocommerce-info,
    .woocommerce-MyAccount-content .woocommerce-error,
    .woocommerce-MyAccount-content .woocommerce-message {
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 0 !important; /* Estilo edge-to-edge más limpio */
    }
}

.cataros-line-clamp-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (max-width: 767px) {
    .hero-mobile-safe {
        padding-bottom: 5rem !important;
    }
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

.text-gold { color: var(--gold); }
.bg-gold { background-color: var(--gold); }
.bg-black { background-color: var(--black); }
/* Hero Carousel & Ken Burns Effect */
.hero-carousel-item {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

.hero-carousel-item.active {
    opacity: 1;
}

.ken-burns {
    animation: kenburns 20s ease-out infinite alternate;
}

@keyframes kenburns {
    0% { transform: scale(1) translate(0, 0); }
    100% { transform: scale(1.15) translate(-1%, -1%); }
}


.hero-overlay {
    background: linear-gradient(to bottom, rgba(1, 2, 2, 0.45), rgba(1, 2, 2, 0.75));
}

/* Animación Carrusel Infinito (Marquee) */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - 1.5rem)); }
}

.animate-marquee {
    display: flex;
    width: max-content;
    animation: marquee 160s linear infinite;
    gap: 1.5rem;
}

.animate-marquee:hover {
    animation-play-state: paused;
}

/* Tarjetas de Producto */
.cataros-product-card {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    background: #ffffff;
    border: 1px solid rgba(205, 163, 51, 0.1);
}
.cataros-product-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(1, 2, 2, 0.05);
    border-color: rgba(205, 163, 51, 0.4);
}

/* Newsletter */
.cataros-newsletter {
    background: radial-gradient(circle at center, #1a1a1a 0%, #010202 100%);
    position: relative;
    overflow: hidden;
}
.cataros-newsletter::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('assets/img/noise.png');
    opacity: 0.03;
    pointer-events: none;
}

/* Video Lazy Load Placeholder */
.video-placeholder {
    cursor: pointer;
    background-size: cover;
    background-position: center;
}
.video-placeholder::after {
    content: '▶';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    background: var(--gold);
    color: var(--black);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    transition: all 0.3s ease;
    box-shadow: 0 0 30px rgba(205, 163, 51, 0.4);
}
.video-placeholder:hover::after {
    transform: translate(-50%, -50%) scale(1.1);
    background: #ffffff;
}

/* ---------- Galería Personalizada Cataros (Sin Flexslider) ---------- */

/* Contenedor de la galería: columna vertical */
/* Galería: columna vertical */
.woocommerce div.product div.images.woocommerce-product-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem;
    position: relative;
}

/* MARCO PRINCIPAL: Estilizamos el Viewport (el contenedor que Flexslider realmente usa) */
.woocommerce div.product div.images .flex-viewport {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    background: #fdfdfd;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 6px;
    overflow: hidden;
    margin: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

/* Imagen individual dentro del carrusel */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
    display: block; /* Flexslider lo cambia a inline-block/none automáticamente */
    margin: 0;
    cursor: zoom-in;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    aspect-ratio: 1/1;
    display: block;
}

/* La lupa (trigger) debe flotar sobre la imagen principal */
.woocommerce-product-gallery__trigger {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 10;
    background: white;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    opacity: 0.8;
    transition: opacity 0.3s;
}
.woocommerce-product-gallery__trigger:hover { opacity: 1; }

/* MINIATURAS NATIVAS (casadas con el diseño de Cataros) */
.woocommerce div.product div.images .flex-control-thumbs {
    display: flex !important;
    gap: 0.75rem;
    overflow-x: auto;
    padding: 1rem 0 0.5rem 0;
    margin: 0;
    list-style: none;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) transparent;
}

.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar {
    height: 4px;
}
.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar-thumb {
    background: var(--gold);
    border-radius: 4px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: 90px !important;
    flex: 0 0 90px !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    width: 90px !important;
    height: 90px !important;
    object-fit: cover;
    border: 2px solid rgba(0,0,0,0.08);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.25s ease;
    opacity: 0.6;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
    border-color: var(--gold);
    box-shadow: 0 0 12px rgba(205, 163, 51, 0.25);
    opacity: 1;
}

/* Lightbox nativo de WooCommerce (PhotoSwipe) adaptado */
.pswp__bg {
    background: rgba(0, 0, 0, 0.98) !important;
}
.pswp__img {
    box-shadow: 0 0 50px rgba(0,0,0,0.8);
    border-radius: 4px;
}

.cataros-lightbox-close {
    position: absolute;
    top: 1.5rem;
    right: 2rem;
    font-size: 2.5rem;
    color: rgba(255,255,255,0.7);
    cursor: pointer;
    z-index: 100000;
    transition: color 0.3s, transform 0.3s;
    line-height: 1;
}

.cataros-lightbox-close:hover {
    color: var(--gold);
    transform: scale(1.2);
}


/* ---------- Layout Producto Individual ---------- */

.woocommerce div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    margin-top: 0.5rem;
}

.woocommerce div.product div.images.woocommerce-product-gallery {
    width: 55% !important;
    max-width: none !important;
    float: none !important;
}

.woocommerce div.product div.summary.entry-summary {
    width: calc(45% - 3rem) !important;
    float: none !important;
    display: flex;
    flex-direction: column;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products {
    width: 100% !important;
    margin-top: 3rem;
    clear: both;
}


/* ============================================================
   PESTAÑAS DEL PRODUCTO (WC TABS) — DISEÑO MINIMALISTA
   ============================================================ */

/* Lista de reseñas */
.woocommerce #reviews #comments ol.commentlist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce #reviews #comments ol.commentlist li {
    padding: 1.5rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    margin: 0;
}

.woocommerce #reviews #comments ol.commentlist li:last-child {
    border-bottom: none;
}

/* Estrellas doradas */
.woocommerce .star-rating {
    color: var(--gold) !important;
}

.woocommerce .star-rating::before {
    color: rgba(0,0,0,0.1) !important;
}

/* Nombre del autor de la reseña */
.woocommerce #reviews .comment-text .woocommerce-review__author {
    font-weight: 600;
    color: var(--black);
    font-size: 0.95rem;
}

.woocommerce #reviews .comment-text .woocommerce-review__published-date {
    font-size: 0.8rem;
    color: #999;
}

.woocommerce #reviews .comment-text .description p {
    font-size: 0.9rem;
    line-height: 1.7;
    color: #555;
}

/* Avatar de las reseñas */
.woocommerce #reviews #comments ol.commentlist li img.avatar {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50%;
    border: 2px solid rgba(0,0,0,0.06);
}

/* Mensaje cuando no hay reseñas */
.woocommerce #reviews .woocommerce-noreviews {
    font-family: 'Inter', sans-serif;
    padding: 2rem 0;
    color: #999;
    text-align: center;
    font-style: italic;
}

/* ============================================================
   PESTAÑAS DEL PRODUCTO (WC TABS)
   ============================================================ */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin: 0 0 2rem 0 !important;
    list-style: none !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center; /* Alineación del contenedor */
    gap: 1.5rem;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
    content: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none !important;
    background: transparent !important;
    display: inline-block;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    list-style: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    /* Aquí estaba la asimetría: padding igual arriba y abajo (0.8rem) */
    padding: 0.8rem 0 !important; 
    font-family: 'Inter', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #999 !important;
    text-decoration: none !important;
    transition: color 0.3s;
    display: block;
    box-shadow: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--black) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--gold) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--gold);
    display: block !important;
}

/* Contenido de las pestañas */
.woocommerce div.product .woocommerce-tabs .panel {
    margin-bottom: 2rem;
    font-family: 'Inter', sans-serif;
    color: var(--black);
    line-height: 1.8;
}

/* Ocultar el título interno redundante (Ej: "Descripción") inyectado por WC en el panel */
.woocommerce div.product .woocommerce-tabs .panel > h2:first-of-type {
    display: none !important;
}

/* ============================================================
   JERARQUÍA Y DISEÑO INTERNO DE LA DESCRIPCIÓN 
   ============================================================ */
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .panel h4,
.woocommerce div.product .woocommerce-tabs .panel h5,
.woocommerce div.product .woocommerce-tabs .panel h6 {
    font-family: 'Inter', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--black) !important;
    font-weight: 700 !important;
    margin-top: 2rem !important;
    margin-bottom: 1rem !important;
    line-height: 1.3 !important;
}

.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.6rem !important; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 1.4rem !important; }
.woocommerce div.product .woocommerce-tabs .panel h4 { font-size: 1.2rem !important; }

/* Párrafos legibles */
.woocommerce div.product .woocommerce-tabs .panel p {
    margin-bottom: 1.25rem !important;
    color: #4a4a4a !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 300 !important;
    line-height: 1.8 !important;
}

/* Textos importantes / Negritas */
.woocommerce div.product .woocommerce-tabs .panel strong,
.woocommerce div.product .woocommerce-tabs .panel b {
    font-weight: 600 !important;
    color: var(--black) !important;
}

/* Listas estéticas personalizadas en la descripción */
.woocommerce div.product .woocommerce-tabs .panel ul {
    list-style-type: none !important;
    margin-bottom: 1.5rem !important;
    padding-left: 0 !important;
}

.woocommerce div.product .woocommerce-tabs .panel ul li {
    position: relative !important;
    padding-left: 1.2rem !important;
    margin-bottom: 0.6rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    color: #4a4a4a !important;
    line-height: 1.6 !important;
}

.woocommerce div.product .woocommerce-tabs .panel ul li::before {
    content: '•' !important;
    color: var(--gold) !important;
    position: absolute !important;
    left: 0 !important;
    font-size: 1.2rem !important;
    top: -2px !important;
}

/* Corrección para Gutenberg/wpautop: Párrafos dentro de listas */
.woocommerce div.product .woocommerce-tabs .panel ul li p {
    margin-bottom: 0 !important;
    display: inline !important;
}

/* Sedas horizontales de separación */
.woocommerce div.product .woocommerce-tabs .panel hr {
    border: none !important;
    border-top: 1px solid rgba(0,0,0,0.08) !important;
    margin: 2rem auto !important;
    width: 50% !important;
}

/* Limpieza de basura / Bloques vacíos de Gutenberg */
.woocommerce div.product .woocommerce-tabs .panel p:empty,
.woocommerce div.product .woocommerce-tabs .panel .wp-block-spacer {
    display: none !important;
}

/* Formulario de reseña */
.woocommerce #review_form #respond {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(0,0,0,0.06);
}

.woocommerce #review_form #respond .comment-reply-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--black);
    margin-bottom: 1rem;
}

.woocommerce #review_form #respond .comment-form label {
    font-family: 'Inter', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #555;
    display: block;
    margin-bottom: 0.4rem;
}

.woocommerce #review_form #respond .comment-form input[type="text"],
.woocommerce #review_form #respond .comment-form input[type="email"],
.woocommerce #review_form #respond .comment-form textarea {
    width: 100%;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 0;
    padding: 0.75rem 1rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.9rem;
    transition: border-color 0.3s;
    outline: none;
}

.woocommerce #review_form #respond .comment-form input:focus,
.woocommerce #review_form #respond .comment-form textarea:focus {
    border-color: var(--gold);
}

.woocommerce #review_form #respond .comment-form .form-submit input[type="submit"] {
    background: var(--gold) !important;
    color: var(--black) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 1rem 2.5rem !important;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.3s;
    margin-top: 1rem;
}

.woocommerce #review_form #respond .comment-form .form-submit input[type="submit"]:hover {
    background: var(--black) !important;
    color: var(--gold) !important;
}

/* Selector de estrellas en el formulario */
.woocommerce #review_form #respond p.stars a {
    color: var(--gold) !important;
}

/* ============================================================
   CHECKOUT / CARRITO / MI CUENTA — Tipografía y botones Cataros
   (Movido desde functions.php para evitar inyección inline en head)
   ============================================================ */
.woocommerce-checkout h3,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
#order_review_heading {
    font-family: 'Playfair Display', serif !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
}

.woocommerce-checkout .button,
.woocommerce-cart .button {
    background-color: var(--gold) !important;
    color: var(--black) !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
}

.woocommerce-checkout .button:hover,
.woocommerce-cart .button:hover {
    background-color: #ffffff !important;
    color: var(--black) !important;
}

/* QA FIX: Evitar que el botón de Proceed to Checkout ocupe toda la pantalla */
.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order {
    display: inline-block !important;
    width: auto !important;
    padding: 1rem 2.5rem !important;
    font-size: 0.85rem !important;
    margin: 2rem 0 !important;
}

/* QA FIX: Evitar desbordamiento de títulos largos en la tabla del carrito / checkout y Gutenberg Blocks */
.woocommerce-checkout .product-name,
.woocommerce-cart .product-name,
.wc-block-cart-item__product {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    min-width: 0 !important; /* Fuerza a Flexbox a contener textos largos */
    max-width: 100% !important;
    display: block !important;
}

/* FIX: Títulos de resumen WooCommerce Blocks - 4 Líneas y tamaño reducido */
.wc-block-components-product-name {
    font-size: 0.85rem !important; /* Letra más pequeña para que no se vea gigante */
    line-height: 1.4 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: -webkit-box !important; /* Requisito para line-clamp */
    -webkit-line-clamp: 4 !important; /* Truncar en la 4ta línea con puntos suspensivos */
    line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Fix específico para la columna descriptiva en el WooCommerce Block del Checkout */
.wc-block-components-order-summary-item__description,
.wc-block-components-product-details {
    min-width: 0 !important;
    overflow: hidden !important;
}

.woocommerce table.shop_table,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    table-layout: auto !important;
    word-wrap: break-word !important;
}

/* ============================================================
   PRODUCT LOOP (GRID DE PRODUCTOS, RELACIONADOS, ETC)
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    columns: auto !important; /* ANULA Tailwind .columns-4 */
    column-count: auto !important; 
    gap: 1.5rem !important; /* Más compacto y elegante */
    padding: 0 !important;
    margin: 2rem 0 3rem 0 !important;
    list-style: none !important;
    /* GRILLA INTELIGENTE: auto-fill evita que un solo producto se vuelva gigante */
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    justify-content: center !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important; 
}

/* Tarjeta individual de producto (Estetica "Favoritos") */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none !important; 
    width: 100% !important; 
    max-width: 300px !important; /* Control de ancho máximo para evitar Gigantismo */
    margin: 0 auto !important;   
    background: #ffffff !important;
    text-align: center;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(205, 163, 51, 0.15) !important; /* Dorado muy sutil */
    padding: 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative;
    overflow: hidden !important; 
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-8px);
    border-color: rgba(205, 163, 51, 0.5) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.06);
}

/* Forzar que el enlace ocupe todo el ancho y alinee hijos */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
    flex-grow: 1;
}

/* Imagen del producto con el ratio de "Favoritos" */
.woocommerce ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 3/4 !important; /* Ratio vertical elegante */
    height: auto !important;
    object-fit: cover !important;
    margin: 0 0 1.5rem 0 !important; 
    display: block !important;
    transition: transform 0.7s ease;
}

.woocommerce ul.products li.product:hover img {
    transform: scale(1.05);
}

/* Etiqueta de Oferta (Elegante y minimalista) */
.woocommerce ul.products li.product .onsale {
    position: absolute !important;
    top: 1.5rem !important;
    left: 1.5rem !important;
    right: auto !important;
    background: var(--black) !important;
    color: var(--gold) !important;
    font-family: 'Inter', sans-serif !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    font-size: 10px !important;
    padding: 0.4rem 0.8rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    z-index: 10 !important;
    letter-spacing: 0.2em !important;
    line-height: 1 !important;
}

/* Título del producto (Consistencia con INTER Sans-serif) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Inter', sans-serif !important; /* Unificado como prefirió el usuario */
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--black) !important;
    padding: 0 0.5rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.4 !important;
    min-height: 2.8em; /* Mantiene alineación si hay dos líneas */
    display: block !important; 
}

/* Precios */
.woocommerce ul.products li.product .price {
    color: var(--gold) !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    margin-bottom: 1.5rem !important;
    display: block !important;
}

.woocommerce ul.products li.product .price del {
    color: #999 !important;
    font-weight: 400 !important;
    font-size: 0.85rem !important;
    margin-right: 0.5rem !important;
}

/* Botón Añadir al carrito (Diseño de la HOME: Oro con texto Negro) */
.woocommerce ul.products li.product .button {
    margin-top: auto !important;
    background: var(--gold) !important;
    color: var(--black) !important;
    text-transform: uppercase !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 800 !important;
    font-size: 0.75rem !important;
    padding: 1rem !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
    display: block !important; 
    text-align: center !important;
    border: none !important;
    letter-spacing: 0.2em !important;
}

.woocommerce ul.products li.product .button:hover {
    background: var(--black) !important;
    color: var(--gold) !important;
}

/* Título superior de Productos Relacionados */
.woocommerce .related.products > h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 2rem !important;
    color: var(--black) !important;
    border-bottom: 2px solid var(--gold);
    padding-bottom: 1rem;
    margin-bottom: 3rem !important;
    margin-top: 4rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Ajustes Específicos para Móviles */
@media (max-width: 1024px) {
    .woocommerce ul.products.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .woocommerce div.product div.images.woocommerce-product-gallery,
    .woocommerce div.product div.summary.entry-summary {
        width: 100% !important;
    }
}

@media (max-width: 768px) {
    .woocommerce ul.products.columns-4,
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
    .woocommerce div.product {
        margin-top: 0 !important;
        gap: 1.5rem !important;
    }
    .woocommerce div.product div.images .flex-control-thumbs li {
        width: 80px !important;
        height: 80px !important;
    }
    .woocommerce div.product .product_title {
        font-size: 1.35rem !important;
    }
    /* Descripción corta más compacta en móvil */
    .woocommerce div.product .woocommerce-product-details__short-description {
        font-size: 0.85rem !important;
        line-height: 1.6;
        padding-left: 1rem;
        margin-bottom: 1.5rem;
    }
    .woocommerce div.product .woocommerce-product-details__short-description p {
        font-size: 0.85rem !important;
        margin-bottom: 0.5rem;
    }
    /* Precio un poco más compacto en móvil */
    .woocommerce div.product p.price,
    .woocommerce div.product span.price {
        font-size: 1.4rem !important;
        margin-bottom: 1rem;
    }
    /* Pestañas Descripción/Valoraciones en móvil */
    .woocommerce div.product .woocommerce-tabs {
        margin-top: 1.5rem !important;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs {
        flex-wrap: wrap !important;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li {
        flex: 1 1 auto;
        text-align: center;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        padding: 0.75rem 1rem !important;
        font-size: 0.65rem !important;
        letter-spacing: 0.12em;
        white-space: nowrap;
    }
    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 1.25rem 1rem !important;
        font-size: 0.85rem;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
        font-size: 1.1rem;
    }
}

/* 2. Jerarquía Tipográfica */
.woocommerce div.product .product_title {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem; /* Tamaño reducido más elegante */
    line-height: 1.2;
    color: var(--black);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
    clear: none;
}

/* Ocultar distintivo nativo de Oferta (Sale Badge) */
.woocommerce span.onsale {
    display: none !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 1.8rem !important;
    color: var(--gold) !important;
    font-weight: 400;
    margin-bottom: 2rem;
    display: block;
}

/* Hacer el precio de referencia (comparación) mucho más discreto */
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    font-size: 0.9rem !important;
    color: #cbd5e1 !important; /* Gris suave */
    opacity: 0.6;
    margin-right: 0.5rem;
    font-weight: 300;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    text-decoration: none;
    color: var(--gold) !important;
}

/* 3. Descripción Corta Elegante */
.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1.7;
    color: var(--gray);
    border-left: 2px solid rgba(205, 163, 51, 0.4);
    padding-left: 1.5rem;
    margin-bottom: 2.5rem;
    font-style: italic;
}

/* 4. Ocultar SKU y dar estilo a Categorías/Metas */
.woocommerce div.product .product_meta .sku_wrapper {
    display: none !important;
}

.woocommerce div.product .product_meta {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #a0a0a0;
    margin-top: 3rem;
    border-top: 1px solid rgba(0,0,0,0.05);
    padding-top: 1.5rem;
}

.woocommerce div.product .product_meta a {
    color: var(--gold);
    transition: color 0.3s;
}

.woocommerce div.product .product_meta a:hover {
    color: var(--black);
}

/* 5. Botón Añadir al Carrito Impontente */
.woocommerce div.product form.cart {
    margin-top: auto; 
    padding-top: 1rem;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button {
    background-color: var(--gold) !important;
    color: var(--black) !important;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    font-weight: 700 !important;
    border-radius: 0 !important;
    padding: 1.25rem 2.5rem !important;
    font-size: 0.85rem !important;
    transition: all 0.3s ease !important;
    border: none !important;
    display: block;
    width: 100%;
    margin-top: 1rem;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    text-align: center;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
    background-color: var(--black) !important;
    color: var(--gold) !important;
    transform: translateY(-2px);
    box-shadow: 0 15px 25px rgba(0,0,0,0.1);
}

/* Inputs de Cantidad */
.woocommerce .quantity .qty {
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 0 !important;
    padding: 0.75rem !important;
    font-family: inherit;
    text-align: center;
    width: 5rem !important;
    background: var(--white) !important;
}

/* Layout Responsivo para Móviles y Tablets */
@media (max-width: 1024px) {
    .woocommerce div.product div.images.woocommerce-product-gallery,
    .woocommerce div.product div.summary.entry-summary {
        width: 100% !important;
    }
    .woocommerce div.product .product_title {
        font-size: 2rem;
    }
}

/* ============================================================
   PÁGINA DEL CARRITO - DISEÑO PREMIUM CATAROS
   ============================================================ */

/* Título de la página */
.woocommerce-cart .entry-title,
.woocommerce-cart .woocommerce > h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--black);
    margin-top: 0.5rem;
    margin-bottom: 1rem;
    text-align: center;
}


/* ============================================================
   AJUSTES BLOQUES NATIOS DE GUTENBERG
   ============================================================ */
/* Control de márgenes gigantes nativos de Gutenberg y separadores invisibles */
.woocommerce-cart h1.wp-block-post-title {
    margin-bottom: 2rem !important; /* Espacio estético sin desbordes gigantes */
}
.woocommerce-cart h1.wp-block-post-title + .wp-block-separator {
    display: none !important; 
}
.woocommerce-cart .wp-block-woocommerce-cart {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Tabla del carrito */
.woocommerce table.shop_table {
    border: none !important;
    border-radius: 0 !important;
    border-collapse: collapse;
    width: 100%;
}

.woocommerce table.shop_table thead {
    background: var(--black);
    color: var(--gold);
}

.woocommerce table.shop_table thead th {
    border: none !important;
    padding: 1rem 1.25rem !important;
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 600;
    color: var(--gold) !important;
}

.woocommerce table.shop_table td {
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    padding: 1.25rem !important;
    vertical-align: middle !important;
    font-family: 'Inter', sans-serif;
    color: var(--black);
}

/* Imagen del producto en el carrito */
.woocommerce table.shop_table td.product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid rgba(0,0,0,0.06);
}

/* Nombre del producto */
.woocommerce table.shop_table td.product-name a {
    color: var(--black) !important;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

.woocommerce table.shop_table td.product-name a:hover {
    color: var(--gold) !important;
}

/* Precios */
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
    font-weight: 600;
    color: var(--gold) !important;
}

/* Botón de eliminar */
.woocommerce table.shop_table td.product-remove a.remove {
    color: #ccc !important;
    font-size: 1.5rem;
    transition: color 0.3s;
}

.woocommerce table.shop_table td.product-remove a.remove:hover {
    color: #e74c3c !important;
    background: transparent !important;
}

/* Input de cantidad en el carrito */
.woocommerce table.shop_table .quantity .qty {
    border: 1px solid rgba(0,0,0,0.1) !important;
    padding: 0.5rem !important;
    width: 4rem !important;
    text-align: center;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif;
}

/* Fila de acciones (cupón + actualizar) */
.woocommerce table.shop_table td.actions {
    padding: 1.5rem !important;
    background: rgba(0,0,0,0.01);
}

/* Campos del cupón */
.woocommerce .coupon .input-text {
    border: 1px solid rgba(0,0,0,0.1) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
}

/* Botones del carrito (Aplicar cupón, Actualizar) */
.woocommerce table.shop_table td.actions .button,
.woocommerce .coupon .button {
    background: var(--black) !important;
    color: var(--gold) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0.75rem 1.5rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    font-size: 0.75rem !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: all 0.3s ease !important;
}

.woocommerce table.shop_table td.actions .button:hover,
.woocommerce .coupon .button:hover {
    background: var(--gold) !important;
    color: var(--black) !important;
}

/* Totales del carrito */
.woocommerce .cart_totals {
    margin-top: 2rem;
}

.woocommerce .cart_totals h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--black);
    margin-bottom: 1.5rem;
}

.woocommerce .cart_totals table.shop_table {
    border: 1px solid rgba(0,0,0,0.06) !important;
}

.woocommerce .cart_totals table.shop_table th {
    padding: 1rem 1.25rem !important;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    font-weight: 600;
    color: var(--black) !important;
    background: rgba(0,0,0,0.02);
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

.woocommerce .cart_totals table.shop_table td {
    padding: 1rem 1.25rem !important;
    font-weight: 500;
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

.woocommerce .cart_totals .order-total td {
    font-size: 1.3rem !important;
    color: var(--gold) !important;
    font-weight: 700 !important;
}

/* Botón Finalizar Compra */
.woocommerce .wc-proceed-to-checkout .checkout-button {
    background: var(--gold) !important;
    color: var(--black) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 1.25rem 2.5rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    margin-top: 1rem !important;
}

.woocommerce .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--black) !important;
    color: var(--gold) !important;
    transform: translateY(-2px);
    box-shadow: 0 15px 25px rgba(0,0,0,0.1);
}

/* Mensaje de carrito vacío */
.woocommerce .cart-empty {
    text-align: center;
    font-family: 'Playfair Display', serif;
    font-size: 1.3rem;
    color: var(--black);
    padding: 3rem 1rem;
}

.woocommerce .return-to-shop .button {
    background: var(--gold) !important;
    color: var(--black) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 1rem 2rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    transition: all 0.3s ease !important;
}

.woocommerce .return-to-shop .button:hover {
    background: var(--black) !important;
    color: var(--gold) !important;
}

/* ============================================================
   CARRITO WOOCOMMERCE BLOCKS - DISEÑO PREMIUM CATAROS
   (El carrito moderno usa clases .wc-block-* en vez de .shop_table)
   ============================================================ */

/* Layout general del carrito de bloques */
.wc-block-cart {
    font-family: 'Inter', sans-serif;
}

/* Tabla de items del carrito */
.wc-block-cart-items {
    border: none !important;
}

.wc-block-cart-items .wc-block-cart-items__row {
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    padding: 1.5rem 0 !important;
}

/* Imagen del producto en el carrito */
.wc-block-cart-item__image img {
    border-radius: 4px !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
}

/* Nombre del producto */
.wc-block-cart-item__product .wc-block-components-product-name {
    color: var(--black) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    font-family: 'Inter', sans-serif !important;
    transition: color 0.3s;
}

.wc-block-cart-item__product .wc-block-components-product-name:hover {
    color: var(--gold) !important;
}

/* Precios en el carrito de bloques */
.wc-block-cart .wc-block-components-product-price,
.wc-block-cart .wc-block-components-product-price__value {
    color: var(--gold) !important;
    font-weight: 600 !important;
}

/* Precio tachado (original) */
.wc-block-cart .wc-block-components-product-price .wc-block-components-product-price__regular {
    color: #aaa !important;
    font-weight: 300 !important;
}

/* Botón de eliminar */
.wc-block-cart-item__remove-link {
    color: #bbb !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    transition: color 0.3s !important;
    text-decoration: none !important;
}

.wc-block-cart-item__remove-link:hover {
    color: #e74c3c !important;
}

/* Input de cantidad (bloques) */
.wc-block-components-quantity-selector {
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 0 !important;
    overflow: hidden;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    font-family: 'Inter', sans-serif !important;
    border: none !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    background: transparent !important;
    color: var(--black) !important;
    border: none !important;
    transition: color 0.3s;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
    color: var(--gold) !important;
}

/* Panel de totales / resumen */
.wc-block-cart .wc-block-components-totals-wrapper,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    font-family: 'Inter', sans-serif;
}

.wc-block-cart .wc-block-components-totals-item__label {
    font-size: 0.8rem !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #555 !important;
    font-weight: 600 !important;
}

.wc-block-cart .wc-block-components-totals-item__value {
    font-weight: 600 !important;
    color: var(--black) !important;
}

/* Total final destacado */
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 0.85rem !important;
    color: var(--black) !important;
    font-weight: 700 !important;
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 1.3rem !important;
    color: var(--gold) !important;
    font-weight: 700 !important;
}

/* Sección de cupones */
.wc-block-components-totals-coupon__content .wc-block-components-text-input input {
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    padding: 0.75rem 1rem !important;
}

.wc-block-components-totals-coupon__content .wc-block-components-text-input input:focus {
    border-color: var(--gold) !important;
    box-shadow: none !important;
}

.wc-block-components-totals-coupon__button {
    background: var(--black) !important;
    color: var(--gold) !important;
    border: none !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important;
    transition: all 0.3s !important;
}

.wc-block-components-totals-coupon__button:hover {
    background: var(--gold) !important;
    color: var(--black) !important;
}

/* Botón "Finalizar Compra" (bloques) */
.wc-block-cart__submit-button,
.wc-block-cart__submit-button.wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
a.wc-block-cart__submit-button {
    background: var(--gold) !important;
    color: var(--black) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 1.25rem 2.5rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    width: 100% !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05) !important;
}

/* Asegurar que TODOS los hijos del botón también hereden el color */
.wc-block-cart__submit-button *,
a.wc-block-cart__submit-button *,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button * {
    color: var(--black) !important;
}

/* Estado hover global y para sus hijos */
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
    background: var(--black) !important;
    color: var(--gold) !important;
    transform: translateY(-2px);
    box-shadow: 0 15px 25px rgba(0,0,0,0.1) !important;
}

.wc-block-cart__submit-button:hover *,
a.wc-block-cart__submit-button:hover *,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover * {
    color: var(--gold) !important;
}

/* Ajustes de espacio (aire) y tamaño de botón en Móvil/Tablet para el carrito */
@media (max-width: 768px) {
    .woocommerce-cart #primary {
        padding-top: 1rem !important; /* Aprovechamiento máximo de pantalla en móvil */
    }
    .wc-block-cart__submit-button,
    .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
        padding: 0.8rem 1rem !important;
        font-size: 0.75rem !important;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .woocommerce-cart #primary {
        padding-top: 4.5rem !important; /* pt-18 aproximadamente */
    }
}

/* Carrito vacío (bloques) */
.wc-block-cart--is-empty .wc-block-cart__empty-cart__title,
.wc-block-cart--is-empty h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.3rem !important;
    color: var(--black) !important;
    text-align: center !important;
}

/* Envío gratuito / información de envío */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value {
    color: #27ae60 !important;
    font-weight: 600 !important;
}

/* Separadores en la sección de totales */
.wc-block-components-totals-wrapper::after,
.wc-block-components-totals-wrapper::before {
    border-color: rgba(0,0,0,0.06) !important;
}

/* Links dentro del carrito (excluir el botón de checkout) */
.wc-block-cart a:not(.wc-block-components-product-name):not(.wc-block-cart-item__remove-link):not(.wc-block-cart__submit-button):not(.wc-block-components-button) {
    color: var(--gold) !important;
    transition: color 0.3s;
}

/* Título de la sección "Nuevo en la tienda" o productos sugeridos */
.wc-block-cart--is-empty h2,
.cross-sells-product h2 {
    font-family: 'Playfair Display', serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size: 1.3rem !important;
    color: var(--black) !important;
    margin: 2rem 0 1.5rem !important;
}

/* Productos sugeridos en carrito vacío */
.wc-block-cart--is-empty .wc-block-grid__product {
    text-align: center;
}

.wc-block-cart--is-empty .wc-block-grid__product-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9rem !important;
    color: var(--black) !important;
}

.wc-block-cart--is-empty .wc-block-grid__product-price {
    color: var(--gold) !important;
    font-weight: 600 !important;
}

.wc-block-cart--is-empty .wc-block-grid__product-onsale {
    background: var(--gold) !important;
    color: var(--black) !important;
    border-radius: 0 !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
}

/* Botón "Añadir al carrito" en productos sugeridos */
.wc-block-cart--is-empty .wc-block-grid__product .wp-block-button__link,
.wc-block-cart--is-empty .wc-block-grid__product .add_to_cart_button {
    background: var(--black) !important;
    color: var(--gold) !important;
    border: none !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important;
    padding: 0.75rem 1.5rem !important;
    transition: all 0.3s !important;
}

.wc-block-cart--is-empty .wc-block-grid__product .wp-block-button__link:hover,
.wc-block-cart--is-empty .wc-block-grid__product .add_to_cart_button:hover {
    background: var(--gold) !important;
    color: var(--black) !important;
}

/* ── FIX MÓVIL: Columna "Total" del carrito ── */
/* En móvil, el precio ya está en la columna "Detalles" (tachado + oferta).
   Ocultar toda la columna Total evita el precio huérfano y el desbordamiento. */
@media (max-width: 767px) {
    /* Ocultar cabecera de la columna Total */
    th.wc-block-cart-items__header-total {
        display: none !important;
    }
    /* Ocultar celda de precio Total en cada fila */
    td.wc-block-cart-item__total {
        display: none !important;
    }
}

/* ============================================================
   CHECKOUT WOOCOMMERCE BLOCKS - DISEÑO PREMIUM CATAROS
   ============================================================ */

/* Formulario de checkout (bloques) */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea {
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus {
    border-color: var(--gold) !important;
    box-shadow: none !important;
}

/* Botón de finalizar pedido */
.wc-block-components-checkout-place-order-button {
    background: var(--gold) !important;
    color: var(--black) !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    font-weight: 700 !important;
}

/* Precio tachado (original) → rojo suave */
del.wc-block-components-product-price__regular,
.wc-block-components-order-summary-item__regular-individual-price {
    color: #e05252 !important;
    opacity: 1 !important;
}

/* Precio con descuento → negrita, color dorado */
ins.wc-block-components-product-price__value.is-discounted,
.wc-block-components-order-summary-item__individual-price {
    font-weight: 700 !important;
    color: var(--gold) !important;
    text-decoration: none !important;
}

/* ── FIX MÓVIL: Espaciado excesivo en página Finalizar Compra ── */
/* El body tiene clase .woocommerce-checkout, usamos eso como scope */
@media (max-width: 767px) {
    /* Reducir padding del área principal */
    .woocommerce-checkout #primary {
        padding-top: 4.5rem !important;  /* De pt-24 (6rem) → 4.5rem */
        padding-bottom: 2rem !important; /* De pb-20 (5rem) → 2rem */
    }
    /* Reducir padding del contenedor blanco */
    .woocommerce-checkout #primary > main > div {
        padding: 1.25rem !important;     /* De p-8 (2rem) → 1.25rem */
    }
    /* Compactar encabezado "Finalizar compra" */
    .woocommerce-checkout .entry-header {
        margin-bottom: 1.5rem !important; /* De mb-12 (3rem) → 1.5rem */
        padding-bottom: 0.75rem !important; /* De pb-8 (2rem) → 0.75rem */
    }
    .woocommerce-checkout .entry-header .entry-title {
        font-size: 1.5rem !important;
    }
    /* Eliminar márgenes extra de Gutenberg prose en checkout */
    .woocommerce-checkout .entry-content {
        margin-bottom: 0 !important;
    }
    /* Badge "Ahorra" en el resumen del pedido del checkout */
    .wc-block-components-order-summary-item__total-price .wc-block-components-sale-badge {
        display: none !important;
    }
    /* Centrar títulos — H1 de página y H2 de pasos del formulario */
    .woocommerce-checkout .entry-title,
    .woocommerce-checkout .wc-block-components-checkout-step__title {
        text-align: center !important;
    }
    /* Ocultar bloque de precio total del resumen (aria-hidden, redundante con los precios de detalle) */
    .wc-block-components-order-summary-item__total-price {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    /* Tablet: reducción moderada del padding del contenedor */
    .woocommerce-checkout #primary > main > div {
        padding: 2.5rem !important;  /* De md:p-16 (4rem) → 2.5rem */
    }
    .woocommerce-checkout #primary {
        padding-top: 5rem !important;
    }
}


/* ============================================================
   ELEMENTOS PERSUASIVOS DEL CARRITO
   ============================================================ */

/* Barra de beneficios arriba del carrito */
.cataros-cart-benefits {
    display: flex;
    justify-content: center;
    gap: 2rem;
    padding: 1rem 1.5rem;
    background: var(--black);
    border-radius: 4px;
    margin-bottom: 1.5rem;
}

.cataros-benefit {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.8);
}

.cataros-benefit strong {
    color: var(--gold);
}

.cataros-benefit-icon {
    font-size: 1.2rem;
}

/* Badges de confianza */
.cataros-cart-trust {
    margin-top: 1.5rem;
    text-align: center;
}

.cataros-trust-row {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

.cataros-trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.cataros-trust-icon {
    font-size: 1.5rem;
}

.cataros-trust-text {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #777;
    line-height: 1.3;
    text-align: center;
    font-weight: 600;
}

.cataros-trust-note {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    color: #aaa;
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
}

.cataros-trust-note::before {
    content: '🔐';
    font-size: 0.8rem;
}

/* Mensaje de urgencia */
.cataros-cart-urgency {
    background: linear-gradient(135deg, #fff8e7, #fff3d0);
    border: 1px solid rgba(205,163,51,0.2);
    border-radius: 4px;
    padding: 0.75rem 1.25rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.82rem;
    color: #8b6914;
    text-align: center;
    margin: 1rem 0;
}

.cataros-cart-urgency strong {
    color: #c44;
}

/* Responsivo para móviles */
@media (max-width: 768px) {
    .cataros-cart-benefits {
        flex-direction: column;
        gap: 0.75rem;
        align-items: center;
        padding: 1rem;
    }
    .cataros-benefit {
        font-size: 0.75rem;
    }
    .cataros-trust-row {
        gap: 1.25rem;
    }
    .cataros-trust-icon {
        font-size: 1.2rem;
    }
    .cataros-trust-text {
        font-size: 0.65rem;
    }
}

/* ============================================================
   FIX CRÍTICO: Logo visible en TODAS las páginas (incluido WooCommerce)
   WooCommerce inyecta CSS global que puede colapsar el contenedor del logo.
   Estas reglas usan especificidad máxima para proteger el branding.
   ============================================================ */
#masthead .site-branding {
    display: block !important;
    flex-shrink: 0 !important;
    min-width: 40px;
}

#masthead .site-branding a[rel="home"] {
    display: block !important;
    line-height: 0 !important;
    text-decoration: none !important;
}

#masthead .site-branding picture {
    display: block !important;
    line-height: 0 !important;
}

#masthead .site-branding picture img,
#masthead .site-branding img {
    display: block !important;
    height: 40px !important;
    width: auto !important;
    max-width: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    object-fit: contain !important;
}

@media (min-width: 640px) {
    #masthead .site-branding picture img,
    #masthead .site-branding img {
        height: 48px !important;
    }
}

@media (min-width: 1024px) {
    #masthead .site-branding picture img,
    #masthead .site-branding img {
        height: 56px !important;
    }
}

/* ============================================================
   PÁGINAS DE CATEGORÍA — ENCABEZADO MINIMALISTA CATAROS
   ============================================================ */

/* ── Encabezado de categoría: barra oscura compacta ── */
.cat-hero {
    background: #1c1c1e; /* Carbón oscuro — distinguible del header negro puro */
    padding: 2.5rem 0 2rem;
    border-bottom: 1px solid rgba(205, 163, 51, 0.2);
}

/* Migas de pan */
.cat-breadcrumb {
    margin-bottom: 1rem;
}

.cat-breadcrumb__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.cat-breadcrumb__item {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
}

.cat-breadcrumb__item a {
    color: rgba(255, 255, 255, 0.35);
    text-decoration: none;
    transition: color 0.25s;
}

.cat-breadcrumb__item a:hover {
    color: var(--gold);
}

.cat-breadcrumb__sep {
    color: rgba(255, 255, 255, 0.15);
    margin: 0 0.15rem;
}

/* Título de la categoría */
.cat-hero__title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 1rem;
    line-height: 1.15;
}

/* Línea dorada bajo el título */
.cat-hero__rule {
    width: 48px;
    height: 2px;
    background: var(--gold);
}

/* ── Ajustes responsive: reducir padding en tablet y móvil ── */
@media (max-width: 1023px) {
    /* Tablet */
    .cat-hero {
        padding: 1.5rem 0 1.25rem;
    }
    .cat-hero__title {
        font-size: 1.5rem;
        margin-bottom: 0.75rem;
    }
}

@media (max-width: 639px) {
    /* Móvil */
    .cat-hero {
        padding: 1rem 0 0.875rem;
    }
    .cat-hero__title {
        font-size: 1.25rem;
        letter-spacing: 0.04em;
        margin-bottom: 0.6rem;
    }
    .cat-breadcrumb {
        margin-bottom: 0.6rem;
    }
    .cat-hero__rule {
        width: 36px;
    }
}

/* ── Área de contenido (grid de productos) ── */
.cat-content {
    background: #f9f8f5;
    padding: 2.5rem 0 5rem;
}



/* ── Barra de utilidad: resultados + orden ── */
.woocommerce-products-header {
    display: none; /* Ocultamos el <h1> duplicado que WC añade */
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    color: #999 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
    margin: 0 !important;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--black) !important;
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 0 !important;
    padding: 0.5rem 2rem 0.5rem 0.75rem !important;
    outline: none !important;
    cursor: pointer !important;
    appearance: auto !important;
}

/* Contenedor de la barra de resultados+orden */
.woocommerce .woocommerce-products-header + .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
    display: flex !important;
    align-items: center !important;
}

/* ── Paginación premium ── */
.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
    margin-top: 3rem !important;
    text-align: center !important;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul {
    display: inline-flex !important;
    gap: 0.4rem !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-page nav.woocommerce-pagination ul li {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce-page nav.woocommerce-pagination ul li a,
.woocommerce-page nav.woocommerce-pagination ul li span {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    color: var(--black) !important;
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 0 !important;
    padding: 0.6rem 0.9rem !important;
    display: inline-block !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    min-width: 38px !important;
    text-align: center !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce-page nav.woocommerce-pagination ul li a:hover {
    background: var(--black) !important;
    color: var(--gold) !important;
    border-color: var(--black) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce-page nav.woocommerce-pagination ul li span.current {
    background: var(--gold) !important;
    color: var(--black) !important;
    border-color: var(--gold) !important;
}

/* ── Estado vacío ── */
.cat-empty {
    text-align: center;
    padding: 5rem 2rem;
}

.cat-empty__symbol {
    font-size: 2.5rem;
    color: var(--gold);
    opacity: 0.4;
    margin-bottom: 1.5rem;
    display: block;
}

.cat-empty__title {
    font-family: 'Playfair Display', serif;
    font-size: 1.75rem;
    color: var(--black);
    margin-bottom: 1rem;
    letter-spacing: 0.04em;
}

.cat-empty__text {
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    font-weight: 300;
    color: #888;
    line-height: 1.8;
    max-width: 400px;
    margin: 0 auto 2rem;
}

.cat-empty__btn {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--black);
    background: var(--gold);
    padding: 0.9rem 2.5rem;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid var(--gold);
}

.cat-empty__btn:hover {
    background: transparent;
    color: var(--gold);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .cat-hero {
        min-height: auto;
        padding: 2.5rem 0 2rem;
    }

    .cat-hero__title {
        font-size: 2rem;
    }

    .cat-hero__desc {
        font-size: 0.875rem;
    }

    .cat-content {
        padding: 2rem 0 3rem;
    }
}

@media (max-width: 480px) {
    .cat-hero {
        min-height: auto;
        padding: 1.5rem 0 1.25rem;
    }

    .cat-hero__title {
        font-size: 1.6rem;
    }

    .cat-breadcrumb {
        display: none; /* Ocultamos las migas en mobile muy pequeño */
    }
}



/* ============================================================
   PÁGINA 404 — ERROR CATAROS
   ============================================================ */

/* ── Hero del 404 ── */
.cataros-404-hero {
    background: #1c1c1e;
    padding: 5rem 1.5rem 4rem;
    text-align: center;
    border-bottom: 1px solid rgba(205, 163, 51, 0.2);
    position: relative;
    overflow: hidden;
}

/* Número decorativo de fondo */
.cataros-404-number {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Playfair Display', serif;
    font-size: clamp(10rem, 30vw, 22rem);
    font-weight: 700;
    color: rgba(205, 163, 51, 0.04);
    line-height: 1;
    pointer-events: none;
    user-select: none;
    letter-spacing: -0.05em;
}

/* Contenido centrado */
.cataros-404-inner {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 0 auto;
}

/* Símbolo dorado */
.cataros-404-symbol {
    font-size: 1.5rem;
    color: var(--gold);
    margin-bottom: 1.5rem;
    display: block;
    opacity: 0.7;
}

/* Título principal */
.cataros-404-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.6rem, 5vw, 2.8rem);
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 1.25rem;
    line-height: 1.15;
}

/* Línea dorada */
.cataros-404-rule {
    width: 48px;
    height: 2px;
    background: var(--gold);
    margin: 0 auto 1.75rem;
}

/* Descripción */
.cataros-404-desc {
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.85;
    margin: 0 0 2.5rem;
    font-style: italic;
}

/* Botones */
.cataros-404-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

@media (min-width: 480px) {
    .cataros-404-actions {
        flex-direction: row;
        justify-content: center;
    }
}

.cataros-404-btn {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 0.875rem 2.5rem;
    transition: background 0.25s, color 0.25s, border-color 0.25s;
    display: inline-block;
}

.cataros-404-btn--primary {
    background: var(--gold);
    color: var(--black);
    border: 1px solid var(--gold);
}

.cataros-404-btn--primary:hover {
    background: #ffffff;
    color: var(--black);
    border-color: #ffffff;
}

.cataros-404-btn--outline {
    background: transparent;
    color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.cataros-404-btn--outline:hover {
    border-color: var(--gold);
    color: var(--gold);
}

/* ── Sección de categorías sugeridas ── */
.cataros-404-cats {
    background: #fafaf8;
    padding: 3.5rem 1.5rem 4rem;
    text-align: center;
}

.cataros-404-cats__inner {
    max-width: 640px;
    margin: 0 auto;
}

.cataros-404-cats__label {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(1, 2, 2, 0.4);
    margin: 0 0 2rem;
}

.cataros-404-cats__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

@media (min-width: 640px) {
    .cataros-404-cats__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.cataros-404-cat-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.5rem 0.75rem;
    border: 1px solid rgba(205, 163, 51, 0.15);
    background: #ffffff;
    text-decoration: none;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
}

.cataros-404-cat-link:hover {
    border-color: rgba(205, 163, 51, 0.5);
    box-shadow: 0 4px 20px rgba(205, 163, 51, 0.08);
    transform: translateY(-2px);
}

.cataros-404-cat-icon {
    font-size: 1.25rem;
    color: var(--gold);
    display: block;
}

.cataros-404-cat-name {
    font-family: 'Inter', sans-serif;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--black);
    display: block;
}

/* ============================================================
   MENÚ DE CUENTA (Mi Cuenta / Acceder)
   ============================================================ */

.account-menu-trigger {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 0.25rem 0;
    transition: color 0.25s;
}

.account-menu-trigger:hover,
.account-menu-trigger[aria-expanded="true"] {
    color: var(--gold);
    outline: none;
}

.account-menu-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.account-menu-name {
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-menu-chevron {
    width: 10px;
    height: 10px;
    flex-shrink: 0;
    transition: transform 0.25s;
    opacity: 0.5;
}

.account-menu-trigger[aria-expanded="true"] .account-menu-chevron {
    transform: rotate(180deg);
    opacity: 1;
}

/* ── Dropdown ── */
.menu-item-account {
    position: relative;
}

.account-menu-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 0.75rem);
    right: 0;
    min-width: 200px;
    background: rgba(1, 2, 2, 0.97);
    border: 1px solid rgba(205, 163, 51, 0.15);
    border-radius: 2px;
    padding: 0.5rem 0;
    list-style: none;
    margin: 0;
    z-index: 200;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
}

.account-menu-dropdown.is-open {
    display: block;
    animation: accountDropIn 0.18s ease;
}

@keyframes accountDropIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.account-menu-dropdown__link {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 1.25rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.95);
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
}

.account-menu-dropdown__link svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    opacity: 0.85;
    transition: opacity 0.2s;
}

.account-menu-dropdown__link:hover {
    color: var(--gold);
    background: rgba(205, 163, 51, 0.05);
}

.account-menu-dropdown__link:hover svg { opacity: 1; }

.account-menu-dropdown__link--logout { color: rgba(255, 255, 255, 0.35); }
.account-menu-dropdown__link--logout:hover {
    color: #ff6b6b;
    background: rgba(255, 107, 107, 0.05);
}

.account-menu-dropdown__sep {
    height: 1px;
    background: rgba(205, 163, 51, 0.1);
    margin: 0.35rem 0;
}

/* ── Móvil ── */
@media (max-width: 767px) {
    .account-menu-dropdown {
        position: static;
        border: none;
        background: transparent;
        box-shadow: none;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
        padding: 0.5rem 0;
    }

    .account-menu-trigger {
        padding: 0.5rem 1rem;
        width: 100%;
        justify-content: center;
    }

    .account-menu-dropdown__link {
        justify-content: center;
        color: rgba(255, 255, 255, 0.9);
    }
}

/* ============================================================
   FIX: SUBMENÚ DE TIENDA EN MÓVIL / TABLETA
   En desktop el .sub-menu es absolute → no afecta el flujo.
   En móvil era visibility:hidden pero OCUPABA espacio físico
   → se oculta con display:none y se muestra con .mobile-open
   ============================================================ */

/* Ocultar submenú en móvil y tableta por defecto */
@media (max-width: 767px) {
    .sub-menu {
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Cuando el usuario toca "Tienda" → aparece el submenú */
    .sub-menu.mobile-open {
        display: block !important;
        background: rgba(255, 255, 255, 0.04);
        border-radius: 4px;
        margin-top: 0.25rem;
        padding: 0.5rem 0 0.75rem !important;
    }

    /* Indicador visual de que "Tienda" tiene subitems */
    .menu-item-has-children > a .mobile-submenu-arrow {
        display: inline-block;
        transition: transform 0.25s;
        margin-left: 0.35rem;
        font-size: 0.6rem;
        opacity: 0.5;
    }

    .menu-item-has-children.mobile-open > a .mobile-submenu-arrow {
        transform: rotate(180deg);
        opacity: 1;
    }
}

/* ============================================================
   WOOCOMMERCE MI CUENTA & LOGIN / REGISTRO
   ============================================================ */
/* Formularios generales (Login / Registro / Edición) */
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
    border: 1px solid rgba(205, 163, 51, 0.2) !important;
    border-radius: 4px;
    padding: 2.5rem !important;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}

.woocommerce-account .woocommerce-MyAccount-content p {
    color: #666;
    line-height: 1.8;
}

/* Inputs de WooCommerce en toda la tienda */
.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row textarea {
    width: 100%;
    padding: 12px 16px !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 4px !important;
    background-color: #fbfbfb !important;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif !important;
}

.woocommerce form .form-row input.input-text:focus, 
.woocommerce form .form-row textarea:focus {
    outline: none !important;
    border-color: var(--gold) !important;
    box-shadow: 0 0 0 3px rgba(205, 163, 51, 0.1) !important;
    background-color: #ffffff !important;
}

.woocommerce form .form-row label {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--black) !important;
    margin-bottom: 8px !important;
    display: block;
    font-weight: 600;
}

/* Botones genéricos WooCommerce */
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit {
    background-color: var(--gold) !important;
    color: var(--black) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    font-weight: 700 !important;
    padding: 14px 32px !important;
    border: 2px solid var(--gold) !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
    display: inline-block;
    cursor: pointer;
}

.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover, 
.woocommerce #respond input#submit:hover {
    background-color: var(--black) !important;
    border-color: var(--black) !important;
    color: var(--gold) !important;
}

/* Navegación Lateral de Mi Cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 25% !important;
    float: left !important;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.05);
    padding: 1.5rem 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 24px;
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #555;
    transition: all 0.2s;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--gold);
    background: rgba(205, 163, 51, 0.05);
    padding-left: 28px;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: 70% !important;
    float: right !important;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.05);
    padding: 2.5rem;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        float: none !important;
        margin-bottom: 2rem;
    }
}

/* Tablas de Pedidos y Descargas */
.woocommerce table.my_account_orders,
.woocommerce table.woocommerce-MyAccount-downloads {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1.5rem;
}

.woocommerce table.my_account_orders th,
.woocommerce table.woocommerce-MyAccount-downloads th {
    background: var(--black);
    color: var(--gold);
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 16px;
    border: none !important;
}

.woocommerce table.my_account_orders td,
.woocommerce table.woocommerce-MyAccount-downloads td {
    padding: 16px;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    color: #555;
    vertical-align: middle;
}

.woocommerce table.my_account_orders .button {
    padding: 8px 16px !important;
    font-size: 0.65rem !important;
}

/* ============================================================
   ESTILOS DE BLOG (TYPOGRAPHY / ENTRY-CONTENT)
   ============================================================ */

.entry-content {
    font-family: 'Inter', sans-serif;
    color: #4a4a4a;
    font-size: 1.05rem;
    line-height: 1.8;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: 'Playfair Display', serif !important;
    color: var(--black) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 3.5rem;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.entry-content h1 { font-size: 2.2rem; }
.entry-content h2 { font-size: 1.8rem; }
.entry-content h3 { font-size: 1.5rem; }

.entry-content p {
    margin-bottom: 1.75rem;
}

/* Enlaces (Evitando botones) */
.entry-content a:not(.bg-gold):not(.button) {
    color: var(--gold);
    text-decoration: none;
    border-bottom: 1px solid rgba(205, 163, 51, 0.3);
    transition: all 0.3s;
}

.entry-content a:not(.bg-gold):not(.button):hover {
    color: var(--black);
    border-bottom-color: var(--black);
}

/* Listas */
.entry-content ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 2rem;
}

.entry-content ul li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
}

.entry-content ul li::before {
    content: '•';
    color: var(--gold);
    position: absolute;
    left: 0;
    top: -2px;
    font-size: 1.2rem;
}

.entry-content ol {
    padding-left: 1.5rem;
    margin-bottom: 2rem;
}

.entry-content ol li {
    margin-bottom: 0.75rem;
}

.entry-content ol li::marker {
    color: var(--gold);
    font-weight: 600;
}

/* Citas (Blockquotes) */
.entry-content blockquote {
    border-left: 4px solid var(--gold);
    background: rgba(0, 0, 0, 0.02);
    padding: 1.5rem 2rem;
    margin: 2.5rem 0;
    font-style: italic;
    color: #555;
    font-size: 1.15rem;
}

/* Imágenes */
.entry-content img,
.entry-content figure {
    max-width: 100%;
    height: auto;
    margin: 2rem auto;
    display: block;
    border-radius: 4px;
}

/* Utilidades para Bloques Nativos o insertados manualmente */
.entry-content .bg-gray-50 {
    background-color: #f9fafb !important;
    padding: 2.5rem 2rem !important;
    border: 1px solid rgba(205, 163, 51, 0.2);
    margin: 3rem 0;
    text-align: center;
}

.entry-content .inline-block.bg-gold {
    display: inline-block;
    background-color: var(--gold) !important;
    color: var(--black) !important;
    padding: 14px 32px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.8rem;
    text-decoration: none;
    border: none;
    transition: all 0.3s;
    margin-top: 1rem;
    border-bottom: none !important;
}

.entry-content .inline-block.bg-gold:hover {
    background-color: var(--black) !important;
    color: var(--gold) !important;
}

.entry-content .text-xs {
    font-size: 0.75rem !important;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 1rem;
}

/* Disclaimer final */
.entry-content .bg-black.bg-opacity-5 {
    background: rgba(0, 0, 0, 0.03);
    padding: 1.5rem;
    border-left: 4px solid var(--gold);
    font-size: 0.85rem;
    color: #666;
    font-style: italic;
    margin-top: 4rem;
}

/* ============================================================
   HEADER V2 — Cataros (Overlay + Search Drawer + AJAX)
   ============================================================ */

/* ── Fila 1: barra principal ─────────────────────────────── */
.header-main-bar {
    display: flex;
    align-items: center;
    height: 64px;
    gap: 0.5rem;
}

/* Logo: siempre a la izquierda */
.header-logo {
    flex-shrink: 0;
    order: 1;
}

/* Hamburger: en desktop va junto al logo (order 2);
   en móvil/tablet va al final (order 10) vía media query */
.header-hamburger {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: white;
    transition: color 0.2s ease;
    flex-shrink: 0;
}
.header-hamburger:hover {
    color: var(--gold);
}

/* Spacer flexible */
.header-spacer {
    order: 3;
    flex: 1;
}

/* Cluster de iconos (derecha) */
.header-icons {
    order: 4;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

/* Botón icono genérico */
.header-icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    color: white;
    transition: color 0.2s ease;
    text-decoration: none;
    flex-shrink: 0;
    position: relative;
    padding: 0;
}
.header-icon-btn:hover {
    color: var(--gold);
}
/* Asegura que los iconos SVG no se encojan en móvil */
.header-icon-btn svg {
    width: 20px;
    height: auto;
    flex-shrink: 0;
    display: block;
}


/* Search icon: solo desktop (≥1024px) */
.header-search-btn {
    display: none;
}
@media (min-width: 1024px) {
    .header-search-btn {
        display: flex;
    }
    /* En desktop, el hamburger se queda en order-2 (ya es el default) */
}

/* En móvil/tablet el hamburger se mueve al final */
@media (max-width: 1023px) {
    .header-hamburger {
        order: 10;
    }
}

/* Carrito: badge de cantidad */
.header-cart-btn {
    position: relative;
}
.header-cart-btn .cart-count {
    position: absolute;
    top: 4px;
    right: 4px;
    background: var(--gold);
    color: var(--black);
    font-size: 10px;
    font-weight: 700;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--black);
    line-height: 1;
}

/* ── Cuenta: dropdown ────────────────────────────────────── */
.header-account-wrapper {
    position: relative;
}
.account-menu-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 200px;
    background: var(--black);
    border: 1px solid rgba(205, 163, 51, 0.2);
    border-radius: 4px;
    padding: 0.5rem 0;
    z-index: 200;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    list-style: none;
    margin: 0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}
.account-menu-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.account-menu-user-name {
    padding: 0.5rem 1rem 0.75rem;
    font-size: 0.7rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--gold);
    font-family: 'Inter', sans-serif;
    border-bottom: 1px solid rgba(205, 163, 51, 0.1);
    margin-bottom: 0.25rem;
}
.account-menu-dropdown__link {
    display: block;
    padding: 0.6rem 1rem;
    color: rgba(255,255,255,0.8);
    font-size: 0.8rem;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
}
.account-menu-dropdown__link:hover {
    color: var(--gold);
    background: rgba(205, 163, 51, 0.05);
}
.account-menu-dropdown__sep {
    height: 1px;
    background: rgba(205, 163, 51, 0.1);
    margin: 0.25rem 0;
}
.account-menu-dropdown__link--logout {
    color: rgba(255,100,100,0.7);
}
.account-menu-dropdown__link--logout:hover {
    color: #ff6464;
    background: rgba(255, 100, 100, 0.05);
}

/* ── Fila 2: Barra de búsqueda (solo móvil/tablet) ──────── */
.header-search-bar {
    display: block;
    background: rgba(255,255,255,0.04);
    border-top: 1px solid rgba(205, 163, 51, 0.08);
    padding: 0.5rem 0;
}
@media (min-width: 1024px) {
    .header-search-bar {
        display: none; /* oculta en desktop */
    }
}
.header-search-form {
    position: relative;
}
.header-search-input-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #ffffff;
    border: 1px solid rgba(205, 163, 51, 0.3);
    border-radius: 2px;
    padding: 0.4rem 0.75rem;
}
.header-search-icon {
    color: #666666;
    flex-shrink: 0;
}
.header-search-input {
    flex: 1;
    background: none;
    border: none;
    outline: none;
    color: #1a1a1a;
    font-size: 0.85rem;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.03em;
}
.header-search-input::placeholder {
    color: #a0a0a0;
}

/* ── FULLSCREEN OVERLAY ─────────────────────────────────── */
.cataros-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(1, 2, 2, 0.97);
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    overflow-y: auto;
}
.cataros-overlay.is-open {
    opacity: 1;
    visibility: visible;
}
.cataros-overlay-inner {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding: 0 1.5rem 2rem;
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
}
/* Header del overlay: logo + botón cerrar */
.cataros-overlay-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    flex-shrink: 0;
}
.cataros-overlay-logo {
    text-decoration: none;
}
.cataros-overlay-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    color: rgba(255,255,255,0.6);
    transition: color 0.2s ease;
}
.cataros-overlay-close:hover {
    color: var(--gold);
}
/* Separador dorado */
.cataros-overlay-divider {
    height: 1px;
    background: linear-gradient(to right, var(--gold), transparent);
    margin: 0.5rem 0 2rem;
    opacity: 0.4;
}
/* Nav links del overlay */
.cataros-overlay-nav {
    flex: 1;
}
.cataros-overlay-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.cataros-overlay-links li {
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
/* El enlace con clase cataros-overlay-link se agrega via walker/fallback */
.cataros-overlay-link,
.cataros-overlay-links li a {
    display: block;
    padding: 1rem 0;
    color: white;
    text-decoration: none;
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.3s ease, transform 0.3s ease, color 0.2s ease;
}
.cataros-overlay-link.is-visible,
.cataros-overlay-links li a.cataros-overlay-link.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.cataros-overlay-link:hover,
.cataros-overlay-links li a:hover {
    color: var(--gold);
}

/* ── DESKTOP SEARCH DRAWER ──────────────────────────────── */
.cataros-search-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 380px;
    max-width: 100vw;
    height: 100vh;
    background: var(--black);
    z-index: 999;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    border-left: 1px solid rgba(205, 163, 51, 0.12);
}
.cataros-search-drawer.is-open {
    transform: translateX(0);
}
.cataros-search-drawer-inner {
    padding: 1.5rem;
}
.cataros-search-drawer-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-bottom: 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
    color: rgba(255,255,255,0.5);
    transition: color 0.2s ease;
    margin-left: auto;
}
.cataros-search-drawer-close:hover {
    color: var(--gold);
}
.cataros-search-drawer-form {
    position: relative;
}
.cataros-search-drawer-input-wrapper {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: #ffffff;
    border: 1px solid rgba(205, 163, 51, 0.3);
    border-radius: 2px;
    padding: 0.6rem 1rem;
    margin-bottom: 0.75rem;
}
.cataros-search-drawer-input-wrapper svg {
    color: #666666;
    flex-shrink: 0;
}
#cataros-desktop-search-input {
    flex: 1;
    background: none;
    border: none;
    outline: none;
    color: #1a1a1a;
    font-size: 0.9rem;
    font-family: 'Inter', sans-serif;
}
#cataros-desktop-search-input::placeholder {
    color: #a0a0a0;
}
/* Overlay detrás del search drawer (desktop) */
.cataros-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.cataros-drawer-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

/* ── RESULTADOS AJAX (compartido móvil + desktop) ────────── */
.cataros-search-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 300;
    background: var(--black);
    border: 1px solid rgba(205, 163, 51, 0.15);
    border-top: none;
    border-radius: 0 0 4px 4px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
    max-height: 360px;
    overflow-y: auto;
}
/* En el drawer de desktop, el dropdown no necesita position absolute */
.cataros-search-drawer .cataros-search-dropdown {
    position: static;
    border: 1px solid rgba(205, 163, 51, 0.15);
    border-radius: 4px;
    margin-top: 0.5rem;
}
.cataros-search-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cataros-search-result-item {
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.cataros-search-result-item:last-child {
    border-bottom: none;
}
.cataros-search-result-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    text-decoration: none;
    transition: background 0.2s ease;
}
.cataros-search-result-link:hover {
    background: rgba(205, 163, 51, 0.06);
}
.cataros-search-result-img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
    background: rgba(255,255,255,0.05);
}
.cataros-search-result-img--placeholder {
    background: rgba(255,255,255,0.05);
}
.cataros-search-result-info {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}
.cataros-search-result-name {
    color: white;
    font-size: 0.82rem;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.04em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cataros-search-result-price {
    color: var(--gold);
    font-size: 0.78rem;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
}
.cataros-search-see-all {
    display: block;
    padding: 0.75rem 1rem;
    text-align: center;
    color: var(--gold);
    font-size: 0.78rem;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
    border-top: 1px solid rgba(205, 163, 51, 0.15);
    transition: background 0.2s;
}
.cataros-search-see-all:hover {
    background: rgba(205, 163, 51, 0.06);
}
.cataros-search-loading,
.cataros-search-noresults {
    padding: 1rem;
    text-align: center;
    color: rgba(255,255,255,0.4);
    font-size: 0.82rem;
    font-family: 'Inter', sans-serif;
    margin: 0;
}

/* ══ BARRA DE HERRAMIENTAS DE TIENDA (UNIFICADA) ══ */
.cat-shop-toolbar {
    background: #fff;
    font-family: 'Inter', sans-serif;
}

.cat-shop-actions-right {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

/* Ocultar contador de resultados en móviles para ganar espacio */
.cat-shop-actions-right .woocommerce-result-count {
    display: none !important;
}

@media (min-width: 768px) {
    .cat-shop-actions-right .woocommerce-result-count {
        display: block !important;
        font-size: 0.85rem;
        color: #9ca3af;
        letter-spacing: 0.05em;
        font-style: italic;
        margin: 0 !important;
    }
}

.woocommerce-ordering {
    margin: 0 !important;
}

.woocommerce-ordering select {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23cda333'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 0.9rem !important;
    padding: 0.55rem 2.2rem 0.55rem 1rem !important;
    border: 1px solid rgba(205, 163, 51, 0.2) !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    color: #111827 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce-ordering select:hover {
    border-color: rgba(205, 163, 51, 0.5) !important;
    color: #111827 !important;
    background-color: #fafafa !important;
}

/* Menú de Rejilla Desplegable */
#cat-shop-filter-grid {
    display: none; 
}

/* Clase de estado abierta (gestionada por JS) */
.cat-shop-filter-grid-open #cat-shop-filter-grid {
    display: block;
    animation: catFadeDown 0.4s ease-out forwards;
}

.cat-shop-filter-grid-open #cat-filter-chevron {
    transform: rotate(180deg);
}

@keyframes catFadeDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

#cat-shop-filter-grid ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#cat-shop-filter-grid a {
    position: relative;
    display: inline-block;
    padding-bottom: 2px;
}

#cat-shop-filter-grid a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #cda333;
    transition: width 0.3s ease;
}

#cat-shop-filter-grid a:hover::after,
#cat-shop-filter-grid a.text-gold::after {
    width: 100%;
}

@media (max-width: 639px) {
    .cat-shop-toolbar .container > .flex {
        flex-direction: column;
        gap: 1.5rem;
    }
    .cat-shop-filter-trigger {
        width: 100%;
        justify-content: center;
        border-bottom: 1px solid rgba(0,0,0,0.03);
        padding-bottom: 1rem;
    }
}

/* SOCIAL LOGIN — ESTILO FINAL PULIDO "CATAROS" */
.cataros-social-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 24px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important; /* Tamaño exacto de tus labels */
    font-weight: 600 !important;   /* Grosor exacto de tus labels */
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #010202 !important;
    border: 1px solid rgba(1, 2, 2, 0.08) !important;
    background: #ffffff !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none !important;
    border-radius: 0 !important;
}

.cataros-social-btn:hover {
    border-color: #cda333 !important; /* Dorado Cataros */
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04) !important;
    background: #fdfdfd !important;
    color: #010202 !important;
}

/* Evitar que el SVG cambie de tamaño si el botón crece */
.cataros-social-btn svg {
    flex-shrink: 0;
}

