body{
    margin:0;
    font-family:'Poppins', sans-serif;
    background:#fffaf5;
    color:#444;
    text-align:center;

    overflow-x:hidden;
}

h1,h2{
font-family:'Playfair Display', serif;
}

section{
padding:80px 20px;
}

/* estilos generales */

#cover{
    position: fixed;

    width: 100%;
    height: 100vh;

    background-image: url("IMAGENES/FONDO PORTADA SOBRE.jpeg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;

    display: flex;
    justify-content: center;
    align-items: center;

    padding-bottom: 150px;

    z-index: 9999;
    transition: 1s;
}

.premium-envelope{
    width: 420px;
    transform:translateY(-140px);
    }



/* ---- REGLAS PARA MOVIL ---- */

@media (max-width:768px) {

#cover{
position:fixed;
width:100%;
height:100vh;

background-image:url("IMAGENES/FONDO\ PORTADA\ SOBRE.jpeg");
background-repeat:no-repeat;
background-position:center;
background-size:cover;

display:flex;
justify-content:center;
align-items:center;

z-index:9999;
overflow:hidden;
}
}

.premium-envelope{
    width: 320px;
    transform:none;
    }

.envelope-wrapper{
position:relative;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
transform: translateY(-70px);
cursor:pointer;
}

.envelope{
position:absolute;
width:100%;
height:100%;
background:#9dc183;
clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
border-radius:0 0 10px 10px;
overflow:hidden;
}

.envelope.open::before{
transform:rotateX(180deg);
}
.envelope::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:#b7d89b;
clip-path: polygon(0 0,50% 50%,100% 0);
transform-origin:top;
transition:1s;
z-index:3;
}

.letter{
position:absolute;
width:85%;
height:85%;
background:#fffdf8;
left:50%;
top:20px;
transform:translateX(-50%);
border-radius:8px;
padding:30px 20px;
box-sizing:border-box;
text-align:center;
transition:1s;
z-index:2;
}

.letter h2{
font-size:22px;
color:#556b2f;
}

.letter h1{
font-size:36px;
margin:20px 0;
color:#6b8e23;
}

.letter button{
background:#8daa6d;
color:white;
border:none;
padding:14px 30px;
border-radius:30px;
font-size:18px;
cursor:pointer;
}

.hero{
    height:90vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    background:
        linear-gradient(rgba(0,0,0,0.20), rgba(0,0,0,0.20)),
        url("IMAGENES/FONDO\ 2.png");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero h1,
.hero p{
    color:rgb(37, 255, 200);
}

.hero h1{
font-size:60px;
}

.date{
font-size:22px;
}

.countdown-section{
position:relative;

min-height:100vh;

display:flex;
justify-content:center;
align-items:center;

padding:60px 20px;

background-image:url("IMAGENES/FONDO\ 3.png");
background-size:cover;
background-position:center;
}

.countdown-section::before{
content:'';
position:absolute;
inset:0;

background:rgba(0,0,0,0.25);
}

.countdown-card{
position:relative;
z-index:2;

width:100%;
max-width:500px;

padding:70px 35px;

background:rgba(255,248,240,0.75);


text-align:center;

backdrop-filter:blur(4px);

box-shadow:0 15px 40px rgba(0,0,0,0.25);

clip-path: polygon(
50% 0%,
85% 0%,
100% 12%,
100% 88%,
85% 100%,
50% 100%,
15% 100%,
0% 88%,
0% 12%,
15% 0%
);

border:2px solid rgba(122,31,43,0.25);
}

.countdown-card::before{
content:'';

position:absolute;
inset:12px;

border:1px solid rgba(122,31,43,0.25);

clip-path: polygon(
50% 0%,
85% 0%,
100% 12%,
100% 88%,
85% 100%,
50% 100%,
15% 100%,
0% 88%,
0% 12%,
15% 0%
);

pointer-events:none;
}

.count-title{
font-family:'Imperial Script', cursive;
font-size:70px;

color:#7a1f2b;

margin-bottom:40px;

font-weight:normal;
}

#countdown{
display:grid;

grid-template-columns:1fr 1fr;

gap:10px;
}

.time-box span{
display:block;

font-size:72px;

font-family:'Playfair Display', serif;

color:#7a1f2b;

line-height:1;
}

.time-box p{
margin-top:10px;

font-size:28px;

font-family:'Playfair Display', serif;

color:#7a1f2b;
}

/* NUESTRA HISTORIA */

.story{

    background-image:url("IMAGENES/FONDO\ 4.png");
     background-repeat:no-repeat;
    background-position:top center;
    background-size:100% auto;

    min-height:580px;

    
    padding-top: 160px;   /* baja el texto */
    padding-left: 40px;   /* margen izquierdo */
    padding-right: 40px;  /* margen derecho */

}

.story p{
    font-family:'Allura', cursive;
    font-size:18px;
    line-height:1.6;
    color:#444;
}

/* CEREMONIA */

.event-ceremonia{
    background-image:url("IMAGENES/LOCALIZACIÓN.png");
    background-repeat:no-repeat;
    background-position:top center;
    background-size:100% auto;

    min-height:460px;

    padding-top:150px;
    padding-left:60px;
    padding-right:60px;

    position:relative;

}

.event-ceremonia{
    position: relative;
}

.ubicacion-btn{
    position: absolute;
    left: 0px;
    top: 250px !important;
    transform: translateY(2500px);

    color: #f5e6b3;
    text-decoration: none;
}


.event-ceremonia::before{
    content:"";
    position:absolute;
    inset:0;
    
}

.event-ceremonia h2{
    position:absolute;

    top:40px;
    left:50%;
    transform:translateX(-50%);

    z-index:2;
    
    width:90%;
    font-family:'Allura', cursive;
    font-size:50px;
    color:#8b1e3f;
    padding:5px 20px;
    border-radius:15px;

    margin:0;
}

.event-ceremonia p,
.event-ceremonia a{
    position:relative;
    z-index:1;
    font-family:'Allura', cursive;
    font-size:28px;
    top: 0px;
}

/* ITINERARIO */

.itinerario{
    position:relative;
    padding:0;
    margin:0;
}

.itinerario-img{
    width:100%;
    height:auto;
    display:block;
}

.itinerario h2{
    position:absolute;

    top:35px;
    left:50%;
    transform:translateX(-50%);

    z-index:10;

    font-family:'Allura', cursive;
    font-size:48px;
    color:#8b1e3f;

    background:rgba(255,255,255,0.75);
    padding:5px 20px;
    border-radius:15px;
}

/* DRESSCODE*/

.dress{
    background-image:url("IMAGENES/DRESSCODE.png");
    background-repeat:no-repeat;
    background-position:top center;
    background-size:100% auto;

    min-height:368px;

    padding-top:138px;
    padding-left:40px;
    padding-right:40px;
}

.dress p{
    font-family:'Allura', cursive;
    font-size:18px;
    line-height:1.5;
    text-align:center;
    color:#3d3d3d;

    margin-bottom:25px;
}

.dress h2{
    font-family:'Allura', cursive;
    font-size:48px;
    color:#8b1e3f;

    position:relative;
    z-index:1;

    text-shadow:
        0 0 8px rgba(255,255,255,0.9),
        0 0 15px rgba(255,255,255,0.8);

    margin: 0;
}

/* FORMULARIO */
.rsvp form{
max-width:400px;
margin:auto;
display:flex;
flex-direction:column;
gap:5px;

margin-bottom: 0;
}
.rsvp{
    background-image:url("IMAGENES/fondo\ cuestionarioo.png");
    background-repeat:no-repeat;
    background-position:center top;
    background-size:100% auto;

    

    position:relative;
    padding:20px 20px;
}

textarea[name="alergenos"]{
    height:30px;
}

.rsvp h2{
    font-family:'Allura', cursive;
    font-size:48px;
    color:#9b0029;

    position:relative;
    z-index:1;

    text-shadow:
        0 -10 8px rgba(255,255,255,0.9),
        0 0 15px rgba(255,255,255,0.8);
}

input,select,textarea{
padding:12px;
border:1px solid #000000;
border-radius:6px;
}

button{
background:#d4a373;
color:white;
border:none;
padding:14px;
border-radius:6px;
cursor:pointer;
}


/* PIE DE PÁGINA */
footer{
padding:40px 20px;

background-image:url("IMAGENES/FONDO\ PIE\ PAGINA.png");
background-size:cover;
background-position:center;
background-repeat:no-repeat;

text-align:center;

min-height:50px;

display:flex;
justify-content:center;
align-items:center;
}

footer p{

background:linear-gradient(
to right,
rgba(60,60,60,0),
rgba(60,60,60,0.18),
rgba(60,60,60,0.18),
rgba(60,60,60,0)
);

padding:14px 40px;

border-radius:0px;

color:white;

display:inline-block;

text-shadow:0 2px 8px rgba(0,0,0,0.35);

backdrop-filter:blur(2px);
-webkit-backdrop-filter:blur(2px);

}

.premium-envelope{

width:420px;

max-width:90vw;

display:block;

margin:auto;

cursor:pointer;

animation:float 3s ease-in-out infinite;

filter:drop-shadow(0 15px 25px rgba(0,0,0,0.25));

}

@keyframes float{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-10px);
}

100%{
transform:translateY(0px);
}

}

.open-btn{

position:absolute;

left:50%;
top:47%;

transform:translate(-50%,-50%);

width:260px;
height:90px;

background:transparent;

border:none;

cursor:pointer;

z-index:20;

font-size:0;

}

/* ===== SAVE THE DATE ===== */

.save-the-date{
    position: relative;
    height: 100vh;
    min-height: 100vh; /* o elimina directamente esta línea */
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.save-bg{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 110%;
    object-fit: cover;      /* Cambia contain por cover */
    object-position: 60% center;
    min-height: 0;          /* Elimina el min-height de 200px */
}

.overlay{
position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,0.25);
}

.save-content{
position:absolute;

top: 50%;
left: 50%;

transform: translate(-50%, -50%);

z-index:2;


display:flex;
align-items:center;
justify-content: center;

gap:40px;

width: 100%;

color:white;
font-family:'Playfair Display', serif;
}

.date-left,
.date-right{
display:flex;
flex-direction:column;
align-items:center;
font-size:42px;
letter-spacing:3px;
}

.monogram{
width:260px;
height:260px;

border:2px solid rgba(255,255,255,0.8);
border-radius:50%;

display:flex;
justify-content:center;
align-items:center;

font-size:145px;

font-family:'Imperial Script', cursive;

position:relative;

color:white;

}

.monogram span{
position:relative;
left:-18px;
top:6px;
}


.monogram::before{
content:'';
position:absolute;
width:220px;
height:220px;
border:2px solid rgba(255,255,255,0.5);
border-radius:50%;
}

@media (max-width:768px){

.save-the-date{
display:flex;
justify-content:center;
align-items:center;
}

.save-content{
position:absolute;
top:50%;
left:50%;

transform:translate(-50%, -50%);

width:auto;

display:flex;
justify-content:center;
align-items:center;

gap:20px;
}

.monogram{
width:180px;
height:180px;
font-size:80px;
}

.monogram::before{
width:150px;
height:150px;
}

.monogram span{
    left: -10px;
    top: 0px;
}

.date-left,
.date-right{
font-size:38px;
}

}






