:root{--mobile-bg:#020617;--mobile-line:rgba(148,163,184,.17);--mobile-text:#f8fafc;--mobile-muted:#a1a8b8;--mobile-purple:#a76df2;--mobile-orange:#ffb020}*{box-sizing:border-box}body.home-page{min-height:100vh;overflow-x:hidden;overflow-y:auto;margin:0;color:var(--mobile-text);background:#050615;font-family:Inter,system-ui,sans-serif}.mobile-home{position:relative;width:100%;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 27px) 20px calc(env(safe-area-inset-bottom) + 105px);background:radial-gradient(circle at 90% 5%,rgba(88,28,135,.14),transparent 30%),linear-gradient(180deg,#020617 0%,#030817 100%)}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;min-height:35px}.mobile-brand{color:#f8fafc;font-size:23px;font-weight:800;letter-spacing:-1.25px;text-decoration:none}.mobile-brand span{color:#9d59e9}.notification-button{display:grid;place-items:center;width:39px;height:39px;margin-right:-7px;border:0;background:transparent;color:#f8fafc}.notification-button svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.current-city{display:flex;align-items:center;gap:8px;margin:20px 0 15px;padding:0;border:0;background:transparent;color:#e5e7eb;font:600 14px Inter,sans-serif}.current-city>svg{width:16px;fill:none;stroke:currentColor;stroke-width:2}.current-city .city-chevron{width:15px;margin-left:1px}.mobile-intro h1{margin:0 0 18px;font-size:29px;line-height:1.12;letter-spacing:-1.3px}.mobile-intro h1 span{color:#bb86ee}.mobile-search{display:flex;align-items:center;gap:12px;height:48px;padding:0 14px;border:1px solid var(--mobile-line);border-radius:13px;background:linear-gradient(180deg,rgba(22,29,46,.95),rgba(13,19,34,.95));box-shadow:inset 0 1px rgba(255,255,255,.025)}.mobile-search svg{flex:0 0 21px;width:21px;fill:none;stroke:#d5d9e3;stroke-width:1.8;stroke-linecap:round}.mobile-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#fff;font:400 14px Inter,sans-serif}.mobile-search input::placeholder{color:#a7adbb}.mobile-categories{display:flex;gap:9px;margin:17px 0 22px;overflow-x:auto;scrollbar-width:none}.mobile-categories::-webkit-scrollbar{display:none}.home-category{display:flex;align-items:center;justify-content:center;flex:0 0 auto;gap:7px;height:43px;padding:0 13px;border:1px solid var(--mobile-line);border-radius:11px;background:linear-gradient(180deg,#111827,#0d1423);color:#c4cad5;font:600 12px Inter,sans-serif;box-shadow:inset 0 1px rgba(255,255,255,.025)}.home-category span{color:var(--mobile-orange);font-size:17px}.home-category[data-category=Restaurante]{color:#ff9346}.home-category[data-category=Festa]{color:#b86df5}.home-category.active{border-color:rgba(167,109,242,.5);background:#21153a;color:#fff}.mobile-venues{min-height:300px}.mobile-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 1px 12px}.mobile-section-title h2{margin:0;color:#f8fafc;font-size:18px;letter-spacing:-.45px}.mobile-section-title h2 span{margin-right:5px;color:#ffb020;font-size:25px;font-style:italic}.venue-count{display:none}.mobile-venue-list{display:grid;gap:12px}.mobile-feature-card{position:relative;height:173px;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:#111827 center/cover no-repeat;box-shadow:0 12px 28px rgba(0,0,0,.22);isolation:isolate}.mobile-feature-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,6,23,.02) 22%,rgba(2,6,23,.28) 52%,rgba(2,6,23,.96) 100%)}.favorite-button{position:absolute;z-index:2;top:9px;right:9px;display:grid;place-items:center;width:34px;height:34px;border:0;background:transparent;color:#fff;filter:drop-shadow(0 2px 4px #000)}.favorite-button svg{width:25px;fill:rgba(2,6,23,.18);stroke:currentColor;stroke-width:2}.mobile-feature-info{position:absolute;z-index:1;right:11px;bottom:14px;left:11px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 10px}.mobile-feature-info h3{overflow:hidden;margin:0;color:#fff;font-size:19px;letter-spacing:-.65px;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px 7px #000}.mobile-feature-info .venue-neighborhood{color:#d0d4de;font-size:12px;text-shadow:0 1px 4px #000}.mobile-feature-info .status{align-self:center;justify-self:end;padding:6px 10px;font-size:10px;font-weight:800;text-transform:uppercase}.mobile-feature-info .venue-hours{justify-self:end;color:#d4d7df;font-size:12px;text-shadow:0 1px 4px #000}.mobile-empty{padding:48px 16px;border:1px dashed var(--mobile-line);border-radius:14px;text-align:center;color:var(--mobile-muted)}.mobile-empty strong{color:#fff}.mobile-empty p{margin:7px 0 0;font-size:12px}.mobile-bottom-nav{position:fixed;z-index:20;right:max(14px,calc((100vw - 430px)/2 + 14px));bottom:max(8px,env(safe-area-inset-bottom));left:max(14px,calc((100vw - 430px)/2 + 14px));display:grid;grid-template-columns:repeat(4,1fr);height:82px;padding:10px 8px 7px;border:1px solid rgba(148,163,184,.15);border-radius:20px;background:rgba(8,14,28,.96);box-shadow:0 16px 36px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.025);backdrop-filter:blur(18px)}.mobile-bottom-nav a,.mobile-bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;color:#aeb4c1;font:500 10px Inter,sans-serif;text-decoration:none}.mobile-bottom-nav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-bottom-nav .active{color:#ffb020}.mobile-bottom-nav .active svg{fill:#ffb55d;stroke:#ffb55d}.mobile-bottom-nav .active i{position:absolute;bottom:-2px;width:5px;height:5px;border-radius:50%;background:#ffb020}@media(min-width:431px){body.home-page{background:radial-gradient(circle at 50% 20%,#211041,#070815 55%)}.mobile-home{max-width:430px;margin:0 auto;border-right:1px solid rgba(167,109,242,.18);border-left:1px solid rgba(167,109,242,.18);box-shadow:0 0 70px rgba(0,0,0,.6)}}@media(max-width:355px){.mobile-home{padding-right:15px;padding-left:15px}.mobile-intro h1{font-size:26px}.home-category{padding:0 10px}}

/* Keep venue photography consistent without dimming card text. */
.home-page .mobile-feature-card { border: 0; }
.home-page .mobile-feature-card::after { background: linear-gradient(180deg, rgba(8,10,22,.20) 0%, rgba(8,10,22,.30) 40%, rgba(8,10,22,.78) 72%, #080c1c 100%); }
