/* Mobile consolidation pass - 2026-09-21
   Public homepage only. No permissions, API rules, or business logic are changed. */

@media (max-width: 820px) {
  html, body { max-width:100%; overflow-x:hidden; }

  .site-header { position:sticky; top:0; z-index:50; padding:7px 0!important; }
  .site-header-inner {
    width:calc(100% - 16px)!important;
    max-width:none!important;
    padding:7px!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .site-header .brand {
    width:100%;
    min-height:44px!important;
    justify-content:center;
    text-align:center;
  }
  .site-header .site-nav {
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    padding:4px!important;
  }
  .site-header .site-nav a {
    min-width:0!important;
    min-height:42px!important;
    padding:7px 4px!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal!important;
    font-size:.82rem!important;
    line-height:1.08!important;
    touch-action:manipulation;
  }

  body main > .hero {
    width:calc(100% - 20px)!important;
    margin:12px 10px!important;
    padding:30px 18px 28px!important;
    border-radius:18px!important;
  }
  body main > .hero .hero-main { width:100%!important; }
  body main > .hero h1 {
    font-size:clamp(2.45rem,13vw,4rem)!important;
    line-height:.95!important;
    overflow-wrap:anywhere;
  }
  .hero-copy { font-size:1rem!important; line-height:1.5!important; }
  .hero-actions { display:grid!important; grid-template-columns:1fr!important; gap:8px!important; }
  .hero-actions .button { width:100%!important; min-height:48px!important; }

  .status-strip {
    width:calc(100% - 20px)!important;
    margin:0 10px 14px!important;
    padding:13px 14px!important;
    gap:8px!important;
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .public-live-button { width:100%!important; min-height:44px!important; }

  .home-visual-nav {
    width:calc(100% - 20px)!important;
    margin:0 10px 18px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .home-visual-tile {
    min-height:138px!important;
    padding:0 10px 11px!important;
    border-radius:13px!important;
    touch-action:manipulation;
  }
  .home-visual-nav-media { inset:0 0 50px!important; }
  .home-visual-tile>strong { font-size:15px!important; }
  .home-visual-tile>small { font-size:11px!important; }

  .home-hosts-bridge,
  .home-people-section,
  .section-grid,
  body main > .public-contact-section,
  body main > .public-lounge-section {
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin-left:10px!important;
    margin-right:10px!important;
  }

  .home-hosts-bridge {
    padding:0 2px!important;
    gap:5px!important;
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .home-people-section { gap:10px!important; }
  .home-person-card {
    grid-template-columns:1fr!important;
    min-height:0!important;
    max-height:none!important;
  }
  .home-person-media {
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/10;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .home-person-media img,
  .home-person-media video { width:100%!important; height:100%!important; object-fit:cover!important; }
  .home-person-copy { padding:18px 16px!important; }
  .home-person-bio {
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
  }

  .section-grid {
    padding:0 0 38px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .section-grid > * {
    grid-column:auto!important;
    grid-row:auto!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
  }
  .panel { padding:18px!important; border-radius:16px!important; }

  .videos-home-panel {
    display:block!important;
    padding:18px!important;
  }
  .videos-home-tiles {
    margin-top:12px;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .videos-home-tile {
    min-height:112px!important;
    padding:12px!important;
  }

  .public-show-card {
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:10px!important;
  }
  .public-show-image {
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9;
  }
  .public-show-watch { width:100%!important; min-height:44px!important; }

  .polling-public-panel { max-height:none!important; overflow:hidden!important; }
  .polling-public-head { padding:14px!important; }
  .public-poll-tabs {
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:4px!important;
    padding:8px 9px 0!important;
  }
  .public-poll-tab {
    min-height:40px!important;
    padding:7px 2px!important;
    font-size:11px!important;
    touch-action:manipulation;
  }
  .public-polls-list {
    max-height:none!important;
    overflow:visible!important;
    padding:10px!important;
  }
  .public-poll-card { padding:13px!important; }
  .poll-options, .poll-option-grid { grid-template-columns:1fr!important; }
  .public-poll-card button,
  .public-poll-card input,
  .public-poll-card textarea { min-height:44px; }

  .music-home-panel { min-height:0!important; }
  .music-home-marquee {
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:8px!important;
  }
  .music-home-radio {
    grid-column:2!important;
    justify-self:start!important;
  }
  .music-home-scene {
    grid-template-columns:1fr 1fr!important;
    gap:4px!important;
    padding:12px 8px 0!important;
    min-height:154px!important;
  }
  .music-mini-jukebox { max-width:100%!important; }
  .music-mini-notebook { min-width:0!important; }
  .music-home-feature-row { grid-template-columns:1fr!important; }
  .music-home-cta {
    width:100%!important;
    min-height:46px!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  .lb-home-arena,
  .lb-home-arena-shell,
  .lb-home-podium-window { min-width:0!important; max-width:100%!important; }
  .lb-home-compact-head,
  .lb-home-compact-footer {
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .lb-home-enter { width:100%!important; min-height:46px!important; justify-content:center!important; }
  .lb-home-champions-strip {
    width:100%;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
  }
  .lb-home-champion { scroll-snap-align:start; }

  .public-lounge-section {
    padding:18px!important;
    overflow:hidden!important;
  }
  .public-lounge-grid,
  .public-lounge-actions,
  .lounge-public-grid,
  .lounge-public-actions {
    grid-template-columns:1fr!important;
  }
  .public-lounge-section a,
  .public-lounge-section button,
  .public-lounge-section input { min-height:44px; }

  .public-contact-section {
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:16px!important;
    margin-bottom:36px!important;
  }
  .control-room-board { grid-template-columns:1fr!important; }
  .public-contact-two { grid-template-columns:1fr!important; }
  .public-contact-form { min-width:0!important; }
  .public-contact-form input,
  .public-contact-form select,
  .public-contact-form textarea,
  .public-contact-form button { width:100%!important; min-height:44px; }
  #contact-body { min-height:180px!important; }
  #public-contact-submit { top:0!important; margin-top:4px!important; }

  .site-soundtrack {
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    width:auto!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:7px!important;
    padding:9px!important;
  }
  .site-soundtrack-copy { min-width:0; }
  .site-soundtrack-volume { grid-column:1/-1; width:100%!important; }
  #site-soundtrack-toggle,
  #site-soundtrack-mute { min-height:40px!important; }

  .site-footer-inner,
  .site-footer-bottom {
    width:calc(100% - 20px)!important;
    margin-left:10px!important;
    margin-right:10px!important;
  }
  .site-footer-inner { grid-template-columns:1fr!important; gap:18px!important; }
  .site-footer-socials { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .site-footer-nav-links { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

@media (max-width: 430px) {
  .site-header .site-nav { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .home-visual-nav { grid-template-columns:1fr 1fr!important; }
  .home-visual-tile { min-height:124px!important; }
  .videos-home-tiles { grid-template-columns:1fr!important; }
  .music-home-scene { grid-template-columns:1fr!important; }
  .music-mini-jukebox { margin:0 auto!important; }
  .music-mini-notebook { width:100%!important; }
  .public-poll-tabs { grid-template-columns:repeat(5,minmax(0,1fr))!important; }
  .public-poll-tab { font-size:10px!important; }
  .site-footer-socials,
  .site-footer-nav-links { grid-template-columns:1fr!important; }
}

@media (hover:none) and (pointer:coarse) {
  a, button, label[for], input[type="range"] { touch-action:manipulation; }
  .home-visual-tile:hover,
  .public-show-card:hover,
  .panel:hover { transform:none!important; }
}

/* Never let mobile layout override configured visibility. */
.is-hidden{display:none!important;}


/* Keep anchored homepage sections clear of the taller mobile masthead. */
@media(max-width:820px){
  #shows,#games,#music,#videos,#leaderboard,#contact,#public-lounge-section{
    scroll-margin-top:156px!important;
  }
}


/* 2026-09-21 mobile density + usability correction from phone review */
@media(max-width:820px){
  .site-header{
    padding:4px 0!important;
  }
  .site-header-inner{
    width:calc(100% - 10px)!important;
    padding:5px!important;
    gap:5px!important;
    border-radius:12px!important;
  }
  .site-header .brand{
    min-height:36px!important;
    padding:0 12px!important;
    font-size:1rem!important;
  }
  .site-header .site-nav{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
    padding:3px!important;
  }
  .site-header .site-nav a{
    min-height:34px!important;
    padding:5px 3px!important;
    font-size:.73rem!important;
    line-height:1!important;
  }

  body main>.hero:has(#home-header-scene-image){
    min-height:170px!important;
    padding:0!important;
    margin:8px 8px 10px!important;
    width:calc(100% - 16px)!important;
    border-radius:16px!important;
  }
  #home-header-scene-image{
    object-fit:cover!important;
    object-position:center center!important;
  }

  .status-strip{
    width:calc(100% - 16px)!important;
    margin:0 8px 12px!important;
    min-height:0!important;
    padding:9px 11px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:5px!important;
    flex-direction:initial!important;
  }
  .status-strip strong{
    font-size:.9rem!important;
    white-space:nowrap!important;
  }
  #public-live-text{
    color:#f2d487!important;
    font-size:.86rem!important;
    line-height:1.25!important;
    min-width:0!important;
  }
  .status-strip .public-live-button{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:38px!important;
  }
}

@media(max-width:430px){
  .site-header .site-nav{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .site-header .site-nav a{
    font-size:.70rem!important;
    min-height:33px!important;
  }
  body main>.hero:has(#home-header-scene-image){
    min-height:155px!important;
  }
  .status-strip{
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  .status-strip strong,
  #public-live-text{
    grid-column:1!important;
  }
}


/* 2026-09-21 targeted phone follow-up: keep the Record Shop teaser scene compact */
@media(max-width:430px){
  .music-home-scene{
    grid-template-columns:.88fr 1.12fr!important;
    align-items:center!important;
    gap:6px!important;
    min-height:142px!important;
    padding:10px 8px 4px!important;
  }
  .music-mini-jukebox{
    width:86px!important;
    height:112px!important;
    margin:0 auto!important;
  }
  .music-mini-notebook{
    width:100%!important;
    max-width:190px!important;
    min-height:92px!important;
    padding:9px 8px 8px 14px!important;
    justify-self:end!important;
    transform:rotate(.7deg)!important;
  }
  .music-mini-notebook small{font-size:.42rem!important}
  .music-mini-notebook strong{font-size:.74rem!important}
  .music-mini-track-sheet{
    gap:2px!important;
    margin-top:5px!important;
  }
  .music-mini-track-sheet span{
    min-height:14px!important;
    grid-template-columns:18px minmax(0,1fr)!important;
  }
  .music-mini-track-sheet b,
  .music-mini-track-sheet i{font-size:.34rem!important}
  .music-mini-usb{
    margin-top:4px!important;
    padding-top:3px!important;
    font-size:.31rem!important;
  }
}
