/* MELIÁ CALA GALDANA · CASINO — interfaz móvil sin librerías externas */
@font-face{font-family:'FontAwesome';src:url('../assets/fontawesome-webfont.ttf') format('truetype');font-style:normal;font-weight:normal;font-display:block}
.fa{font-family:'FontAwesome'!important;font-style:normal;font-weight:normal!important;display:inline-block;text-rendering:auto;-webkit-font-smoothing:antialiased}
/* Font Awesome 4: fuentes y glifos empaquetados (sin CDN, compatible sin Internet).
   La V1 incluía el archivo .ttf, pero faltaban los ::before que dibujan cada icono. */
.fa-star-o::before{content:"\f006"}
.fa-camera::before{content:"\f030"}
.fa-magic::before{content:"\f0d0"}
.fa-gift::before{content:"\f06b"}
.fa-calendar-o::before{content:"\f133"}
.fa-clock-o::before{content:"\f017"}
.fa-camera-retro::before{content:"\f083"}
.fa-music::before{content:"\f001"}
.fa-film::before{content:"\f008"}
.fa-info-circle::before{content:"\f05a"}
.fa-picture-o::before{content:"\f03e"}
.fa-refresh::before{content:"\f021"}
.fa-trophy::before{content:"\f091"}
.fa-television::before{content:"\f26c"}
.fa-times::before{content:"\f00d"}
.fa-chevron-left::before{content:"\f053"}
.fa-chevron-right::before{content:"\f054"}
.fa-external-link::before{content:"\f08e"}

:root{--black:#0a0808;--surface:#110d0e;--surface-2:#1b1213;--border:rgba(226,180,108,.19);--border-bright:rgba(226,180,108,.43);--gold:#e7bc7c;--champagne:#f8deb1;--gold-muted:#a88a66;--ivory:#fbf5ea;--dim:#a69a90;--red:#961d2b;--bottom-nav-height:82px;--serif:'Bodoni MT','Didot','Times New Roman',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Arial,sans-serif}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;background:#080606}body{margin:0;min-width:320px;font-family:var(--sans);font-size:15px;color:var(--ivory);background:radial-gradient(ellipse at 10% 8%,#261012 0,transparent 35%),radial-gradient(ellipse at 90% 80%,#23120b 0,transparent 35%),#080606;-webkit-font-smoothing:antialiased}body.is-lightbox-open{overflow:hidden}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{display:block;max-width:100%}em{font-weight:normal;font-style:italic;color:var(--champagne)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.ambient{position:fixed;pointer-events:none;filter:blur(110px);z-index:0;opacity:.5}.ambient--one{width:390px;height:390px;background:rgba(129,23,38,.25);top:-50px;left:3vw}.ambient--two{width:390px;height:390px;background:rgba(183,115,42,.15);bottom:-40px;right:3vw}
.app-shell{position:relative;z-index:1;max-width:490px;min-height:100vh;min-height:100dvh;margin:auto;overflow:clip;background:linear-gradient(145deg,#100b0c 0%,#0b090a 45%,#0d090a 100%);box-shadow:0 0 100px rgba(0,0,0,.65)}.app-shell::before{content:'';position:absolute;z-index:0;inset:0;pointer-events:none;background-image:radial-gradient(rgba(226,179,104,.11) .6px,transparent .8px);background-size:9px 9px;opacity:.095}.app-header{height:111px;padding:8px 23px 8px 27px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:rgba(14,10,11,.94);backdrop-filter:blur(23px);-webkit-backdrop-filter:blur(23px);border-bottom:1px solid var(--border)}.brand-lockup{display:flex;align-items:center;min-width:0}.brand-logo{display:block;width:95px;max-width:100%;height:auto;object-fit:contain}.header-date{width:48px;height:48px;border:1px solid var(--border-bright);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.02;flex-shrink:0;background:linear-gradient(150deg,rgba(232,189,114,.10),transparent)}.date-top{font-family:var(--serif);font-size:23px;color:var(--champagne)}.date-bottom{font-size:8px;letter-spacing:.18em;color:var(--gold)}
main{position:relative;min-height:calc(100dvh - 111px);padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 46px)}.page{padding:26px 23px 0;animation:page-enter .26s ease both}.page:not(.is-active){display:none}@keyframes page-enter{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.intro-heading{text-align:center;margin:6px 0 25px}.kicker{display:flex;justify-content:center;align-items:center;gap:10px;white-space:nowrap;font-size:9px;letter-spacing:.25em;font-weight:650;color:var(--gold)}.kicker-line{width:29px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-muted))}.kicker-line:last-child{transform:scaleX(-1)}h1,h2,h3,p,figure{margin-top:0}.intro-heading h1,.page-heading h1{font-family:var(--serif);font-size:clamp(37px,10.7vw,56px);line-height:.98;letter-spacing:-.027em;font-weight:400;margin:15px 0 13px;text-wrap:balance}.intro-heading h1 em,.page-heading h1 em{display:block}.intro-heading h1{font-size:clamp(34px,9.7vw,52px);letter-spacing:.005em;text-transform:uppercase}.intro-heading h1 em{font-style:normal;letter-spacing:.027em}.intro-copy{max-width:310px;margin:0 auto;font-size:12px;line-height:1.7;color:var(--dim)}
.poster-frame{margin:0;position:relative;border:1px solid rgba(235,182,105,.6);padding:5px;background:#1c0d0b;box-shadow:0 16px 50px rgba(0,0,0,.33),0 0 34px rgba(148,66,17,.09)}.poster-frame::before,.poster-frame::after{content:'✦';position:absolute;z-index:2;color:var(--gold);font-size:15px;background:#140b0a;padding:0 5px;line-height:1}.poster-frame::before{top:-7px;left:11px}.poster-frame::after{right:11px;bottom:-7px}.poster-image{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
.event-facts{margin:17px 0 0;padding:18px 15px 19px;display:flex;align-items:stretch;justify-content:space-around;gap:8px;background:linear-gradient(135deg,rgba(191,139,74,.10),rgba(113,21,32,.12));border:1px solid var(--border);border-radius:3px}.event-fact{display:flex;align-items:center;gap:9px;min-width:0}.event-fact>.fa{color:var(--gold);font-size:16px;flex-shrink:0}.fact-label{display:block;font-size:8px;font-weight:750;letter-spacing:.17em;color:var(--gold-muted);margin-bottom:6px}.event-fact strong{display:block;font-size:11px;letter-spacing:-.03em;line-height:1.1;font-weight:570;white-space:nowrap}.fact-separator{width:1px;background:var(--border);flex-shrink:0}
.content-section{margin-top:42px}.section-overline{color:var(--gold);font-size:10px;letter-spacing:.22em;font-weight:650}.section-title{font-family:var(--serif);font-weight:400;font-size:43px;line-height:1.05;margin:9px 0 10px}.section-description{font-size:13px;color:var(--dim);line-height:1.65;margin-bottom:23px}.agenda-list{border-top:1px solid var(--border)}.agenda-item{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--border)}.agenda-symbol{height:40px;width:40px;flex:0 0 40px;display:grid;place-items:center;background:radial-gradient(circle at 33% 15%,rgba(239,204,142,.13),rgba(236,198,133,.035));border:1px solid var(--border);border-radius:50%;color:var(--gold);font-size:17px}.agenda-text{min-width:0;flex:1}.agenda-text strong{display:block;font-size:13px;font-weight:620;color:#f7efe5}.agenda-text span{display:block;color:var(--dim);font-size:11px;line-height:1.5;margin-top:5px}.agenda-mark{align-self:center;font-family:var(--serif);font-size:18px;color:#806d5d}.programme-note{font-size:10px;line-height:1.7;color:#9c8f81;margin-top:15px}.programme-note .fa{color:var(--gold-muted);margin-right:4px}
.welcome-card{margin-top:38px;border:1px solid var(--border);padding:19px 14px 17px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#38251a,transparent 72%),linear-gradient(180deg,#181113,#110d0d)}.welcome-card::after{content:'';position:absolute;inset:5px;border:1px solid rgba(245,192,116,.09);pointer-events:none}.welcome-card-glow{position:absolute;inset:25% 12%;background:rgba(224,154,68,.21);filter:blur(65px)}.welcome-card img{position:relative;width:100%;max-height:255px;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.45))}.welcome-card p{text-align:center;color:var(--gold);letter-spacing:.36em;font-size:9px;margin:8px 0 0}.closing-line{text-align:center;color:#867260;letter-spacing:.19em;font-size:9px;margin:30px 0 0}.closing-line span{color:var(--gold);padding:0 4px}
.page-heading{margin:7px 0 25px}.page-heading h1{margin:14px 0 14px;font-size:clamp(48px,14vw,68px)}.page-heading p{color:#bcb0a5;font-size:13px;line-height:1.75;max-width:345px;margin:0}.showcase{height:226px;position:relative;overflow:hidden;border:1px solid var(--border-bright);isolation:isolate;display:flex;align-items:flex-end;padding:23px 23px 24px}.showcase::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1}.showcase::after{content:'';position:absolute;inset:5px;border:1px solid rgba(242,202,136,.18);pointer-events:none}.showcase--red{background:radial-gradient(ellipse at 83% 7%,rgba(171,62,45,.34),transparent 48%),linear-gradient(125deg,#26090f 0%,#591623 54%,#1a0b10 100%)}.showcase--red::before{background:repeating-linear-gradient(98deg,transparent 0 30px,rgba(18,0,3,.15) 33px,rgba(255,194,168,.035) 38px,transparent 48px);mix-blend-mode:screen}.showcase-lights{position:absolute;inset:0;opacity:.55;background:radial-gradient(circle at 15% 15%,#f8c77f 0 2px,transparent 4px),radial-gradient(circle at 34% 9%,#f8c77f 0 2px,transparent 5px),radial-gradient(circle at 60% 13%,#f8c77f 0 2px,transparent 5px),radial-gradient(circle at 85% 7%,#f8c77f 0 2px,transparent 6px)}.showcase-symbol{position:absolute;top:36px;right:39px;font-size:91px;color:rgba(245,192,126,.12);transform:rotate(-12deg)}.showcase-copy{position:relative;z-index:1}.showcase-copy span{display:block;font-size:9px;font-weight:650;letter-spacing:.24em;color:var(--champagne);margin-bottom:10px}.showcase-copy strong{font-family:var(--serif);font-size:33px;line-height:1.03;font-weight:400}.showcase--mirror{background:radial-gradient(ellipse at 69% 35%,rgba(226,168,91,.15),transparent 47%),linear-gradient(130deg,#241b1c,#121016 65%,#3b2830)}.showcase--mirror::before{background:linear-gradient(105deg,transparent 50%,rgba(237,187,117,.09) 62%,transparent 68%)}.mirror-arch{position:absolute;right:20px;top:18px;width:138px;height:170px;border:5px solid #c8a16f;border-radius:80px 80px 12px 12px;box-shadow:0 0 0 2px #463122,inset 0 0 0 2px #463122,0 0 28px rgba(230,181,110,.1);padding:6px;transform:rotate(8deg)}.mirror-inner{width:100%;height:100%;border:1px solid #9a795f;border-radius:70px 70px 5px 5px;background:linear-gradient(135deg,rgba(196,176,186,.24),rgba(20,19,25,.2) 43%,rgba(240,210,176,.20));display:grid;place-items:center}.mirror-inner .fa{font-size:36px;color:rgba(250,217,163,.58)}.showcase--raffle{background:radial-gradient(circle at 71% 35%,rgba(216,157,73,.2),transparent 50%),linear-gradient(140deg,#31130e,#180e12 65%,#4c2417)}.raffle-rays{position:absolute;right:-40px;top:-75px;width:300px;height:300px;background:repeating-conic-gradient(from 0deg,rgba(232,179,95,.09) 0deg 3deg,transparent 3deg 15deg);border-radius:50%;mask-image:radial-gradient(circle,transparent 0 25%,black 33%)}.raffle-medallion{position:absolute;top:26px;right:35px;width:121px;height:121px;display:grid;place-items:center;border:2px solid rgba(233,189,117,.55);box-shadow:0 0 0 8px rgba(233,189,117,.09),inset 0 0 0 6px rgba(233,189,117,.065);border-radius:50%;transform:rotate(12deg)}.raffle-medallion .fa{font-size:55px;color:#e6bd81;text-shadow:0 0 29px rgba(225,150,76,.3)}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;margin:29px 0 21px}.gallery-toolbar h2{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1;margin:0 0 7px}.gallery-count{font-size:11px;color:#9c8e83}.status-pill{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;margin-top:4px;padding:8px 9px;border:1px solid var(--border);border-radius:20px;background:rgba(175,114,63,.065);font-size:8px;letter-spacing:.08em;color:var(--gold-muted);font-weight:720}.status-dot{width:6px;height:6px;border-radius:50%;background:#a88a66;display:inline-block}.status-pill.is-live{border-color:rgba(177,197,150,.35);color:#cadcaa}.status-pill.is-live .status-dot{background:#99c66e;box-shadow:0 0 0 3px rgba(147,190,112,.12)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.photo-tile{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--border);padding:0;background:#24151a;cursor:pointer;position:relative;border-radius:2px}.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.photo-tile:hover img{transform:scale(1.04)}.photo-tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.empty-state{min-height:282px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:31px 24px;border:1px dashed rgba(227,180,112,.24);background:radial-gradient(ellipse at 50% 0%,rgba(210,147,65,.12),transparent 72%),linear-gradient(135deg,rgba(255,255,255,.015),rgba(120,54,39,.035));border-radius:3px}.empty-icon{height:63px;width:63px;border:1px solid rgba(229,186,123,.35);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:23px;margin-bottom:19px;background:rgba(225,173,96,.07)}.empty-state h3{font-family:var(--serif);font-size:24px;line-height:1.12;font-weight:400;margin:0 0 10px}.empty-state p{font-size:12px;line-height:1.7;max-width:255px;color:var(--dim);margin:0 auto}.empty-decoration{color:var(--gold-muted);font-size:8px;letter-spacing:.3em;margin-top:23px}.privacy-note{display:flex;align-items:baseline;gap:8px;color:#897a70;font-size:10px;line-height:1.65;margin-top:17px}.privacy-note .fa{color:var(--gold-muted)}.prize-list{display:flex;flex-direction:column;gap:10px}.prize-item{border:1px solid var(--border);padding:15px 13px;display:flex;gap:13px;align-items:center;background:linear-gradient(110deg,rgba(207,158,96,.095),rgba(77,26,26,.09))}.prize-number{flex:0 0 42px;height:42px;border:1px solid var(--border-bright);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:22px;color:var(--champagne)}.prize-body{flex:1;min-width:0}.prize-body h3{font-size:14px;line-height:1.35;font-weight:650;margin:0}.prize-body p{font-size:11px;color:var(--dim);margin:6px 0 0;line-height:1.5}.prize-item>.fa{color:var(--gold-muted);font-size:19px}.winner{font-size:10px;line-height:1.5;letter-spacing:.045em;color:var(--gold);margin-top:9px;font-weight:650}.prize-image{width:46px;height:46px;object-fit:cover;border-radius:2px}
.bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,490px);min-height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding:7px 7px max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;border-top:1px solid rgba(219,164,91,.3);background:linear-gradient(180deg,rgba(32,21,22,.98),rgba(16,11,13,.99));box-shadow:0 -13px 45px rgba(0,0,0,.57);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.bottom-nav::before{content:'';position:absolute;height:1px;top:0;left:12%;right:12%;background:linear-gradient(90deg,transparent,rgba(238,194,126,.45),transparent)}.nav-item{position:relative;min-height:63px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-decoration:none;color:#95867c;border-radius:6px;transition:color .2s,background .2s}.nav-item:active{background:rgba(231,181,114,.08)}.nav-icon-wrap{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:19px}.nav-item.is-selected{color:var(--champagne)}.nav-item.is-selected .nav-icon-wrap{color:var(--gold);text-shadow:0 0 22px rgba(234,178,101,.5)}.nav-item.is-selected::before{content:'';position:absolute;top:-7px;left:calc(50% - 12px);width:24px;height:2px;background:var(--gold);box-shadow:0 0 13px var(--gold)}.nav-label{font-size:9px;line-height:1.15;letter-spacing:.04em;font-weight:690;text-align:center;white-space:nowrap}.nav-item:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.lightbox{position:fixed;margin:0;inset:0;width:100%;max-width:none;max-height:none;height:100%;padding:0;border:0;background:rgba(5,4,5,.98);color:#fff}.lightbox::backdrop{background:rgba(0,0,0,.98)}.lightbox-inner{height:100%;display:flex;flex-direction:column}.lightbox-top{height:70px;display:flex;align-items:center;justify-content:space-between;padding:15px max(16px,env(safe-area-inset-right));color:var(--gold);font-size:12px;letter-spacing:.15em}.icon-button{cursor:pointer;display:grid;place-items:center;color:#f4e1c7;border:1px solid var(--border);background:rgba(255,255,255,.08);border-radius:50%;width:38px;height:38px}.lightbox-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative}.lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.lightbox-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);background:rgba(24,15,17,.72);border-color:rgba(225,182,112,.45)}.lightbox-arrow.previous{left:12px}.lightbox-arrow.next{right:12px}.lightbox-bottom{min-height:83px;display:flex;align-items:center;gap:15px;justify-content:space-between;padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom))}.lightbox-bottom>span{font-size:12px;color:#e6dad0;flex:1}.download-button{text-decoration:none;font-size:10px;white-space:nowrap;letter-spacing:.09em;border:1px solid var(--border-bright);padding:12px 13px;color:var(--gold);border-radius:2px}.download-button .fa{margin-right:4px}
@media(min-width:600px){.app-shell{border-left:1px solid rgba(223,176,110,.12);border-right:1px solid rgba(223,176,110,.12)}.page{padding-left:28px;padding-right:28px}.app-header{padding-left:31px;padding-right:28px}}@media(max-width:365px){.page{padding-left:16px;padding-right:16px}.app-header{padding-left:19px;padding-right:19px}.intro-heading h1{font-size:37px}.event-fact{gap:6px}.event-fact strong{font-size:10px}.event-fact>.fa{font-size:13px}.nav-label{font-size:8px}.bottom-nav{padding-left:3px;padding-right:3px}.status-pill{font-size:7px;padding:8px 6px}.showcase{padding-left:18px}.showcase-copy strong{font-size:29px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* V3 — Programa de La Velada: horarios y textos facilitados por la organización. */
.intro-copy{color:var(--champagne);letter-spacing:.12em;font-size:10px;font-weight:600}
#view-velada .content-section{margin-top:38px}
#view-velada .section-title{margin-bottom:25px}
#view-velada .agenda-list{position:relative;border-top:1px solid var(--border)}
#view-velada .agenda-item{position:relative;align-items:flex-start;gap:15px;padding:23px 0 23px 0}
#view-velada .agenda-symbol{position:relative;z-index:1;width:42px;height:42px;flex-basis:42px;font-size:17px;box-shadow:0 0 0 5px #0d090a}
#view-velada .agenda-item:not(:last-child)::before{content:'';position:absolute;top:58px;bottom:-7px;left:20px;width:1px;background:linear-gradient(var(--border-bright),var(--border))}
#view-velada .agenda-text{padding-top:0}
#view-velada .agenda-time{display:block;color:var(--gold);font-family:var(--serif);font-size:21px;line-height:1.05;font-weight:400;letter-spacing:.015em;margin:0 0 10px}
#view-velada .agenda-text strong{font-size:13px;font-weight:680;letter-spacing:.045em;line-height:1.4;color:var(--ivory)}
#view-velada .agenda-text>span:last-child{font-size:12px;line-height:1.65;margin-top:7px;color:#b8a99f}
.closing-message{margin:32px 0 0;padding:29px 10px 7px;text-align:center;border-top:1px solid var(--border);display:flex;align-items:center;flex-direction:column;gap:12px}
.closing-message .closing-ornament{color:var(--gold);font-size:18px;line-height:1}
.closing-message p{font-family:var(--serif);font-size:clamp(15px,4.5vw,20px);line-height:1.35;letter-spacing:.09em;font-weight:400;color:var(--champagne);margin:0;max-width:360px}
.closing-message strong{font-size:10px;letter-spacing:.19em;color:var(--gold);font-weight:630}
