/* =========================================================
   SARA XV — ROYAL NOIR LUXURY V10
   ========================================================= */
:root{
  --v10-black:#050103;
  --v10-wine:#25040b;
  --v10-red:#8b1021;
  --v10-gold:#c8a24a;
  --v10-gold2:#f0d58a;
  --v10-ivory:#fff8ef;
}

html{background:var(--v10-black)!important;scroll-behavior:smooth}
body{background:var(--v10-black)!important;color:var(--v10-ivory)!important}

/* Opening — primera impresión tipo invitación de alta gama */
.opening{
  background:
    radial-gradient(circle at 50% 35%,rgba(200,162,74,.13),transparent 27%),
    radial-gradient(circle at 15% 80%,rgba(139,16,33,.30),transparent 34%),
    linear-gradient(135deg,#030102 0%,#190309 48%,#050103 100%)!important;
}
.opening::before{content:"";position:absolute;inset:22px;border:1px solid rgba(240,213,138,.25);pointer-events:none}
.opening::after{content:"";position:absolute;inset:35px;border:1px solid rgba(240,213,138,.08);pointer-events:none}
.opening-glow{background:rgba(240,213,138,.08)!important;filter:blur(90px)!important}
.opening-card{color:#fff!important}
.opening-card h1{color:var(--v10-gold2)!important;text-shadow:0 0 30px rgba(240,213,138,.16)}
.opening-number{color:transparent!important;-webkit-text-stroke:1.5px var(--v10-gold2)!important;text-shadow:0 0 45px rgba(200,162,74,.2)!important}
.opening-card>p:not(.eyebrow){color:rgba(255,248,239,.78)!important}
.mini-crown{color:var(--v10-gold2)!important}
.opening-card .lux-btn{border-color:rgba(240,213,138,.7)!important;background:linear-gradient(135deg,rgba(200,162,74,.18),rgba(139,16,33,.28))!important;color:#fff!important}
.sound-link{color:rgba(255,248,239,.72)!important}

/* Nav oscura siempre: cero blanco al desplazarse */
.cinema-nav,.cinema-nav.scrolled{
  background:rgba(7,2,5,.62)!important;
  border-color:rgba(240,213,138,.26)!important;
  box-shadow:0 16px 50px rgba(0,0,0,.28)!important;
}
.cinema-nav.scrolled .nav-brand,.cinema-nav.scrolled .nav-music{color:var(--v10-gold2)!important}
.cinema-nav.scrolled .nav-dots a{background:rgba(240,213,138,.28)!important}
.cinema-nav.scrolled .nav-dots a.active{background:var(--v10-gold2)!important;box-shadow:0 0 14px rgba(240,213,138,.65)!important}

/* Barra de progreso más fina */
#sceneProgress{height:2px!important;background:rgba(255,255,255,.06)!important}
#sceneProgress span{background:linear-gradient(90deg,var(--v10-red),var(--v10-gold2))!important;box-shadow:0 0 16px rgba(240,213,138,.65)!important}

/* Hero editorial */
.hero{background:#050103!important}
.hero-image{
  background-image:
    linear-gradient(90deg,rgba(4,1,3,.82),rgba(10,2,6,.20),rgba(4,1,3,.70)),
    url("../assets/images/luxury/01-hero-portrait.jpg")!important;
  background-position:center center!important;
  background-size:cover!important;
  filter:saturate(.92) contrast(1.05)!important;
}
.hero-vignette{background:radial-gradient(circle at 55% 45%,transparent 0 26%,rgba(0,0,0,.72) 100%)!important}
.hero-content{background:linear-gradient(145deg,rgba(7,2,5,.24),rgba(25,3,9,.16))!important;border-color:rgba(240,213,138,.24)!important;backdrop-filter:blur(7px)!important}
.hero-content::before{border-color:rgba(240,213,138,.32)!important}
.hero-copy{color:rgba(255,248,239,.9)!important}
.hero-date{color:var(--v10-gold2)!important}
.gold-line{background:linear-gradient(90deg,transparent,var(--v10-gold2),transparent)!important}

/* Todas las secciones: sangrado total, sin laterales */
main{overflow:hidden!important;background:#050103!important}
.cinematic-section,.finale{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border:0!important}
.cinematic-section{min-height:100svh!important;background-color:#050103!important;background-size:cover!important;background-position:center!important;background-attachment:scroll!important}
.cinematic-section::after{
  background:
    linear-gradient(90deg,rgba(3,1,2,.84),rgba(12,2,6,.25),rgba(3,1,2,.78)),
    radial-gradient(circle at 50% 45%,rgba(240,213,138,.055),transparent 48%)!important;
}
.cinematic-section::before{color:rgba(240,213,138,.58)!important}

/* Textos flotantes de revista: menos caja, más lujo */
.cinematic-section .text-card,.cinematic-section .rsvp-copy,.cinematic-section .dress-card{
  background:linear-gradient(145deg,rgba(4,1,3,.56),rgba(42,4,12,.20))!important;
  border:1px solid rgba(240,213,138,.28)!important;
  box-shadow:0 35px 110px rgba(0,0,0,.46),inset 0 0 60px rgba(240,213,138,.025)!important;
}
.cinematic-section .text-card::before,.cinematic-section .rsvp-copy::before,.cinematic-section .dress-card::before{border-color:rgba(240,213,138,.12)!important}
.cinematic-section h2{letter-spacing:.015em!important}
.cinematic-section .eyebrow{letter-spacing:.28em!important;color:var(--v10-gold2)!important}
.cinematic-section .signature,.cinematic-section .parent-name,.cinematic-section .big-word,.cinematic-section .reserved{color:var(--v10-gold2)!important}

/* Fondos — todos sin texto incrustado */
.story{background-image:url("../assets/images/luxury/02-hero-roses.jpg")!important;background-position:center!important}
.parents{background-image:url("../assets/images/luxury/04-velvet-burgundy.jpg")!important;background-position:center!important}
.event{background-image:url("../assets/images/luxury/05-candlelight-gold.jpg")!important;background-position:center!important}
.countdown-section{background-image:url("../assets/images/luxury/06-black-gold-bokeh.jpg")!important;background-position:center!important}
.place{background-image:url("../assets/images/luxury/05-candlelight-gold.jpg")!important;background-position:center 55%!important}
.dress{background-image:url("../assets/images/luxury/04-velvet-burgundy.jpg")!important;background-position:center!important}
.message{background-image:url("../assets/images/luxury/03-hero-dress.jpg")!important;background-position:center!important}
.envelopes{background-image:url("../assets/images/luxury/02-hero-roses.jpg")!important;background-position:center!important}
.rsvp{background-image:url("../assets/images/luxury/06-black-gold-bokeh.jpg")!important;background-position:center!important}
.finale{background:#050103!important}
.finale-bg{background-image:linear-gradient(90deg,rgba(4,1,3,.88),rgba(10,2,6,.25),rgba(4,1,3,.84)),url("../assets/images/luxury/01-hero-portrait.jpg")!important;filter:saturate(.82)!important}

/* Línea editorial entre escenas */
.cinematic-section{border-top:1px solid rgba(240,213,138,.16)!important;border-bottom:1px solid rgba(240,213,138,.08)!important}
.cinematic-section::after{mix-blend-mode:normal}

/* Tarjetas de datos más joyería, menos UI */
.event-grid{gap:24px!important}
.event-box{background:rgba(4,1,3,.46)!important;border-color:rgba(240,213,138,.30)!important;box-shadow:0 25px 70px rgba(0,0,0,.36)!important;backdrop-filter:blur(11px)!important}
.event-box strong{color:#fff!important}.event-box small{color:rgba(255,248,239,.72)!important}.event-icon{color:var(--v10-gold2)!important}
.countdown>div{background:rgba(4,1,3,.42)!important;border-color:rgba(240,213,138,.28)!important;backdrop-filter:blur(12px)!important}
.countdown>div span{color:var(--v10-gold2)!important;text-shadow:0 0 22px rgba(240,213,138,.18)}

/* Botones */
.lux-btn,.whatsapp-btn{border-color:rgba(240,213,138,.62)!important;background:linear-gradient(135deg,rgba(240,213,138,.11),rgba(139,16,33,.25))!important;color:#fff!important;box-shadow:0 14px 45px rgba(0,0,0,.24)!important}
.lux-btn:hover,.whatsapp-btn:hover{transform:translateY(-2px)!important;box-shadow:0 20px 60px rgba(0,0,0,.34),0 0 28px rgba(240,213,138,.10)!important}

/* Aura del puntero */
#luxCursor{position:fixed;z-index:9998;width:180px;height:180px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(240,213,138,.08),transparent 65%);transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}
body:hover #luxCursor{opacity:1}

/* Película dorada muy sutil */
#luxGrain{position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:screen}

/* Revelado más cinematográfico */
.reveal{opacity:0;transform:translateY(38px) scale(.985);filter:blur(2px);transition:opacity 1.15s cubic-bezier(.22,1,.36,1),transform 1.15s cubic-bezier(.22,1,.36,1),filter 1.15s ease!important}
.reveal.visible{opacity:1;transform:none;filter:none}

/* Elimina cualquier posibilidad de fondo blanco */
section,.section,.footer{background-color:#050103!important}
.footer{width:100vw!important;margin-left:calc(50% - 50vw)!important;color:rgba(255,248,239,.75)!important;border-top:1px solid rgba(240,213,138,.15)!important}
.footer h2{color:var(--v10-gold2)!important}

@media(max-width:800px){
  .cinematic-section{min-height:100svh!important;padding:100px 5% 85px!important}
  .cinematic-section .text-card,.cinematic-section .rsvp-copy,.dress-copy{padding:42px 24px!important}
  #luxCursor{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* =========================================================
   V11 — ROYAL TEXT REVEAL
   Los títulos y textos claros aparecen con movimiento al entrar
   en pantalla, como una invitación cinematográfica.
   ========================================================= */
.lux-reveal-text{
  opacity:0!important;
  transform:translate3d(0,28px,0) scale(.985)!important;
  filter:blur(7px)!important;
  transition:
    opacity 1s cubic-bezier(.16,1,.3,1),
    transform 1s cubic-bezier(.16,1,.3,1),
    filter 1s cubic-bezier(.16,1,.3,1)!important;
  will-change:opacity,transform,filter;
}
.lux-reveal-text.lux-text-visible{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}
/* Títulos blancos: entrada más teatral */
.cinematic-section h2.lux-reveal-text{
  transition-duration:1.15s!important;
  transition-delay:.12s!important;
}
.cinematic-section h3.lux-reveal-text{
  transition-delay:.22s!important;
}
.cinematic-section .text-card > p:not(.eyebrow).lux-reveal-text,
.cinematic-section .rsvp-copy > p.lux-reveal-text,
.cinematic-section .dress-copy > p.lux-reveal-text,
.cinematic-section .section-title > p:not(.eyebrow).lux-reveal-text{
  transition-duration:.95s!important;
}
/* Dorado fino que acompaña la aparición del título */
.lux-title-line{
  width:0;
  height:1px;
  margin:17px auto 0;
  background:linear-gradient(90deg,transparent,var(--v10-gold2),transparent);
  box-shadow:0 0 14px rgba(240,213,138,.42);
  opacity:0;
  transition:width 1s cubic-bezier(.16,1,.3,1),opacity .6s ease;
  transition-delay:.38s;
}
.lux-title-line.lux-text-visible{width:min(180px,45%);opacity:1}
/* Datos de evento / contador */
.event-box .event-icon.lux-reveal-text,
.event-box strong.lux-reveal-text,
.event-box small.lux-reveal-text,
.countdown > div span.lux-reveal-text,
.countdown > div small.lux-reveal-text{
  transition-duration:.85s!important;
}
/* Botones: entran después del contenido */
.cinematic-section a.lux-btn.lux-reveal-text,
.cinematic-section a.whatsapp-btn.lux-reveal-text{
  transition-delay:.35s!important;
}
@media(prefers-reduced-motion:reduce){
  .lux-reveal-text{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .lux-title-line{width:min(180px,45%);opacity:1;transition:none}
}
