/* Home page layout for phones only. Desktop keeps the existing layout. */
@media (max-width: 720px) {
  .site-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 8px 20px 12px;
    min-height: 0;
  }
  .site-header .brand {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 58px;
    align-items: center;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    margin: 0;
    gap: 6px;
  }
  .site-header .brand-logo { width: 50px; height: 54px; justify-self: start; }
  .site-header .brand-games-logo {
    width: 56px;
    height: 65px;
    justify-self: end;
    object-fit: contain;
    mix-blend-mode: lighten;
  }
  .site-header .brand-copy { min-width: 0; align-items: center; text-align: center; }
  .site-header .brand-copy strong { font-size: clamp(12px, 3.8vw, 18px); letter-spacing: -.6px; }
  .site-header .brand-copy small { font-size: clamp(7px, 1.9vw, 9px); letter-spacing: .5px; }
  .site-header .admin-entry {
    grid-row: 2;
    justify-self: end;
    width: auto;
    margin: 7px 0 8px;
    padding: 8px 17px;
    font-size: 14px;
  }
  .site-header nav.language-flags { display: none; }
  .site-header nav:not(.language-flags) {
    grid-row: 3;
    width: 100%;
    margin: 0;
    padding: 0 0 3px;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .site-header nav:not(.language-flags)::-webkit-scrollbar { display: none; }
  .site-header nav:not(.language-flags) a {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #567ba4;
    border-radius: 8px;
    background: #103664;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
    scroll-snap-align: start;
  }
  .site-header nav:not(.language-flags) a:hover,
  .site-header nav:not(.language-flags) a:focus-visible { border-color: var(--lime); background: #174579; }
  .site-header nav:not(.language-flags) .admin-entry {
    grid-row: auto;
    justify-self: auto;
    width: auto;
    margin: 0;
    padding: 8px 15px;
    font-size: 13px;
    border-color: var(--lime);
    background: #194675;
    color: #fff;
  }
  .hero-grid { gap: 24px; padding: 8px 20px 16px; }
  .hero-content { text-align: center; }
  .hero-content .eyebrow { justify-content: center; font-size: 9px; line-height: 1.35; letter-spacing: 1.1px; }
  .hero-content .eyebrow-line { width: 20px; flex-shrink: 0; }
  .hero-content h1 { font-size: clamp(34px, 9vw, 50px); line-height: 1.02; margin: 14px auto 16px; }
  .hero-lead { font-size: 14px; line-height: 1.4; margin: 0 auto; }
  .hero-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; align-items:stretch; justify-content:center; margin-top:26px; }
  .hero-actions .primary-button,.hero-actions .app-install { display:inline-flex; justify-content:center; padding:12px 10px; gap:8px; font-size:12px; min-height:44px; border-radius:6px; }
  .hero-actions .primary-button { white-space:normal; text-align:center; }
  .hero-actions .primary-button span { font-size:18px; }
  .hero-actions .app-install { background:transparent; color:var(--lime); border-color:var(--lime); }
  .hero-actions .app-install:hover { background:#153c67; }
  .hero-actions.app-is-installed { grid-template-columns:minmax(0,1fr); justify-items:center; }
  .hero-actions.app-is-installed .primary-button { width:auto; }
  .site-header nav:not(.language-flags) .app-install { flex:0 0 auto; min-height:38px; padding:8px 12px; background:#194675; color:#fff; font-size:13px; border-color:var(--lime); scroll-snap-align:start; }
  .date-art {
    width: calc(100% - 12px);
    height: 196px;
    padding: 14px 17px;
    border-radius: 7px;
    transform: rotate(1deg);
    box-shadow: 8px 9px 0 rgba(0,20,48,.45);
  }
  .date-art-top, .date-art-bottom { font-size: 8px; padding: 7px 0; }
  .art-kicker { font-size: 10px; }
  .art-numbers { font-size: clamp(58px, 16vw, 80px); line-height: .86; }
  .art-month { font-size: 18px; }
  .art-countdown { font-size: 9px; margin-top: 6px; padding-top: 6px; }
  .art-star { font-size: 20px; }
  .schedule { padding-top: 24px; }
}

@media (max-width: 360px) {
  .site-header { padding-inline: 15px; }
  .site-header .brand { grid-template-columns: 42px minmax(0, 1fr) 49px; }
  .site-header .brand-logo { width: 41px; height: 45px; }
  .site-header .brand-games-logo { width: 48px; height: 56px; }
  .site-header .brand-copy strong { font-size: 12px; }
  .site-header .brand-copy small { font-size: 7px; letter-spacing: .4px; }
  .date-art { height: 190px; }
}
