/* =========================================
   RESET
========================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'DM Sans', sans-serif;
    background:#ffffff;
    color:#15251f;
}

button,
input{
    font-family:inherit;
}

a{
    text-decoration:none;
    color:inherit;
}

button{
    border:none;
    background:none;
    cursor:pointer;
}

.container{
    width:92%;
    max-width:1280px;
    margin:auto;
}


/* =========================================
   COLORES VELORA
========================================= */

:root{
    --green-dark:#0f342b;
    --green:#184d3f;
    --green-soft:#eef5f1;
    --gold:#c69b58;
    --gold-dark:#a97c3a;
    --text:#172620;
    --text-soft:#6d7672;
    --border:#e8ecea;
}


/* =========================================
   TOPBAR
========================================= */

.topbar{
    background:var(--green-dark);
    color:white;
    font-size:13px;
}

.topbar-container{
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.topbar-left,
.topbar-right{
    display:flex;
    align-items:center;
    gap:28px;
}

.topbar-left span{
    display:flex;
    align-items:center;
    gap:7px;
}

.topbar i{
    color:var(--gold);
}

.topbar-right a{
    opacity:.88;
    transition:.25s;
}

.topbar-right a:hover{
    opacity:1;
    color:var(--gold);
}


/* =========================================
   HEADER
========================================= */

.header{
    background:white;
    border-bottom:1px solid var(--border);
    position:sticky;
    top:0;
    z-index:1000;
}

.header-container{
    min-height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}


/* =========================================
   LOGO
========================================= */

.logo{
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
}

.logo-symbol{
    width:44px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-weight:700;
    font-size:30px;

    color:var(--green-dark);

    border:2px solid var(--green-dark);
    border-radius:8px 8px 14px 14px;

    position:relative;
}

.logo-symbol::before{
    content:"";
    position:absolute;
    top:-11px;

    width:20px;
    height:13px;

    border:2px solid var(--green-dark);
    border-bottom:none;

    border-radius:10px 10px 0 0;
}

.logo-symbol::after{
    content:"";
    position:absolute;

    width:2px;
    height:44px;

    background:var(--gold);

    transform:rotate(25deg);
}

.logo-text{
    display:flex;
    flex-direction:column;
    line-height:1;
}

.logo-text strong{
    font-size:25px;
    letter-spacing:3px;
    color:var(--green-dark);
}

.logo-text span{
    margin-top:6px;
    font-size:10px;
    letter-spacing:3px;
    color:var(--gold-dark);
}


/* =========================================
   MENÚ DESKTOP
========================================= */

.desktop-nav{
    display:flex;
    align-items:center;
    gap:27px;
}

.desktop-nav a{
    position:relative;
    font-size:14px;
    font-weight:500;
    color:#25342e;
    transition:.25s;
}

.desktop-nav a::after{
    content:"";
    position:absolute;

    left:0;
    bottom:-12px;

    width:0;
    height:2px;

    background:var(--green-dark);

    transition:.3s;
}

.desktop-nav a:hover,
.desktop-nav a.active{
    color:var(--green-dark);
}

.desktop-nav a:hover::after,
.desktop-nav a.active::after{
    width:100%;
}


/* =========================================
   ICONOS HEADER
========================================= */

.header-actions{
    display:flex;
    align-items:center;
    gap:7px;
}

.action-btn{
    position:relative;

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:#16251f;
    font-size:19px;

    transition:.25s;
}

.action-btn:hover{
    background:var(--green-soft);
}

.badge{
    position:absolute;

    top:1px;
    right:0;

    min-width:18px;
    height:18px;

    padding:0 4px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:20px;

    background:var(--gold);
    color:white;

    font-size:10px;
    font-weight:700;

    border:2px solid white;
}


/* =========================================
   MENÚ MÓVIL
========================================= */

.mobile-menu-button{
    width:42px;
    height:42px;

    display:none;
    align-items:center;
    justify-content:center;

    font-size:22px;
    color:var(--green-dark);
}

.mobile-menu{
    position:fixed;

    top:0;
    right:-100%;

    width:340px;
    max-width:88%;

    height:100vh;

    background:white;

    z-index:3000;

    box-shadow:-15px 0 40px rgba(0,0,0,.15);

    transition:.4s ease;

    padding:28px;
}

.mobile-menu.active{
    right:0;
}

.mobile-menu-top{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding-bottom:24px;

    border-bottom:1px solid var(--border);
}

.mobile-brand{
    display:flex;
    flex-direction:column;
}

.mobile-brand strong{
    letter-spacing:3px;
    font-size:22px;
    color:var(--green-dark);
}

.mobile-brand span{
    margin-top:4px;
    font-size:10px;
    letter-spacing:2px;
    color:var(--gold-dark);
}

.close-menu{
    font-size:25px;
    color:var(--green-dark);
}

.mobile-menu nav{
    margin-top:25px;
    display:flex;
    flex-direction:column;
}

.mobile-menu nav a{
    padding:16px 4px;
    border-bottom:1px solid var(--border);

    font-size:16px;
    font-weight:500;

    transition:.25s;
}

.mobile-menu nav a:hover{
    color:var(--gold-dark);
    padding-left:10px;
}

.menu-overlay{
    position:fixed;

    inset:0;

    background:rgba(4,20,15,.55);

    z-index:2500;

    opacity:0;
    visibility:hidden;

    transition:.3s;
}

.menu-overlay.active{
    opacity:1;
    visibility:visible;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:1100px){

    .desktop-nav{
        gap:17px;
    }

    .desktop-nav a{
        font-size:13px;
    }

    .desktop-action{
        display:none;
    }

}


/* =========================================
   MOBILE
========================================= */

@media(max-width:850px){

    .container{
        width:94%;
    }

    .topbar-container{
        justify-content:center;
        min-height:32px;
    }

    .topbar-left span:nth-child(2),
    .topbar-right{
        display:none;
    }

    .header-container{
        min-height:72px;
    }

    .desktop-nav{
        display:none;
    }

    .mobile-menu-button{
        display:flex;
    }

    .logo-symbol{
        width:36px;
        height:43px;
        font-size:24px;
    }

    .logo-symbol::before{
        width:17px;
        height:11px;
        top:-9px;
    }

    .logo-text strong{
        font-size:20px;
        letter-spacing:2px;
    }

    .logo-text span{
        font-size:8px;
        letter-spacing:2px;
    }

    .header-actions{
        gap:0;
    }

    .action-btn{
        width:37px;
        height:37px;
        font-size:17px;
    }

}


/* =========================================
   MOBILE PEQUEÑO
========================================= */

@media(max-width:470px){

    .topbar{
        font-size:11px;
    }

    .logo{
        gap:8px;
    }

    .logo-text strong{
        font-size:18px;
    }

    .logo-text span{
        font-size:7px;
    }

    .action-btn{
        width:34px;
    }

}


/* =========================================
   HERO PREMIUM
========================================= */

.hero{
    position:relative;
    overflow:hidden;
    background:#f5f1ea;
}

.hero-slider{
    position:relative;
    min-height:570px;
}

.hero-slide{
    position:absolute;
    inset:0;

    opacity:0;
    visibility:hidden;

    transition:
        opacity .7s ease,
        visibility .7s ease;
}

.hero-slide.active{
    position:relative;
    opacity:1;
    visibility:visible;
}

.hero-container{
    min-height:570px;

    display:grid;
    grid-template-columns:1fr 1.1fr;

    align-items:center;

    gap:60px;
}


/* =========================================
   CONTENIDO
========================================= */

.hero-content{
    max-width:560px;
    padding:70px 0;
}

.hero-label{
    display:inline-block;

    margin-bottom:18px;

    color:var(--gold-dark);

    font-size:13px;
    font-weight:700;

    letter-spacing:2px;
}

.hero-content h1,
.hero-content h2{
    color:var(--green-dark);

    font-size:54px;
    line-height:1.08;

    letter-spacing:-2px;

    margin-bottom:22px;
}

.hero-content h1 span,
.hero-content h2 span{
    display:block;
}

.hero-content p{
    max-width:510px;

    color:#67726d;

    font-size:17px;
    line-height:1.7;

    margin-bottom:30px;
}


/* =========================================
   BOTONES HERO
========================================= */

.hero-buttons{
    display:flex;
    flex-wrap:wrap;

    gap:14px;
}

.hero-btn{
    min-height:48px;

    padding:0 26px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    border-radius:7px;

    font-size:14px;
    font-weight:700;

    transition:.3s;
}

.hero-btn.primary{
    background:var(--green-dark);
    color:white;
}

.hero-btn.primary:hover{
    background:var(--green);
    transform:translateY(-2px);
}

.hero-btn.secondary{
    border:1px solid var(--gold);

    color:var(--gold-dark);

    background:rgba(255,255,255,.5);
}

.hero-btn.secondary:hover{
    background:white;
}


/* =========================================
   VISUAL TEMPORAL
========================================= */

.hero-visual{
    width:100%;
    height:100%;

    display:flex;

    align-items:center;
    justify-content:center;

    padding:45px 0;
}

.hero-placeholder{
    width:100%;
    height:430px;

    border-radius:24px;

    display:flex;

    align-items:center;
    justify-content:center;

    overflow:hidden;

    position:relative;

    box-shadow:
        0 30px 60px rgba(20,52,43,.12);
}

.hero-placeholder span{
    font-size:12px;
    letter-spacing:3px;
    font-weight:700;
    opacity:.45;
}


/* COLORES TEMPORALES */

.slide-1{
    background:
        linear-gradient(
            135deg,
            #f7f2eb 0%,
            #ebe2d6 100%
        );
}

.slide-1 .hero-placeholder{
    background:
        linear-gradient(
            135deg,
            #e5d4be,
            #f5eee5
        );
}

.slide-2{
    background:
        linear-gradient(
            135deg,
            #eef3f1,
            #dce7e2
        );
}

.slide-2 .hero-placeholder{
    background:
        linear-gradient(
            135deg,
            #cddbd5,
            #edf3ef
        );
}

.slide-3{
    background:
        linear-gradient(
            135deg,
            #f2eee7,
            #e8dfd2
        );
}

.slide-3 .hero-placeholder{
    background:
        linear-gradient(
            135deg,
            #d9cbb8,
            #f3ece2
        );
}


/* =========================================
   FLECHAS
========================================= */

.hero-arrow{
    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:48px;
    height:48px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.9);

    color:var(--green-dark);

    box-shadow:
        0 10px 30px rgba(0,0,0,.10);

    z-index:20;

    transition:.3s;
}

.hero-arrow:hover{
    background:var(--green-dark);
    color:white;
}

.hero-prev{
    left:25px;
}

.hero-next{
    right:25px;
}


/* =========================================
   DOTS
========================================= */

.hero-dots{
    position:absolute;

    bottom:27px;

    left:50%;

    transform:translateX(-50%);

    display:flex;

    gap:8px;

    z-index:20;
}

.hero-dot{
    width:9px;
    height:9px;

    border-radius:50%;

    background:#b7beb9;

    transition:.3s;
}

.hero-dot.active{
    width:28px;

    border-radius:20px;

    background:var(--green-dark);
}


/* =========================================
   RESPONSIVE HERO
========================================= */

@media(max-width:950px){

    .hero-container{
        grid-template-columns:1fr;

        gap:10px;

        padding-top:30px;
        padding-bottom:60px;
    }

    .hero-content{
        max-width:700px;

        padding:45px 0 20px;
    }

    .hero-content h1,
    .hero-content h2{
        font-size:47px;
    }

    .hero-visual{
        padding:0;
    }

    .hero-placeholder{
        height:370px;
    }

}


@media(max-width:600px){

    .hero-slider{
        min-height:690px;
    }

    .hero-container{
        min-height:690px;

        padding-top:10px;
        padding-bottom:70px;
    }

    .hero-content{
        padding:35px 0 15px;

        text-align:center;
    }

    .hero-label{
        font-size:11px;
    }

    .hero-content h1,
    .hero-content h2{
        font-size:37px;

        letter-spacing:-1px;
    }

    .hero-content p{
        font-size:15px;
    }

    .hero-buttons{
        justify-content:center;
    }

    .hero-btn{
        min-height:45px;

        padding:0 20px;

        font-size:13px;
    }

    .hero-placeholder{
        height:290px;

        border-radius:18px;
    }

    .hero-arrow{
        width:38px;
        height:38px;

        font-size:13px;
    }

    .hero-prev{
        left:10px;
    }

    .hero-next{
        right:10px;
    }

}


/* =========================================
   BENEFICIOS
========================================= */

.benefits{
    background:#ffffff;
    border-bottom:1px solid var(--border);
}

.benefits-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
}

.benefit-card{
    min-height:125px;

    display:flex;
    align-items:center;

    gap:17px;

    padding:25px 30px;

    position:relative;
}

.benefit-card:not(:last-child)::after{
    content:"";

    position:absolute;

    right:0;
    top:28px;
    bottom:28px;

    width:1px;

    background:var(--border);
}

.benefit-icon{
    width:48px;
    height:48px;

    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--green-soft);

    color:var(--green-dark);

    font-size:19px;

    transition:.3s;
}

.benefit-card:hover .benefit-icon{
    background:var(--green-dark);
    color:#ffffff;

    transform:translateY(-3px);
}

.benefit-card h3{
    margin-bottom:5px;

    color:var(--green-dark);

    font-size:15px;
    font-weight:700;
}

.benefit-card p{
    color:var(--text-soft);

    font-size:12px;
    line-height:1.5;
}


/* TABLET */

@media(max-width:950px){

    .benefits-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .benefit-card:nth-child(2)::after{
        display:none;
    }

    .benefit-card:nth-child(-n+2){
        border-bottom:1px solid var(--border);
    }

}


/* CELULAR */

@media(max-width:550px){

    .benefits-grid{
        grid-template-columns:1fr 1fr;
    }

    .benefit-card{
        min-height:135px;

        padding:20px 12px;

        flex-direction:column;

        justify-content:center;

        text-align:center;

        gap:10px;
    }

    .benefit-card::after{
        display:none;
    }

    .benefit-card:nth-child(odd){
        border-right:1px solid var(--border);
    }

    .benefit-icon{
        width:43px;
        height:43px;

        font-size:17px;
    }

    .benefit-card h3{
        font-size:13px;
    }

    .benefit-card p{
        font-size:11px;
    }

}



/* =========================================
   CATEGORÍAS DESTACADAS
========================================= */

.categories{
    padding:95px 0;
    background:#f8faf9;
}


/* ENCABEZADO GENERAL */

.section-header{
    margin-bottom:42px;

    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:40px;
}

.section-header > div{
    max-width:650px;
}

.section-eyebrow{
    display:block;

    margin-bottom:10px;

    color:var(--gold-dark);

    font-size:12px;
    font-weight:700;

    letter-spacing:2.5px;
}

.section-header h2{
    margin-bottom:12px;

    color:var(--green-dark);

    font-size:38px;
    line-height:1.15;

    letter-spacing:-1px;
}

.section-header p{
    max-width:550px;

    color:var(--text-soft);

    font-size:15px;
    line-height:1.7;
}

.section-link{
    flex-shrink:0;

    display:flex;
    align-items:center;

    gap:10px;

    color:var(--green-dark);

    font-size:14px;
    font-weight:700;

    padding-bottom:4px;

    border-bottom:1px solid var(--green-dark);

    transition:.3s;
}

.section-link:hover{
    color:var(--gold-dark);
    border-color:var(--gold-dark);
}


/* =========================================
   GRID
========================================= */

.categories-grid{
    display:grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(0, 1fr)
        minmax(0, 1fr);

    grid-template-rows:repeat(2, 255px);

    gap:18px;
}


/* =========================================
   TARJETAS
========================================= */

.category-card{
    position:relative;

    overflow:hidden;

    min-width:0;

    border-radius:18px;

    background:#e8eeeb;

    box-shadow:
        0 15px 35px rgba(15,52,43,.06);
}

.category-large{
    grid-row:1 / 3;
}


/* =========================================
   IMAGEN
========================================= */

.category-image{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    transition:transform .6s ease;
}

.category-card:hover .category-image{
    transform:scale(1.045);
}


/* TEMPORAL HASTA PONER LAS FOTOS */

.category-placeholder{
    display:flex;

    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #dce6e1,
            #eef3f0
        );
}

.category-placeholder span{
    color:var(--green-dark);

    font-size:10px;
    font-weight:700;

    letter-spacing:2px;

    opacity:.35;
}


/* OSCURECIDO PARA EL TEXTO */

.category-card::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(8,31,24,.78) 0%,
            rgba(8,31,24,.18) 55%,
            transparent 100%
        );

    z-index:1;
}


/* =========================================
   CONTENIDO
========================================= */

.category-content{
    position:absolute;

    left:25px;
    right:25px;
    bottom:23px;

    z-index:2;

    color:white;
}

.category-content > span{
    display:inline-block;

    margin-bottom:9px;

    font-size:10px;
    font-weight:700;

    letter-spacing:2px;

    color:#e6c68d;
}

.category-content h3{
    font-size:25px;
    line-height:1.1;

    margin-bottom:8px;
}

.category-large .category-content h3{
    font-size:34px;
}

.category-content p{
    max-width:370px;

    margin-bottom:15px;

    color:rgba(255,255,255,.82);

    font-size:13px;
    line-height:1.6;
}

.category-button{
    display:flex;
    align-items:center;

    gap:8px;

    font-size:12px;
    font-weight:700;

    transition:.3s;
}

.category-button i{
    transition:transform .3s;
}

.category-card:hover .category-button i{
    transform:translateX(5px);
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .categories{
        padding:75px 0;
    }

    .categories-grid{
        grid-template-columns:1fr 1fr;

        grid-template-rows:360px 230px 230px;
    }

    .category-large{
        grid-column:1 / 3;
        grid-row:auto;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .categories{
        padding:60px 0;
    }

    .section-header{
        align-items:flex-start;
        flex-direction:column;

        gap:20px;

        margin-bottom:30px;
    }

    .section-header h2{
        font-size:30px;
    }

    .section-header p{
        font-size:14px;
    }

    .categories-grid{
        display:grid;

        grid-template-columns:1fr 1fr;
        grid-template-rows:330px 205px 205px;

        gap:10px;
    }

    .category-large{
        grid-column:1 / 3;
    }

    .category-card{
        border-radius:13px;
    }

    .category-content{
        left:16px;
        right:16px;
        bottom:16px;
    }

    .category-content h3,
    .category-large .category-content h3{
        font-size:20px;
    }

    .category-large .category-content h3{
        font-size:27px;
    }

    .category-content p{
        font-size:12px;
    }

}


/* =========================================
   PRODUCTOS DESTACADOS
========================================= */
/* =========================================
   PRODUCTOS DESTACADOS
========================================= */

.products{
    padding:95px 0;
    background:#ffffff;
}


/* =========================================
   GRID
========================================= */

.products-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:22px;
}


/* =========================================
   TARJETA
========================================= */

.product-card{
    min-width:0;

    background:#ffffff;

    border:1px solid #edf0ee;
    border-radius:16px;

    overflow:hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


.product-card:hover{
    transform:translateY(-7px);

    border-color:transparent;

    box-shadow:
        0 22px 50px
        rgba(15,52,43,.10);
}


/* =========================================
   CONTENEDOR IMAGEN
========================================= */

.product-image{
    position:relative;

    width:100%;

    /*
       Bajamos la altura.
       Antes tenías 310px.
    */

    height:260px;

    overflow:hidden;

    background:#f5f7f6;

    display:flex;
    align-items:center;
    justify-content:center;
}


/* =========================================
   IMAGEN REAL DEL PRODUCTO
========================================= */

.product-img{

    /*
       IMPORTANTE:
       La imagen NO ocupa el 100%.
       Así dejamos espacio alrededor.
    */

    width:82%;
    height:82%;

    display:block;

    object-fit:contain;
    object-position:center;

    margin:auto;

    transition:
        transform .45s ease;
}


/* ZOOM MUY PEQUEÑO */

.product-card:hover .product-img{
    transform:scale(1.025);
}


/* =========================================
   PLACEHOLDER
   Se mantiene por si agregamos otro producto
   sin imagen.
========================================= */

.product-placeholder{
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #eef2f0,
            #dfe7e3
        );

    color:var(--green-dark);

    font-size:9px;
    font-weight:700;

    letter-spacing:2px;

    opacity:.75;

    transition:transform .6s ease;
}


.product-card:hover .product-placeholder{
    transform:scale(1.025);
}


/* =========================================
   DESCUENTO / NUEVO
========================================= */

.product-discount,
.product-tag-new{
    position:absolute;

    top:15px;
    left:15px;

    z-index:3;

    padding:7px 10px;

    border-radius:5px;

    color:#ffffff;

    font-size:10px;
    font-weight:700;

    letter-spacing:.5px;
}


.product-discount{
    background:#b35b45;
}


.product-tag-new{
    background:var(--green-dark);
}


/* =========================================
   FAVORITO
========================================= */

.favorite-product{
    position:absolute;

    top:14px;
    right:14px;

    z-index:4;

    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.95);

    color:var(--green-dark);

    font-size:16px;

    box-shadow:
        0 5px 15px
        rgba(0,0,0,.08);

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}


.favorite-product:hover{
    transform:scale(1.06);
}


.favorite-product:hover,
.favorite-product.active{
    background:var(--green-dark);
    color:#ffffff;
}


/* =========================================
   VISTA RÁPIDA
========================================= */

.quick-view{
    position:absolute;

    left:50%;
    bottom:15px;

    z-index:4;

    transform:
        translate(-50%,20px);

    opacity:0;

    min-width:135px;
    height:39px;

    padding:0 15px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:8px;

    border-radius:5px;

    background:rgba(255,255,255,.96);

    color:var(--green-dark);

    font-size:11px;
    font-weight:700;

    box-shadow:
        0 8px 25px
        rgba(0,0,0,.10);

    transition:
        opacity .3s ease,
        transform .3s ease,
        background .3s ease,
        color .3s ease;
}


.product-card:hover .quick-view{
    opacity:1;

    transform:
        translate(-50%,0);
}


.quick-view:hover{
    background:var(--green-dark);
    color:#ffffff;
}


/* =========================================
   INFORMACIÓN
========================================= */

.product-info{
    padding:19px 18px 20px;
}


/* CATEGORÍA */

.product-category{
    display:block;

    margin-bottom:7px;

    color:var(--gold-dark);

    font-size:9px;
    font-weight:700;

    letter-spacing:1.5px;
}


/* NOMBRE */

.product-info h3{
    min-height:43px;

    margin-bottom:9px;

    color:var(--green-dark);

    font-size:15px;
    font-weight:700;

    line-height:1.4;
}


/* =========================================
   ESTRELLAS
========================================= */

.product-rating{
    display:flex;
    align-items:center;

    gap:7px;

    margin-bottom:18px;
}


.product-rating div{
    display:flex;

    gap:2px;

    color:#d3a44f;

    font-size:10px;
}


.product-rating > span{
    color:#939a96;

    font-size:10px;
}


/* =========================================
   PRECIO + CARRITO
========================================= */

.product-bottom{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:10px;
}


.product-price{
    display:flex;

    align-items:center;
    flex-wrap:wrap;

    gap:7px;
}


.product-price strong{
    color:var(--green-dark);

    font-size:18px;
    font-weight:700;
}


.product-price del{
    color:#9ca39f;

    font-size:11px;
}


/* =========================================
   BOTÓN AGREGAR AL CARRITO
========================================= */

.add-cart{
    width:42px;
    height:42px;

    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--green-dark);

    color:#ffffff;

    font-size:15px;

    transition:
        background .3s ease,
        transform .3s ease;
}


.add-cart:hover{
    background:var(--gold-dark);

    transform:scale(1.07);
}


/* =========================================
   TABLET
========================================= */

@media(max-width:1000px){

    .products-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:18px;
    }


    .product-image{
        height:250px;
    }


    .product-img{
        width:78%;
        height:78%;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .products{
        padding:60px 0;
    }


    .products-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:10px;
    }


    /*
       Imagen bastante más pequeña
       para las tarjetas móviles
    */

    .product-image{
        height:175px;
    }


    .product-img{
        width:78%;
        height:78%;
    }


    .product-info{
        padding:14px 12px 15px;
    }


    .product-category{
        font-size:8px;

        letter-spacing:1px;
    }


    .product-info h3{
        min-height:40px;

        font-size:13px;
    }


    .product-rating{
        margin-bottom:13px;
    }


    .product-rating div{
        font-size:9px;
    }


    .product-price strong{
        font-size:15px;
    }


    .product-price del{
        font-size:9px;
    }


    .add-cart{
        width:35px;
        height:35px;

        font-size:12px;
    }


    .quick-view{
        display:none;
    }


    .favorite-product{
        width:33px;
        height:33px;

        top:10px;
        right:10px;

        font-size:14px;
    }


    .product-discount,
    .product-tag-new{
        top:10px;
        left:10px;

        padding:6px 8px;

        font-size:8px;
    }

}


/* =========================================
   CELULAR PEQUEÑO
========================================= */

@media(max-width:420px){

    .products-grid{
        gap:8px;
    }


    .product-image{
        height:155px;
    }


    .product-img{
        width:76%;
        height:76%;
    }


    .product-info{
        padding:12px 10px 14px;
    }


    .product-info h3{
        min-height:38px;

        font-size:12px;
    }


    .product-price strong{
        font-size:14px;
    }


    .add-cart{
        width:32px;
        height:32px;
    }

}

/* =========================================
   COLECCIÓN DESTACADA
========================================= */

.featured-collection{
    padding:40px 0 100px;
    background:#ffffff;
}

.collection-box{
    min-height:560px;

    display:grid;
    grid-template-columns:1.15fr .85fr;

    overflow:hidden;

    border-radius:24px;

    background:var(--green-dark);

    box-shadow:
        0 30px 70px rgba(15,52,43,.12);
}


/* =========================================
   IMAGEN
========================================= */

.collection-image{
    position:relative;
    min-height:560px;
    overflow:hidden;
}

.collection-placeholder{
    width:100%;
    height:100%;

    min-height:560px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #d9d0c2 0%,
            #eee8de 50%,
            #c9bca9 100%
        );

    transition:transform .8s ease;
}

.collection-box:hover .collection-placeholder{
    transform:scale(1.035);
}

.collection-placeholder span{
    color:#5f594f;

    font-size:11px;
    font-weight:700;

    letter-spacing:3px;

    opacity:.45;
}


/* ETIQUETA FLOTANTE */

.collection-floating{
    position:absolute;

    right:25px;
    bottom:25px;

    width:100px;
    height:100px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.93);

    color:var(--green-dark);

    box-shadow:
        0 12px 30px rgba(0,0,0,.12);
}

.collection-floating span{
    font-size:9px;
    font-weight:700;
    letter-spacing:2px;

    color:var(--gold-dark);
}

.collection-floating strong{
    margin-top:3px;

    font-size:21px;
}


/* =========================================
   CONTENIDO
========================================= */

.collection-content{
    display:flex;
    flex-direction:column;

    justify-content:center;

    padding:70px 65px;

    color:white;
}

.collection-label{
    margin-bottom:17px;

    color:#ddbd82;

    font-size:11px;
    font-weight:700;

    letter-spacing:2.5px;
}

.collection-content h2{
    margin-bottom:22px;

    font-size:44px;
    line-height:1.08;

    letter-spacing:-1.5px;
}

.collection-content h2 span{
    display:block;

    color:#e4c58c;
}

.collection-content > p{
    max-width:430px;

    margin-bottom:28px;

    color:rgba(255,255,255,.72);

    font-size:15px;
    line-height:1.75;
}


/* CARACTERÍSTICAS */

.collection-features{
    display:flex;
    flex-direction:column;

    gap:12px;

    margin-bottom:34px;
}

.collection-features div{
    display:flex;
    align-items:center;

    gap:10px;

    color:rgba(255,255,255,.9);

    font-size:13px;
}

.collection-features i{
    width:22px;
    height:22px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(222,190,132,.15);

    color:#e4c58c;

    font-size:9px;
}


/* BOTÓN */

.collection-button{
    width:max-content;

    display:inline-flex;
    align-items:center;

    gap:12px;

    padding:15px 22px;

    border-radius:6px;

    background:#ffffff;

    color:var(--green-dark);

    font-size:13px;
    font-weight:700;

    transition:.3s;
}

.collection-button i{
    transition:transform .3s;
}

.collection-button:hover{
    background:#e4c58c;
}

.collection-button:hover i{
    transform:translateX(5px);
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .collection-box{
        grid-template-columns:1fr;
    }

    .collection-image,
    .collection-placeholder{
        min-height:430px;
    }

    .collection-content{
        padding:55px;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .featured-collection{
        padding:15px 0 65px;
    }

    .collection-box{
        border-radius:17px;
    }

    .collection-image,
    .collection-placeholder{
        min-height:330px;
    }

    .collection-floating{
        right:15px;
        bottom:15px;

        width:78px;
        height:78px;
    }

    .collection-floating strong{
        font-size:17px;
    }

    .collection-content{
        padding:38px 25px 42px;
    }

    .collection-content h2{
        font-size:33px;
    }

    .collection-content > p{
        font-size:14px;
    }

}


/* =========================================
   MÁS VENDIDOS
========================================= */

.best-sellers{
    padding:95px 0;
    background:#f7f9f8;
    overflow:hidden;
}

.best-header{
    align-items:center;
}

.best-controls{
    display:flex;
    gap:10px;
}

.best-controls button{
    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #dce3df;
    border-radius:50%;

    background:#ffffff;
    color:var(--green-dark);

    transition:.3s;
}

.best-controls button:hover{
    background:var(--green-dark);
    border-color:var(--green-dark);
    color:white;
}


/* CARRUSEL */

.best-slider{
    display:flex;
    gap:20px;

    overflow-x:auto;

    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;

    padding:5px 2px 30px;

    scrollbar-width:none;
}

.best-slider::-webkit-scrollbar{
    display:none;
}


/* TARJETA */

.best-card{
    flex:0 0 calc((100% - 60px) / 4);

    min-width:0;

    scroll-snap-align:start;

    background:white;

    border-radius:18px;

    overflow:hidden;

    border:1px solid #e9eeeb;

    transition:.35s;
}

.best-card:hover{
    transform:translateY(-6px);

    box-shadow:
        0 20px 45px rgba(15,52,43,.10);
}


/* IMAGEN */

.best-image{
    height:300px;

    position:relative;

    overflow:hidden;

    background:#edf2ef;
}

.best-placeholder{
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #dfe8e3,
            #f2f5f3
        );

    color:var(--green-dark);

    font-size:9px;
    font-weight:700;

    letter-spacing:2px;

    opacity:.7;

    transition:.6s;
}

.best-card:hover .best-placeholder{
    transform:scale(1.04);
}


/* BADGE */

.best-badge{
    position:absolute;

    left:14px;
    top:14px;

    padding:7px 9px;

    border-radius:5px;

    background:var(--green-dark);
    color:white;

    font-size:9px;
    font-weight:700;

    letter-spacing:1px;
}


/* FAVORITO */

.best-image .favorite-product{
    position:absolute;
    right:14px;
    top:14px;
}


/* INFORMACIÓN */

.best-info{
    padding:19px;
}

.best-info > span{
    display:block;

    margin-bottom:7px;

    color:var(--gold-dark);

    font-size:9px;
    font-weight:700;

    letter-spacing:1.5px;
}

.best-info h3{
    min-height:43px;

    margin-bottom:9px;

    color:var(--green-dark);

    font-size:15px;
    line-height:1.4;
}


/* RATING */

.best-rating{
    display:flex;
    align-items:center;

    gap:5px;

    margin-bottom:18px;

    color:#d1a34d;

    font-size:11px;
    font-weight:700;
}

.best-rating small{
    color:#929b96;

    font-size:10px;
    font-weight:400;
}


/* PRECIO */

.best-bottom{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:10px;
}

.best-bottom strong{
    color:var(--green-dark);

    font-size:18px;
}


/* TABLET */

@media(max-width:1000px){

    .best-card{
        flex:0 0 calc((100% - 20px) / 2);
    }

}


/* CELULAR */

@media(max-width:600px){

    .best-sellers{
        padding:60px 0;
    }

    .best-header{
        flex-direction:row;
        align-items:flex-end;
    }

    .best-header p{
        display:none;
    }

    .best-controls button{
        width:38px;
        height:38px;
    }

    .best-card{
        flex:0 0 76%;
    }

    .best-image{
        height:270px;
    }

}


/* =========================================
   OFERTA ESPECIAL
========================================= */

.special-offer{
    padding:100px 0;
    background:#ffffff;
}

.offer-box{
    min-height:500px;

    display:grid;
    grid-template-columns:.9fr 1.1fr;

    overflow:hidden;

    border-radius:25px;

    background:var(--green-dark);

    box-shadow:
        0 30px 70px rgba(15,52,43,.14);
}


/* CONTENIDO */

.offer-content{
    padding:70px 65px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    color:white;
}

.offer-label{
    margin-bottom:15px;

    color:#e2bf80;

    font-size:11px;
    font-weight:700;

    letter-spacing:2.5px;
}

.offer-content h2{
    margin-bottom:18px;

    font-size:49px;
    line-height:1;

    letter-spacing:-2px;
}

.offer-content h2 strong{
    display:block;

    margin-top:8px;

    color:#e4c58c;

    font-size:65px;
}

.offer-content p{
    max-width:470px;

    margin-bottom:30px;

    color:rgba(255,255,255,.72);

    font-size:14px;
    line-height:1.75;
}


/* =========================================
   CONTADOR
========================================= */

.offer-countdown{
    display:flex;
    align-items:center;

    gap:12px;

    margin-bottom:34px;
}

.countdown-item{
    width:65px;
    height:72px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.16);

    border-radius:9px;

    background:rgba(255,255,255,.07);
}

.countdown-item strong{
    font-size:23px;
    line-height:1;
}

.countdown-item span{
    margin-top:7px;

    color:rgba(255,255,255,.55);

    font-size:9px;
    text-transform:uppercase;

    letter-spacing:1px;
}

.countdown-separator{
    color:#d7b474;

    font-size:20px;
    font-weight:700;
}


/* BOTÓN */

.offer-btn{
    width:max-content;

    display:inline-flex;
    align-items:center;

    gap:12px;

    padding:15px 22px;

    border-radius:6px;

    background:#ffffff;

    color:var(--green-dark);

    font-size:13px;
    font-weight:700;

    transition:.3s;
}

.offer-btn i{
    transition:transform .3s;
}

.offer-btn:hover{
    background:#e4c58c;
}

.offer-btn:hover i{
    transform:translateX(5px);
}


/* =========================================
   VISUAL
========================================= */

.offer-visual{
    position:relative;

    min-height:500px;

    overflow:hidden;
}

.offer-placeholder{
    width:100%;
    height:100%;

    min-height:500px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #d7c6ad,
            #f0e8dd 48%,
            #c8b597
        );

    transition:transform .8s ease;
}

.offer-box:hover .offer-placeholder{
    transform:scale(1.035);
}

.offer-placeholder > span{
    color:#655a4c;

    font-size:10px;
    font-weight:700;

    letter-spacing:3px;

    opacity:.45;
}


/* CÍRCULO DESCUENTO */

.offer-discount-circle{
    position:absolute;

    top:35px;
    right:35px;

    width:125px;
    height:125px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#ffffff;

    color:var(--green-dark);

    box-shadow:
        0 15px 40px rgba(0,0,0,.15);
}

.offer-discount-circle small{
    color:var(--gold-dark);

    font-size:9px;
    font-weight:700;

    letter-spacing:2px;
}

.offer-discount-circle strong{
    margin:3px 0;

    font-size:34px;
    line-height:1;
}

.offer-discount-circle span{
    font-size:11px;
    font-weight:700;

    letter-spacing:2px;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:900px){

    .offer-box{
        grid-template-columns:1fr;
    }

    .offer-content{
        padding:55px;
    }

    .offer-visual,
    .offer-placeholder{
        min-height:420px;
    }

}


@media(max-width:600px){

    .special-offer{
        padding:60px 0;
    }

    .offer-box{
        border-radius:17px;
    }

    .offer-content{
        padding:42px 24px;
    }

    .offer-content h2{
        font-size:37px;
    }

    .offer-content h2 strong{
        font-size:49px;
    }

    .offer-content p{
        font-size:13px;
    }

    .offer-countdown{
        gap:6px;

        justify-content:space-between;
    }

    .countdown-item{
        width:54px;
        height:64px;
    }

    .countdown-item strong{
        font-size:19px;
    }

    .countdown-separator{
        font-size:15px;
    }

    .offer-btn{
        width:100%;

        justify-content:center;
    }

    .offer-visual,
    .offer-placeholder{
        min-height:330px;
    }

    .offer-discount-circle{
        width:95px;
        height:95px;

        top:20px;
        right:20px;
    }

    .offer-discount-circle strong{
        font-size:26px;
    }

}


/* =========================================
   NUEVOS INGRESOS
========================================= */

.new-arrivals{
    padding:100px 0;
    background:#f7f9f8;
}


/* ESTRUCTURA */

.arrivals-layout{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:22px;
}


/* =========================================
   PRODUCTO PRINCIPAL
========================================= */

.arrival-featured{
    position:relative;

    min-height:590px;

    overflow:hidden;

    border-radius:22px;

    background:var(--green-dark);
}

.arrival-featured-image{
    position:absolute;
    inset:0;
}

.arrival-placeholder{
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #d8d0c3,
            #eee9e1,
            #c9bcaa
        );

    color:#655d52;

    font-size:10px;
    font-weight:700;

    letter-spacing:3px;

    transition:transform .8s;
}

.arrival-featured:hover .arrival-placeholder{
    transform:scale(1.04);
}


/* DEGRADADO */

.arrival-featured::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(9,35,27,.92) 0%,
            rgba(9,35,27,.32) 55%,
            transparent 100%
        );
}


/* NUEVO */

.arrival-new-label{
    position:absolute;

    top:22px;
    left:22px;

    z-index:2;

    padding:8px 12px;

    border-radius:5px;

    background:white;

    color:var(--green-dark);

    font-size:9px;
    font-weight:700;

    letter-spacing:2px;
}


/* CONTENIDO PRINCIPAL */

.arrival-featured-content{
    position:absolute;

    left:35px;
    right:35px;
    bottom:35px;

    z-index:3;

    color:white;
}

.arrival-featured-content > span{
    display:block;

    margin-bottom:10px;

    color:#e4c58c;

    font-size:10px;
    font-weight:700;

    letter-spacing:2px;
}

.arrival-featured-content h3{
    max-width:470px;

    margin-bottom:13px;

    font-size:34px;
    line-height:1.12;
}

.arrival-featured-content h3 strong{
    display:block;

    color:#e4c58c;
}

.arrival-featured-content p{
    max-width:480px;

    margin-bottom:20px;

    color:rgba(255,255,255,.75);

    font-size:13px;
    line-height:1.7;
}

.arrival-featured-content a{
    display:inline-flex;
    align-items:center;

    gap:9px;

    font-size:12px;
    font-weight:700;

    border-bottom:1px solid rgba(255,255,255,.7);

    padding-bottom:4px;
}

.arrival-featured-content a i{
    transition:.3s;
}

.arrival-featured-content a:hover i{
    transform:translateX(5px);
}


/* =========================================
   PRODUCTOS LATERALES
========================================= */

.arrival-products{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;
}

.arrival-product{
    overflow:hidden;

    border-radius:17px;

    background:#ffffff;

    border:1px solid #e8eeeb;

    transition:.3s;
}

.arrival-product:hover{
    transform:translateY(-5px);

    box-shadow:
        0 18px 40px rgba(15,52,43,.09);
}

.arrival-product-image{
    height:180px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #e2e9e5,
            #f2f5f3
        );

    color:var(--green-dark);

    font-size:9px;
    font-weight:700;

    letter-spacing:2px;

    opacity:.7;
}


/* INFORMACIÓN */

.arrival-product-info{
    position:relative;

    padding:16px;
}

.arrival-product-info > span{
    display:block;

    margin-bottom:6px;

    color:var(--gold-dark);

    font-size:8px;
    font-weight:700;

    letter-spacing:1.4px;
}

.arrival-product-info h3{
    min-height:38px;

    padding-right:35px;

    margin-bottom:10px;

    color:var(--green-dark);

    font-size:13px;
    line-height:1.4;
}

.arrival-product-info > strong{
    color:var(--green-dark);

    font-size:16px;
}

.arrival-product-info .add-cart{
    position:absolute;

    right:14px;
    bottom:13px;

    width:35px;
    height:35px;

    font-size:12px;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:950px){

    .arrivals-layout{
        grid-template-columns:1fr;
    }

    .arrival-featured{
        min-height:500px;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .new-arrivals{
        padding:60px 0;
    }

    .arrival-featured{
        min-height:430px;

        border-radius:16px;
    }

    .arrival-featured-content{
        left:22px;
        right:22px;
        bottom:24px;
    }

    .arrival-featured-content h3{
        font-size:27px;
    }

    .arrival-products{
        gap:10px;
    }

    .arrival-product{
        border-radius:13px;
    }

    .arrival-product-image{
        height:145px;
    }

    .arrival-product-info{
        padding:12px;
    }

    .arrival-product-info h3{
        padding-right:0;

        font-size:11px;

        min-height:34px;
    }

    .arrival-product-info > strong{
        font-size:14px;
    }

    .arrival-product-info .add-cart{
        position:static;

        margin-top:10px;

        width:32px;
        height:32px;
    }

}



/* =========================================
   POR QUÉ ELEGIR VELORA
========================================= */

.why-velora{
    position:relative;
    overflow:hidden;

    padding:105px 0 90px;

    background:var(--green-dark);
    color:#ffffff;
}


/* DECORACIÓN */

.why-velora::before{
    content:"";

    position:absolute;

    width:420px;
    height:420px;

    top:-210px;
    right:-150px;

    border:1px solid rgba(228,197,140,.12);

    border-radius:50%;
}

.why-velora::after{
    content:"";

    position:absolute;

    width:280px;
    height:280px;

    bottom:-180px;
    left:-80px;

    border:1px solid rgba(228,197,140,.10);

    border-radius:50%;
}


/* =========================================
   ENCABEZADO
========================================= */

.why-heading{
    position:relative;
    z-index:2;

    max-width:720px;

    margin:0 auto 55px;

    text-align:center;
}

.why-heading .section-eyebrow{
    color:#e4c58c;
}

.why-heading h2{
    margin-bottom:18px;

    font-size:43px;
    line-height:1.12;

    letter-spacing:-1.5px;
}

.why-heading h2 span{
    display:block;

    color:#e4c58c;
}

.why-heading p{
    max-width:580px;

    margin:auto;

    color:rgba(255,255,255,.66);

    font-size:15px;
    line-height:1.75;
}


/* =========================================
   CARDS
========================================= */

.why-grid{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    border-top:1px solid rgba(255,255,255,.11);
    border-bottom:1px solid rgba(255,255,255,.11);
}

.why-card{
    position:relative;

    min-height:290px;

    padding:38px 30px;

    transition:.35s;
}

.why-card:not(:last-child){
    border-right:1px solid rgba(255,255,255,.11);
}

.why-card:hover{
    background:rgba(255,255,255,.045);
}


/* NÚMERO */

.why-number{
    position:absolute;

    top:25px;
    right:24px;

    color:rgba(255,255,255,.15);

    font-size:28px;
    font-weight:700;
}


/* ICONO */

.why-icon{
    width:53px;
    height:53px;

    margin-bottom:28px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(228,197,140,.35);

    border-radius:50%;

    color:#e4c58c;

    font-size:19px;

    transition:.35s;
}

.why-card:hover .why-icon{
    background:#e4c58c;
    color:var(--green-dark);

    transform:translateY(-4px);
}


/* TEXTO */

.why-card h3{
    margin-bottom:12px;

    font-size:17px;
}

.why-card p{
    max-width:230px;

    color:rgba(255,255,255,.58);

    font-size:12px;
    line-height:1.7;
}


/* LÍNEA DORADA */

.why-line{
    position:absolute;

    left:30px;
    bottom:30px;

    width:30px;
    height:2px;

    background:#e4c58c;

    transition:.35s;
}

.why-card:hover .why-line{
    width:65px;
}


/* =========================================
   ESTADÍSTICAS
========================================= */

.why-stats{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:repeat(4,1fr);

    margin-top:55px;
}

.why-stat{
    text-align:center;

    padding:10px 20px;
}

.why-stat:not(:last-child){
    border-right:1px solid rgba(255,255,255,.12);
}

.why-stat strong{
    display:block;

    margin-bottom:7px;

    color:#e4c58c;

    font-size:27px;
}

.why-stat span{
    color:rgba(255,255,255,.55);

    font-size:11px;

    letter-spacing:.5px;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .why-grid{
        grid-template-columns:1fr 1fr;
    }

    .why-card:nth-child(2){
        border-right:none;
    }

    .why-card:nth-child(-n+2){
        border-bottom:
            1px solid rgba(255,255,255,.11);
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .why-velora{
        padding:70px 0 60px;
    }

    .why-heading{
        margin-bottom:38px;
    }

    .why-heading h2{
        font-size:32px;
    }

    .why-heading p{
        font-size:13px;
    }

    .why-grid{
        grid-template-columns:1fr 1fr;
    }

    .why-card{
        min-height:245px;

        padding:25px 17px;
    }

    .why-card:nth-child(odd){
        border-right:
            1px solid rgba(255,255,255,.11);
    }

    .why-card:nth-child(even){
        border-right:none;
    }

    .why-number{
        top:17px;
        right:14px;

        font-size:20px;
    }

    .why-icon{
        width:43px;
        height:43px;

        margin-bottom:20px;

        font-size:15px;
    }

    .why-card h3{
        font-size:14px;
    }

    .why-card p{
        font-size:10px;
    }

    .why-line{
        left:17px;
        bottom:20px;
    }

    .why-stats{
        grid-template-columns:1fr 1fr;

        gap:25px 0;

        margin-top:40px;
    }

    .why-stat:nth-child(2){
        border-right:none;
    }

    .why-stat strong{
        font-size:22px;
    }

}



/* =========================================
   TESTIMONIOS
========================================= */

.testimonials{
    padding:100px 0;
    background:#fbfaf7;
    overflow:hidden;
}

.testimonials-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:30px;

    margin-bottom:45px;
}

.testimonials-heading h2{
    margin-bottom:10px;

    color:var(--green-dark);

    font-size:38px;
    letter-spacing:-1px;
}

.testimonials-heading p{
    color:var(--text-soft);
    font-size:14px;
}


/* CONTROLES */

.testimonial-controls{
    display:flex;
    gap:10px;
}

.testimonial-controls button{
    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #dce3df;
    border-radius:50%;

    background:white;
    color:var(--green-dark);

    transition:.3s;
}

.testimonial-controls button:hover{
    background:var(--green-dark);
    border-color:var(--green-dark);
    color:white;
}


/* =========================================
   SLIDER
========================================= */

.testimonials-slider{
    display:flex;

    gap:20px;

    overflow-x:auto;

    padding:10px 2px 35px;

    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;

    scrollbar-width:none;
}

.testimonials-slider::-webkit-scrollbar{
    display:none;
}


/* TARJETAS */

.testimonial-card{
    flex:0 0 calc((100% - 40px) / 3);

    min-height:310px;

    display:flex;
    flex-direction:column;

    padding:30px;

    border:1px solid #e6ebe8;
    border-radius:18px;

    background:white;

    scroll-snap-align:start;

    transition:.35s;
}

.testimonial-card:hover{
    transform:translateY(-5px);

    box-shadow:
        0 20px 45px rgba(15,52,43,.08);
}

.featured-testimonial{
    border-color:#d8c299;

    box-shadow:
        0 18px 45px rgba(15,52,43,.07);
}


/* PARTE SUPERIOR */

.testimonial-top{
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:28px;
}

.testimonial-stars{
    display:flex;
    gap:3px;

    color:#d2a44d;

    font-size:12px;
}

.quote-icon{
    color:#dfe7e3;

    font-size:30px;
}


/* TEXTO */

.testimonial-text{
    flex:1;

    margin-bottom:30px;

    color:#4e5b55;

    font-size:14px;
    line-height:1.8;
}


/* USUARIO */

.testimonial-user{
    display:flex;
    align-items:center;

    gap:12px;

    padding-top:20px;

    border-top:1px solid #edf0ee;
}

.testimonial-avatar{
    width:44px;
    height:44px;

    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--green-soft);
    color:var(--green-dark);

    font-size:12px;
    font-weight:700;
}

.testimonial-user > div:nth-child(2){
    display:flex;
    flex-direction:column;

    flex:1;
}

.testimonial-user strong{
    margin-bottom:3px;

    color:var(--green-dark);

    font-size:13px;
}

.testimonial-user span{
    color:#8d9691;

    font-size:10px;
}

.verified{
    color:var(--green);

    font-size:15px;
}


/* =========================================
   RESUMEN
========================================= */

.reviews-summary{
    margin-top:20px;

    padding:27px 30px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:30px;

    border-top:1px solid #e3e8e5;
}

.reviews-score{
    display:flex;
    align-items:center;

    gap:16px;
}

.reviews-score > strong{
    color:var(--green-dark);

    font-size:39px;
}

.reviews-score > div{
    display:flex;
    flex-direction:column;

    gap:4px;
}

.summary-stars{
    color:#d2a44d;

    letter-spacing:2px;

    font-size:12px;
}

.reviews-score span{
    color:#89928d;

    font-size:10px;
}

.reviews-message{
    display:flex;
    align-items:center;

    gap:10px;

    color:#68736e;

    font-size:11px;
}

.reviews-message i{
    color:var(--green-dark);

    font-size:18px;
}


/* TABLET */

@media(max-width:900px){

    .testimonial-card{
        flex:0 0 calc((100% - 20px) / 2);
    }

}


/* CELULAR */

@media(max-width:600px){

    .testimonials{
        padding:65px 0;
    }

    .testimonials-heading{
        align-items:flex-end;
    }

    .testimonials-heading h2{
        font-size:29px;
    }

    .testimonials-heading p{
        display:none;
    }

    .testimonial-controls button{
        width:38px;
        height:38px;
    }

    .testimonial-card{
        flex:0 0 87%;

        min-height:290px;

        padding:24px;
    }

    .reviews-summary{
        padding:22px 0;

        flex-direction:column;

        align-items:flex-start;
    }

}


/* =========================================
   PREGUNTAS FRECUENTES
========================================= */

.faq-section{
    padding:105px 0;
    background:#ffffff;
}

.faq-container{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:90px;
    align-items:start;
}


/* =========================================
   COLUMNA IZQUIERDA
========================================= */

.faq-intro{
    position:sticky;
    top:130px;
}

.faq-intro h2{
    margin-bottom:18px;

    color:var(--green-dark);

    font-size:45px;
    line-height:1.08;

    letter-spacing:-1.5px;
}

.faq-intro h2 span{
    display:block;
    color:var(--gold-dark);
}

.faq-intro > p{
    max-width:390px;

    margin-bottom:30px;

    color:var(--text-soft);

    font-size:14px;
    line-height:1.75;
}


/* AYUDA */

.faq-help{
    display:flex;
    align-items:center;

    gap:14px;

    margin-bottom:22px;
}

.faq-help-icon{
    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border-radius:50%;

    background:var(--green-soft);

    color:var(--green-dark);

    font-size:17px;
}

.faq-help > div:last-child{
    display:flex;
    flex-direction:column;
}

.faq-help span{
    margin-bottom:3px;

    color:#89938e;

    font-size:10px;
}

.faq-help strong{
    color:var(--green-dark);

    font-size:13px;
}


/* BOTÓN */

.faq-contact-btn{
    display:inline-flex;
    align-items:center;

    gap:10px;

    padding:13px 19px;

    border-radius:6px;

    background:var(--green-dark);

    color:#ffffff;

    font-size:12px;
    font-weight:700;

    transition:.3s;
}

.faq-contact-btn:hover{
    background:var(--gold-dark);
}

.faq-contact-btn i{
    transition:.3s;
}

.faq-contact-btn:hover i{
    transform:translateX(4px);
}


/* =========================================
   ACORDEÓN
========================================= */

.faq-list{
    border-top:1px solid var(--border);
}

.faq-item{
    border-bottom:1px solid var(--border);
}


/* PREGUNTA */

.faq-question{
    width:100%;

    min-height:82px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:25px;

    text-align:left;

    color:var(--green-dark);

    font-size:15px;
    font-weight:700;

    transition:.3s;
}

.faq-question:hover{
    color:var(--gold-dark);
}


/* ICONO */

.faq-icon{
    width:35px;
    height:35px;

    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #dfe5e2;

    border-radius:50%;

    font-size:11px;

    transition:.35s;
}

.faq-item.active .faq-icon{
    background:var(--green-dark);

    border-color:var(--green-dark);

    color:white;

    transform:rotate(45deg);
}


/* RESPUESTA */

.faq-answer{
    display:grid;

    grid-template-rows:0fr;

    transition:grid-template-rows .4s ease;
}

.faq-answer > div{
    overflow:hidden;
}

.faq-answer p{
    max-width:650px;

    padding:0 55px 0 0;

    color:#69756f;

    font-size:13px;
    line-height:1.8;

    opacity:0;

    transform:translateY(-5px);

    transition:.35s;
}

.faq-item.active .faq-answer{
    grid-template-rows:1fr;
}

.faq-item.active .faq-answer p{
    padding-bottom:27px;

    opacity:1;

    transform:translateY(0);
}


/* =========================================
   TABLET
========================================= */

@media(max-width:850px){

    .faq-container{
        grid-template-columns:1fr;

        gap:50px;
    }

    .faq-intro{
        position:static;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .faq-section{
        padding:70px 0;
    }

    .faq-container{
        gap:40px;
    }

    .faq-intro h2{
        font-size:34px;
    }

    .faq-intro > p{
        font-size:13px;
    }

    .faq-question{
        min-height:72px;

        font-size:13px;
    }

    .faq-answer p{
        padding-right:15px;

        font-size:12px;
    }

}


/* =========================================
   NEWSLETTER
========================================= */

.newsletter{
    padding:40px 0 100px;
    background:#ffffff;
}

.newsletter-box{
    position:relative;

    min-height:350px;

    display:grid;
    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:70px;

    padding:65px 75px;

    overflow:hidden;

    border-radius:24px;

    background:#f0e9dd;
}


/* DECORACIONES */

.newsletter-decoration{
    position:absolute;

    border-radius:50%;

    border:1px solid rgba(15,52,43,.09);

    pointer-events:none;
}

.decoration-one{
    width:300px;
    height:300px;

    top:-180px;
    left:-100px;
}

.decoration-two{
    width:240px;
    height:240px;

    right:-110px;
    bottom:-150px;
}


/* =========================================
   CONTENIDO
========================================= */

.newsletter-content{
    position:relative;
    z-index:2;
}

.newsletter-label{
    display:block;

    margin-bottom:14px;

    color:var(--gold-dark);

    font-size:10px;
    font-weight:700;

    letter-spacing:2.5px;
}

.newsletter-content h2{
    margin-bottom:17px;

    color:var(--green-dark);

    font-size:40px;
    line-height:1.1;

    letter-spacing:-1.3px;
}

.newsletter-content h2 span{
    display:block;

    color:var(--gold-dark);
}

.newsletter-content p{
    max-width:500px;

    color:#69736e;

    font-size:13px;
    line-height:1.75;
}


/* =========================================
   FORMULARIO
========================================= */

.newsletter-form-area{
    position:relative;
    z-index:2;
}

.newsletter-form{
    display:flex;

    padding:6px;

    border-radius:9px;

    background:#ffffff;

    box-shadow:
        0 12px 35px rgba(15,52,43,.08);
}

.newsletter-input{
    flex:1;

    min-width:0;

    display:flex;
    align-items:center;

    gap:12px;

    padding:0 15px;
}

.newsletter-input i{
    flex-shrink:0;

    color:var(--gold-dark);

    font-size:15px;
}

.newsletter-input input{
    width:100%;

    padding:15px 0;

    border:none;
    outline:none;

    background:transparent;

    color:var(--green-dark);

    font-size:12px;
}

.newsletter-input input::placeholder{
    color:#9ba39f;
}


/* BOTÓN */

.newsletter-form button{
    min-width:145px;

    padding:0 18px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:9px;

    border-radius:6px;

    background:var(--green-dark);

    color:#ffffff;

    font-size:11px;
    font-weight:700;

    transition:.3s;
}

.newsletter-form button:hover{
    background:var(--gold-dark);
}

.newsletter-form button i{
    transition:.3s;
}

.newsletter-form button:hover i{
    transform:translateX(4px);
}


/* PRIVACIDAD */

.newsletter-privacy{
    margin-top:13px;

    display:flex;
    align-items:center;

    gap:7px;

    color:#89918d;

    font-size:9px;
}

.newsletter-privacy i{
    color:var(--green-dark);

    font-size:9px;
}


/* MENSAJE ÉXITO */

.newsletter-success{
    display:none;

    margin-top:14px;

    align-items:center;

    gap:8px;

    color:var(--green-dark);

    font-size:11px;
    font-weight:600;
}

.newsletter-success.active{
    display:flex;
}

.newsletter-success i{
    color:#438268;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .newsletter-box{
        grid-template-columns:1fr;

        gap:35px;

        padding:55px;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .newsletter{
        padding:25px 0 65px;
    }

    .newsletter-box{
        min-height:auto;

        gap:30px;

        padding:40px 22px;

        border-radius:17px;
    }

    .newsletter-content{
        text-align:center;
    }

    .newsletter-content h2{
        font-size:31px;
    }

    .newsletter-content p{
        font-size:12px;
    }

    .newsletter-form{
        flex-direction:column;

        padding:7px;
    }

    .newsletter-input{
        min-height:53px;
    }

    .newsletter-form button{
        width:100%;
        min-height:47px;
    }

    .newsletter-privacy{
        align-items:flex-start;

        line-height:1.5;
    }

}



/* =========================================
   FOOTER
========================================= */

.footer{
    position:relative;
    overflow:hidden;

    padding:80px 0 0;

    background:#0a2821;
    color:#ffffff;
}

.footer::before{
    content:"";

    position:absolute;

    width:450px;
    height:450px;

    right:-250px;
    top:-250px;

    border:1px solid rgba(228,197,140,.08);

    border-radius:50%;
}


/* =========================================
   ESTRUCTURA PRINCIPAL
========================================= */

.footer-main{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        1.5fr
        .7fr
        .8fr
        1fr
        1.3fr;

    gap:45px;

    padding-bottom:60px;
}


/* =========================================
   MARCA
========================================= */

.footer-brand{
    max-width:290px;
}

.footer-logo{
    display:flex;
    align-items:center;

    gap:12px;

    margin-bottom:23px;
}

.footer-logo-symbol{
    width:42px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #e4c58c;
    border-radius:7px 7px 13px 13px;

    color:#e4c58c;

    font-size:25px;
    font-weight:700;
}

.footer-logo > div:last-child{
    display:flex;
    flex-direction:column;
}

.footer-logo strong{
    font-size:22px;

    letter-spacing:3px;
}

.footer-logo span{
    margin-top:4px;

    color:#e4c58c;

    font-size:8px;

    letter-spacing:2px;
}

.footer-brand > p{
    margin-bottom:24px;

    color:rgba(255,255,255,.52);

    font-size:11px;
    line-height:1.8;
}


/* REDES */

.footer-social{
    display:flex;

    gap:8px;
}

.footer-social a{
    width:36px;
    height:36px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.13);

    border-radius:50%;

    color:rgba(255,255,255,.75);

    font-size:13px;

    transition:.3s;
}

.footer-social a:hover{
    background:#e4c58c;

    border-color:#e4c58c;

    color:var(--green-dark);

    transform:translateY(-3px);
}


/* =========================================
   COLUMNAS
========================================= */

.footer-column{
    display:flex;
    flex-direction:column;

    align-items:flex-start;
}

.footer-column h3{
    position:relative;

    margin-bottom:25px;
    padding-bottom:11px;

    font-size:13px;
}

.footer-column h3::after{
    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:25px;
    height:1px;

    background:#e4c58c;
}

.footer-column > a{
    margin-bottom:13px;

    color:rgba(255,255,255,.52);

    font-size:10px;

    transition:.25s;
}

.footer-column > a:hover{
    color:#e4c58c;

    transform:translateX(3px);
}


/* =========================================
   CONTACTO
========================================= */

.footer-contact > div{
    display:flex;

    gap:11px;

    margin-bottom:18px;
}

.footer-contact > div > i{
    width:18px;

    padding-top:2px;

    color:#e4c58c;

    font-size:13px;
}

.footer-contact span{
    display:flex;
    flex-direction:column;

    gap:4px;

    color:rgba(255,255,255,.42);

    font-size:9px;
}

.footer-contact strong{
    color:rgba(255,255,255,.72);

    font-size:10px;
    font-weight:500;
}


/* =========================================
   SEGURIDAD Y PAGOS
========================================= */

.footer-security{
    position:relative;
    z-index:2;

    padding:27px 0;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:30px;

    border-top:1px solid rgba(255,255,255,.09);
    border-bottom:1px solid rgba(255,255,255,.09);
}

.footer-security > div{
    display:flex;
    align-items:center;

    gap:18px;
}

.footer-security > div > span{
    color:rgba(255,255,255,.35);

    font-size:8px;
    font-weight:700;

    letter-spacing:1.5px;
}

.security-item{
    display:flex;
    align-items:center;

    gap:7px;

    color:rgba(255,255,255,.65);

    font-size:9px;
}

.security-item i{
    color:#e4c58c;
}


/* PAGOS */

.payment-icons{
    display:flex;

    gap:7px;
}

.payment-icons > div{
    min-width:46px;
    height:29px;

    padding:0 9px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:4px;

    background:#ffffff;

    color:#1c312a;

    font-size:7px;
    font-weight:700;
}

.payment-icons i{
    font-size:18px;
}


/* =========================================
   PARTE INFERIOR
========================================= */

.footer-bottom{
    position:relative;
    z-index:2;

    min-height:70px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:30px;
}

.footer-bottom p{
    color:rgba(255,255,255,.35);

    font-size:9px;
}

.footer-bottom > div{
    display:flex;

    gap:22px;
}

.footer-bottom a{
    color:rgba(255,255,255,.35);

    font-size:9px;

    transition:.25s;
}

.footer-bottom a:hover{
    color:#e4c58c;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:1000px){

    .footer-main{
        grid-template-columns:
            1.4fr 1fr 1fr;

        gap:45px 35px;
    }

    .footer-brand{
        grid-column:1 / 4;

        max-width:420px;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .footer{
        padding-top:60px;
    }

    .footer-main{
        grid-template-columns:1fr 1fr;

        gap:40px 25px;

        padding-bottom:45px;
    }

    .footer-brand{
        grid-column:1 / 3;

        max-width:100%;
    }

    .footer-contact{
        grid-column:1 / 3;
    }

    .footer-security{
        align-items:flex-start;

        flex-direction:column;
    }

    .footer-security > div{
        width:100%;

        align-items:flex-start;

        flex-direction:column;

        gap:10px;
    }

    .payment-icons{
        width:100%;

        flex-wrap:wrap;
    }

    .footer-bottom{
        padding:25px 0;

        align-items:flex-start;

        flex-direction:column;

        gap:15px;
    }

}



/* =========================================
   CARRITO LATERAL
========================================= */

.cart-overlay{
    position: fixed;
    inset: 0;
    background: rgba(10, 20, 17, 0.55);
    backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    transition: all .35s ease;
    z-index: 1998;
}

.cart-overlay.active{
    opacity: 1;
    visibility: visible;
}


/* PANEL */

.cart-drawer{
    position: fixed;
    top: 0;
    right: 0;

    width: 440px;
    max-width: 100%;
    height: 100vh;

    background: #ffffff;

    z-index: 1999;

    display: flex;
    flex-direction: column;

    transform: translateX(100%);
    transition: transform .4s cubic-bezier(.77,0,.18,1);

    box-shadow: -20px 0 60px rgba(0,0,0,.12);
}

.cart-drawer.active{
    transform: translateX(0);
}


/* HEADER */

.cart-header{
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 28px 30px 22px;

    border-bottom: 1px solid var(--border);
}

.cart-label{
    display: block;

    color: var(--gold-dark);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 2px;

    margin-bottom: 4px;
}

.cart-header h2{
    margin: 0;

    color: var(--green-dark);

    font-size: 27px;
    font-weight: 700;
}

.close-cart{
    width: 44px;
    height: 44px;

    border: 1px solid var(--border);
    border-radius: 50%;

    background: #fff;

    color: var(--green-dark);

    font-size: 18px;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: .25s ease;
}

.close-cart:hover{
    background: var(--green-dark);
    color: #fff;

    transform: rotate(90deg);
}


/* CUERPO */

.cart-body{
    flex: 1;

    overflow-y: auto;

    padding: 25px 30px;
}


/* CARRITO VACÍO */

.cart-empty{
    min-height: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 40px 10px;
}

.cart-empty-icon{
    width: 92px;
    height: 92px;

    border-radius: 50%;

    background: var(--green-soft);

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 22px;

    color: var(--green-dark);

    font-size: 31px;
}

.cart-empty h3{
    color: var(--green-dark);

    font-size: 21px;

    margin-bottom: 8px;
}

.cart-empty p{
    color: var(--text-soft);

    font-size: 14px;
    line-height: 1.6;

    max-width: 280px;

    margin-bottom: 22px;
}

.cart-empty button{
    border: none;

    background: var(--green-dark);
    color: #fff;

    padding: 13px 22px;

    border-radius: 8px;

    font-family: inherit;
    font-weight: 600;

    cursor: pointer;

    transition: .25s ease;
}

.cart-empty button:hover{
    background: var(--green);
}


/* FOOTER DEL CARRITO */

.cart-footer{
    padding: 22px 30px 28px;

    border-top: 1px solid var(--border);

    background: #fff;
}

.cart-subtotal{
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 10px;
}

.cart-subtotal span{
    color: var(--text);

    font-size: 15px;
    font-weight: 600;
}

.cart-subtotal strong{
    color: var(--green-dark);

    font-size: 24px;
}

.cart-note{
    color: var(--text-soft);

    font-size: 12px;
    line-height: 1.5;

    margin-bottom: 17px;
}


/* BOTÓN WHATSAPP */

.cart-checkout{
    width: 100%;

    border: none;

    background: var(--green-dark);
    color: #fff;

    padding: 16px 20px;

    border-radius: 8px;

    font-family: inherit;
    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    transition: .25s ease;
}

.cart-checkout i{
    font-size: 19px;
}

.cart-checkout:hover{
    background: var(--green);
    transform: translateY(-2px);
}


/* SEGUIR COMPRANDO */

.cart-continue{
    width: 100%;

    border: none;

    background: transparent;

    color: var(--green-dark);

    padding: 14px;

    margin-top: 5px;

    font-family: inherit;
    font-size: 13px;
    font-weight: 600;

    cursor: pointer;
}


/* EVITA SCROLL CUANDO EL CARRITO ESTÁ ABIERTO */

body.cart-open{
    overflow: hidden;
}


/* =========================================
   RESPONSIVE CARRITO
========================================= */

@media (max-width: 600px){

    .cart-drawer{
        width: 100%;
    }

    .cart-header{
        padding: 22px 20px 18px;
    }

    .cart-body{
        padding: 20px;
    }

    .cart-footer{
        padding: 18px 20px 22px;
    }

    .cart-header h2{
        font-size: 24px;
    }

    .cart-empty-icon{
        width: 80px;
        height: 80px;

        font-size: 27px;
    }

}


/* =========================================
   PRODUCTOS DENTRO DEL CARRITO
========================================= */

.cart-item{
    display:grid;
    grid-template-columns:78px 1fr;
    gap:15px;

    padding:16px 0;

    border-bottom:1px solid var(--border);
}

.cart-item:last-child{
    border-bottom:none;
}


/* IMAGEN TEMPORAL */

.cart-item-image{
    width:78px;
    height:88px;

    border-radius:12px;

    background:
        linear-gradient(
            135deg,
            #eef3f0,
            #dfe8e3
        );

    display:flex;
    align-items:center;
    justify-content:center;

    color:var(--green-dark);

    font-size:22px;

    flex-shrink:0;
}


/* INFORMACIÓN */

.cart-item-info{
    min-width:0;
}

.cart-item-info h3{
    color:var(--green-dark);

    font-size:14px;
    font-weight:700;

    line-height:1.4;

    margin-bottom:6px;
}

.cart-item-info > strong{
    display:block;

    color:var(--gold-dark);

    font-size:15px;

    margin-bottom:14px;
}


/* ACCIONES */

.cart-item-actions{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:12px;
}


/* CANTIDAD */

.cart-quantity{
    display:flex;
    align-items:center;

    border:1px solid var(--border);

    border-radius:8px;

    overflow:hidden;

    background:#fff;
}

.cart-quantity button{
    width:34px;
    height:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:var(--green-dark);

    font-size:16px;
    font-weight:700;

    transition:.2s ease;
}

.cart-quantity button:hover{
    background:var(--green-soft);
}

.cart-quantity span{
    width:34px;

    text-align:center;

    color:var(--text);

    font-size:13px;
    font-weight:700;
}


/* ELIMINAR */

.cart-remove{
    width:36px;
    height:36px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#9b5143;

    background:#fff5f2;

    font-size:14px;

    transition:.25s ease;
}

.cart-remove:hover{
    background:#9b5143;
    color:#fff;
}


/* SCROLL MÁS LIMPIO */

.cart-body::-webkit-scrollbar{
    width:6px;
}

.cart-body::-webkit-scrollbar-track{
    background:#f4f6f5;
}

.cart-body::-webkit-scrollbar-thumb{
    background:#cad4cf;
    border-radius:10px;
}


/* RESPONSIVE */

@media(max-width:480px){

    .cart-item{
        grid-template-columns:70px 1fr;

        gap:12px;
    }

    .cart-item-image{
        width:70px;
        height:80px;
    }

    .cart-item-info h3{
        font-size:13px;
    }

    .cart-item-info > strong{
        font-size:14px;
    }

}



/* =========================================
   BUSCADOR
========================================= */

.search-overlay{
    position:fixed;
    inset:0;
    background:rgba(10,20,17,.55);
    backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    transition:.35s ease;
    z-index:2100;
    padding:40px 20px;
    overflow-y:auto;
}

.search-overlay.active{
    opacity:1;
    visibility:visible;
}

.search-panel{
    width:min(920px, 100%);
    margin:40px auto 0;
    background:#fff;
    border-radius:18px;
    padding:30px;
    box-shadow:0 25px 70px rgba(0,0,0,.18);
    transform:translateY(-20px);
    transition:.35s ease;
}

.search-overlay.active .search-panel{
    transform:translateY(0);
}


/* HEADER */

.search-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:25px;
}

.search-label{
    display:block;
    color:var(--gold-dark);
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:6px;
}

.search-header h2{
    margin:0;
    color:var(--green-dark);
    font-size:30px;
    line-height:1.2;
}

.close-search{
    width:44px;
    height:44px;
    border:1px solid var(--border);
    border-radius:50%;
    background:#fff;
    color:var(--green-dark);
    font-size:18px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.25s ease;
}

.close-search:hover{
    background:var(--green-dark);
    color:#fff;
    transform:rotate(90deg);
}


/* CAMPO BUSCAR */

.search-box{
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid var(--border);
    border-radius:12px;
    padding:0 18px;
    min-height:58px;
    background:#f8faf9;
    margin-bottom:25px;
}

.search-box i{
    color:var(--green-dark);
    font-size:18px;
}

.search-box input{
    width:100%;
    border:none;
    outline:none;
    background:transparent;
    font-family:inherit;
    color:var(--text);
    font-size:16px;
}

.search-box input::placeholder{
    color:#9ca6a1;
}


/* RESULTADOS */

.search-results{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.search-message{
    grid-column:1 / -1;
    color:var(--text-soft);
    font-size:14px;
    text-align:center;
    padding:35px 10px;
}

.search-result-item{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
    transition:.25s ease;
}

.search-result-item:hover{
    border-color:#cad7d1;
    box-shadow:0 10px 25px rgba(15,52,43,.08);
    transform:translateY(-2px);
}

.search-result-image{
    width:64px;
    height:64px;
    flex-shrink:0;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--green-soft);
    color:var(--green-dark);
    font-size:20px;
}

.search-result-info{
    min-width:0;
}

.search-result-info span{
    display:block;
    color:var(--text-soft);
    font-size:11px;
    margin-bottom:4px;
}

.search-result-info h3{
    margin:0 0 4px;
    color:var(--green-dark);
    font-size:14px;
    line-height:1.35;
}

.search-result-info strong{
    color:var(--gold-dark);
    font-size:14px;
}


/* EVITA SCROLL DE LA WEB */

body.search-open{
    overflow:hidden;
}


/* RESPONSIVE */

@media(max-width:700px){

    .search-overlay{
        padding:18px 12px;
    }

    .search-panel{
        margin:15px auto 0;
        padding:22px 18px;
        border-radius:15px;
    }

    .search-header h2{
        font-size:24px;
    }

    .search-results{
        grid-template-columns:1fr;
    }

    .search-box{
        min-height:54px;
    }

}

@media(max-width:420px){

    .search-header{
        gap:12px;
    }

    .search-header h2{
        font-size:21px;
    }

    .close-search{
        width:40px;
        height:40px;
        flex-shrink:0;
    }

}


/* =========================================
   HERO AJUSTADO
========================================= */

.hero{
    position:relative;
    overflow:hidden;
}

.hero-slide{
    display:none;
    min-height:auto;
}

.hero-slide.active{
    display:block;
}

.hero-container{
    display:grid;
    grid-template-columns: 38% 62%;
    min-height:460px;
    align-items:stretch;
}

.hero-content{
    padding:55px 50px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.hero-visual{
    width:100%;
    height:460px;
    overflow:hidden;
}

.hero-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:900px){

    .hero-container{
        grid-template-columns:1fr;
        min-height:auto;
    }

    .hero-content{
        padding:45px 30px;
    }

    .hero-visual{
        height:360px;
    }

}


@media(max-width:600px){

    .hero-content{
        padding:35px 22px;
    }

    .hero-visual{
        height:280px;
    }

}



/* =========================================
   CATEGORÍAS VELORA - IMÁGENES AJUSTADAS
========================================= */

/* GRID PRINCIPAL */

.categories-grid{
    display:grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(0, 1fr)
        minmax(0, 1fr);

    grid-template-rows:
        repeat(2, 255px);

    gap:18px;
}


/* =========================================
   TARJETAS
========================================= */

.category-card{
    position:relative;

    min-width:0;

    overflow:hidden;

    border-radius:18px;

    background:#e8eeeb;

    box-shadow:
        0 15px 35px
        rgba(15,52,43,.06);
}


/* TECNOLOGÍA */

.category-large{
    grid-row:1 / 3;
}


/* =========================================
   CONTENEDOR DE LA IMAGEN
========================================= */

.category-image{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    overflow:hidden;

    background:#e8eeeb;
}


/* =========================================
   IMAGEN REAL
========================================= */

.category-img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    /*
       Esto evita que el centro de la imagen
       quede demasiado ampliado visualmente.
    */

    object-position:center center;

    transform:scale(1);

    transition:
        transform .6s ease,
        filter .6s ease;
}


/* ZOOM MUY SUAVE AL PASAR EL MOUSE */

.category-card:hover .category-img{
    transform:scale(1.025);
}


/* =========================================
   DEGRADADO
========================================= */

.category-card::after{
    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    pointer-events:none;

    background:
        linear-gradient(
            to top,
            rgba(7,28,22,.86) 0%,
            rgba(7,28,22,.55) 25%,
            rgba(7,28,22,.16) 58%,
            rgba(7,28,22,.03) 100%
        );
}


/* =========================================
   CONTENIDO
========================================= */

.category-content{
    position:absolute;

    left:25px;
    right:25px;
    bottom:23px;

    z-index:2;

    color:#ffffff;
}


.category-content > span{
    display:inline-block;

    margin-bottom:9px;

    color:#e6c68d;

    font-size:10px;
    font-weight:700;

    letter-spacing:2px;
}


.category-content h3{
    margin-bottom:8px;

    color:#ffffff;

    font-size:25px;
    line-height:1.1;
}


.category-large .category-content h3{
    font-size:34px;
}


.category-content p{
    max-width:370px;

    margin-bottom:15px;

    color:rgba(255,255,255,.86);

    font-size:13px;
    line-height:1.6;
}


.category-button{
    display:flex;

    align-items:center;

    gap:8px;

    color:#ffffff;

    font-size:12px;
    font-weight:700;
}


.category-button i{
    transition:transform .3s ease;
}


.category-card:hover .category-button i{
    transform:translateX(5px);
}


/* =========================================
   TECNOLOGÍA
   Evitamos que se vea excesivamente ampliada
========================================= */

.category-large .category-img{
    object-position:center center;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .categories-grid{

        grid-template-columns:
            1fr 1fr;

        grid-template-rows:
            340px
            220px
            220px;

        gap:14px;
    }


    .category-large{
        grid-column:1 / 3;
        grid-row:auto;
    }


    /*
       En tablet Tecnología pasa a ser horizontal.
       Ajustamos la posición.
    */

    .category-large .category-img{
        object-position:center 45%;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .categories-grid{

        grid-template-columns:
            1fr 1fr;

        grid-template-rows:
            300px
            185px
            185px;

        gap:10px;
    }


    .category-large{
        grid-column:1 / 3;
    }


    .category-card{
        border-radius:13px;
    }


    .category-content{
        left:15px;
        right:15px;
        bottom:15px;
    }


    .category-content h3{
        font-size:19px;
    }


    .category-large .category-content h3{
        font-size:26px;
    }


    .category-content p{
        max-width:290px;

        margin-bottom:11px;

        font-size:11px;
        line-height:1.5;
    }


    .category-content > span{
        margin-bottom:6px;

        font-size:8px;
    }


    .category-button{
        font-size:11px;
    }


    .category-large .category-img{
        object-position:center center;
    }

}


/* =========================================
   CELULAR PEQUEÑO
========================================= */

@media(max-width:420px){

    .categories-grid{

        grid-template-rows:
            270px
            170px
            170px;
    }


    .category-content{
        left:13px;
        right:13px;
        bottom:13px;
    }


    .category-content h3{
        font-size:17px;
    }


    .category-large .category-content h3{
        font-size:23px;
    }

}


/* =========================================
   COLECCIÓN DESTACADA - IMAGEN REAL
========================================= */

.collection-image{
    position:relative;
    min-height:560px;
    overflow:hidden;
    background:#eee8de;
}


/* IMAGEN REAL */

.collection-img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:center;

    transition:transform .7s ease;
}


/* EFECTO SUAVE */

.collection-box:hover .collection-img{
    transform:scale(1.025);
}


/* ETIQUETA EDICIÓN 2026 */

.collection-floating{
    z-index:5;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .collection-image{
        min-height:430px;
    }

    .collection-img{
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .collection-image{
        min-height:300px;
    }

    .collection-img{
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center;
    }

}


/* =========================================
   CELULAR PEQUEÑO
========================================= */

@media(max-width:420px){

    .collection-image{
        min-height:270px;
    }

}


/* =========================================
   MÁS VENDIDOS - IMÁGENES REALES
========================================= */

/* CONTENEDOR DE LA IMAGEN */

.best-image{
    position:relative;

    width:100%;
    height:280px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    background:#f3f6f4;
}


/* IMAGEN DEL PRODUCTO */

.best-img{
    width:78%;
    height:78%;

    display:block;

    object-fit:contain;
    object-position:center;

    margin:auto;

    transition:transform .45s ease;
}


/* EFECTO SUAVE */

.best-card:hover .best-img{
    transform:scale(1.035);
}


/* =========================================
   ETIQUETA
========================================= */

.best-badge{
    position:absolute;

    top:16px;
    left:16px;

    z-index:4;
}


/* =========================================
   CORAZÓN
========================================= */

.best-image .favorite-product{
    position:absolute;

    top:15px;
    right:15px;

    z-index:4;
}


/* =========================================
   PLACEHOLDER
   Lo dejamos porque todavía falta
   la imagen de la botella
========================================= */

.best-placeholder{
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #eef3f0,
            #e1e9e5
        );

    color:var(--green-dark);

    font-size:9px;
    font-weight:700;

    letter-spacing:2px;

    opacity:.75;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .best-image{
        height:250px;
    }

    .best-img{
        width:76%;
        height:76%;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .best-image{
        height:210px;
    }

    .best-img{
        width:74%;
        height:74%;
    }

    .best-badge{
        top:10px;
        left:10px;
    }

    .best-image .favorite-product{
        top:10px;
        right:10px;
    }

}


/* =========================================
   CELULAR PEQUEÑO
========================================= */

@media(max-width:420px){

    .best-image{
        height:185px;
    }

    .best-img{
        width:72%;
        height:72%;
    }

}


/* =========================================
   OFERTA - AJUSTE IMAGEN
========================================= */

.offer-visual{
    position:relative;
    min-height:500px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    background:#eee2cf;
}

.offer-img{
    width:82%;
    height:82%;

    display:block;

    object-fit:contain;
    object-position:center;

    transition:transform .5s ease;
}


/* EFECTO MUY SUAVE */

.offer-visual:hover .offer-img{
    transform:scale(1.02);
}


/* TABLET */

@media(max-width:900px){

    .offer-visual{
        min-height:400px;
    }

    .offer-img{
        width:80%;
        height:80%;
    }

}


/* CELULAR */

@media(max-width:600px){

    .offer-visual{
        min-height:300px;
    }

    .offer-img{
        width:85%;
        height:85%;
    }

}


/* =========================================
   NUEVOS EN VELORA - IMÁGENES
========================================= */

.arrival-product-image{
    position:relative;

    width:100%;
    height:230px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    background:#f3f6f4;
}


/* IMAGEN REAL */

.arrival-product-img{
    width:76%;
    height:76%;

    display:block;

    object-fit:contain;
    object-position:center;

    margin:auto;

    transition:transform .45s ease;
}


/* EFECTO SUAVE */

.arrival-product:hover .arrival-product-img{
    transform:scale(1.03);
}


/* =========================================
   IMAGEN GRANDE - COLECCIÓN 2026
========================================= */

.arrival-featured-image{
    position:relative;

    width:100%;
    min-height:430px;

    overflow:hidden;

    background:#eee9df;
}


.arrival-featured-img{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:center;

    transition:transform .6s ease;
}


.arrival-featured:hover .arrival-featured-img{
    transform:scale(1.025);
}


/* ETIQUETA NUEVO */

.arrival-new-label{
    position:absolute;
    z-index:3;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .arrival-product-image{
        height:210px;
    }

    .arrival-product-img{
        width:74%;
        height:74%;
    }

    .arrival-featured-image{
        min-height:380px;
    }

}


/* =========================================
   CELULAR
========================================= */

@media(max-width:600px){

    .arrival-product-image{
        height:175px;
    }

    .arrival-product-img{
        width:72%;
        height:72%;
    }

    .arrival-featured-image{
        min-height:300px;
    }

}


/* =========================================
   CELULAR PEQUEÑO
========================================= */

@media(max-width:420px){

    .arrival-product-image{
        height:155px;
    }

    .arrival-product-img{
        width:70%;
        height:70%;
    }

    .arrival-featured-image{
        min-height:270px;
    }

}


/* =========================================================
   VELORA - RESPONSIVE FINAL
   Ajustes generales para tablet, móvil y móvil pequeño
   ========================================================= */

/* Seguridad contra scroll lateral */
html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

img{
    max-width:100%;
}

.container{
    width:min(92%, 1280px);
    margin-inline:auto;
}

/* =========================================================
   TABLET / NOTEBOOK PEQUEÑO
   ========================================================= */
@media(max-width:1100px){

    .container{
        width:94%;
    }

    .header-container{
        gap:16px;
    }

    .desktop-nav{
        gap:14px;
    }

    .desktop-nav a{
        font-size:12px;
    }

    .hero-container{
        grid-template-columns:42% 58%;
    }

    .hero-content{
        padding:45px 30px;
    }

    .hero-content h1,
    .hero-content h2{
        font-size:42px;
    }

    .why-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    .footer-main{
        grid-template-columns:repeat(3, minmax(0,1fr));
        gap:35px;
    }

    .footer-brand{
        grid-column:1 / -1;
        max-width:520px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:900px){

    .container{
        width:92%;
    }

    /* HEADER */
    .desktop-nav{
        display:none;
    }

    .mobile-menu-button{
        display:flex;
    }

    .header-container{
        min-height:72px;
        gap:10px;
    }

    .logo-text strong{
        font-size:20px;
    }

    .logo-text span{
        font-size:8px;
    }

    /* HERO */
    .hero-slider{
        min-height:auto;
    }

    .hero-slide{
        min-height:auto;
    }

    .hero-container{
        grid-template-columns:1fr;
        min-height:auto;
        gap:0;
        padding:0;
    }

    .hero-content{
        max-width:none;
        padding:48px 38px 36px;
        text-align:center;
        align-items:center;
    }

    .hero-content h1,
    .hero-content h2{
        max-width:700px;
        font-size:43px;
    }

    .hero-content p{
        max-width:620px;
        margin-inline:auto;
    }

    .hero-buttons{
        justify-content:center;
    }

    .hero-visual{
        width:100%;
        height:390px;
        padding:0;
    }

    .hero-image{
        width:100%;
        height:100%;
        object-fit:cover;
    }

    .hero-arrow{
        top:auto;
        bottom:18px;
        transform:none;
    }

    .hero-prev{
        left:20px;
    }

    .hero-next{
        right:20px;
    }

    .hero-dots{
        bottom:30px;
    }

    /* SECCIONES / TÍTULOS */
    .section-header{
        align-items:flex-start;
        gap:25px;
    }

    .section-header h2{
        font-size:34px;
    }

    /* BENEFICIOS */
    .benefits-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    /* CATEGORÍAS */
    .categories-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
        grid-template-rows:340px 230px 230px;
    }

    .category-large{
        grid-column:1 / -1;
        grid-row:auto;
    }

    /* PRODUCTOS */
    .products-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
        gap:18px;
    }

    /* COLECCIÓN */
    .collection-box{
        grid-template-columns:1fr;
        min-height:auto;
    }

    .collection-image{
        min-height:420px;
    }

    .collection-content{
        padding:50px 45px;
    }

    /* MÁS VENDIDOS */
    .best-card{
        flex:0 0 calc((100% - 20px) / 2);
    }

    /* OFERTA */
    .offer-box{
        grid-template-columns:1fr;
        min-height:auto;
    }

    .offer-content{
        padding:52px 45px;
    }

    .offer-visual{
        min-height:390px;
    }

    /* NUEVOS */
    .arrivals-layout{
        grid-template-columns:1fr;
    }

    .arrival-featured{
        min-height:520px;
    }

    .arrival-products{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    /* POR QUÉ VELORA */
    .why-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    .why-stats{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    /* TESTIMONIOS */
    .testimonial-card{
        flex:0 0 calc((100% - 20px) / 2);
    }

    /* FAQ */
    .faq-container{
        grid-template-columns:1fr;
        gap:45px;
    }

    .faq-intro{
        position:static;
    }

    /* NEWSLETTER */
    .newsletter-box{
        grid-template-columns:1fr;
        gap:32px;
        padding:50px 42px;
    }

    /* FOOTER */
    .footer-main{
        grid-template-columns:repeat(2, minmax(0,1fr));
        gap:35px 28px;
    }

    .footer-brand{
        grid-column:1 / -1;
    }
}


/* =========================================================
   MÓVIL
   ========================================================= */
@media(max-width:600px){

    .container{
        width:calc(100% - 28px);
    }

    /* TOPBAR */
    .topbar-container{
        min-height:31px;
        justify-content:center;
    }

    .topbar-left{
        gap:0;
    }

    .topbar-left span{
        font-size:10px;
        text-align:center;
    }

    .topbar-left span:nth-child(2),
    .topbar-right{
        display:none;
    }

    /* HEADER */
    .header-container{
        min-height:66px;
    }

    .logo{
        gap:7px;
    }

    .logo-symbol{
        width:32px;
        height:38px;
        font-size:20px;
    }

    .logo-text strong{
        font-size:17px;
        letter-spacing:1.5px;
    }

    .logo-text span{
        display:none;
    }

    .header-actions{
        margin-left:auto;
        gap:0;
    }

    .action-btn{
        width:34px;
        height:34px;
        font-size:15px;
    }

    /* Oculta usuario en móvil para liberar espacio */
    .header-actions .action-btn:nth-of-type(2){
        display:none;
    }

    .mobile-menu-button{
        width:36px;
        height:36px;
        font-size:19px;
    }

    .mobile-menu{
        width:min(330px, 88vw);
        padding:22px;
    }

    /* HERO */
    .hero-content{
        padding:34px 18px 28px;
    }

    .hero-label{
        margin-bottom:12px;
        font-size:10px;
        letter-spacing:1.5px;
    }

    .hero-content h1,
    .hero-content h2{
        font-size:31px;
        line-height:1.08;
        letter-spacing:-1px;
        margin-bottom:16px;
    }

    .hero-content p{
        font-size:14px;
        line-height:1.6;
        margin-bottom:22px;
    }

    .hero-buttons{
        width:100%;
        gap:9px;
    }

    .hero-btn{
        min-height:44px;
        padding:0 16px;
        font-size:11px;
    }

    .hero-visual{
        height:250px;
    }

    .hero-arrow{
        width:36px;
        height:36px;
        bottom:12px;
    }

    .hero-prev{
        left:10px;
    }

    .hero-next{
        right:10px;
    }

    .hero-dots{
        bottom:23px;
    }

    /* ESPACIADO SECCIONES */
    .categories,
    .products,
    .best-sellers,
    .special-offer,
    .new-arrivals,
    .why-velora,
    .testimonials,
    .faq-section{
        padding-top:60px;
        padding-bottom:60px;
    }

    /* TITULOS */
    .section-header{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
        margin-bottom:28px;
    }

    .section-header h2{
        font-size:28px;
        line-height:1.15;
    }

    .section-header p{
        font-size:13px;
        line-height:1.6;
    }

    .section-link{
        font-size:12px;
    }

    /* BENEFICIOS */
    .benefits-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    .benefit-card{
        min-height:130px;
        padding:18px 10px;
        flex-direction:column;
        justify-content:center;
        text-align:center;
        gap:8px;
    }

    .benefit-card::after{
        display:none;
    }

    .benefit-card:nth-child(odd){
        border-right:1px solid var(--border);
    }

    /* CATEGORÍAS */
    .categories-grid{
        grid-template-columns:1fr 1fr;
        grid-template-rows:280px 185px 185px;
        gap:10px;
    }

    .category-large{
        grid-column:1 / -1;
    }

    .category-content{
        left:14px;
        right:14px;
        bottom:14px;
    }

    .category-content > span{
        font-size:8px;
        margin-bottom:5px;
    }

    .category-content h3,
    .category-large .category-content h3{
        font-size:18px;
        margin-bottom:5px;
    }

    .category-large .category-content h3{
        font-size:24px;
    }

    .category-content p{
        display:none;
    }

    .category-button{
        font-size:10px;
    }

    /* PRODUCTOS */
    .products-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
        gap:10px;
    }

    .product-card{
        border-radius:12px;
    }

    .product-image{
        height:160px;
    }

    .product-img{
        width:74%;
        height:74%;
    }

    .product-info{
        padding:12px 10px 13px;
    }

    .product-info h3{
        min-height:36px;
        font-size:12px;
        line-height:1.35;
    }

    .product-rating{
        margin-bottom:10px;
    }

    .product-rating > span{
        display:none;
    }

    .product-price{
        gap:4px;
    }

    .product-price strong{
        font-size:14px;
    }

    .product-price del{
        font-size:8px;
    }

    .add-cart{
        width:31px;
        height:31px;
        font-size:11px;
    }

    .favorite-product{
        width:31px;
        height:31px;
        top:8px;
        right:8px;
        font-size:12px;
    }

    .product-discount,
    .product-tag-new{
        top:8px;
        left:8px;
        padding:5px 7px;
        font-size:7px;
    }

    .quick-view{
        display:none;
    }

    /* COLECCIÓN */
    .featured-collection{
        padding:15px 0 60px;
    }

    .collection-box{
        border-radius:16px;
    }

    .collection-image{
        min-height:260px;
    }

    .collection-img{
        object-fit:cover;
    }

    .collection-floating{
        width:70px;
        height:70px;
        right:12px;
        bottom:12px;
    }

    .collection-floating span{
        font-size:7px;
    }

    .collection-floating strong{
        font-size:15px;
    }

    .collection-content{
        padding:32px 20px 35px;
    }

    .collection-content h2{
        font-size:29px;
        letter-spacing:-.8px;
    }

    .collection-content > p{
        font-size:13px;
        line-height:1.6;
    }

    .collection-button{
        width:100%;
        justify-content:center;
    }

    /* MÁS VENDIDOS */
    .best-header{
        flex-direction:row;
        align-items:flex-end;
    }

    .best-header p{
        display:none;
    }

    .best-controls{
        flex-shrink:0;
    }

    .best-controls button{
        width:36px;
        height:36px;
    }

    .best-slider{
        gap:12px;
        margin-right:-14px;
        padding-right:14px;
    }

    .best-card{
        flex:0 0 78%;
    }

    .best-image{
        height:205px;
    }

    .best-img{
        width:72%;
        height:72%;
    }

    .best-info{
        padding:14px;
    }

    /* OFERTA */
    .offer-box{
        border-radius:16px;
    }

    .offer-content{
        padding:35px 20px;
    }

    .offer-content h2{
        font-size:33px;
    }

    .offer-content h2 strong{
        font-size:43px;
    }

    .offer-countdown{
        width:100%;
        gap:5px;
        justify-content:space-between;
    }

    .countdown-item{
        width:51px;
        height:59px;
    }

    .countdown-separator{
        font-size:13px;
    }

    .offer-btn{
        width:100%;
        justify-content:center;
    }

    .offer-visual{
        min-height:260px;
    }

    .offer-img{
        width:84%;
        height:84%;
    }

    .offer-discount-circle{
        width:78px;
        height:78px;
        top:12px;
        right:12px;
    }

    .offer-discount-circle strong{
        font-size:22px;
    }

    /* NUEVOS INGRESOS */
    .arrival-featured{
        min-height:430px;
        border-radius:16px;
    }

    .arrival-featured-image{
        min-height:430px;
    }

    .arrival-featured-content{
        padding:28px 20px;
    }

    .arrival-featured-content h3{
        font-size:28px;
    }

    .arrival-products{
        grid-template-columns:1fr;
        gap:12px;
    }

    .arrival-product{
        grid-template-columns:118px 1fr;
        min-height:145px;
    }

    .arrival-product-image{
        width:118px;
        height:145px;
    }

    .arrival-product-img{
        width:76%;
        height:76%;
    }

    .arrival-product-info{
        padding:15px 12px;
    }

    .arrival-product-info h3{
        font-size:13px;
        min-height:auto;
    }

    .arrival-product-info > strong{
        font-size:15px;
    }

    /* POR QUÉ VELORA */
    .why-heading{
        text-align:center;
        margin-bottom:30px;
    }

    .why-heading h2{
        font-size:30px;
    }

    .why-grid{
        grid-template-columns:1fr;
    }

    .why-card{
        min-height:auto;
        padding:25px 20px;
        border-right:none !important;
        border-bottom:1px solid rgba(255,255,255,.10);
    }

    .why-card:last-child{
        border-bottom:none;
    }

    .why-stats{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    /* TESTIMONIOS */
    .testimonials-heading{
        align-items:flex-end;
        gap:15px;
    }

    .testimonials-heading h2{
        font-size:29px;
    }

    .testimonial-card{
        flex:0 0 88%;
        min-width:0;
    }

    .reviews-summary{
        flex-direction:column;
        align-items:flex-start;
        gap:18px;
    }

    /* FAQ */
    .faq-container{
        gap:32px;
    }

    .faq-intro h2{
        font-size:30px;
    }

    .faq-question{
        min-height:66px;
        gap:12px;
        font-size:12px;
    }

    .faq-icon{
        width:31px;
        height:31px;
    }

    .faq-answer p{
        padding-right:5px;
        font-size:12px;
    }

    /* NEWSLETTER */
    .newsletter{
        padding:20px 0 60px;
    }

    .newsletter-box{
        padding:34px 20px;
        border-radius:16px;
        gap:25px;
    }

    .newsletter-content{
        text-align:center;
    }

    .newsletter-content h2{
        font-size:28px;
    }

    .newsletter-form{
        flex-direction:column;
        padding:6px;
    }

    .newsletter-input{
        min-height:50px;
    }

    .newsletter-form button{
        width:100%;
        min-height:45px;
    }

    /* FOOTER */
    .footer{
        padding-top:55px;
    }

    .footer-main{
        grid-template-columns:1fr;
        gap:32px;
        padding-bottom:40px;
    }

    .footer-brand{
        grid-column:auto;
        max-width:none;
    }

    .footer-column{
        width:100%;
    }

    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
        padding:20px 0;
    }

    /* CARRITO */
    .cart-drawer{
        width:100%;
        max-width:100%;
    }

    .cart-header{
        padding:18px;
    }

    .cart-body{
        padding:0 18px;
    }

    .cart-footer{
        padding:16px 18px 20px;
    }

    /* BUSCADOR */
    .search-overlay{
        padding:10px;
    }

    .search-panel{
        width:100%;
        max-height:calc(100vh - 20px);
        margin:0 auto;
        padding:20px 15px;
        border-radius:14px;
        overflow-y:auto;
    }

    .search-header h2{
        font-size:22px;
    }

    .search-results{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   MÓVIL PEQUEÑO
   ========================================================= */
@media(max-width:420px){

    .container{
        width:calc(100% - 22px);
    }

    .logo-symbol{
        width:29px;
        height:35px;
        font-size:18px;
    }

    .logo-text strong{
        font-size:15px;
    }

    .action-btn{
        width:31px;
        height:31px;
        font-size:14px;
    }

    .hero-content{
        padding-inline:12px;
    }

    .hero-content h1,
    .hero-content h2{
        font-size:27px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .hero-btn{
        width:100%;
    }

    .hero-visual{
        height:220px;
    }

    .section-header h2{
        font-size:25px;
    }

    .categories-grid{
        grid-template-rows:250px 165px 165px;
        gap:8px;
    }

    .category-content{
        left:11px;
        right:11px;
        bottom:11px;
    }

    .category-content h3,
    .category-large .category-content h3{
        font-size:16px;
    }

    .category-large .category-content h3{
        font-size:21px;
    }

    .products-grid{
        gap:8px;
    }

    .product-image{
        height:140px;
    }

    .product-img{
        width:72%;
        height:72%;
    }

    .product-info{
        padding:10px 8px 12px;
    }

    .product-info h3{
        font-size:11px;
        min-height:34px;
    }

    .product-rating{
        display:none;
    }

    .product-bottom{
        align-items:flex-end;
    }

    .product-price{
        flex-direction:column;
        align-items:flex-start;
        gap:1px;
    }

    .product-price strong{
        font-size:13px;
    }

    .best-card{
        flex-basis:84%;
    }

    .best-image{
        height:185px;
    }

    .offer-content h2{
        font-size:30px;
    }

    .offer-content h2 strong{
        font-size:39px;
    }

    .countdown-item{
        width:47px;
        height:56px;
    }

    .countdown-item strong{
        font-size:17px;
    }

    .countdown-item span{
        font-size:7px;
    }

    .offer-visual{
        min-height:235px;
    }

    .arrival-featured,
    .arrival-featured-image{
        min-height:390px;
    }

    .arrival-featured-content h3{
        font-size:25px;
    }

    .arrival-product{
        grid-template-columns:100px 1fr;
    }

    .arrival-product-image{
        width:100px;
        height:132px;
    }

    .testimonial-card{
        flex-basis:92%;
    }

    .newsletter-content h2{
        font-size:25px;
    }

    .cart-item{
        grid-template-columns:62px 1fr;
        gap:10px;
    }

    .cart-item-image{
        width:62px;
        height:70px;
    }
}
