/* Dirección visual específica de Navidad 2026. */
:root{--navidad-green:#173b2c;--navidad-green-deep:#0d271c;--navidad-burgundy:#6e1f35;--navidad-red:#b6324a;--navidad-gold:#d6ae5e;--navidad-night:#202b4a;--navidad-ivory:#fffdf8;--navidad-paper:#f8f6f1;--ink:#20252b;--paper:var(--navidad-paper);--ivory:var(--navidad-ivory);--dark:var(--navidad-green-deep);--taupe:#7a3a4c;--champagne:var(--navidad-gold);--line:rgba(36,49,80,.17)}
body{background:var(--navidad-paper)}
.section-dark{background:var(--navidad-green-deep)}
.section-paper{background:var(--navidad-paper)}
.section-ivory{background:var(--navidad-ivory)}
.hero{background:var(--navidad-green)}
.hero h1{max-width:900px}
.hero-note{letter-spacing:.04em}
.gallery-scroll-section{background:var(--navidad-ivory)}
.gallery-scroll-section .gallery-slide{background:var(--navidad-green-deep)}
.story-scroll{background:var(--navidad-green-deep);color:#fffaf1}
.story-scroll .eyebrow,.section-dark .eyebrow{color:var(--navidad-gold)}
.button-dark{background:var(--navidad-burgundy)}
.button-dark:hover{background:var(--navidad-red)}
.button-light{background:var(--navidad-ivory);color:var(--navidad-green-deep)}
.brand span,.button span,.text-link span{color:var(--navidad-gold)}
.site-header.is-solid{background:rgba(20,41,31,.94)}
.site-header.is-solid:after{content:'✦  ·  ✧  ·  ✦';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--navidad-gold);font-size:13px;letter-spacing:.32em;opacity:.9;pointer-events:none}
.packs .pack.featured{box-shadow:0 22px 60px rgba(90,32,39,.16);border-color:var(--navidad-burgundy)}
.packs .pack.featured .most{background:var(--navidad-ivory);color:var(--navidad-burgundy);font-weight:800;border-bottom:2px solid var(--navidad-gold)}
.packs .pack.featured .price{color:var(--navidad-gold);text-shadow:0 0 18px rgba(214,174,94,.18)}
.packs .pack.featured .pack-name{color:#fff}
.limit-block{background:#f2e7ef}
.limit-dots i.available{background:var(--navidad-burgundy)}
.final-cta{background:var(--navidad-burgundy)}
.special-gallery-section{background:#f0edf7}
.special-gallery-section .eyebrow{color:var(--navidad-burgundy)}
.video-section{background:var(--navidad-night);color:#fffaf1}
.video-section .video-head>p:last-child{color:#d8cdbb}
.faq{background:var(--navidad-ivory)}

/* Cómo funciona: recorrido editorial con nodos y conectores, no una tabla rígida. */
.master-steps{background:var(--navidad-night);color:#fffdf8;overflow:hidden}
.master-steps .eyebrow{color:var(--navidad-gold)}
.master-steps-head>p{color:#d5d9e5}
.master-step-grid{position:relative;gap:22px;border-top:0;background:transparent}
.master-step-grid:before{content:'';position:absolute;top:26px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--navidad-gold),transparent);opacity:.75}
.master-step{position:relative;z-index:1;min-height:270px;padding:0 24px 0 0;border:0}
.master-step>span{width:54px;height:54px;border:1px solid var(--navidad-gold);background:var(--navidad-night);color:var(--navidad-gold);font-weight:700;font-size:12px}
.master-step h3{color:#fffdf8;margin:28px 0 12px}
.master-step p{color:#d5d9e5}
@media(max-width:800px){.site-header.is-solid:after{left:auto;right:72px;transform:translateY(-50%);font-size:11px;letter-spacing:.2em}.master-step-grid{gap:0}.master-step-grid:before{top:27px;bottom:27px;left:27px;right:auto;width:1px;height:auto;background:linear-gradient(180deg,var(--navidad-gold),transparent)}.master-step{min-height:0;padding:0 0 34px 80px}.master-step>span{position:absolute;left:0;top:0}.master-step h3{margin:0 0 8px}}
.special-gallery-item{aspect-ratio:4/5}
.story-card[data-lightbox-src]{cursor:zoom-in}
.story-card:focus-visible,.special-gallery-item:focus-visible{outline:2px solid var(--navidad-gold);outline-offset:-5px}
.video-poster-copy strong{font:400 clamp(2rem,4vw,4rem)/1 var(--serif);max-width:620px}
.special-gallery-item span:before{content:'✦';color:var(--navidad-gold);margin-right:8px}
.packs .pack:not(.featured){background:var(--navidad-ivory);border-color:rgba(36,49,80,.14)}
.packs .pack:not(.featured) .pack-name{color:var(--navidad-green-deep)}
.packs .pack.featured{padding-top:78px}
.packs .pack.featured .most{z-index:2;white-space:nowrap}
.packs .pack.featured .deposit{color:#fffdf8;font-weight:700;line-height:1.45;max-width:280px}
.packs .pack .deposit:after{content:'No Bizum ni tarjeta';display:block;color:var(--navidad-gold);font-size:11px;letter-spacing:.04em;text-transform:uppercase;margin-top:5px}
@media(max-width:800px){.packs .pack.featured{padding-top:76px}}

/* Storytelling editorial: imagen completa primero, copy después, composición alterna. */
#historia.gallery-scroll-section{background:var(--navidad-green-deep);color:#fffdf8;padding-bottom:0}
#historia .gallery-head{background:var(--navidad-green-deep);color:#fffdf8}
#historia .gallery-head .eyebrow{color:var(--navidad-gold)}
#historia .gallery-intro{color:#d5d9e5}
#historia .gallery-scroll{margin-top:0}
#historia .gallery-stage{background:var(--navidad-green-deep);perspective:none}
#historia .gallery-slide{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,90px);padding:8vh 7vw}
#historia .gallery-slide .slide-image{position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;height:72vh;min-height:520px;background-size:contain;background-repeat:no-repeat;background-position:center;box-shadow:none;filter:none}
#historia .gallery-slide .slide-meta{grid-column:2;grid-row:1;align-self:center;padding:0;max-width:470px;opacity:0;transform:translateX(34px);transition:opacity .35s ease,transform .55s ease}
#historia .gallery-slide .slide-meta h3{font-size:clamp(2.5rem,5vw,5.8rem);line-height:.94;color:#fffdf8}
#historia .gallery-slide .slide-meta p{color:#d5d9e5;font-size:clamp(16px,1.4vw,20px)}
#historia .gallery-slide:nth-child(even) .slide-image{grid-column:2}
#historia .gallery-slide:nth-child(even) .slide-meta{grid-column:1;grid-row:1;transform:translateX(-34px)}
#historia .gallery-slide.is-active .slide-meta{transform:translateX(calc((1 - var(--story-text-progress, 0)) * 34px));}
#historia .gallery-slide:nth-child(even).is-active .slide-meta{transform:translateX(calc((var(--story-text-progress, 0) - 1) * 34px))}
#historia .gallery-progress{left:7vw;right:7vw}
@media(max-width:800px){#historia .gallery-slide{display:block;padding:0 20px}#historia .gallery-slide .slide-image{height:54vh;min-height:0;margin-top:3vh;background-size:contain}#historia .gallery-slide .slide-meta,#historia .gallery-slide:nth-child(even) .slide-meta{position:absolute;left:24px;right:24px;bottom:10vh;grid-column:auto;grid-row:auto;padding:22px 0 50px;transform:translateY(24px);background:linear-gradient(transparent,var(--navidad-green-deep) 22%);max-width:none}#historia .gallery-slide.is-active .slide-meta,#historia .gallery-slide:nth-child(even).is-active .slide-meta{transform:translateY(calc((1 - var(--story-text-progress, 0)) * 24px))}#historia .gallery-slide .slide-meta h3{font-size:clamp(2.5rem,11vw,4.4rem)}#historia .gallery-slide .slide-meta p{font-size:16px}}

/* Incluso con reduced motion activo, la narrativa conserva el cambio de escenas. */
html.navidad-motion.reduced-motion #historia .gallery-scroll{height:500vh!important;margin-top:5vw}
html.navidad-motion.reduced-motion #historia .gallery-stage{position:sticky;height:100svh;min-height:620px;display:block;overflow:hidden;background:var(--navidad-green-deep)}
html.navidad-motion.reduced-motion #historia .gallery-slide{position:absolute;inset:0;display:grid;min-height:0;opacity:0!important;transition:opacity .45s ease!important;background:transparent}
html.navidad-motion.reduced-motion #historia .gallery-slide.is-active{opacity:1!important}
html.navidad-motion.reduced-motion #historia .gallery-slide .slide-image{position:absolute;inset:7% 18% 7% 7%;background-size:cover!important;background-position:center;box-shadow:0 30px 70px #0008}
html.navidad-motion.reduced-motion #historia .gallery-slide .slide-meta{position:relative;left:auto;right:auto;bottom:auto;min-height:0;padding:0 8vw 12vh 3vw;background:none;max-width:530px;opacity:1;transform:none}
@media(max-width:800px){html.navidad-motion.reduced-motion #historia .gallery-scroll{height:480vh!important;margin:36px -20px 0}html.navidad-motion.reduced-motion #historia .gallery-stage{height:100svh;min-height:0}html.navidad-motion.reduced-motion #historia .gallery-slide{display:block}html.navidad-motion.reduced-motion #historia .gallery-slide .slide-image{inset:0 0 28% 0;background-size:contain!important;background-repeat:no-repeat}html.navidad-motion.reduced-motion #historia .gallery-slide .slide-meta{position:absolute;left:0;right:0;bottom:0;min-height:28%;padding:22px 24px 70px;background:linear-gradient(transparent,#0d271cf4 22%);max-width:none}}
.booking{scroll-margin-top:110px}
@media(max-width:800px){.hero h1{font-size:clamp(42px,12vw,70px)}.hero-lead{font-size:20px}.gallery-scroll-section .gallery-head{padding-inline:20px}.packs .pack.featured{transform:none}}

.video-section{padding:clamp(82px,10vw,140px) 0}.video-head{max-width:760px;margin-bottom:42px}.video-head h2{margin:10px 0 16px}.video-head>p:last-child{max-width:640px;color:var(--taupe)}.video-frame-wrap{max-width:1180px}.video-frame{position:relative;aspect-ratio:16/9;background:#171817;overflow:hidden}.video-frame iframe{width:100%;height:100%;border:0;display:block}.video-poster{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.video-poster-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}.video-poster-copy{position:relative;z-index:1;display:grid;gap:12px;text-align:center;color:#fff;padding:32px}.video-poster-copy small{color:#d9cdbf}.video-play{display:grid;place-items:center;width:64px;height:64px;border:1px solid #fff8;border-radius:50%;margin:auto;font-size:18px}.video-cta{text-align:center;margin-top:28px}.special-gallery-section{padding:clamp(82px,10vw,140px) 0}.special-gallery-head{max-width:760px;margin-bottom:42px}.special-gallery-head h2{margin:10px 0 16px}.special-gallery-head>p:last-child{color:var(--taupe)}.special-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.special-gallery-item{position:relative;padding:0;border:0;background:#25231f;overflow:hidden;cursor:zoom-in;aspect-ratio:3/2;text-align:left}.special-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.special-gallery-item:hover img{transform:scale(1.035)}.special-gallery-item span{position:absolute;left:18px;bottom:16px;color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 12px #000}.lightbox{position:fixed;inset:0;z-index:100;background:#0c0b0bee;display:grid;place-items:center;padding:5vw}.lightbox[hidden]{display:none}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;top:20px;right:24px;color:#fff;background:none;border:0;font-size:42px;cursor:pointer}@media(max-width:800px){.video-frame{aspect-ratio:4/5}.special-gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.special-gallery-item{aspect-ratio:4/5}.special-gallery-item span{left:10px;bottom:10px;font-size:10px}}
.video-section.video-vertical .video-frame-wrap{max-width:560px}.video-section.video-vertical .video-frame{aspect-ratio:9/16}.video-section.video-vertical .makingof-video{display:block;width:100%;height:100%;object-fit:contain;background:#111916}
#pelicula-galeria .special-gallery-item>span,
#galeria .story-card figcaption{display:none}
