/* ==========================
   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;

    /* NUEVO */
    padding-top: 320px;

}

.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;

    top: 50%;

    right: 25px;

    transform: translateY(-50%);

    width: 60px;

    height: 60px;

    border: none;

    border-radius: 50%;

    background: var(--dorado);

    color: white;

    cursor: pointer;

    font-size: 26px;

    z-index: 9999;

    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);

}

#bienvenida,
#ceremonia,
#recepcion,
#dress,
#mesaRegalos,
#transferencia,
footer{

    position: relative;
    overflow: hidden;

}

#dress {
    text-align: right;
}

#bienvenida::before,
#ceremonia::before,
#recepcion::before,
#dress::before,
#mesaRegalos::before,
#transferencia::before,
footer::before{

    content: "";
    position: absolute;
    inset: 0;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    transform: translateY(var(--parallax, 0px)) scale(1.1);

    z-index: -2;

}
#bienvenida .container,
#ceremonia .container,
#recepcion .container,
#dress .container,
#mesaRegalos .container,
#transferencia .container{

    position: relative;
    z-index: 2;

    width: 100%;
max-width: none;
padding: 80px 8%;

    background: rgba(255, 255, 255, 0.45);

    backdrop-filter: blur(0.3px);
    -webkit-backdrop-filter: blur(0.3px);

    border: 1px solid rgba(255, 255, 255, 0.35);

    border-radius: 30px;

    box-shadow: 0 8px 30px rgba(0,0,0,.08);

}

#bienvenida::before{
    background-image: url("img/fondo-bienvenida.jpg");
}

#ceremonia::before{
    background-image: url("img/fondo-ceremonia.jpg");
}

#recepcion::before{
    background-image: url("img/recepcion.png");
}

#dress::before{
    background-image: url("img/dress.png");
}

#mesaRegalos::before{
    background-image: url("img/fondo-regalos.jpg");
}

#transferencia::before{
    background-image: url("img/transferencia.png");
}

footer::before{
    background-image: url("img/footer.png");
}

/* ==========================
   BIENVENIDA PADRES
========================== */

.padres{

    margin-top: 40px;

    text-align: center;

}

.titulo-padres{

    font-size: 18px;

    margin-bottom: 20px;

    color: var(--azul);

    font-style: italic;

}

.padres h3{

    font-family: var(--fontTitulo);

    font-size: 32px;

    color: var(--dorado);

    margin: 10px 0;

    font-weight: normal;

}

.padres span{

    display: block;

    font-size: 28px;

    margin: 10px 0;

    color: var(--azul);

}

/* ==========================
   FECHA DEL EVENTO
========================== */

.fecha-evento{

    font-family: 'Cormorant Garamond', serif;

    font-size: 30px;

    font-weight: 500;

    color: var(--dorado);

    text-align: left;

    letter-spacing: 2px;

    margin-bottom: 15px;

    font-style: italic;

}

/* ==========================
   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{

    padding: 80px 20px 140px 20px; /* Menos espacio arriba, más abajo */
    text-align: center;
    font-size: 18px;
    color: var(--azul);

}

footer p{

    position: relative;
    z-index: 2;
    color: var(--azul);
    margin-top: -20px; /* Sube el texto */
 }


/* ==========================
   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;

    }

}
