/*==============================
RESET
==============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    width:100%;
    height:100%;
    overflow:hidden;
    font-family:Arial, Helvetica, sans-serif;
    background:#000;
}

/*==============================
HERO
==============================*/

.hero{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

/*==============================
SLIDER
==============================*/

.slider{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
}

.slide{

    position:absolute;

    width:100%;
    height:100%;

    opacity:0;

    transition:opacity 1.5s ease;

    overflow:hidden;

}

.slide.active{

    opacity:1;

    z-index:2;

}

.slide img{

    width:100%;
    height:100%;

    object-fit:cover;

    transform:scale(1);

    filter:blur(8px);

    transition:
        transform 8s linear,
        filter 2s ease;

}

/* Zoom y enfoque */

.slide.active img{

    transform:scale(1.18);

    filter:blur(0px);

}

/*==============================
CAPA OSCURA
==============================*/

.overlay{

    position:absolute;

    width:100%;
    height:100%;

    background:rgba(0,0,0,.45);

    z-index:5;

}

/*==============================
CONTENIDO
==============================*/

.hero-content{

    position:absolute;

    top:50%;

    left:10%;

    transform:translateY(-50%);

    z-index:10;

    width:700px;

    max-width:90%;

}

.content{

    position:absolute;

    opacity:0;

    visibility:hidden;

    transform:translateX(120px);

    transition:

        opacity .8s,

        transform .8s,

        visibility .8s;

}

.content.active{

    opacity:1;

    visibility:visible;

    transform:translateX(0);

}

/*==============================
TEXTOS
==============================*/

.tag{

    display:inline-block;

    background:#d4af37;

    color:#000;

    padding:8px 20px;

    border-radius:30px;

    font-weight:bold;

    margin-bottom:25px;

    letter-spacing:1px;

}

.content h1{

    font-size:70px;

    line-height:1.1;

    color:white;

    margin-bottom:20px;

    text-shadow:0 2px 15px rgba(0,0,0,.4);

}

.content p{

    font-size:22px;

    line-height:1.7;

    color:#eee;

    max-width:600px;

    margin-bottom:35px;

}

.price{

    font-size:50px;

    color:#FFD54F;

    font-weight:bold;

    margin-bottom:40px;

}

/*==============================
BOTON
==============================*/

.btn{

    display:inline-block;

    text-decoration:none;

    background:white;

    color:#111;

    padding:18px 45px;

    border-radius:40px;

    font-size:18px;

    font-weight:bold;

    transition:.35s;

}

.btn:hover{

    background:#FFD54F;

    transform:translateY(-3px);

}

/*==============================
FLECHAS
==============================*/

.prev,
.next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    font-size:28px;

    background:rgba(255,255,255,.15);

    color:white;

    backdrop-filter:blur(8px);

    transition:.3s;

    z-index:20;

}

.prev:hover,
.next:hover{

    background:white;

    color:black;

}

.prev{

    left:35px;

}

.next{

    right:35px;

}

/*==============================
PUNTOS
==============================*/

.dots{

    position:absolute;

    bottom:45px;

    left:50%;

    transform:translateX(-50%);

    display:flex;

    gap:12px;

    z-index:20;

}

.dot{

    width:14px;

    height:14px;

    border-radius:50%;

    background:rgba(255,255,255,.4);

    transition:.35s;

    cursor:pointer;

}

.dot.active{

    width:40px;

    border-radius:30px;

    background:white;

}

/*==============================
RESPONSIVE
==============================*/

@media(max-width:900px){

.hero-content{

    left:35px;

    right:35px;

    width:auto;

}

.content h1{

    font-size:45px;

}

.content p{

    font-size:18px;

}

.price{

    font-size:35px;

}

.btn{

    padding:15px 30px;

}

.prev,
.next{

    display:none;

}

}