/* BuscaFiesta / Night Index — dark app system. Functional selectors are preserved. */
:root{--bg:#070a0d;--surface:#10151b;--surface2:#161d24;--surface3:#1c252e;--ink:#f7f9f3;--muted:#9ba49a;--soft:#697269;--line:rgba(255,255,255,.09);--brand:#b9ff3c;--brand2:#d8ff91;--mint:#b9ff3c;--orange:#ff9b63;--pink:#ff6fae;--danger:#ff667d;--panel:rgba(255,255,255,.045);--panel-solid:#10151b;--panel-2:#161d24;--txt:#f7f9f3;--dim:#9ba49a;--acc:#b9ff3c;--acc2:#2ee6a8;--party:#ff6fae;--dj:#ff9b63;--shadow:0 28px 80px rgba(0,0,0,.46);--shadow2:0 12px 35px rgba(0,0,0,.3);--bnavH:70px}
html{color-scheme:dark;background:var(--bg)}body{color:var(--ink);background:radial-gradient(850px 500px at 82% -14%,rgba(185,255,60,.09),transparent 64%),radial-gradient(720px 500px at -10% 85%,rgba(46,230,168,.045),transparent 70%),var(--bg);font-family:"Arial Nova","Helvetica Neue",Arial,sans-serif;font-size:14px;letter-spacing:.005em}body::before{display:none}h1,h2,h3,.gate-title,.prof-name{font-family:"Bahnschrift","Arial Narrow","Arial Nova",sans-serif;font-stretch:semi-condensed}button,input,textarea,select,.chip,.bn,.ptab,.ibtn{font-family:"Bahnschrift","Arial Nova",Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* App header */
.bar{position:relative;z-index:30;flex:none;width:100%;padding:0;gap:0;background:rgba(8,11,18,.9);border:0;border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.2);backdrop-filter:blur(22px) saturate(1.25)}.bar>*{max-width:none;width:auto;margin:0}.brandrow{display:block}.brand-main{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px max(22px,calc((100vw - 1480px)/2))}.logo{display:flex;align-items:center;gap:11px;padding:0;text-decoration:none;background:none}.logo-img{height:45px;width:auto;filter:none}.logo-sub{max-width:165px;color:#788397;font-size:9px;font-weight:700;line-height:1.35;letter-spacing:1.4px;text-transform:uppercase}.brand-actions{display:flex;align-items:center;gap:8px}.brand-actions .ibtn,.brand-actions #mapBtn,#userBtn{width:42px;height:42px;padding:0;display:flex;align-items:center;justify-content:center;color:#c3c9d4;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:none;cursor:pointer}.brand-actions button:hover,.brand-actions a:hover{color:#fff;border-color:rgba(125,140,255,.5);background:#182135}#userBtn{width:auto;min-width:42px;padding-inline:13px;gap:8px;font-weight:700}#userBtn.logged{width:42px;padding:0}.ubtn-av{width:29px;height:29px;object-fit:cover;border:2px solid var(--brand);border-radius:50%}
.genrebar{min-height:56px;display:flex;align-items:center;gap:18px;padding:9px max(22px,calc((100vw - 1480px)/2));background:rgba(16,22,32,.88);border-top:1px solid rgba(255,255,255,.045)}.genrebar-head{min-width:145px;display:grid;gap:2px}.genrebar-head>span:first-child{color:#e5e8ef;font-size:10px;font-weight:750;letter-spacing:1.05px;text-transform:uppercase}#evCount,#evCountM{color:var(--muted);font-size:11px;font-weight:600}.chips{gap:7px;padding:0}.chip{min-height:34px;padding:8px 15px;color:#a7afbc;background:#141b26;border:1px solid var(--line);border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.65px;text-transform:none;box-shadow:none}.chip:hover{color:#fff;border-color:rgba(125,140,255,.45)}.chip.on{color:#080b12;background:var(--brand2);border-color:var(--brand2);box-shadow:0 8px 22px rgba(125,140,255,.18)}.chip.mini{min-height:30px;padding:6px 12px;color:#f3b589;background:rgba(255,155,99,.07);border-color:rgba(255,155,99,.2)}.chip.mini.on{color:#111;background:var(--orange);border-color:var(--orange)}.searchrow{padding:8px max(22px,calc((100vw - 1480px)/2));background:#0b1018;border-top:1px solid var(--line)}.subwrap{width:100%}.subnav{color:#cdd2dc;background:var(--surface);border-color:var(--line);border-radius:11px}body.eventpage .genrebar,body.profilepage .genrebar{display:none}

/* Search strip */
.extra{display:grid;grid-template-columns:minmax(260px,1.45fr) repeat(4,minmax(120px,1fr)) auto;gap:9px;align-items:center;padding:11px max(22px,calc((100vw - 1480px)/2));background:#0b1018;border-top:1px solid var(--line)}.filter-head{display:none}.searchrow2{display:flex;gap:8px;min-width:0}.searchbox,.fld input,input,select,textarea{color:var(--ink);background:#131a25;border:1px solid transparent;border-radius:13px}.searchbox{flex:1;min-height:44px;padding-inline:14px;color:var(--muted);box-shadow:none}.searchbox input{color:var(--ink);background:transparent}.searchbox:focus-within,input:focus,select:focus,textarea:focus{border-color:rgba(125,140,255,.65);box-shadow:0 0 0 3px rgba(125,140,255,.1)}input::placeholder,textarea::placeholder{color:#657083}select option{color:var(--ink);background:#131a25}.fld input{min-height:44px;width:100%}.viewbtns{display:none}.iconcol{gap:9px}.iconbtns{gap:7px}.ibtn,.viewbtns #gridBtn,.viewbtns #more{width:42px;height:42px;color:#a8b0bd;background:#131a25;border:1px solid transparent;border-radius:12px;box-shadow:none}.ibtn:hover{color:#fff;background:#1b2635;border-color:rgba(125,140,255,.25)}.ibtn.on,#more.on,#gridBtn.on{color:#080b12;background:var(--brand2);border-color:var(--brand2)}#favChip.ibtn.on{color:#111;background:var(--pink)}

/* Editorial intro */
.feed-intro{max-width:1480px;margin:0 auto;padding:38px 28px 24px;display:flex;align-items:end;justify-content:space-between;gap:28px}.feed-intro-copy{max-width:740px}.eyebrow{display:block;margin-bottom:9px;color:var(--mint);font-size:10px;font-weight:750;letter-spacing:1.45px;text-transform:uppercase}.feed-intro h1{margin:0;color:#fff;font-size:clamp(36px,4.2vw,62px);line-height:.98;letter-spacing:-2.3px;text-transform:none}.feed-intro p{margin:13px 0 0;color:var(--muted);font-size:15px}.feed-search{min-height:48px;padding:0 19px;display:inline-flex;align-items:center;gap:9px;color:#080b12;background:var(--brand2);border:0;border-radius:14px;font-weight:750;cursor:pointer}.feed-search:hover{background:#fff}.feed-search svg{width:18px;height:18px}body.eventpage .feed-intro,body.profilepage .feed-intro,body.mappage .feed-intro{display:none}

/* Events as a night index, not poster tiles */
main{width:min(1480px,calc(100% - 56px));margin:0 auto;padding:4px 0 72px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.card{position:relative;min-height:238px;display:grid;grid-template-columns:minmax(0,1fr) 178px;overflow:hidden;padding:8px;color:var(--ink);background:linear-gradient(145deg,#111823,#0e141e);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow2);text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}.card:hover{transform:translateY(-4px);border-color:rgba(125,140,255,.35);box-shadow:0 20px 48px rgba(0,0,0,.4)}.card .flyer{grid-column:2;grid-row:1;width:178px;height:100%;min-height:220px;aspect-ratio:auto;overflow:hidden;border-radius:16px;background:#1a2230}.card .flyer img{width:100%;height:100%;object-fit:cover}.card .flyer::after{background:linear-gradient(180deg,transparent 68%,rgba(5,8,13,.48))}.card .info{grid-column:1;grid-row:1;padding:18px 17px;gap:8px;justify-content:center}.card .when{display:inline-flex;width:fit-content;padding:5px 8px;color:#cbd1ff;background:rgba(125,140,255,.11);border:1px solid rgba(125,140,255,.18);border-radius:7px;font-size:8.5px;font-weight:750;letter-spacing:.65px}.card h2{color:#fff;font-size:19px;line-height:1.16;font-weight:740;text-transform:none;letter-spacing:-.35px;-webkit-line-clamp:3}.card .where{color:#bac1cc;font:500 12px/1.4 inherit}.card .artists{color:#788497;font:500 11px/1.45 inherit;font-style:normal;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .tags{gap:5px;padding-top:7px}.tag{padding:4px 8px;border-radius:7px;font-size:8.5px;font-weight:700;letter-spacing:.25px;text-transform:none}.tag.g{color:#b9c2ff;background:rgba(125,140,255,.07);border-color:rgba(125,140,255,.22)}.tag.sub{color:#ffc093;background:rgba(255,155,99,.06);border-color:rgba(255,155,99,.2)}.tag.p{color:#ff9ac5;background:rgba(255,111,174,.06);border-color:rgba(255,111,174,.2)}.fly-stats{top:10px;right:10px;gap:6px}.fs-pill,.cm-badge{background:rgba(7,10,16,.84);backdrop-filter:blur(10px)}.loading,.empty{grid-column:1/-1;margin:40px 0;padding:36px;color:var(--muted);background:#101620;border:1px dashed var(--line);border-radius:20px}
main>.card:first-child{grid-column:1/-1;min-height:470px;display:block;padding:0;border-radius:26px}main>.card:first-child .flyer{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:26px}main>.card:first-child .flyer::after{background:linear-gradient(90deg,rgba(5,8,13,.94) 0%,rgba(5,8,13,.7) 42%,rgba(5,8,13,.08) 78%),linear-gradient(0deg,rgba(5,8,13,.65),transparent 50%)}main>.card:first-child .info{position:absolute;z-index:2;left:0;bottom:0;width:min(620px,58%);padding:42px 38px;justify-content:end}main>.card:first-child h2{font-size:clamp(29px,3.2vw,46px);line-height:1.02;letter-spacing:-1.2px;-webkit-line-clamp:4}main>.card:first-child .where{font-size:14px}main>.card:first-child .artists{font-size:12.5px}.feed-sent{grid-column:1/-1}

/* Faster dark map */
#mapWrap{padding:20px 24px 48px}#map{min-height:calc(var(--apph,100dvh) - var(--navH,190px) - 36px);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.leaflet-container{background:#080b12;font-family:inherit}.leaflet-control-zoom a{color:#dfe3ec!important;background:#121925!important;border-color:var(--line)!important}.leaflet-tooltip{color:#f5f7fb;background:#111925;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.35);font-size:11px}.leaflet-tooltip-top:before{border-top-color:#111925}

/* Event detail: poster rail + content, comments below content */
.lightbox{color:var(--ink)}.lb-box{width:min(1380px,calc(100% - 56px));padding:28px 0 60px;gap:24px;max-height:none;height:auto}.lb-flyer{border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.lb-info h2{color:#fff;text-transform:none;letter-spacing:-.8px}.lb-vbox,.lb-media,.lb-desc,.lb-srcbox,.lb-chat{color:var(--ink);background:#101721;border:1px solid var(--line);border-radius:18px;box-shadow:none}.lb-vbox,.lb-media,.lb-desc{padding:16px}.lb-sect,.lb-chat-title{color:#d5d9e2;font-size:10px;font-weight:750;letter-spacing:.9px}.lb-actions .ibtn,.lb-close{color:#c6ccd7;background:#121a26;border:1px solid var(--line);border-radius:12px;box-shadow:none}.lb-actions .ibtn:hover,.lb-close:hover{color:#fff;border-color:rgba(125,140,255,.45)}.lb-chat{padding:16px}.cm-body{color:#e8eaf0;background:#17202d;border-color:transparent}.cm-head,.cm-time,.cm-acts button{color:var(--muted)}.lb-chatbox{background:#151e2a;border-color:var(--line);box-shadow:none}#lbChatIn{color:#fff;background:#0d131c;border-color:var(--line)}.modal-links a{color:#f1f3f7;background:#151e2a;border-color:var(--line);border-radius:12px}
@media(min-width:1151px){.lb-box{display:grid;grid-template-columns:390px minmax(0,1fr);grid-template-rows:auto auto auto}.lb-col1,.lb-col3{display:block!important}.lb-foot{display:block;grid-column:2;grid-row:1;align-self:end}.lb-whencol h2{font-size:clamp(29px,3vw,46px);line-height:1.02;min-height:0;margin:8px 0 0}.lb-col1{grid-column:1;grid-row:1/4;position:sticky;top:20px;align-self:start}.lb-col1top{display:flex!important;flex-direction:column;gap:10px;margin-bottom:12px}.lb-col1top .lb-right{display:flex;flex-wrap:wrap}.lb-left{display:flex;min-height:0}.lb-flyer{height:auto;aspect-ratio:4/5;flex:none}.lb-info{grid-column:2;grid-row:2;height:auto;overflow:visible;padding:0}.lb-scroll{overflow:visible}.lb-col3{grid-column:2;grid-row:3;display:grid!important;grid-template-columns:minmax(240px,.78fr) minmax(360px,1.22fr);gap:18px}.lb-col3top{display:flex!important;flex-direction:column;gap:10px}.lb-chat{height:560px}.lb-head2{display:none}.lb-srcbox .modal-links{background:#0d131c}}

/* Profile: horizontal workspace instead of old sidebar */
.pageview{width:min(1320px,calc(100% - 56px));padding:28px 0 72px}.prof-top{padding:20px 22px;margin-bottom:14px;background:linear-gradient(120deg,#151d2a,#101620);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow2)}.prof-name{color:#fff;font-size:23px}.prof-body{display:block}.prof-body .ptabs{position:sticky;z-index:15;top:8px;margin-bottom:16px;padding:7px;display:flex;flex-direction:row;gap:5px;overflow-x:auto;background:rgba(14,20,30,.93);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow2);backdrop-filter:blur(18px)}.prof-body .ptab{flex:0 0 auto;min-height:42px;padding:9px 13px;color:#939dac;border-radius:11px;text-transform:none;letter-spacing:0;font-weight:650}.prof-body .ptab:hover{color:#fff;background:#192333}.prof-body .ptab.on{color:#080b12;background:var(--brand2);border-color:var(--brand2)}.prof-panels{width:100%}.pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pcard{padding:19px;color:var(--ink);background:#101721;border:1px solid var(--line);border-radius:18px;box-shadow:none}.pcard-h{color:#e2e5eb;font-size:11px;font-weight:750;letter-spacing:.55px;text-transform:none}.pcard-danger{background:rgba(255,102,125,.035);border-color:rgba(255,102,125,.2)}.hint,.phint,.fr-empty{color:var(--muted)}.cal{border-radius:15px}

/* Controls and dialogs */
.btn{min-height:42px;color:#080b12;background:var(--brand2);border:0;border-radius:12px;font-weight:750;letter-spacing:0;text-transform:none;box-shadow:none}.btn:hover{background:#fff;transform:translateY(-1px)}.btn.ghost,.modal-close{color:#c1c7d2;background:#161e2a;border:1px solid var(--line);border-radius:11px}.modal{align-items:center;padding:20px;background:rgba(3,5,9,.76);backdrop-filter:blur(14px)}.modal-box{width:min(560px,100%);max-height:calc(var(--apph,100dvh) - 40px);margin:auto;padding:22px;color:var(--ink);background:#101721;border:1px solid rgba(255,255,255,.11);border-radius:22px;box-shadow:var(--shadow)}.modal-title{color:#fff;font-size:14px;font-weight:750;letter-spacing:0;text-transform:none}.modal-x{top:14px;right:14px;width:36px;height:36px;color:#aeb6c3;background:#182230;border:1px solid var(--line);border-radius:12px}.find-appnote{color:#dce1eb;background:rgba(125,140,255,.07);border-color:rgba(125,140,255,.2);border-radius:16px}.fg-card{background:#151e2a;border-color:var(--line)}#loginModal .modal-box{max-width:400px}.lm-title,.legal-links,.linkbtn{color:#a3acba}.legal-links a{color:var(--brand2)}.lm-logo{width:86px}.modal-box input,.modal-box textarea,#editModal input,#editModal textarea{color:#fff;background:#0d131c;border-color:var(--line)}
#gate{background:radial-gradient(circle at 75% 12%,rgba(125,140,255,.2),transparent 35%),linear-gradient(145deg,#05070c,#0c1220)}.gate-card{max-width:620px;padding:46px;color:#fff;background:rgba(16,23,34,.94);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.gate-title{color:#fff;font-size:clamp(38px,6vw,64px);line-height:.95;letter-spacing:-2.7px}.gate-sub{color:var(--mint)}.gate-msg{color:#aab2c0}.gate-msg b{color:#fff}.gate-card .btn{min-height:50px;background:var(--brand2);color:#080b12}.gate-note{color:#778295}#ckBar{color:#c8ced8;background:rgba(16,23,34,.97);border-color:var(--line);border-radius:17px;box-shadow:var(--shadow2)}#ckBar a{color:var(--brand2)}#toast{color:#080b12;background:#fff;border-radius:999px}#bnav{display:none}

/* Mobile app */
@media(max-width:719px){body{background:#080b12}.bar{position:relative;background:rgba(8,11,18,.96)}.brand-main{min-height:64px;padding:9px 12px}.logo-img{height:37px}.logo-sub{display:none}.brand-actions{gap:6px}.brand-actions #mapBtn{display:none}.brand-actions .ibtn,#userBtn{width:40px;height:40px;border-radius:12px;background:#121925;box-shadow:none}#userBtn:not(.logged) span{display:none}.genrebar{min-height:50px;display:block;padding:7px 0 8px;overflow:hidden}.genrebar-head{display:none}.genrebar .chips{width:100%;padding:0 12px;overflow-x:auto;flex-wrap:nowrap}.chip{min-height:33px;padding:7px 14px}.searchrow{padding:7px 12px}
  .extra{display:none}.extra.open{position:fixed;z-index:48;inset:0;width:100%;height:var(--apph,100dvh);padding:20px 16px calc(var(--bnavH) + 26px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;gap:12px;align-content:start;overflow-y:auto;background:#080b12;border:0}.filter-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.filter-head span{display:block;color:var(--mint);font-size:10px;font-weight:750;letter-spacing:1.35px;text-transform:uppercase}.filter-head h2{margin-top:4px;color:#fff;font-size:30px;line-height:1;letter-spacing:-.9px;text-transform:none}#filterClose{width:42px;height:42px;padding:0;color:#b8c0cc;background:#131b27;border:1px solid var(--line);border-radius:12px}.extra.open .searchrow2{grid-column:1/-1}.extra.open .searchbox{min-height:52px;background:#121925;border-color:var(--line)}.extra.open .viewbtns{display:none!important}.extra.open .fld{display:flex}.extra.open .fld input{min-height:50px;background:#121925;border-color:var(--line)}.extra.open .iconcol{grid-column:1/-1;display:flex;flex-direction:column;align-items:stretch;gap:12px}.extra.open .iconbtns{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.extra.open .iconbtns .ibtn{width:100%;height:49px;background:#121925;border-color:var(--line)}#evCountM{display:block}
  .feed-intro{padding:25px 16px 16px;display:block}.eyebrow{font-size:9px}.feed-intro h1{max-width:340px;font-size:39px;line-height:.97;letter-spacing:-1.8px}.feed-intro p{margin-top:11px;font-size:13px;line-height:1.5}.feed-search{width:100%;margin-top:18px;justify-content:center}
  main,main.onecol{width:100%;padding:4px 12px calc(var(--bnavH) + 32px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr;gap:12px}.card,main.onecol .card{min-height:158px;padding:7px;display:grid;grid-template-columns:minmax(0,1fr) 108px;border-radius:18px}.card .flyer,main.onecol .flyer{grid-column:2;grid-row:1;width:108px;height:100%;min-height:144px;border-radius:13px}.card .info,main.onecol .info{grid-column:1;grid-row:1;padding:10px 10px;gap:5px}.card h2{font-size:15px;line-height:1.17;-webkit-line-clamp:3}.card .when{padding:4px 6px;font-size:7.4px}.card .where{font-size:10.5px}.card .artists{font-size:10px}.card .tags{flex-wrap:nowrap;overflow:hidden}.card .tag{flex:none;padding:4px 6px;font-size:7.5px}.fly-stats{top:6px;right:6px}
  main>.card:first-child,main.onecol>.card:first-child{min-height:390px;display:block;padding:0;border-radius:21px}main>.card:first-child .flyer,main.onecol>.card:first-child .flyer{position:absolute;inset:0;width:100%;height:100%;border-radius:21px}main>.card:first-child .flyer::after{background:linear-gradient(0deg,rgba(5,8,13,.96) 0%,rgba(5,8,13,.68) 46%,rgba(5,8,13,.05) 80%)}main>.card:first-child .info{position:absolute;z-index:2;left:0;right:0;bottom:0;width:100%;padding:23px 19px}main>.card:first-child h2{font-size:24px;line-height:1.03;-webkit-line-clamp:3}main>.card:first-child .where{font-size:12px}
  #mapWrap{padding:10px 10px calc(var(--bnavH) + 22px + env(safe-area-inset-bottom))}#map{min-height:calc(var(--apph,100dvh) - 130px);border-radius:18px}
  #bnav{position:fixed;z-index:55;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));height:var(--bnavH);padding:6px;display:flex;align-items:stretch;background:rgba(14,20,30,.94);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.48);backdrop-filter:blur(20px)}.bn{flex:1;min-width:0;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#7e899a;background:none;border:0;border-radius:14px;font-size:8px;font-weight:750;letter-spacing:.45px;text-transform:none}.bn svg{width:20px;height:20px}.bn.on{color:#080b12;background:var(--brand2)}body.eventpage #bnav{display:none}body.profilepage #bnav{display:flex}
  .lb-box{width:100%;padding:10px 12px 34px;display:grid;grid-template-columns:1fr;gap:14px}.lb-right{order:-1;position:sticky;top:0;z-index:12;width:100%;padding:6px;background:rgba(8,11,18,.9);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(16px)}.lb-actions{flex-wrap:nowrap;overflow-x:auto}.lb-flyer{height:auto;aspect-ratio:4/5;border-radius:19px}.lb-info h2{font-size:29px;line-height:1.03}.lb-vbox,.lb-media,.lb-desc,.lb-chat{padding:14px;border-radius:16px}.lb-chatbox{position:static}
  .pageview{width:100%;padding:12px 12px calc(var(--bnavH) + 28px + env(safe-area-inset-bottom))}.prof-top{padding:14px;margin-bottom:11px;border-radius:18px;display:grid;grid-template-columns:42px 58px minmax(0,1fr) 42px;align-items:center;gap:10px}.prof-top .avprev{width:54px;height:54px}.prof-name{display:grid;gap:6px;font-size:19px}.prof-name .avbtns{display:flex;gap:6px}.prof-name .avbtns .ibtn,.prof-name .avbtns .filebtn{width:36px;height:36px}.prof-logout{margin:0;width:40px;height:40px;padding:0;justify-content:center}.prof-body .ptabs{top:6px;margin:0 -12px 13px;padding:6px 12px 9px;border-width:0 0 1px;border-radius:0;background:rgba(8,11,18,.92);box-shadow:none}.prof-body .ptab{min-height:38px;padding:8px 12px}.pgrid{grid-template-columns:1fr;gap:11px}.pcard{padding:16px;border-radius:16px}
  .modal{align-items:center;padding:12px}.modal-box{width:100%;max-width:none;max-height:calc(var(--apph,100dvh) - 24px);margin:auto;padding:20px 17px;border-radius:20px}#loginModal .modal-box{width:min(100%,410px)}.modal-row{flex-wrap:wrap}.modal-row>*{flex:1 1 auto}#ckBar{bottom:calc(var(--bnavH) + 18px + env(safe-area-inset-bottom));width:calc(100% - 24px);padding:14px}#toast{bottom:calc(var(--bnavH) + 18px)}.gate-card{padding:32px 24px;border-radius:26px}
}

/* V3 navigation and discovery layout. */
.mobile-discovery,.mobile-genre-filter{display:none}
@media(min-width:720px){
  .genrebar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:hidden}
  .genrebar #genreChips{display:flex;flex:0 0 auto;white-space:nowrap}
  .genrebar .chip{text-transform:uppercase}
  .genrebar .subwrap{display:flex;flex:1 1 auto;min-width:0;max-width:none;margin-left:2px;padding-left:10px;border-left:1px solid var(--line)}
  .genrebar .subwrap[hidden]{display:none}
  .genrebar .subchips{min-width:0;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}
  .genrebar #evCount{display:block;flex:0 0 auto;margin-left:auto;padding-left:14px;text-align:right;white-space:nowrap;color:var(--brand)}
}

/* Poster-first event catalogue: artwork above, information below. */
main,main.onecol{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card,main.onecol .card,main>.card:first-child,main.onecol>.card:first-child{min-height:0;display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:20px;background:#0f151a}
.card .flyer,main.onecol .card .flyer,main>.card:first-child .flyer,main.onecol>.card:first-child .flyer{position:relative;inset:auto;grid-column:auto;grid-row:auto;width:100%;height:auto;min-height:0;aspect-ratio:4/5;flex:none;border-radius:0;background:#151c22}
.card .flyer::after,main>.card:first-child .flyer::after{background:linear-gradient(0deg,rgba(5,8,9,.4),transparent 30%)}
.card .info,main.onecol .card .info,main>.card:first-child .info,main.onecol>.card:first-child .info{position:static;z-index:auto;grid-column:auto;grid-row:auto;width:100%;min-width:0;min-height:190px;padding:17px 16px 18px;display:flex;flex-direction:column;justify-content:flex-start;gap:7px;background:#0f151a}
.card h2,main>.card:first-child h2{font-size:18px;line-height:1.12;letter-spacing:-.02em;-webkit-line-clamp:3}
.card .when,main>.card:first-child .when{font-size:8px}.card .where,main>.card:first-child .where{font-size:11.5px}.card .artists,main>.card:first-child .artists{font-size:10.5px}
.card .tags,main>.card:first-child .tags{margin-top:auto;padding-top:7px}

/* Compact desktop event detail: poster rail, information, then community. */
@media(min-width:1151px){
  main>.card:first-child,main.onecol>.card:first-child{grid-column:auto!important}
  .lb-box{width:min(1180px,calc(100% - 64px));padding:30px 0 70px;display:grid;grid-template-columns:330px minmax(0,1fr);grid-template-rows:auto auto auto;gap:18px 24px;align-items:start}
  .lb-col1{grid-column:1;grid-row:1/3;position:static;min-height:0;padding:12px;overflow:visible;background:#0f151a;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow2)}
  .lb-col1top{position:static;inset:auto;display:flex!important;flex-direction:column;gap:10px;margin:0 0 10px;pointer-events:auto}
  .lb-col1top .lb-right{display:flex;width:100%}.lb-col1top .tags{max-width:none;justify-content:flex-start}
  .lb-left{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;display:flex;flex-direction:column}
  .lb-flyer{width:100%;height:auto;aspect-ratio:1/1;border:0;border-radius:17px;overflow:hidden}
  .lb-flyer img{width:100%;height:100%;object-fit:cover}.lb-flyer::after{display:none}
  .lb-left>.going{position:static;margin-top:10px}
  .lb-foot{grid-column:2;grid-row:1;padding:24px 26px 0;display:block!important;background:transparent;border:0;border-radius:0}
  .lb-whencol{padding-bottom:14px;border-bottom:1px solid var(--line)}
  .lb-info{grid-column:2;grid-row:2;margin:0;padding:0 26px 24px;background:transparent;align-self:start}
  .lb-info h2,.lb-info #lbName{margin:12px 0 20px;font-size:clamp(32px,3vw,48px);line-height:1;letter-spacing:-.04em}
  .lb-vbox,.lb-media,.lb-desc{margin-top:10px;padding:15px 16px;background:#11191e;border-radius:15px}
  .lb-col3{grid-column:1/-1;grid-row:3;display:grid!important;grid-template-columns:330px minmax(0,1fr);gap:24px}
  .lb-col3top{display:flex!important;flex-direction:column;gap:10px}.lb-srcbox,.lb-chat{border-radius:20px}.lb-chat{height:500px}
}

/* Aligned identity controls inside the desktop profile card. */
@media(min-width:900px){
  .prof-top{padding:48px 20px 18px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;grid-template-rows:84px auto;align-items:center;justify-items:center;gap:13px 8px;text-align:center}
  .prof-top::before{top:22px;left:50%;transform:translateX(-50%)}
  .prof-top #profBack{position:static!important;grid-column:1;grid-row:1;align-self:start;justify-self:start;top:auto!important;left:auto!important}
  .prof-top .avprev{grid-column:2;grid-row:1;align-self:center}
  .prof-name{grid-column:1/-1;grid-row:2;width:100%;display:flex;flex-direction:column;align-items:center;gap:11px;font-size:26px}
  .prof-name .avbtns{display:flex;align-items:center;justify-content:center;gap:7px}
  .prof-logout{position:static;grid-column:3;grid-row:1;align-self:start;justify-self:end;margin:0;width:40px;height:40px;padding:0;justify-content:center}
}

@media(max-width:1099px) and (min-width:720px){main,main.onecol{grid-template-columns:repeat(3,minmax(0,1fr))}main>.card:first-child,main.onecol>.card:first-child{grid-column:auto!important}}

@media(max-width:719px){
  .brand-main{min-height:60px}.genrebar{min-height:62px;padding:7px 12px;display:block;overflow:visible;background:#0b1014}
  .genrebar #genreChips,.genrebar #subWrap,.genrebar #evCount{display:none!important}
  .mobile-discovery{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:8px}
  .mobile-qbox{width:100%;height:48px;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:15px;background:#121920}
  .mobile-qbox input{width:100%;height:100%;font-size:14px}.mobile-qbox:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(185,255,60,.08)}
.mobile-qbox .x{width:32px;height:32px;margin-right:-7px;flex:0 0 32px;color:var(--muted);border-radius:10px}
.mobile-qbox .x:active{color:var(--bg);background:var(--brand)}
  #mobileFilters{width:50px;height:48px;display:flex;align-items:center;justify-content:center;color:#0a0d08;background:var(--brand);border:0;border-radius:15px}
  .extra.open .mobile-genre-filter{grid-column:1/-1;display:block;min-width:0;padding:13px;background:#0e151a;border:1px solid var(--line);border-radius:18px}
  .mobile-filter-label{margin:0 0 10px;color:var(--brand);font:600 10px/1 "Bahnschrift","Arial Nova",sans-serif;letter-spacing:.13em;text-transform:uppercase}
  #mobileGenreChips,#mobileSubChips{display:flex;gap:7px;overflow-x:auto;flex-wrap:nowrap;padding:0 0 4px}
  #mobileGenreChips .chip,#mobileSubChips .chip{flex:none;text-transform:uppercase}
  #mobileSubChips{margin-top:8px;padding-top:9px;border-top:1px solid var(--line)}
  .feed-intro{padding-top:22px}.feed-search{display:none}
  main,main.onecol{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-inline:10px}
  .card,main.onecol .card,main>.card:first-child,main.onecol>.card:first-child{display:flex;min-width:0;border-radius:16px}
  .card .flyer,main.onecol .card .flyer,main>.card:first-child .flyer,main.onecol>.card:first-child .flyer{width:100%;height:auto;min-height:0;aspect-ratio:4/5;border-radius:0}
  .card .info,main.onecol .card .info,main>.card:first-child .info,main.onecol>.card:first-child .info{position:static;width:100%;min-height:172px;padding:12px 11px 13px;gap:5px}
  .card h2,main>.card:first-child h2{font-size:14px;line-height:1.13;-webkit-line-clamp:3}.card .when,main>.card:first-child .when{font-size:6.8px;padding:4px 5px}.card .where,main>.card:first-child .where{font-size:9.5px}.card .artists,main>.card:first-child .artists{font-size:9px;-webkit-line-clamp:2}.card .tag{font-size:6.8px;padding:3px 5px}
  #bnav{left:8px;right:8px}.bn{padding:4px 2px;font-size:7px;letter-spacing:0}.bn svg{width:19px;height:19px}
}

/* ---------- navegación móvil y vistas separadas PC/móvil ---------- */
@media(min-width:1151px){
  /* En PC las acciones vuelven a estar encima del cartel, como antes. */
  body.eventpage .event-actions-host{display:none}
  body.eventpage .lb-col1top .lb-right{
    position:static;inset:auto;width:auto;margin:0;padding:0;background:none;
    border:0;border-radius:0;box-shadow:none;backdrop-filter:none
  }
}

@media(max-width:899px){
  /* La marca completa se mantiene en todas las páginas y secciones. */
  .logo-sub{display:inline!important;max-width:none;white-space:nowrap}
  body.mpage-open .genrebar,body.mpage-open #extra{display:none!important}
  body.mpage-open .bar{max-height:none;overflow:visible}
}

@media(max-width:719px){
  /* Las acciones ya no son flotantes: forman la segunda fila de la cabecera. */
  body.eventpage .event-actions-host{display:flex}
  body.eventpage .lb-box{padding-top:8px!important}

  /* Cuenta móvil incluye la identidad y todos sus controles. */
  #mPage .prof-top{
    position:relative;width:100%;height:auto;min-height:0;margin:0 0 12px;padding:16px;
    display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;
    gap:10px 14px;text-align:left;border-radius:18px
  }
  #mPage .prof-top::before{content:none}
  #mPage .prof-top #profBack{display:none}
  #mPage .prof-top .avprev{grid-column:1;grid-row:1/3;width:64px;height:64px;align-self:center}
  #mPage .prof-top .prof-name{grid-column:2;grid-row:1/3;display:grid;gap:9px;font-size:20px;min-width:0}
  #mPage .prof-top .avbtns{display:flex;flex-wrap:wrap;gap:7px}
  #mPage .prof-top .avbtns .ibtn,#mPage .prof-top .avbtns .filebtn,#mPage .prof-top .prof-logout{
    position:static;width:40px;height:40px;margin:0;padding:0;display:flex;align-items:center;justify-content:center
  }
}

/* ---------- ajustes de interacción 27 oct 2026 ---------- */
#dateIn{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
#datePicker{position:fixed;z-index:140;inset:0;display:grid;place-items:center;padding:16px;background:rgba(3,6,9,.72);backdrop-filter:blur(12px)}
#datePicker[hidden]{display:none}
.dp-card{width:min(360px,calc(100vw - 24px));padding:17px;color:var(--ink);background:linear-gradient(155deg,#172019,#0d1312);border:1px solid rgba(185,255,60,.22);border-radius:22px;box-shadow:0 26px 80px rgba(0,0,0,.58)}
.dp-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:13px}.dp-head strong{text-align:center;font-size:16px;text-transform:capitalize}
.dp-nav{width:42px;height:42px;padding:0;color:var(--brand);background:#111a16;border:1px solid var(--line);border-radius:12px;font-size:27px;line-height:1}
.dp-week,.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.dp-week{margin-bottom:5px}.dp-week span{text-align:center;color:var(--muted);font-size:10px;font-weight:700}
.dp-grid button{aspect-ratio:1;width:100%;padding:0;color:#dce4dc;background:#121a17;border:1px solid transparent;border-radius:11px;font-size:13px;cursor:pointer}.dp-grid button:hover{border-color:var(--brand);color:var(--brand)}
.dp-grid button.today{border-color:rgba(185,255,60,.45)}.dp-grid button.selected{color:#071009;background:var(--brand);border-color:var(--brand);font-weight:800;box-shadow:0 7px 18px rgba(185,255,60,.18)}
.dp-foot{display:flex;justify-content:space-between;gap:9px;margin-top:14px}.dp-foot button{min-height:40px;padding:8px 16px;color:var(--brand);background:#111a16;border:1px solid var(--line);border-radius:11px;font-weight:700}.dp-foot button:last-child{color:#071009;background:var(--brand);border-color:var(--brand)}

@media(max-width:719px){
  #loginModal{top:0;height:100svh;min-height:100svh;overflow-y:auto}
  #loginModal .modal-box{height:100svh;min-height:100svh;padding:14px 22px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow-y:auto}
  #loginModal .lm-logo{display:block;width:76px;margin:0 auto 12px}
  #loginModal .modal-box:not(.reg) .lm-title{display:none}
  #lmLogin{flex:1;min-height:calc(100svh - 110px);align-content:start}
  #lmLogin #lmRecover{margin-top:auto}
  #lmLogin .legal-links{padding-top:4px;padding-bottom:2px}

  #mobileFilters.filtered{color:var(--brand);background:#162119;border:1px solid var(--brand);box-shadow:0 0 0 3px rgba(185,255,60,.08)}
  body :is(#dateChip,#chipTardeo,#chipNoche,#cmChip).on{color:var(--brand)!important;background:#17241b!important;border-color:rgba(185,255,60,.62)!important}
  body #favChip.any{color:#fff!important;background:#e23c5c!important;border-color:#e23c5c!important}
  body #favChip.on{color:#fff!important;background:#ff6fae!important;border-color:#ff6fae!important}
  body #goingChip.on{color:#071009!important;background:var(--brand)!important;border-color:var(--brand)!important}
  body #goingChip.mine{color:#fff!important;background:#3b74e8!important;border-color:#3b74e8!important}

  body.mappage #events{display:none!important}
  body.mappage #mapWrap{display:block}
  #mPage .prof-top[hidden]{display:none!important}

  .findview .find-top{display:flex;align-items:center;justify-content:flex-start;padding:14px 16px}
  .findview .find-title{display:flex;flex-direction:row;align-items:center;gap:9px;width:auto;margin:0}
  .findview .find-title svg{position:static;flex:none}

  body.eventpage .event-actions-host{padding:0 8px 7px;background:transparent;border:0}
  body.eventpage .event-actions-host>.lb-right{position:static!important;inset:auto!important;width:100%;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
  body.eventpage .event-actions-host .lb-actions{width:100%;gap:5px;overflow-x:auto}
  body.eventpage .event-actions-host .ibtn{flex:0 0 43px!important;width:43px!important;height:42px!important;min-width:43px!important;background:transparent!important;border:1px solid rgba(255,255,255,.12)!important;color:#eef6ec!important}
  body.eventpage .event-actions-host .ibtn.on{color:#071009!important;background:var(--brand)!important;border-color:var(--brand)!important}
  body.eventpage .lb-box{padding-top:8px!important}
}
@media(max-width:370px){.brand-actions #findBtn{display:none}.card,main.onecol .card{grid-template-columns:minmax(0,1fr) 98px}.card .flyer,main.onecol .flyer{width:98px}}
@media(min-width:720px) and (max-width:1099px){.brand-main,.genrebar,.searchrow,.extra{padding-left:22px;padding-right:22px}.extra{grid-template-columns:minmax(240px,1.4fr) repeat(2,minmax(130px,1fr))}.extra .iconcol{grid-column:1/-1}main{grid-template-columns:1fr}.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1150px) and (min-width:721px){.lb-box{grid-template-columns:minmax(0,390px) minmax(0,1fr)}.prof-body{display:block}.prof-body .ptabs{position:static}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Brand refresh — the logo lime is the only primary action colour. */
.logo-sub,.eyebrow,.filter-head span{color:var(--brand)}
.brand-actions button:hover,.brand-actions a:hover,.chip:hover,.lb-actions .ibtn:hover,.lb-close:hover{border-color:rgba(185,255,60,.48)}
.chip.on,.feed-search,.btn,.prof-body .ptab.on,.ibtn.on,#more.on,#gridBtn.on,.bn.on,.gate-card .btn{color:#0a0d08;background:var(--brand);border-color:var(--brand);box-shadow:0 10px 26px rgba(185,255,60,.13)}
.chip.on:hover,.feed-search:hover,.btn:hover{background:#d7ff8b}
.searchbox:focus-within,input:focus,select:focus,textarea:focus{border-color:rgba(185,255,60,.68);box-shadow:0 0 0 3px rgba(185,255,60,.1)}
.ubtn-av{border-color:var(--brand)}
.card:hover{border-color:rgba(185,255,60,.34)}
.card .when{color:#d9ff96;background:rgba(185,255,60,.08);border-color:rgba(185,255,60,.2)}
.tag.g{color:#d7ff91;background:rgba(185,255,60,.06);border-color:rgba(185,255,60,.2)}
.legal-links a,#ckBar a{color:var(--brand)}
.find-appnote{background:rgba(185,255,60,.06);border-color:rgba(185,255,60,.2)}

/* Cleaner typography and controls. */
.chip,.bn,.ptab,.btn,.modal-title,.pcard-h,.lb-sect,.lb-chat-title{font-weight:600}
.chip{letter-spacing:.035em}.btn{letter-spacing:.01em}.feed-intro h1{font-weight:650;letter-spacing:-.045em}.card h2,.lb-info h2{font-weight:650}.genrebar-head>span:first-child,.eyebrow{font-weight:600;letter-spacing:.12em}
.brand-actions .ibtn,.brand-actions #mapBtn,#userBtn,.ibtn,.btn,.feed-search{transition:background .18s,border-color .18s,color .18s,transform .18s}

/* Profile workspace: identity rail on desktop, account hub on mobile. */
@media(min-width:900px){
  body.profilepage #pageScroll{background:linear-gradient(135deg,rgba(185,255,60,.025),transparent 42%)}
  .pageview{width:min(1400px,calc(100% - 64px));padding:32px 0 80px;display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:1fr;gap:22px}
  .prof-top{grid-column:1;grid-row:1;z-index:2;height:262px;min-height:0;align-self:start;padding:30px 24px;margin:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:16px;position:relative;overflow:hidden;background:radial-gradient(circle at 88% 5%,rgba(185,255,60,.19),transparent 34%),linear-gradient(155deg,#182119,#0d1211 68%);border-color:rgba(185,255,60,.15);border-radius:26px}
  .prof-top::before{content:"MI ESPACIO";position:absolute;top:22px;left:24px;color:var(--brand);font:600 10px/1 "Bahnschrift","Arial Nova",sans-serif;letter-spacing:.16em}
  .prof-top .lb-close{position:absolute;top:18px;right:18px}
  .prof-top .avprev{width:82px;height:82px;border:3px solid var(--brand);box-shadow:0 0 0 7px rgba(185,255,60,.07)}
  .prof-name{width:100%;font-size:28px;line-height:1;gap:13px}
  .prof-name .avbtns{display:flex;gap:7px}
  .prof-logout{position:absolute;right:20px;bottom:22px;width:42px;height:42px;padding:0;justify-content:center}
  .prof-body{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}
  .prof-body .ptabs{grid-column:1;position:sticky;top:18px;margin:278px 0 0;padding:10px;display:grid;gap:5px;overflow:visible;background:#0e1416;border-radius:20px}
  .prof-body .ptab{width:100%;min-height:48px;padding:0 15px;display:flex;align-items:center;gap:12px;justify-content:flex-start;border-radius:13px;font-size:13px}
  .prof-body .ptab svg{width:18px;height:18px}
  .prof-body .ptab.on{box-shadow:none}
  .prof-panels{grid-column:2;grid-row:1;min-width:0}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .pcard{padding:22px;min-height:156px;border-radius:20px;background:linear-gradient(145deg,#11181c,#0e1418)}
  .pcard-wide{grid-column:1/-1}.pcard-h{font-size:12px;letter-spacing:.035em}.phint{margin-top:7px;line-height:1.45}
}

/* Event page on desktop: cinematic stage plus a real information column. */
@media(min-width:1151px){
  body.eventpage #pageScroll{background:radial-gradient(900px 520px at 20% 12%,rgba(185,255,60,.045),transparent 70%)}
  .lightbox{padding:0}
  .lb-box{width:min(1460px,calc(100% - 64px));padding:32px 0 76px;display:grid;grid-template-columns:minmax(560px,1.35fr) minmax(390px,.65fr);grid-template-rows:auto auto;gap:22px 26px;align-items:stretch}
  .lb-col1{grid-column:1;grid-row:1;position:relative;top:auto;min-height:690px;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:#0c1014;box-shadow:var(--shadow)}
  .lb-col1top{position:absolute;z-index:4;inset:18px 18px auto;display:flex!important;flex-direction:row;align-items:flex-start;justify-content:space-between;margin:0;pointer-events:none}
  .lb-col1top>*{pointer-events:auto}.lb-col1top .lb-right{display:flex;gap:8px}.lb-col1top .tags{max-width:48%;justify-content:flex-end}
  .lb-left{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;min-height:0!important;display:block}
  .lb-flyer{width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:#111}
  .lb-flyer::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,7,7,.75),transparent 38%),linear-gradient(90deg,transparent 70%,rgba(4,7,7,.32));pointer-events:none}
  .lb-flyer img{width:100%;height:100%;object-fit:cover;object-position:center}
  .lb-left>.going{position:absolute;z-index:3;left:24px;right:24px;bottom:22px}
  .lb-foot{grid-column:2;grid-row:1;align-self:stretch;padding:34px;display:flex!important;flex-direction:column;justify-content:flex-start;background:linear-gradient(160deg,#151c20,#0c1114);border:1px solid var(--line);border-radius:30px}
  .lb-whencol{padding-bottom:20px;border-bottom:1px solid var(--line)}
  .lb-whencol .when{color:#0b0e09;background:var(--brand);border-color:var(--brand);font-size:11px}
  .lb-info{grid-column:2;grid-row:1;z-index:2;height:auto;margin-top:100px;padding:34px;overflow:visible;align-self:start;background:transparent}
  .lb-scroll{overflow:visible}.lb-info #lbWhen{display:none}.lb-info h2{margin:16px 0 26px;font-size:clamp(34px,3.1vw,52px);line-height:.98;letter-spacing:-.045em;display:block;max-height:none;overflow:visible;-webkit-line-clamp:unset}
  .lb-info #lbName{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important}
  .lb-vbox,.lb-media,.lb-desc{margin-top:12px;padding:17px 18px;background:rgba(255,255,255,.035);border-radius:16px}
  .lb-col3{grid-column:1/-1;grid-row:2;display:grid!important;grid-template-columns:minmax(300px,.7fr) minmax(520px,1.3fr);gap:22px}
  .lb-col3top{display:flex!important;flex-direction:column;gap:12px}.lb-srcbox,.lb-chat{border-radius:22px}.lb-chat{height:540px}
}

/* Mobile search: every control follows one equal module. */
@media(max-width:719px){
  .extra.open{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 14px calc(var(--bnavH) + 22px + env(safe-area-inset-bottom))}
  .filter-head{margin-bottom:4px}.filter-head h2{font-size:29px}
  .extra.open .searchrow2,.extra.open .fld,.extra.open .iconcol{min-width:0;width:100%}
  .extra.open .searchrow2{grid-column:1/-1}
  .extra.open .searchbox,.extra.open .fld input{width:100%;height:54px;min-height:54px;border-radius:15px}
  .extra.open .fld{height:54px}.extra.open .fld .x{right:11px}
  .extra.open .iconcol{grid-column:1/-1;gap:8px;margin-top:3px}
  .extra.open .iconbtns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .extra.open .iconbtns .ibtn{position:relative;width:100%;height:54px;min-width:0;padding:0 14px;display:flex;align-items:center;justify-content:flex-start;gap:10px;border-radius:15px}
  .extra.open .iconbtns #dateChip{width:100%!important;min-width:0!important;padding:0 14px!important}
  .extra.open .iconbtns .ibtn::after{font:600 11px/1 "Bahnschrift","Arial Nova",sans-serif;color:inherit}
  #dateChip::after{content:"Fecha"}#chipTardeo::after{content:"Tardeo"}#chipNoche::after{content:"Noche"}#favChip::after{content:"Me gusta"}#goingChip::after{content:"Asistentes"}#cmChip::after{content:"Comentarios"}#chipClear::after{content:"Limpiar"}
  #dateChip #dateTxt:not(:empty){margin-left:auto}
  #evCountM{min-height:24px;padding:2px 3px;display:flex;align-items:center;justify-content:flex-start;color:var(--brand)}
  .bn.on{box-shadow:none}
  .prof-top{padding:76px 18px 20px;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px;position:relative;text-align:center;background:radial-gradient(circle at 50% 0,rgba(185,255,60,.2),transparent 52%),linear-gradient(180deg,#151d18,#0d1212);border-color:rgba(185,255,60,.14);border-radius:24px}
  .prof-top::before{content:"MI ESPACIO";position:absolute;top:29px;left:50%;transform:translateX(-50%);color:var(--brand);font:600 9px/1 "Bahnschrift","Arial Nova",sans-serif;letter-spacing:.16em}
  .prof-top #profBack{position:absolute!important;top:16px!important;left:16px!important;right:auto!important}.prof-top .avprev{width:82px;height:82px;border:3px solid var(--brand);box-shadow:0 0 0 7px rgba(185,255,60,.07)}
  .prof-name{display:flex;flex-direction:column;align-items:center;font-size:25px}.prof-name .avbtns{justify-content:center}
  .prof-logout{position:absolute;right:16px!important;left:auto!important;top:16px}
  .prof-body .ptabs{position:static;margin:0 0 12px;padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible;border:1px solid var(--line);border-radius:20px;background:#0e1416}
  .prof-body .ptab{width:100%;min-height:49px;padding:9px 10px;justify-content:flex-start;gap:8px;border-radius:13px;font-size:11px}
  .prof-body .ptab svg{width:17px;height:17px}.pcard{background:linear-gradient(145deg,#11181c,#0e1418);border-radius:18px}
}

/* Final cascade for the V3 structures. */
@media(min-width:1151px){
  .lb-box{width:min(1180px,calc(100% - 64px));padding:30px 0 70px;display:grid;grid-template-columns:330px minmax(0,1fr);grid-template-rows:auto auto auto;gap:18px 24px;align-items:start}
  .lb-col1{grid-column:1;grid-row:1/3;position:static;top:auto;min-height:0;padding:12px;overflow:visible;background:#0f151a;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow2)}
  .lb-col1top{position:static;inset:auto;display:flex!important;flex-direction:column;gap:10px;margin:0 0 10px;pointer-events:auto}
  .lb-col1top .lb-right{display:flex;width:100%}.lb-col1top .tags{max-width:none;justify-content:flex-start}
  .lb-left{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;display:flex;flex-direction:column}
  .lb-flyer{width:100%;height:auto;aspect-ratio:1/1;border:0;border-radius:17px;overflow:hidden;box-shadow:none}
  .lb-flyer img{width:100%;height:100%;object-fit:cover}.lb-flyer::after{display:none}
  .lb-left>.going{position:static;margin-top:10px}
  .lb-foot{grid-column:2;grid-row:1;padding:24px 26px 0;display:block!important;background:transparent;border:0;border-radius:0;align-self:start}
  .lb-whencol{padding-bottom:14px;border-bottom:1px solid var(--line)}
  .lb-info{grid-column:2;grid-row:2;margin:0;padding:0 26px 24px;background:transparent;align-self:start;height:auto;overflow:visible}
  .lb-info h2,.lb-info #lbName{margin:12px 0 20px;font-size:clamp(32px,3vw,48px);line-height:1;letter-spacing:-.04em;display:block!important;height:auto!important;max-height:none!important;overflow:visible!important}
  .lb-vbox,.lb-media,.lb-desc{margin-top:10px;padding:15px 16px;background:#11191e;border-radius:15px}
  .lb-col3{grid-column:1/-1;grid-row:3;display:grid!important;grid-template-columns:330px minmax(0,1fr);gap:24px}
  .lb-col3top{display:flex!important;flex-direction:column;gap:10px}.lb-srcbox,.lb-chat{border-radius:20px}.lb-chat{height:500px}
}
@media(min-width:900px){
  .prof-top{padding:48px 20px 18px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;grid-template-rows:84px auto;align-items:center;justify-items:center;gap:13px 8px;text-align:center}
  .prof-top::before{top:22px;left:50%;transform:translateX(-50%)}
  .prof-top #profBack{position:static!important;grid-column:1;grid-row:1;align-self:start;justify-self:start;top:auto!important;left:auto!important;right:auto!important}
  .prof-top .avprev{grid-column:2;grid-row:1;align-self:center}
  .prof-name{grid-column:1/-1;grid-row:2;width:100%;display:flex;flex-direction:column;align-items:center;gap:11px;font-size:26px}
  .prof-name .avbtns{display:flex;align-items:center;justify-content:center;gap:7px}
  .prof-logout{position:static;grid-column:3;grid-row:1;align-self:start;justify-self:end;margin:0;width:40px;height:40px;padding:0;justify-content:center}
}
@media(max-width:1099px) and (min-width:720px){main,main.onecol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:719px){
  .brand-main{min-height:60px}.genrebar{min-height:62px;padding:7px 12px;display:block;overflow:visible;background:#0b1014}
  .genrebar #genreChips,.genrebar #subWrap,.genrebar #evCount{display:none!important}
  .mobile-discovery{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:8px}
  .mobile-qbox{width:100%;height:48px;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:15px;background:#121920}
  .mobile-qbox input{width:100%;height:100%;font-size:14px}.mobile-qbox:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(185,255,60,.08)}
  #mobileFilters{width:50px;height:48px;display:flex;align-items:center;justify-content:center;color:#0a0d08;background:var(--brand);border:0;border-radius:15px}
  .extra.open .mobile-genre-filter{grid-column:1/-1;display:block;min-width:0;padding:13px;background:#0e151a;border:1px solid var(--line);border-radius:18px}
  .mobile-filter-label{margin:0 0 10px;color:var(--brand);font:600 10px/1 "Bahnschrift","Arial Nova",sans-serif;letter-spacing:.13em;text-transform:uppercase}
  #mobileGenreChips,#mobileSubChips{display:flex;gap:7px;overflow-x:auto;flex-wrap:nowrap;padding:0 0 4px}
  #mobileGenreChips .chip,#mobileSubChips .chip{flex:none;text-transform:uppercase}
  #mobileSubChips{margin-top:8px;padding-top:9px;border-top:1px solid var(--line)}
  .feed-intro{padding-top:22px}.feed-search{display:none}
  main,main.onecol{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-inline:10px}
  .card,main.onecol .card,main>.card:first-child,main.onecol>.card:first-child{display:flex;grid-column:auto!important;min-width:0;min-height:0;padding:0;border-radius:16px}
  .card .flyer,main.onecol .card .flyer,main>.card:first-child .flyer,main.onecol>.card:first-child .flyer{position:relative;inset:auto;width:100%;height:auto;min-height:0;aspect-ratio:4/5;border-radius:0}
  .card .info,main.onecol .card .info,main>.card:first-child .info,main.onecol>.card:first-child .info{position:static;width:100%;min-height:172px;padding:12px 11px 13px;gap:5px}
  .card h2,main>.card:first-child h2{font-size:14px;line-height:1.13;-webkit-line-clamp:3}.card .when,main>.card:first-child .when{font-size:6.8px;padding:4px 5px}.card .where,main>.card:first-child .where{font-size:9.5px}.card .artists,main>.card:first-child .artists{font-size:9px;-webkit-line-clamp:2}.card .tag{font-size:6.8px;padding:3px 5px}
  #bnav{left:8px;right:8px}.bn{padding:4px 2px;font-size:7px;letter-spacing:0}.bn svg{width:19px;height:19px}
}

/* ---------- ajustes octubre 2026 ---------- */
/* PC: fuera el botón lima "Buscar eventos" — la barra de búsqueda ya filtra en vivo */
@media(min-width:720px){.feed-search{display:none}}

/* el localizador solo vive en la barra inferior del móvil */
#findBtn{display:none!important}

/* chips de género y subgénero: texto centrado verticalmente */
.chip{display:inline-flex;align-items:center;justify-content:center;line-height:1}

/* spotlight: el primer evento destacado ocupa todo el ancho (cambia con el género elegido) */
main>.card:first-child,main.onecol>.card:first-child{grid-column:1/-1!important}
@media(min-width:720px){
  main>.card:first-child,main.onecol>.card:first-child{position:relative;display:block;min-height:440px;padding:0;border-radius:26px}
  main>.card:first-child .flyer,main.onecol>.card:first-child .flyer{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:26px}
  main>.card:first-child .flyer::after{background:linear-gradient(90deg,rgba(5,8,13,.94) 0%,rgba(5,8,13,.7) 42%,rgba(5,8,13,.08) 78%),linear-gradient(0deg,rgba(5,8,13,.65),transparent 50%)}
  main>.card:first-child .info{position:absolute;z-index:2;left:0;bottom:0;width:min(640px,60%);min-height:0;padding:40px 36px;justify-content:flex-end}
  main>.card:first-child h2{font-size:clamp(28px,3vw,44px);line-height:1.02;-webkit-line-clamp:4}
  main>.card:first-child .where{font-size:14px}
  main>.card:first-child .artists{font-size:12.5px;-webkit-line-clamp:2}
}
@media(max-width:719px){
  main>.card:first-child,main.onecol>.card:first-child{position:relative;display:block;min-height:380px;padding:0;border-radius:21px}
  main>.card:first-child .flyer,main.onecol>.card:first-child .flyer{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:21px}
  main>.card:first-child .flyer::after{background:linear-gradient(0deg,rgba(5,8,13,.96) 0%,rgba(5,8,13,.68) 46%,rgba(5,8,13,.05) 80%)}
  main>.card:first-child .info{position:absolute;z-index:2;left:0;right:0;bottom:0;width:100%;min-height:0;padding:22px 18px}
  main>.card:first-child h2{font-size:24px;line-height:1.03;-webkit-line-clamp:3}
  main>.card:first-child .where{font-size:12px}
}

/* página de evento en PC: entradas + comentarios bajo la columna de info;
   el rail del cartel ocupa toda la altura; asistentes bajo el cartel (JS los mueve a .lb-left) */
@media(min-width:1151px){
  .lb-col1{grid-row:1/4}
  .lb-col3{grid-column:2;grid-row:3;grid-template-columns:1fr}
}

/* calendario del perfil en PC: la tarjeta cabe en pantalla (sin scroll)
   y los días crecen para aprovechar el alto disponible */
@media(min-width:900px){
  .ptab-panel[data-panel="cal"] .pcard{height:calc(var(--apph,100dvh) - var(--navH,190px) - 110px);min-height:430px;grid-template-rows:auto minmax(0,1fr)}
  .ptab-panel[data-panel="cal"] .cal{min-height:0;grid-template-rows:auto minmax(0,1fr) auto}
  .ptab-panel[data-panel="cal"] .cal-grid{min-height:0;grid-auto-rows:minmax(0,1fr)}
  .ptab-panel[data-panel="cal"] .cal-grid b{min-height:0}
}

/* móvil: los modales se levantan por encima de la barra inferior */
@media(max-width:719px){
  .modal{padding:12px 12px calc(var(--bnavH) + 20px + env(safe-area-inset-bottom))}
}

/* ---------- ajustes 27 oct 2026 (2) ---------- */

/* spotlight: primer evento de cada género, a todo lo ancho del feed */
:is(main,.featured-layout,.spot-deck)>.card.spot{grid-column:1/-1!important;position:relative;display:block;min-height:400px;padding:0;border-radius:26px;overflow:hidden}
:is(main,.featured-layout,.spot-deck)>.card.spot .flyer{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:0}
:is(main,.featured-layout,.spot-deck)>.card.spot .flyer::after{background:linear-gradient(90deg,rgba(5,8,13,.94) 0%,rgba(5,8,13,.7) 42%,rgba(5,8,13,.08) 78%),linear-gradient(0deg,rgba(5,8,13,.65),transparent 50%)}
:is(main,.featured-layout,.spot-deck)>.card.spot .info{position:absolute;z-index:2;left:0;bottom:0;width:min(660px,62%);min-height:0;padding:34px 36px;justify-content:flex-end;background:none;gap:6px}
:is(main,.featured-layout,.spot-deck)>.card.spot h2{font-size:clamp(26px,2.8vw,42px);line-height:1.02;-webkit-line-clamp:4}
:is(main,.featured-layout,.spot-deck)>.card.spot .where{font-size:14px}
:is(main,.featured-layout,.spot-deck)>.card.spot .artists{font-size:12.5px;-webkit-line-clamp:2}
.spot-g{display:inline-block;width:fit-content;margin-bottom:10px;padding:5px 12px;border-radius:999px;background:var(--brand);color:#0a0d08;font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:719px){
  :is(main,.featured-layout,.spot-deck)>.card.spot{min-height:360px;border-radius:20px}
  :is(main,.featured-layout,.spot-deck)>.card.spot .flyer::after{background:linear-gradient(0deg,rgba(5,8,13,.96) 0%,rgba(5,8,13,.68) 46%,rgba(5,8,13,.05) 80%)}
  :is(main,.featured-layout,.spot-deck)>.card.spot .info{left:0;right:0;width:100%;padding:22px 18px}
  :is(main,.featured-layout,.spot-deck)>.card.spot h2{font-size:23px;-webkit-line-clamp:3}
  :is(main,.featured-layout,.spot-deck)>.card.spot .where{font-size:12px}
  :is(main,.featured-layout,.spot-deck)>.card.spot .artists{font-size:11px}
}

/* página de evento en PC: rail del cartel arriba-izquierda; entradas y
   comentarios a todo lo ancho abajo, alineados con las columnas de arriba */
@media(min-width:1151px){
  .lb-box{grid-template-columns:330px minmax(0,1fr);grid-template-rows:auto auto auto;gap:18px 24px}
  .lb-col1{grid-column:1;grid-row:1/3;align-self:start}
  .lb-foot{grid-column:2;grid-row:1}
  .lb-info{grid-column:2;grid-row:2}
  .lb-col3{grid-column:1/-1;grid-row:3;display:grid!important;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start}
  .lb-col3top{grid-column:1;display:flex!important;flex-direction:column;gap:10px}
  .lb-chat{grid-column:2;height:480px;margin:0}
  .lb-flyer{aspect-ratio:4/5}
}

/* calendario: el hueco de #adminErr ya no provoca ~6px de scroll */
#adminErr:empty{display:none}

/* fuentes de tarjetas: las reglas "font:… inherit" eran inválidas y caían
   a Georgia/Verdana — los DJs vuelven a la fuente de la app */
.card .where{font-family:inherit;font-style:normal}
.card .artists{font-family:inherit;font-style:normal}

/* chips de género/subgénero: nudge óptico para centrar el texto en versalitas */
.chip{padding-top:calc(8px + 1px);padding-bottom:calc(8px - 1px)}
.chip.mini{padding-top:calc(6px + 1px);padding-bottom:calc(6px - 1px)}

/* móvil: DJs y géneros de las tarjetas más grandes; géneros en mayúsculas */
@media(max-width:719px){
  .card .artists{font-size:10.5px}
  .card .tag{font-size:8.5px;text-transform:uppercase}
}

/* móvil: hueco garantizado al final del scroll — la barra inferior nunca tapa contenido;
   y con la portada de acceso visible, la barra no estorba */
@media(max-width:840px){
  #pageScroll::after{content:"";display:block;height:calc(var(--bnavH) + env(safe-area-inset-bottom) + 12px)}
  body:has(>#gate:not([hidden])) #bnav{display:none}
}

/* perfil PC: la columna de pestañas es la que marca el alto — padding inferior
   menor para que el calendario quepa sin scroll y con días más altos */
@media(min-width:900px){.pageview{padding-bottom:36px}}

/* ---------- ajustes 27 oct 2026 (3) ---------- */

/* localizador: página propia a pantalla completa (ya no es un modal) */
.findview{position:fixed;inset:0;z-index:45;width:100%;max-width:none;margin:0;padding:18px 16px calc(var(--bnavH) + 30px + env(safe-area-inset-bottom));overflow-y:auto;background:var(--bg);color:var(--txt)}
.findview[hidden]{display:none!important}
@media(min-width:720px){.findview{padding:22px 40px 60px}}
.findview .prof-top{margin:0 0 14px;padding:14px 16px;position:sticky;top:10px;z-index:5;background:rgba(10,13,18,.92);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(14px)}
.find-title{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800}
.find-title svg{color:var(--brand)}
.findview .find-appnote{margin-bottom:8px}
.findview #findList,.findview #findNew{max-width:720px}
.findview .find-loc{max-width:720px;margin-bottom:8px}
#locGroups,#locMembers{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.loc-view{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:6px;padding:34px 20px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 50% 30%,rgba(185,255,60,.08),transparent 60%),#0d1117}
.loc-arrow{color:var(--brand);transition:transform .35s ease;filter:drop-shadow(0 0 18px rgba(185,255,60,.45))}
.loc-name{font-size:20px;font-weight:800}
.loc-dist{font-size:30px;font-weight:800;color:var(--brand)}
.loc-note{color:var(--muted);font-size:12px;text-align:center}
.loc-view .modal-close{justify-self:center}

/* spotlight en PC: banner editorial (info | cartel), no foto recortada gigante */
@media(min-width:720px){
  :is(main,.featured-layout,.spot-deck)>.card.spot{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0;height:300px;padding:0}
  :is(main,.featured-layout,.spot-deck)>.card.spot .flyer{position:relative;inset:auto;grid-column:2;width:300px;height:100%;aspect-ratio:auto;border-radius:0}
  :is(main,.featured-layout,.spot-deck)>.card.spot .flyer::after{background:linear-gradient(90deg,rgba(15,21,26,.5),transparent 45%)}
  :is(main,.featured-layout,.spot-deck)>.card.spot .info{position:static;grid-column:1;width:100%;min-width:0;padding:26px 32px;justify-content:center;background:none;gap:7px}
  :is(main,.featured-layout,.spot-deck)>.card.spot h2{font-size:clamp(24px,2.4vw,36px);line-height:1.05;-webkit-line-clamp:3}
  :is(main,.featured-layout,.spot-deck)>.card.spot .where{font-size:13.5px}
  :is(main,.featured-layout,.spot-deck)>.card.spot .artists{font-size:12px}
}

/* móvil: acciones del evento centradas */
@media(max-width:719px){.lb-right{justify-content:center!important}}

/* login: logo sin recortar + enlaces más grandes */
.lm-logo{width:auto;height:80px;object-fit:contain}
#lmToReg,#lmRecover{font-size:14px;padding:4px 0!important}

/* filtros móviles: el contador deja de flotar en medio — va en su fila */
.extra.open #evCountM{position:static;margin:0 0 4px;display:flex;min-height:0;padding:2px 0}

/* findview: no heredar el grid de dos columnas de .pageview ni la tarjeta alta de .prof-top */
.findview{display:block}
.findview .prof-top{height:auto;min-height:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;grid-template-columns:none;grid-template-rows:none;gap:12px;overflow:visible;background:rgba(10,13,18,.92)}
.findview .prof-top::before{content:none}
.findview .prof-top .find-title{grid-column:auto;grid-row:auto;width:auto;display:flex;flex-direction:row;align-items:center;font-size:19px}
.findview .prof-top #findBack{position:static}
.findview .find-appnote{align-content:start}
.findview .find-appnote .btn{display:inline-block;width:auto;min-height:42px;padding:10px 18px}

/* spotlight PC: el héroe antiguo dejaba colores oscuros heredados — restaurarlos */
:is(main,.featured-layout,.spot-deck)>.card.spot .info{justify-content:center;color:#dfe6ee}
:is(main,.featured-layout,.spot-deck)>.card.spot h2{color:#fff}
:is(main,.featured-layout,.spot-deck)>.card.spot .where{color:#eef2f6}
:is(main,.featured-layout,.spot-deck)>.card.spot .artists{color:rgba(222,228,236,.72)}

/* ---------- ajustes 27 oct 2026 (4) ---------- */

/* spotlight: marcado propio, sin herencia del héroe antiguo */
:is(main,.featured-layout,.spot-deck)>.card.spot{grid-column:1/-1!important;display:grid;grid-template-columns:minmax(0,1fr) 300px;height:300px;min-height:0;max-height:none;padding:0;position:relative;border-radius:26px;overflow:hidden}
:is(main,.featured-layout,.spot-deck)>.card.spot .spot-fly{height:100%;overflow:hidden;border-radius:0}
:is(main,.featured-layout,.spot-deck)>.card.spot .spot-fly img{width:100%;height:100%;object-fit:cover;display:block}
:is(main,.featured-layout,.spot-deck)>.card.spot .spot-info{min-width:0;padding:24px 32px;display:flex;flex-direction:column;justify-content:center;gap:9px;position:relative;z-index:2}
:is(main,.featured-layout,.spot-deck)>.card.spot .spot-when{color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;width:fit-content;padding:4px 10px;border:1px solid rgba(185,255,60,.45);border-radius:999px;background:rgba(185,255,60,.08)}
:is(main,.featured-layout,.spot-deck)>.card.spot h2{margin:0;color:#fff;font-size:clamp(24px,2.4vw,36px);line-height:1.06;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
:is(main,.featured-layout,.spot-deck)>.card.spot .spot-where{color:#eef2f6;font-size:13.5px;font-weight:600}
:is(main,.featured-layout,.spot-deck)>.card.spot .spot-djs{color:rgba(222,228,236,.72);font-size:12px}
:is(main,.featured-layout,.spot-deck)>.card.spot .spot-tags{display:flex;flex-wrap:wrap;gap:4px}
:is(main,.featured-layout,.spot-deck)>.card.spot .spot-info{animation:spotIn .45s ease}
@keyframes spotIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:719px){
  :is(main,.featured-layout,.spot-deck)>.card.spot{display:block;height:360px;border-radius:20px;grid-template-columns:none}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-fly{position:absolute;inset:0}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-fly::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,13,.96) 0%,rgba(5,8,13,.62) 46%,rgba(5,8,13,.05) 82%)}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-info{position:absolute;inset:auto 0 0 0;padding:22px 18px;justify-content:flex-end}
  :is(main,.featured-layout,.spot-deck)>.card.spot h2{font-size:23px}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-where{font-size:12px}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-djs{font-size:11px}
}

/* contador duplicado: solo en la barra de géneros y en la hoja de filtros móvil */
@media(min-width:720px){#evCountM{display:none}}

/* evento PC: cartel grande con acciones superpuestas; todo el texto en la columna derecha */
@media(min-width:1151px){
  .lb-box{grid-template-columns:400px minmax(0,1fr);grid-template-rows:auto 1fr;gap:18px 26px}
  .lb-col1{grid-column:1;grid-row:1/3;background:none;border:none;padding:0;position:relative;display:block;align-self:start;box-shadow:none}
  .lb-col1top{position:absolute;top:10px;left:10px;right:10px;z-index:3;display:flex;align-items:flex-start}
  .lb-col1top .lb-right{position:static;width:auto;flex-direction:row;padding:6px;border-radius:16px;background:rgba(8,10,14,.55);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}
  .lb-left{margin:0;border-radius:20px}
  .lb-flyer{border-radius:20px;aspect-ratio:4/5}
  .lb-foot{grid-column:2;grid-row:1}
  .lb-info{grid-column:2;grid-row:2}
  .lb-col3{display:none}
  .lb-whencol{display:flex;flex-direction:column;align-items:flex-start}
  .lb-chat{height:min(520px,52vh);margin:10px 0 0}
}

/* móvil: calendario solo — sin cabecera de perfil ni pestañas */
@media(max-width:899px){
  body.calonly .prof-top,body.calonly .prof-body .ptabs{display:none}
  body.calonly .pageview{padding-top:8px}
}

/* móvil: localizador sin scroll horizontal */
.findview{overflow-x:hidden}
@media(max-width:719px){
  .findview .fg-row{grid-template-columns:1fr}
  .findview input,.findview .fg-lab{min-width:0;max-width:100%}
  .findview .fg-mode{flex-wrap:wrap}
}

/* móvil: más aire bajo la barra inferior */
@media(max-width:840px){
  #pageScroll::after{height:calc(var(--bnavH) + env(safe-area-inset-bottom) + 34px)}
}

/* ---------- ajustes 27 oct 2026 (5) ---------- */

/* géneros y subgéneros en mayúsculas EN TODOS LOS SITIOS */
.tag,.chip{text-transform:uppercase}

/* contador: solo el lima de la fila de géneros — el de los iconos fuera */
#evCountM{display:none!important}

/* evento PC: acciones ENCIMA del cartel (fila normal, no superpuestas);
   bajo el cartel: fuentes y luego asistentes */
@media(min-width:1151px){
  .lb-col1top{position:static;display:flex;flex-direction:row;gap:8px;margin:0 0 10px;padding:0}
  .lb-col1top .lb-right{position:static;width:auto;flex-direction:row;background:none;border:none;padding:0;backdrop-filter:none}
  .lb-srcbox{margin-top:12px}
  .lb-col1 .lb-going{margin-top:10px}
}



/* spotlight PC: cartel más grande + descripción */
@media(min-width:720px){
  :is(main,.featured-layout,.spot-deck)>.card.spot{grid-template-columns:minmax(0,1fr) 340px;height:340px}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-fly{width:340px}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-desc{color:rgba(222,228,236,.65);font-size:12.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}
@media(max-width:719px){
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-desc{display:none}
}

/* ---------- ajustes 27 oct 2026 (6) ---------- */

/* evento PC: acciones centradas; fuentes sin caja bajo el cartel; asistentes separados;
   fecha bajo el título; line-up a dos columnas */
@media(min-width:1151px){
  .lb-col1top{justify-content:center}
  .lb-col1 .lb-srcbox{background:none;border:none;box-shadow:none;padding:0;margin-top:30px}
  .lb-col1 .lb-going{margin-top:22px}
  .lb-foot{padding-top:0;margin-top:-4px}
  .lb-whencol{gap:6px}
  #lbName{margin:0}
  .lb-media{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}
  .lb-media .lb-sect{grid-column:1/-1}
}

/* tarjetas PC: subgéneros alineados con los géneros */
.card .tags{align-items:center}
.card .tag{display:inline-flex;align-items:center;line-height:1}

/* spotlight PC: cartel más grande, menos hueco vacío */
@media(min-width:720px){
  :is(main,.featured-layout,.spot-deck)>.card.spot{grid-template-columns:minmax(0,1fr) 430px;height:360px}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-fly{width:430px}
}

/* móvil: sin avatar arriba (ya está el botón Perfil en la barra) */
@media(max-width:840px){#userBtn{display:none}}

/* móvil: hueco inferior irrompible — padding del scroller + sus overlays */
@media(max-width:840px){
  #pageScroll{padding-bottom:calc(var(--bnavH) + env(safe-area-inset-bottom) + 34px)}
  .lb-scroll{padding-bottom:calc(var(--bnavH) + env(safe-area-inset-bottom) + 24px)!important}
  .modal .modal-box{margin-bottom:calc(var(--bnavH) + env(safe-area-inset-bottom) + 8px)}
}

.tag.sub{transform:none;display:inline-flex;align-items:center}
.tags>.tag{align-self:center;margin-block:0;vertical-align:middle}
@media(min-width:1151px){
  .lb-col1top{margin-bottom:20px}
  .lb-col1 #lbSrcBox{margin-top:38px}
  .lb-col1 #lbLinks{background:none;border:0;box-shadow:none;padding:0}
  .lb-col1 #lbGoing{margin-top:28px}
  #lbMedia{position:relative;height:auto;max-height:none;overflow:visible;column-gap:28px}
  #lbMedia:has(.lb-art:nth-of-type(3))::after{content:"";position:absolute;left:50%;top:44px;bottom:16px;width:1px;background:var(--line);pointer-events:none}
}
@media(min-width:720px){
  :is(main,.featured-layout,.spot-deck)>.card.spot{grid-template-columns:minmax(260px,32%) minmax(0,1fr);height:360px}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-fly{width:100%;min-width:0}
  :is(main,.featured-layout,.spot-deck)>.card.spot .spot-info{padding:22px;overflow:hidden}
  :is(main,.featured-layout,.spot-deck)>.card.spot h2{font-size:clamp(22px,2vw,30px)}
}
@media(max-width:840px){
  body{box-sizing:border-box;padding-bottom:calc(var(--bnavH) + 16px + env(safe-area-inset-bottom))}
  body.eventpage,body:has(>#gate:not([hidden])){padding-bottom:0}
  .bar{backdrop-filter:none}
  #pageScroll{padding-bottom:16px}
  #pageScroll::after{display:none}
  #bnav{bottom:calc(8px + env(safe-area-inset-bottom))}
  #extra.open{inset:0 0 calc(var(--bnavH) + 16px + env(safe-area-inset-bottom));height:auto;max-height:none;width:100%;padding:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;box-sizing:border-box}
  #extra.open>*{min-width:0}
  #extra.open .mobile-genre-filter{margin:0;padding:12px}
  #extra.open #mobileGenreChips,#extra.open #mobileSubChips{flex-wrap:wrap;overflow:visible;width:100%;height:auto;max-height:none}
  #extra.open .chip{flex:0 0 auto;min-height:34px;padding:8px 10px;font-size:10px}
  #extra.open .iconcol .iconbtns{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  #extra.open .iconbtns .ibtn{width:100%;height:46px;justify-content:center}
  .findview{bottom:calc(var(--bnavH) + 16px + env(safe-area-inset-bottom));padding-bottom:24px}
}

.featured-layout{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:20px;min-width:0}
.spot-deck>.card.spot{grid-column:auto!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:420px;border-radius:24px}
.spot-deck>.card.spot .spot-fly{width:100%;height:100%}
.spot-deck>.card.spot .spot-info{padding:22px;overflow:hidden}
.companion{padding:24px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at top right,rgba(185,255,60,.12),transparent 70%),var(--surface);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}
.companion-art{width:180px;height:90px;align-self:center;color:var(--brand)}
.companion h2{font-size:28px;line-height:1.1;margin:0}
.companion p{margin:0;color:var(--muted);line-height:1.5;font-size:14px}
.companion .btn{display:inline-flex;align-items:center;padding:10px 16px;text-decoration:none}
#lbSrcBox .lb-sect{margin-bottom:16px}
#lbGoing{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;white-space:normal;height:auto;max-height:none;overflow:visible}
#lbGoing>.lb-sect{display:flex;align-items:center;gap:8px;flex:0 0 100%}
#lbGoing .gnames{display:flex;flex-wrap:wrap;gap:10px;white-space:normal;overflow:visible;max-height:none;min-width:0}
#lbGoing .guser{flex:none}
#lbName{display:block;-webkit-line-clamp:unset;max-height:none;height:auto;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media(min-width:1151px){#lbName{line-height:1.05}}
@media(min-width:720px) and (max-width:1150px){
  .featured-layout{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}
  .spot-deck>.card.spot{height:440px;grid-template-columns:minmax(0,1fr)}
  .spot-deck>.card.spot .spot-fly{grid-row:1;height:220px;position:static}
  .spot-deck>.card.spot .spot-info{grid-row:2;position:static;padding:16px}
  .spot-deck>.card.spot h2{font-size:22px;-webkit-line-clamp:2}
  .spot-deck>.card.spot .spot-desc{display:none}
  .lb-box{width:calc(100% - 32px);display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:20px;padding:20px 0 36px;max-height:none;overflow:visible}
  .lb-col1{display:block;grid-column:1;grid-row:1/3;min-width:0}
  .lb-col1top{display:flex;flex-direction:column;margin-bottom:16px}
  .lb-col1top .lb-right{width:100%;flex-wrap:wrap}
  .lb-col1top .lb-actions{width:100%;gap:5px;justify-content:center;flex-wrap:wrap}
  .lb-col1top .lb-actions .ibtn{width:32px;height:36px;flex:none}
  #lbBack{position:static;inset:auto}
  .lb-foot{display:none}
  .lb-info{grid-column:2;grid-row:1;min-width:0;padding:0;height:auto;overflow:visible}
  .lb-scroll{height:auto;max-height:none;overflow:visible}
  .lb-col3{grid-column:1/-1;display:block}
  .lb-chat{height:420px}
  .lb-right{position:static;justify-content:center;flex-wrap:wrap;margin-bottom:16px}
  .lb-flyer{width:100%;aspect-ratio:4/5;height:auto}
  .lb-media.scrolldj{height:auto;overflow:visible}
}
@media(max-width:899px){
  html{height:100%;overflow:hidden;overscroll-behavior:none}
  body{position:fixed;top:0;left:0;width:100%;height:var(--apph,100dvh);max-height:100dvh;min-height:0;overflow:hidden;padding-bottom:calc(var(--bnavH) + 16px + env(safe-area-inset-bottom));box-sizing:border-box}
  body.eventpage,body:has(#loginModal:not([hidden])),body:has(>#gate:not([hidden])){padding-bottom:0}
  .bar{flex:0 0 auto;max-height:calc(var(--apph,100dvh) - var(--bnavH) - 110px);overflow-y:auto;overflow-x:hidden;backdrop-filter:none}
  .brand-main{min-height:48px;padding:6px 12px}
  .logo-img{height:36px}
  .brand-actions #mapBtn,.brand-actions #userBtn{display:none}
  .genrebar{display:block;min-height:0;padding:0 12px 10px;border:0;background:none}
  .genrebar #genreChips,.genrebar #subWrap,.genrebar #evCount{display:none!important}
  .mobile-discovery{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;width:100%}
  .mobile-qbox{height:42px;min-height:42px}
  #mobileFilters{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--brand);color:var(--bg);border:0;border-radius:12px}
  #pageScroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:24px;-webkit-overflow-scrolling:touch}
  #bnav,body.profilepage #bnav{display:flex;position:fixed;top:calc(var(--apph,100dvh) - var(--bnavH) - 8px - env(safe-area-inset-bottom));bottom:auto;left:8px;right:8px}
  #extra{display:none}
  #extra.open{position:static;inset:auto;height:auto;max-height:none;overflow:visible;padding:4px 12px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:none;border:0}
  #extra.open .filter-head,#extra.open .searchrow2{display:none}
  #extra.open .mobile-genre-filter{display:block;grid-column:1/-1;padding:10px}
  #extra.open #mobileGenreChips,#extra.open #mobileSubChips{display:flex;flex-wrap:wrap;gap:6px;overflow:visible}
  #extra.open .fld input{height:42px;min-height:42px}
  #extra.open .iconcol{grid-column:1/-1;width:100%}
  #extra.open .iconcol .iconbtns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;width:100%}
  #extra.open .iconbtns .ibtn{width:100%;min-width:0;height:40px;padding:0;justify-content:center}
  #extra.open .iconbtns .ibtn::after{content:none}
  #extra.open #dateTxt{display:none}
  #lbGoing{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
  #lbWhen{display:flex;justify-content:center;align-items:center;text-align:center;width:100%;margin-inline:auto}
  #loginModal{position:fixed;inset:auto;top:var(--viewport-top,0px);left:0;width:100%;height:var(--apph,100dvh);max-height:none;padding:0;background:var(--bg);backdrop-filter:none;overflow-y:auto;display:block;z-index:100}
  #loginModal[hidden]{display:none}
  #loginModal .modal-box{width:100%;max-width:none;min-height:100%;max-height:none;margin:0;padding:28px 24px calc(28px + env(safe-area-inset-bottom));border:0;border-radius:0;box-shadow:none;background:var(--bg);overflow:visible}
  body:has(#loginModal:not([hidden])) #bnav,body:has(#loginModal:not([hidden])) #filters{visibility:hidden}
  body:has(#loginModal:not([hidden])) #events,body:has(#loginModal:not([hidden])) .feed-intro,body:has(#loginModal:not([hidden])) #evModal{visibility:hidden}
  .findview{height:calc(var(--apph,100dvh) - var(--bnavH) - 16px - env(safe-area-inset-bottom));bottom:auto}
}
@media(max-width:719px){
  .featured-layout{grid-template-columns:minmax(0,1fr)}
  .spot-deck>.card.spot{height:360px;display:block}
  .spot-deck>.card.spot .spot-fly{position:absolute;inset:0}
  .spot-deck>.card.spot .spot-info{position:absolute;inset:auto 0 0}
  .companion{padding:20px;gap:10px}
  .companion-art{width:120px;height:60px}
  .lb-box{max-height:none;height:auto;overflow:visible;padding-bottom:28px}
}

.spot-deck{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:14px}
.spot-deck>.card.spot{height:440px;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.spot-deck>.card.spot .spot-info{justify-content:flex-start;gap:12px;padding:24px}
.spot-deck>.card.spot .spot-g{margin-bottom:0}
.spot-deck>.card.spot .spot-when{font-size:10px;line-height:1.5;border:0;padding:0;background:none;letter-spacing:.05em}
.spot-deck>.card.spot h2{font-size:clamp(24px,2.2vw,32px);line-height:1.08;-webkit-line-clamp:3}
.spot-deck>.card.spot .spot-where{font-size:13px;line-height:1.4}
.spot-deck>.card.spot .spot-djs{font-size:12px;line-height:1.5}
.spot-djs b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--brand);margin-bottom:3px}
.spot-deck>.card.spot .spot-desc{-webkit-line-clamp:4;font-size:12px;line-height:1.5}
.spot-bottom{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}
.spot-cta{color:var(--brand);font-weight:700;display:inline-flex;align-items:center;gap:12px}
.spot-deck.multi{grid-template-columns:repeat(2,minmax(0,1fr))}
.spot-deck.multi>.card.spot{display:flex;flex-direction:column;min-height:0;height:auto}
.spot-deck.multi>.card.spot .spot-fly{position:static;order:-1;height:180px;flex:none}
.spot-deck.multi>.card.spot .spot-info{position:static;padding:16px;flex:1;gap:9px}
.spot-deck.multi>.card.spot h2{font-size:22px}
.spot-deck.multi>.card.spot .spot-desc{display:none}
.companion{position:relative;isolation:isolate;overflow:hidden;align-self:start;min-height:440px;justify-content:flex-start;gap:18px;padding:30px;background:linear-gradient(135deg,#17231d,#10151b 75%)}
.companion>*:not(.companion-scene){position:relative;z-index:1}
.companion-scene{position:absolute;inset:0;width:100%;height:100%;color:var(--brand);opacity:.1;pointer-events:none;z-index:0}
.companion-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--brand)}
.companion h2{font-size:clamp(28px,2.8vw,40px);max-width:360px;text-transform:none}
.companion p{color:#c0c9c0;font-size:14px;line-height:1.6}
.companion .btn{margin-top:auto}
.companion-features{display:flex;flex-wrap:wrap;gap:7px}
.companion-features span{padding:7px 10px;border:1px solid rgba(185,255,60,.2);border-radius:8px;background:rgba(7,10,13,.55);font-size:11px;color:#e1e9df}
.spotlight-settings label{display:flex;flex-direction:column;gap:8px;font-size:12px;min-width:0;margin-block:12px}
.spotlight-settings input,.spotlight-settings select{width:100%;min-width:0;padding:10px}
.spotlight-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.spot-genre{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:14px;min-width:0}
.spot-genre legend{text-transform:uppercase;color:var(--brand);font-size:11px;padding:0 8px}
.spot-events{min-height:160px}
.spot-events:disabled{opacity:.45}
@media(min-width:720px) and (max-width:1150px){
  .spot-deck>.card.spot{height:auto;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px 1fr}
  .spot-deck>.card.spot .spot-info{grid-row:2;padding:18px}
  .spot-deck>.card.spot .spot-fly{grid-row:1;height:220px}
  .spot-deck.multi{grid-template-columns:minmax(0,1fr)}
  .companion{padding:22px}
}
@media(max-width:719px){
  .spot-deck>.card.spot{min-height:400px;height:400px;display:block}
  .spot-deck>.card.spot .spot-info{position:absolute;inset:auto 0 0;padding:20px;gap:9px}
  .spot-deck>.card.spot h2{font-size:25px}
  .spot-deck>.card.spot .spot-desc{display:none}
  .spot-bottom{padding-top:8px}
  .spot-deck.multi{grid-template-columns:minmax(0,1fr)}
  .spot-deck.multi>.card.spot{display:grid;grid-template-columns:minmax(0,1fr) 40%;height:auto}
  .spot-deck.multi>.card.spot .spot-fly{grid-column:2;grid-row:1;height:100%;order:0}
  .spot-deck.multi>.card.spot .spot-info{grid-column:1;grid-row:1;padding:16px}
  .spot-deck.multi>.card.spot h2{font-size:20px}
  .companion{padding:24px;gap:14px;min-height:0}
  .spotlight-controls{grid-template-columns:minmax(0,1fr);gap:0}
}

body.discovery-filtered .feed-intro,body.discovery-filtered .featured-layout{display:none}
#lbDescTxt{font-family:"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.7}
@media(min-width:900px){
  .pcard-h,.ptab-panel h3{font-size:16px;font-weight:700}
  .ptabs .ptab{font-size:15px}
  .card .info h2,.card h2{font-size:21px}
  .card .where{font-size:13px}.card .artists{font-size:12.5px}
  .card .tags .tag{font-size:10.5px}
  .card .when{font-size:9.5px}
  .lb-vbox h3,.lb-sect{font-size:12.5px}
  .lb-media .lb-art{font-size:16px}
  .gnames,.gempty,.glock{font-size:15.5px}
}
@media(max-width:719px){
  .pcard-h,.ptab-panel h3{font-size:15px;font-weight:700}
  .card .info h2,.card h2{font-size:16px}
  .card .where{font-size:11px}.card .artists{font-size:10.5px}
  .card .tags .tag{font-size:9px}
  #lbDescTxt{font-size:15px}
}
@media(min-width:900px){
  .ptab-panel[data-panel="cal"] .pcard{height:calc(var(--apph,100dvh) - 230px);min-height:480px;overflow:hidden}
  .ptab-panel[data-panel="cal"] .cal{height:100%;display:flex;flex-direction:column}
  .ptab-panel[data-panel="cal"] .cal-grid{grid-auto-rows:minmax(0,1fr);min-height:0}
}
#lbName{min-height:0;white-space:normal}
#lbName>span{display:block;font:inherit;white-space:normal;-webkit-line-clamp:unset;max-height:none;overflow:visible;text-overflow:clip}
.spotlight-settings .spot-events{max-height:280px;min-height:80px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:4px}
.spotlight-settings .spot-option{display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin:0;padding:10px;border-radius:8px;cursor:pointer}
.spotlight-settings .spot-option[hidden]{display:none}
.spotlight-settings .spot-option:has(input:checked){background:rgba(185,255,60,.09)}
.spotlight-settings .spot-option:has(input:disabled){opacity:.5;cursor:default}
.spotlight-settings .spot-option input{width:18px;height:18px;min-width:18px;padding:0;margin:0;accent-color:var(--brand)}
.spot-option span{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.spot-picked-count{font-size:12px;color:var(--brand);margin:10px 0}
.companion-message{display:flex;flex-direction:column;gap:18px;flex:1;min-height:250px}
.companion-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:auto}
.companion-prev,.companion-next{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:rgba(7,10,13,.6);color:var(--ink);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.companion-dots{display:flex;align-items:center;justify-content:center;gap:6px}
.companion-dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.25);cursor:pointer}
.companion-dots button[aria-pressed="true"]{width:18px;background:var(--brand)}
.companion-dismiss{display:none;position:absolute!important;top:10px;right:10px;z-index:3!important;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:#101b15;color:var(--ink);font-size:23px;cursor:pointer}
.help-guide{max-width:900px;padding:8px 0 36px}
.help-guide header{padding-bottom:24px}
.help-guide h2{font-size:clamp(28px,3vw,40px);line-height:1.1;margin:8px 0 18px;text-transform:none}
.help-guide h3{font-size:23px;line-height:1.3;margin:0 0 14px;text-transform:none}
.help-guide p{font-size:16px;line-height:1.8;color:#c3cbc4;margin:0 0 14px;max-width:78ch}
.help-guide strong{color:var(--ink)}
.help-guide section{padding:26px 0 12px;border-top:1px solid var(--line)}
@media(min-width:1151px){
  .brand-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;min-height:70px}
  #genreChips{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;min-width:0;overflow-x:auto;gap:7px;scrollbar-width:thin}
  #genreChips .chip{flex:none;text-transform:uppercase;white-space:nowrap}
  .brand-actions #evCount{display:block;color:var(--brand);font-size:11px;font-weight:700;white-space:nowrap;margin-right:6px}
  .genrebar{display:block;min-height:0;padding:7px 22px;border-top:1px solid var(--line)}
  .genrebar:has(#subWrap[hidden]){display:none}
  .genrebar #subWrap{display:flex;justify-content:center;gap:7px;width:100%;max-width:none;margin:0;padding:0;border:0}
  .genrebar #subWrap[hidden]{display:none}
  .genrebar #subChips{flex:0 1 auto;width:fit-content;max-width:calc(100% - 130px);overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;gap:6px}
  #subWrap .subnav{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px}
  #filters #extra{grid-template-columns:minmax(210px,1.3fr) repeat(4,minmax(100px,1fr)) auto}
  body.eventpage #genreChips,body.profilepage #genreChips,body.eventpage #evCount,body.profilepage #evCount{display:none}
  body.eventpage .brand-main,body.profilepage .brand-main{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:1150px){
  .bar{max-height:calc(var(--apph,100dvh) - 150px);overflow-y:auto;overflow-x:hidden;backdrop-filter:none}
  .brand-main{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:6px 12px}
  .logo-img{height:36px}
  #filters #genreChips,#filters #subWrap,#filters #evCount{display:none}
  .genrebar{display:block;min-height:0;padding:0 12px 10px;border:0;background:none;overflow:visible}
  .mobile-discovery{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}
  .mobile-qbox{width:100%;height:42px;min-height:42px;padding:0 12px;border:1px solid var(--line);background:var(--surface)}
  .mobile-qbox input{width:100%;height:100%;font-size:14px}
  #mobileFilters{width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--bg);background:var(--brand);border:0;border-radius:12px}
  #extra{display:none}
  #extra.open{display:grid;position:static;inset:auto;width:100%;height:auto;max-height:none;overflow:visible;padding:4px 12px 14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:none;border:0}
  #extra.open>*{min-width:0}
  #extra.open .filter-head,#extra.open .searchrow2{display:none}
  #extra.open .mobile-genre-filter{display:block;grid-column:1/-1;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
  #extra.open #mobileGenreChips,#extra.open #mobileSubChips{display:flex;flex-wrap:wrap;gap:6px;overflow:visible;max-height:none}
  #extra.open .chip{min-height:34px;padding:8px 10px;font-size:10px}
  #extra.open .fld input{min-height:42px;height:42px;width:100%}
  #extra.open .iconcol{grid-column:1/-1;width:100%}
  #extra.open .iconcol .iconbtns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;width:100%}
  #extra.open .iconbtns .ibtn{width:100%;min-width:0;height:40px;padding:0;justify-content:center}
  #extra.open .iconbtns .ibtn::after{content:none}
  #extra.open #dateTxt{display:none}
  body.eventpage .genrebar,body.profilepage .genrebar,body.eventpage #extra,body.profilepage #extra{display:none}
}
@media(min-width:720px) and (max-width:1150px){
  body,body.profilepage{padding-bottom:0}
  #bnav,body.profilepage #bnav,body.eventpage #bnav{display:none}
  .brand-actions #userBtn,.brand-actions #userBtn.logged,.brand-actions #mapBtn{display:flex}
  #pageScroll{padding-bottom:24px}
  .findview{height:var(--apph,100dvh);bottom:auto;padding-bottom:24px}
  .pageview{padding-bottom:24px}
}
@media(max-width:719px){
  .companion-dismiss{display:block}
  body.companion-dismissed .companion{display:none}
  .companion-message{min-height:230px;gap:14px}
  .companion{padding-top:34px}
  body.eventpage .lb-right{position:fixed;top:calc(var(--navH,48px) + 8px);left:12px;right:12px;width:auto;margin:0;padding:6px;z-index:40;background:#263c31;border:1px solid rgba(185,255,60,.4);box-shadow:0 6px 18px rgba(0,0,0,.3);backdrop-filter:blur(16px)}
  body.eventpage .lb-right .lb-actions{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:6px;width:100%;margin:0}
  body.eventpage .lb-right .ibtn{width:clamp(30px,9vw,40px);height:40px;min-width:0;flex:none;background:#13251b;color:#effbe7}
  body.eventpage #lbBack{position:static;inset:auto}
  body.eventpage .lb-box{padding-top:calc(var(--event-actionsH,56px) + 20px)}
  .help-guide p{font-size:15px;line-height:1.75}
}

/* — ajustes finales — */
@media(min-width:900px){
  .brand-main #genreChips{justify-content:flex-start;padding-left:8px}
  .brand-actions #userBtn{height:46px}
  .brand-actions .ubtn-av{width:38px;height:38px}
  /* el cartel llena todo el spotlight; la info va superpuesta con degradado */
  .spot-deck:not(.multi)>.card.spot{display:block;grid-template-columns:none}
  .spot-deck:not(.multi)>.card.spot .spot-fly{position:absolute;inset:0;width:100%;height:100%}
  .spot-deck:not(.multi)>.card.spot .spot-fly::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,11,.94) 0%,rgba(5,8,11,.82) 38%,rgba(5,8,11,.15) 72%,rgba(5,8,11,.4))}
  .spot-deck:not(.multi)>.card.spot .spot-info{position:absolute;z-index:2;inset:auto 0 0;max-width:52%;padding:26px}
  /* letra más grande: perfil, evento, tarjetas, panel web */
  .pageview{font-size:15.5px}
  .pcard,.prof-top{font-size:15px}
  .pcard-h{font-size:12.5px}.hint,.phint,.fr-empty{font-size:14.5px}
  .ptab-panel .pcard p,.ptab-panel li,.pcard .utrow,.pcard label,.pcard input,.pcard button{font-size:15.5px;line-height:1.7}
  .ptab-panel[data-panel="cal"] .cal-grid b{font-size:13px}
  .ptab-panel[data-panel="ayuda"] .help-guide p{font-size:16.5px}
  .pgrid .pcard,.pcard a,.pcard .hint,.pcard .phint{font-size:15.5px}
  .prof-name{font-size:30px}.prof-top .avprev{width:88px;height:88px}
  .lb-vbox,.lb-media,.lb-desc{font-size:16px}
  .lb-vbox p,.lb-media .lb-art{font-size:15.5px}
  .lb-desc,#lbDescTxt{font-size:15.5px;line-height:1.65}
  .lb-vbox .lb-sect,.lb-sect{font-size:11px}
  .lb-chat,#lbComments,.cm-body{font-size:14.5px}
  #lbGoing{font-size:14.5px}
  .card .info h2,.card h2{font-size:19.5px}
  .card .where{font-size:12.5px}.card .artists{font-size:11.5px}
  .card .tag{font-size:9.5px}
  .companion p{font-size:15.5px}
  .companion-features span{font-size:12.5px}
}
@media(max-width:719px){
  .prof-top .avprev{width:74px;height:74px}
  .pageview{font-size:15px}
  .pcard,.prof-top{font-size:14.5px}.hint,.phint,.fr-empty{font-size:14px}
  .lb-vbox,.lb-media,.lb-desc{font-size:15px;line-height:1.6}
  #lbGoing{font-size:14px}
  .lb-chat,#lbComments,.cm-body{font-size:14px}
  .card .info h2,.card h2{font-size:15px}
  .card .where{font-size:10.5px}.card .artists{font-size:10px}
  .card .tag{font-size:8px}
  .companion p{font-size:15px}
  /* barra de acciones integrada en la cabecera: ancho completo, mismo fondo */
  body.eventpage .lb-right{top:var(--navH,48px);left:0;right:0;padding:8px 10px;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
  body.eventpage .lb-right .lb-actions{gap:4px}
  body.eventpage .lb-right .ibtn{flex:1 1 auto;width:auto;height:46px;min-width:0;background:#1b2635;border-radius:12px}
  body.eventpage .lb-right .ibtn:has(b){flex:0 0 auto;min-width:56px;padding-inline:10px}
  /* X del panel web centrada en su círculo */
  .companion-dismiss{display:flex;align-items:center;justify-content:center;padding:0 0 2px;line-height:1}
  /* menú inferior: solo iconos, más grandes */
  #bnav .bn span{display:none}
  #bnav .bn svg{width:26px;height:26px}
  #bnav{height:60px}
}
@media(min-width:720px) and (max-width:1150px){
  .companion p{font-size:15px}
  .card h2{font-size:17px}.card .where{font-size:12px}.card .artists{font-size:11px}
}
/* — ajustes 2 — */
#lbModal .lb-sect,.lb-sect,.lb-chat-title{font-size:14px;font-family:inherit;font-weight:800;letter-spacing:.05em}
.lb-vbox p,.lb-media .lb-art{font-family:inherit}
.lb-where{font-size:15.5px}
@media(min-width:900px){.cal-ev{font-size:15px;padding:12px 10px}
  .ptab-panel[data-panel="cal"] .cal-grid{grid-auto-rows:minmax(96px,1fr)}
  .ptab-panel[data-panel="cal"] .pcard{min-height:560px}
}
@media(max-width:719px){
  .lb-where{font-size:15px}
  #lbComments,#lbComments .cm-body{font-size:15.5px;line-height:1.5}
  .cm-head{font-size:11.5px}
  .cal-ev{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 12px;font-size:15.5px}
  .cal-ev b{font-size:15.5px}
  .cal-ev-tks{display:flex;gap:6px;flex:none}
  .cal-tk{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;background:#1b2635;border:1px solid var(--line);border-radius:9px}
  .cal-tk svg{width:18px;height:18px}
  /* botones del evento: flotantes en fila bajo la cabecera, tamaño fijo */
  body.eventpage .lb-right{position:fixed;top:var(--navH,48px);left:8px;right:8px;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;z-index:15;pointer-events:none}
  body.eventpage .lb-right .lb-actions{display:flex;gap:6px;justify-content:center;pointer-events:auto}
  body.eventpage .lb-right .ibtn{flex:0 0 46px;width:46px;height:46px;background:rgba(24,32,44,.92);border-radius:12px}
  body.eventpage .lb-right .ibtn:has(b){flex:0 0 auto;min-width:58px}
  body.eventpage .lb-scroll{padding-top:64px}
  /* sin hueco reservado bajo la cabecera ni para asistentes vacío */
  body.eventpage .lightbox{padding-top:0}
  body.eventpage .lb-scroll{padding-top:8px}
  #lbGoing:empty{display:none}
  .lb-media{margin-bottom:0}
  .lb-sect{margin-top:8px}
  /* página de sección del perfil en móvil */
  #mPage{position:fixed;z-index:40;inset:var(--navH,48px) 0 0 0;overflow-y:auto;background:var(--bg);padding:14px 12px calc(var(--bnavH) + 90px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  #mPage .pv-back{margin-bottom:12px}
  body.mpage-open #pageScroll{display:none}
  /* menú secundario del perfil sobre el menú inferior, solo iconos */
  #profMenu{position:fixed;z-index:54;left:8px;right:8px;bottom:calc(8px + var(--bnavH) + 8px + env(safe-area-inset-bottom));display:none;align-items:stretch;padding:6px;background:rgba(14,20,30,.97);border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.5);backdrop-filter:blur(18px)}
  body.profmenu-open #profMenu{display:flex}
  #profMenu .bn{flex:1}
  #profMenu .bn svg{width:24px;height:24px}
  /* aviso de cookies abajo del todo en móvil */
  #ckBar{top:auto;bottom:calc(var(--bnavH) + 10px + env(safe-area-inset-bottom));left:8px;right:8px;border-radius:14px;align-items:center;justify-content:center;text-align:center}
  /* logo de la portada más pequeño en móvil */
  img.gate-title{width:min(100px,32vw);margin-bottom:8px}
  .gate-msg{font-size:14px;margin-bottom:10px}
}
/* portada de acceso: logo en lugar del nombre en texto */
img.gate-title{display:block;width:min(190px,56vw);height:auto;margin:0 auto 14px;object-fit:contain}

/* ---------- correcciones responsive 27 oct 2026 ---------- */

/* Las acciones pertenecen exclusivamente a la cabecera de la página de evento. */
.event-actions-host{display:none}
body.eventpage .event-actions-host{
  display:flex;align-items:center;justify-content:center;width:100%;
  padding:2px max(12px,calc((100vw - 1480px)/2)) 8px;
  background:transparent;border:0
}
body.eventpage .event-actions-host>.lb-right{
  position:static;inset:auto;z-index:auto;width:auto;margin:0;padding:0;
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;
  background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none
}
body.eventpage .event-actions-host .lb-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;overflow:visible}
body.eventpage .event-actions-host .lb-sharerow{flex-basis:100%;justify-content:center}

@media(min-width:900px){
  /* Tipografía editorial de los títulos y otra claramente distinta para DJs. */
  body.eventpage :is(.lb-sect,.lb-chat-title){
    font-family:"Trebuchet MS","Arial Nova",Arial,sans-serif;
    font-size:15px;line-height:1.2;font-weight:700;letter-spacing:.035em
  }
  body.eventpage .lb-media .lb-artname{
    font-family:"Arial Nova Cond","Bahnschrift SemiCondensed","Arial Narrow",Arial,sans-serif;
    font-size:17px;font-weight:700;letter-spacing:.025em
  }
  /* La descripción crece con su contenido: sin scroll interno en PC. */
  body.eventpage .lb-info .lb-desc{max-height:none;overflow:visible;padding-right:18px}

  /* Calendario PC: ancho contenido y celdas realmente cuadradas y alineadas. */
  .ptab-panel[data-panel="cal"] .pcard{
    width:min(100%,900px);height:auto;min-height:0;margin-inline:auto;
    display:grid;grid-template-rows:auto auto;overflow:visible
  }
  .ptab-panel[data-panel="cal"] .cal{height:auto;min-height:0;grid-template-rows:auto auto auto}
  .ptab-panel[data-panel="cal"] .cal-grid{
    grid-template-columns:30px repeat(7,minmax(0,1fr));
    grid-template-rows:auto;grid-auto-rows:auto;align-items:stretch
  }
  .ptab-panel[data-panel="cal"] .cal-grid b{min-height:0;aspect-ratio:1/1;box-sizing:border-box}
}

@media(max-width:719px){
  /* Cookie banner centrado en el viewport y pegado al margen inferior seguro. */
  #ckBar{
    top:auto;bottom:max(8px,env(safe-area-inset-bottom));
    left:50%;right:auto;transform:translateX(-50%);
    width:calc(100vw - 16px);max-width:560px;box-sizing:border-box
  }
  /* La portada de acceso anticipado debe caber sin scroll. */
  #gate{padding:12px;overflow:hidden}
  #gate .gate-card{width:min(400px,100%);max-height:calc(100dvh - 24px);padding:20px 18px;gap:8px;overflow:hidden}
  #gate img.gate-title{width:min(88px,24vw);margin:0 auto 4px}
  #gate .gate-sub{font-size:8px}
  #gate .gate-msg{font-size:12px;line-height:1.35;margin:0 0 5px}
  #gate .gate-note{font-size:9.5px;line-height:1.3;margin:2px 0 0}
  #gate .btn{min-height:42px}

  /* Sin el padding reservado para la barra inferior (oculta en evento),
     Asistentes y Comentarios quedan contiguos. */
  body.eventpage .lb-scroll{padding-bottom:0!important}
  body.eventpage .lb-info{padding-bottom:0;margin-bottom:0}
  body.eventpage .lb-chat{margin-top:0}
  body.eventpage .lb-box{gap:10px}

  /* En móvil la cabecera conserva una sola fila compacta de acciones. */
  body.eventpage .event-actions-host{padding:7px 8px}
  body.eventpage .event-actions-host>.lb-right{width:100%;flex-wrap:nowrap;pointer-events:auto}
  body.eventpage .event-actions-host .lb-actions{width:100%;gap:6px;flex-wrap:nowrap}
  body.eventpage .event-actions-host .ibtn{position:static;flex:0 1 46px;width:46px;height:42px;min-width:0;padding:0;border-radius:11px}
  body.eventpage .event-actions-host .ibtn:has(b){flex-basis:auto;min-width:52px;padding-inline:8px}
}

/* ---------- correcciones finales: vistas PC y móvil independientes ---------- */
@media(min-width:1151px){
  body.eventpage .event-actions-host{display:none}
  body.eventpage .lb-col1top .lb-right{
    position:static;inset:auto;width:auto;margin:0;padding:0;background:none;
    border:0;border-radius:0;box-shadow:none;backdrop-filter:none
  }
}

@media(max-width:899px){
  .logo-sub{display:inline!important;max-width:none;white-space:nowrap}
  body.mpage-open .genrebar,body.mpage-open #extra{display:none!important}
  body.mpage-open .bar{max-height:none;overflow:visible}
}

@media(max-width:719px){
  body.eventpage .event-actions-host{display:flex}
  body.eventpage .lb-box{padding-top:8px!important}

  #mPage .prof-top{
    position:relative;width:100%;height:auto;min-height:0;margin:0 0 12px;padding:16px;
    display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;
    gap:10px 14px;text-align:left;border-radius:18px
  }
  #mPage .prof-top::before{content:none}
  #mPage .prof-top #profBack{display:none}
  #mPage .prof-top .avprev{grid-column:1;grid-row:1/3;width:64px;height:64px;align-self:center}
  #mPage .prof-top .prof-name{grid-column:2;grid-row:1/3;display:grid;gap:9px;font-size:20px;min-width:0}
  #mPage .prof-top .avbtns{display:flex;flex-wrap:wrap;gap:7px}
  #mPage .prof-top .avbtns .ibtn,#mPage .prof-top .avbtns .filebtn,#mPage .prof-top .prof-logout{
    position:static;width:40px;height:40px;margin:0;padding:0;display:flex;align-items:center;justify-content:center
  }
}

/* Evento en curso: pulso visual breve para distinguirlo en el feed y en la ficha. */
.live-event-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid rgba(255,83,100,.82);border-radius:999px;background:rgba(26,8,12,.88);color:#ff6475;font-size:9px;font-weight:950;letter-spacing:.7px;white-space:nowrap;box-shadow:0 0 0 0 rgba(255,65,88,.42);animation:bf-live-pulse 1.6s ease-out infinite}
.live-event-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#ff4358;box-shadow:0 0 9px #ff4358;animation:bf-live-dot .9s ease-in-out infinite alternate}
.flyer .live-event-badge{position:absolute;z-index:3;top:45px;left:10px}
.lb-live-badge{margin-left:10px;vertical-align:middle}
.spot-info>.live-event-badge{margin-bottom:8px}
@keyframes bf-live-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,65,88,.35)}55%{box-shadow:0 0 0 6px rgba(255,65,88,0)}}
@keyframes bf-live-dot{from{opacity:.5;transform:scale(.78)}to{opacity:1;transform:scale(1.12)}}
