/* Shared editorial carousel, composed vertically for phones and tablets. */
@media (max-width: 1023px) {
  body.home-page { background: #080a16; }
  .home-page .mobile-home { display:flex; flex-direction:column; max-width:760px; padding:calc(env(safe-area-inset-top) + 20px) 20px calc(env(safe-area-inset-bottom) + 32px); border:0; background:#080a16; box-shadow:none; }
  .mobile-topbar { order:0; }
  .current-city { order:1; margin:18px 0 16px; font-size:12px; }
  .mobile-intro { display:flex; flex-direction:column; order:2; min-width:0; }
  .mobile-home > *, .desktop-banner { min-width:0; }
  .mobile-intro.has-desktop-banner > h1 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .mobile-search { order:2; height:44px; border-radius:12px; }
  .mobile-categories { order:4; gap:8px; margin:18px 0 22px; }
  .home-category { flex:1 0 auto; border-radius:999px; height:40px; padding:0 12px; }
  .desktop-banner { order:3; display:block; position:relative; overflow:hidden; border:1px solid #ffffff20; border-radius:18px; margin-top:18px; background:#101022; }
  .desktop-banner-track { display:flex; transition:transform .4s ease; }
  .desktop-banner-slide { --banner-shade:linear-gradient(180deg, rgba(8,10,22,.04) 10%, rgba(8,10,22,.24) 38%, rgba(8,10,22,.96) 100%); display:flex; align-items:flex-end; flex:0 0 100%; min-width:0; min-height:410px; aspect-ratio:4/5; padding:26px 24px 76px; background-size:cover; background-position:center; }
  .desktop-banner-content { width:100%; text-align:center; }
  .desktop-banner-label { color:#ffc478; font-size:10px; font-weight:800; letter-spacing:1.6px; text-transform:uppercase; }
  .desktop-banner-slide--baixo .desktop-banner-label { color:#96dfc0; }
  .desktop-banner-title { margin:12px 0; color:#fff; font-size:clamp(28px,7vw,38px); line-height:1.12; letter-spacing:-1px; }
  .desktop-banner-description { margin:0; color:#d1d4df; font-size:13px; line-height:1.5; }
  .desktop-banner-controls { position:absolute; bottom:18px; left:0; right:0; display:flex; align-items:center; justify-content:center; gap:18px; }
  .desktop-banner-controls span { color:#d1d4df; font-size:12px; }
  .desktop-banner-controls button { width:40px; height:40px; border:1px solid #ffffff30; border-radius:50%; color:#fff; background:#ffffff0c; font-size:20px; }
  .mobile-venues { order:5; min-height:0; min-width:0; }
  .mobile-section-title h2 { font-size:18px; }
  .mobile-venue-list { display:grid; grid-auto-flow:column; grid-auto-columns:82%; grid-template-columns:none; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding:2px 0 14px; scrollbar-width:thin; scrollbar-color:#55436e transparent; }
  .mobile-feature-card { height:230px; scroll-snap-align:start; box-shadow:none; }
  .mobile-feature-info { grid-template-columns:minmax(0,1fr); gap:6px; bottom:16px; left:14px; right:14px; }
  .mobile-feature-info h3 { font-size:20px; }
  .mobile-feature-info .status { grid-row:3; justify-self:start; font-size:9px; }
  .mobile-feature-info .venue-neighborhood { grid-row:2; }
  .mobile-feature-info .venue-hours { justify-self:start; font-size:11px; }
  .location-attribution { order:6; }
  .desktop-banner button:focus-visible { outline:2px solid #bb86ee; outline-offset:3px; }
}
@media (min-width:600px) and (max-width:1023px) {
  .desktop-banner-slide { aspect-ratio:16/10; }
  .mobile-venue-list { grid-auto-columns:46%; }
}
@media (prefers-reduced-motion:reduce) { .desktop-banner-track { transition:none; } }
