:root{color-scheme:dark;--bg:#0b080c;--bg2:#130b11;--surface:#1d1119;--surface2:#25161e;--border:#49313a;--text:#f8f1eb;--muted:#bdadb4;--gold:#f4cd85;--gold2:#c28a3b;--berry:#d52b65;--berry2:#892346;--green:#a7eac5;--r:20px;--shadow:0 24px 70px #0008}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}img{max-width:100%}::selection{background:#b82b60;color:white}#app{min-height:100vh}.container{width:min(1160px,calc(100% - 40px));margin:auto}.small{font-size:.86rem}.micro{font-size:.72rem}.muted{color:var(--muted)}.gold{color:var(--gold)}.rose{color:#fc7da8}.eyebrow{color:var(--gold);font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.23em}.section{padding:93px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section h2{font:800 clamp(1.9rem,4vw,3.2rem)/1.1 Outfit,sans-serif;letter-spacing:-.04em;margin:12px 0 14px}.section p{color:var(--muted)}.line{height:1px;background:linear-gradient(90deg,transparent,#68414b,transparent)}.btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;padding:12px 19px;font-weight:800;font-size:.93rem;background:transparent;color:var(--text);transition:transform .2s,background .2s,border-color .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn:focus-visible,.nav-link:focus-visible,.side-link:focus-visible{outline:3px solid #e4b767;outline-offset:3px}.btn-primary{background:linear-gradient(125deg,#f7d491,#c6924a);color:#201010;box-shadow:0 10px 30px #b7854440}.btn-secondary{background:#251820;border-color:#67434b}.btn-ghost{border-color:#5b3941}.btn-danger{color:#ffacc7;border-color:#8b445d}.btn-mini{padding:8px 12px;border-radius:9px;font-size:.78rem}.pill{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid #825b53;background:#332025;color:var(--gold);font-size:.73rem;font-weight:800;border-radius:100px}.dot{display:inline-block;width:7px;height:7px;border-radius:100px;background:#efbb6a}.site-header{height:78px;display:flex;align-items:center;position:sticky;top:0;z-index:20;background:#0c080ce8;backdrop-filter:blur(20px);border-bottom:1px solid #39232b}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:9px;font:900 1.22rem Outfit,sans-serif;letter-spacing:-.045em}.brand-symbol{display:grid;place-items:center;width:36px;height:36px;border:1px solid #bb8457;border-radius:11px;background:linear-gradient(145deg,#38121f,#180e13);font-size:1.5rem}.brand em{font-style:normal;color:var(--gold)}.main-nav{display:flex;gap:28px;align-items:center}.nav-link{font-size:.87rem;color:#cabcc2;font-weight:700}.nav-link:hover{color:var(--gold)}.nav-actions{display:flex;gap:9px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;min-height:620px;background:radial-gradient(ellipse 800px 550px at 78% 53%,#5c132c50,transparent 75%),radial-gradient(ellipse 600px 420px at 20% 76%,#58351a2e,transparent 75%),#0b080c}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 97%,#301a2150 98%),linear-gradient(90deg,transparent 97%,#301a2150 98%);background-size:60px 60px;mask-image:linear-gradient(transparent,#0006);pointer-events:none}.hero-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;min-height:620px;padding:50px 0 66px}.hero-copy{position:relative;z-index:1}.hero h1{font:900 clamp(3.3rem,6.2vw,6.2rem)/.97 Outfit,sans-serif;letter-spacing:-.075em;margin:20px 0 23px}.hero h1 span{display:block;background:linear-gradient(120deg,#fff2d6,#efbd72 55%,#d88a53);background-clip:text;color:transparent}.hero-copy>p{font-size:1.09rem;max-width:500px;color:#d9c6ce;line-height:1.7}.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-stats{display:flex;gap:27px;margin-top:48px}.hero-stat{border-left:2px solid #916348;padding-left:13px}.hero-stat strong{display:block;font:800 1.25rem Outfit}.hero-stat span{color:#9d888e;font-size:.78rem}.hero-art{position:relative;min-height:450px;display:flex;align-items:center;justify-content:center}.hero-art:before{content:"";position:absolute;inset:10% 0;border-radius:50%;background:#ac174520;filter:blur(58px)}.hero-emblem{position:relative;width:min(100%,550px);aspect-ratio:1/1;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 10px 50px #af3b3138)}.floating-tag{position:absolute;background:#27151ed9;border:1px solid #80535b;border-radius:13px;padding:12px 16px;backdrop-filter:blur(10px);box-shadow:var(--shadow);font-size:.79rem}.floating-tag b{display:block;color:var(--gold);font-size:1rem}.floating-tag.a{top:12%;right:-2%}.floating-tag.b{left:-5%;bottom:13%}.announce{background:linear-gradient(90deg,#411322,#28111b,#411322);border-block:1px solid #6b3b42;text-align:center;padding:17px 20px;font-size:.9rem;font-weight:700}.announce span{color:var(--gold)}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.feature,.event-card,.reward-card,.faq-card,.pane,.metric,.stat-box{border:1px solid var(--border);border-radius:var(--r);background:linear-gradient(155deg,#24151c,#160e14);box-shadow:0 10px 30px #0002}.feature{padding:28px;min-height:242px}.feature-icon{display:grid;place-items:center;width:52px;height:52px;background:#41232e;border:1px solid #694250;border-radius:15px;font-size:1.35rem}.feature h3,.event-card h3,.reward-card h3{font:800 1.23rem Outfit;margin:23px 0 8px}.feature p{font-size:.9rem;line-height:1.65}.event-card{padding:23px;min-height:250px;position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;right:-45px;top:-48px;width:160px;height:160px;background:radial-gradient(circle,#a83d5d33,transparent 70%)}.event-card h3{margin:25px 0 8px}.event-top{display:flex;justify-content:space-between;align-items:center}.event-num{font:900 3rem Outfit;color:#ffffff1b;letter-spacing:-.08em}.event-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.77rem;color:#beaab2}.event-meta>span{border:1px solid #5c3848;padding:5px 10px;border-radius:100px}.event-card p{font-size:.89rem;line-height:1.55}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.big-benefit{padding:42px;background:radial-gradient(circle at 100% 0%,#934b2140,transparent 45%),linear-gradient(130deg,#33211e,#191117);border:1px solid #80543b;border-radius:25px}.big-benefit .card-gold{width:180px;height:110px;border:1px solid #e7bd79;border-radius:14px;display:flex;flex-direction:column;justify-content:space-between;padding:15px;background:linear-gradient(135deg,#6e3e19,#e9c77e,#6b3c19);color:#241107;box-shadow:0 20px 40px #0008;transform:rotate(-7deg);margin:18px 0 28px}.big-benefit h3{font:800 2.1rem Outfit;margin:0}.list-benefits{display:grid;gap:12px}.benefit-item{padding:22px 24px;background:#1c1219;border:1px solid var(--border);border-radius:17px;display:flex;align-items:flex-start;gap:16px}.benefit-item strong{font-size:1rem}.benefit-item p{font-size:.85rem;margin:6px 0 0}.round-icon{display:grid;place-items:center;border-radius:100px;min-width:43px;height:43px;background:#42242e;color:#f3c684}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.faq-card{padding:22px}.faq-card h3{margin:0 0 9px;font-size:.99rem}.faq-card p{margin:0;font-size:.85rem}.cta-banner{padding:48px;border-radius:26px;border:1px solid #9d6f47;background:radial-gradient(circle at 85% 30%,#ae604b35,transparent 36%),linear-gradient(115deg,#3a1823,#1d1116);display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-banner h2{font:900 clamp(2rem,4vw,3rem) Outfit;margin:7px 0}.footer{border-top:1px solid #39232b;padding:40px 0;background:#09070a}.footer-flex{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer p{font-size:.8rem;color:#9d8a93}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;color:#d9c2c9}.spinner{width:36px;height:36px;border:3px solid #58313c;border-top-color:#f1bf72;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;right:25px;bottom:25px;background:#33202a;border:1px solid #9e6471;box-shadow:var(--shadow);padding:14px 18px;z-index:50;max-width:370px;border-radius:12px;opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translateY(0)}.auth-layout{min-height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,1fr)}.auth-art{position:relative;display:grid;place-items:center;background:radial-gradient(circle,#5b1b31 5%,#170b11 65%);padding:45px}.auth-art img{max-width:430px;mix-blend-mode:screen}.auth-art .auth-quote{position:absolute;bottom:65px;text-align:center;font:800 1.45rem Outfit;letter-spacing:.02em}.auth-main{display:flex;align-items:center;justify-content:center;padding:45px}.auth-panel{max-width:440px;width:100%}.auth-panel h1{font:900 2.65rem Outfit;letter-spacing:-.05em;margin:10px 0}.auth-panel>p{color:var(--muted);font-size:.93rem}.switch-row{display:flex;background:#1e131b;border:1px solid #543442;border-radius:12px;margin:28px 0 20px;padding:5px}.switch-row a{flex:1;display:block;text-align:center;background:transparent;color:#c4aeb7;border:0;padding:11px;border-radius:9px;font-weight:800}.switch-row a.active{background:#4b2836;color:#fff}.switch-row a:focus-visible{outline:2px solid #f4cd85;outline-offset:2px}.field{display:grid;gap:7px;margin:14px 0}.field label{color:#e7d8d7;font-size:.83rem;font-weight:700}.field input,.field textarea,.field select,.search-field{width:100%;background:#20141c;border:1px solid #62414d;border-radius:12px;color:white;padding:12px 13px;outline:none}.field input:focus,.field textarea:focus,.field select:focus,.search-field:focus{border-color:#e6bc76;box-shadow:0 0 0 3px #bb864321}.field select option{color:#fff;background:#1d141c}.form-note{font-size:.78rem;color:var(--muted)}.auth-submit{width:100%;margin-top:15px}.auth-feedback{border:1px solid #a95a72;background:#451e2e;color:#ffcfdd;border-radius:12px;padding:12px 14px;font-size:.87rem}.auth-feedback[hidden]{display:none}.auth-notice{border:1px solid #497956;background:#183729;color:#b8f4cc;border-radius:12px;padding:12px 14px;font-size:.87rem;margin:17px 0}.avatar{width:41px;height:41px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#693046,#cf7a53);color:white;font-weight:900}.app-shell{min-height:100vh;display:grid;grid-template-columns:258px 1fr;background:radial-gradient(ellipse 800px 400px at 80% 0%,#541a2d35,transparent 65%),#0e0a0e}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid #462934;background:#130c12;display:flex;flex-direction:column;padding:29px 16px 17px}.side-head{padding:0 10px 25px}.side-group{display:grid;gap:5px;margin:16px 0}.side-caption{padding:12px 13px 7px;color:#987c86;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.side-link{border-radius:11px;padding:11px 13px;color:#bfa9b3;font-weight:700;font-size:.87rem;display:flex;align-items:center;gap:12px;border:1px solid transparent}.side-link:hover,.side-link.active{color:#ffe5d0;background:#4a2634;border-color:#754254}.side-link .ico{font-size:1.05rem;width:23px;text-align:center}.side-bottom{margin-top:auto;border-top:1px solid #482b37;padding:18px 9px 3px}.side-profile{display:flex;align-items:center;gap:10px;margin-bottom:14px}.side-profile b{font-size:.84rem;display:block}.side-profile small{font-size:.7rem;color:#ad929e}.app-main{min-width:0;padding:38px clamp(20px,4.4vw,70px) 60px}.app-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:31px}.app-top .app-page{color:#ab8f99;font-size:.83rem}.app-top .app-page b{color:white}.app-top-right{display:flex;align-items:center;gap:10px}.app-header{margin-bottom:30px}.app-header h1{font:900 clamp(2rem,3.2vw,3rem) Outfit;letter-spacing:-.06em;margin:8px 0 7px}.app-header p{color:#c3abb5;margin:0}.dash-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.pane{padding:24px}.pane h2{font:800 1.18rem Outfit;margin:0 0 17px}.points-banner{background:radial-gradient(circle at 95% 18%,#c389422b,transparent 40%),linear-gradient(135deg,#3a2321,#25151d);border:1px solid #ab7950;border-radius:20px;padding:28px;min-height:228px;display:flex;align-items:center;justify-content:space-between;gap:20px}.points-number{font:900 clamp(3.2rem,5vw,5.2rem) Outfit;line-height:1;letter-spacing:-.08em;color:var(--gold)}.points-banner p{margin:7px 0 20px;color:#e6c9c3}.points-symbol{font:900 7rem Outfit;opacity:.15;color:var(--gold);transform:rotate(-15deg)}.progress-track{height:8px;border-radius:100px;background:#462b31;overflow:hidden;margin:12px 0}.progress-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,#bc6f48,#f4d292)}.progress-label{display:flex;justify-content:space-between;gap:8px;font-size:.78rem;color:#bfaaad}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:18px 0}.metric{padding:20px}.metric strong{font:800 1.9rem Outfit;display:block}.metric span{color:var(--muted);font-size:.8rem}.mini-list{display:grid;gap:10px}.mini-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#271820;border:1px solid #4f343c;border-radius:13px;padding:13px}.mini-item strong{display:block;font-size:.87rem}.mini-item small{font-size:.75rem;color:var(--muted)}.mini-left{display:flex;align-items:center;gap:11px}.mini-glyph{min-width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#4c2b36}.section-gap{margin-top:19px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.section-title h2{font:800 1.16rem Outfit;margin:0}.link-tiny{color:var(--gold);font-size:.8rem;font-weight:700}.card-member{max-width:600px;aspect-ratio:1.7;border-radius:23px;border:1px solid #e6ba75;background:radial-gradient(circle at 75% 15%,#ab693d88,transparent 48%),linear-gradient(120deg,#2b101a,#77334c 50%,#221018);padding:32px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:0 30px 60px #0005}.card-member:before{content:"";position:absolute;width:330px;height:330px;border:1px solid #e3bb7745;border-radius:100%;top:-135px;right:-90px;box-shadow:0 0 0 35px #e3bb7710,0 0 0 90px #e3bb7709}.card-member .card-brand{font:900 1.5rem Outfit}.card-member .card-brand span{color:var(--gold)}.card-member .card-tier{font:800 1.85rem Outfit;color:var(--gold);letter-spacing:.1em}.card-member .card-code{letter-spacing:.16em;font-size:.88rem;color:#f5dadc}.member-info{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.qr-box{border:1px solid #634953;border-radius:17px;background:#261721;padding:20px;text-align:center}.qr-box #qr-code{background:white;display:inline-flex;min-height:182px;min-width:182px;align-items:center;justify-content:center;padding:10px;border-radius:8px}.qr-box #qr-code img,.qr-box #qr-code canvas{max-width:182px}.reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reward-card{padding:23px;display:flex;flex-direction:column}.reward-illus{height:105px;border:1px solid #55333e;border-radius:14px;display:grid;place-items:center;font-size:3.1rem;background:radial-gradient(circle,#623344,#301925)}.reward-card h3{margin:16px 0 6px}.reward-card p{margin:0;color:var(--muted);font-size:.82rem;flex:1}.reward-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px}.reward-foot strong{color:var(--gold)}.status{display:inline-flex;border-radius:100px;padding:4px 9px;font-weight:800;font-size:.68rem;border:1px solid #865542;background:#38211b;color:#f4bf88}.status.ok{color:#a9ecc2;border-color:#496d5a;background:#193729}.status.pending{color:#ffe2a3}.status.off{color:#a8a0a5;border-color:#50444c;background:#2a2228}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px;flex-wrap:wrap}.toolbar .search-field{width:min(360px,100%)}.data-table-wrap{overflow:auto;border-radius:17px;border:1px solid #4e323d}.data-table{border-collapse:collapse;width:100%;min-width:660px;background:#1c1219;font-size:.85rem}.data-table th{text-align:left;padding:13px 16px;color:#c4aab4;background:#301c26;font-weight:800}.data-table td{padding:15px 16px;border-top:1px solid #422b35}.data-table tr:hover td{background:#291921}.role-chip{font-size:.73rem;color:#f0c58d;background:#452b2e;border:1px solid #7c5547;border-radius:100px;padding:5px 9px;display:inline-block}.empty{color:#bea6b0;padding:22px;text-align:center;border:1px dashed #62404b;border-radius:14px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.simple-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-box{padding:19px}.stat-box strong{display:block;font:900 2rem Outfit}.stat-box span{font-size:.77rem;color:var(--muted)}.chart{height:164px;display:flex;align-items:end;gap:12px;border-bottom:1px solid #63404a;padding:12px 5px 0}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:6px;height:100%}.bar-pair{height:100%;width:100%;display:flex;align-items:end;justify-content:center;gap:3px}.bar{max-width:19px;flex:1;border-radius:6px 6px 0 0;background:linear-gradient(#d95484,#733046);min-height:3px}.bar.out{background:linear-gradient(#f9d691,#966a43)}.chart-col small{color:#a78d98;font-size:.65rem;margin-bottom:-20px}.danger-note{border:1px solid #8b4c62;background:#3a1c2a;border-radius:12px;padding:12px 15px;color:#f8c1d3;font-size:.82rem;margin:14px 0}.info-note{border:1px solid #7e5b37;background:#302316;border-radius:12px;padding:12px 15px;color:#f1d8a7;font-size:.82rem;margin:14px 0}.camera-wrap{display:none;border:1px solid #62414f;border-radius:16px;overflow:hidden;margin-top:14px;max-width:500px}.camera-wrap.active{display:block}.camera-wrap video{width:100%;display:block;max-height:280px;object-fit:cover}.camera-wrap p{margin:0;padding:9px;font-size:.76rem}.checkin-form{display:flex;gap:9px}.checkin-form input{flex:1;min-width:0}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tab-btn{padding:9px 14px;border-radius:10px;border:1px solid #5b3c47;color:#c2a8b2;background:#23151d;font-weight:800;font-size:.8rem}.tab-btn.active{background:#653249;color:white;border-color:#a45c76}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.admin-form .field{margin:0}.admin-form .full{grid-column:1/-1}.profile-form{max-width:520px}.mobile-appbar{display:none}.login-link{font-size:.8rem;color:var(--gold);background:none;border:0}.login-link:hover{text-decoration:underline}.hidden{display:none!important}
@media(max-width:1100px){.main-nav{gap:15px}.hero-inner{gap:10px}.hero h1{font-size:4.5rem}.app-shell{grid-template-columns:225px 1fr}.app-main{padding:32px 28px}.reward-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.site-header{height:68px}.main-nav{display:none;position:absolute;left:0;right:0;top:68px;background:#1b1016;padding:22px;flex-direction:column;align-items:stretch;border-bottom:1px solid #513240}.main-nav.open{display:flex}.menu-toggle{display:inline-flex}.nav-actions .btn-ghost{display:none}.hero-inner{grid-template-columns:1fr;padding:55px 0 30px;gap:0}.hero{min-height:unset}.hero-art{min-height:330px;max-width:500px;margin:auto;width:100%}.hero-emblem{width:380px}.floating-tag.a{right:2%;top:7%}.floating-tag.b{left:2%;bottom:9%}.hero h1{font-size:clamp(3.3rem,10vw,5rem)}.three-grid{grid-template-columns:1fr 1fr}.benefit-grid{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr}.auth-art{display:none}.auth-main{min-height:calc(100vh - 68px)}.app-shell{display:block;padding-bottom:66px}.sidebar{display:none}.mobile-appbar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;background:#1b0e15ee;backdrop-filter:blur(12px);border-top:1px solid #68414f;overflow:auto}.mobile-appbar a{flex:1;min-width:57px;text-align:center;padding:10px 5px;color:#b69ba5;font-size:.65rem;font-weight:800}.mobile-appbar a.active{color:var(--gold)}.mobile-appbar .ico{display:block;font-size:1.24rem}.app-main{padding:23px 20px 45px}.dash-grid{grid-template-columns:1fr}.simple-grid{grid-template-columns:repeat(2,1fr)}.cta-banner{flex-direction:column;align-items:flex-start}.faq-list{grid-template-columns:1fr}}
@media(max-width:560px){.container{width:min(100% - 32px,1160px)}.brand{font-size:1.04rem}.nav-actions .btn{padding:9px 12px;font-size:.8rem}.hero h1{font-size:3.25rem}.hero-copy>p{font-size:.97rem}.hero-stats{gap:14px;margin-top:32px}.hero-art{min-height:305px}.hero-emblem{width:340px}.floating-tag{font-size:.66rem;padding:8px}.floating-tag b{font-size:.8rem}.section{padding:65px 0}.section-head{display:block}.three-grid,.reward-grid,.two-col,.member-info{grid-template-columns:1fr}.feature{min-height:unset}.big-benefit{padding:27px}.faq-list{gap:12px}.cta-banner{padding:30px}.footer-flex{flex-direction:column;align-items:flex-start}.auth-main{padding:25px}.auth-panel h1{font-size:2.15rem}.points-banner{padding:21px;min-height:190px}.points-symbol{font-size:4rem}.metric-row{grid-template-columns:repeat(3,1fr);gap:7px}.metric{padding:13px 9px}.metric strong{font-size:1.35rem}.metric span{font-size:.67rem}.card-member{padding:22px}.card-member .card-tier{font-size:1.3rem}.qr-box{padding:17px}.app-header h1{font-size:2.05rem}.app-top-right .pill{display:none}.pane{padding:18px}.checkin-form{flex-direction:column}.admin-form{grid-template-columns:1fr}.admin-form .full{grid-column:1}.simple-grid{gap:8px}.stat-box{padding:13px}.stat-box strong{font-size:1.5rem}.app-main{padding:21px 14px 50px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Mantiene visibles los accesos a cuenta y registro en pantallas pequeñas. */
@media(max-width:650px){.site-header .brand span:nth-child(2){display:none}.nav-wrap{gap:8px}.nav-actions{gap:6px}.nav-actions .btn{padding:8px 10px;font-size:.76rem}}
@media(max-width:370px){.container{width:calc(100% - 22px)}.nav-actions .btn{padding:7px 8px;font-size:.69rem}.brand-symbol{width:33px;height:33px}}

/* Inicio de sesión con Google: visible en acceso y registro. */
.auth-social{margin:18px 0 4px}
.google-signin{width:100%;min-height:48px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:12px;font-weight:700;font-size:.92rem;box-shadow:0 3px 12px #0002;white-space:normal}
.google-signin:hover:not(:disabled){background:#f6f8fc;border-color:#c9d1da}
.google-signin:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.google-signin:disabled{background:#dedede;color:#454545}
.google-signin img{display:block;width:21px;height:21px;flex-shrink:0}
.auth-divider{display:flex;align-items:center;gap:12px;margin:19px 0 11px;color:var(--muted);font-size:.77rem;text-align:center}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#5b3946}

/* Panel administrador fácil — acciones grandes, edición clara y diseño táctil. */
.admin-welcome{padding:25px 28px;background:linear-gradient(120deg,#452235,#271721);border:1px solid #805469;border-radius:20px;margin-bottom:17px}
.admin-welcome h2{font:900 clamp(1.5rem,2.3vw,2.15rem) Outfit;margin:9px 0}
.admin-welcome p{color:#e0c6d0;line-height:1.65;margin:0;max-width:680px}
.admin-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:32px}
.admin-quick{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;padding:23px 17px;border-radius:18px;border:1px solid #61404b;background:#21141d;color:var(--text);cursor:pointer;min-height:195px;transition:border-color .15s,background .15s,transform .15s}
.admin-quick:hover{background:#33202a;border-color:#ddae77;transform:translateY(-2px)}
.admin-quick:focus-visible,.tab-btn:focus-visible,.admin-list-item button:focus-visible{outline:3px solid #e9bd7a;outline-offset:3px}
.admin-quick-icon{width:46px;height:46px;border-radius:13px;background:#63364b;display:grid;place-items:center;font-size:1.6rem;color:#f9d69b}
.admin-quick strong{font:800 1.07rem Outfit}.admin-quick small{color:#c3acb8;line-height:1.5;font-size:.81rem}
.admin-quick-link{margin-top:auto;font-weight:800;font-size:.86rem;color:var(--gold)}
.admin-section-title{margin:0 0 16px}.admin-section-title h2{font:800 1.35rem Outfit;margin:0 0 5px}.admin-section-title p{color:var(--muted);margin:0;font-size:.84rem}
.admin-tabs{margin-bottom:24px;flex-wrap:nowrap;overflow-x:auto;padding:3px 2px 11px;scrollbar-width:thin;scrollbar-color:#9d5c70 transparent}
.admin-tabs .tab-btn{flex:0 0 auto;min-height:44px;font-size:.88rem;padding:10px 17px}
.admin-catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 17px}
.admin-catalog-heading h2{font:900 1.75rem Outfit;margin:0 0 5px}.admin-catalog-heading p{margin:0;color:#c5aeba;font-size:.9rem}
.admin-guide{display:flex;align-items:flex-start;gap:13px;padding:17px 20px;border:1px solid #745340;border-radius:14px;background:#34231f;margin-bottom:17px}
.admin-guide p{margin:0;font-size:.89rem;color:#eed8c7;line-height:1.55}.admin-guide-icon{font-size:1.45rem}
.admin-edit-pane{margin-bottom:18px;border-color:#9c6b7b}
.admin-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.admin-form-heading h2{font:900 1.65rem Outfit;margin:7px 0}.admin-form-heading p{font-size:.85rem;color:var(--muted);margin:0}
.admin-form{gap:17px}.admin-form .field{min-width:0}.admin-form input,.admin-form textarea,.admin-form select,.admin-site-form input,.admin-site-form textarea{font:inherit;min-height:47px}
.admin-form input[type="file"]{padding:12px 10px;max-width:100%;line-height:1.5}
.admin-form input[type="date"],.admin-form input[type="time"]{color-scheme:dark}
.admin-form textarea,.admin-site-form textarea{resize:vertical;line-height:1.5}
.field-help{color:#bea6b0;font-size:.76rem;line-height:1.5}
.admin-publish{display:flex;align-items:flex-start;gap:13px;padding:17px;background:#352435;border:1px solid #79566a;border-radius:15px;cursor:pointer}
.admin-publish input{width:22px;height:22px;accent-color:#dfaa79;flex-shrink:0;cursor:pointer}
.admin-publish strong,.admin-publish small{display:block}.admin-publish small{font-size:.77rem;color:#d3bac4;margin-top:5px;line-height:1.5}
.admin-form-buttons{display:flex;gap:12px;flex-wrap:wrap}.admin-form-buttons .btn{min-height:48px}
.admin-preview{background:#1a1218;border:1px dashed #82636c;border-radius:14px;padding:19px}.admin-preview strong{display:block;font:800 1.3rem Outfit;margin:8px 0}.admin-preview p{color:#cfafbe;margin:0;font-size:.86rem;overflow-wrap:anywhere}
.admin-form-feedback{padding:13px 15px;border:1px solid #d87f91;background:#48212d;border-radius:12px;color:#fff0f3;font-weight:700;font-size:.86rem}
.admin-form-feedback[hidden],.admin-list-item[hidden],#admin-search-empty[hidden]{display:none!important}
.admin-list-pane{margin-top:16px}.admin-list{display:grid;gap:12px}.admin-list-item{background:#271920;border:1px solid #543742;border-radius:15px;padding:17px;min-width:0}
.admin-list-top{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;margin-bottom:13px}
.admin-item-intro{display:flex;align-items:center;gap:13px;min-width:0;flex:1}.admin-item-intro>div{min-width:0;overflow-wrap:anywhere}
.admin-item-intro strong{display:block;font-size:1rem}.admin-item-intro small{display:block;font-size:.79rem;color:#c2a8b2;margin-top:4px;line-height:1.4}
.admin-item-icon{height:56px;width:56px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:#522f44;color:#f1c783;font-size:1.7rem}
.admin-item-photo{height:64px;width:70px;flex-shrink:0;object-fit:cover;border-radius:12px;border:1px solid #6b4353}
.admin-state{font-size:.72rem;font-weight:800;border-radius:50px;padding:6px 11px;white-space:nowrap}
.admin-state.published{background:#213e34;border:1px solid #517e62;color:#b2f0c6}.admin-state.draft{background:#3c2d29;border:1px solid #7a5945;color:#f2c99e}
.admin-item-buttons{display:flex;gap:9px;flex-wrap:wrap}.admin-item-buttons .btn{min-width:92px;min-height:40px;font-size:.79rem}
.btn-danger{background:#3d202b;border-color:#985263;color:#ffe0e6}.btn-danger:hover{background:#642839}
.admin-existing-photo{display:flex;align-items:center;gap:14px;grid-column:1/-1}.admin-existing-photo img{height:82px;width:122px;object-fit:cover;border-radius:13px}.admin-check{display:flex;align-items:center;gap:9px;font-weight:700;font-size:.83rem}.admin-check input{width:20px;height:20px;accent-color:#f7c789}
.admin-site-form{display:grid;gap:15px;max-width:740px}.admin-site-form .field{margin:0}.admin-site-form button[type=submit]{justify-self:start}
.event-photo{display:block;object-fit:cover;width:calc(100% + 46px);height:165px;max-width:none;margin:-23px -23px 18px;border-bottom:1px solid #62404b}
.reward-photo{height:100%;width:100%;object-fit:cover;border-radius:13px}
@media(max-width:1100px){.admin-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick{min-height:160px}}
@media(max-width:650px){.admin-welcome{padding:20px}.admin-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-quick{padding:15px 12px;min-height:177px}.admin-quick strong{font-size:.96rem}.admin-quick small{font-size:.75rem}.admin-quick-icon{width:40px;height:40px}.admin-quick-link{font-size:.8rem}.admin-catalog-heading{align-items:stretch}.admin-catalog-heading>.btn{width:100%}.admin-list-item{padding:13px}.admin-item-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.admin-item-buttons .btn{min-width:0;padding:10px 5px;font-size:.71rem;white-space:normal}.admin-list-top{gap:8px}.admin-edit-pane{padding:17px}.admin-form-buttons .btn{flex:1;white-space:normal}.admin-tabs{margin-inline:-6px}.admin-tabs .tab-btn{font-size:.83rem;padding:11px 13px}.admin-guide{padding:13px}}
@media(max-width:350px){.admin-quick-grid{grid-template-columns:1fr}.admin-quick{min-height:120px}}
.admin-file-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.admin-file-button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border:1px solid #9b7381;background:#3c2533;color:#f8d59c;font-weight:800;padding:12px 17px;border-radius:12px;min-height:45px}.admin-file-button:hover{background:#573248}.admin-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none}.admin-file-row span{font-size:.79rem;color:#c1a6b5;overflow-wrap:anywhere}.field:has(.admin-file-input:focus-visible) .admin-file-button{outline:3px solid #e9bd7a;outline-offset:3px}

/* Modelos visuales seleccionables para la web pública (no afectan al panel interno). */
body.theme-minimal{--bg:#0d1119;--bg2:#141b27;--surface:#1b2633;--surface2:#243042;--border:#536377;--gold:#dbe5ed;--gold2:#91a5b7;--berry:#8399b5;--berry2:#4b6687;--muted:#c2ced9}
body.theme-minimal .hero{background:radial-gradient(ellipse 75% 80% at 80% 30%,#2e526440,transparent 75%),#0d1119}
body.theme-minimal .hero h1 span{background:linear-gradient(95deg,#fff,#9fbfda);background-clip:text}
body.theme-minimal .announce{background:linear-gradient(90deg,#1f2939,#344659,#1f2939)}
body.theme-minimal .site-header{background:#0d1119eb}body.theme-minimal .feature,body.theme-minimal .event-card,body.theme-minimal .faq-card{background:#1a2531}body.theme-minimal .benefit-item{background:#1a2531}
body.theme-minimal .btn-primary{background:linear-gradient(110deg,#e3ecf5,#9fbdcb);color:#101820}
body.theme-minimal .big-benefit,body.theme-minimal .cta-banner{background:linear-gradient(125deg,#293e4c,#15202a)}
body.theme-festival{--bg:#100817;--bg2:#190a20;--surface:#21102b;--surface2:#2a1537;--border:#6e3374;--gold:#ffd16e;--gold2:#f3a744;--berry:#ed4cac;--berry2:#8f2b9d;--muted:#d9b9dd}
body.theme-festival .hero{background:radial-gradient(circle at 74% 40%,#d51c8f66,transparent 55%),radial-gradient(circle at 5% 96%,#843ee34c,transparent 50%),#100817}
body.theme-festival .hero h1 span{background:linear-gradient(120deg,#ffe78b,#ff60b4,#db96ff);background-clip:text}
body.theme-festival .announce{background:linear-gradient(100deg,#4b0f5a,#94265d,#4b0f5a)}
body.theme-festival .site-header{background:#13091beb}
body.theme-festival .btn-primary{background:linear-gradient(110deg,#ffd36e,#ff7cac);color:#270b28}
body.theme-festival .big-benefit,body.theme-festival .cta-banner{background:radial-gradient(circle at top right,#bb3b9c55,transparent 50%),linear-gradient(120deg,#441b54,#200e28)}
body.theme-festival .feature,body.theme-festival .event-card,body.theme-festival .faq-card{background:linear-gradient(140deg,#2d153d,#1a0c25)}
body.theme-festival .benefit-item{background:#21112e}

/* Editor fácil: navegación lateral, controles accesibles y vista previa real. */
.admin-edit-top{background:linear-gradient(125deg,#f7d491,#c6924a)}
.editor-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:15px}
.editor-intro>div{border:1px solid #62465b;background:#241722;border-radius:14px;padding:15px 18px;display:grid;gap:5px}
.editor-intro strong{font-size:.93rem;color:#f6dfbf}.editor-intro span{font-size:.77rem;color:var(--muted)}
.editor-toolbar{border:1px solid #755062;border-radius:17px;padding:13px 16px;display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px;background:#2a1924}
.editor-status{font-size:.87rem;font-weight:800;color:#d8c4d2}.editor-toolbar-buttons{display:flex;gap:9px;flex-wrap:wrap}.editor-toolbar .btn{min-height:44px;white-space:normal}
.editor-layout{display:grid;grid-template-columns:minmax(310px,41%) minmax(0,59%);gap:16px;align-items:start}
.editor-panel{min-width:0;border:1px solid #674357;border-radius:19px;background:#1a1119;overflow:hidden}
.editor-categories{display:flex;gap:7px;overflow-x:auto;padding:14px;border-bottom:1px solid #60414c;scrollbar-width:thin;scrollbar-color:#8c6381 transparent}
.editor-category{flex-shrink:0;border:1px solid #70485b;background:#2b1a27;color:#e4cbd6;padding:11px 13px;border-radius:11px;font-weight:800;font-size:.79rem;cursor:pointer;min-height:41px}
.editor-category.active{color:#211016;border-color:#dbb17b;background:#efc88b}
.editor-category:focus-visible,.editor-theme:focus-visible,.editor-order button:focus-visible{outline:3px solid #f1cd8c;outline-offset:2px}
.editor-controls{padding:20px 22px;max-height:770px;overflow-y:auto;scrollbar-width:thin}
.editor-controls-head h2{font:900 1.55rem Outfit;margin:6px 0 7px}.editor-controls-head p{color:var(--muted);font-size:.82rem;margin:0 0 18px}
.editor-field-list{display:grid;gap:15px}.editor-field{display:grid;gap:7px}.editor-field label{font-size:.83rem;font-weight:800;color:#e9d6df}
.editor-field input,.editor-field textarea{border:1px solid #755165;background:#271823;border-radius:11px;padding:12px 13px;color:#fff;width:100%;resize:vertical;min-height:45px;line-height:1.55;outline:none}
.editor-field input:focus,.editor-field textarea:focus{border-color:#e4be87;box-shadow:0 0 0 2px #e4be8722}
.editor-upload{width:max-content;max-width:100%;cursor:pointer;color:#f6d9aa!important;border:1px solid #87684c;padding:10px 13px;border-radius:10px;background:#3a2930}
.editor-preview-wrap{padding:17px;border:1px solid #654252;border-radius:19px;background:#1b1118;min-width:0}
.editor-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:13px}
.editor-preview-head strong,.editor-preview-head small{display:block}.editor-preview-head small{color:var(--muted);font-size:.75rem;margin-top:4px}
.editor-devices{display:flex;gap:6px;flex-wrap:wrap}.editor-devices .btn.active{background:#785137;border-color:#cba270;color:#fff2dc}
.editor-preview-surface{background:repeating-linear-gradient(45deg,#3b2a34,#3b2a34 12px,#30202c 12px,#30202c 24px);border-radius:15px;padding:15px;display:flex;justify-content:center;overflow:hidden;min-height:670px}
.editor-preview{display:block;border:1px solid #8a6875;background:#0b080c;border-radius:10px;width:100%;height:665px;transition:width .2s;max-width:100%}
.editor-preview.mobile{width:375px;max-width:100%}
.editor-preview-foot{font-size:.8rem;color:#c9b1bf;line-height:1.5}.editor-preview-foot a{color:#f6cb85;text-decoration:underline}
.editor-section-list{display:grid;gap:9px}.editor-section-item{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#2c1c29;border:1px solid #6d4a5a;border-radius:12px;padding:12px 13px}
.editor-switch{display:flex;align-items:center;gap:11px;font-size:.89rem;font-weight:800;cursor:pointer}.editor-switch input{width:19px;height:19px;accent-color:#efc581}
.editor-order{display:flex;gap:5px}.editor-order .btn{min-width:35px;min-height:34px;padding:5px}
.editor-theme-list{display:grid;gap:12px}.editor-theme{display:grid;gap:8px;text-align:left;padding:14px;background:#251722;border:1px solid #6c475e;color:#f5e8ed;border-radius:14px;cursor:pointer}
.editor-theme.chosen{border-color:#efc586;box-shadow:0 0 0 1px #efc586}
.editor-theme strong{font-size:1rem}.editor-theme small{color:#bfa8b7}.editor-theme b{font-size:.72rem;color:#f3cd8e}
.theme-swatch{display:flex;align-items:center;gap:7px;height:57px;border-radius:9px;padding:9px;background:#26141c}
.theme-swatch i{display:block;width:24%;height:100%;border-radius:6px;background:#f1c17b}
.theme-swatch i:nth-child(2){height:65%;background:#7c3b56}.theme-swatch i:nth-child(3){height:85%;background:#d84977}
.theme-swatch-minimal{background:#131e2a}.theme-swatch-minimal i{background:#dce6ef}.theme-swatch-minimal i:nth-child(2){background:#607e92}.theme-swatch-minimal i:nth-child(3){background:#91b1c9}
.theme-swatch-festival{background:#250a36}.theme-swatch-festival i{background:#ffd35e}.theme-swatch-festival i:nth-child(2){background:#e444ac}.theme-swatch-festival i:nth-child(3){background:#a15df3}
@media(max-width:1380px){.editor-layout{grid-template-columns:minmax(0,1fr)}.editor-preview{height:650px}.editor-preview-surface{min-height:650px}.editor-controls{max-height:none}.editor-intro{grid-template-columns:1fr}}
@media(max-width:700px){.editor-toolbar-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%}.editor-toolbar-buttons .btn:last-child{grid-column:1/-1}.editor-controls{padding:15px}.editor-preview-wrap{padding:11px}.editor-preview-surface{padding:7px;min-height:555px}.editor-preview{height:535px}.editor-preview-head{align-items:flex-start}.editor-category{font-size:.75rem}.editor-toolbar .btn{font-size:.79rem}.admin-edit-top{font-size:.72rem!important}}
@media(max-width:420px){.editor-toolbar-buttons{grid-template-columns:1fr}.editor-toolbar-buttons .btn:last-child{grid-column:auto}.editor-preview-head{flex-direction:column}.editor-intro{gap:7px}}

/* Los nueve apartados del editor quedan siempre visibles, sin desplazamiento horizontal oculto. */
.editor-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
.editor-category{white-space:normal;line-height:1.35}
@media(max-width:650px){.editor-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* MULTIDISPOSITIVO 2026 — táctil, iPhone con notch, Android, tablets y ordenadores */
html{overscroll-behavior-y:none}
body{overflow-x:hidden}
button,a,[role="button"]{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e6bd80;outline-offset:3px}
main,.app-main,.auth-main,.pane,.editor-panel,.editor-preview-wrap,.admin-list-item,.mini-item{min-width:0}
h1,h2,h3,p,.mini-item strong,.admin-list-item strong,.card-code{overflow-wrap:anywhere}
input,textarea,select{max-width:100%}
.mobile-menu-actions,.menu-install{display:none}
.footer-install{border:1px solid #704759;background:#2c1a26;color:#f8dcad;padding:11px 14px;border-radius:11px;font-size:.85rem;font-weight:800;min-height:44px;cursor:pointer}
.footer-install:hover,.menu-install:hover{background:#4c293b}
.install-dialog{max-width:min(530px,calc(100vw - 24px));max-height:min(88dvh,770px);width:100%;border:1px solid #926b5a;background:#1d111a;color:#fdf0e9;border-radius:20px;padding:0;box-shadow:0 25px 90px #000c}
.install-dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}
.install-dialog-content{padding:25px;overflow:auto;max-height:85dvh}
.install-dialog-head{display:flex;align-items:center;gap:15px}.install-dialog-head h2{font:850 clamp(1.3rem,4vw,1.8rem)/1.13 Outfit,sans-serif;margin:5px 0}
.install-symbol{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:14px;background:#3f202f;color:var(--gold);font-size:2rem}
.install-dialog-content>p{color:var(--muted)}.install-options{display:grid;gap:10px;margin:19px 0}
.install-options>div{background:#2c1c26;border:1px solid #624554;border-radius:12px;padding:14px 16px}.install-options p{color:#ccb7c0;font-size:.89rem;margin:7px 0 0}
.install-dialog form{display:flex;justify-content:flex-end}
@media(max-width:800px){
 .site-header{height:calc(68px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}
 .main-nav{top:calc(68px + env(safe-area-inset-top,0px));padding:15px 20px calc(20px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 68px - env(safe-area-inset-top,0px));overflow-y:auto;box-shadow:0 22px 45px #0009}
 .main-nav .nav-link{padding:12px 15px;border-radius:10px;min-height:44px;display:flex;align-items:center;color:#f4e1dc}
 .main-nav .nav-link:hover,.main-nav .nav-link:focus-visible{background:#392230}
 .mobile-menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:13px;border-top:1px solid #66414c}
 .mobile-menu-actions .btn{min-height:44px;padding:11px;font-size:.85rem;white-space:normal;text-align:center}
 .menu-install{display:block;text-align:center;width:100%;min-height:44px;border:1px solid #704759;background:#2c1a26;color:#f7d8ab;padding:11px 14px;border-radius:12px;font-weight:800;cursor:pointer}
 .menu-toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .nav-actions{flex-shrink:0}
 .nav-actions .btn{min-height:44px}
 .auth-main{min-height:calc(100dvh - 68px - env(safe-area-inset-top,0px))}
 .app-shell{padding-bottom:calc(75px + env(safe-area-inset-bottom,0px))}
 .mobile-appbar{padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);overflow-x:auto;scrollbar-width:none}
 .mobile-appbar a{min-height:59px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
 .mobile-appbar .ico{line-height:1.1}
 body.keyboard-active .mobile-appbar{display:none}
 input:not([type=checkbox]):not([type=radio]),textarea,select,.search-field{font-size:16px!important;min-height:46px}
 .app-top{flex-wrap:wrap;align-items:flex-start;gap:10px}
 .app-top-right{width:100%;justify-content:space-between;flex-wrap:wrap}
 .app-top-right .btn{min-height:44px}
 .switch-row a{min-height:44px}
 .toast{right:12px;left:12px;max-width:none;bottom:calc(75px + env(safe-area-inset-bottom,0px))}
 .editor-preview{height:530px}
 .editor-controls,.editor-preview-wrap,.pane{max-width:100%}
}
@media(max-width:560px){
 .container{max-width:100%}
 .hero-inner{min-width:0}
 .hero-copy{min-width:0}
 .hero h1{font-size:clamp(2.45rem,11.5vw,3.5rem);letter-spacing:-.055em;line-height:1.02}
 .hero-stats{gap:9px;flex-wrap:wrap}
 .hero-stat{flex:1 1 85px;min-width:0;padding-left:10px}
 .hero-stat span{font-size:.7rem}
 .hero-cta .btn{min-height:46px}
 .floating-tag{max-width:70%}
 .floating-tag b{font-size:.74rem}
 .app-header h1{font-size:clamp(1.65rem,8vw,2.05rem)}
 .metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}
 .admin-form-buttons{display:flex;flex-wrap:wrap}
 .admin-form-buttons .btn{min-height:44px}
 .editor-toolbar-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .editor-section-item{align-items:flex-start;flex-wrap:wrap}
 .editor-order{margin-left:auto}
 .editor-order .btn{min-width:44px;min-height:44px}
 .editor-category{min-height:44px}
 .footer-install{width:100%}
}
@media(max-width:420px){
 .nav-actions>.btn-primary:not(.admin-edit-top){display:none}
 .site-header .nav-actions>.btn-secondary{font-size:.78rem;padding-inline:10px}
 .mobile-menu-actions{grid-template-columns:1fr}
 .hero h1{font-size:clamp(2.28rem,11.2vw,2.9rem)}
 .hero-stats{gap:6px}
 .hero-stat{flex:1 1 75px}
 .hero-stat strong{font-size:1.05rem}
 .auth-main{padding:22px 15px 35px}
 .editor-toolbar-buttons{grid-template-columns:1fr}
 .editor-section-item .editor-switch{max-width:100%;min-width:0}
 .app-main{padding-inline:12px}
 .mobile-appbar a{font-size:.64rem;min-width:54px;padding:9px 3px}
 .install-dialog-content{padding:17px}
}
@media(max-width:340px){
 .site-header .brand-symbol{width:33px;height:33px}
 .hero h1{font-size:2.25rem}
 .hero-stats{justify-content:flex-start}
 .hero-stat{flex-basis:78px}
 .nav-actions{gap:4px}
 .nav-actions>.btn-secondary{padding-inline:8px!important}
 .mobile-appbar a{font-size:.6rem}
}
@media(hover:none){.btn:hover{transform:none}}

/* EDITOR VISUAL DIRECTO — toca un texto, imagen o evento en la vista previa */
.editor-inspector[hidden],.editor-inspector [hidden]{display:none!important}
.editor-inspector{border:2px solid #dbb074;background:linear-gradient(130deg,#392338,#241720);padding:17px;border-radius:16px;margin:0 0 16px;display:grid;gap:11px;min-width:0;box-shadow:0 12px 38px #0004}
.editor-inspector-head{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.editor-inspector-head h3{font:800 1.24rem Outfit,sans-serif;margin:5px 0 0;color:#f6e4d3}
.editor-inspector-head button{min-height:42px}
.editor-inspector-help{margin:0;color:#e5cedb;font-size:.85rem;line-height:1.55}
.editor-inspector-label{display:block;margin-bottom:7px;font-size:.83rem;font-weight:800;color:#efd2df}
#editor-inspector-input{display:block;width:100%;min-height:100px;padding:12px 13px;resize:vertical;border:1px solid #ac7e7b;border-radius:11px;background:#1d1420;color:#fff;line-height:1.55;outline:0;font:inherit}
#editor-inspector-input:focus{border-color:#f5ca86;box-shadow:0 0 0 2px #e1b47433}
#editor-inspector-image{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.editor-inspector-photo{display:block;width:min(150px,42%);aspect-ratio:1/1;object-fit:contain;background:#0e0a12;border:1px solid #795568;border-radius:12px;padding:5px}
.editor-pick-photo{cursor:pointer;min-height:46px;white-space:normal;text-align:center}
#editor-inspector-image .field-help,#editor-inspector-event .field-help{flex-basis:100%;margin:0;color:#d2b8c6}
#editor-inspector-event{display:grid;gap:10px}
#editor-inspector-event .btn{width:max-content;max-width:100%;white-space:normal}
.editor-preview-head strong{color:#f6d5a2}
@media(max-width:520px){.editor-inspector{padding:12px}.editor-inspector-head{align-items:center}.editor-inspector-head h3{font-size:1.05rem}.editor-inspector-photo{width:100px}.editor-pick-photo{width:100%}#editor-inspector-image{align-items:flex-start}}

/* Mostrar el logotipo elegido también en la cabecera y el pie, sin romper sus dimensiones. */
.brand-logo-image{display:block;width:100%;height:100%;max-height:34px;object-fit:contain;border-radius:5px}

/* Gestión de socios: fácil en ordenador, tablet y móvil. */
.member-editor{margin-bottom:18px;border-color:#98755e;scroll-margin-top:16px}
.member-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.member-edit-form>.field,.member-edit-form>.member-points-panel{min-width:0}
.member-edit-form input,.member-edit-form select,.member-edit-form textarea{font:inherit;min-height:47px;width:100%;color:var(--text);background:#271923;border:1px solid #76505e;border-radius:11px;padding:11px 12px}
.member-edit-form textarea{resize:vertical;min-height:90px}
.member-edit-form input:focus,.member-edit-form select:focus,.member-edit-form textarea:focus{border-color:var(--gold)}
.member-edit-form .field{display:flex;flex-direction:column;gap:7px}
.member-edit-form .field>label,.member-tools .field>label{font-size:.84rem;font-weight:800;color:#f1dfe2}
.member-edit-form .field-help{display:block;color:#c8acb9;font-size:.76rem;line-height:1.5}
.member-role select:disabled{opacity:.7;cursor:not-allowed}
.member-points-panel{grid-column:1/-1;background:#251721;border:1px solid #6f4559;border-radius:16px;padding:20px}
.member-points-panel>h3{margin:0 0 7px;font-size:1.18rem;color:var(--gold)}
.member-points-panel>p{margin:0 0 18px}
.member-points-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.member-quick{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:17px}
.member-quick>span{font-weight:700;color:#e7cdd3;font-size:.83rem}
.member-quick .btn{min-width:65px;min-height:43px}
.member-reason,.member-edit-form>.admin-form-feedback,.member-edit-form>.admin-form-buttons{grid-column:1/-1}
.member-edit-form>.admin-form-buttons{align-items:center}
.member-tools{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:20px}
.member-tools>.field{min-width:0;display:grid;gap:7px}
.member-tools input,.member-tools select{width:100%;min-height:45px;background:#271923;color:var(--text);border:1px solid #76505e;border-radius:10px;padding:10px 12px}
.member-list{display:grid;gap:10px}
.member-record{min-width:0;display:flex;align-items:center;gap:15px;background:#291b25;border:1px solid #664350;border-radius:14px;padding:14px}
.member-record[hidden],#member-empty[hidden]{display:none!important}
.member-record-icon{width:47px;height:47px;flex:0 0 47px;display:grid;place-items:center;background:#593244;border-radius:50%;color:#f6d5a4;font-weight:850;font-size:1.3rem}
.member-record-details{flex:1;min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}
.member-record-details strong{font-size:.95rem}
.member-record-details small{font-size:.75rem;color:#c7adbb}
.member-record-details .role-chip{justify-self:start;margin-top:3px}
.member-record-stats{min-width:110px;text-align:right;display:grid;gap:3px;color:#ead7dd;font-size:.81rem}
.member-record-stats b{font-size:1.02rem;color:var(--gold)}
.member-record>.btn{min-height:44px;white-space:normal;flex-shrink:0}
.member-change-entry{align-items:flex-start}
.member-change-entry>div{min-width:0;overflow-wrap:anywhere}
.member-change-entry small{display:block;color:#c5acb7;font-size:.77rem;margin-top:4px}
.member-history{margin-top:17px}
@media(max-width:750px){.member-edit-form{grid-template-columns:1fr}.member-points-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-tools{grid-template-columns:1fr 1fr}.member-record{flex-wrap:wrap}.member-record>.btn{margin-left:auto}}
@media(max-width:500px){.member-points-grid{grid-template-columns:1fr}.member-tools{grid-template-columns:1fr}.member-record{gap:11px;padding:13px}.member-record-icon{width:40px;height:40px;flex-basis:40px}.member-record-details{flex:1 1 calc(100% - 58px)}.member-record-stats{text-align:left;display:flex;gap:13px;flex:1 1 100%;font-size:.77rem}.member-record>.btn{width:100%;margin:0}.member-points-panel{padding:15px}.member-quick .btn{flex:1}.member-edit-form>.admin-form-buttons .btn{width:100%}}

/* BELLAQUITAS FEST · Rojo, dorado y negro · misma tarjeta ilustrada. */
body.bf-neon{
 --bg:#1c0406;--bg2:#250709;--surface:#2e0f11;--surface2:#3c0e12;
 --border:#6e272d;--text:#fff6f7;--muted:#ddbabd;
 --gold:#ffe0a2;--gold2:#e4a43d;--berry:#f34552;--berry2:#be222e;
 background:radial-gradient(ellipse 75% 32% at 65% 24%,#550d1355,transparent),
            linear-gradient(180deg,#190406 0%,#260406 45%,#180608 100%);
}
.bf-neon .site-header{background:#1a0709ed;border-bottom:1px solid #b42e38aa;box-shadow:0 1px 25px #d80f1e18}
.bf-neon .brand{color:#fce5ba}
.bf-neon .brand-symbol{width:50px;height:50px;border:0;background:transparent;border-radius:0;overflow:visible}
.bf-neon .brand-logo-image{max-height:50px;width:100%;height:100%;object-fit:contain;border-radius:0}
.bf-neon .nav-link{color:#f5e3e5}
.bf-neon .nav-link:hover,.bf-neon .nav-link:focus-visible{color:#ffe7aa;text-shadow:0 0 13px #f43c4b}
.bf-neon .btn-primary{color:#2d1214;border:1px solid #fff1b5;background:linear-gradient(125deg,#fff3bb,#ffcd55 50%,#d48e1c);box-shadow:0 0 19px #e6b13340, inset 0 0 12px #fff7d480}
.bf-neon .btn-ghost,.bf-neon .btn-secondary{border-color:#af474f;color:#fce8ea;background:#321012cc}
.bf-neon .btn-ghost:hover,.bf-neon .btn-secondary:hover{border-color:#f78891;background:#4d1115}
.lang-switch{display:inline-flex;align-items:center;gap:2px;padding:4px;border:1px solid #e1505b;border-radius:25px;background:#1c0608;box-shadow:0 0 10px #db1c2b44;flex-shrink:0;white-space:nowrap}
.lang-choice{border:0;border-radius:18px;background:transparent;color:#ebd5d7;padding:6px 9px;font-size:.73rem;font-weight:800;min-height:34px}
.lang-choice.active{background:linear-gradient(130deg,#b40d1a,#ea2938);color:white;box-shadow:0 0 10px #ef2a3966}
.lang-choice:focus-visible{outline:2px solid #ffe3a6;outline-offset:2px}
.lang-globe{font-size:1rem;padding-inline:4px;filter:grayscale(1) brightness(2)}
.lang-sep{color:#ca7c82}
.bf-neon .nav-actions{align-items:center}

/* Portada centrada con logotipo protagonista, sin burbujas flotantes. */
.bf-neon .hero{min-height:unset;border-bottom:1px solid #791c23;background:
 radial-gradient(ellipse 43% 55% at 50% 32%,#920e1866,transparent 85%),
 radial-gradient(ellipse 32% 53% at 15% 65%,#c9202d4a,transparent 70%),
 radial-gradient(ellipse 35% 50% at 88% 68%,#bb1c164a,transparent 75%),
 linear-gradient(180deg,#1d0709,#370509 88%,#1f0507)}
.bf-neon .hero:before{content:"";position:absolute;inset:0;background:
 linear-gradient(116deg,transparent 35%,#ed1c2d25 43%,transparent 47%) 0 0/36% 100%,
 linear-gradient(67deg,transparent 41%,#ff1d1512 48%,transparent 53%) 0 0/47% 100%;
 mask-image:linear-gradient(#0009,transparent 86%);pointer-events:none}
.bf-neon .hero-inner{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:0;padding:32px 0 66px;gap:0}
.bf-neon .hero-art{order:0;display:flex;align-items:center;justify-content:center;width:min(630px,100%);min-height:0;margin:0}
.bf-neon .hero-art:before{inset:15% 8%;background:#e82c3b3b;filter:blur(65px)}
.bf-neon .hero-emblem{width:min(540px,90vw);height:auto;aspect-ratio:auto;mix-blend-mode:normal;filter:drop-shadow(0 0 22px #cb12218c) drop-shadow(0 18px 50px #0009)}
.bf-neon .hero-copy{order:1;display:flex;align-items:center;flex-direction:column;width:100%}
.bf-neon .hero h1{display:none}
.bf-neon .hero .eyebrow{display:none}
.bf-neon .hero-copy>p{max-width:850px;margin:-6px 0 22px;color:#fff2f3;font-size:clamp(1.05rem,2.2vw,1.4rem);font-weight:600;font-style:italic;line-height:1.55}
.bf-neon .hero-cta{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap}
.bf-neon .hero-cta .btn{min-width:190px;border-radius:100px;min-height:50px}
.bf-neon .hero-stats{justify-content:center;gap:17px;margin:31px auto 0}
.bf-neon .hero-stat{border-left:2px solid #d556607a;text-align:left}
.bf-neon .hero-stat strong{color:#ffe8ae}
.bf-neon .announce{border-top:1px solid #bb3741;border-bottom:1px solid #d9505b;background:linear-gradient(90deg,#5e070e,#a0131e,#5e070e);box-shadow:0 0 30px #d91d2c33}
.bf-neon .section h2{color:#ffe4a8}
.bf-neon .feature,.bf-neon .event-card,.bf-neon .faq-card,.bf-neon .benefit-item{border:1px solid #ac4b53;border-radius:21px;background:linear-gradient(150deg,#451115,#2d0b0d);box-shadow:0 10px 35px #0003}
.bf-neon .feature-icon,.bf-neon .round-icon{color:#ff818b;text-shadow:0 0 17px #ed1526}
.bf-neon .big-benefit{border-color:#d85963;background:radial-gradient(circle at 50% 30%,#6a0d1488,transparent 70%),linear-gradient(120deg,#3d090d,#2d070a);box-shadow:0 0 20px #be111e42;padding:30px}
.bf-neon .benefit-grid{grid-template-columns:1fr;gap:20px}
.bf-neon .big-benefit{text-align:center}
.bf-neon .big-benefit .loyalty-showcase{width:min(820px,100%);margin:18px auto 20px}
.bf-neon .big-benefit .loyalty-showcase img{display:block;width:100%;border-radius:22px;box-shadow:0 0 0 1px #f9747e,0 0 27px #d42e3b77}
.bf-neon .big-benefit .btn{margin:12px auto 0;border-radius:40px}
.bf-neon .list-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bf-neon .list-benefits .benefit-item{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:12px;padding:20px 15px}
.bf-neon .list-benefits .round-icon{font-size:2.3rem}
.bf-neon .list-benefits .benefit-item strong{color:#ffe9d7}
.bf-neon .footer,.bf-neon .sidebar,.bf-neon .mobile-appbar{background:#1a0709f2}
.bf-neon .app-shell{background:radial-gradient(circle at 90% 0,#7a0e1650,transparent 52%),#1b0406}
.bf-neon .pane,.bf-neon .qr-box{background:linear-gradient(140deg,#310a0d,#26090b);border-color:#853f45}

/* Tarjeta de fidelidad real: anverso ilustrado y reverso con QR individual. */
.loyalty-profile{width:min(900px,100%);margin:20px auto 0;padding:clamp(16px,4vw,30px);border:1px solid #b13a43;border-radius:25px;background:radial-gradient(circle at 55% 20%,#6a1f2563,transparent 60%),linear-gradient(155deg,#3c060a,#240608);box-shadow:0 0 32px #ca1d2a3d}
.loyalty-profile-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:17px}
.loyalty-profile-header h2{font:900 clamp(1.5rem,4vw,2.3rem)/1.1 Outfit,sans-serif;margin:7px 0;color:#ffe3b2}
.loyalty-profile-header p{color:#e9c5c8;font-size:.91rem;margin:4px 0 0}
.loyalty-tier{border:1px solid #e2bc68;border-radius:22px;padding:8px 14px;background:#572327;color:#ffeca8;font-weight:900}
.loyalty-flip-controls{display:flex;gap:8px;margin:15px 0 14px;flex-wrap:wrap}
.loyalty-face-button{border-radius:28px;min-height:45px;border:1px solid #b2555c;background:#41161a;color:#f0d1d3;padding:9px 17px;font-size:.88rem;font-weight:800}
.loyalty-face-button.active{border-color:#ffe5b3;color:#280f11;background:linear-gradient(115deg,#ffe9a5,#d89d48);box-shadow:0 0 19px #f3c66e42}
.loyalty-card-stage{max-width:820px;margin:auto}
.loyalty-card-face{position:relative;width:100%;border-radius:24px;overflow:hidden;border:1px solid #ec6570;box-shadow:0 0 32px #ec13246b;background:#260a0c}
.loyalty-card-face[hidden]{display:none!important}
.loyalty-card-face>img{display:block;width:100%;height:auto}
.loyalty-turn{position:absolute;bottom:3%;right:3%;padding:8px 14px;border-radius:20px;border:1px solid #fff4d5;background:#1e0709d9;color:#fff7dc;font-size:.82rem;font-weight:800;backdrop-filter:blur(10px)}
.loyalty-qr-overlay{position:absolute;left:7.1%;top:35.5%;width:26.4%;aspect-ratio:1;background:white;border:4px solid white;border-radius:8px;box-shadow:0 0 12px #000c,0 0 18px #ff4654}
.loyalty-qr-overlay #qr-code{display:grid;place-items:center;width:100%;height:100%;overflow:hidden;color:#3d1619}
.loyalty-qr-overlay #qr-code img,.loyalty-qr-overlay #qr-code canvas{display:block;width:100%!important;height:auto!important;max-width:100%;image-rendering:pixelated}
.loyalty-qr-loading{font-size:clamp(.35rem,1.5vw,.85rem);text-align:center;color:#3a1c1f}
.loyalty-code-tools{display:flex;align-items:center;gap:11px;justify-content:space-between;flex-wrap:wrap;margin:18px auto 8px}
.loyalty-code-tools>div{display:grid;gap:2px;min-width:180px;margin-right:auto}
.loyalty-code-tools strong{font-size:1.15rem;color:#ffe8a6;letter-spacing:.06em}
.loyalty-code-tools small,.loyalty-note{font-size:.81rem;color:#dbb6b9}
.loyalty-qr-large{padding:22px 12px;margin-top:15px;border:1px solid #e35f69;border-radius:16px;background:#2b080a;text-align:center}
.loyalty-qr-large[hidden]{display:none!important}
#qr-code-big{width:min(100%,320px);padding:14px;min-height:260px;display:grid;place-items:center;background:white;border-radius:15px;margin:10px auto;color:#280f11}
#qr-code-big img,#qr-code-big canvas{max-width:100%;height:auto!important}
.loyalty-qr-large p{font-weight:900;letter-spacing:.1em;color:#ffe8a6}
.loyalty-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.loyalty-summary>div{padding:13px 9px;border-radius:13px;border:1px solid #85373d;background:#410c10;text-align:center}
.loyalty-summary span,.loyalty-summary strong{display:block}
.loyalty-summary span{font-size:.73rem;color:#e7c4c6}
.loyalty-summary strong{font:900 1.3rem Outfit,sans-serif;color:#ffe0a5;margin-top:3px}
.loyalty-note{margin:12px 0 0}
@media(max-width:1000px){.bf-neon .list-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.bf-neon .site-header{height:69px}.bf-neon .brand-symbol{width:38px;height:38px}.bf-neon .hero-inner{padding:24px 0 48px}.bf-neon .hero-emblem{width:min(440px,88vw)}.bf-neon .main-nav{background:#27080a;border-color:#ae3c45}.bf-neon .lang-choice{padding:5px 7px;font-size:.7rem}.bf-neon .lang-globe{font-size:.85rem}.bf-neon .lang-switch{padding:2px}.bf-neon .nav-actions{gap:5px}.bf-neon .hero-copy>p{margin-top:0}}
@media(max-width:610px){.bf-neon .site-header .nav-actions>a[href="#/registro"]{display:none}.bf-neon .brand-symbol{width:36px;height:36px}.bf-neon .hero-stats{display:none}.bf-neon .hero-cta{width:100%;gap:10px}.bf-neon .hero-cta .btn{min-width:0;flex:1 1 140px}.bf-neon .list-benefits{grid-template-columns:1fr 1fr}.bf-neon .benefit-item{padding:14px 9px}.loyalty-profile{padding:15px}.loyalty-profile-header{gap:12px}.loyalty-tier{font-size:.81rem}.loyalty-qr-overlay{border-width:2px;border-radius:5px}.loyalty-turn{padding:5px 9px;font-size:.72rem}.loyalty-summary{gap:5px}.loyalty-summary span{font-size:.63rem}.loyalty-summary strong{font-size:1.05rem}.loyalty-code-tools{gap:7px}.loyalty-code-tools .btn{flex:1}.lang-switch{max-width:146px}}
@media(max-width:370px){.bf-neon .lang-choice{font-size:.65rem;padding:5px}.bf-neon .lang-globe{padding-inline:2px}.bf-neon .nav-actions a[href="#/acceso"]{font-size:.68rem;padding:7px 6px}.loyalty-qr-overlay{left:7%;top:34.7%;width:27%}}
@media(max-width:370px){.bf-neon .site-header .nav-actions>a[href="#/acceso"]{display:none}.bf-neon .nav-wrap{gap:4px}.bf-neon .nav-actions{gap:2px}}
.bf-neon #toast{max-width:calc(100vw - 24px)}
@media(max-width:360px){
 .bf-neon .nav-actions .lang-choice{font-size:0;padding:5px 8px}
 .bf-neon .nav-actions .lang-choice[data-lang="es"]::after{content:"ES";font-size:.73rem}
 .bf-neon .nav-actions .lang-choice[data-lang="fr"]::after{content:"FR";font-size:.73rem}
 .bf-neon .site-header .nav-wrap{gap:3px}
}


/* Bellaquitas Fest — paleta definitiva rojo / oro / negro. */
body.bf-neon,body.bf-neon.theme-festival,body.bf-neon.theme-minimal{
 --bg:#080608;--bg2:#130709;--surface:#1b0b0d;--surface2:#270b10;
 --border:#80353a;--text:#fff7ef;--muted:#d8bec0;
 --gold:#ffd987;--gold2:#d6a34d;--berry:#d82935;--berry2:#891923;
 background:radial-gradient(ellipse 65% 36% at 50% 20%,#4c0a1080,transparent 78%),linear-gradient(180deg,#080508,#18070a 55%,#080608);
}
.bf-neon .site-header{background:#0e070aef;border-bottom-color:#923840;box-shadow:0 1px 22px #ae121b26}
.bf-neon .hero{background:radial-gradient(ellipse 42% 52% at 50% 36%,#a31c2c50,transparent 82%),radial-gradient(ellipse 40% 46% at 10% 74%,#8f0b2033,transparent 80%),linear-gradient(180deg,#100509,#32080d 88%,#130609)}
.bf-neon .hero-art:before{background:#ba1c252e}
.bf-neon .hero-emblem{filter:drop-shadow(0 8px 24px #b81c304b) drop-shadow(0 18px 46px #000a)}
.bf-neon .announce{background:linear-gradient(90deg,#360509,#8e1721,#360509);border-color:#a53a3e;box-shadow:0 0 24px #be17282e}
.bf-neon .feature,.bf-neon .event-card,.bf-neon .faq-card,.bf-neon .benefit-item{background:linear-gradient(150deg,#351012,#12080b);border-color:#7d313b}
.bf-neon .big-benefit{background:radial-gradient(circle at 45% 25%,#6b111a48,transparent 67%),linear-gradient(120deg,#280a10,#12070a);border-color:#a24643}
.bf-neon .loyalty-profile{background:radial-gradient(circle at 55% 20%,#7b1b224d,transparent 65%),linear-gradient(150deg,#26080f,#10080c);border-color:#a6434b}
.bf-neon .sidebar,.bf-neon .mobile-appbar,.bf-neon .footer{background:#0f080bec}
.bf-neon .app-shell{background:radial-gradient(circle at 90% 0,#67151d3b,transparent 50%),#0c070a}
.bf-neon .pane,.bf-neon .qr-box{background:linear-gradient(145deg,#230d13,#15090d);border-color:#79323b}
.bf-neon .btn-secondary,.bf-neon .btn-ghost{background:#280d12;color:#fff4e9;border-color:#88404a}
.bf-neon .btn-primary{color:#231209;background:linear-gradient(125deg,#fff0b7,#ffd16d 49%,#b97818);border-color:#fff0b2}
.bf-neon .nav-link{color:#f5e4de}
.bf-neon .nav-link:hover,.bf-neon .nav-link:focus-visible{color:var(--gold);text-shadow:0 0 10px #cc352550}
.bf-neon .lang-switch{background:#120709;border:1px solid #a53c49;box-shadow:0 0 10px #931a2459}
.bf-neon .lang-choice.active{background:linear-gradient(130deg,#aa1823,#e5373d);box-shadow:0 0 12px #d824305c}
.bf-neon .main-nav{background:#18090c;border-color:#7b3038}
.bf-neon .app-page,.bf-neon .metric strong{overflow-wrap:anywhere}
/* Search usable on Android and iPhone, including small viewports. */
.site-header{isolation:isolate}
.site-header .nav-wrap{min-width:0}
.header-search-button{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;background:#200c11;border:1px solid #90404d;border-radius:14px;color:var(--gold);font-size:1.8rem;line-height:1;cursor:pointer}
.header-search-button:hover,.header-search-button:focus-visible{background:#3d111b;outline:2px solid var(--gold);outline-offset:2px}
.site-search-panel[hidden]{display:none!important}
.site-search-panel{position:absolute;z-index:90;top:calc(100% + 1px);right:max(12px,calc((100vw - 1160px)/2));width:min(470px,calc(100vw - 24px));border:1px solid #a34d50;border-radius:0 0 18px 18px;box-shadow:0 26px 46px #000b;background:#16080cf7;padding:17px;max-height:min(76dvh,650px);overflow-y:auto;overscroll-behavior:contain}
.site-search-panel>label{display:block;margin-bottom:9px;color:var(--gold);font-weight:800}
.site-search-entry{display:flex;align-items:center;gap:6px;border:1px solid #94515a;border-radius:12px;background:#0b070a;padding:4px 8px}
.site-search-entry>span{color:var(--gold);font-size:1.5rem}
.site-search-entry input{flex:1;min-width:0;width:100%;font-size:16px;min-height:42px;padding:8px;background:transparent;border:0;color:white;outline:none}
.site-search-entry button{flex:none;min-width:44px;min-height:44px;background:#2d1019;border:1px solid #783741;color:#fff5e4;border-radius:10px}
.site-search-results{display:grid;gap:7px;margin-top:11px}
.site-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:57px;padding:10px 13px;border:1px solid #623037;border-radius:12px;background:#241013;color:#fff8f0}
.site-search-result strong{grid-column:1;display:block;overflow-wrap:anywhere}
.site-search-result small{grid-column:1;color:#d8bdb7}
.site-search-result>span{grid-column:2;grid-row:1/3;color:var(--gold)}
.site-search-result:hover,.site-search-result:focus-visible{outline:2px solid #e0b361;background:#42151a}
.site-search-empty{padding:20px 8px;margin:0;color:var(--muted)}
/* Keep anchor targets visible below the fixed mobile header. */
section[id]{scroll-margin-top:92px}
@media(max-width:800px){
 .bf-neon .site-header .nav-actions>a[href="#/acceso"]{display:none}
 .site-search-panel{left:12px;right:12px;width:auto;max-height:calc(100dvh - 110px)}
 .bf-neon .app-main{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
 .bf-neon .admin-list-pane .section-title{flex-wrap:wrap;gap:10px}
 .bf-neon .admin-list-pane .search-field{width:100%;max-width:none}
 .bf-neon .member-list-pane .search-field{width:100%}
 .bf-neon .admin-tabs{scroll-snap-type:x proximity;overscroll-behavior-x:contain}
 .bf-neon .admin-tabs .tab-btn{scroll-snap-align:start}
 .bf-neon .data-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:400px){
 .bf-neon .nav-actions{gap:3px}
 .bf-neon .header-search-button{width:42px;height:42px;border-radius:12px}
 .bf-neon .brand-symbol{width:32px;height:32px}
 .bf-neon .lang-switch{max-width:136px}
 .bf-neon .lang-choice{padding-inline:5px}
 .bf-neon .admin-item-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
 /* El panel y el editor siguen disponibles en el menú móvil, sin tapar ☰ ni Buscar. */
 .bf-neon .site-header .nav-actions > a{display:none!important}
 .bf-neon .nav-wrap{gap:7px}
 .bf-neon .brand{min-width:0}
 .bf-neon .brand-symbol{flex-shrink:0}
 .bf-neon .nav-actions{margin-left:auto;min-width:0;flex:0 0 auto}
 .bf-neon .menu-toggle{flex:0 0 44px;min-width:44px}
}
/* Buscadores de eventos y premios de las cuentas reales. */
.catalog-search-bar{display:grid;gap:8px;width:100%;max-width:560px;margin:3px 0 18px}
.catalog-search-bar label{font-size:.9rem;font-weight:800;color:var(--gold)}
.catalog-search-bar .search-field{min-height:48px;font-size:16px;background:#14090c;border-color:#803940}
.reward-card[hidden],.event-card[hidden],.member-record[hidden]{display:none!important}
#rewards-search-empty[hidden],#agenda-search-empty[hidden]{display:none!important}

/* 2026: páginas independientes, editor de toda la identidad visual y selector bilingüe. */
.brand-wordmark{display:inline-flex;align-items:baseline;gap:.25em;min-width:0;max-width:100%;overflow-wrap:anywhere}
.brand-wordmark em{flex-shrink:0}
.site-header .brand{min-width:0;max-width:52vw}
.site-header .brand .brand-wordmark{font-size:clamp(.64rem,1.05vw,.91rem);white-space:normal;line-height:1.06}
.site-header .brand-symbol{flex-shrink:0}
@media(max-width:650px){.site-header .brand .brand-wordmark{display:inline-flex!important;font-size:.67rem;max-width:82px;line-height:1.08}.bf-neon .site-header .brand{gap:4px}}
@media(max-width:370px){.site-header .brand .brand-wordmark{font-size:.59rem;max-width:65px}}
.app-shell .sidebar .brand-wordmark{font-size:.88rem}
.standalone-page{min-height:68vh;padding:26px 0 75px}
.standalone-page .standalone-navigation{display:flex;align-items:center;gap:17px;flex-wrap:wrap;padding:8px 0 24px}
.standalone-navigation strong{color:#f6d89c;font-size:1.08rem;overflow-wrap:anywhere}
.standalone-page .section{padding-top:23px}
.standalone-page .section .container{max-width:1150px}
.editor-page-switch{padding:14px 17px;border:1px solid #7b353b;border-radius:16px;margin:16px 0;background:#211014}
.editor-page-switch strong{display:block;margin-bottom:12px;color:#f7d7a3}
.editor-page-options{display:flex;gap:8px;flex-wrap:wrap}
.editor-page-options .active,.editor-language-switch button.active{background:#a5222a!important;color:#fff!important;border-color:#e5b56b!important;box-shadow:0 0 0 1px #e5b56b}
.editor-page-options button{min-height:40px}
.editor-language-switch{background:#2c1115;border:1px solid #9d454b;border-radius:12px;padding:13px;margin:0 0 17px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.editor-language-switch strong{width:100%;color:#efd5a0}
.editor-language-switch small{width:100%;color:#d4b1a8;font-size:.77rem;line-height:1.5}
.editor-field-list .editor-switch{min-height:41px;color:#fff1e7}
.admin-language-intro{background:linear-gradient(90deg,#3f161d,#27101a);border:1px solid #a04a54;border-radius:10px;padding:15px;margin-top:15px}
.admin-language-intro strong{font-size:1rem;color:#f6d89e}
.admin-language-intro p{font-size:.82rem;color:#e2bfbe;line-height:1.55;margin:6px 0 0}
@media(max-width:430px){.editor-page-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.editor-page-options .btn{font-size:.73rem;white-space:normal;min-width:0}}
/* Editor: copy de todas las pantallas, con búsqueda de cadenas en ambos idiomas. */
.editor-ui-copy-list{max-height:490px;overflow:auto;display:grid;gap:9px;margin-top:12px;overscroll-behavior:contain}
.editor-ui-copy-item{padding:11px;background:#281013;border:1px solid #80383d;border-radius:10px;display:grid;gap:6px;min-width:0}
.editor-ui-copy-item[hidden]{display:none!important}
.editor-ui-copy-item label{font-size:.77rem;color:#edc78d;line-height:1.45;overflow-wrap:anywhere}
.editor-ui-copy-item textarea{font:500 .85rem DM Sans,sans-serif;line-height:1.42;resize:vertical;width:100%;background:#18090d;color:#fff;min-height:53px}
/* Cabecera y CTA diseñados para los anchos reales de teléfonos pequeños. */
.lang-short{display:none}
@media(max-width:650px){
 .lang-full{display:none}
 .lang-short{display:inline}
 .bf-neon .lang-switch{max-width:114px;gap:1px}
 .bf-neon .lang-choice{padding:7px 8px;min-width:0;line-height:1.1}
 .bf-neon .lang-sep{display:none}
 .site-header .brand .brand-wordmark{display:flex!important;flex-direction:column;gap:0;max-width:72px;white-space:nowrap;font-size:.61rem!important;line-height:1.02}
 .site-header .brand .brand-wordmark em{font-size:.75em;letter-spacing:.16em}
 .bf-neon .hero-cta{flex-direction:column;align-items:stretch;gap:11px;margin:22px auto 0;width:100%}
 .bf-neon .hero-cta .btn{display:flex;flex:0 0 auto;width:100%;justify-content:center;min-height:50px;white-space:normal;text-align:center}
 .bf-neon .hero-cta .btn span{flex-shrink:0}
}
@media(max-width:360px){
 .site-header .brand .brand-wordmark{font-size:.51rem!important;max-width:60px}
 .bf-neon .lang-switch{max-width:90px}
 .bf-neon .lang-choice{padding:6px 6px}
}

/* QR local, alto contraste y zona silenciosa para lectura móvil. */
#qr-code svg,#qr-code-big svg{width:100%;height:auto;display:block;max-width:100%;aspect-ratio:1/1;shape-rendering:crispEdges}
.loyalty-qr-large{scroll-margin-top:24px}
#qr-code-big{max-width:340px;min-height:280px;box-shadow:0 0 0 5px #fff3}
@media(max-width:480px){#qr-code-big{width:min(100%,310px);min-height:280px}.loyalty-qr-large{padding:18px 10px}}

/* QR en ventana completa: siempre encima de la barra móvil y en máximo contraste. */
.member-qr-dialog{position:fixed;inset:0;border:1px solid #d6a355;background:#150708;color:#fff;border-radius:22px;padding:0;width:min(96vw,440px);max-width:96vw;max-height:90dvh;margin:auto;box-shadow:0 16px 65px #000a;overflow:auto;z-index:9999}
.member-qr-dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}
.member-qr-dialog-inner{padding:18px 18px 26px;display:grid;justify-items:center;gap:13px;text-align:center}
.member-qr-dialog h2{margin:0;color:#fff3df;font-size:1.22rem}
.member-qr-dialog p{margin:0;color:#f1ce86;font-weight:900;letter-spacing:.08em;overflow-wrap:anywhere}
#qr-code-modal{background:#fff;padding:12px;border-radius:15px;width:min(80vw,320px);aspect-ratio:1/1;display:grid;place-items:center}
#qr-code-modal svg{width:100%;height:auto;max-width:100%;aspect-ratio:1/1;display:block;shape-rendering:crispEdges}
@media (max-width:400px){.member-qr-dialog-inner{padding:12px 10px 18px;gap:10px}#qr-code-modal{width:min(82vw,300px)}}


/* Bellaquitas Fest · Fase 1: bloque de texto deslizante + Fase 2: cabecera Julieta */
.bf-topbar{height:34px;position:relative;overflow:hidden;background:linear-gradient(90deg,#7f101c,#ca2834 48%,#7f101c);border-bottom:1px solid #efad6680;color:#fff6e4;display:flex;align-items:center}
.bf-topbar:before,.bf-topbar:after{content:"";position:absolute;top:0;bottom:0;width:38px;z-index:1;pointer-events:none}
.bf-topbar:before{left:0;background:linear-gradient(90deg,#7f101c,transparent)}
.bf-topbar:after{right:0;background:linear-gradient(270deg,#7f101c,transparent)}
.bf-topbar-track{display:flex;width:max-content;white-space:nowrap;animation:bf-ticker 23s linear infinite}
.bf-ticker-set{display:inline-flex;align-items:center;gap:34px;padding:0 17px;white-space:nowrap;font:800 .67rem/1.2 Outfit,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.bf-ticker-set b{color:#ffe0a5}
.bf-ticker-set>span:nth-child(even){color:#ffc663}
@keyframes bf-ticker{to{transform:translateX(-50%)}}
.bf-marquee{position:relative;overflow:hidden;background:#f4bb6f;color:#28080c;min-height:126px;display:flex;align-items:center;border-block:3px solid #fbe8b2;isolation:isolate}
.bf-marquee:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(140deg,transparent 0 34px,#e6443719 35px 37px);pointer-events:none;z-index:1}
.bf-marquee-track{display:flex;align-items:center;width:max-content;animation:bf-headline 30s linear infinite}
.bf-marquee-set{display:inline-flex;flex:none;align-items:center}
.bf-marquee-item{display:inline-flex;flex:none;align-items:center;gap:26px;padding:8px 26px;font:900 clamp(2.2rem,5.3vw,5.5rem)/1.15 Outfit,system-ui,sans-serif;letter-spacing:-.055em;white-space:nowrap;text-transform:uppercase}
.bf-marquee-item b{color:#ac1928;font-size:.67em}
@keyframes bf-headline{to{transform:translateX(-50%)}}
.bf-neon .site-header .nav-wrap{position:relative}
.bf-neon .site-header .main-nav{display:none;position:absolute;top:calc(100% + 10px);right:0;left:auto;width:min(370px,calc(100vw - 22px));max-height:calc(100dvh - 110px);overflow:auto;z-index:41;flex-direction:column;align-items:stretch;gap:2px;padding:18px;background:#1b080edc;border:1px solid #ca5b51;box-shadow:0 24px 70px #000b,0 0 25px #9a18292f;border-radius:17px;backdrop-filter:blur(22px)}
.bf-neon .site-header .main-nav.open{display:flex;animation:bf-menu-enter .24s ease-out both}
.bf-neon .site-header .main-nav .nav-link{padding:11px 14px;border-radius:9px;font-size:.94rem}
.bf-neon .site-header .main-nav .nav-link:hover{background:#6f2530aa}
.bf-neon .site-header .main-nav .mobile-menu-actions{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.bf-neon .site-header .main-nav .menu-install{display:block;margin-top:8px}
.bf-neon .site-header .menu-toggle{display:inline-flex;min-width:46px;height:46px;flex:0 0 46px;align-items:center;justify-content:center;border-radius:13px}
.bf-menu-lines{width:22px;height:19px;display:flex;flex-direction:column;justify-content:space-between}
.bf-menu-lines i{height:2.5px;flex:0 0 2.5px;width:100%;border-radius:4px;display:block;background:#f5ce90;transform-origin:center;transition:transform .28s ease,opacity .18s ease,background .2s}
.menu-toggle:hover .bf-menu-lines i{background:#fff}
.menu-toggle.is-open .bf-menu-lines i:first-child{transform:translateY(8.25px) rotate(45deg)}
.menu-toggle.is-open .bf-menu-lines i:nth-child(2){opacity:0;transform:scaleX(.25)}
.menu-toggle.is-open .bf-menu-lines i:last-child{transform:translateY(-8.25px) rotate(-45deg)}
@keyframes bf-menu-enter{from{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.bf-neon .site-header .brand-symbol{animation:bf-logo-entry .9s cubic-bezier(.23,1.35,.46,1) both}
.bf-neon .site-header .brand-logo-image{transition:filter .25s,transform .25s}
.bf-neon .site-header .brand:hover .brand-logo-image{transform:scale(1.08) rotate(-3deg);filter:drop-shadow(0 0 12px #ffc66f)}
.bf-neon .hero .hero-emblem{animation:bf-hero-logo 1.15s cubic-bezier(.2,.9,.28,1.2) both}
.bf-neon .hero-copy .eyebrow{animation:bf-fade-up .65s .12s ease-out both}
.bf-neon .hero-copy h1{animation:bf-fade-up .9s .25s ease-out both}
.bf-neon .hero-copy>p{animation:bf-fade-up .85s .42s ease-out both}
.bf-neon .hero-copy .hero-cta{animation:bf-fade-up .85s .54s ease-out both}
@keyframes bf-logo-entry{0%{opacity:0;transform:rotate(-15deg) scale(.6)}65%{opacity:1;transform:rotate(6deg) scale(1.12)}100%{opacity:1;transform:rotate(0) scale(1)}}
@keyframes bf-hero-logo{0%{opacity:0;transform:translateY(55px) scale(.66) rotate(-8deg);filter:blur(8px)}70%{opacity:1;transform:translateY(-9px) scale(1.04) rotate(2deg);filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:drop-shadow(0 18px 46px #d8384d46)}}
@keyframes bf-fade-up{from{opacity:0;transform:translateY(27px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:801px){.bf-neon .site-header .nav-actions{margin-left:auto}.bf-neon .site-header .brand{max-width:30vw}}
@media(max-width:800px){.bf-topbar{height:30px}.bf-neon .site-header .nav-wrap{gap:7px}.bf-neon .site-header .main-nav{top:calc(100% + 10px);right:0;left:auto}.bf-marquee{min-height:92px}.bf-marquee-item{gap:20px;padding:7px 20px}}
@media(max-width:420px){.bf-neon .site-header .menu-toggle{min-width:42px;flex-basis:42px;height:44px}.bf-neon .site-header .nav-actions{gap:3px}.bf-marquee{min-height:80px}.bf-marquee-item{font-size:2.2rem;gap:16px;padding:6px 16px}}
@media(prefers-reduced-motion:reduce){.bf-topbar-track,.bf-marquee-track,.bf-neon .site-header .brand-symbol,.bf-neon .hero .hero-emblem,.bf-neon .hero-copy .eyebrow,.bf-neon .hero-copy h1,.bf-neon .hero-copy>p,.bf-neon .hero-copy .hero-cta,.bf-neon .site-header .main-nav.open{animation:none!important}.bf-topbar-track,.bf-marquee-track{transform:none!important}.bf-menu-lines i{transition:none}}


/* Fases 3 y 4: escenarios cinematográficos con vídeo opcional y fondo de respaldo. */
.bf-neon .hero{isolation:isolate;background:radial-gradient(ellipse at 83% 26%,#951b3b71,transparent 52%),radial-gradient(ellipse at 15% 80%,#a5272850,transparent 60%),#10060a}
.bf-neon .hero:before{z-index:1}
.bf-neon .hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0b050de8 0%,#0b050cba 53%,#0b050d5e 100%);animation:bf-cinematic-reveal 1.6s ease-out both}
.bf-neon .hero .hero-inner{position:relative;z-index:2}
.bf-hero-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:.78}
.bf-neon .hero-art:before{animation:bf-ambient-glow 9s ease-in-out infinite alternate}
.bf-experience-section{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 70% 15%,#6c152844,transparent 62%),#10070d}
.bf-experience-section:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,#100710f3,#17080cd9 60%,#100710ba)}
.bf-experience-section>.container{position:relative;z-index:2}
.bf-experience-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;pointer-events:none}
.bf-experience-section .section-head{animation:bf-fade-up .8s ease-out both}
@keyframes bf-cinematic-reveal{0%{opacity:1;background-color:#070308}100%{opacity:1;background-color:transparent}}
@keyframes bf-ambient-glow{0%{transform:translate(-20px,12px) scale(.86);opacity:.65}100%{transform:translate(20px,-14px) scale(1.2);opacity:1}}
@media(prefers-reduced-motion:reduce){.bf-hero-video,.bf-experience-video{display:none!important}.bf-neon .hero:after,.bf-neon .hero-art:before,.bf-experience-section .section-head{animation:none!important}}

/* Diseño aprobado 05-11-2026: cabecera Julieta, idioma fijo, cinta compacta. */
.bf-neon .bf-topbar{display:none!important}
.bf-neon .site-header{position:sticky;top:0;height:auto;min-height:78px;background:#100714f5;border-bottom:1px solid #b67a55;box-shadow:0 4px 24px #0006;z-index:80}
.bf-neon .site-header .nav-wrap{width:min(1400px,calc(100% - 32px));min-height:76px;gap:clamp(8px,1.4vw,20px)}
.bf-neon .site-header .brand{flex-shrink:0;white-space:nowrap}
.bf-neon .site-header .bf-desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(9px,1.5vw,25px);flex:1;min-width:0}
.bf-neon .site-header .bf-desktop-nav .nav-link{font-size:clamp(.68rem,.86vw,.9rem);text-transform:uppercase;white-space:nowrap;font-weight:800}
.bf-neon .site-header .bf-desktop-nav .nav-link[href="#/"]{color:#ff79ae;border-bottom:3px solid #f43e90;padding-bottom:8px}
.bf-neon .site-header .nav-actions{align-items:center;flex-shrink:0;gap:7px}
.bf-neon .site-header .lang-switch{flex-shrink:0}
.bf-neon .site-header .menu-toggle{border-color:#c58765;background:#210e21}
.bf-neon .site-header .menu-toggle.is-open .bf-menu-lines i{opacity:1;transform:none}
.bf-neon .bf-marquee{min-height:48px;border-width:1px;background:linear-gradient(90deg,#b78044,#f6d28a 15%,#f4c76c 85%,#b78044)}
.bf-neon .bf-marquee:before{display:none}
.bf-neon .bf-marquee-item{font-size:clamp(.95rem,1.7vw,1.55rem);gap:16px;padding:5px 18px;letter-spacing:-.025em}
.bf-neon .bf-marquee-item b{color:#6d253e}
.bf-neon .bf-marquee-track{animation-duration:36s}
@media(max-width:1250px){
 .bf-neon .site-header .bf-desktop-nav{gap:9px}
 .bf-neon .site-header .bf-desktop-nav .nav-link{font-size:.68rem}
 .bf-neon .site-header .nav-actions>.btn{display:none}
}
@media(max-width:1000px){
 .bf-neon .site-header .bf-desktop-nav{display:none}
 .bf-neon .site-header .nav-actions{margin-left:auto}
}
@media(max-width:650px){
 .bf-neon .site-header .nav-wrap{width:calc(100% - 20px);gap:5px}
 .bf-neon .site-header .brand{min-width:0}
 .bf-neon .site-header .nav-actions{gap:4px}
 .bf-neon .site-header .header-search-button{display:none}
 .bf-neon .bf-marquee{min-height:38px}
 .bf-neon .bf-marquee-item{font-size:.9rem;gap:10px;padding:4px 12px}
}

/* Cabecera flotante: media pantalla en escritorio, borde dorado visible. */
@media(min-width:1001px){
 .bf-neon .site-header{width:50%;margin:14px auto 0;border:1.5px solid #e5b66f;border-radius:24px;min-height:66px;box-shadow:0 12px 38px #0009,0 0 18px #c98a4b28;overflow:visible}
 .bf-neon .site-header .nav-wrap{width:calc(100% - 24px);min-height:64px;gap:8px}
 .bf-neon .site-header .bf-desktop-nav{display:none}
 .bf-neon .site-header .nav-actions{margin-left:auto}
 .bf-neon .site-header .nav-actions>.btn{display:none}
 .bf-neon .site-header .brand{font-size:clamp(.8rem,1.05vw,1.1rem)}
}
@media(max-width:1000px){
 .bf-neon .site-header{width:min(94%,650px);margin:10px auto 0;border:1.5px solid #e5b66f;border-radius:22px;min-height:65px;box-shadow:0 10px 32px #0008}
 .bf-neon .site-header .nav-wrap{min-height:63px}
}
@media(max-width:650px){
 .bf-neon .site-header{width:calc(100% - 16px);border-radius:18px}
}

/* Barra Julieta centrada con enlaces visibles y desplazamiento accesible. */
@media(min-width:1001px){.bf-neon .site-header{width:50%;border-radius:999px}.bf-neon .site-header .nav-wrap{gap:7px}.bf-neon .site-header .bf-desktop-nav{display:flex;flex:1 1 auto;min-width:0;justify-content:flex-start;gap:12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c58c64 transparent;padding:7px 2px}.bf-neon .site-header .bf-desktop-nav .nav-link{flex:none;font-size:.7rem}.bf-neon .site-header .nav-actions{flex-shrink:0;margin-left:0}.bf-neon .site-header .header-search-button{display:none}.bf-neon .site-header .lang-full{display:none}.bf-neon .site-header .lang-short{display:inline}.bf-neon .site-header .lang-choice{padding:6px 7px}.bf-neon .site-header .menu-toggle{min-width:40px;flex-basis:40px;height:40px;border-radius:12px}}@media(min-width:1001px) and (max-width:1450px){.bf-neon .site-header .brand .brand-wordmark{display:none!important}.bf-neon .site-header .nav-wrap{width:calc(100% - 18px)}}

/* Navbar v17: distribución estructural, sin desbordamientos ni enlaces cortados. */
.bf-neon .site-header{box-sizing:border-box;isolation:isolate}
.bf-neon .site-header .nav-wrap{display:grid!important;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;justify-content:initial;column-gap:clamp(8px,1vw,18px);max-width:100%;margin-inline:auto}
.bf-neon .site-header .brand{min-width:0;max-width:100%;overflow:hidden}
.bf-neon .site-header .nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.bf-neon .site-header .bf-desktop-nav{min-width:0;overflow:visible;justify-content:center}
.bf-neon .site-header .bf-desktop-nav .nav-link{padding:7px 0;line-height:1.2}
.bf-neon .site-header .menu-toggle{display:inline-flex!important;flex-shrink:0;align-items:center;justify-content:center}
.bf-neon .site-header .main-nav{right:0;left:auto;top:calc(100% + 12px);max-width:calc(100vw - 24px)}
.bf-neon .site-header .main-nav:not(.open){display:none!important}
.bf-neon .site-header .main-nav.open{display:flex!important}
.bf-neon .site-header .lang-switch{min-width:0}
@media(min-width:1501px){
 .bf-neon .site-header{width:clamp(780px,54vw,1060px);max-width:calc(100% - 40px);border-radius:999px}
 .bf-neon .site-header .nav-wrap{width:calc(100% - 32px);grid-template-columns:max-content minmax(0,1fr) max-content}
 .bf-neon .site-header .bf-desktop-nav{display:flex!important;gap:clamp(8px,.9vw,17px);overflow:visible}
 .bf-neon .site-header .bf-desktop-nav .nav-link{font-size:clamp(.63rem,.7vw,.82rem)}
 .bf-neon .site-header .brand .brand-wordmark{display:none!important}
 .bf-neon .site-header .nav-actions>.btn,.bf-neon .site-header .header-search-button{display:none!important}
}
@media(min-width:1001px) and (max-width:1500px){
 .bf-neon .site-header{width:min(760px,calc(100% - 40px));border-radius:999px}
 .bf-neon .site-header .bf-desktop-nav{display:none!important}
 .bf-neon .site-header .nav-wrap{grid-template-columns:minmax(0,1fr) auto}
 .bf-neon .site-header .brand .brand-wordmark{display:flex!important}
 .bf-neon .site-header .nav-actions>.btn,.bf-neon .site-header .header-search-button{display:none!important}
}
@media(max-width:1000px){
 .bf-neon .site-header{width:min(94%,650px);border-radius:999px}
 .bf-neon .site-header .nav-wrap{grid-template-columns:minmax(0,1fr) auto}
 .bf-neon .site-header .bf-desktop-nav{display:none!important}
 .bf-neon .site-header .nav-actions>.btn{display:none!important}
}
@media(max-width:650px){
 .bf-neon .site-header{width:calc(100% - 16px);min-height:60px}
 .bf-neon .site-header .nav-wrap{min-height:58px;width:calc(100% - 20px);column-gap:6px}
 .bf-neon .site-header .brand{gap:5px}
 .bf-neon .site-header .brand .brand-wordmark{font-size:.64rem!important}
 .bf-neon .site-header .lang-switch{max-width:105px}
 .bf-neon .site-header .lang-choice{padding:5px 6px}
 .bf-neon .site-header .menu-toggle{min-width:40px;flex-basis:40px;height:40px}
}
@media(max-width:380px){
 .bf-neon .site-header .brand .brand-wordmark{display:none!important}
 .bf-neon .site-header .lang-switch{max-width:96px}
}

/* Corrección final: cápsula centrada y proporciones coherentes según viewport. */
@media(min-width:1150px){
 body.bf-neon > #app .site-header{width:clamp(790px,58vw,1080px)!important;max-width:calc(100vw - 48px)!important;margin:16px auto 0!important;border:1.5px solid #e5b66f!important;border-radius:999px!important;background:#140b1bf0!important;box-shadow:0 12px 32px #0007!important}
 body.bf-neon > #app .site-header .nav-wrap{display:grid!important;grid-template-columns:max-content minmax(0,1fr) max-content!important;width:calc(100% - 30px)!important;gap:12px!important}
 body.bf-neon > #app .site-header .bf-desktop-nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(8px,1vw,18px)!important;overflow:visible!important}
 body.bf-neon > #app .site-header .bf-desktop-nav .nav-link{font-size:clamp(.66rem,.72vw,.82rem)!important;white-space:nowrap!important}
 body.bf-neon > #app .site-header .brand .brand-wordmark{display:none!important}
 body.bf-neon > #app .site-header .nav-actions>.btn,body.bf-neon > #app .site-header .header-search-button{display:none!important}
}
@media(min-width:701px) and (max-width:1149px){
 body.bf-neon > #app .site-header{width:min(680px,calc(100% - 32px))!important;margin:12px auto 0!important;border:1.5px solid #e5b66f!important;border-radius:999px!important}
 body.bf-neon > #app .site-header .nav-wrap{grid-template-columns:minmax(0,1fr) auto!important}
 body.bf-neon > #app .site-header .bf-desktop-nav{display:none!important}
}
@media(max-width:700px){
 body.bf-neon > #app .site-header{width:calc(100% - 20px)!important;margin:10px auto 0!important;border:1.5px solid #e5b66f!important;border-radius:999px!important}
 body.bf-neon > #app .site-header .nav-wrap{grid-template-columns:minmax(0,1fr) auto!important}
 body.bf-neon > #app .site-header .bf-desktop-nav{display:none!important}
}

/* Experiencia cinematográfica continua inmediatamente después de la banda dorada. */
.bf-neon .bf-after-marquee{position:relative;isolation:isolate;overflow:hidden;background:#10070d;min-height:500px}
.bf-neon .bf-after-marquee-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0;pointer-events:none}
.bf-neon .bf-after-marquee-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(12,4,13,.58),rgba(13,5,16,.72) 40%,rgba(13,5,16,.77))}
.bf-neon .bf-after-marquee-content{position:relative;z-index:2}
.bf-neon .bf-after-marquee-content>.line{background:linear-gradient(90deg,transparent,#d0a16466,transparent)}
.bf-neon .bf-after-marquee-content>.section{background:transparent!important}
.bf-neon .bf-after-marquee-content>.bf-experience-section{isolation:auto;overflow:visible}
.bf-neon .bf-after-marquee-content>.bf-experience-section:before{display:none}
.bf-neon .bf-after-marquee-content .bf-experience-video{display:none}
.bf-neon .bf-after-marquee-content .section-head,.bf-neon .bf-after-marquee-content .container{position:relative;z-index:2}
@media(max-width:700px){
 .bf-neon .bf-after-marquee-video{object-position:48% center}
 .bf-neon .bf-after-marquee-shade{background:linear-gradient(180deg,rgba(12,4,13,.66),rgba(13,5,16,.77))}
}
@media(prefers-reduced-motion:reduce){.bf-neon .bf-after-marquee-video{display:none}}

/* Vídeo 16:9: encuadre de referencia 1920 × 1080, sin ampliación excesiva. */
.bf-neon .bf-after-marquee-video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center top!important;
}
.bf-neon .bf-after-marquee{background:#10070d}
@media(max-width:700px){
 .bf-neon .bf-after-marquee-video{
   object-fit:cover!important;
   object-position:center top!important;
 }
}

/* Transparencia solicitada: eliminar fondos de paneles y tarjetas posteriores a la cinta dorada.
   El vídeo permanece visible; se conservan textos, bordes y contraste. */
body.bf-neon .bf-after-marquee-content > .section,
body.bf-neon .bf-after-marquee-content .feature,
body.bf-neon .bf-after-marquee-content .event-card,
body.bf-neon .bf-after-marquee-content .big-benefit,
body.bf-neon .bf-after-marquee-content .benefit-item,
body.bf-neon .bf-after-marquee-content .faq-card,
body.bf-neon .bf-after-marquee-content .cta-banner,
body.bf-neon .bf-after-marquee-content .loyalty-showcase,
body.bf-neon .bf-after-marquee-content .list-benefits,
body.bf-neon .bf-after-marquee-content .empty-state,
body.bf-neon .bf-after-marquee-content .card,
body.bf-neon .bf-after-marquee-content .info-note{
 background:rgba(15,6,17,.035)!important;
 background-image:none!important;
 box-shadow:none!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}
body.bf-neon .bf-after-marquee-content .feature::before,
body.bf-neon .bf-after-marquee-content .feature::after,
body.bf-neon .bf-after-marquee-content .big-benefit::before,
body.bf-neon .bf-after-marquee-content .big-benefit::after,
body.bf-neon .bf-after-marquee-content .cta-banner::before,
body.bf-neon .bf-after-marquee-content .cta-banner::after{background:transparent!important;box-shadow:none!important}
body.bf-neon .bf-after-marquee-shade{background:rgba(9,4,12,.20)!important}
body.bf-neon .bf-after-marquee-content .section{background-color:transparent!important;background-image:none!important}
@media(max-width:700px){body.bf-neon .bf-after-marquee-shade{background:rgba(9,4,12,.30)!important}}

/* Cristal nocturno: paneles semitransparentes legibles sobre vídeo, estilo discoteca. */
body.bf-neon .bf-after-marquee-content .feature,
body.bf-neon .bf-after-marquee-content .event-card,
body.bf-neon .bf-after-marquee-content .big-benefit,
body.bf-neon .bf-after-marquee-content .benefit-item,
body.bf-neon .bf-after-marquee-content .faq-card,
body.bf-neon .bf-after-marquee-content .cta-banner,
body.bf-neon .bf-after-marquee-content .empty-state,
body.bf-neon .bf-after-marquee-content .card,
body.bf-neon .bf-after-marquee-content .info-note{
 background:rgba(17,8,23,.58)!important;
 background-image:none!important;
 border-color:rgba(234,166,179,.52)!important;
 box-shadow:0 12px 32px rgba(0,0,0,.16)!important;
 backdrop-filter:blur(10px) saturate(115%)!important;
 -webkit-backdrop-filter:blur(10px) saturate(115%)!important;
}
body.bf-neon .bf-after-marquee-content .big-benefit{
 background:rgba(20,8,25,.67)!important;
}
body.bf-neon .bf-after-marquee-content .loyalty-showcase{
 background:rgba(18,8,25,.12)!important;
 background-image:none!important;
 box-shadow:none!important;
}
body.bf-neon .bf-after-marquee-content .feature h3,
body.bf-neon .bf-after-marquee-content .big-benefit h3,
body.bf-neon .bf-after-marquee-content .faq-card h3,
body.bf-neon .bf-after-marquee-content .benefit-item strong{
 color:#fff4db!important;text-shadow:0 1px 3px rgba(0,0,0,.65);
}
body.bf-neon .bf-after-marquee-content .feature p,
body.bf-neon .bf-after-marquee-content .big-benefit p,
body.bf-neon .bf-after-marquee-content .faq-card p,
body.bf-neon .bf-after-marquee-content .benefit-item p{
 color:#f4eaf0!important;text-shadow:0 1px 3px rgba(0,0,0,.65);
}
body.bf-neon .bf-after-marquee-shade{background:rgba(9,4,12,.32)!important}
@media(max-width:700px){
 body.bf-neon .bf-after-marquee-shade{background:rgba(9,4,12,.42)!important}
 body.bf-neon .bf-after-marquee-content .feature,
 body.bf-neon .bf-after-marquee-content .big-benefit,
 body.bf-neon .bf-after-marquee-content .benefit-item,
 body.bf-neon .bf-after-marquee-content .faq-card,
 body.bf-neon .bf-after-marquee-content .cta-banner{
  background:rgba(17,8,23,.68)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
 }
}
@media(prefers-reduced-transparency:reduce){
 body.bf-neon .bf-after-marquee-content .feature,
 body.bf-neon .bf-after-marquee-content .big-benefit,
 body.bf-neon .bf-after-marquee-content .benefit-item,
 body.bf-neon .bf-after-marquee-content .faq-card,
 body.bf-neon .bf-after-marquee-content .cta-banner{background:rgba(17,8,23,.90)!important;backdrop-filter:none!important}
}

/* Próximamente / Lo que está por venir: quitar el último panel opaco. */
body.bf-neon .bf-after-marquee-content #eventos,
body.bf-neon .bf-after-marquee-content #eventos::before,
body.bf-neon .bf-after-marquee-content #eventos::after,
body.bf-neon .bf-after-marquee-content #eventos .three-grid,
body.bf-neon .bf-after-marquee-content #eventos .empty,
body.bf-neon .bf-after-marquee-content #eventos .empty-state,
body.bf-neon .bf-after-marquee-content #eventos .event-card,
body.bf-neon .bf-after-marquee-content #eventos .section-head{
 background:transparent!important;
 background-image:none!important;
 box-shadow:none!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}
body.bf-neon .bf-after-marquee-content #eventos .empty,
body.bf-neon .bf-after-marquee-content #eventos .event-card{
 background:rgba(12,5,16,.035)!important;
}

/* Vídeo continuo: desde la banda dorada hasta el final de «Tu lugar está aquí». */
body.bf-neon .bf-after-marquee{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:0!important;
}
body.bf-neon .bf-after-marquee > video.bf-after-marquee-video{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
  z-index:0!important;
  pointer-events:none!important;
}
body.bf-neon .bf-after-marquee > .bf-after-marquee-shade{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:rgba(9,4,12,.24)!important;
  pointer-events:none!important;
}
body.bf-neon .bf-after-marquee > .bf-after-marquee-content{
  position:relative!important;
  z-index:2!important;
  background:transparent!important;
}
body.bf-neon .bf-after-marquee-content #unete,
body.bf-neon .bf-after-marquee-content #unete .cta-banner{
  background:transparent!important;
  background-image:none!important;
}
@media(max-width:700px){
 body.bf-neon .bf-after-marquee > video.bf-after-marquee-video{object-position:center center!important}
 body.bf-neon .bf-after-marquee > .bf-after-marquee-shade{background:rgba(9,4,12,.3)!important}
}


/* Vídeo Full HD sin recortes: un único plano completo mientras se recorre
   la página desde la cinta dorada hasta «Tu lugar está aquí».
   La posición sticky evita estirar un fotograma 16:9 a una sección muy alta. */
body.bf-neon .bf-after-marquee{
  position:relative!important;
  overflow:clip!important;
  isolation:isolate!important;
}
body.bf-neon .bf-after-marquee > video.bf-after-marquee-video{
  position:sticky!important;
  inset:auto!important;
  top:0!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100vh!important;
  height:100svh!important;
  min-height:0!important;
  margin:0 0 -100vh!important;
  margin-bottom:-100svh!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#10070d!important;
  opacity:1!important;
  z-index:0!important;
  pointer-events:none!important;
}
body.bf-neon .bf-after-marquee > .bf-after-marquee-content{
  position:relative!important;
  z-index:2!important;
}
body.bf-neon .bf-after-marquee > .bf-after-marquee-shade{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
}
@media(max-width:700px){
  body.bf-neon .bf-after-marquee > video.bf-after-marquee-video{
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* Relleno lateral del vídeo 16:9 con el degradado violeta/azul proporcionado.
   El vídeo permanece entero y sin alterar su resolución ni calidad. */
body.bf-neon .bf-after-marquee{
  background-color:#08051d!important;
  background-image:url("assets/62609.jpg")!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
body.bf-neon .bf-after-marquee > video.bf-after-marquee-video{
  background:transparent!important;
  object-fit:contain!important;
}
@media(max-width:700px){
 body.bf-neon .bf-after-marquee{
   background-position:center center!important;
 }
}

/* Corrección definitiva de transparencia de las tarjetas sobre el vídeo.
   Mantener textos y bordes, eliminar rellenos opacos y desenfoque. */
body.bf-neon .bf-after-marquee .bf-after-marquee-content .feature,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .event-card,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .big-benefit,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .benefit-item,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .faq-card,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .cta-banner,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .loyalty-showcase,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .list-benefits,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .empty-state,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .card,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .info-note,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .pane,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .metric,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .stat-box{
 background:rgba(13,5,20,.07)!important;
 background-image:none!important;
 box-shadow:none!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}
body.bf-neon .bf-after-marquee .bf-after-marquee-content .feature::before,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .feature::after,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .event-card::before,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .event-card::after,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .big-benefit::before,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .big-benefit::after,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .cta-banner::before,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .cta-banner::after{
 background:transparent!important;
 background-image:none!important;
 box-shadow:none!important;
}
body.bf-neon .bf-after-marquee .bf-after-marquee-content #eventos,
body.bf-neon .bf-after-marquee .bf-after-marquee-content #eventos .three-grid,
body.bf-neon .bf-after-marquee .bf-after-marquee-content #eventos .empty,
body.bf-neon .bf-after-marquee .bf-after-marquee-content #eventos .empty-state{
 background:transparent!important;
 background-image:none!important;
 box-shadow:none!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}

/* Cristal ahumado estilo Julieta: vídeo visible, lectura nítida y sombra elegante. */
body.bf-neon .bf-after-marquee .bf-after-marquee-content .feature,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .event-card,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .big-benefit,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .benefit-item,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .faq-card,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .cta-banner,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .loyalty-showcase,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .list-benefits,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .empty-state,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .card,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .info-note,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .pane,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .metric,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .stat-box{
 background:linear-gradient(145deg,rgba(15,8,23,.48),rgba(17,8,24,.34))!important;
 background-color:rgba(15,8,23,.42)!important;
 border-color:rgba(238,192,204,.38)!important;
 box-shadow:0 16px 42px rgba(0,0,0,.38),0 3px 12px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.10)!important;
 backdrop-filter:blur(5px) saturate(112%)!important;
 -webkit-backdrop-filter:blur(5px) saturate(112%)!important;
}
body.bf-neon .bf-after-marquee .bf-after-marquee-content .feature h3,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .big-benefit h3,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .faq-card h3,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .cta-banner h2,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .section-head h2{
 text-shadow:0 2px 8px rgba(0,0,0,.86),0 1px 2px rgba(0,0,0,.9)!important;
}
body.bf-neon .bf-after-marquee .bf-after-marquee-content .feature p,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .big-benefit p,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .faq-card p,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .benefit-item p,
body.bf-neon .bf-after-marquee .bf-after-marquee-content .section-head p{
 text-shadow:0 1px 5px rgba(0,0,0,.95)!important;
}
body.bf-neon .bf-after-marquee .bf-after-marquee-content #eventos .empty,
body.bf-neon .bf-after-marquee .bf-after-marquee-content #eventos .empty-state{
 background:rgba(12,6,18,.23)!important;
 border-radius:18px;
 text-shadow:0 2px 6px rgba(0,0,0,.95)!important;
}
@media(max-width:700px){
 body.bf-neon .bf-after-marquee .bf-after-marquee-content .feature,
 body.bf-neon .bf-after-marquee .bf-after-marquee-content .event-card,
 body.bf-neon .bf-after-marquee .bf-after-marquee-content .big-benefit,
 body.bf-neon .bf-after-marquee .bf-after-marquee-content .benefit-item,
 body.bf-neon .bf-after-marquee .bf-after-marquee-content .faq-card,
 body.bf-neon .bf-after-marquee .bf-after-marquee-content .cta-banner{
  background:linear-gradient(145deg,rgba(15,8,23,.54),rgba(17,8,24,.42))!important;
  box-shadow:0 12px 28px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.10)!important;
 }
}


/* Legibilidad uniforme en todas las secciones sobre vídeo — estilo Julieta.
   Sombras solo en texto, sin oscurecer el vídeo ni modificar tarjetas/medios. */
body.bf-neon .bf-after-marquee .bf-after-marquee-content :is(
  .section-head h2,.section-head h3,.section-head p,
  .section-head .eyebrow,.feature h3,.feature p,
  .event-card h3,.event-card p,.event-card strong,.event-card small,
  .big-benefit h2,.big-benefit h3,.big-benefit p,.big-benefit .eyebrow,
  .benefit-item strong,.benefit-item p,
  .faq-card h3,.faq-card p,
  .cta-banner h2,.cta-banner h3,.cta-banner p,.cta-banner .eyebrow,
  .empty,.empty-state,.empty-state p,
  .eyebrow,.list-benefits p,.list-benefits strong
){
  text-shadow:
    0 1px 2px rgba(0,0,0,.98),
    0 3px 8px rgba(0,0,0,.9),
    0 6px 18px rgba(0,0,0,.76)!important;
}
body.bf-neon .bf-after-marquee .bf-after-marquee-content :is(
  .section-head p,.feature p,.event-card p,
  .big-benefit p,.benefit-item p,.faq-card p,.cta-banner p,
  .empty-state p
){
  color:#faf4f7!important;
}
/* Halo oscuro de borde difuso únicamente detrás de los títulos que flotan
   directamente sobre el vídeo (no es un panel opaco). */
body.bf-neon .bf-after-marquee .bf-after-marquee-content .section-head > div{
  position:relative;
  isolation:isolate;
}
body.bf-neon .bf-after-marquee .bf-after-marquee-content .section-head > div::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-18px -30px;
  border-radius:45%;
  background:radial-gradient(ellipse at 28% 48%,
    rgba(5,3,11,.30) 0%,
    rgba(5,3,11,.17) 45%,
    rgba(5,3,11,0) 78%);
  pointer-events:none;
}
/* Sombras en etiquetas de los eventos y textos auxiliares sin tocar botones. */
body.bf-neon .bf-after-marquee .bf-after-marquee-content :is(
  .event-card .tag,.event-card .chip,.event-card .meta,
  .event-card time,.benefit-item span,.faq-card strong
){
  text-shadow:0 2px 6px rgba(0,0,0,.9),0 4px 12px rgba(0,0,0,.7)!important;
}
@media(max-width:700px){
 body.bf-neon .bf-after-marquee .bf-after-marquee-content .section-head > div::before{
  inset:-12px -16px;
 }
}


/* Portada: vídeo propio, independiente del fondo posterior a la banda dorada.
   El vídeo se limita estrictamente a #inicio; el menú, logo y textos van encima. */
body.bf-neon .hero.bf-video-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:1;
  z-index:0;
  pointer-events:none;
}
/* Sombra sobre el vídeo, sin afectar al separador amarillo ni al vídeo inferior. */
body.bf-neon .hero.bf-video-hero::after{
  background:linear-gradient(180deg,
    rgba(7,3,12,.55) 0%,
    rgba(7,3,12,.35) 45%,
    rgba(7,3,12,.61) 100%);
  pointer-events:none;
}
body.bf-neon .hero.bf-video-hero .hero-inner{
  position:relative;
  z-index:2;
}
body.bf-neon .hero.bf-video-hero .hero-copy :is(h1,p,.eyebrow,.hero-stat strong,.hero-stat span){
  text-shadow:0 2px 7px rgba(0,0,0,.85),0 5px 18px rgba(0,0,0,.7);
}
@media(max-width:700px){
 body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
   object-fit:cover;
   object-position:50% 50%;
 }
 body.bf-neon .hero.bf-video-hero::after{
   background:linear-gradient(180deg,
     rgba(7,3,12,.59) 0%,
     rgba(7,3,12,.43) 45%,
     rgba(7,3,12,.66) 100%);
 }
}

/* Portada: mantener toda la altura del hero y mostrar únicamente el vídeo.
   La retirada de los elementos superpuestos no debe colapsar la sección. */
body.bf-neon .hero.bf-video-hero{
 display:block!important;
 position:relative!important;
 min-height:100svh!important;
 height:100svh!important;
 overflow:hidden!important;
 background:#100a17!important;
}
body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
 display:block!important;
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 object-fit:cover!important;
 opacity:1!important;
 visibility:visible!important;
 z-index:1!important;
}
body.bf-neon .hero.bf-video-hero::after{
 background:transparent!important;
 opacity:0!important;
 pointer-events:none!important;
}
@media(max-width:700px){
 body.bf-neon .hero.bf-video-hero{
  height:100svh!important;
  min-height:100svh!important;
 }
}

/* Video de portada en resolución original, sin filtros ni escalados extra. */
body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
 filter:none!important;
 -webkit-filter:none!important;
 transform:none!important;
 animation:none!important;
 object-fit:contain!important;
 object-position:center center!important;
 opacity:1!important;
 background:#08051d!important;
}
body.bf-neon .hero.bf-video-hero{
 background:#08051d!important;
}
@media(max-width:700px){
 body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
  object-fit:contain!important;
 }
}

/* Portada enmarcada: vídeo completo, centrado, sin ocupar los bordes.
   No aplicar blur, filtros de nitidez artificial ni ampliaciones por CSS. */
body.bf-neon .hero.bf-video-hero{
 min-height:100svh!important;
 height:100svh!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 padding:clamp(72px,8vh,100px) clamp(18px,5vw,110px) clamp(24px,4vh,55px)!important;
 box-sizing:border-box!important;
 background:radial-gradient(ellipse at center,#211330 0%,#0c0719 75%,#070511 100%)!important;
 overflow:hidden!important;
}
body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
 position:relative!important;
 inset:auto!important;
 display:block!important;
 width:100%!important;
 height:100%!important;
 max-width:1920px!important;
 max-height:calc(100svh - 110px)!important;
 object-fit:contain!important;
 object-position:center center!important;
 transform:none!important;
 filter:none!important;
 -webkit-filter:none!important;
 opacity:1!important;
 animation:none!important;
 background:transparent!important;
 border-radius:clamp(12px,1.6vw,24px)!important;
 box-shadow:0 24px 72px rgba(0,0,0,.48)!important;
}
@media(max-width:700px){
 body.bf-neon .hero.bf-video-hero{
  padding:82px 12px 22px!important;
 }
 body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
  max-height:calc(100svh - 104px)!important;
  border-radius:12px!important;
 }
}

/* Portada sin marcos: el vídeo cubre todo el hero de borde a borde.
   El fichero original se reproduce sin filtros ni compresión. */
body.bf-neon .hero.bf-video-hero{
 display:block!important;
 position:relative!important;
 width:100%!important;
 min-height:100svh!important;
 height:100svh!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 overflow:hidden!important;
 background:#08051d!important;
}
body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
 position:absolute!important;
 inset:0!important;
 display:block!important;
 width:100%!important;
 height:100%!important;
 min-width:100%!important;
 min-height:100%!important;
 max-width:none!important;
 max-height:none!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 object-fit:cover!important;
 object-position:center center!important;
 transform:none!important;
 filter:none!important;
 -webkit-filter:none!important;
 backdrop-filter:none!important;
 opacity:1!important;
 animation:none!important;
 background:transparent!important;
}
body.bf-neon .hero.bf-video-hero::after{
 display:none!important;
}
@media(max-width:700px){
 body.bf-neon .hero.bf-video-hero{
  width:100%!important;
  height:100svh!important;
  min-height:100svh!important;
  padding:0!important;
 }
 body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
 }
}

/* Video continuo de secciones: pantalla completa sin bandas laterales.
   Se conserva el fichero original y se elimina cualquier filtro. */
body.bf-neon .bf-after-marquee{
 position:relative!important;
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 padding:0!important;
 overflow:clip!important;
 background-color:#08051d!important;
}
body.bf-neon .bf-after-marquee > video.bf-after-marquee-video{
 position:sticky!important;
 top:0!important;
 left:0!important;
 display:block!important;
 width:100%!important;
 min-width:100%!important;
 max-width:none!important;
 height:100svh!important;
 min-height:100svh!important;
 max-height:none!important;
 margin-bottom:-100svh!important;
 object-fit:cover!important;
 object-position:center center!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 box-shadow:none!important;
 transform:none!important;
 filter:none!important;
 -webkit-filter:none!important;
 opacity:1!important;
 animation:none!important;
}
body.bf-neon .bf-after-marquee > .bf-after-marquee-shade{
 pointer-events:none!important;
}
@media(max-width:700px){
 body.bf-neon .bf-after-marquee > video.bf-after-marquee-video{
  width:100%!important;
  height:100svh!important;
  object-fit:cover!important;
 }
}

/* Eventos publicados: cristal oscuro SEMITRANSPARENTE.
   Solo el fondo pierde opacidad; textos, botones y fechas siguen al 100%.
   Los eventos creados posteriormente reciben automaticamente el mismo estilo. */
body.bf-neon #eventos .three-grid > .event-card,
body.bf-neon .bf-after-marquee .bf-after-marquee-content #eventos .three-grid > .event-card{
 background:linear-gradient(150deg,rgba(30,17,42,.70) 0%,rgba(20,11,31,.65) 48%,rgba(10,7,20,.70) 100%)!important;
 background-color:transparent!important;
 border:1px solid rgba(222,179,215,.44)!important;
 box-shadow:0 22px 56px rgba(0,0,0,.58),0 8px 22px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.12)!important;
 backdrop-filter:blur(7px) saturate(110%)!important;
 -webkit-backdrop-filter:blur(7px) saturate(110%)!important;
 opacity:1!important;
 isolation:isolate;
}
body.bf-neon #eventos .three-grid > .event-card::before,
body.bf-neon .bf-after-marquee .bf-after-marquee-content #eventos .three-grid > .event-card::before{
 background:radial-gradient(circle,rgba(152,69,125,.13),transparent 72%)!important;
 pointer-events:none;
}
body.bf-neon #eventos .three-grid > .event-card :is(h3,p,.event-meta,.event-top){
 position:relative;
 z-index:1;
}
@media(max-width:700px){
 body.bf-neon #eventos .three-grid > .event-card,
 body.bf-neon .bf-after-marquee .bf-after-marquee-content #eventos .three-grid > .event-card{
  background:linear-gradient(155deg,rgba(32,19,44,.74) 0%,rgba(20,12,32,.69) 50%,rgba(10,7,20,.73) 100%)!important;
  background-color:transparent!important;
  box-shadow:0 20px 48px rgba(0,0,0,.62),0 6px 18px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.12)!important;
 }
}

/* Última llamada a la acción: cristal oscuro semitransparente como las tarjetas.
   Oscurecer solo el fondo, sin disminuir la opacidad del texto o del botón. */
body.bf-neon .bf-after-marquee .bf-after-marquee-content #unete .cta-banner{
 background:linear-gradient(145deg,rgba(27,15,39,.77),rgba(13,9,25,.72))!important;
 background-color:transparent!important;
 border:1px solid rgba(222,179,215,.44)!important;
 box-shadow:0 22px 56px rgba(0,0,0,.56),0 8px 22px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12)!important;
 backdrop-filter:blur(7px) saturate(110%)!important;
 -webkit-backdrop-filter:blur(7px) saturate(110%)!important;
 opacity:1!important;
}
body.bf-neon .bf-after-marquee .bf-after-marquee-content #unete .cta-banner :is(h2,p,.eyebrow){
 text-shadow:0 2px 8px rgba(0,0,0,.85)!important;
}
@media(max-width:700px){
 body.bf-neon .bf-after-marquee .bf-after-marquee-content #unete .cta-banner{
  background:linear-gradient(150deg,rgba(29,17,42,.80),rgba(12,8,24,.75))!important;
 }
}

/* Acceso visible a la portada pública desde la cuenta, sin cerrar sesión. */
.app-shell .app-top-right .app-home-btn{white-space:nowrap}
.app-shell .mobile-appbar .app-public-home{color:var(--gold)!important}
@media(max-width:760px){
 .app-shell .mobile-appbar{display:flex!important;justify-content:space-around!important;gap:0!important}
 .app-shell .mobile-appbar>a{flex:1 1 0!important;min-width:0!important;padding-left:2px!important;padding-right:2px!important;font-size:clamp(.55rem,2.2vw,.72rem)!important;text-align:center!important}
 .app-shell .app-top-right .app-home-btn{padding:8px 10px!important;font-size:.75rem!important}
}

/* Pestaña activa: mismo rosa y subrayado de Inicio, moviéndose a la sección visitada. */
body.bf-neon .site-header :is(.bf-desktop-nav,.main-nav) .nav-link{
 color:#f5e4de!important;
 text-shadow:none!important;
}
body.bf-neon .site-header :is(.bf-desktop-nav,.main-nav) .nav-link.active,
body.bf-neon .site-header :is(.bf-desktop-nav,.main-nav) .nav-link[aria-current="page"]{
 color:#ff8ab5!important;
 text-shadow:0 0 12px rgba(255,110,165,.32)!important;
}
body.bf-neon .site-header .bf-desktop-nav .nav-link{
 position:relative;
}
body.bf-neon .site-header .bf-desktop-nav .nav-link::after{
 content:"";
 position:absolute;
 bottom:0;
 left:3px;
 right:3px;
 height:3px;
 border-radius:6px;
 background:transparent;
}
body.bf-neon .site-header .bf-desktop-nav .nav-link.active::after{
 background:#ff8ab5!important;
 box-shadow:0 0 9px rgba(255,138,181,.45);
}
body.bf-neon .site-header .main-nav .nav-link.active{
 background:rgba(255,138,181,.12)!important;
}

/* Corregir regla antigua que dejaba Inicio subrayado siempre y desplazado hacia arriba.
   Todos los enlaces mantienen la misma altura; solo el activo lleva subrayado. */
body.bf-neon .site-header .bf-desktop-nav .nav-link,
body.bf-neon .site-header .bf-desktop-nav .nav-link[href="#/"]{
 border-bottom:0!important;
 padding-top:7px!important;
 padding-bottom:7px!important;
 line-height:1.2!important;
 align-self:center!important;
}
body.bf-neon .site-header .bf-desktop-nav .nav-link::after{
 bottom:0!important;
 background:transparent!important;
 box-shadow:none!important;
}
body.bf-neon .site-header .bf-desktop-nav .nav-link.active::after,
body.bf-neon .site-header .bf-desktop-nav .nav-link[aria-current="page"]::after{
 background:#ff8ab5!important;
 box-shadow:0 0 9px rgba(255,138,181,.45)!important;
}

/* Portada a sangre: el vídeo empieza detrás de la cápsula de navegación.
   Se conserva la cabecera sticky y las demás páginas sin cambios. */
body.bf-neon #app:has(> main > .bf-video-hero) > main > .hero.bf-video-hero{
 margin-top:calc(-1 * (76px + 16px))!important;
 height:100svh!important;
 min-height:100svh!important;
}
body.bf-neon #app:has(> main > .bf-video-hero) > .site-header{
 z-index:90!important;
}
@media(min-width:701px) and (max-width:1149px){
 body.bf-neon #app:has(> main > .bf-video-hero) > main > .hero.bf-video-hero{
  margin-top:calc(-1 * (76px + 12px))!important;
 }
}
@media(max-width:700px){
 body.bf-neon #app:has(> main > .bf-video-hero) > main > .hero.bf-video-hero{
  margin-top:calc(-1 * (76px + 10px))!important;
 }
}

/* Logo de Bellaquitas Fest más grande y legible en la barra flotante.
   Sin modificar la cápsula, los enlaces ni el vídeo. */
body.bf-neon > #app .site-header .brand-symbol{
 width:62px!important;
 height:62px!important;
 min-width:62px!important;
 flex:0 0 62px!important;
 overflow:visible!important;
}
body.bf-neon > #app .site-header .brand-logo-image{
 display:block!important;
 width:100%!important;
 height:100%!important;
 max-height:none!important;
 object-fit:contain!important;
 object-position:center!important;
}
@media(max-width:700px){
 body.bf-neon > #app .site-header .brand-symbol{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  flex-basis:46px!important;
 }
}


/* Bellaquitas Community · menú y páginas independientes */
body.bf-neon .site-header .bf-community-menu{
 gap:8px!important;padding:14px!important;
 background:linear-gradient(145deg,rgba(37,18,43,.96),rgba(16,10,27,.97))!important;
 border:1px solid rgba(237,193,125,.65)!important;
 border-radius:22px!important;
 box-shadow:0 24px 70px rgba(0,0,0,.7)!important;
}
.bf-community-menu .community-menu-link{
 display:flex;align-items:center;gap:14px;padding:15px 14px;border-radius:15px;
 text-decoration:none;color:#fff0e0;font-weight:800;font-size:1rem;
 border:1px solid transparent;transition:background .2s,border-color .2s,transform .2s;
}
.bf-community-menu .community-menu-link>span:nth-child(2){display:flex;flex-direction:column;gap:4px}
.bf-community-menu .community-menu-link small{font-size:.76rem;font-weight:500;color:#d8c0c7}
.bf-community-menu .community-menu-link:hover,.bf-community-menu .community-menu-link:focus-visible,.bf-community-menu .community-menu-link.active{
 background:rgba(224,165,113,.13);border-color:rgba(237,193,125,.4);transform:translateY(-1px);
}
.community-page{min-height:calc(100svh - 90px);padding:clamp(95px,11vw,145px) 0 90px;background:radial-gradient(ellipse at 65% 0%,#4c204f 0%,transparent 55%),linear-gradient(155deg,#130c1c,#0b0915 65%,#210e25);color:#fff0e4}
.community-container{max-width:1100px}
.community-intro{text-align:center;max-width:760px;margin:0 auto 42px}
.community-intro .eyebrow{color:#f1cc87}
.community-intro h1{font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.08;margin:14px 0;color:#ffe7ad}
.community-intro p{font-size:clamp(1rem,1.8vw,1.17rem);line-height:1.7;color:#e5cbd5}
.community-panel,.community-album,.community-admin-item{background:linear-gradient(140deg,rgba(48,27,57,.84),rgba(20,12,32,.85));border:1px solid rgba(230,189,142,.4);border-radius:26px;box-shadow:0 22px 55px #0007;backdrop-filter:blur(12px)}
.community-panel{padding:clamp(22px,5vw,42px);max-width:750px;margin:0 auto 28px}
.community-panel form,.community-panel label,#community-suggestion-form{display:block}
.community-page label,.community-admin label{display:block;color:#ffe3b5;font-weight:750;margin:16px 0 8px}
.community-page input,.community-page textarea,.community-admin input{
 display:block;width:100%;min-height:48px;box-sizing:border-box;border:1px solid #896579;border-radius:13px;padding:12px 15px;background:#100d1d;color:#fff4e8;font:inherit
}
.community-page textarea{min-height:170px;resize:vertical}
.community-page input:focus,.community-page textarea:focus,.community-admin input:focus{outline:2px solid #e8b975;outline-offset:2px}
.community-page button[type=submit],.community-admin button[type=submit]{margin-top:18px}
.community-muted{color:#cdb8c9;font-size:.91rem;line-height:1.6}
.community-feedback{min-height:1.6em;margin:12px 0;color:#ffe4a8;font-weight:750}
.community-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.community-empty{text-align:center;max-width:none;padding:55px 20px}
.community-album{padding:clamp(18px,3vw,30px);margin:22px 0}
.community-album-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:20px}
.community-album-head h2{margin:0;color:#ffe2a7;font-size:clamp(1.3rem,3vw,2rem)}
.community-album-head span{color:#f1d4c6}
.moments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.moment-photo{padding:0;border:1px solid #ad7e94;border-radius:16px;overflow:hidden;aspect-ratio:4/5;cursor:zoom-in;background:#120c1c}
.moment-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.moment-photo:hover img{transform:scale(1.045)}
.moment-dialog{position:fixed;inset:0;margin:auto;padding:12px 12px 22px;max-width:min(95vw,1100px);max-height:94dvh;border:1px solid #c7a077;border-radius:20px;background:#0d0914;color:#fff;box-shadow:0 0 80px #000b}
.moment-dialog::backdrop{background:rgba(0,0,0,.9);backdrop-filter:blur(9px)}
.moment-dialog img{display:block;max-width:100%;max-height:78dvh;object-fit:contain;margin:auto}
.moment-dialog p{text-align:center;margin:10px 40px 0}
.moment-close{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border-radius:50%;background:#28152c;color:white;border:1px solid #efc892;cursor:pointer}
.community-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.community-social-card{display:flex;align-items:center;gap:18px;padding:26px;border:1px solid #bd957d;border-radius:23px;background:linear-gradient(130deg,#3b1d42c9,#1b122bd9);color:#fff2e6;text-decoration:none;box-shadow:0 20px 48px #0005}
.community-social-card:not(.coming-soon):hover{transform:translateY(-4px);border-color:#f6cc8b}
.community-social-card>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:5px}
.community-social-card strong{font-size:1.25rem}
.community-social-card small{color:#e2c7d1}
.social-icon{font-size:2.4rem;color:#f4c68c}
.coming-soon{opacity:.75}
.community-social-note{text-align:center;margin-top:28px}
.community-admin{margin-top:28px}
.community-admin h2{color:#ffe2a7;margin:35px 0 15px}
.community-admin-list{display:grid;gap:15px}
.community-admin-item{padding:22px;overflow-wrap:anywhere}
.community-admin-item>div:first-child{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.community-admin-item small{color:#ddbecd}
.community-admin-item p{white-space:pre-wrap;line-height:1.65}
.community-admin-actions{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}
.community-admin .community-panel{max-width:none}
.moment-upload-form{margin-top:18px;padding-top:15px;border-top:1px solid #715267}
.moments-admin-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:12px;margin-top:18px}
.moments-admin-photos>div{display:grid;gap:5px}
.moments-admin-photos img{width:100%;height:110px;object-fit:cover;border-radius:10px}
.moments-admin-photos button{border:1px solid #ad7e94;border-radius:8px;background:#28152c;color:#fff;padding:8px;cursor:pointer}
@media(max-width:700px){
 .community-page{padding-top:100px}
 .moments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .community-social-grid{grid-template-columns:1fr}
 .community-social-card{padding:20px}
 .community-album-head{align-items:flex-start;flex-direction:column}
 body.bf-neon .site-header .bf-community-menu{width:min(370px,calc(100vw - 22px))!important}
}
@media(max-width:380px){.moments-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.moment-photo img,.community-social-card,.community-menu-link{transition:none!important}}



/* Navegación Bellaquitas Fest: una sola barra flotante en móvil.
   El desplegable ☰ reúne Explorar, Comunidad y acceso a la cuenta;
   en ordenador conserva exclusivamente las tres opciones de Comunidad. */
body.bf-neon .site-header .bf-community-menu .bf-menu-mobile-primary,
body.bf-neon .site-header .bf-community-menu .bf-community-account-actions{
 display:none!important;
}
body.bf-neon .site-header .bf-community-menu .bf-menu-community-links{
 display:flex;flex-direction:column;gap:6px;min-width:0;
}
body.bf-neon .site-header .bf-community-menu .bf-menu-group-label{
 display:none;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;
 font-weight:850;color:#e7be85;padding:6px 13px 5px;
}
body.bf-neon .site-header .bf-community-menu .community-menu-link{
 display:flex;align-items:center;min-height:65px;padding:12px 15px;
 font-size:1rem;line-height:1.25;
}
body.bf-neon .site-header .bf-community-menu .community-menu-copy{
 display:flex;flex-direction:column;gap:4px;min-width:0;
}
body.bf-neon .site-header .bf-community-menu .community-menu-copy small{
 color:#dcc3ce;font-size:.79rem;font-weight:500;line-height:1.4;
}
@media(max-width:1000px){
 body.bf-neon .site-header .bf-community-menu{
  max-height:calc(100dvh - 114px)!important;
  overflow-y:auto!important;overscroll-behavior:contain;
 }
 body.bf-neon .site-header .bf-community-menu .bf-menu-mobile-primary{
  display:flex!important;flex-direction:column;gap:3px;
  padding:2px 0 13px;margin-bottom:5px;
  border-bottom:1px solid rgba(228,182,120,.45);
 }
 body.bf-neon .site-header .bf-community-menu .bf-menu-group-label{
  display:block!important;
 }
 body.bf-neon .site-header .bf-community-menu .bf-menu-mobile-primary .nav-link{
  display:block!important;position:relative;
  padding:10px 14px!important;margin:0!important;
  min-height:unset!important;border:1px solid transparent!important;
  border-radius:12px!important;color:#f9eae5!important;
  font-size:.98rem!important;font-weight:800;line-height:1.25;
  text-decoration:none;white-space:normal;
 }
 body.bf-neon .site-header .bf-community-menu .bf-menu-mobile-primary .nav-link.active,
 body.bf-neon .site-header .bf-community-menu .bf-menu-mobile-primary .nav-link[aria-current="page"]{
  color:#ff8ab5!important;background:rgba(255,138,181,.1)!important;
  border-color:rgba(255,138,181,.35)!important;
 }
 body.bf-neon .site-header .bf-community-menu .bf-community-account-actions{
  display:flex!important;flex-direction:column;gap:9px;
  padding-top:13px;margin-top:8px;border-top:1px solid rgba(228,182,120,.45);
 }
 body.bf-neon .site-header .bf-community-menu .bf-community-account-actions .btn{
  display:flex!important;align-items:center;justify-content:center;
  min-height:44px;text-align:center;
 }
}


/* Menú comunidad: el texto ya no es un icono. Tipografía coherente con el menú principal. */
body.bf-neon .site-header .bf-community-menu .community-menu-link{
 min-height:unset!important;
 padding:11px 13px!important;
 gap:0!important;
 font-family:Outfit,sans-serif!important;
 font-size:clamp(.68rem,.86vw,.9rem)!important;
 font-weight:800!important;
 line-height:1.25!important;
}
body.bf-neon .site-header .bf-community-menu .community-menu-link>.community-menu-copy{
 display:flex!important;flex:1 1 auto!important;min-width:0!important;
 flex-direction:column!important;gap:3px!important;
 font-family:Outfit,sans-serif!important;
 font-size:clamp(.68rem,.86vw,.9rem)!important;
 font-weight:800!important;
 line-height:1.3!important;
 text-transform:uppercase;
}
body.bf-neon .site-header .bf-community-menu .community-menu-copy small{
 font-family:Outfit,sans-serif!important;
 font-size:clamp(.64rem,.75vw,.74rem)!important;
 font-weight:500!important;
 line-height:1.35!important;
 text-transform:none!important;
 color:#d9bed0!important;
}
/* Mostrar el acceso en ordenador, donde antiguamente se ocultaba. */
body.bf-neon .site-header .bf-community-menu .bf-community-account-actions{
 display:flex!important;
 flex-direction:column!important;gap:8px!important;
 padding-top:14px!important;margin-top:10px!important;
 border-top:1px solid rgba(228,182,120,.45)!important;
}
body.bf-neon .site-header .bf-community-menu .bf-community-account-actions .btn{
 display:flex!important;justify-content:center!important;
 align-items:center!important;
 min-height:40px!important;padding:9px 12px!important;
 font-size:.77rem!important;white-space:normal!important;
 text-align:center!important;
}
@media(max-width:1000px){
 /* La cuenta aparece primero, sin tener que bajar hasta el final del desplegable. */
 body.bf-neon .site-header .bf-community-menu .bf-community-account-actions{
  order:-1!important;
  margin:0 0 11px!important;padding:0 0 13px!important;
  border-top:0!important;border-bottom:1px solid rgba(228,182,120,.45)!important;
 }
 body.bf-neon .site-header .bf-community-menu .bf-menu-mobile-primary{
  order:0!important;
 }
 body.bf-neon .site-header .bf-community-menu .bf-menu-community-links{
  order:1!important;
 }
 body.bf-neon .site-header .bf-community-menu .community-menu-link,
 body.bf-neon .site-header .bf-community-menu .community-menu-link>.community-menu-copy{
  font-size:.98rem!important;
 }
 body.bf-neon .site-header .bf-community-menu .community-menu-copy small{
  font-size:.74rem!important;
 }
}

/* Bellaquitas Fest · cinta amarilla verdaderamente infinita (noviembre 2026).
   El HTML contiene dos mitades idénticas, cada una con 12 repeticiones:
   desplazarse exactamente media anchura permite reiniciar sin salto ni hueco. */
body.bf-neon .bf-marquee{
 overflow:hidden!important;
}
body.bf-neon .bf-marquee .bf-marquee-track{
 display:flex!important;
 width:max-content!important;
 flex-wrap:nowrap!important;
 align-items:center!important;
 gap:0!important;
 animation-name:bf-headline!important;
 animation-timing-function:linear!important;
 animation-iteration-count:infinite!important;
 animation-duration:120s!important;
 will-change:transform;
}
body.bf-neon .bf-marquee .bf-marquee-set{
 display:inline-flex!important;
 flex:0 0 auto!important;
 flex-wrap:nowrap!important;
 gap:0!important;
}
body.bf-neon .bf-marquee .bf-marquee-item{
 flex:0 0 auto!important;
 white-space:nowrap!important;
}
@media(prefers-reduced-motion:reduce){
 body.bf-neon .bf-marquee .bf-marquee-track{
  animation:none!important;
  will-change:auto;
 }
}


/* iOS Safari: mantener el logo entero en el vídeo de portada.
   No confiar solo en object-fit:cover (recorta los laterales en iPhone).
   JS calcula dimensiones a partir del ancho/alto reales del MP4.
   Android/Samsung y vídeo de escritorio conservan su presentación. */
@media(max-width:700px){
 html.bf-ios-video-fit body.bf-neon .hero.bf-video-hero{
  background:radial-gradient(ellipse at center,#24112b 0%,#10091a 70%,#090714 100%)!important;
 }
 html.bf-ios-video-fit body.bf-neon .hero.bf-video-hero > video.bf-hero-video{
  display:block!important;
  position:absolute!important;
  inset:auto!important;
  left:50%!important;
  top:50%!important;
  width:var(--bf-ios-video-width,100%)!important;
  height:var(--bf-ios-video-height,auto)!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:translate(-50%,-50%)!important;
  -webkit-transform:translate(-50%,-50%)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
 }
}
