/* V16.1 — Apertura cinematográfica + galería premium + nitidez de sesión 1 */

/* Sesión 1: el texto nunca debe heredar el blur del contenedor */
.hero-content.reveal,
.hero-content.reveal.visible,
.hero-content.reveal.is-visible{
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
}
.hero-content{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.hero-content h1,.hero-content p,.hero-content .eyebrow,.hero-content .hero-copy,.hero-content .hero-date,.hero-content .lux-btn,.hero-content .scroll-cue{
  filter:none!important;
  -webkit-filter:none!important;
  text-shadow:none;
}

/* Apertura cinematográfica */
.opening{
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,rgba(3,1,3,.30),rgba(3,1,3,.72)),
    radial-gradient(circle at 50% 35%,rgba(240,213,138,.18),transparent 24%),
    linear-gradient(135deg,#020103 0%,#1b030a 48%,#040103 100%)!important;
}
.opening::after{
  z-index:1!important;
  animation:openingFrameGlow 6s ease-in-out infinite alternate;
}
.opening::before{z-index:2!important}
.opening-glow{
  z-index:0!important;
  width:58vw!important;height:58vw!important;
  background:radial-gradient(circle,rgba(240,213,138,.16),transparent 68%)!important;
  filter:blur(40px)!important;
  animation:openingGlow 7s ease-in-out infinite alternate!important;
}
.opening-flowers{z-index:2!important;opacity:.72;animation:openingFlowers 5s ease-in-out infinite alternate}
.opening-card{
  z-index:5!important;
  width:min(92vw,560px)!important;
  padding:48px 34px 38px!important;
  background:linear-gradient(145deg,rgba(12,3,8,.58),rgba(35,7,15,.25))!important;
  border:1px solid rgba(240,213,138,.24)!important;
  border-radius:28px!important;
  box-shadow:0 40px 120px rgba(0,0,0,.55),inset 0 0 70px rgba(240,213,138,.025)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.opening-card::before{
  content:"";position:absolute;inset:12px;border:1px solid rgba(240,213,138,.12);border-radius:20px;pointer-events:none;
}
.opening-card .mini-crown{animation:crownFloat 3.8s ease-in-out infinite alternate}
.opening-card .eyebrow{animation:openingItemIn .8s .45s both}
.opening-card .opening-name{animation:openingNameIn 1.1s .72s both!important}
.opening-card .opening-xv{animation:openingXVIn 1.25s 1.05s both!important}
.opening-card .opening-rule{animation:openingRuleIn .9s 1.55s both!important}
.opening-card>p:not(.eyebrow){animation:openingCopyIn .85s 1.78s both!important}
.opening-card .lux-btn{animation:openingButtonIn .9s 2.08s both!important}
.opening-card .sound-link{animation:openingButtonIn .75s 2.28s both!important}
.opening.closed .opening-card{animation:openingCardOut .65s cubic-bezier(.7,0,.84,.08) forwards!important}
@keyframes openingGlow{from{transform:translate(-4vw,-2vh) scale(.9);opacity:.55}to{transform:translate(4vw,3vh) scale(1.08);opacity:1}}
@keyframes openingFrameGlow{from{opacity:.35}to{opacity:.8}}
@keyframes openingFlowers{from{transform:scale(.98);opacity:.58}to{transform:scale(1.03);opacity:.78}}
@keyframes crownFloat{to{transform:translateY(-5px) rotate(-1deg)}}
@keyframes openingItemIn{from{opacity:0;transform:translateY(12px);letter-spacing:.45em}to{opacity:1;transform:none;letter-spacing:inherit}}
@keyframes openingNameIn{from{opacity:0;transform:translateY(24px) scale(.94);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes openingXVIn{from{opacity:0;transform:translateY(24px) scale(.90);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes openingRuleIn{from{opacity:0;transform:scaleX(.05)}to{opacity:1;transform:scaleX(1)}}
@keyframes openingCopyIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes openingButtonIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes openingCardOut{to{opacity:0;transform:scale(.985) translateY(-8px);filter:blur(2px)}}

/* Galería premium */
.v16-premium-gallery-bg{
  position:absolute;inset:-8%;z-index:0;pointer-events:none;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  filter:blur(32px) saturate(.75);transform:scale(1.08);opacity:.18;
  transition:background-image .55s ease,opacity .45s ease;
}
.v15-8-lightbox .lightbox-content{width:min(1180px,94vw);max-height:92vh;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:12px;}
.v15-8-lightbox .lightbox-content::before{inset:-24px;border-color:rgba(240,213,138,.22);box-shadow:0 0 70px rgba(240,213,138,.05)}
.v15-8-lightbox .lightbox-figure{margin:0;position:relative;display:grid;place-items:center;min-height:0;z-index:2}
.v15-8-lightbox .lightbox-image{max-width:min(82vw,980px);max-height:74vh;object-fit:contain;background:rgba(0,0,0,.18);border-radius:20px;box-shadow:0 35px 110px rgba(0,0,0,.6),0 0 0 1px rgba(240,213,138,.12)}
.v15-8-lightbox .lightbox-caption{position:static;transform:none;max-width:min(760px,80vw);margin:0 auto;color:#fff8ef;font-size:1.2rem;line-height:1.2;text-shadow:0 3px 20px rgba(0,0,0,.65)}
.v15-8-lightbox .lightbox-counter{top:18px;left:50%;z-index:6;background:rgba(5,2,4,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.v15-8-lightbox .lightbox-close,.v15-8-lightbox .lightbox-prev,.v15-8-lightbox .lightbox-next{z-index:7;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.v15-8-lightbox .lightbox-thumbs{z-index:7;display:flex;gap:8px;justify-content:center;overflow-x:auto;max-width:min(940px,88vw);margin:0 auto;padding:5px 4px 2px;scrollbar-width:thin}
.v15-8-lightbox .lightbox-thumb{width:58px;height:58px;flex:0 0 58px;border-radius:10px;overflow:hidden;border:1px solid rgba(240,213,138,.18);background:rgba(0,0,0,.35);padding:0;opacity:.55;transition:transform .25s ease,opacity .25s ease,border-color .25s ease}
.v15-8-lightbox .lightbox-thumb.active{opacity:1;transform:translateY(-3px);border-color:rgba(240,213,138,.72);box-shadow:0 0 18px rgba(240,213,138,.12)}
.v15-8-lightbox .lightbox-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.v15-8-lightbox .lightbox-prev{left:18px}.v15-8-lightbox .lightbox-next{right:18px}
.v15-8-lightbox .lightbox-progress{position:absolute;left:50%;bottom:74px;transform:translateX(-50%);width:min(360px,45vw);height:2px;background:rgba(255,255,255,.12);z-index:7;border-radius:99px;overflow:hidden}
.v15-8-lightbox .lightbox-progress span{display:block;height:100%;background:linear-gradient(90deg,#7e1020,#f0d58a);box-shadow:0 0 14px rgba(240,213,138,.5);transition:width .35s ease}
@media(max-width:900px){
  .opening-card{padding:42px 22px 30px!important;border-radius:24px!important}
  .v15-8-lightbox{padding:14px!important}
  .v15-8-lightbox .lightbox-content{width:100%;max-height:92vh;gap:9px}
  .v15-8-lightbox .lightbox-image{max-width:88vw;max-height:68vh;border-radius:16px}
  .v15-8-lightbox .lightbox-prev{left:8px}.v15-8-lightbox .lightbox-next{right:8px}
  .v15-8-lightbox .lightbox-prev,.v15-8-lightbox .lightbox-next{width:48px;height:48px}
  .v15-8-lightbox .lightbox-caption{font-size:1.02rem;max-width:78vw}
  .v15-8-lightbox .lightbox-thumb{width:48px;height:48px;flex-basis:48px}
  .v15-8-lightbox .lightbox-progress{bottom:68px;width:55vw}
}
@media(prefers-reduced-motion:reduce){
  .opening-glow,.opening-flowers,.opening-card *,.opening-card,.v15-8-lightbox *{animation:none!important;transition:none!important}
  .opening-card .eyebrow,.opening-card .opening-name,.opening-card .opening-xv,.opening-card .opening-rule,.opening-card>p:not(.eyebrow),.opening-card .lux-btn,.opening-card .sound-link{opacity:1!important;transform:none!important;filter:none!important}
}
.v15-8-lightbox .lightbox-image.is-changing{animation:v16GalleryImageIn .48s cubic-bezier(.16,1,.3,1) both}
@keyframes v16GalleryImageIn{from{opacity:.35;transform:scale(.965)}to{opacity:1;transform:scale(1)}}
/* Fondo cinematográfico de apertura con la fotografía real de Sara */
.opening{
  background:
    linear-gradient(180deg,rgba(2,1,3,.34),rgba(2,1,3,.80)),
    radial-gradient(circle at 50% 36%,rgba(240,213,138,.14),transparent 24%),
    url('../assets/images/luxury/01-hero-portrait.jpg') center 24% / cover no-repeat!important;
}
.opening::after{
  background:linear-gradient(180deg,transparent 0%,rgba(3,1,3,.08) 38%,rgba(3,1,3,.62) 100%)!important;
}
