/* ===========================================================
   NOVASTORE
   styles.css
   Parte 2.1
=========================================================== */

/*=========================
    VARIABLES
=========================*/

:root{

    --bg:#070b16;
    --bg2:#0f172a;

    --glass:rgba(255,255,255,.08);
    --glass-border:rgba(255,255,255,.15);

    --primary:#4F8CFF;
    --secondary:#7C3AED;
    --accent:#22D3EE;

    --text:#ffffff;
    --text-light:#d5d8df;

    --radius:22px;

    --shadow:0 8px 35px rgba(0,0,0,.35);

    --transition:.35s ease;

}

/*=========================
        RESET
=========================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    color:var(--text);

    background:var(--bg);

    overflow-x:hidden;

    min-height:100vh;

    position:relative;
    
    /* background-image: url("../img/image-28.jpg"); */

}

/*=========================
      SCROLLBAR
=========================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#09101d;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:20px;

}

/*=========================
      AURORA
=========================*/

.aurora{

    position:fixed;

    inset:0;

    overflow:hidden;

    z-index:-10;

    /* background:linear-gradient(64deg, #d7e425, #336a74, #1d3f47, #1f203b); */

    background-image: url("../img/img2.png");

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;

    

}

.aurora::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(54, 23, 78, 0.349);
    z-index:1;
}

.aurora span{

    position:absolute;

    width:650px;

    height:650px;

    border-radius:50%;

    filter:blur(120px);

    opacity:.45;

    animation:auroraMove 18s ease-in-out infinite;

}

.aurora span:nth-child(1){

    background:#2563eb;

    top:-200px;

    left:-120px;

}

.aurora span:nth-child(2){

    background:#7c3aed;

    right:-120px;

    top:20%;

    animation-delay:-6s;

}

.aurora span:nth-child(3){

    background:#06b6d4;

    bottom:-200px;

    left:35%;

    animation-delay:-12s;

}

@keyframes auroraMove{

    0%{

        transform:
        translate(0,0)
        scale(1);

    }

    25%{

        transform:
        translate(80px,-40px)
        scale(1.15);

    }

    50%{

        transform:
        translate(-60px,70px)
        scale(.95);

    }

    75%{

        transform:
        translate(100px,40px)
        scale(1.2);

    }

    100%{

        transform:
        translate(0,0)
        scale(1);

    }

}

/*=========================
      GLASS
=========================*/

.glass{

    background:var(--glass);

    backdrop-filter:blur(15px);

    -webkit-backdrop-filter:blur(15px);

    border:1px solid var(--glass-border);

    box-shadow:var(--shadow);

}

/*=========================
      LINKS
=========================*/

a{

    text-decoration:none;

    color:inherit;

}

img{

    width:100%;

    display:block;

}

/*=========================
      SECCIONES
=========================*/

.section{

    width:min(1200px,92%);

    margin:auto;

    padding:120px 0;

}

.section-title{

    font-size:2.8rem;

    text-align:center;

    margin-bottom:70px;

    font-weight:700;

}

/*=========================
      NAVBAR
=========================*/

header{

    position:fixed;

    top:20px;

    width:100%;

    z-index:999;

    display:flex;

    justify-content:center;

}

.navbar{

    width:min(1200px,92%);

    height:75px;

    border-radius:25px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 30px;

    transition:.4s;

}

.logo{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:1.4rem;

    font-weight:700;

}

.logo i{

    color:var(--accent);

}

.nav-links{

    display:flex;

    list-style:none;

    gap:35px;

}

.nav-links a{

    position:relative;

    transition:var(--transition);

}

.nav-links a::after{

    content:"";

    position:absolute;

    bottom:-8px;

    left:0;

    width:0;

    height:2px;

    background:var(--accent);

    transition:.35s;

}

.nav-links a:hover::after{

    width:100%;

}

.nav-links a:hover{

    color:var(--accent);

}

.nav-buttons{

    display:flex;

    align-items:center;

    gap:15px;

}

.cart-btn,
.menu-btn{

    width:48px;

    height:48px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    color:white;

    background:rgba(255,255,255,.08);

    transition:.3s;

}

.log-btn{

    width:45px;

    height:45px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    color:white;

    background:rgba(0, 0, 0, 0.178);

    transition:.3s;

}

.cart-btn:hover,
.menu-btn:hover{

    transform:translateY(-3px);

    background:rgba(255,255,255,.16);

}

.menu-btn{

    display:none;

}

.cart-count{

    position:absolute;

    margin-top:-18px;

    margin-left:-5px;

    width:20px;

    height:20px;

    border-radius:50%;

    background:#ef4444;

    font-size:.75rem;

    display:grid;

    place-items:center;

}

/*=========================
      HERO
=========================*/

.hero{

    width:min(1200px,92%);

    margin:auto;

    min-height:100vh;

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:80px;

}

.hero-content{

    animation:fadeLeft 1s;

}

.badge{

    display:inline-block;

    padding:10px 20px;

    border-radius:50px;

    /* background:rgba(255,255,255,.08); */
    background:rgba(73, 43, 122, 0.329);

    border:1px solid rgba(255,255,255,.15);

    margin-bottom:25px;

}

button.badge{
    color:#fff;
    cursor:pointer;
    font:inherit;
    outline:none;
}

button.badge:hover{
    background:rgba(73,43,122,.5);
}

.hero h1{

    font-size:4rem;

    line-height:1.1;

    margin-bottom:25px;

}

.hero p{

    color:var(--text-light);

    line-height:1.8;

    font-size:1.1rem;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:20px;

}

.hero-image{

    animation:fadeRight 1s;
    overflow:hidden;
    border-radius:50px;

}

.hero-image img{

    filter:drop-shadow(0 30px 40px rgba(0,0,0,.45));

    animation:float 5s ease-in-out infinite;

}

/*=========================
      BOTONES
=========================*/

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:50px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:white;

    font-weight:600;

    transition:.35s;

}

.btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:
    0 15px 35px rgba(79,140,255,.45);

}

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:50px;

    border:1px solid rgba(255,255,255,.18);

    background:rgba(255,255,255,.05);

    transition:.35s;

}

.btn-secondary:hover{

    background:rgba(255,255,255,.12);

    transform:translateY(-5px);

}

/*=========================
      ANIMACIONES
=========================*/

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes fadeLeft{

    from{

        opacity:0;

        transform:translateX(-70px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}

@keyframes fadeRight{

    from{

        opacity:0;

        transform:translateX(70px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}

/*==========================================================
    SERVICIOS
==========================================================*/

.services-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}

.service-card{

    padding:40px 30px;

    border-radius:var(--radius);

    text-align:center;

    transition:var(--transition);

    position:relative;

    overflow:hidden;

}

.service-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(79,140,255,.15),
        rgba(34,211,238,.08)
    );

    opacity:0;

    transition:.4s;

}

.service-card:hover::before{

    opacity:1;

}

.service-card:hover{

    transform:translateY(-12px);

}

.service-card i{

    font-size:3rem;

    color:var(--accent);

    margin-bottom:20px;

}

.service-card h3{

    margin-bottom:15px;

    font-size:1.4rem;

}

.service-card p{

    color:var(--text-light);

    line-height:1.8;

}


/*==========================================================
    TIENDA
==========================================================*/

.products-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));

    gap:35px;

}

/*----------------------------*/

.product-card{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    transition:.35s;

}

.product-card:hover{

    transform:
        translateY(-10px)
        scale(1.02);

}

/* brillo */

.product-card::before{

    content:"";

    position:absolute;

    top:-150%;

    left:-60%;

    width:50%;

    height:300%;

    background:rgba(255,255,255,.18);

    transform:rotate(25deg);

    transition:.8s;

}

.product-card:hover::before{

    left:150%;

}

/*----------------------------*/

.product-image{

    overflow:hidden;

}

.product-image img{

    height:260px;

    object-fit:cover;

    transition:.5s;

}

.product-card:hover .product-image img{

    transform:scale(1.08);

}

/*----------------------------*/

.product-info{

    padding:25px;

}

.product-category{

    color:var(--accent);

    font-size:.9rem;

    margin-bottom:8px;

}

.product-title{

    font-size:1.2rem;

    margin-bottom:10px;

}

.product-description{

    color:var(--text-light);

    line-height:1.6;

    margin-bottom:20px;

}

/*----------------------------*/

.product-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.product-price{

    font-size:1.5rem;

    font-weight:700;

    color:white;

}

.buy-btn{

    border:none;

    cursor:pointer;

    padding:12px 22px;

    border-radius:50px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:white;

    transition:.35s;

}

.buy-btn:hover{

    transform:scale(1.05);

    box-shadow:0 10px 30px rgba(79,140,255,.35);

}

/*----------------------------*/

.rating{

    display:flex;

    gap:4px;

    margin-bottom:18px;

    color:#FFD54A;

}

/*==========================================================
    NOSOTROS
==========================================================*/

.about{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.about-image{

    overflow:hidden;

    border-radius:30px;

}

.about-image img{

    transition:.5s;

}

.about-image:hover img{

    transform:scale(1.05);

}

.about-content h2{

    font-size:2.8rem;

    margin-bottom:25px;

}

.about-content p{

    color:var(--text-light);
    color:#ffffff;

    line-height:1.9;

    margin-bottom:22px;

}

/*==========================================================
    EFECTOS GENERALES
==========================================================*/

.service-card,
.product-card,
.about-image{

    box-shadow:var(--shadow);

}

/* borde brillante */

.service-card,
.product-card{

    border:1px solid rgba(255,255,255,.10);

    background:rgba(255,255,255,.05);

    backdrop-filter:blur(20px);

}

/*==========================================================
    TITULOS
==========================================================*/

.section-title{

    position:relative;

    display:inline-block;

    left:50%;

    transform:translateX(-50%);

}

.section-title::after{

    content:"";

    position:absolute;

    left:50%;

    transform:translateX(-50%);

    bottom:-15px;

    width:90px;

    height:4px;

    border-radius:20px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--accent)
    );

}

/*==========================================================
    REVEAL
==========================================================*/

.reveal{

    opacity:0;

    transform:translateY(60px);

    transition:1s;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

/*==========================================================
    CONTACTO
==========================================================*/

.contact{

    padding-bottom:150px;

}

.contact-form{

    max-width:700px;

    margin:auto;

    padding:45px;

    border-radius:30px;

    display:flex;

    flex-direction:column;

    gap:25px;

}

.contact-form input,
.contact-form textarea{

    width:100%;

    padding:18px 22px;

    border-radius:16px;

    border:1px solid rgba(255,255,255,.12);

    background:rgba(255,255,255,.05);

    color:white;

    font-family:'Poppins',sans-serif;

    font-size:1rem;

    outline:none;

    transition:.3s;

}

.contact-form textarea{

    resize:none;

    min-height:180px;

}

.contact-form input::placeholder,
.contact-form textarea::placeholder{

    color:rgb(244, 245, 247);

}

.contact-form input:focus,
.contact-form textarea:focus{

    border-color:var(--accent);

    box-shadow:0 0 18px rgba(34,211,238,.25);

}

/*==========================================================
    FOOTER
==========================================================*/

footer{

    padding:60px 20px;

    border-top:1px solid rgba(255,255,255,.08);

    background:rgba(0,0,0,.15);

    backdrop-filter:blur(12px);

}

.footer-content{

    width:min(1200px,92%);

    margin:auto;

    text-align:center;

}

.footer-content h3{

    font-size:2rem;

    margin-bottom:10px;

}

.footer-content p{

    color:var(--text-light);

    margin-bottom:30px;

}

.social{

    display:flex;

    justify-content:center;

    gap:20px;

}

.social a{

    width:50px;

    height:50px;

    border-radius:50%;

    display:grid;

    place-items:center;

    background:rgba(255,255,255,.08);

    transition:.35s;

}

.social a:hover{

    transform:translateY(-6px);

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

}

.social i{

    font-size:1.2rem;

}

/*==========================================================
    NAVBAR AL HACER SCROLL
==========================================================*/

.navbar.scrolled{

    background:rgba(37, 120, 126, 0.452);

    border:1px solid rgba(255,255,255,.12);

    backdrop-filter:blur(20px);

    box-shadow:0 10px 35px rgba(39, 65, 68, 0.39);

}

/*==========================================================
    EFECTOS GENERALES
==========================================================*/

.section{

    opacity:1;

    transition:opacity .5s;

}

button{

    font-family:'Poppins',sans-serif;

}

button,
a{

    cursor:pointer;

}

/* Selección de texto */

::selection{

    background:var(--accent);

    color:#fff;

}

/*==========================================================
    RESPONSIVE
==========================================================*/

@media (max-width:1100px){

.hero{

    grid-template-columns:1fr;

    text-align:center;

    padding-top:140px;

}

.hero-buttons{

    justify-content:center;

}

.hero-image{

    max-width:500px;

    margin:auto;

}

.about{

    grid-template-columns:1fr;

}

.about-content{

    text-align:center;

}

}

/*====================*/

@media (max-width:900px){

.nav-links{

    position:fixed;

    top:100px;

    right:-100%;

    width:280px;

    height:420px;

    border-radius:25px;

    background:rgba(39, 94, 84, 0.836);

    backdrop-filter:blur(30px);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:35px;

    transition:.4s;

}

.nav-links.active{

    right:25px;

}

.menu-btn{

    display:block;

}

.section-title{

    font-size:2.2rem;

}

.hero h1{

    font-size:3rem;

}

.contact-form{

    padding:35px;

}

}

/*====================*/

@media (max-width:768px){

.products-grid{

    grid-template-columns:1fr;

}

.services-grid{

    grid-template-columns:1fr;

}

.hero{

    gap:40px;

}

.hero h1{

    font-size:2.5rem;

}

.badge{

    font-size:.9rem;

}

.btn-primary,
.btn-secondary{

    width:100%;

}

.hero-buttons{

    flex-direction:column;

}

.about-content h2{

    font-size:2rem;

}

.contact-form{

    padding:25px;

}

}

/*====================*/

@media (max-width:500px){

.navbar{

    padding:0 20px;

}

.logo{

    font-size:1.1rem;

}

.hero{

    min-height:auto;

    padding-top:130px;

    padding-bottom:60px;

}

.hero h1{

    font-size:2rem;

}

.section{

    padding:90px 0;

}

.section-title{

    font-size:1.8rem;

}

.footer-content h3{

    font-size:1.5rem;

}

.contact-form{

    padding:20px;

}

}

/*==========================================================
    SCROLL REVEAL
==========================================================*/

.reveal{

    opacity:0;

    transform:translateY(60px);

    transition:all .9s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

/*==========================================================
    TRANSICIONES
==========================================================*/

.product-card,
.service-card,
.btn-primary,
.btn-secondary,
.social a,
.buy-btn{

    transition:all .35s ease;

}

/*==========================================================
    FIN
==========================================================*/

/*==========================================================
                BUSCADOR
==========================================================*/

.search-container{

    width:min(700px,100%);

    margin:0 auto 60px;

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px 25px;

    border-radius:60px;

}

.search-container i{

    font-size:1.2rem;

    color:var(--accent);

}

.search-container input{

    flex:1;

    border:none;

    outline:none;

    background:transparent;

    color:white;

    font-size:1rem;

    font-family:'Poppins',sans-serif;

}

.search-container input::placeholder{

    color:#bfc6d3;

}