/* ==========================
   VARIABLES
========================== */

:root {

    --beige: #F8F5EF;
    --beige2: #FFFDFC;

    --azul: #1F355E;

    --dorado: #C8A96A;

    --borde: #E7DAC3;

    --blanco: #FFFFFF;

    --sombra: rgba(0,0,0,.08);

}

/* ==========================
   RESET
========================== */

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--beige);

    color:var(--azul);

    font-family:'Montserrat',sans-serif;

    overflow-x:hidden;

}


/* ==========================
   TITULOS
========================== */

h1,h2,h3{

    font-family:'Cormorant Garamond',serif;

    font-weight:600;

}

h1{

    font-size:72px;

}

h2{

    font-size:48px;

    margin-bottom:20px;

}

h3{

    font-size:32px;

}

p{

    line-height:1.8;

}


/* ==========================
   LOADER
========================== */

#loader{

    position:fixed;

    inset:0;

    background:var(--beige);

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

}

.loader-content{

    text-align:center;

}

.loader-rose{

    font-size:45px;

    animation:girar 5s linear infinite;

}

@keyframes girar{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}


/* ==========================
   HERO
========================== */

#hero{

    position:relative;

    width:100%;

    height:100vh;

    overflow:hidden;

}

#hero img{

    position:absolute;

    width:100%;

    height:100%;

    object-fit:cover;

    transform:scale(1.05);

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(248,245,239,.35);

    z-index:1;

}

.hero-content{

    position:relative;

    z-index:5;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    height:100%;

    text-align:center;

    padding:20px;

}

.subtitle{

    letter-spacing:6px;

    text-transform:uppercase;

    margin-bottom:20px;

}

.gold-line{

    width:140px;

    height:2px;

    background:var(--dorado);

    margin:25px 0;

}

.hero-message{

    max-width:600px;

    font-size:20px;

}

.scrollButton{

    margin-top:40px;

    padding:15px 45px;

    border-radius:50px;

    background:var(--azul);

    color:white;

    text-decoration:none;

    transition:.3s;

}

.scrollButton:hover{

    transform:translateY(-3px);

}


/* ==========================
   MÚSICA
========================== */

#musicButton{

    position:fixed;

    right:25px;

    bottom:25px;

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    background:var(--dorado);

    color:white;

    cursor:pointer;

    font-size:26px;

    z-index:999;

    box-shadow:0 5px 15px rgba(0,0,0,.2);

}


/* ==========================
   CONTENEDOR
========================== */

.container{

    width:min(1100px,90%);

    margin:auto;

    padding:100px 0;

}


/* ==========================
   DIVIDER
========================== */

.divider{

    width:220px;          /* Ajusta el tamaño */

    height:60px;

    margin:20px auto 40px;

    background-image:url("img/ornamento.png");

    background-size:contain;

    background-repeat:no-repeat;

    background-position:center;

}


/* ==========================
   SECCIONES
========================== */

section{

    position:relative;

}

section:nth-child(even){

    background:var(--beige2);

}


/* ==========================
   GALERIA
========================== */

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:22px;

}

.gallery-grid img{

    width:100%;

    border-radius:16px;

    object-fit:cover;

    transition:.4s;

    box-shadow:0 10px 25px var(--sombra);

}

.gallery-grid img:hover{

    transform:scale(1.03);

}


/* ==========================
   BOTONES
========================== */

.goldButton{

    display:inline-block;

    margin-top:25px;

    padding:14px 40px;

    background:var(--azul);

    color:white;

    text-decoration:none;

    border-radius:40px;

    transition:.3s;

}

.goldButton:hover{

    background:#2e4b7f;

}


/* ==========================
   CONTADOR
========================== */

.countdown{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

    margin-top:40px;

}

.countdown div{

    background:white;

    border-radius:20px;

    padding:35px;

    box-shadow:0 8px 20px var(--sombra);

}

.countdown span{

    display:block;

    font-size:50px;

    font-weight:bold;

    color:var(--dorado);

}

.countdown small{

    font-size:15px;

    text-transform:uppercase;

}


/* ==========================
   FORM
========================== */

form{

    display:flex;

    flex-direction:column;

    gap:20px;

    max-width:650px;

    margin:auto;

}

input,

textarea{

    border:1px solid var(--borde);

    padding:18px;

    border-radius:14px;

    font-size:16px;

    font-family:inherit;

    background:white;

}

textarea{

    resize:vertical;

    min-height:140px;

}

button[type="submit"]{

    background:var(--azul);

    color:white;

    border:none;

    padding:18px;

    border-radius:50px;

    cursor:pointer;

    transition:.3s;

}

button[type="submit"]:hover{

    background:#35578f;

}


/* ==========================
   FOOTER
========================== */

footer{

    background-image: url("img/footer.jpeg");

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

    padding: 120px 20px;

    text-align: center;

    font-size: 18px;

    color: white;

    position: relative;

}
/* ==========================
   RESPONSIVE
========================== */

@media(max-width:900px){

    h1{

        font-size:50px;

    }

    h2{

        font-size:38px;

    }

    .countdown{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:600px){

    h1{

        font-size:40px;

    }

    h2{

        font-size:32px;

    }

    .hero-message{

        font-size:17px;

    }

    .countdown{

        grid-template-columns:1fr;

    }

    .countdown div{

        padding:25px;

    }

}
