/* Mobile legibility layer: minimum 11px labels, 44px touch targets and the
   rally companion docked inside the bottom action bar. Loaded last. */
@media (max-width: 760px) {
  /* labels and small print */
  .section-index, .section-kicker, .eyebrow, .preview-label { font-size: 11px; letter-spacing: .1em; }
  .hero-stats span { font-size: 11px; letter-spacing: .08em; }
  .hero-edition, .hero-edition .edition-dates span { font-size: 11px; }
  .hero-edition p, .hero-edition a { font-size: 13px; }
  .format-card-top span { font-size: 11px; letter-spacing: .06em; }
  .format-rows span { font-size: 12px; }
  .fixture-tab span, .fixture-group, .audience-panel > span { font-size: 11px; }
  .fixture-row { font-size: 15px; }
  .pass-top, .pass-caption, .pass-bottom { font-size: 11px; }
  .audience-tabs button { font-size: 13px; min-height: 44px; }
  .site-footer, .site-footer p { font-size: 14px; }
  .footer-bottom { font-size: 11px; gap: 10px; }
  .rules-section p { font-size: 15px; }
  .mobile-action small { font-size: 12px; }
  .mobile-action .button, .bank-next .button, .button-small { font-size: 12px; }
  .form-guidance, .preview-hint, .payment-note { font-size: 13px; }

  /* touch targets */
  .text-link, .inline-link, .proposal-trigger, .jersey-download, .signup-back,
  .hero-edition a, .footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
  .site-footer .footer-main a { display: flex; align-items: center; min-height: 44px; }
  .site-header .brand, .brand { padding-block: 10px; min-height: 44px; }
  .jersey-colors input[type=color] { width: 44px; height: 44px; }
  .jersey-chip { min-height: 44px; }
  .bank-card dd a, .form-footnote a, .form-guidance a { display: inline; padding-block: 14px; }
  .faq-list summary { min-height: 52px; }

  /* rally companion docked in the bottom bar */
  .rally-companion {
    left: 0; right: 146px; bottom: 0; width: auto; z-index: 41;
    display: block;
    padding: 8px 4px calc(8px + env(safe-area-inset-bottom)) 12px;
    background: transparent; border: 0; box-shadow: none; backdrop-filter: none;
  }
  .rally-companion svg { margin: 0; width: 100%; }
  .rally-companion .rc-head { position: absolute; left: 16px; right: 8px; top: 12px; pointer-events: none; }
  .rally-companion .rc-head .rc-close { pointer-events: auto; background: rgba(4,11,40,.85); }
  .rally-companion:not(.is-expanded) .rc-fact { display: none; }
  .rally-companion .rc-fact { margin: 2px 0 0; font-size: 12px; line-height: 1.25; min-height: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .rally-companion .rc-tag { font-size: 10px; padding: 3px 6px; white-space: nowrap; }
  .rally-companion .rc-head { gap: 4px; }
  .rally-companion .rc-close { font-size: 18px; min-width: 28px; min-height: 28px; padding: 0; }
  .rally-companion .rc-cta { display: none !important; }
  .rally-companion.is-away { transform: none; opacity: 1; pointer-events: auto; }
  body:has(.rally-companion:not([hidden])) .mobile-action > span { visibility: hidden; }
  body:has(.rally-companion:not([hidden])) .mobile-action { min-height: calc(96px + env(safe-area-inset-bottom)); }
  body:has(.mobile-action.is-hidden) .rally-companion { transform: translateY(120%); opacity: 0; pointer-events: none; }
  .rc-restore { left: 12px; right: auto; bottom: calc(84px + env(safe-area-inset-bottom)); min-height: 36px; }
  body:has(.mobile-action.is-hidden) .rc-restore { transform: translateY(160%); opacity: 0; pointer-events: none; }
  .mobile-action .button { padding-inline: 14px; white-space: nowrap; }
  main { padding-bottom: 8px; }
  /* signup: the form comes first on phones, so the 'Empezá acá' heading would sit below it */
  .signup-body .registration-info > h2 { display: none; }
  .signup-body .registration-info { padding-top: 8px; }

  .rally-companion svg { cursor: zoom-in; border: 1px solid rgba(200,243,28,.35); }
  /* collapsed: the court thumbnail never grows past the bar, whatever the phone width */
  .rally-companion:not(.is-expanded) { right: auto; max-width: calc(100% - 146px); }
  .rally-companion:not(.is-expanded) svg { width: auto; max-width: 100%; height: 76px; }
  .rally-companion::after { content: "⤢ ver en grande"; position: absolute; right: 10px; bottom: calc(12px + env(safe-area-inset-bottom)); font-size: 10px; font-weight: 700; color: var(--lime); background: rgba(4,11,40,.85); padding: 2px 5px; pointer-events: none; }
  /* expanded: a large card above the bar */
  .rally-companion.is-expanded {
    left: 10px; right: 10px; bottom: calc(86px + env(safe-area-inset-bottom)); z-index: 45;
    display: block; padding: 12px 12px 14px; background: rgba(4,11,40,.97);
    border: 1px solid rgba(200,243,28,.5); box-shadow: 0 18px 40px rgba(0,0,0,.55);
  }
  .rally-companion.is-expanded::after { content: none; }
  .rally-companion.is-expanded svg { margin-top: 8px; cursor: zoom-out; border: 0; }
  .rally-companion.is-expanded .rc-head { position: static; pointer-events: auto; }
  .rally-companion.is-expanded .rc-fact { font-size: 14px; -webkit-line-clamp: unset; margin-top: 8px; }
  .rally-companion.is-expanded .rc-tag { font-size: 12px; padding: 4px 8px; }
  .rally-companion.is-expanded.is-point .rc-cta { display: block !important; }
  body:has(.rally-companion.is-expanded) .mobile-action > span { visibility: visible; }
}
