*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#171717;font-family:'Montserrat',sans-serif;color:#fff}.invite{width:min(100%,430px);margin:auto;overflow:hidden;background:#612223;box-shadow:0 0 40px #0008}.hero{height:760px;position:relative;background:linear-gradient(#0002,#0002),url('../assets/fondo-bosque.jpg') center/cover}.topline{position:absolute;top:32px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.04em}.hero-envelope{position:absolute;width:250px;left:18px;top:115px;transform:rotate(-4deg)}.hero-seal{position:absolute;width:78px;left:135px;top:82px;z-index:5}.hero-polaroid{position:absolute;width:118px;right:32px;top:92px;transform:rotate(-8deg);z-index:4}.hero-title-wrap{position:absolute;left:50%;top:205px;transform:translateX(-50%);width:300px;height:auto;z-index:5}.hero-lace{display:block;width:100%;height:auto;object-fit:contain}.hero-title{position:absolute;left:0;right:0;top:50%;transform:translateY(-52%);text-align:center;font:56px/.9 'Great Vibes',cursive;color:#2c1714}.location-block{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);text-align:center;width:85%}.location-label{font-size:11px}.down-arrow{font-size:28px;margin:7px}.location-pill{display:inline-block;background:#f8ecd7;color:#30211e;border-radius:24px;padding:10px 22px;font-size:9px;line-height:1.4}.gallery-section{height:720px;position:relative;background:#672526}.gold-bar{position:absolute;width:260px;left:85px;top:10px}.filmstrip{position:absolute;width:210px;left:110px;top:40px;background:#f5f1ea;padding:12px;box-shadow:0 8px 16px #0007}.photo-placeholder{height:130px;background:#9a9a9a;margin-bottom:10px;display:grid;place-items:center;color:#fff;font-size:12px;text-align:center}.photo-placeholder:last-child{margin-bottom:0}.flowers-left{position:absolute;width:245px;left:-70px;top:95px}.lace-heart{position:absolute;width:118px;right:-4px;bottom:12px}.card-section{height:760px;position:relative;background:url('../assets/fondo-vino.jpg') center/cover;display:grid;place-items:center}.curtain{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#4c1116 0 42px,#7a2028 43px 80px);opacity:.45}.invite-card{position:relative;width:340px;height:560px;z-index:2}.card-frame{position:absolute;inset:0;width:100%;height:100%}.card-content{position:absolute;inset:45px 40px;color:#6c2a2c;text-align:center}.card-content .small{font-size:10px;font-weight:600;letter-spacing:.08em;color:#6c2a2c;margin:26px 0 12px;text-transform:uppercase}.card-content h2{font:48px/0.92 'Great Vibes',cursive;margin:20px 0 2px}.rings{width:120px;margin:-3px auto 5px}.names{display:flex;align-items:center;justify-content:center;gap:17px;margin-top:-2px}.names div{display:flex;flex-direction:column}.names strong{font:24px 'Playfair Display',serif}.names em{font:23px 'Great Vibes',cursive}.names span{font:22px 'Playfair Display',serif}.date{font-size:12px;line-height:1.6;margin:19px 0 6px}.address,.note{font-size:7px;line-height:1.5;margin:7px}.final-collage{height:670px;position:relative;background:#672526}.collage-photo{position:absolute;background:#999;border:10px solid #f5f2ea;color:white;display:grid;place-items:center;text-align:center;font-size:11px;box-shadow:0 5px 12px #0006}.p1{width:200px;height:155px;left:35px;top:70px;transform:rotate(-5deg)}.p2{width:105px;height:120px;right:28px;top:26px;transform:rotate(3deg)}.p3{width:165px;height:235px;right:38px;top:282px;transform:rotate(1deg)}.tape{position:absolute;width:120px;z-index:4}.t1{left:25px;top:45px;transform:rotate(8deg)}.t2{right:10px;top:250px;transform:rotate(-8deg)}.flower-sticker{position:absolute;width:105px;right:120px;top:245px}.see-you{position:absolute;left:45px;bottom:100px;font:42px/1 'Great Vibes',cursive;transform:rotate(-7deg)}[data-reveal]{opacity:0;transform:translateY(20px);transition:.7s ease}[data-reveal].show{opacity:1;transform:none}@media(max-width:430px){.invite{width:100%}}
.location-pill{text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.location-pill:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0003}
.countdown{position:absolute;left:50%;top:405px;transform:translateX(-50%);width:82%;text-align:center;z-index:6;color:#fff;text-shadow:0 2px 8px #0007}
.countdown-title{font-size:9px;letter-spacing:.28em;margin-bottom:7px}
.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.countdown-grid div{background:#5f1f21dc;border:1px solid #f4dfc288;border-radius:10px;padding:7px 4px;backdrop-filter:blur(3px)}
.countdown-grid strong{display:block;font:20px 'Playfair Display',serif;line-height:1}
.countdown-grid span{display:block;font-size:6px;letter-spacing:.12em;margin-top:5px}


/* Ajuste V3: evita que el título, encaje y cuenta regresiva se aplasten o se encimen */
.hero-title-wrap{
  position:absolute;
  left:50%;
  top:205px;
  transform:translateX(-50%);
  width:300px;
  height:auto;
  z-index:5;
}
.hero-lace{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.hero-title{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-52%);
  text-align:center;
  font:56px/.9 'Great Vibes',cursive;
  color:#2c1714;
}
.countdown{
  position:absolute;
  left:50%;
  top:405px;
  transform:translateX(-50%);
  width:82%;
  text-align:center;
  z-index:6;
  color:#fff;
  text-shadow:0 2px 8px #0007;
}
@media(max-width:430px){
  .hero-title-wrap{top:210px;width:290px}
  .hero-title{font-size:52px}
  .countdown{top:410px;width:86%}
}

/* V4: fotos automáticas sustituibles */
.photo-placeholder{overflow:hidden;padding:0}
.photo-placeholder img,.collage-photo img{width:100%;height:100%;display:block;object-fit:cover}
.collage-photo{overflow:hidden}

/* V5: detalle floral decorativo en la sección de ubicación */
.location-flowers{
  position:absolute;
  width:245px;
  max-width:62vw;
  left:-32px;
  top:105px;
  height:auto;
  object-fit:contain;
  pointer-events:none;
  z-index:1;
  opacity:.96;
}
.location-pill,.location-label,.location-block .down-arrow{
  position:relative;
  z-index:2;
}
@media(max-width:430px){
  .location-flowers{width:225px;left:-38px;top:105px}
}

/* V6: cuenta regresiva ligeramente más abajo */
.countdown{
  top:435px !important;
}
@media(max-width:430px){
  .countdown{
    top:440px !important;
  }
}

/* V7 itinerario */
.itinerary-section{background:#f7ecd7;color:#5d2022;text-align:center;padding:55px 20px 50px}.itinerary-kicker{margin:0 0 7px;font-size:8px;letter-spacing:.28em}.itinerary-title{margin:0 0 34px;font:48px/1 'Great Vibes',cursive;font-weight:400}.itinerary-list{max-width:315px;margin:auto;display:flex;align-items:center;justify-content:center}.itinerary-item{width:88px;display:flex;flex-direction:column;align-items:center}.itinerary-icon{width:48px;height:48px;border:1px solid #8b5550;border-radius:50%;display:grid;place-items:center;margin-bottom:11px;font:25px 'Playfair Display',serif}.itinerary-item strong{font:12px 'Playfair Display',serif;margin-bottom:5px}.itinerary-item span{font-size:7px;letter-spacing:.08em;text-transform:uppercase}.itinerary-line{width:22px;height:1px;background:#b68c80;margin:-39px 3px 0;flex:0 0 auto}
/* V7 WhatsApp */
.confirm-section{background:#f7ecd7;color:#5d2022;text-align:center;padding:58px 28px 68px}.confirm-section p{margin:0 0 5px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.confirm-section h2{margin:4px 0 27px;font:43px/1 'Great Vibes',cursive;font-weight:400}.confirm-button{display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:52px;padding:14px 28px;border-radius:30px;background:#672526;color:#fff;text-decoration:none;font-size:10px;letter-spacing:.18em;box-shadow:0 6px 15px #5d202230;transition:.2s}.confirm-button:hover{transform:translateY(-2px)}
