/**
 * FILUNA - Main Stylesheet
 * Tema para tienda de cuidado capilar
 * Estilo inspirado en Madre Tierra con paleta Filuna
 * 
 * @version 2.0.0
 */

/* ==========================================================================
   1. DESIGN TOKENS (Variables CSS)
   ========================================================================== */

:root {
    /* FILUNA: Paleta de colores principal */
    --color-primary: #ff9064;        /* Coral/Naranja - principal */
    --color-primary-dark: #e87a50;   /* Coral oscuro - hover */
    --color-primary-light: #ffab85;  /* Coral claro */
    
    --color-secondary: #9c6d59;      /* Marrón - texto/acentos */
    --color-secondary-dark: #7a5545;
    --color-secondary-light: #b8897a;
    
    --color-cream: #fae7d8;          /* Crema - fondo principal */
    --color-cream-light: #fdf3ed;    /* Crema muy claro */
    --color-cream-dark: #f5dac7;     /* Crema oscuro */
    
    /* FILUNA: Colores de apoyo */
    --color-blue: #9cd0f2;
    --color-pink: #ef8895;
    --color-green: #cad562;
    --color-yellow: #fff393;
    --color-turquoise: #90ccbd;
    
    /* FILUNA: Colores base */
    --color-bg: #fdf8f4;             /* Fondo principal */
    --color-bg-alt: #fae7d8;         /* Fondo alternativo */
    --color-white: #ffffff;
    --color-black: #1a1a1a;
    
    --color-text: #3d3d3d;           /* Texto principal */
    --color-text-light: #6b6b6b;     /* Texto secundario */
    --color-text-muted: #9b9b9b;     /* Texto deshabilitado */
    --color-border: #e8ddd4;
    
    --color-success: #90ccbd;
    --color-error: #ef8895;
    --color-warning: #fff393;
    
    /* ========================================================================
       TIPOGRAFÍA - CAMBIA AQUÍ PARA PROBAR DIFERENTES FUENTES
       ======================================================================== */
    
    /* OPCIÓN ACTUAL: Varela Round (Sans Rounded Medium) */
    --font-heading: 'Varela Round', 'Helvetica Neue', sans-serif;
    --font-body: 'Varela Round', 'Helvetica Neue', sans-serif;
    
    /* OPCIÓN: Poppins (la anterior) */
    /* --font-heading: 'Playfair Display', 'Georgia', serif; */
    /* --font-body: 'Poppins', 'Helvetica Neue', sans-serif; */
    
    /* OPCIÓN: Nunito */
    /* --font-heading: 'Nunito', 'Helvetica Neue', sans-serif; */
    /* --font-body: 'Nunito', 'Helvetica Neue', sans-serif; */
    
    /* OPCIÓN: Quicksand */
    /* --font-heading: 'Quicksand', 'Helvetica Neue', sans-serif; */
    /* --font-body: 'Quicksand', 'Helvetica Neue', sans-serif; */
    
    /* OPCIÓN: Comfortaa */
    /* --font-heading: 'Comfortaa', 'Helvetica Neue', sans-serif; */
    /* --font-body: 'Comfortaa', 'Helvetica Neue', sans-serif; */
    
    /* Fuente decorativa (siempre Caveat) */
    --font-accent: 'Caveat', cursive;
    
    /* FILUNA: Tamaños de fuente */
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;
    --text-7xl: 4.5rem;
    
    /* FILUNA: Espaciado */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    
    /* FILUNA: Layout */
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1400px;
    --container-2xl: 1600px;
    --container-full: 1800px;
    
    /* FILUNA: Bordes y sombras */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;
    
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    
    /* FILUNA: Transiciones */
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 350ms ease;
    
    /* FILUNA: Z-index */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
}

/* ==========================================================================
   2. RESET & BASE
   ========================================================================== */

/* ============================================================================
   TIPOGRAFÍAS - FÁCIL DE CAMBIAR
   ============================================================================
   Para cambiar la tipografía:
   1. Descomenta la línea @import de la fuente que quieras usar
   2. Cambia las variables --font-body y --font-heading en :root
   
   Fuentes disponibles:
   - Poppins (actual): moderna, geométrica, muy legible
   - Varela Round: sans-serif redondeada, amigable
   - Nunito: sans-serif redondeada, versátil
   - Quicksand: geométrica redondeada, elegante
   - Comfortaa: muy redondeada, juvenil
   ============================================================================ */

/* Fuente actual: Poppins + Playfair Display */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* Opción: Varela Round (Sans Rounded) */
@import url('https://fonts.googleapis.com/css2?family=Varela+Round&display=swap');

/* Opción: Nunito (Sans Rounded con más pesos) */
/* @import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700&display=swap'); */

/* Opción: Quicksand */
/* @import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap'); */

/* Opción: Comfortaa */
/* @import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;600;700&display=swap'); */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-text);
    background-color: var(--color-bg);
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-text);
    margin-top: 0;
    letter-spacing: 0.02em;
}

h1 { font-size: var(--text-5xl); }
h2 { font-size: var(--text-4xl); }
h3 { font-size: var(--text-3xl); }
h4 { font-size: var(--text-2xl); }
h5 { font-size: var(--text-xl); }
h6 { font-size: var(--text-lg); }

p {
    margin-top: 0;
    margin-bottom: var(--space-4);
}

a {
    color: var(--color-secondary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--color-primary);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ==========================================================================
   3. UTILIDADES
   ========================================================================== */

.filuna-container {
    width: 100%;
    max-width: var(--container-2xl);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--space-4);
    padding-right: var(--space-4);
}

@media (min-width: 768px) {
    .filuna-container {
        padding-left: var(--space-8);
        padding-right: var(--space-8);
    }
}

@media (min-width: 1200px) {
    .filuna-container {
        padding-left: var(--space-10);
        padding-right: var(--space-10);
    }
}

.filuna-container--wide {
    max-width: var(--container-full);
}

.filuna-container--full {
    max-width: 100%;
    padding-left: var(--space-6);
    padding-right: var(--space-6);
}

@media (min-width: 768px) {
    .filuna-container--full {
        padding-left: var(--space-10);
        padding-right: var(--space-10);
    }
}

/* FILUNA: Secciones */
.filuna-section {
    padding-top: var(--space-14);
    padding-bottom: var(--space-14);
}

@media (min-width: 768px) {
    .filuna-section {
        padding-top: var(--space-16);
        padding-bottom: var(--space-16);
    }
}

.filuna-section--sm {
    padding-top: var(--space-10);
    padding-bottom: var(--space-10);
}

.filuna-section--cream {
    background-color: var(--color-cream);
}

.filuna-section--white {
    background-color: var(--color-white);
}

.filuna-section--gradient {
    background: linear-gradient(180deg, var(--color-cream) 0%, var(--color-bg) 100%);
}

/* FILUNA: Títulos de sección */
.filuna-section__header {
    text-align: center;
    margin-bottom: var(--space-12);
}

.filuna-section__eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--color-text-light);
    margin-bottom: var(--space-3);
}

.filuna-section__title {
    font-family: var(--font-body);
    font-size: var(--text-xl);
    font-weight: 600;
    margin-bottom: var(--space-4);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .filuna-section__title {
        font-size: var(--text-2xl);
    }
}

.filuna-section__subtitle {
    font-size: var(--text-lg);
    color: var(--color-text-light);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* FILUNA: Botones */
.filuna-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-8);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    border: 2px solid transparent;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--transition-base);
}

.filuna-btn--primary {
    background-color: var(--color-secondary);
    color: var(--color-white);
    border-color: var(--color-secondary);
}

.filuna-btn--primary:hover {
    background-color: var(--color-secondary-dark);
    border-color: var(--color-secondary-dark);
    color: var(--color-white);
}

.filuna-btn--secondary {
    background-color: transparent;
    color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.filuna-btn--secondary:hover {
    background-color: var(--color-secondary);
    color: var(--color-white);
}

.filuna-btn--coral {
    background-color: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
    border-radius: var(--radius-full);
}

.filuna-btn--coral:hover {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
    color: var(--color-white);
}

.filuna-btn--lg {
    padding: var(--space-5) var(--space-10);
    font-size: var(--text-base);
}

.filuna-btn--sm {
    padding: var(--space-2) var(--space-5);
    font-size: var(--text-xs);
}

/* ==========================================================================
   4. BARRA SUPERIOR (Anuncio)
   ========================================================================== */

.filuna-topbar {
    background-color: var(--color-cream);
    padding: var(--space-2) var(--space-4);
    text-align: center;
    border-bottom: 1px solid var(--color-cream-dark);
}

@media (max-width: 767px) {
    .filuna-topbar {
        padding: 10px 16px;
    }
}

.filuna-topbar__text {
    font-size: var(--text-xs);
    color: var(--color-text);
    margin: 0;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

@media (max-width: 767px) {
    .filuna-topbar__text {
        font-size: 11px;
        line-height: 1.4;
        /* Permitir 2 líneas como Madre Tierra */
    }
}

.filuna-topbar__text a {
    color: var(--color-primary);
    text-decoration: underline;
    font-weight: 500;
}

.filuna-topbar__text a:hover {
    color: var(--color-primary-dark);
}

.filuna-topbar__highlight {
    color: var(--color-primary);
    font-weight: 600;
}

/* ==========================================================================
   5. HEADER - Estilo Madre Tierra
   ========================================================================== */

.filuna-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-sticky);
    background-color: var(--color-white);
    transition: box-shadow var(--transition-base);
}

.filuna-header.is-scrolled {
    box-shadow: var(--shadow-md);
}

/* Mobile: Una sola fila - Hamburguesa | Logo | Iconos */
.filuna-header__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    height: 60px;
    gap: var(--space-2);
    padding: 0 var(--space-3);
}

/* Desktop: Dos filas - Logo+iconos arriba, menú abajo */
@media (min-width: 1024px) {
    .filuna-header__inner {
        display: block;
        height: auto;
        padding: 0;
    }
}

/* ====== FILA 1: Logo centrado + Iconos a la derecha ====== */
.filuna-header__logo-row {
    display: none;
}

@media (min-width: 1024px) {
    .filuna-header__logo-row {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        padding: var(--space-2) 0;
    }
}

/* FILUNA: Logo centrado */
.filuna-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.filuna-logo img {
    height: 50px;
    width: auto;
    max-width: 120px;
    object-fit: contain;
}

@media (min-width: 1024px) {
    .filuna-logo img {
        height: 125px;
        max-width: 250px;
    }
}

.filuna-logo__text {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--color-primary);
    letter-spacing: 0.02em;
}

@media (min-width: 1024px) {
    .filuna-logo__text {
        font-size: 2.8rem;
    }
}

/* Iconos a la derecha del logo (misma fila) */
@media (min-width: 1024px) {
    .filuna-header__logo-row .filuna-header__actions {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }
}

/* ====== FILA 2: Menú centrado (sin línea) ====== */
.filuna-header__nav-row {
    display: none;
}

@media (min-width: 1024px) {
    .filuna-header__nav-row {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: var(--space-3) 0 var(--space-4);
    }
}

/* FILUNA: Mobile - ocultar elementos desktop */
.filuna-header__logo-row {
    display: none;
}

/* Mobile: Layout hamburguesa | logo | iconos */
.filuna-header__left--mobile {
    display: flex;
    justify-content: flex-start;
}

.filuna-logo--mobile {
    display: flex;
    justify-content: center;
}

.filuna-header__actions--mobile {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-1);
}

/* Desktop: Mostrar estructura de dos filas */
@media (min-width: 1024px) {
    .filuna-header__left--mobile,
    .filuna-logo--mobile,
    .filuna-header__actions--mobile {
        display: none !important;
    }
    
    .filuna-header__logo-row {
        display: flex;
    }
}

/* FILUNA: Navegación - Fila del menú */
.filuna-header__nav-row {
    display: none;
}

@media (min-width: 1024px) {
    .filuna-header__nav-row {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .filuna-header__nav-row .filuna-nav__list {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-8);
        list-style: none;
        margin: 0;
        padding: 0;
    }
}

.filuna-nav__list {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    list-style: none;
    margin: 0;
    padding: 0;
}

.filuna-nav__link {
    font-size: var(--text-sm);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text);
    padding: var(--space-2) 0;
    position: relative;
}

.filuna-nav__link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: var(--color-primary);
    transition: width var(--transition-base);
}

.filuna-nav__link:hover,
.filuna-nav__link.is-active {
    color: var(--color-primary);
}

.filuna-nav__link:hover::after,
.filuna-nav__link.is-active::after {
    width: 100%;
}

/* FILUNA: Acciones del header (iconos) */
.filuna-header__actions {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

@media (min-width: 1024px) {
    .filuna-header__logo-row .filuna-header__actions {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        gap: var(--space-4);
    }
}

.filuna-header__action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--color-text);
    border-radius: var(--radius-full);
    transition: all var(--transition-fast);
    position: relative;
}

.filuna-header__action:hover {
    background-color: var(--color-cream);
    color: var(--color-primary);
}

.filuna-header__action svg {
    width: 22px;
    height: 22px;
}

/* FILUNA: Badge del carrito */
.filuna-cart-count {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    font-size: 10px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    color: var(--color-white);
    background-color: var(--color-primary);
    border-radius: var(--radius-full);
}

/* FILUNA: Botón menú móvil */
.filuna-menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
}

@media (min-width: 1024px) {
    .filuna-menu-toggle {
        display: none;
    }
}

/* FILUNA: Menú móvil drawer */
.filuna-mobile-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 320px;
    height: 100vh;
    background-color: var(--color-white);
    z-index: var(--z-modal);
    transition: right var(--transition-base);
    overflow-y: auto;
    box-shadow: var(--shadow-xl);
}

.filuna-mobile-menu.is-open {
    right: 0;
}

.filuna-mobile-menu__header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: var(--space-4) var(--space-6);
    border-bottom: 1px solid var(--color-border);
}

/* Ocultar logo en el menú móvil */
.filuna-mobile-menu__header .filuna-logo,
.filuna-mobile-menu__header > a,
.filuna-mobile-menu__header .custom-logo-link,
.filuna-mobile-menu__header img {
    display: none !important;
}

.filuna-mobile-menu__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
}

.filuna-mobile-menu__nav {
    padding: var(--space-6);
}

.filuna-mobile-menu__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.filuna-mobile-menu__item {
    border-bottom: 1px solid var(--color-border);
}

.filuna-mobile-menu__link {
    display: block;
    padding: var(--space-4) 0;
    font-size: var(--text-lg);
    font-weight: 500;
    color: var(--color-text);
}

.filuna-mobile-menu__link:hover {
    color: var(--color-primary);
}

/* FILUNA: Overlay */
.filuna-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: var(--z-modal-backdrop);
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-base);
}

.filuna-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

/* ==========================================================================
   6. HERO SLIDER - Banners rotativos (Estilo Madre Tierra)
   Desktop: ID 2 (horizontal) | Mobile: ID 3 (vertical/portrait)
   ========================================================================== */

/* Mostrar/ocultar sliders según dispositivo */
.filuna-hero-slider--desktop {
    display: block;
}

.filuna-hero-slider--mobile {
    display: none;
}

@media (max-width: 767px) {
    .filuna-hero-slider--desktop {
        display: none !important;
    }
    
    .filuna-hero-slider--mobile {
        display: block !important;
    }
}

/* Container del slider - Ocupa hasta 20px antes del final de pantalla */
/* Desktop: 100vh - topbar(~40px) - header(~180px) - 20px margen = 100vh - 240px */
section.filuna-hero-slider {
    position: relative;
    width: 100%;
    overflow: hidden !important;
    background-color: var(--color-cream);
    height: calc(100vh - 240px) !important;
    min-height: 400px !important;
    max-height: none !important;
    margin-bottom: 20px;
}

/* Smart Slider 3 - Override TOTAL con máxima especificidad */
section.filuna-hero-slider > div,
section.filuna-hero-slider [id^="n2-ss"],
section.filuna-hero-slider [class^="n2-"],
section.filuna-hero-slider [class*=" n2-"],
section.filuna-hero-slider .n2-ss-slider,
section.filuna-hero-slider .n2-ss-slider-1,
section.filuna-hero-slider .n2-ss-slider-2,
section.filuna-hero-slider .n2-ss-slider-3,
section.filuna-hero-slider .n2-ss-slide,
section.filuna-hero-slider .n2-ss-slide-active,
section.filuna-hero-slider .n2-ss-layers-container,
section.filuna-hero-slider .n2-ss-slider-wrapper-inside,
section.filuna-hero-slider .n2-ss-section-main-content,
section.filuna-hero-slider .n2-ss-slider-background-video-container,
section.filuna-hero-slider .n2-ss-slider-controls,
section.filuna-hero-slider .n2-ss-align {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    height: calc(100vh - 240px) !important;
    min-height: 400px !important;
    max-height: none !important;
}

/* Las imágenes deben cubrir todo el slide */
section.filuna-hero-slider .n2-ss-slide-background,
section.filuna-hero-slider .n2-ss-slide-background-image,
section.filuna-hero-slider [class*="slide-background"],
section.filuna-hero-slider img {
    background-size: cover !important;
    background-position: center center !important;
    object-fit: cover !important;
    height: 100% !important;
    width: 100% !important;
}

/* ============================================
   MOBILE - Slider grande como Madre Tierra
   Header mobile: topbar(~45px) + header(~60px) + margen(20px) = 125px
   ============================================ */
@media (max-width: 767px) {
    section.filuna-hero-slider {
        height: calc(100vh - 125px) !important;
        min-height: 400px !important;
        max-height: none !important;
        margin-bottom: 20px;
    }
    
    section.filuna-hero-slider > div,
    section.filuna-hero-slider [id^="n2-ss"],
    section.filuna-hero-slider [class^="n2-"],
    section.filuna-hero-slider [class*=" n2-"],
    section.filuna-hero-slider .n2-ss-slider,
    section.filuna-hero-slider .n2-ss-slider-1,
    section.filuna-hero-slider .n2-ss-slider-2,
    section.filuna-hero-slider .n2-ss-slider-3,
    section.filuna-hero-slider .n2-ss-slide,
    section.filuna-hero-slider .n2-ss-slide-active,
    section.filuna-hero-slider .n2-ss-layers-container,
    section.filuna-hero-slider .n2-ss-slider-wrapper-inside,
    section.filuna-hero-slider .n2-ss-section-main-content,
    section.filuna-hero-slider .n2-ss-align {
        height: calc(100vh - 125px) !important;
        min-height: 400px !important;
        max-height: none !important;
    }
}


/* Smart Slider 3 - OCULTAR flechas laterales completamente */
.nextend-arrow,
[class*="nextend-arrow"],
[class*="arrow-next"],
[class*="arrow-prev"],
.n2-ss-slider-controls,
div[id^="n2-ss"] .nextend-arrow,
div[id^="n2-ss"] [class*="nextend-arrow"],
div[id^="n2-ss"] .n2-ss-slider-controls,
.filuna-hero-slider .nextend-arrow,
.filuna-hero-slider [class*="nextend-arrow"],
.filuna-hero-slider .n2-ss-slider-controls {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

/* Ocultar imágenes de flechas */
[class*="nextend-arrow"] img,
[class*="arrow-next"] img,
[class*="arrow-prev"] img,
.n2-arrow-normal-img {
    display: none !important;
}

/* Bullets/Dots del slider más pequeños y elegantes */
.filuna-hero-slider .n2-ss-slider-bullet-bar {
    bottom: 20px !important;
}

.filuna-hero-slider .n2-bullet {
    width: 8px !important;
    height: 8px !important;
    background-color: rgba(156, 109, 89, 0.4) !important;
    border: none !important;
    margin: 0 4px !important;
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

.filuna-hero-slider .n2-bullet:hover,
.filuna-hero-slider .n2-bullet.n2-active {
    background-color: var(--color-primary) !important;
    transform: scale(1.2);
}

/* Flecha scroll abajo del slider - posición relativa al contenedor */
.filuna-hero-slider {
    position: relative;
}

.filuna-hero-slider > .filuna-hero__scroll {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
}

/* Placeholder cuando no hay Smart Slider */
.filuna-slider-placeholder {
    min-height: 450px;
    background: linear-gradient(135deg, var(--color-cream) 0%, var(--color-cream-dark) 100%);
}

/* Slider nativo (fallback) */
.filuna-native-slider {
    position: relative;
    width: 100%;
    height: 70vh;
    min-height: 500px;
    max-height: 700px;
    overflow: hidden;
}

@media (min-width: 768px) {
    .filuna-native-slider {
        height: 80vh;
        min-height: 550px;
    }
}

.filuna-native-slider__track {
    display: flex;
    width: 300%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.filuna-native-slider__slide {
    position: relative;
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.filuna-slide__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.filuna-slide__content {
    position: relative;
    z-index: 2;
    max-width: 500px;
    padding: var(--space-8) 0;
}

@media (max-width: 767px) {
    .filuna-slide__content {
        text-align: center;
        max-width: 100%;
        padding: var(--space-6);
    }
    
    .filuna-slide__image {
        display: none !important;
    }
    
    .filuna-slide__inner {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }
    
    .filuna-slide__inner > div {
        text-align: center !important;
    }
}

.filuna-slide__title {
    margin-bottom: var(--space-4);
}

.filuna-slide__subtitle {
    margin-bottom: var(--space-6);
}

/* Indicadores/Dots */
.filuna-native-slider__dots {
    position: absolute;
    bottom: var(--space-8);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--space-2);
    z-index: 10;
}

.filuna-native-slider__dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    border-radius: var(--radius-full);
    background-color: var(--color-secondary-light);
    cursor: pointer;
    transition: all var(--transition-base);
    opacity: 0.5;
}

.filuna-native-slider__dot:hover {
    opacity: 0.8;
}

.filuna-native-slider__dot.is-active {
    width: 30px;
    background-color: var(--color-primary);
    opacity: 1;
}

/* Flecha scroll dentro del slider */
.filuna-native-slider .filuna-hero__scroll {
    bottom: var(--space-16);
}

/* ==========================================================================
   6b. HERO ESTÁTICO (Backup)
   ========================================================================== */

.filuna-hero {
    position: relative;
    min-height: 85vh;
    display: flex;
    align-items: center;
    background-color: var(--color-cream);
    overflow: hidden;
}

.filuna-hero__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
    align-items: center;
    width: 100%;
}

@media (min-width: 1024px) {
    .filuna-hero__inner {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-16);
    }
}

/* Contenido del Hero */
.filuna-hero__content {
    text-align: center;
    padding: var(--space-8) 0;
}

@media (min-width: 1024px) {
    .filuna-hero__content {
        text-align: left;
        padding: var(--space-10) 0;
    }
}

.filuna-hero__handwritten {
    font-family: var(--font-accent);
    font-size: var(--text-4xl);
    font-weight: 500;
    color: var(--color-secondary);
    line-height: 1.2;
    margin-bottom: var(--space-4);
}

@media (min-width: 768px) {
    .filuna-hero__handwritten {
        font-size: var(--text-5xl);
    }
}

@media (min-width: 1024px) {
    .filuna-hero__handwritten {
        font-size: var(--text-6xl);
    }
}

.filuna-hero__highlight {
    display: block;
    color: var(--color-primary);
    font-size: 1.1em;
}

.filuna-hero__features {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: center;
    margin-top: var(--space-6);
}

@media (min-width: 1024px) {
    .filuna-hero__features {
        justify-content: flex-start;
    }
}

.filuna-hero__feature {
    font-family: var(--font-accent);
    font-size: var(--text-xl);
    color: var(--color-secondary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.filuna-hero__feature::before {
    content: '→';
    color: var(--color-primary);
}

/* Imagen del Hero */
.filuna-hero__image {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.filuna-hero__image img {
    max-width: 100%;
    max-height: 500px;
    object-fit: contain;
}

@media (min-width: 1024px) {
    .filuna-hero__image img {
        max-height: 600px;
    }
}

/* CTA del Hero */
.filuna-hero__cta {
    margin-top: var(--space-8);
}

.filuna-hero__cta-text {
    font-family: var(--font-accent);
    font-size: var(--text-2xl);
    color: var(--color-primary);
    margin-bottom: var(--space-2);
}

.filuna-hero__cta-subtitle {
    font-size: var(--text-lg);
    color: var(--color-text-light);
    margin-bottom: var(--space-4);
}

.filuna-hero__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (min-width: 1024px) {
    .filuna-hero__stat {
        align-items: flex-start;
    }
}

.filuna-hero__stat-number {
    font-family: var(--font-accent);
    font-size: var(--text-7xl);
    color: var(--color-primary);
    line-height: 1;
}

.filuna-hero__stat-text {
    font-family: var(--font-accent);
    font-size: var(--text-2xl);
    color: var(--color-primary);
}

/* Flecha de scroll */
.filuna-hero__scroll {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: var(--radius-full);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    color: var(--color-secondary);
    cursor: pointer;
    transition: all var(--transition-base);
    z-index: 50;
    animation: bounce 2.5s ease-in-out infinite;
}

.filuna-hero__scroll:hover {
    background-color: var(--color-white);
    color: var(--color-primary);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.filuna-hero__scroll svg {
    width: 18px;
    height: 18px;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(-6px); }
    60% { transform: translateX(-50%) translateY(-3px); }
}

/* ==========================================================================
   7. PRODUCTOS - Carrusel estilo Madre Tierra
   ========================================================================== */

.filuna-products__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-8);
}

.filuna-products__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-4);
}

@media (min-width: 768px) {
    .filuna-products__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-6);
    }
}

@media (min-width: 1024px) {
    .filuna-products__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* FILUNA: Card de producto */
.filuna-product-card {
    background-color: var(--color-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all var(--transition-base);
    position: relative;
}

/* Hover solo en imagen, no en toda la tarjeta */

.filuna-product-card__badge {
    position: absolute;
    top: var(--space-3);
    left: var(--space-3);
    padding: var(--space-1) var(--space-3);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-white);
    background-color: var(--color-primary);
    border-radius: var(--radius-sm);
    z-index: 1;
}

.filuna-product-card__image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background-color: var(--color-cream-light);
}

.filuna-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.filuna-product-card:hover .filuna-product-card__image img {
    transform: scale(1.05);
}

.filuna-product-card__info {
    padding: var(--space-4);
    text-align: center;
}

.filuna-product-card__title {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text);
    margin-bottom: var(--space-2);
}

.filuna-product-card__price {
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-text);
}

.filuna-product-card__price-old {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    text-decoration: line-through;
    margin-right: var(--space-2);
}

.filuna-product-card__price-new {
    color: var(--color-primary);
}

/* ==========================================================================
   8. TESTIMONIOS - Carrusel
   ========================================================================== */

.filuna-testimonials {
    overflow: hidden;
}

.filuna-testimonials__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
}

@media (min-width: 640px) {
    .filuna-testimonials__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-5);
    }
}

@media (min-width: 900px) {
    .filuna-testimonials__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1200px) {
    .filuna-testimonials__grid {
        grid-template-columns: repeat(5, 1fr);
        gap: var(--space-4);
    }
}

.filuna-testimonial-card {
    background-color: var(--color-white);
    border-radius: var(--radius-lg);
    padding: var(--space-5);
    text-align: center;
    transition: all var(--transition-base);
    display: flex;
    flex-direction: column;
}

.filuna-testimonial-card:hover {
    box-shadow: var(--shadow-lg);
    transform: scale(1.05);
}

.filuna-testimonial-card {
    transition: all 0.3s ease;
}

.filuna-testimonial-card__stars {
    display: flex;
    justify-content: center;
    gap: 2px;
    margin-bottom: var(--space-3);
    color: #FFD700;
}

.filuna-testimonial-card__stars svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}

.filuna-testimonial-card__text {
    font-size: 13px;
    color: var(--color-text-light);
    line-height: 1.5;
    margin-bottom: var(--space-4);
    flex: 1;
}

.filuna-testimonial-card__author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    margin-top: auto;
}

.filuna-testimonial-card__avatar {
    width: 50px;
    height: 50px;
    border-radius: var(--radius-full);
    overflow: hidden;
    background-color: var(--color-cream);
    flex-shrink: 0;
}

.filuna-testimonial-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.filuna-testimonial-card__avatar--initials {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-weight: 600;
    font-size: var(--text-base);
    letter-spacing: 0.05em;
}

.filuna-testimonial-card__author-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.filuna-testimonial-card__name {
    font-weight: 600;
    font-size: 13px;
    color: var(--color-text);
}

.filuna-testimonial-card__subtitle {
    font-size: 11px;
    color: var(--color-text-light);
}

/* Carrusel de Testimonios */
.filuna-testimonials-carousel {
    position: relative;
    padding: 0 50px;
}

@media (max-width: 767px) {
    .filuna-testimonials-carousel {
        padding: 0 35px;
    }
}

.filuna-testimonials-swiper {
    overflow: hidden;
}

.filuna-testimonials-swiper .swiper-slide {
    height: auto;
}

.filuna-testimonials-swiper .filuna-testimonial-card {
    height: 100%;
}

/* ==========================================================================
   MODAL DE TESTIMONIO
   ========================================================================== */

.filuna-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
}

.filuna-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
}

.filuna-modal__content {
    position: relative;
    background-color: var(--color-white);
    border-radius: var(--radius-xl);
    padding: var(--space-8);
    max-width: 480px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: var(--shadow-xl);
}

.filuna-modal__close {
    position: absolute;
    top: var(--space-4);
    right: var(--space-4);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text-light);
    padding: var(--space-2);
    transition: color var(--transition-base);
}

.filuna-modal__close:hover {
    color: var(--color-text);
}

.filuna-modal__title {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    color: var(--color-text);
    margin-bottom: var(--space-2);
    text-align: center;
}

.filuna-modal__subtitle {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    text-align: center;
    margin-bottom: var(--space-6);
}

/* Formulario */
.filuna-form__group {
    margin-bottom: var(--space-5);
}

.filuna-form__group label {
    display: block;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-text);
    margin-bottom: var(--space-2);
}

.filuna-form__group input,
.filuna-form__group textarea {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-size: var(--text-base);
    font-family: var(--font-body);
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.filuna-form__group input:focus,
.filuna-form__group textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.15);
}

.filuna-form__group textarea {
    resize: vertical;
    min-height: 100px;
}

/* Rating Input */
.filuna-rating-input {
    display: flex;
    gap: var(--space-1);
}

.filuna-rating-star {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #ddd;
    transition: color 0.15s ease, transform 0.15s ease;
}

.filuna-rating-star:hover,
.filuna-rating-star.active {
    color: #FFD700;
    transform: scale(1.1);
}

.filuna-rating-star svg {
    fill: currentColor;
}

.filuna-form__note {
    font-size: var(--text-xs);
    color: var(--color-text-light);
    text-align: center;
    margin-top: var(--space-4);
}

.filuna-btn--full {
    width: 100%;
}

/* Success Message */
.filuna-form__success {
    text-align: center;
    padding: var(--space-8) 0;
}

.filuna-form__success svg {
    color: #22c55e;
    margin-bottom: var(--space-4);
}

.filuna-form__success h4 {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    color: var(--color-text);
    margin-bottom: var(--space-2);
}

.filuna-form__success p {
    color: var(--color-text-light);
}

/* ==========================================================================
   TEST CAPILAR - QUIZ INMERSIVO
   ========================================================================== */

/* Container principal fullscreen */
.filuna-quiz {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--color-cream) 0%, var(--color-bg) 50%, var(--color-cream-light) 100%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Botón cerrar */
.filuna-quiz__close {
    position: absolute;
    top: var(--space-4);
    right: var(--space-4);
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-white);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: all var(--transition-base);
}

.filuna-quiz__close:hover {
    background: var(--color-cream);
    transform: scale(1.05);
}

.filuna-quiz__close svg {
    color: var(--color-text);
}

/* Container de pantallas */
.filuna-quiz__container {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-6);
    overflow-y: auto;
}

/* Pantallas del quiz */
.filuna-quiz__screen {
    display: none;
    width: 100%;
    max-width: 600px;
    animation: quizFadeIn 0.4s ease-out;
}

.filuna-quiz__screen.active {
    display: block;
}

@keyframes quizFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ========== PANTALLA BIENVENIDA ========== */
.filuna-quiz__welcome-content {
    text-align: center;
    padding: var(--space-6);
}

.filuna-quiz__logo {
    width: 120px;
    height: 120px;
    margin: 0 auto var(--space-6);
    border-radius: 50%;
    background: var(--color-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 30px rgba(230, 126, 34, 0.3);
}

.filuna-quiz__logo img {
    width: 80%;
    height: auto;
}

.filuna-quiz__logo span {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    color: var(--color-white);
}

.filuna-quiz__welcome-title {
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 5vw, 2.5rem);
    color: var(--color-text);
    margin-bottom: var(--space-4);
    line-height: 1.2;
}

.filuna-quiz__welcome-text {
    font-size: var(--text-base);
    color: var(--color-text-light);
    line-height: 1.7;
    margin-bottom: var(--space-6);
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
}

.filuna-quiz__welcome-features {
    display: flex;
    justify-content: center;
    gap: var(--space-6);
    margin-bottom: var(--space-8);
    flex-wrap: wrap;
}

.filuna-quiz__feature {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-1);
}

.filuna-quiz__feature-icon {
    font-size: 1.5rem;
}

.filuna-quiz__feature span:last-child {
    font-size: var(--text-sm);
    color: var(--color-text-light);
}

.filuna-quiz__start-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-8);
    background: var(--color-primary);
    color: var(--color-white);
    border: none;
    border-radius: var(--radius-full);
    font-size: var(--text-base);
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-base);
    box-shadow: 0 4px 15px rgba(230, 126, 34, 0.4);
}

.filuna-quiz__start-btn:hover {
    background: var(--color-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(230, 126, 34, 0.5);
}

/* ========== PANTALLAS DE PREGUNTAS ========== */
.filuna-quiz__question-content {
    padding: var(--space-4);
}

.filuna-quiz__question-number {
    display: inline-block;
    font-size: var(--text-sm);
    color: var(--color-primary);
    font-weight: 600;
    margin-bottom: var(--space-3);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.filuna-quiz__question {
    font-family: var(--font-heading);
    font-size: clamp(1.25rem, 4vw, 1.75rem);
    color: var(--color-text);
    margin-bottom: var(--space-6);
    line-height: 1.3;
    text-align: center;
}

/* Opciones - Grid (para cards con iconos) */
.filuna-quiz__options--grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-3);
}

.filuna-quiz__options--grid .filuna-quiz__option {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: var(--space-5) var(--space-3);
    background: var(--color-white);
    border: 2px solid var(--color-cream-dark);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: all var(--transition-base);
}

.filuna-quiz__options--grid .filuna-quiz__option:hover {
    border-color: var(--color-primary-light);
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.filuna-quiz__options--grid .filuna-quiz__option.selected {
    border-color: var(--color-primary);
    background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
    color: var(--color-white);
}

.filuna-quiz__option-icon {
    font-size: 2rem;
    margin-bottom: var(--space-2);
}

.filuna-quiz__option-text {
    font-weight: 600;
    font-size: var(--text-base);
    margin-bottom: var(--space-1);
}

.filuna-quiz__option-desc {
    font-size: var(--text-xs);
    opacity: 0.8;
    line-height: 1.4;
}

/* Opciones - Lista (para opciones con radio) */
.filuna-quiz__options--list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.filuna-quiz__options--list .filuna-quiz__option {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4) var(--space-5);
    background: var(--color-white);
    border: 2px solid var(--color-cream-dark);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: all var(--transition-base);
    text-align: left;
}

.filuna-quiz__options--list .filuna-quiz__option:hover {
    border-color: var(--color-primary-light);
    background: var(--color-cream-light);
}

.filuna-quiz__options--list .filuna-quiz__option.selected {
    border-color: var(--color-primary);
    background: var(--color-cream);
}

.filuna-quiz__option-radio {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border: 2px solid var(--color-cream-dark);
    border-radius: 50%;
    position: relative;
    transition: all var(--transition-base);
}

.filuna-quiz__options--list .filuna-quiz__option.selected .filuna-quiz__option-radio {
    border-color: var(--color-primary);
}

.filuna-quiz__options--list .filuna-quiz__option.selected .filuna-quiz__option-radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background: var(--color-primary);
    border-radius: 50%;
}

.filuna-quiz__option-content {
    flex: 1;
}

.filuna-quiz__options--list .filuna-quiz__option-text {
    font-weight: 500;
    font-size: var(--text-base);
    color: var(--color-text);
    margin-bottom: 0;
}

.filuna-quiz__options--list .filuna-quiz__option-desc {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    margin-top: var(--space-1);
}

/* ========== PANTALLA RESULTADO ========== */
.filuna-quiz__screen--result {
    max-height: 100%;
    overflow-y: auto;
    padding-bottom: 100px;
}

.filuna-quiz__screen--result .filuna-quiz__result-content {
    text-align: center;
    padding: var(--space-4);
    padding-bottom: var(--space-8);
}

.filuna-quiz__result-icon {
    font-size: 4rem;
    margin-bottom: var(--space-4);
}

.filuna-quiz__result-title {
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 4vw, 2rem);
    color: var(--color-text);
    margin-bottom: var(--space-6);
}

.filuna-quiz__result-summary {
    background: var(--color-white);
    padding: var(--space-5);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-6);
    text-align: left;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.filuna-quiz__result-summary h4 {
    font-size: var(--text-lg);
    color: var(--color-primary);
    margin-bottom: var(--space-3);
}

.filuna-quiz__result-summary p {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    line-height: 1.7;
    margin-bottom: var(--space-3);
}

.filuna-quiz__result-summary ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.filuna-quiz__result-summary li {
    padding: var(--space-2) 0;
    padding-left: var(--space-6);
    position: relative;
    font-size: var(--text-sm);
    color: var(--color-text);
}

.filuna-quiz__result-summary li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--color-primary);
    font-weight: bold;
}

/* ========== PRODUCTOS RECOMENDADOS ========== */
.filuna-quiz__products-title {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    color: var(--color-text);
    margin-bottom: var(--space-4);
    text-align: center;
}

.filuna-quiz__result-products {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-6);
    padding: var(--space-2);
}


.filuna-quiz__product {
    flex: 0 0 150px;
    max-width: 150px;
    background: var(--color-white);
    border-radius: var(--radius-lg);
    padding: var(--space-3);
    text-align: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    transition: all var(--transition-base);
}

.filuna-quiz__products-loading {
    flex: 1;
    text-align: center;
    padding: var(--space-6);
    color: var(--color-text-light);
}

.filuna-quiz__product:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.filuna-quiz__product-image {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    border-radius: var(--radius-md);
    margin-bottom: var(--space-2);
    background: var(--color-cream-light);
}

.filuna-quiz__product-name {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: var(--space-1);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.filuna-quiz__product-price {
    font-size: var(--text-sm);
    color: var(--color-primary);
    font-weight: 700;
    margin-bottom: var(--space-2);
}

.filuna-quiz__product-price del {
    color: var(--color-text-light);
    font-weight: 400;
    margin-right: var(--space-1);
}

.filuna-quiz__product-btn {
    display: block;
    width: 100%;
    padding: var(--space-2) var(--space-3);
    background: var(--color-primary);
    color: var(--color-white);
    border: none;
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-base);
}

.filuna-quiz__product-btn:hover {
    background: var(--color-primary-dark);
}

.filuna-quiz__product-btn:disabled {
    background: var(--color-cream-dark);
    cursor: not-allowed;
}

.filuna-quiz__product-btn--added {
    background: var(--color-success, #27ae60);
}

.filuna-quiz__result-actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: center;
    margin-top: var(--space-4);
}

.filuna-quiz__result-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3) var(--space-6);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-base);
    text-decoration: none;
    min-width: 200px;
}

.filuna-quiz__result-btn--primary {
    background: var(--color-primary);
    color: var(--color-white);
    border: none;
    box-shadow: 0 4px 15px rgba(230, 126, 34, 0.4);
}

.filuna-quiz__result-btn--primary:hover {
    background: var(--color-primary-dark);
    transform: translateY(-2px);
}

.filuna-quiz__result-btn--secondary {
    background: var(--color-text);
    color: var(--color-white);
    border: none;
}

.filuna-quiz__result-btn--secondary:hover {
    background: var(--color-text-light);
}

.filuna-quiz__result-btn--outline {
    background: transparent;
    color: var(--color-text-light);
    border: 2px solid var(--color-cream-dark);
}

.filuna-quiz__result-btn--outline:hover {
    border-color: var(--color-primary-light);
    color: var(--color-primary);
}

/* ========== BARRA DE PROGRESO ========== */
.filuna-quiz__progress {
    padding: var(--space-4) var(--space-6);
    background: var(--color-white);
    border-top: 1px solid var(--color-cream);
}

.filuna-quiz__progress-bar {
    height: 6px;
    background: var(--color-cream);
    border-radius: var(--radius-full);
    overflow: hidden;
    margin-bottom: var(--space-2);
}

.filuna-quiz__progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
    border-radius: var(--radius-full);
    width: 0%;
    transition: width 0.5s ease;
}

.filuna-quiz__progress-text {
    font-size: var(--text-sm);
    color: var(--color-primary);
    font-weight: 500;
}

/* ========== NAVEGACIÓN ========== */
.filuna-quiz__nav {
    position: absolute;
    bottom: 80px;
    left: var(--space-6);
}

.filuna-quiz__nav-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background: var(--color-white);
    border: 1px solid var(--color-cream-dark);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    color: var(--color-text-light);
    cursor: pointer;
    transition: all var(--transition-base);
}

.filuna-quiz__nav-btn:hover {
    border-color: var(--color-primary-light);
    color: var(--color-primary);
}

/* ========== DESKTOP - Pantalla resultado más ancha ========== */
@media (min-width: 992px) {
    .filuna-quiz__screen--result {
        max-width: 900px;
    }
    
    .filuna-quiz__result-products {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-4);
    }
    
    .filuna-quiz__product {
        flex: none;
        max-width: 100%;
    }
}

@media (min-width: 1200px) {
    .filuna-quiz__screen--result {
        max-width: 1000px;
    }
    
    .filuna-quiz__result-products {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ========== RESPONSIVE ========== */
@media (max-width: 767px) {
    .filuna-quiz__container {
        padding: var(--space-4);
        padding-top: 80px;
    }
    
    .filuna-quiz__close {
        top: var(--space-3);
        right: var(--space-3);
        width: 40px;
        height: 40px;
    }
    
    .filuna-quiz__logo {
        width: 90px;
        height: 90px;
    }
    
    .filuna-quiz__welcome-features {
        gap: var(--space-4);
    }
    
    .filuna-quiz__options--grid {
        grid-template-columns: 1fr;
    }
    
    .filuna-quiz__options--grid .filuna-quiz__option {
        flex-direction: row;
        text-align: left;
        padding: var(--space-4);
    }
    
    .filuna-quiz__option-icon {
        font-size: 1.5rem;
        margin-bottom: 0;
        margin-right: var(--space-3);
    }
    
    .filuna-quiz__nav {
        position: relative;
        bottom: auto;
        left: auto;
        padding: 0 var(--space-4) var(--space-4);
        display: flex;
        justify-content: center;
    }
    
    /* Resultado en mobile - scrollable */
    .filuna-quiz__screen--result {
        overflow-y: auto;
        max-height: calc(100vh - 120px);
        padding-bottom: 20px;
    }
    
    .filuna-quiz__result-content {
        padding-bottom: var(--space-6);
    }
    
    .filuna-quiz__result-products {
        gap: var(--space-2);
    }
    
    .filuna-quiz__product {
        flex: 0 0 calc(50% - var(--space-2));
        max-width: calc(50% - var(--space-2));
    }
    
    .filuna-quiz__result-btn {
        min-width: 100%;
    }
}

/* ==========================================================================
   AUTH / LOGIN PAGE - Estilo Madre Tierra con colores Filuna
   ========================================================================== */

.filuna-auth {
    min-height: calc(100vh - 350px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    background: var(--color-bg);
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
}

.filuna-auth__container {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
}

.filuna-auth__form-wrapper {
    background: var(--color-white);
    padding: var(--space-8);
    border-radius: var(--radius-xl);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08);
}

.filuna-auth__form-wrapper--hidden {
    display: none;
}

.filuna-auth__title {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    font-weight: 700;
    text-align: center;
    color: var(--color-text);
    margin-bottom: var(--space-3);
    letter-spacing: 2px;
}

.filuna-auth__subtitle {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    text-align: center;
    margin-bottom: var(--space-6);
    line-height: 1.6;
}

.filuna-auth__form {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.filuna-auth__field {
    position: relative;
}

.filuna-auth__input {
    width: 100%;
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-size: var(--text-base);
    font-family: var(--font-body);
    transition: all var(--transition-base);
    background: var(--color-white);
}

.filuna-auth__input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.1);
}

.filuna-auth__input::placeholder {
    color: var(--color-text-muted);
}

.filuna-auth__field--password {
    position: relative;
}

.filuna-auth__forgot {
    position: absolute;
    right: var(--space-4);
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--text-xs);
    color: var(--color-text-light);
    text-decoration: none;
    transition: color var(--transition-base);
}

.filuna-auth__forgot:hover {
    color: var(--color-primary);
}

.filuna-auth__submit {
    margin-top: var(--space-2);
}

.filuna-auth__btn {
    width: 100%;
    padding: var(--space-4);
    border: none;
    border-radius: var(--radius-md);
    font-size: var(--text-base);
    font-weight: 600;
    font-family: var(--font-body);
    cursor: pointer;
    transition: all var(--transition-base);
    letter-spacing: 1px;
}

.filuna-auth__btn--primary {
    background: var(--color-primary);
    color: var(--color-white);
}

.filuna-auth__btn--primary:hover {
    background: var(--color-primary-dark);
    transform: translateY(-1px);
}

.filuna-auth__divider {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin: var(--space-6) 0;
}

.filuna-auth__divider::before,
.filuna-auth__divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--color-border);
}

.filuna-auth__divider span {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    white-space: nowrap;
}

.filuna-auth__social {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.filuna-auth__social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
    font-size: var(--text-sm);
    font-weight: 500;
    font-family: var(--font-body);
    color: var(--color-text);
    cursor: pointer;
    transition: all var(--transition-base);
}

.filuna-auth__social-btn:hover {
    background: var(--color-cream-light);
    border-color: var(--color-cream-dark);
}

.filuna-auth__social-btn--google:hover {
    border-color: #4285F4;
}

.filuna-auth__switch {
    margin-top: var(--space-6);
    text-align: center;
}

.filuna-auth__switch p {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    margin: 0;
}

.filuna-auth__switch a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 600;
}

.filuna-auth__switch a:hover {
    text-decoration: underline;
}

.filuna-auth__note {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    text-align: center;
    margin: 0;
}

/* WooCommerce overrides for my account page - Login Form Centering */
body.woocommerce-account:not(.logged-in) .filuna-page__header {
    display: none;
}

body.woocommerce-account:not(.logged-in) .filuna-page__content {
    display: flex;
    justify-content: center;
    width: 100%;
}

body.woocommerce-account:not(.logged-in) .filuna-page__content .woocommerce {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* Hide default WooCommerce forms */
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register {
    display: none;
}

/* ==========================================================================
   MI CUENTA - Estilos Filuna
   ========================================================================== */

/* Expandir el contenedor de la página Mi Cuenta - Solo el contenido principal */
body.woocommerce-account.logged-in #main-content .filuna-page__content,
body.woocommerce-account.logged-in #main-content .filuna-page__article,
body.woocommerce-account.logged-in #main-content .filuna-container {
    max-width: 100%;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* Ocultar el header vacío de la página */
body.woocommerce-account.logged-in .filuna-page__header {
    display: none;
}

/* Asegurar que el footer NO se vea afectado */
body.woocommerce-account .filuna-footer .filuna-container,
body.woocommerce-account .filuna-trust .filuna-container {
    max-width: var(--container-2xl);
    padding-left: var(--space-4);
    padding-right: var(--space-4);
}

@media (min-width: 768px) {
    body.woocommerce-account .filuna-footer .filuna-container,
    body.woocommerce-account .filuna-trust .filuna-container {
        padding-left: var(--space-8);
        padding-right: var(--space-8);
    }
}

@media (min-width: 1200px) {
    body.woocommerce-account .filuna-footer .filuna-container,
    body.woocommerce-account .filuna-trust .filuna-container {
        padding-left: var(--space-10);
        padding-right: var(--space-10);
    }
}

body.woocommerce-account.logged-in .woocommerce {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 20px;
    font-family: 'Varela Round', sans-serif;
    box-sizing: border-box;
}

/* Layout principal - Solo cuando está logueado */
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    width: 100%;
}

@media (min-width: 992px) {
    body.woocommerce-account.logged-in .woocommerce {
        display: flex;
        gap: 40px;
        padding: 50px 60px;
        align-items: flex-start;
    }
    
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        flex: 0 0 280px;
        min-width: 280px;
    }
    
    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        flex: 1;
        min-width: 0;
    }
}

@media (min-width: 1200px) {
    body.woocommerce-account.logged-in .woocommerce {
        padding: 60px 80px;
        gap: 50px;
    }
    
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        flex: 0 0 300px;
        min-width: 300px;
    }
}

@media (min-width: 1400px) {
    body.woocommerce-account.logged-in .woocommerce {
        padding: 70px 100px;
        gap: 60px;
    }
    
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        flex: 0 0 320px;
        min-width: 320px;
    }
}

/* Ocultar mensaje original de WooCommerce en inglés */
body.woocommerce-account .woocommerce-MyAccount-content > p:not([class]) {
    display: none !important;
}

/* Mostrar el contenedor del dashboard personalizado */
body.woocommerce-account .woocommerce-MyAccount-content .filuna-dashboard-welcome {
    display: block !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .filuna-dashboard-welcome p {
    display: block !important;
}

/* ===== Tipografía general Mi Cuenta ===== */
body.woocommerce-account.logged-in .woocommerce {
    font-size: 16px;
    line-height: 1.7;
    color: #3d3d3d;
}

body.woocommerce-account.logged-in h1,
body.woocommerce-account.logged-in h2,
body.woocommerce-account.logged-in h3 {
    font-family: 'Varela Round', sans-serif;
    color: #5c4a42;
    font-weight: 600;
}

body.woocommerce-account.logged-in h2 {
    font-size: 26px;
    margin-bottom: 20px;
}

body.woocommerce-account.logged-in h3 {
    font-size: 20px;
    margin-bottom: 15px;
}

/* ===== Navegación lateral ===== */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    background: linear-gradient(135deg, #fdf8f5 0%, #fae7d8 100%);
    border-radius: 16px;
    padding: 12px;
    margin-bottom: 30px;
}

@media (min-width: 992px) {
    body.woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 0;
        position: sticky;
        top: 120px;
        padding: 16px;
    }
}

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

body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0;
    padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
    color: #5c4a42;
    text-decoration: none;
    font-size: 17px;
    font-weight: 500;
    border-radius: 12px;
    transition: all 0.2s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background-color: rgba(156, 109, 89, 0.1);
    color: #9c6d59;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
    background-color: #fff;
    color: #9c6d59;
    box-shadow: 0 2px 8px rgba(156, 109, 89, 0.15);
}

/* Iconos para navegación */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    content: '';
    width: 22px;
    height: 22px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.8;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239c6d59' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239c6d59' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239c6d59' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239c6d59' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 11a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239c6d59' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E");
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239c6d59' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1'/%3E%3C/svg%3E");
}

/* ===== Contenido principal ===== */
body.woocommerce-account .woocommerce-MyAccount-content {
    background: #fff;
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    border: 1px solid #f0ebe5;
    font-size: 16px;
}

@media (min-width: 992px) {
    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 50px;
        font-size: 17px;
    }
}

/* Texto descriptivo de la página */
body.woocommerce-account .woocommerce-MyAccount-content > p.woocommerce-form-row,
body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message {
    font-size: 16px;
    line-height: 1.7;
    color: #5c4a42;
    margin-bottom: 25px;
}

/* ===== Tablas de pedidos ===== */
body.woocommerce-account .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

body.woocommerce-account .woocommerce-orders-table thead th {
    background: #fdf8f5;
    color: #9c6d59;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #fae7d8;
}

body.woocommerce-account .woocommerce-orders-table tbody td {
    padding: 16px;
    border-bottom: 1px solid #f5f0eb;
    color: #5c4a42;
    vertical-align: middle;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:hover {
    background-color: #fdf8f5;
}

body.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
    color: #9c6d59;
    font-weight: 600;
    text-decoration: none;
}

body.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
    color: #ff9064;
}

body.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
    display: inline-block;
    padding: 8px 16px;
    background: #ff9064;
    color: #fff;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
    margin: 2px;
}

body.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover {
    background: #e87a50;
    transform: translateY(-1px);
}

/* Mensaje sin pedidos */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message {
    background: linear-gradient(135deg, #fdf8f5 0%, #fff 100%);
    border: 1px solid #fae7d8;
    border-radius: 12px;
    padding: 40px;
    text-align: center;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message::before {
    display: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message .woocommerce-Button {
    display: inline-block;
    margin-top: 20px;
    padding: 14px 28px;
    background: #ff9064;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message .woocommerce-Button:hover {
    background: #e87a50;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 144, 100, 0.3);
}

/* Los estilos de direcciones están en el template woocommerce/myaccount/my-address.php */

/* ===== Formularios ===== */
body.woocommerce-account .woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-address-fields {
    max-width: 600px;
}

body.woocommerce-account .woocommerce-MyAccount-content fieldset {
    border: none;
    padding: 0;
    margin: 30px 0 0 0;
}

body.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
    font-size: 18px;
    font-weight: 600;
    color: #9c6d59;
    padding-bottom: 12px;
    margin-bottom: 20px;
    border-bottom: 2px solid #fae7d8;
    width: 100%;
}

body.woocommerce-account .woocommerce-MyAccount-content .form-row {
    margin-bottom: 20px;
}

body.woocommerce-account .woocommerce-MyAccount-content .form-row label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #5c4a42;
    margin-bottom: 8px;
}

body.woocommerce-account .woocommerce-MyAccount-content .form-row label .required {
    color: #ff9064;
}

body.woocommerce-account .woocommerce-MyAccount-content .form-row input,
body.woocommerce-account .woocommerce-MyAccount-content .form-row select,
body.woocommerce-account .woocommerce-MyAccount-content .form-row textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #e8ddd4;
    border-radius: 8px;
    font-family: 'Varela Round', sans-serif;
    font-size: 15px;
    color: #3d3d3d;
    background: #fff;
    transition: all 0.2s;
    box-sizing: border-box;
}

body.woocommerce-account .woocommerce-MyAccount-content .form-row input:focus,
body.woocommerce-account .woocommerce-MyAccount-content .form-row select:focus,
body.woocommerce-account .woocommerce-MyAccount-content .form-row textarea:focus {
    outline: none;
    border-color: #ff9064;
    box-shadow: 0 0 0 3px rgba(255, 144, 100, 0.1);
}

body.woocommerce-account .woocommerce-MyAccount-content .form-row em {
    display: block;
    font-size: 12px;
    color: #8a8a8a;
    margin-top: 6px;
    font-style: normal;
}

body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button {
    display: inline-block;
    padding: 14px 32px;
    background: #ff9064;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-family: 'Varela Round', sans-serif;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 10px;
}

body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover {
    background: #e87a50;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 144, 100, 0.3);
}

/* ===== Responsive mobile ===== */
@media (max-width: 767px) {
    .woocommerce-account .woocommerce {
        padding: 20px 15px;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation {
        display: flex;
        overflow-x: auto;
        padding: 6px;
        margin-bottom: 20px;
        -webkit-overflow-scrolling: touch;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        gap: 6px;
        width: max-content;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 10px 14px;
        font-size: 13px;
        white-space: nowrap;
    }
    
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
        width: 18px;
        height: 18px;
    }
    
    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px;
    }
    
    body.woocommerce-account .woocommerce-orders-table {
        font-size: 13px;
    }
    
    body.woocommerce-account .woocommerce-orders-table thead {
        display: none;
    }
    
    body.woocommerce-account .woocommerce-orders-table tbody tr {
        display: block;
        background: #fdf8f5;
        border-radius: 10px;
        padding: 15px;
        margin-bottom: 12px;
        border: 1px solid #f0ebe5;
    }
    
    body.woocommerce-account .woocommerce-orders-table tbody td {
        display: flex;
        justify-content: space-between;
        padding: 8px 0;
        border-bottom: 1px solid #f0ebe5;
    }
    
    body.woocommerce-account .woocommerce-orders-table tbody td:last-child {
        border-bottom: none;
        justify-content: center;
        padding-top: 15px;
    }
    
    body.woocommerce-account .woocommerce-orders-table tbody td::before {
        content: attr(data-title);
        font-weight: 600;
        color: #9c6d59;
        font-size: 12px;
        text-transform: uppercase;
    }
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .filuna-auth {
        padding: var(--space-6) var(--space-4);
    }
    
    .filuna-auth__form-wrapper {
        padding: var(--space-6);
    }
    
    .filuna-auth__forgot {
        position: relative;
        display: block;
        right: auto;
        top: auto;
        transform: none;
        margin-top: var(--space-2);
        text-align: right;
    }
    
    .filuna-auth__field--password .filuna-auth__input {
        padding-right: var(--space-4);
    }
}

/* ==========================================================================
   SEARCH MODAL - Estilo Madre Tierra
   ========================================================================== */

.filuna-search-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    background-color: rgba(255, 255, 255, 0.97);
    animation: fadeIn 0.3s ease;
    display: flex;
    flex-direction: column;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.filuna-search-modal__header {
    display: flex;
    align-items: center;
    padding: var(--space-4) var(--space-6);
    border-bottom: 1px solid var(--color-border);
    gap: var(--space-4);
}

.filuna-search-modal__input-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    background-color: var(--color-cream-light);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-sm);
}

.filuna-search-modal__icon {
    color: var(--color-text-light);
    flex-shrink: 0;
}

.filuna-search-modal__input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--text-sm);
    font-family: var(--font-body);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-text);
}

.filuna-search-modal__input::placeholder {
    color: var(--color-text-light);
}

.filuna-search-modal__input:focus {
    outline: none;
}

.filuna-search-modal__close {
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-2);
    color: var(--color-text);
    transition: opacity var(--transition-base);
}

.filuna-search-modal__close:hover {
    opacity: 0.7;
}

/* Search Results */
.filuna-search-modal__results {
    max-height: 70vh;
    overflow-y: auto;
    padding: var(--space-6);
}

.filuna-search-results__section {
    margin-bottom: var(--space-6);
}

.filuna-search-results__title {
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text);
    margin-bottom: var(--space-4);
    padding-bottom: var(--space-2);
    border-bottom: 2px solid var(--color-text);
    display: inline-block;
}

.filuna-search-results__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: var(--space-6);
}

.filuna-search-product {
    text-align: center;
    text-decoration: none;
    color: var(--color-text);
    transition: transform var(--transition-base);
}

.filuna-search-product:hover {
    transform: translateY(-4px);
}

.filuna-search-product__image {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--radius-sm);
    margin-bottom: var(--space-3);
    background-color: var(--color-cream-light);
}

.filuna-search-product__name {
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-1);
}

.filuna-search-product__price {
    font-size: var(--text-sm);
    color: var(--color-text-light);
}

.filuna-search-results__all {
    text-align: center;
    margin-top: var(--space-6);
}

.filuna-search-results__all-btn {
    display: inline-block;
    padding: var(--space-3) var(--space-8);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-light);
    text-decoration: none;
    transition: all var(--transition-base);
}

.filuna-search-results__all-btn:hover {
    background-color: var(--color-text);
    color: var(--color-white);
    border-color: var(--color-text);
}

.filuna-search-results__empty {
    text-align: center;
    padding: var(--space-8);
    color: var(--color-text-light);
}

.filuna-search-results__loading {
    text-align: center;
    padding: var(--space-8);
    color: var(--color-text-light);
}

/* Search trigger button style */
.filuna-search-trigger {
    background: none;
    border: none;
    cursor: pointer;
}

@media (max-width: 768px) {
    .filuna-search-modal__header {
        padding: var(--space-3) var(--space-4);
    }
    
    .filuna-search-modal__results {
        padding: var(--space-4);
    }
    
    .filuna-search-results__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }
}

/* ==========================================================================
   SEARCH PAGE - Página de resultados
   ========================================================================== */

.filuna-search-page {
    padding: var(--space-8) 0 var(--space-16);
    min-height: 60vh;
}

.filuna-search-page__header {
    text-align: center;
    padding: var(--space-8) 0;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--space-8);
}

.filuna-search-page__title {
    font-family: var(--font-body);
    font-size: var(--text-2xl);
    font-weight: 600;
    letter-spacing: 0.15em;
    margin-bottom: var(--space-2);
}

.filuna-search-page__subtitle {
    font-size: var(--text-sm);
    color: var(--color-text-light);
}

/* Toolbar */
.filuna-search-page__toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: var(--space-6);
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--space-8);
}

.filuna-search-page__count {
    font-size: var(--text-sm);
    color: var(--color-text-light);
}

.filuna-search-page__sort {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.filuna-search-page__sort label {
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-light);
}

.filuna-search-page__form {
    max-width: 600px;
    margin: 0 auto var(--space-8);
}

.filuna-search-page__input-wrapper {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    background-color: var(--color-cream-light);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
}

.filuna-search-page__icon {
    color: var(--color-text-light);
    flex-shrink: 0;
}

.filuna-search-page__input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--text-sm);
    font-family: var(--font-body);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-text);
}

.filuna-search-page__input:focus {
    outline: none;
}

.filuna-search-page__submit {
    background-color: var(--color-text);
    color: var(--color-white);
    border: none;
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    border-radius: var(--radius-sm);
    transition: background-color var(--transition-base);
}

.filuna-search-page__submit:hover {
    background-color: var(--color-primary);
}

.filuna-search-page__content {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: var(--space-8);
}

/* Sidebar de filtros */
.filuna-search-page__sidebar {
    border-right: 1px solid var(--color-border);
    padding-right: var(--space-6);
}

.filuna-filter {
    border-bottom: 1px solid var(--color-border);
    padding: var(--space-4) 0;
}

.filuna-filter__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    font-size: var(--text-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    color: var(--color-text);
}

.filuna-filter__content {
    padding-top: var(--space-3);
}

.filuna-filter__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.filuna-filter__list li {
    margin-bottom: var(--space-2);
}

.filuna-filter__list a {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    text-decoration: none;
    transition: color var(--transition-base);
}

.filuna-filter__list a:hover {
    color: var(--color-primary);
}

/* Resultados */
.filuna-search-page__results {
    min-height: 400px;
}

.filuna-search-page__orderby {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-3);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--space-6);
}

.filuna-search-page__orderby span {
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-light);
}

.filuna-orderby-select {
    border: none;
    background: transparent;
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    color: var(--color-text);
}

/* Grid de productos en búsqueda */
.filuna-search-page__content {
    width: 100%;
}

.filuna-search-page__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
    width: 100% !important;
}

@media (max-width: 992px) {
    .filuna-search-page__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 30px !important;
    }
}

@media (max-width: 576px) {
    .filuna-search-page__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

/* Product Card */
.filuna-product-card {
    text-align: center;
    width: 100% !important;
}

.filuna-product-card__link {
    text-decoration: none;
    color: var(--color-text);
    display: block;
    width: 100%;
}

.filuna-product-card__image-wrapper {
    position: relative;
    width: 100% !important;
    padding-bottom: 100%; /* Aspect ratio 1:1 */
    overflow: hidden;
    margin-bottom: 20px;
    background-color: #f9f5f0;
    border-radius: 8px;
}

.filuna-product-card__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.filuna-product-card__link:hover .filuna-product-card__image {
    transform: scale(1.05);
}

.filuna-product-card__info {
    padding: 0 10px;
}

.filuna-product-card__name {
    font-size: 14px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
    line-height: 1.4;
}

.filuna-product-card__price {
    font-size: 16px !important;
    color: #333;
}

.filuna-product-card__price del {
    color: #999;
    margin-right: 8px;
    font-size: 14px;
}

.filuna-product-card__price ins {
    text-decoration: none;
    color: var(--color-primary);
    font-weight: 600;
}

/* Etiqueta de Agotado en tarjetas */
.filuna-product-card__out-of-stock {
    margin-top: 12px;
}

.filuna-product-card__out-of-stock span {
    display: inline-block;
    padding: 6px 14px;
    background-color: #f5f0eb;
    color: #9c6d59;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Paginación */
.filuna-search-page__pagination {
    margin-top: var(--space-8);
    display: flex;
    justify-content: center;
}

.filuna-search-page__pagination .nav-links {
    display: flex;
    gap: var(--space-2);
}

.filuna-search-page__pagination a,
.filuna-search-page__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--color-border);
    font-size: var(--text-sm);
    text-decoration: none;
    color: var(--color-text);
    transition: all var(--transition-base);
}

.filuna-search-page__pagination a:hover {
    background-color: var(--color-text);
    color: var(--color-white);
    border-color: var(--color-text);
}

.filuna-search-page__pagination .current {
    background-color: var(--color-text);
    color: var(--color-white);
    border-color: var(--color-text);
}

/* Empty state */
.filuna-search-page__empty {
    text-align: center;
    padding: var(--space-16) 0;
}

.filuna-search-page__empty svg {
    color: var(--color-text-muted);
    margin-bottom: var(--space-6);
}

.filuna-search-page__empty h2 {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    margin-bottom: var(--space-3);
}

.filuna-search-page__empty p {
    margin-bottom: var(--space-6);
    color: var(--color-text-light);
}

@media (max-width: 768px) {
    .filuna-search-page__content {
        grid-template-columns: 1fr;
    }
    
    .filuna-search-page__sidebar {
        display: none;
    }
    
    .filuna-search-page__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }
}

/* ==========================================================================
   9. CTA - Test Capilar
   ========================================================================== */

.filuna-cta {
    text-align: center;
    padding: var(--space-12) 0;
}

.filuna-cta__eyebrow {
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-light);
    margin-bottom: var(--space-4);
}

.filuna-cta__title {
    font-size: var(--text-2xl);
    max-width: 700px;
    margin: 0 auto var(--space-6);
}

@media (min-width: 768px) {
    .filuna-cta__title {
        font-size: var(--text-3xl);
    }
}

/* ==========================================================================
   10. ICONOS DE BENEFICIOS (Footer superior)
   ========================================================================== */

.filuna-trust {
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    padding: var(--space-10) 0;
    background-color: var(--color-white);
}

.filuna-trust__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-8);
    text-align: center;
}

@media (min-width: 768px) {
    .filuna-trust__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .filuna-trust__grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

.filuna-trust__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
}

.filuna-trust__icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-secondary);
}

.filuna-trust__icon svg {
    width: 40px;
    height: 40px;
}

.filuna-trust__text {
    font-size: var(--text-sm);
    color: var(--color-text);
    line-height: 1.4;
}

.filuna-trust__text strong {
    display: block;
    font-weight: 500;
}


/* ==========================================================================
   11. FOOTER
   ========================================================================== */

.filuna-footer {
    background-color: var(--color-cream);
    padding-top: var(--space-16);
}

.filuna-footer a {
    color: var(--color-text);
}

.filuna-footer a:hover {
    color: var(--color-primary);
}

.filuna-footer__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-10);
}

@media (min-width: 768px) {
    .filuna-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .filuna-footer__grid {
        grid-template-columns: 2fr 1.5fr 1.2fr auto;
        align-items: start;
    }
}

/* Columna marca */
.filuna-footer__brand {
    max-width: 280px;
}

.filuna-footer__logo {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: var(--space-4);
}

.filuna-footer__desc {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    margin-bottom: var(--space-6);
    line-height: 1.7;
}

.filuna-footer__social {
    display: flex;
    gap: var(--space-3);
}

.filuna-footer__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: var(--color-text);
    transition: color var(--transition-fast);
}

.filuna-footer__social-link:hover {
    color: var(--color-primary);
}

.filuna-footer__social-link svg {
    width: 20px;
    height: 20px;
}

/* Columnas */
.filuna-footer__column {
}

.filuna-footer__title {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-6);
    color: var(--color-text);
}

.filuna-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.filuna-footer__list li {
    margin-bottom: var(--space-3);
}

.filuna-footer__list a {
    font-size: var(--text-sm);
}

/* Newsletter */
.filuna-footer__newsletter {
}

.filuna-footer__newsletter-text {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    margin-bottom: var(--space-4);
}

.filuna-footer__newsletter-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.filuna-footer__newsletter-input {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-sm);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background-color: var(--color-white);
}

.filuna-footer__newsletter-input:focus {
    outline: none;
    border-color: var(--color-primary);
}

.filuna-footer__newsletter-btn {
    padding: var(--space-3) var(--space-6);
    font-size: var(--text-sm);
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-white);
    background-color: var(--color-secondary);
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.filuna-footer__newsletter-btn:hover {
    background-color: var(--color-secondary-dark);
}

/* Libro de Reclamaciones - Estilo Nike */
.filuna-footer__libro {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: var(--space-4);
}

@media (min-width: 1024px) {
    .filuna-footer__libro {
        justify-content: flex-end;
        margin-top: 0;
    }
}

.filuna-libro-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--space-4) var(--space-6);
    border: 1px solid var(--color-secondary);
    border-radius: var(--radius-sm);
    text-decoration: none;
    color: var(--color-secondary);
    background-color: var(--color-white);
    transition: all 0.2s ease;
    min-width: 130px;
}

.filuna-libro-box:hover {
    background-color: var(--color-cream-light);
    border-color: var(--color-secondary-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.filuna-libro-box__icon {
    margin-top: var(--space-2);
    opacity: 0.85;
}

.filuna-libro-box__icon svg {
    width: 36px;
    height: 36px;
}

.filuna-libro-box__text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.filuna-libro-box__title {
    font-size: var(--text-xs);
    font-weight: 500;
}

.filuna-libro-box__subtitle {
    font-size: var(--text-sm);
    font-weight: 600;
}

/* Bottom */
.filuna-footer__bottom {
    margin-top: var(--space-12);
    padding: var(--space-6) 0;
    border-top: 1px solid var(--color-border);
}

.filuna-footer__copyright {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    text-align: center;
}

/* ==========================================================================
   12. FAQ ACORDEÓN
   ========================================================================== */

.filuna-faq__list {
    max-width: 800px;
    margin: 0 auto;
}

.filuna-faq-item {
    border-bottom: 1px solid var(--color-border);
}

.filuna-faq-item__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-5) 0;
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 500;
    text-align: left;
    color: var(--color-text);
    background: none;
    border: none;
    cursor: pointer;
    transition: color var(--transition-fast);
}

.filuna-faq-item__question:hover {
    color: var(--color-primary);
}

.filuna-faq-item__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    transition: transform var(--transition-base);
}

.filuna-faq-item.is-open .filuna-faq-item__icon {
    transform: rotate(45deg);
}

.filuna-faq-item__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition-base);
}

.filuna-faq-item.is-open .filuna-faq-item__answer {
    max-height: 500px;
}

.filuna-faq-item__answer-inner {
    padding-bottom: var(--space-5);
    color: var(--color-text-light);
    line-height: 1.7;
}

/* ==========================================================================
   13. WOOCOMMERCE - ESTILOS
   ========================================================================== */

/* ==========================================================================
   FILUNA: CARRUSEL DE PRODUCTOS - Estilo Madre Tierra
   ========================================================================== */

.filuna-products-carousel {
    position: relative;
    padding: 0 50px;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .filuna-products-carousel {
        padding: 0 35px;
    }
}

.filuna-products-swiper {
    overflow: hidden;
}

.filuna-products-swiper .swiper-wrapper {
    align-items: stretch;
}

.filuna-products-swiper .swiper-slide {
    height: auto;
    display: flex;
    flex-direction: column;
}

/* Card del producto en carrusel */
.filuna-product-slide {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    text-align: center;
    height: 100%;
}

.filuna-product-slide__images {
    position: relative;
    margin-bottom: var(--space-4);
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: transparent;
}

.filuna-product-slide__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: opacity var(--transition-base);
}

.filuna-product-slide__img--main {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 1;
}

.filuna-product-slide__img--hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 2;
    opacity: 0;
}

.filuna-product-slide:hover .filuna-product-slide__img--main {
    opacity: 0;
}

.filuna-product-slide:hover .filuna-product-slide__img--hover {
    opacity: 1;
}

/* Info del producto */
.filuna-product-slide__info {
    padding: 0 var(--space-2);
    margin-top: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.filuna-product-slide__title {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text);
    margin: 0 0 var(--space-2) 0;
    line-height: 1.4;
    min-height: 2.8em;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 768px) {
    .filuna-product-slide__title {
        font-size: var(--text-sm);
    }
}

.filuna-product-slide__price {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-text);
}

.filuna-product-slide__price del {
    color: var(--color-text-muted);
    font-weight: 400;
    margin-left: var(--space-2);
}

.filuna-product-slide__price ins {
    text-decoration: none;
    color: var(--color-primary);
    font-weight: 600;
}

/* Botones de navegación del carrusel */
.filuna-carousel-btn {
    position: absolute;
    top: 38%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    color: var(--color-text);
    cursor: pointer;
    transition: all var(--transition-fast);
    z-index: 20;
    box-shadow: var(--shadow-lg);
}

.filuna-carousel-btn:hover {
    background-color: var(--color-secondary);
    color: var(--color-white);
    border-color: var(--color-secondary);
}

.filuna-carousel-btn--prev {
    left: var(--space-2);
}

.filuna-carousel-btn--next {
    right: var(--space-2);
}

@media (min-width: 1200px) {
    .filuna-carousel-btn--prev {
        left: var(--space-4);
    }
    
    .filuna-carousel-btn--next {
        right: var(--space-4);
    }
}

@media (max-width: 767px) {
    .filuna-carousel-btn {
        width: 40px;
        height: 40px;
    }
    
    .filuna-carousel-btn--prev {
        left: var(--space-1);
    }
    
    .filuna-carousel-btn--next {
        right: var(--space-1);
    }
}

/* ==========================================================================
   FILUNA: PRODUCTOS GRID (Fallback/Tienda)
   ========================================================================== */

/* Productos (PLP) - Estilo Madre Tierra */
.woocommerce ul.products,
ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media (min-width: 768px) {
    .woocommerce ul.products,
    ul.products {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-8);
    }
}

@media (min-width: 1024px) {
    .woocommerce ul.products,
    ul.products {
        grid-template-columns: repeat(4, 1fr);
    }
}

.woocommerce ul.products li.product,
ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent;
    text-align: center;
    transition: all var(--transition-base);
    list-style: none !important;
}

.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
    transform: translateY(-4px);
}

.woocommerce ul.products li.product a,
ul.products li.product a {
    text-decoration: none;
}

.woocommerce ul.products li.product img,
ul.products li.product img {
    width: 100% !important;
    height: auto;
    margin: 0 0 var(--space-4) 0 !important;
    border-radius: 0;
    aspect-ratio: 1;
    object-fit: contain;
    background-color: var(--color-white);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0;
    margin: 0 0 var(--space-2) 0;
    color: var(--color-text);
    text-align: center;
    line-height: 1.4;
}

@media (min-width: 768px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    ul.products li.product .woocommerce-loop-product__title {
        font-size: var(--text-sm);
    }
}

.woocommerce ul.products li.product .price,
ul.products li.product .price {
    padding: 0;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-text);
    text-align: center;
    display: flex;
    justify-content: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.woocommerce ul.products li.product .price del,
ul.products li.product .price del {
    color: var(--color-text-muted);
    font-weight: 400;
    order: 2;
}

.woocommerce ul.products li.product .price ins,
ul.products li.product .price ins {
    text-decoration: none;
    color: var(--color-primary);
    font-weight: 600;
    order: 1;
}

/* Ocultar botón de añadir al carrito en el grid (estilo Madre Tierra) */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
    display: none !important;
}

/* Badges */
.woocommerce span.onsale,
span.onsale {
    position: absolute;
    top: var(--space-2);
    left: var(--space-2);
    padding: var(--space-1) var(--space-2);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-white);
    background-color: var(--color-primary);
    border-radius: var(--radius-sm);
    min-width: auto;
    min-height: auto;
    line-height: 1.4;
    z-index: 10;
}

/* Contenedor del producto debe ser relativo para el badge */
.woocommerce ul.products li.product,
ul.products li.product {
    position: relative;
}

/* ==========================================================================
   FILUNA: Producto Individual (PDP) - Estilo Madre Tierra
   ========================================================================== */

/* ==========================================================================
   FILUNA: Shop Page
   ========================================================================== */

.filuna-shop-page {
    padding: var(--space-8) 0 var(--space-16);
}

.filuna-shop-header {
    text-align: center;
    margin-bottom: var(--space-8);
    padding-bottom: var(--space-6);
    border-bottom: 1px solid var(--color-border);
}

.filuna-shop-title {
    font-family: var(--font-body);
    font-size: var(--text-2xl);
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.filuna-single-product-page {
    padding: var(--space-6) 0 var(--space-16);
}

.filuna-single-product {
    padding: var(--space-8) 0;
}

.filuna-single-product__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
}

@media (min-width: 768px) {
    .filuna-single-product__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-10);
        align-items: start;
    }
}

@media (min-width: 1024px) {
    .filuna-single-product__grid {
        grid-template-columns: 1.1fr 1fr;
        gap: var(--space-12);
    }
}

/* Galería de producto */
.filuna-single-product__gallery {
    display: flex;
    flex-direction: column;
    gap: 0 !important;
}

/* Imagen principal */
.filuna-gallery__main-wrapper {
    width: 100%;
    position: relative;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.filuna-gallery__main-img {
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: contain;
    border-radius: var(--radius-sm);
    background-color: var(--color-white);
    display: block;
    margin-bottom: 0 !important;
}

@media (min-width: 768px) {
    .filuna-gallery__main-img {
        max-height: 550px;
    }
}

/* Miniaturas horizontales debajo */
.filuna-gallery__thumbs-wrapper {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 10px !important;
    padding-top: 0 !important;
}

.filuna-gallery__thumb {
    width: 60px;
    height: 60px;
    cursor: pointer;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: all var(--transition-fast);
}

.filuna-gallery__thumb:hover,
.filuna-gallery__thumb.active {
    border-color: var(--color-text);
}

.filuna-gallery__thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Descripción completa */
.filuna-single-product__full-description {
    margin-top: var(--space-12);
    padding-top: var(--space-8);
    border-top: 1px solid var(--color-border);
}

.filuna-single-product__full-description h3 {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    margin-bottom: var(--space-4);
}

.filuna-single-product__details-link {
    margin-top: var(--space-4);
}

.filuna-single-product__details-link a {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    text-decoration: underline;
    transition: color var(--transition-base);
}

.filuna-single-product__details-link a:hover {
    color: var(--color-primary);
}

/* ==========================================================================
   PRODUCT TABS - Descripción y Reseñas
   ========================================================================== */

.filuna-product-tabs {
    margin-top: var(--space-12);
    padding-top: var(--space-8);
    border-top: 1px solid var(--color-border);
}

.filuna-product-tabs__nav {
    display: flex;
    gap: var(--space-1);
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--space-6);
}

.filuna-product-tabs__btn {
    padding: var(--space-3) var(--space-6);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-text-light);
    cursor: pointer;
    transition: all var(--transition-base);
    margin-bottom: -1px;
}

.filuna-product-tabs__btn:hover {
    color: var(--color-text);
}

.filuna-product-tabs__btn.active {
    color: var(--color-text);
    border-bottom-color: var(--color-primary);
}

.filuna-product-tabs__panel {
    display: none;
}

.filuna-product-tabs__panel.active {
    display: block;
}

/* Reviews */
.filuna-reviews__title {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    margin-bottom: var(--space-4);
}

.filuna-reviews__summary {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    background-color: var(--color-cream-light);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-6);
}

.filuna-reviews__rating {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.filuna-reviews__rating .star-rating {
    font-size: var(--text-lg);
}

.filuna-reviews__average {
    font-weight: 600;
    font-size: var(--text-lg);
}

.filuna-reviews__count {
    color: var(--color-text-light);
    font-size: var(--text-sm);
}

.filuna-reviews__list {
    margin-bottom: var(--space-8);
}

.filuna-reviews__empty {
    color: var(--color-text-light);
    font-style: italic;
    padding: var(--space-6);
    text-align: center;
    background-color: var(--color-cream-light);
    border-radius: var(--radius-md);
}

/* Single Review */
.filuna-review {
    padding: var(--space-5);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-4);
}

.filuna-review__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-3);
}

.filuna-review__author {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.filuna-review__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.filuna-review__name {
    display: block;
    font-size: var(--text-sm);
}

.filuna-review__date {
    font-size: var(--text-xs);
    color: var(--color-text-light);
}

.filuna-review__stars {
    color: var(--color-text-muted);
}

.filuna-review__stars .star.filled {
    color: #f5a623;
}

.filuna-review__content {
    font-size: var(--text-sm);
    line-height: 1.6;
    color: var(--color-text);
}

/* Review Form */
.filuna-review-form {
    padding-top: var(--space-6);
    border-top: 1px solid var(--color-border);
}

.filuna-review-form h4 {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    margin-bottom: var(--space-4);
}

.filuna-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
}

@media (max-width: 640px) {
    .filuna-form__row {
        grid-template-columns: 1fr;
    }
}

.filuna-reviews__login-notice {
    padding: var(--space-4);
    background-color: var(--color-cream-light);
    border-radius: var(--radius-md);
    text-align: center;
}

.filuna-reviews__login-notice a {
    color: var(--color-primary);
    font-weight: 500;
}

/* Info del producto */
.filuna-single-product__info {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

/* Badge de stock más compacto */
.filuna-single-product__info .filuna-stock-badge {
    align-self: flex-start;
    margin: 0;
}

/* Categoría */
.filuna-single-product__category {
    font-size: var(--text-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--color-text-light);
}

/* Precio */
.filuna-single-product__price {
    font-size: var(--text-xl);
    font-weight: 600;
    display: flex;
    align-items: baseline;
    gap: var(--space-3);
}

@media (min-width: 768px) {
    .filuna-single-product__price {
        font-size: var(--text-2xl);
    }
}

.filuna-single-product__price del {
    color: var(--color-text-muted);
    font-weight: 400;
    font-size: 0.85em;
}

.filuna-single-product__price ins {
    text-decoration: none;
    color: var(--color-primary);
    font-weight: 700;
}

/* ========== BADGES DE STOCK ========== */
.filuna-stock-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    font-weight: 500;
    margin: var(--space-2) 0;
    width: fit-content;
}

.filuna-stock-badge--low {
    background: rgba(255, 152, 0, 0.1);
    color: #e65100;
    border: 1px solid rgba(255, 152, 0, 0.3);
}

.filuna-stock-badge--out {
    background: rgba(198, 40, 40, 0.1);
    color: #c62828;
    border: 1px solid rgba(198, 40, 40, 0.3);
}

/* Botón Agotado */
.filuna-btn--disabled {
    background: var(--color-cream-dark) !important;
    color: var(--color-text-light) !important;
    cursor: not-allowed !important;
    opacity: 0.7;
}

.filuna-single-product__out-of-stock-wrapper {
    text-align: center;
    padding: var(--space-4) 0;
}

.filuna-single-product__out-of-stock-text {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    margin-top: var(--space-3);
}

.filuna-single-product__out-of-stock-text a {
    color: var(--color-primary);
    text-decoration: underline;
}

/* ========== PRODUCT CARD - BADGES ========== */
.filuna-product-card__image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
}

.filuna-product-card__badges {
    position: absolute;
    top: var(--space-2);
    left: var(--space-2);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    z-index: 2;
}

.filuna-product-card__badge {
    display: inline-block;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filuna-product-card__badge--sale {
    background: var(--color-primary);
    color: var(--color-white);
}

.filuna-product-card__badge--out {
    background: #c62828;
    color: var(--color-white);
}

.filuna-product-card__badge--low {
    background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%);
    color: var(--color-white);
    animation: pulse-badge 1.5s ease-in-out infinite;
}

@keyframes pulse-badge {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

/* Product Card Button Disabled */
.filuna-product-card__btn--disabled {
    background: var(--color-cream-dark) !important;
    color: var(--color-text-light) !important;
    cursor: not-allowed;
    opacity: 0.6;
}

/* Acciones: cantidad y botones */
.filuna-single-product__actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-5) 0;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

.filuna-single-product__quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background-color: var(--color-white);
    align-self: flex-start;
}

.filuna-single-product__buttons {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.filuna-single-product__buttons .filuna-btn {
    width: 100%;
    justify-content: center;
    padding: var(--space-4) var(--space-8);
    font-size: var(--text-sm);
    letter-spacing: 0.12em;
}

.filuna-single-product__buttons .filuna-btn--secondary {
    background-color: transparent;
    color: var(--color-text);
    border: 1px solid var(--color-border);
}

.filuna-single-product__buttons .filuna-btn--secondary:hover {
    background-color: var(--color-cream);
    border-color: var(--color-secondary);
}

.filuna-single-product__buttons .filuna-btn--primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Título del producto */
.filuna-single-product__title-block {
    padding-top: var(--space-4);
}

.filuna-single-product__title {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
}

@media (min-width: 768px) {
    .filuna-single-product__title {
        font-size: var(--text-3xl);
    }
}

/* Descripción */
.filuna-single-product__short-desc,
.filuna-single-product__description {
    font-size: var(--text-sm);
    color: var(--color-text);
    line-height: 1.7;
}

.filuna-single-product__short-desc p,
.filuna-single-product__description p {
    margin-bottom: var(--space-3);
}

.filuna-single-product__short-desc strong,
.filuna-single-product__description strong {
    color: var(--color-secondary);
    font-weight: 600;
}

/* Subtítulos */
.filuna-single-product__subtitle {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text);
    margin: 0 0 var(--space-3) 0;
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-cream);
    display: inline-block;
    border-radius: var(--radius-sm);
}

/* Ingredientes y modo de uso */
.filuna-single-product__ingredientes,
.filuna-single-product__modo-uso {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    line-height: 1.7;
}

/* Out of stock */
.filuna-single-product__out-of-stock {
    color: var(--color-error);
    font-weight: 500;
}

/* Override WooCommerce default */
.woocommerce div.product {
    padding: var(--space-8) 0;
}

.woocommerce div.product div.images img {
    border-radius: var(--radius-lg);
}

.woocommerce div.product .product_title {
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    margin-bottom: var(--space-2);
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--color-text-light);
    margin-bottom: var(--space-6);
}

.woocommerce div.product p.price {
    font-size: var(--text-2xl);
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: var(--space-6);
}

.woocommerce div.product form.cart {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-8);
}

.woocommerce div.product form.cart .quantity .qty {
    width: 70px;
    padding: var(--space-3);
    font-size: var(--text-base);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    text-align: center;
}

.woocommerce div.product form.cart button.single_add_to_cart_button {
    padding: var(--space-4) var(--space-8);
    font-size: var(--text-sm);
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-white);
    background-color: var(--color-secondary);
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.woocommerce div.product form.cart button.single_add_to_cart_button:hover {
    background-color: var(--color-secondary-dark);
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    margin: 0 0 var(--space-6);
    list-style: none;
    display: flex;
    gap: var(--space-1);
    border-bottom: 1px solid var(--color-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: var(--space-4) var(--space-6);
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-text-light);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
}

/* Carrito y Checkout */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order {
    display: block;
    width: 100%;
    padding: var(--space-4);
    font-size: var(--text-sm);
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    color: var(--color-white);
    background-color: var(--color-secondary);
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover {
    background-color: var(--color-secondary-dark);
}

/* Mensajes */
.woocommerce-message,
.woocommerce-info {
    padding: var(--space-4) var(--space-5);
    background-color: var(--color-cream-light);
    border: none;
    border-left: 3px solid var(--color-primary);
    border-radius: var(--radius-sm);
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--color-primary);
}

.woocommerce-error {
    padding: var(--space-4) var(--space-5);
    background-color: #fef2f2;
    border: none;
    border-left: 3px solid var(--color-error);
    border-radius: var(--radius-sm);
}

/* ==========================================================================
   14. ANIMACIONES
   ========================================================================== */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.6s ease forwards;
}

/* Delays para animaciones escalonadas */
.delay-100 { animation-delay: 100ms; }
.delay-200 { animation-delay: 200ms; }
.delay-300 { animation-delay: 300ms; }
.delay-400 { animation-delay: 400ms; }
.delay-500 { animation-delay: 500ms; }

/* ==========================================================================
   15. RESPONSIVE
   ========================================================================== */

@media (max-width: 767px) {
    h1 { font-size: var(--text-3xl); }
    h2 { font-size: var(--text-2xl); }
    h3 { font-size: var(--text-xl); }
    
    .filuna-section {
        padding-top: var(--space-10);
        padding-bottom: var(--space-10);
    }
    
    .filuna-section__title {
        font-size: var(--text-2xl);
    }
    
    .filuna-hero {
        min-height: auto;
        padding: var(--space-8) 0;
    }
}

/* ==========================================================================
   16. PRODUCTO DESTACADO - Estilo Madre Tierra
   ========================================================================== */

.filuna-section--cream-light {
    background-color: var(--color-cream-light);
}

.filuna-featured-product {
    padding-top: var(--space-12);
    padding-bottom: var(--space-12);
}

@media (min-width: 768px) {
    .filuna-featured-product {
        padding-top: var(--space-16);
        padding-bottom: var(--space-16);
    }
}

.filuna-featured-product__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
    align-items: start;
}

@media (min-width: 768px) {
    .filuna-featured-product__grid {
        grid-template-columns: 1.1fr 1fr;
        gap: var(--space-10);
        align-items: start;
    }
}

@media (min-width: 1024px) {
    .filuna-featured-product__grid {
        grid-template-columns: 1.2fr 1fr;
        gap: var(--space-12);
    }
}

/* Galería del producto destacado - Estilo Madre Tierra */
.filuna-featured-product__gallery {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.filuna-featured-gallery__main {
    position: relative;
    width: 100%;
    max-width: 500px;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent;
    touch-action: pan-y pinch-zoom;
    user-select: none;
}

/* Mobile: Indicador visual de swipe */
@media (max-width: 767px) {
    .filuna-featured-gallery__main {
        cursor: grab;
    }
    
    .filuna-featured-gallery__main:active {
        cursor: grabbing;
    }
}

.filuna-featured-gallery__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity 0.3s ease;
}

/* Dots de navegación (MOBILE) */
.filuna-featured-gallery__dots {
    display: flex;
    gap: 8px;
    justify-content: center;
    padding: 0;
}

.filuna-featured-gallery__dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: var(--color-cream-dark);
    cursor: pointer;
    transition: all 0.2s ease;
}

.filuna-featured-gallery__dot:hover {
    background-color: var(--color-primary-light);
}

.filuna-featured-gallery__dot.active {
    background-color: var(--color-primary);
    transform: scale(1.2);
}

/* Miniaturas (DESKTOP) */
.filuna-featured-gallery__thumbs {
    display: none;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0;
}

.filuna-featured-gallery__thumb {
    width: 70px;
    height: 70px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: var(--radius-md);
    background: var(--color-white);
    cursor: pointer;
    overflow: hidden;
    transition: all 0.2s ease;
}

.filuna-featured-gallery__thumb:hover {
    border-color: var(--color-primary-light);
}

.filuna-featured-gallery__thumb.active {
    border-color: var(--color-primary);
}

.filuna-featured-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Desktop: Mostrar miniaturas, ocultar dots */
@media (min-width: 768px) {
    .filuna-featured-gallery__dots {
        display: none;
    }
    
    .filuna-featured-gallery__thumbs {
        display: flex;
    }
}

@media (min-width: 768px) {
    .filuna-featured-product__img {
        max-width: 550px;
        min-height: 500px;
        object-fit: contain;
    }
}

@media (min-width: 1024px) {
    .filuna-featured-product__img {
        max-width: 650px;
        min-height: 600px;
    }
}

.filuna-featured-product__placeholder {
    width: 100%;
    max-width: 650px;
    aspect-ratio: 1;
    background: linear-gradient(135deg, var(--color-cream) 0%, var(--color-cream-dark) 100%);
    border-radius: var(--radius-lg);
}

/* Info del producto */
.filuna-featured-product__info {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

@media (min-width: 768px) {
    .filuna-featured-product__info {
        gap: var(--space-6);
    }
}

.filuna-featured-product__eyebrow {
    font-size: var(--text-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--color-text-light);
}

.filuna-featured-product__title {
    font-family: var(--font-body);
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--color-text);
    margin: 0;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

@media (min-width: 768px) {
    .filuna-featured-product__title {
        font-size: var(--text-2xl);
    }
}

.filuna-featured-product__price {
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--color-text);
    display: flex;
    align-items: baseline;
    gap: var(--space-3);
    flex-wrap: wrap;
}

@media (min-width: 768px) {
    .filuna-featured-product__price {
        font-size: var(--text-2xl);
    }
}

.filuna-featured-product__price del {
    color: var(--color-text-muted);
    font-weight: 400;
    font-size: 0.85em;
}

.filuna-featured-product__price ins {
    text-decoration: none;
    color: var(--color-primary);
    font-weight: 700;
}

/* Rating - alineado con el precio */
.filuna-featured-product__price-rating {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

@media (min-width: 480px) {
    .filuna-featured-product__price-rating {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-4);
    }
}

.filuna-featured-product__rating {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    color: #FFD700;
}

.filuna-featured-product__rating svg {
    width: 14px;
    height: 14px;
}

.filuna-featured-product__rating span {
    color: var(--color-text-light);
    font-size: var(--text-sm);
    margin-left: var(--space-2);
}

/* Descripción */
.filuna-featured-product__description {
    font-size: var(--text-sm);
    color: var(--color-text);
    line-height: 1.7;
}

.filuna-featured-product__description p {
    margin-bottom: var(--space-3);
}

.filuna-featured-product__description p:first-child {
    color: var(--color-text-light);
    margin-bottom: var(--space-4);
}

.filuna-featured-product__description p:last-child {
    margin-bottom: 0;
}

/* Beneficios en negrita */
.filuna-featured-product__description strong,
.filuna-featured-product__description b {
    color: var(--color-text);
    font-weight: 600;
}

/* Características */
.filuna-featured-product__features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.filuna-featured-product__features li {
    font-size: var(--text-sm);
    color: var(--color-text);
    padding-left: var(--space-5);
    position: relative;
}

.filuna-featured-product__features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--color-success);
    font-weight: 600;
}

.filuna-featured-product__features li strong {
    color: var(--color-secondary);
}

/* Acciones (cantidad + botones) */
.filuna-featured-product__actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    margin-top: var(--space-6);
}

/* Selector de cantidad */
.filuna-featured-product__quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background-color: var(--color-white);
    align-self: flex-start;
}

.filuna-qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 48px;
    font-size: var(--text-xl);
    font-weight: 400;
    color: var(--color-text);
    background: none;
    border: none;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.filuna-qty-btn:hover {
    background-color: var(--color-cream);
    color: var(--color-primary);
}

.filuna-qty-input {
    width: 60px;
    height: 48px;
    font-size: var(--text-lg);
    font-weight: 500;
    text-align: center;
    color: var(--color-text);
    border: none;
    border-left: 1px solid var(--color-border);
    border-right: 1px solid var(--color-border);
    -moz-appearance: textfield;
}

.filuna-qty-input::-webkit-outer-spin-button,
.filuna-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.filuna-qty-input:focus {
    outline: none;
}

/* Botones de compra - Apilados verticalmente como Madre Tierra */
.filuna-featured-product__buttons {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    width: 100%;
    max-width: 400px;
}

.filuna-featured-product__buttons .filuna-btn {
    width: 100%;
    justify-content: center;
    padding: var(--space-4) var(--space-8);
    font-size: var(--text-sm);
    letter-spacing: 0.12em;
}

/* Botón Añadir al carrito - Outlined */
.filuna-featured-product__buttons .filuna-btn--secondary {
    background-color: transparent;
    color: var(--color-text);
    border: 1px solid var(--color-border);
}

.filuna-featured-product__buttons .filuna-btn--secondary:hover {
    background-color: var(--color-cream);
    border-color: var(--color-secondary);
    color: var(--color-secondary);
}

/* Botón Comprar Ahora - Filled */
.filuna-featured-product__buttons .filuna-btn--primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
}

.filuna-featured-product__buttons .filuna-btn--primary:hover {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}

/* Link a detalles */
.filuna-featured-product__link {
    font-size: var(--text-sm);
    color: var(--color-secondary);
    text-decoration: underline;
    text-underline-offset: 3px;
    margin-top: var(--space-2);
    transition: color var(--transition-fast);
}

.filuna-featured-product__link:hover {
    color: var(--color-primary);
}

/* ==========================================================================
   17. PÁGINA DEL CARRITO - WooCommerce Blocks
   ========================================================================== */

/* Container principal del carrito */
.wc-block-cart,
.wp-block-woocommerce-cart {
    padding: 40px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Título del carrito */
.wc-block-cart .wp-block-heading,
.page-id-14 .entry-title,
.woocommerce-cart .entry-title {
    font-family: var(--font-heading);
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
}

/* Grid del carrito */
.wc-block-cart__main {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

/* Tabla de productos */
.wc-block-cart-items {
    flex: 1;
    min-width: 300px;
}

/* Encabezado de la tabla */
.wc-block-cart-items__header {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid var(--color-border);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-light);
}

/* Items del carrito */
.wc-block-cart-items__row {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid var(--color-border);
    align-items: center;
}

/* Imagen del producto en carrito - MÁS PEQUEÑA */
.wc-block-cart-item__image,
.wc-block-cart-items .wc-block-components-product-image {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
    border-radius: var(--radius-md);
    overflow: hidden;
    background-color: var(--color-cream-light);
}

.wc-block-cart-item__image img,
.wc-block-cart-items .wc-block-components-product-image img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover;
}

/* Información del producto */
.wc-block-cart-item__product {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.wc-block-cart-item__product-name,
.wc-block-components-product-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text);
    text-decoration: none;
}

.wc-block-cart-item__product-name:hover,
.wc-block-components-product-name:hover {
    color: var(--color-primary);
}

/* Metadata (variaciones, stock) */
.wc-block-components-product-metadata,
.wc-block-cart-item__product-metadata {
    font-size: 12px;
    color: var(--color-text-light);
}

.wc-block-components-product-metadata__description {
    font-size: 12px;
    color: var(--color-text-muted);
}

/* Precio */
.wc-block-cart-item__prices,
.wc-block-components-product-price {
    font-size: 14px;
    font-weight: 500;
}

/* Cantidad */
.wc-block-cart-item__quantity,
.wc-block-components-quantity-selector {
    display: flex;
    align-items: center;
    gap: 5px;
}

.wc-block-components-quantity-selector input {
    width: 50px !important;
    text-align: center;
    padding: 8px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-size: 14px;
}

.wc-block-components-quantity-selector button {
    width: 32px;
    height: 32px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all 0.2s;
}

.wc-block-components-quantity-selector button:hover {
    background: var(--color-cream);
    border-color: var(--color-secondary);
}

/* Enlace de eliminar */
.wc-block-cart-item__remove-link,
.wc-block-components-product-badge__remove-link {
    font-size: 12px;
    color: var(--color-text-muted);
    text-decoration: underline;
    cursor: pointer;
}

.wc-block-cart-item__remove-link:hover,
.wc-block-components-product-badge__remove-link:hover {
    color: var(--color-error);
}

/* Totales del carrito */
.wc-block-cart__sidebar,
.wc-block-cart__totals {
    flex: 0 0 350px;
    background: var(--color-cream-light);
    padding: 25px;
    border-radius: var(--radius-lg);
}

.wc-block-cart__totals-title,
.wc-block-components-totals-wrapper h2 {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

.wc-block-components-totals-item {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    font-size: 14px;
}

.wc-block-components-totals-item__label {
    color: var(--color-text-light);
}

.wc-block-components-totals-item__value {
    font-weight: 500;
}

/* Total estimado */
.wc-block-components-totals-footer-item {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    margin-top: 15px;
    border-top: 1px solid var(--color-border);
    font-size: 16px;
    font-weight: 600;
}

/* Botón proceder al pago */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit .wc-block-components-button {
    display: block;
    width: 100%;
    padding: 15px 20px;
    margin-top: 20px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-align: center;
    color: var(--color-white) !important;
    background-color: var(--color-secondary) !important;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background-color 0.2s;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit .wc-block-components-button:hover {
    background-color: var(--color-secondary-dark) !important;
}

/* Cupones */
.wc-block-components-totals-coupon,
.wc-block-cart__coupons {
    margin-top: 15px;
}

.wc-block-components-totals-coupon__button {
    font-size: 13px;
    color: var(--color-secondary);
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
}

/* Carrito vacío */
.wc-block-cart__empty-cart__title,
.cart-empty.woocommerce-info {
    font-family: var(--font-heading);
    font-size: 24px;
    text-align: center;
    color: var(--color-text);
}

.wc-block-cart-empty__image,
.wc-block-components-empty-cart-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
}

/* Productos relacionados / "New in store" */
.wc-block-cart .cross-sells,
.cross-sells {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid var(--color-border);
}

.cross-sells h2,
.wc-block-cart .cross-sells__heading {
    font-family: var(--font-heading);
    font-size: 24px;
    text-align: center;
    margin-bottom: 30px;
}

/* Grid de productos sugeridos - más pequeños */
.cross-sells .products,
.cross-sells ul.products,
.wc-block-cart .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.cross-sells .products li.product,
.wc-block-cart .wc-block-grid__product {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
}

/* Imágenes de productos sugeridos - más pequeñas */
.cross-sells .products li.product img,
.cross-sells .products li.product .attachment-woocommerce_thumbnail,
.wc-block-cart .wc-block-grid__product-image img {
    width: 100% !important;
    max-width: 180px !important;
    height: auto !important;
    margin: 0 auto 15px;
    border-radius: var(--radius-md);
    background-color: var(--color-cream-light);
}

.cross-sells .products li.product .woocommerce-loop-product__title,
.wc-block-cart .wc-block-grid__product-title {
    font-size: 13px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 8px;
}

.cross-sells .products li.product .price,
.wc-block-cart .wc-block-grid__product-price {
    font-size: 14px;
}

/* Botón añadir al carrito en cross-sells */
.cross-sells .products li.product .button,
.cross-sells .products li.product .add_to_cart_button {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-white);
    background-color: var(--color-secondary);
    border: none;
    border-radius: var(--radius-sm);
}

.cross-sells .products li.product .button:hover,
.cross-sells .products li.product .add_to_cart_button:hover {
    background-color: var(--color-secondary-dark);
}

/* Badge de SALE */
.cross-sells .products li.product .onsale,
.wc-block-cart .wc-block-grid__product .wc-block-components-product-sale-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-white);
    background-color: var(--color-secondary);
    border-radius: var(--radius-sm);
}

/* ==========================================================================
   17.5. PÁGINA DE LA TIENDA (SHOP)
   ========================================================================== */

/* Container principal */
.filuna-shop-page {
    padding: 40px 0 80px;
}

/* Header de la tienda */
.filuna-shop-header {
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--color-border);
}

.filuna-shop-title {
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 0;
}

/* Barra de resultados y ordenar */
.woocommerce-result-count,
.woocommerce-ordering {
    margin-bottom: 30px !important;
}

.woocommerce .woocommerce-result-count {
    font-size: 14px;
    color: var(--color-text-light);
    margin: 0;
    float: left;
}

/* Dropdown de ordenar */
.woocommerce .woocommerce-ordering {
    float: right;
    margin: 0;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-ordering select.orderby {
    padding: 10px 40px 10px 15px;
    font-size: 13px;
    font-family: var(--font-body);
    color: var(--color-text);
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233d3d3d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce .woocommerce-ordering select:hover,
.woocommerce-ordering select.orderby:hover {
    border-color: var(--color-secondary);
}

.woocommerce .woocommerce-ordering select:focus,
.woocommerce-ordering select.orderby:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(255, 144, 100, 0.1);
}

/* Clearfix para la barra */
.woocommerce-notices-wrapper + .woocommerce-result-count,
.filuna-shop-page .woocommerce-result-count {
    clear: none;
}

.woocommerce::after,
.filuna-shop-page .filuna-container::after {
    content: "";
    display: table;
    clear: both;
}

/* Grid de productos en tienda */
.woocommerce ul.products,
.filuna-shop-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 30px;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none;
    clear: both;
}

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

/* Producto individual */
.woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    text-align: center;
    position: relative;
}

/* Imagen del producto */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
    width: 100%;
    height: auto;
    margin-bottom: 15px;
    border-radius: var(--radius-md);
    background-color: var(--color-cream-light);
    transition: transform 0.3s ease;
}

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

/* Badge de oferta */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    position: absolute;
    top: 10px;
    right: 10px;
    left: auto;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--color-white);
    background-color: var(--color-primary);
    border-radius: var(--radius-sm);
    margin: 0;
    min-width: auto;
    min-height: auto;
    line-height: 1;
}

/* Título del producto */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text);
    margin-bottom: 10px;
    padding: 0;
}

/* Precio */
.woocommerce ul.products li.product .price {
    font-size: 15px;
    color: var(--color-text);
    margin-bottom: 15px;
}

.woocommerce ul.products li.product .price del {
    color: var(--color-text-muted);
    font-size: 14px;
    margin-right: 8px;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: var(--color-primary);
    font-weight: 600;
}

/* Botón añadir al carrito en grid */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: inline-block;
    padding: 12px 25px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-white);
    background-color: var(--color-secondary);
    border: none;
    border-radius: var(--radius-sm);
    transition: background-color 0.2s;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background-color: var(--color-secondary-dark);
    color: var(--color-white);
}

/* Paginación */
.woocommerce nav.woocommerce-pagination {
    margin-top: 60px;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
    border: none;
}

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

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 14px;
    color: var(--color-text);
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: all 0.2s;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    border-color: var(--color-secondary);
    color: var(--color-secondary);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-white);
}

/* Responsive tienda */
@media (max-width: 992px) {
    .woocommerce ul.products,
    .filuna-shop-page ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 20px;
    }
}

@media (max-width: 576px) {
    .filuna-shop-page {
        padding: 30px 0 60px;
    }
    
    .filuna-shop-title {
        font-size: 22px;
    }
    
    .woocommerce .woocommerce-result-count,
    .woocommerce .woocommerce-ordering {
        float: none;
        text-align: center;
        display: block;
        margin-bottom: 15px !important;
    }
    
    .woocommerce ul.products,
    .filuna-shop-page ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 15px;
    }
    
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 12px;
    }
    
    .woocommerce ul.products li.product .price {
        font-size: 14px;
    }
}

/* ==========================================================================
   18. PÁGINA DE CHECKOUT - WooCommerce Blocks - FILUNA STYLE
   ========================================================================== */

/* Página de checkout - Fondo blanco limpio estilo Shopify/Madre Tierra */
.woocommerce-checkout,
body.woocommerce-checkout {
    background-color: var(--color-white) !important;
}

/* OCULTAR título de página en checkout */
.woocommerce-checkout .wp-block-post-title,
.woocommerce-checkout .entry-title,
.woocommerce-checkout h1.wp-block-post-title,
.woocommerce-checkout .page-title,
body.woocommerce-checkout .filuna-topbar {
    display: none !important;
}

/* Main content sin restricciones de ancho - DESACTIVADO
body.woocommerce-checkout .filuna-main,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .is-layout-constrained {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce-checkout .wp-block-group {
    max-width: 100% !important;
    padding: 0 !important;
}
*/

/* Contenedor principal - Estilo Madre Tierra */
.wc-block-checkout,
.wp-block-woocommerce-checkout {
    font-family: var(--font-body) !important;
    padding: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    background-color: var(--color-white) !important;
    width: 100% !important;
}

/* Layout principal - Dos columnas a pantalla completa - DESACTIVADO
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wc-block-checkout .wc-block-checkout__main,
.wc-block-checkout__main {
    display: grid !important;
    grid-template-columns: 55% 45% !important;
    gap: 0 !important;
    min-height: calc(100vh - 150px);
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
*/

/* Formulario - Lado izquierdo - DESACTIVADO
.wp-block-woocommerce-checkout .wc-block-checkout__form,
.wc-block-checkout .wc-block-checkout__form,
.wc-block-checkout__form {
    background: var(--color-white) !important;
    padding: 50px 60px 50px 80px !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    order: 1 !important;
}
*/

/* Sidebar - Lado derecho con fondo crema - DESACTIVADO
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
.wc-block-checkout .wc-block-checkout__sidebar,
.wc-block-checkout__sidebar {
    background-color: var(--color-cream-light) !important;
    border-left: 1px solid var(--color-border) !important;
    padding: 50px 80px 50px 50px !important;
    width: 100% !important;
    order: 2 !important;
}
*/

/* ===== TÍTULOS DE SECCIONES - Estilo Madre Tierra ===== */
.wc-block-components-checkout-step__heading,
.wc-block-components-checkout-step__title {
    font-family: var(--font-body) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--color-text) !important;
    margin-bottom: 25px !important;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--color-border);
}

/* Secciones del formulario */
.wc-block-components-checkout-step {
    margin-bottom: 30px;
    padding-bottom: 0;
    border-bottom: none;
}

.wc-block-components-checkout-step:last-child {
    border-bottom: none;
}

/* ===== INPUTS Y CAMPOS - Estilo Madre Tierra ===== */
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout input[type="password"],
.wc-block-checkout select,
.wc-block-components-combobox .components-combobox-control input,
.wc-block-components-country-input select,
.wc-block-components-state-input select {
    font-family: var(--font-body) !important;
    width: 100%;
    padding: 16px 14px !important;
    font-size: 14px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 6px !important;
    background-color: var(--color-white) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    color: var(--color-text) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus,
.wc-block-components-combobox .components-combobox-control input:focus,
.wc-block-components-text-input.is-active input {
    outline: none !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 1px var(--color-primary) !important;
}

/* Labels flotantes estilo Shopify */
.wc-block-components-text-input label,
.wc-block-components-combobox label {
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #737373 !important;
    text-transform: none !important;
}

/* Placeholder */
.wc-block-components-text-input input::placeholder {
    color: #999 !important;
    font-size: 14px !important;
}

/* Checkboxes con estilo */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--color-primary) !important;
    border-radius: 4px !important;
}

.wc-block-components-checkbox__label {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    color: var(--color-text) !important;
    line-height: 1.5;
}

/* Select dropdowns */
.wc-block-components-combobox-control,
.wc-block-components-country-input,
.wc-block-components-state-input {
    position: relative;
}

.wc-block-components-combobox-control select,
.wc-block-components-country-input select,
.wc-block-components-state-input select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px !important;
}

/* ===== SIDEBAR - RESUMEN DEL PEDIDO - Estilo Madre Tierra ===== DESACTIVADO
.wc-block-checkout__sidebar .wc-block-components-sidebar {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
}
*/

/* Resumen del pedido */
.wc-block-components-order-summary {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0;
}

.wc-block-components-order-summary__heading,
.wc-block-components-order-summary-item__header {
    display: none !important;
}

/* Items en resumen - Estilo Madre Tierra limpio */
.wc-block-components-order-summary-item {
    display: flex;
    gap: 16px;
    padding: 0 0 20px 0;
    border-bottom: none;
    align-items: center;
}

.wc-block-components-order-summary-item:last-child {
    border-bottom: none;
}

.wc-block-components-order-summary-item__image {
    position: relative;
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    border-radius: 8px !important;
    overflow: hidden;
    background: var(--color-white);
    border: 1px solid #e0e0e0;
}

.wc-block-components-order-summary-item__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.wc-block-components-order-summary-item__description {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--color-text) !important;
    line-height: 1.4;
}

/* OCULTAR descripción y badge de stock en resumen */
.wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-components-order-summary-item .wc-block-components-product-details,
.wc-block-components-order-summary-item .wc-block-components-product-badge,
.wc-block-components-order-summary-item__individual-prices {
    display: none !important;
}

/* Precio del producto en resumen */
.wc-block-components-order-summary-item__total-price {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--color-text) !important;
    text-align: right;
    min-width: 90px;
    white-space: nowrap;
}

/* Precio con descuento */
.wc-block-components-order-summary-item__total-price del {
    color: #999 !important;
    font-size: 12px !important;
    margin-right: 5px;
}

.wc-block-components-order-summary-item__total-price ins {
    text-decoration: none;
    color: var(--color-text) !important;
}

/* Badge de cantidad - Estilo Madre Tierra */
.wc-block-components-order-summary-item__quantity {
    position: absolute !important;
    top: -6px !important;
    right: -6px !important;
    left: auto !important;
    width: 20px !important;
    height: 20px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    text-align: center;
    color: var(--color-white) !important;
    background-color: #666 !important;
    border-radius: 50% !important;
    z-index: 1;
}

/* ===== CUPÓN DE DESCUENTO - Estilo Madre Tierra ===== */
.wc-block-components-totals-coupon {
    margin: 20px 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    display: flex;
    gap: 10px;
}

.wc-block-components-totals-coupon__content {
    display: flex;
    gap: 10px;
    width: 100%;
}

.wc-block-components-totals-coupon input {
    flex: 1;
    padding: 14px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
}

.wc-block-components-totals-coupon input:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 1px var(--color-primary) !important;
}

.wc-block-components-totals-coupon__button {
    font-family: var(--font-body) !important;
    background: transparent !important;
    color: var(--color-text) !important;
    border: 1px solid #d9d9d9 !important;
    padding: 14px 20px !important;
    border-radius: 6px !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.wc-block-components-totals-coupon__button:hover {
    background: #f5f5f5 !important;
    border-color: #ccc !important;
}

/* ===== TOTALES - Estilo Madre Tierra ===== */
.wc-block-components-totals-wrapper {
    padding: 15px 0;
    border-top: 1px solid #e0e0e0;
    margin-top: 20px;
}

.wc-block-components-totals-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-family: var(--font-body) !important;
}

.wc-block-components-totals-item__label {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--color-text) !important;
}

.wc-block-components-totals-item__value {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--color-text) !important;
}

/* Envío info */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value {
    font-size: 13px !important;
    color: #737373 !important;
}

/* Total final */
.wc-block-components-totals-footer-item {
    padding-top: 15px;
    margin-top: 10px;
    border-top: 1px solid #e0e0e0;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--color-text) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--color-text) !important;
}

/* Moneda pequeña */
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
    font-size: 18px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value small {
    font-size: 12px !important;
    color: #737373 !important;
    font-weight: 400 !important;
    margin-right: 5px;
}

/* ===== MÉTODOS DE ENVÍO - Estilo Madre Tierra ===== */
.wc-block-components-shipping-rates-control {
    background: #f6f6f6;
    padding: 16px;
    border-radius: 8px;
    margin-top: 15px;
}

.wc-block-components-shipping-rates-control__no-results {
    font-size: 13px !important;
    color: #737373 !important;
    text-align: center;
    padding: 10px;
}

.wc-block-components-radio-control__option {
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 8px;
    background: var(--color-white);
    border: 1px solid #d9d9d9;
}

.wc-block-components-radio-control__option:hover {
    border-color: var(--color-primary);
}

.wc-block-components-radio-control__input {
    accent-color: var(--color-primary) !important;
}

/* ===== MÉTODOS DE PAGO ===== */
.wc-block-components-payment-method-icons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.wc-block-components-payment-method-label {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* ===== ENLACES ===== */
.wc-block-checkout a,
.wc-block-components-checkout-step a {
    color: var(--color-text) !important;
    text-decoration: underline;
    font-weight: 400;
}

.wc-block-checkout a:hover {
    color: var(--color-primary) !important;
}

/* Link iniciar sesión */
.wc-block-checkout__login-prompt {
    float: right;
    font-size: 13px !important;
}

.wc-block-checkout__login-prompt a {
    color: var(--color-text) !important;
    text-decoration: underline;
}

/* ===== AJUSTES ADICIONALES - Estilo Madre Tierra ===== */

/* Mensajes de error */
.wc-block-components-notice-banner {
    font-family: var(--font-body) !important;
    border-radius: 6px !important;
    margin-bottom: 20px;
}

.wc-block-components-notice-banner.is-error {
    background-color: #fff5f5 !important;
    border-color: var(--color-error) !important;
}

.wc-block-components-notice-banner.is-success {
    background-color: #f0fff4 !important;
    border-color: var(--color-success) !important;
}

/* Spinner de carga */
.wc-block-components-spinner {
    border-color: #e0e0e0 !important;
    border-top-color: var(--color-primary) !important;
}

/* Expresiones de checkout */
.wc-block-components-express-payment {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e0e0e0;
}

.wc-block-components-express-payment__title {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    text-align: center;
    color: #737373;
    margin-bottom: 15px;
}

/* Información de contacto header con link */
.wc-block-checkout__contact-fields .wc-block-components-checkout-step__heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Header simplificado en página de checkout */
body.woocommerce-checkout .filuna-header {
    border-bottom: 1px solid #e0e0e0;
    box-shadow: none;
}

body.woocommerce-checkout .filuna-header__inner {
    padding: 15px 0;
}

/* ==========================================================================
   19. RESPONSIVE CARRITO Y CHECKOUT
   ========================================================================== */

@media (max-width: 991px) {
    /* Checkout responsive - DESACTIVADO
    .wp-block-woocommerce-checkout .wc-block-checkout__main,
    .wc-block-checkout .wc-block-checkout__main,
    .wc-block-checkout__main {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
    
    .wp-block-woocommerce-checkout .wc-block-checkout__form,
    .wc-block-checkout .wc-block-checkout__form,
    .wc-block-checkout__form {
        padding: 30px 20px !important;
        max-width: 100% !important;
        margin: 0 !important;
        order: 2 !important;
    }
    
    .wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
    .wc-block-checkout .wc-block-checkout__sidebar,
    .wc-block-checkout__sidebar {
        padding: 25px 20px !important;
        border-left: none !important;
        border-bottom: 1px solid #e0e0e0;
        width: 100% !important;
        order: 1 !important;
    }
    */
    
    .wc-block-cart__main {
        flex-direction: column;
    }
    
    .wc-block-cart__sidebar {
        flex: 1;
        width: 100%;
    }
    
    .cross-sells .products,
    .cross-sells ul.products,
    .wc-block-cart .wc-block-grid__products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .wc-block-cart,
    .wc-block-checkout {
        padding: 20px 15px;
    }
    
    .wc-block-cart-items__row {
        grid-template-columns: 60px 1fr;
        gap: 15px;
    }
    
    .wc-block-cart-item__image,
    .wc-block-cart-items .wc-block-components-product-image {
        width: 60px !important;
        height: 60px !important;
        min-width: 60px !important;
    }
    
    .wc-block-cart-item__image img,
    .wc-block-cart-items .wc-block-components-product-image img {
        width: 60px !important;
        height: 60px !important;
    }
    
    .cross-sells .products li.product img,
    .wc-block-cart .wc-block-grid__product-image img {
        max-width: 140px !important;
    }
    
    .wc-block-components-order-summary-item__image,
    .wc-block-components-order-summary-item__image img {
        width: 50px !important;
        height: 50px !important;
    }
}

/* ==========================================================================
   20. PÁGINA GENÉRICA Y 404
   ========================================================================== */

/* Página genérica */
.filuna-page {
    padding: 60px 0 100px;
    min-height: 60vh;
}

.filuna-page__header {
    text-align: center;
    margin-bottom: 50px;
}

.filuna-page__title {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 600;
    margin: 0;
}

.filuna-page__thumbnail {
    margin-bottom: 40px;
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.filuna-page__thumbnail img {
    width: 100%;
    height: auto;
}

.filuna-page__content {
    max-width: 800px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.8;
}

.filuna-page__content p {
    margin-bottom: 1.5em;
}

.filuna-page__content h2 {
    font-family: var(--font-heading);
    margin-top: 2em;
    margin-bottom: 0.8em;
}

/* 404 Page */
.filuna-404 {
    padding: 100px 0;
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.filuna-404__content {
    text-align: center;
    max-width: 500px;
}

.filuna-404__number {
    font-family: var(--font-heading);
    font-size: 120px;
    font-weight: 700;
    color: var(--color-cream-dark);
    line-height: 1;
    display: block;
    margin-bottom: 20px;
}

.filuna-404__title {
    font-family: var(--font-heading);
    font-size: 32px;
    margin-bottom: 15px;
}

.filuna-404__text {
    font-size: 16px;
    color: var(--color-text-light);
    margin-bottom: 30px;
}

.filuna-404__actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ==========================================================================
   21. PÁGINA SOBRE NOSOTROS
   ========================================================================== */

.filuna-about__hero {
    padding: 80px 0 60px;
    text-align: center;
    background-color: var(--color-cream-light);
}

.filuna-about__subtitle {
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-light);
    margin-bottom: 15px;
}

.filuna-about__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    color: var(--color-primary);
    margin: 0;
}

/* CEO Section */
.filuna-about__ceo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 600px;
}

.filuna-about__ceo-image {
    background-color: var(--color-cream);
}

.filuna-about__ceo-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.filuna-about__ceo-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px 80px;
}

.filuna-about__ceo-title {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 400;
    margin-bottom: 25px;
}

.filuna-about__ceo-info {
    margin-bottom: 25px;
}

.filuna-about__ceo-info strong {
    display: block;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
}

.filuna-about__ceo-info span {
    font-size: 14px;
    color: var(--color-text-light);
}

.filuna-about__ceo-text {
    font-size: 15px;
    line-height: 1.8;
    color: var(--color-text-light);
}

/* Historia Section */
.filuna-about__story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.filuna-about__story-content h2 {
    font-family: var(--font-heading);
    font-size: 32px;
    margin-bottom: 25px;
}

.filuna-about__story-content p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--color-text-light);
    margin-bottom: 20px;
}

.filuna-about__story-image img {
    width: 100%;
    height: auto;
    border-radius: var(--radius-lg);
}

/* Historia Section - Solo texto */
.filuna-about__story-text-only {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 20px;
}

.filuna-about__story-text-only h2 {
    font-family: var(--font-heading);
    font-size: 36px;
    color: var(--color-primary);
    margin-bottom: 30px;
}

.filuna-about__story-text-only p {
    font-size: 17px;
    line-height: 1.9;
    color: var(--color-text-light);
    margin-bottom: 20px;
}

.filuna-about__story-text-only p:last-child {
    margin-bottom: 0;
}

/* Valores Section */
.filuna-about__values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-top: 50px;
}

.filuna-about__value {
    text-align: center;
}

.filuna-about__value-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white);
    border-radius: 50%;
    color: var(--color-primary);
}

.filuna-about__value h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

.filuna-about__value p {
    font-size: 14px;
    color: var(--color-text-light);
    line-height: 1.6;
}

/* Responsive About */
@media (max-width: 992px) {
    .filuna-about__ceo {
        grid-template-columns: 1fr;
    }
    
    .filuna-about__ceo-image {
        height: 400px;
    }
    
    .filuna-about__ceo-content {
        padding: 40px 30px;
    }
    
    .filuna-about__story-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .filuna-about__values-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .filuna-about__title {
        font-size: 32px;
    }
    
    .filuna-about__ceo-image {
        height: 300px;
    }
    
    .filuna-about__ceo-content {
        padding: 30px 20px;
    }
    
    .filuna-about__values-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

/* ==========================================================================
   22. PÁGINA DE CONTACTO
   ========================================================================== */

.filuna-contact {
    padding: 60px 0 100px;
}

.filuna-contact__header {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 60px;
}

.filuna-contact__subtitle {
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-light);
    margin-bottom: 10px;
}

.filuna-contact__title {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 600;
    margin-bottom: 15px;
}

.filuna-contact__desc {
    font-size: 16px;
    color: var(--color-text-light);
}

.filuna-contact__grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 80px;
}

/* Formulario */
.filuna-contact__form-wrapper {
    background-color: var(--color-white);
    padding: 40px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.filuna-contact__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.filuna-contact__field {
    margin-bottom: 25px;
}

.filuna-contact__field label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--color-text);
}

.filuna-contact__field input,
.filuna-contact__field select,
.filuna-contact__field textarea {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    font-family: var(--font-body);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background-color: var(--color-white);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.filuna-contact__field input:focus,
.filuna-contact__field select:focus,
.filuna-contact__field textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(255, 144, 100, 0.1);
}

.filuna-contact__field textarea {
    resize: vertical;
    min-height: 120px;
}

.filuna-contact__field select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233d3d3d' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 45px;
}

/* Info de contacto */
.filuna-contact__info {
    padding-top: 20px;
}

.filuna-contact__info-item {
    display: flex;
    gap: 20px;
    margin-bottom: 35px;
}

.filuna-contact__info-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-cream-light);
    border-radius: 50%;
    color: var(--color-primary);
}

.filuna-contact__info-item h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
}

.filuna-contact__info-item a,
.filuna-contact__info-item p {
    font-size: 15px;
    color: var(--color-text-light);
    text-decoration: none;
    margin: 0;
    line-height: 1.6;
}

.filuna-contact__info-item a:hover {
    color: var(--color-primary);
}

/* Redes sociales */
.filuna-contact__social {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid var(--color-border);
}

.filuna-contact__social h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
}

.filuna-contact__social-links {
    display: flex;
    gap: 15px;
}

.filuna-contact__social-links a {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-cream-light);
    border-radius: 50%;
    color: var(--color-text);
    transition: all 0.2s;
}

.filuna-contact__social-links a:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
}

/* Responsive Contacto */
@media (max-width: 992px) {
    .filuna-contact__grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    
    .filuna-contact__info {
        order: -1;
    }
}

@media (max-width: 576px) {
    .filuna-contact__title {
        font-size: 32px;
    }
    
    .filuna-contact__form-wrapper {
        padding: 25px;
    }
    
    .filuna-contact__row {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   23. CARRITO SIDEBAR DRAWER
   ========================================================================== */

/* Overlay */
.filuna-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.filuna-cart-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Drawer */
.filuna-cart-drawer {
    position: fixed;
    top: 0;
    right: -420px;
    width: 400px;
    max-width: 100%;
    height: 100%;
    background-color: var(--color-white);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    transition: right 0.3s ease;
    box-shadow: -5px 0 30px rgba(0, 0, 0, 0.1);
}

.filuna-cart-drawer.active {
    right: 0;
}

/* Header del drawer */
.filuna-cart-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 25px;
    border-bottom: 1px solid var(--color-border);
}

.filuna-cart-drawer__header h3 {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin: 0;
}

.filuna-cart-drawer__close {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
    padding: 0;
    line-height: 1;
    transition: color 0.2s;
}

.filuna-cart-drawer__close:hover {
    color: var(--color-primary);
}

/* Contenido del drawer */
.filuna-cart-drawer__content {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}

/* Items del carrito */
.filuna-cart-drawer__items {
    padding: 20px 25px;
}

.filuna-cart-drawer__item {
    display: flex;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid var(--color-border);
}

.filuna-cart-drawer__item:first-child {
    padding-top: 0;
}

.filuna-cart-drawer__item:last-child {
    border-bottom: none;
}

.filuna-cart-drawer__item-image {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    border-radius: 0;
    overflow: hidden;
    background-color: var(--color-cream-light);
}

.filuna-cart-drawer__item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.filuna-cart-drawer__item-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.filuna-cart-drawer__item-name {
    font-size: 14px;
    font-weight: 700;
    margin: 0;
    line-height: 1.4;
    color: var(--color-text);
}

.filuna-cart-drawer__item-price {
    font-size: 14px;
    color: var(--color-text-light);
    margin-bottom: 10px;
}

/* Cantidad y Quitar en una fila */
.filuna-cart-drawer__item-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: auto;
}

/* Cantidad */
.filuna-cart-drawer__item-qty {
    display: inline-flex;
    align-items: center;
    gap: 0;
    border: 1px solid var(--color-border);
    border-radius: 0;
    width: fit-content;
}

.filuna-cart-drawer__item-qty .qty-btn {
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    color: var(--color-text);
    transition: background-color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.filuna-cart-drawer__item-qty .qty-btn:hover {
    background-color: var(--color-cream-light);
}

/* Botón quitar */
.filuna-cart-drawer__item-remove {
    background: none;
    border: none;
    padding: 0;
    font-size: 13px;
    color: var(--color-text-light);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.filuna-cart-drawer__item-remove:hover {
    color: var(--color-text);
}

/* Carrito vacío */
.filuna-cart-drawer__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 25px;
    text-align: center;
}

.filuna-cart-drawer__empty svg {
    color: var(--color-cream-dark);
    margin-bottom: 20px;
}

.filuna-cart-drawer__empty p {
    font-size: 16px;
    color: var(--color-text-light);
    margin-bottom: 25px;
}

/* Cantidad - Input */
.filuna-cart-drawer__item-qty .qty-input {
    width: 45px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    border: none;
    background: transparent;
    -moz-appearance: textfield;
}

.filuna-cart-drawer__item-qty .qty-input::-webkit-outer-spin-button,
.filuna-cart-drawer__item-qty .qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Footer del drawer */
.filuna-cart-drawer__footer {
    margin-top: auto;
    padding: 0;
}

/* Totales */
.filuna-cart-drawer__totals {
    padding: 20px 25px;
    border-top: 1px solid var(--color-border);
}

.filuna-cart-drawer__row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 6px 0;
    font-size: 14px;
    border-bottom: 1px solid var(--color-border);
}

.filuna-cart-drawer__row:first-child {
    padding-top: 0;
}

.filuna-cart-drawer__row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.filuna-cart-drawer__row--savings {
    color: var(--color-primary);
}

.filuna-cart-drawer__row--savings span:first-child {
    color: var(--color-primary);
}

.filuna-cart-drawer__row--savings .savings-amount {
    color: var(--color-primary);
    font-weight: 500;
}

.filuna-cart-drawer__row--shipping {
    flex-direction: column;
    gap: 2px;
}

.filuna-cart-drawer__row--shipping .shipping-text {
    font-size: 12px;
    color: var(--color-text-light);
    line-height: 1.4;
}

.filuna-cart-drawer__row--total {
    font-weight: 600;
    font-size: 14px;
    padding-top: 8px;
    border-bottom: none;
}

.filuna-cart-drawer__row--total .total-amount {
    color: var(--color-primary);
    font-size: 16px;
    font-weight: 600;
}

/* Botón de checkout - Estilo Madre Tierra con colores Filuna */
.filuna-cart-drawer__checkout-btn {
    display: block;
    width: calc(100% - 50px);
    margin: 15px 25px 25px 25px;
    padding: 18px 30px;
    background-color: var(--color-cream-dark);
    color: var(--color-secondary);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-align: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.filuna-cart-drawer__checkout-btn:hover {
    background-color: var(--color-cream);
    color: var(--color-secondary);
}

/* Botón flotante */
.filuna-floating-cart-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 998;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    border: none;
    border-radius: 50%;
    box-shadow: 0 4px 20px rgba(255, 144, 100, 0.4);
    color: var(--color-white);
    cursor: pointer;
    transition: all 0.3s ease;
}

.filuna-floating-cart-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 25px rgba(255, 144, 100, 0.5);
}

.filuna-floating-cart-btn svg {
    width: 26px;
    height: 26px;
}

.filuna-floating-cart-btn__count {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 24px;
    height: 24px;
    background-color: var(--color-secondary);
    color: var(--color-white);
    font-size: 12px;
    font-weight: 600;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--color-white);
}

/* Responsive */
@media (max-width: 576px) {
    .filuna-cart-drawer {
        width: 100%;
        right: -100%;
    }
    
    .filuna-floating-cart-btn {
        bottom: 20px;
        right: 20px;
        width: 55px;
        height: 55px;
    }
    
    .filuna-cart-drawer__item-image {
        width: 70px;
        height: 70px;
    }
}

/* Botón pequeño */
.filuna-btn--sm {
    padding: 10px 20px;
    font-size: 12px;
}

/* ==========================================================================
   OVERRIDE: Galería de producto - espaciado reducido
   ========================================================================== */

.filuna-single-product .filuna-single-product__gallery {
    gap: 0 !important;
}

.filuna-single-product .filuna-gallery__main-wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

.filuna-single-product .filuna-gallery__main-img {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.filuna-single-product .filuna-gallery__thumbs-wrapper {
    margin-top: 8px !important;
    padding: 0 !important;
}

/* ==========================================================================
   24. CHECKOUT WOOCOMMERCE BLOCKS - OVERRIDE FINAL (DESACTIVADO)
   ========================================================================== 

/* Reset total para checkout - máxima especificidad
body.woocommerce-checkout .wp-site-blocks > *,
body.woocommerce-checkout .entry-content > *,
body.woocommerce-checkout .is-layout-constrained > * {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__main {
    display: grid !important;
    grid-template-columns: 1fr 420px !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-checkout .wc-block-checkout__main > .wc-block-checkout__main-content,
body.woocommerce-checkout .wc-block-checkout__form {
    background: #fff !important;
    padding: 40px 50px 40px 60px !important;
    max-width: 100% !important;
}

body.woocommerce-checkout .wc-block-checkout__main > .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar {
    background: #faf8f5 !important;
    border-left: 1px solid #e5e5e5 !important;
    padding: 40px 60px 40px 40px !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-sidebar {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}
*/

/* ==========================================================================
   25. PRINT
   ========================================================================== */

@media print {
    .filuna-header,
    .filuna-footer,
    .filuna-mobile-menu,
    .filuna-overlay,
    .filuna-topbar {
        display: none !important;
    }
}
