:root {
    --soft:#FDF0EB;
    --rosa: #F6C1CC;
    --lila: #e8dff518;
    --crema: #FFF6EF;
    --dorado: #C9A24D;
    --gris: #6B6B6B;
    --welcomebox: #ed63c3;
    --hero-title: #fef4f4;
    --hero-title-nombre: #fff;
    --hero-title-shadow: #ffeded;
    --countdown: #fff;
    --foter-line:#fdfbfa;
    --foter-background: #f7bfe6;
    --foter-background-container:#fff0eb;
    --foter-background-cont:#ea99d2;
    
  }

  @font-face {
    font-family: 'fp';
    src: url('./fonts/Monitor.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
  }

  @font-face {
    font-family: 'fp-2';
    src: url('./fonts/AracmeWaround.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
  }

  @font-face {
    font-family: 'fp-3';
    src: url('./fonts/GOODTIME.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
  }

  @font-face {
    font-family: 'fp-4';
    src: url('./fonts/Vogue.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
  }

  @font-face {
    font-family: 'fp-5';
    src: url('./fonts/ALBAS.TTF') format('truetype');
    font-weight: normal;
    font-style: normal;
  }

  @font-face {
    font-family: 'fp-6';
    src: url('./fonts/MeowScript-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
  }
  
  
  body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    background: var(--crema);
    color: var(--gris);
    text-align: center;
    overflow: hidden;
  }

  /* Oculta la invitación al inicio */
#mainContent {
  opacity: 0;
  transition: opacity 1.2s ease;

  max-width: 500px;
  margin: 0 auto;
  box-shadow: 5px 5px 10px var(--gris);
  border-radius: 25px;
}

/* Fondo que cubre toda la pantalla */
#welcomeOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: var(--crema); /* cambia por el color que quieras */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  overflow: hidden;
}

/* Caja central */

.welcomeBox {
  text-align: center;
  transform: translateY(-150%);
  animation: slideDown 1s ease forwards;  

  display: flex;
  flex-direction: column;
  align-items: center;
}

.welcomeBox h2 {
  font-family: 'fp-6', serif;
  font-size: 4rem;
  margin-bottom: 20px;
  color: var(--welcomebox);
}

.welcomeBox img {
  width: 70%;
  height: auto;

}

.welcomeBox button {
  position: absolute;
  top: 40%;
  left: 34%;
  padding: 12px 30px;
  font-family: 'fp-6',Verdana, Geneva, Tahoma, sans-serif;
  font-size: 1.5rem;
  border: none;
  background: transparent;
  color: var(--welcomebox);
  cursor: pointer;
  border-radius: 30px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.welcomeBox button:hover {
  transform: scale(1.05);
}

/* Animación de entrada */
@keyframes slideDown {
  to {
    transform: translateY(0);
  }
}
  
  /* 🎵 BOTÓN MÚSICA */
  .music-btn {
    position: fixed;
    top: 20px;
    right: 0px;
    border: none;
    background: rgba(255,255,255,.8);
    padding: 10px;
    border-radius: 0%;
    z-index: 10;
  }
  
  /* 👑 HERO */
  .hero {
    height: 100vh;
    position: relative;
    overflow: hidden;
  }

  .hero-title {
    position: absolute;
    top: 65%;
    margin-top: 20px;
    color: var(--hero-title);
    z-index: 6;
    text-align: center;
    letter-spacing: 2px;
  }

  .hero-title.nombre {
    top:10%;
    left: 5%;
    font-size: 5rem;
    color: var(--hero-title-nombre);
    font-family: "fp-5", sans-serif;
    font-weight: 900;
    font-style: normal;
    text-shadow: 1px 1px 3px var(--hero-title-shadow);
  }

  .hero-title.mis {
    left: 11%;
    font-size: 6rem;
    font-family: "Dancing Script", cursive;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    text-shadow: 3px 3px 3px var(--hero-title-shadow);
  }

  .hero-title.xv {
    top:70%;
    left: 50%;
    font-size: 3rem;
    color: var(--hero-title);
    font-family: "fp-5", sans-serif;
    font-weight: 900;
    font-style: normal;
    text-shadow: 1px 1px 3px var(--hero-title-shadow);
  }

  .hero-title.anios {
    left: 65%;
    font-size: 6rem;
    font-family: "Dancing Script", cursive;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    text-shadow: 3px 3px 3px var(--hero-title-shadow);
  }

  .hero-title {
    opacity: 0;
    transition: opacity 1.5s ease;
  }
  
  .hero.open .hero-title {
    opacity: 1;
  }
  
  .hero-content {
    position: relative;
    z-index: 3;
    top: 55%;
    transform: translateY(-50%);
  }
  
  .princess {
    width: auto;
    height: 100vh;
    border-radius: 0%;
    box-shadow: 0 15px 40px rgba(0,0,0,.2);
    animation: fadeIn 2s ease forwards;
  }
  
  /* 🎭 CORTINAS */
  .curtain {
    position: absolute;
    top: 0;
    width: 50vw;
    height: 100vh;
    background: linear-gradient(to bottom, var(--rosa), var(--lila));
    z-index: 5;
    transition: transform 2s ease-in-out;
  }

  .curtain img {
    width: 100vw;
    height: 100vh;
  }
  
  .curtain.left { left: 0;}
  .curtain.right { right: 0;}
  
  .hero.open .left { transform: translateX(-100vw); }
  .hero.open .right { transform: translateX(100vw); }
  
  /* 🌸 ESCENAS */
  .scene {
    padding: 20px 20px;
    animation: slideUp 1.2s ease both;
  }
  
  .soft {
    background: var(--soft);
  }
  
  h2 {
    font-family: 'Playfair Display', serif;
    color: var(--dorado);
    letter-spacing: 2px;
  }
  
  .phrase {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    max-width: 600px;
    margin: auto;
    font-size: 18px;
  }
  
  .parents {
    display: block;
    margin-top: 20px;
    color: var(--dorado);
  }
  
  /* ✨ BOTONES */
  .btn {
    display: inline-block;
    margin-top: 20px;
    padding: 14px 36px;
    border-radius: 50px;
    background: linear-gradient(135deg, var(--rosa), var(--lila));
    color: var(--gris);
    text-decoration: none;
  }
  
  .whatsapp {
    background: linear-gradient(135deg, #C9E4CA, #EAF7EE);
  }

  /* 🎥 SECCIÓN CON VIDEO */
.scene-video {
  position: relative;
  height: fit-content;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* VIDEO */
.bg-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 1;
}

/* OVERLAY ELEGANTE */
.video-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 246, 239, 0.55); /* pastel suave */
  z-index: 2;
}

/* CONTENIDO */
.scene-content {
  position: relative;
  z-index: 3;
  text-align: center;
  padding: 30% 2%;
}

.scene-content-title {
  font-size: 42px;
  font-family: 'Playfair Display', serif;
  color: var(--countdown);
  letter-spacing: 3px;
}

/* CONTADOR */
#countdown {
  font-size: 42px;
  font-family: 'Playfair Display', serif;
  color: var(--countdown);
  letter-spacing: 3px;
}

/* VESTIMENTA*/

.vestimenta-img {
  margin: 0px;
  padding: 0px;
  width: 90%;
  height: auto;
  align-content: center;
}

/* FOTOS */

.fotos {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;  
}

.carousel {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  transform-origin: center;
  transition: opacity 0.5s ease-out;
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.slide.active {
  opacity: 1;
  z-index: 2;
}

/* Animaciones */
@keyframes rotateLeftOut {
  0% { transform: rotate(0deg) scale(1); opacity: 1; transform-origin: top left; }
  100% { transform: rotate(-90deg) scale(0.8); opacity: 0; }
}

@keyframes rotateRightOut {
  0% { transform: rotate(0deg) scale(1); opacity: 1; transform-origin: top right; }
  100% { transform: rotate(90deg) scale(0.8); opacity: 0; }
}

@keyframes rotateLeftIn {
  0% { transform: rotate(90deg) scale(0.8); opacity: 0; transform-origin: top right; }
  100% { transform: rotate(0deg) scale(1); opacity: 1; }
}

@keyframes rotateRightIn {
  0% { transform: rotate(-90deg) scale(0.8); opacity: 0; transform-origin: top left; }
  100% { transform: rotate(0deg) scale(1); opacity: 1; }
}

/* Botones */
.controls {
  margin: 0 !important;
  padding: 0 !important;
  position: absolute;
  bottom: 33vh;
  width: 100vw;
  display: flex;
  justify-content: space-between;
  padding: 0 40px;
  z-index: 3;
}

.fotos-btn {
  background-color: transparent;
  border: none;
  color: #fff;
  font-size: 5rem;
  width: 5rem;
  height: 5rem;
  border-radius: 0%;
  cursor: pointer;
  transition: background 0.3s;
}

.fotos-btn:hover {
  background-color: rgba(255,255,255,0.4);
}

/* Responsividad */
@media (max-width: 768px) {
  .fotos-btn {
    width: 5rem;
    height: 5rem;
    font-size: 1.5rem;
  }
}





  
  /* ✨ ANIMACIONES */

  @keyframes slideUp {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
  }
  
  @keyframes fadeIn {
    from { opacity: 0; transform: scale(.95); }
    to { opacity: 1; transform: scale(1); }
  }

  /* CEREMONIA */
  .scene-parallax {
    position: relative;
    height: 80vh;
    overflow: hidden;
  }
  
  /* Contenedor de la imagen */
  .img-parallax {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
  }
  
  /* La imagen */
  .ceremoni {
    width: 100%;
    height: 120%; /* más grande para efecto */
    object-fit: cover;
    position: absolute;
    top: -10%;
    left: 0;
    will-change: transform;
  }
  
  /* Contenido encima */
  .scene-content {
    position: relative;
    z-index: 3;
    text-align: center;
    padding-top: 25vh;
    color: white;
  }
  
  /* Overlay elegante */
  .scene-parallax::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 2;
  }

  /* CEREMONY 2 */

  /* CEREMONY */

  .section {
    padding: 0;
  }
  

  .ceremony-img {
    margin: 0;
    padding: 0;

    width: 100%;
    height: 50vh;

    background-image: url('img/ceremoni.jpg');
  
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    
  }

  /* INFO */
  .info-grid {
    margin-top: 40px;

    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
  }
  
  .info-grid span {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 2px;
    color: var(--color-base1);
  }
  
  .info-grid p {
    margin-top: 8px;
    font-size: 1.5rem;
  }


  
  /* RECEPCION */

  .reception-img {
    margin: 0;
    padding: 0;

    width: 100%;
    height: 50vh;

    background-image: url(img/reception.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
  }
  
  /* CONFIRMACION */

  .confirm {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .confirm-img {
    width: 10vw;
    height: 10vw;
  }

  /* foter */

  .line{
    margin: 0;
    padding: 0;
    border: none;
    height: 2px;
    background-color: var(--foter-line);
    width: 100vw;
  }

  .foter {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    
    font-size: 0.5rem;
    width: 100vw;
    height: fit-content;
    position: relative;

    background-color: var(--foter-background-container);

  }

  .foter-row {
    
    border: 2px solid var(--foter-background-cont);
    border-radius: 50px;

    margin: 0px 10px;
    padding: 0px 20px;
    gap:1px;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

    background-color: var(--foter-background);
  }

  .foter-col {
    margin: 0px 0px;
    padding: 0px;
    display: flex;
    flex-direction: column;
    gap:0px;
    align-items: center;
    justify-content: center;
    color: #fff;
  }

  .foter-mchic {
    width: 8vw;
    height: auto;
  } 

  .foter-ci {
    width: 5vw;
    height: auto;
  }

  .foter-whats {
    width: 4vw;
    height: auto;
  }

  