/* =========================================================
   POLISH 07 — FIX3 FINAL HOME RHYTHM
   Desktop: conserva exactamente la composición aprobada.
   Mobile: corrige métricas/accesos y recupera el bloque dinámico.
   ========================================================= */

/* ---------------------------------------------------------
   DESKTOP — SOLO ESCALA / LEGIBILIDAD
   No altera estructura, columnas ni proporciones del Club Hub.
   --------------------------------------------------------- */

@media (min-width: 721px) {
  .clubHub__button {
    min-height: 44px;
    padding-inline: 16px;
    gap: 9px;
    font-size: 10px;
  }

  .clubHub__buttonIcon {
    width: 18px;
    height: 18px;
  }

  .clubHub__buttonIcon .icon,
  .clubHub__buttonIcon svg {
    width: 17px;
    height: 17px;
  }

  .clubHubAccess__icon {
    width: 34px;
    height: 34px;
  }

  .clubHubAccess__icon .icon,
  .clubHubAccess__icon svg {
    width: 25px;
    height: 25px;
  }

  .clubHubAccess strong {
    font-size: 12px;
  }

  .clubHubAccess small {
    font-size: 8.5px;
  }

  .clubHubAccess__arrow {
    font-size: 15px;
  }

  /* Recupera el bloque dinámico original de tres columnas. */
  .sportsWidgets {
    grid-template-columns:
      minmax(0, .95fr)
      minmax(0, 1.05fr)
      minmax(285px, .86fr) !important;
    align-items: stretch;
  }

  .sportsWidget--today {
    display: block;
    grid-column: auto !important;
  }
}

/* ---------------------------------------------------------
   MOBILE — CLUB HUB
   --------------------------------------------------------- */

@media (max-width: 720px) {
  .clubHub {
    margin-bottom: 16px;
  }

  .clubHub__intro {
    padding: 22px 18px 16px;
  }

  .clubHub__copy h1 {
    max-width: 300px;
    font-size: 35px;
    line-height: .93;
  }

  .clubHub__copy p {
    max-width: 300px;
    font-size: 9.5px;
    line-height: 1.55;
  }

  .clubHub__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    width: 100%;
  }

  .clubHub__button {
    width: 100%;
    min-height: 37px;
    padding: 0 9px;
    justify-content: center;
    font-size: 7.5px;
    white-space: nowrap;
  }

  /* Métricas: una fila compacta y ordenada, no tres tarjetas verticales. */
  .clubHub__stats {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    flex-direction: initial !important;
    gap: 0;
    margin-top: 16px;
    padding: 12px 0 0;
    border: 0;
    border-top: 1px solid rgba(7,51,36,.075);
  }

  .clubHubStat {
    min-width: 0;
    min-height: 62px;
    padding: 9px 10px !important;
    border: 0 !important;
    border-right: 1px solid rgba(7,51,36,.075) !important;
  }

  .clubHubStat:last-child {
    border-right: 0 !important;
  }

  .clubHubStat::before {
    inset: 2px 3px !important;
    border-radius: 10px;
    background:
      linear-gradient(
        180deg,
        rgba(8,96,71,.035),
        rgba(8,96,71,.012)
      );
  }

  .clubHubStat strong {
    font-size: 19px;
  }

  .clubHubStat span {
    margin-top: 3px;
    font-size: 6.5px;
    white-space: normal;
    line-height: 1.15;
  }

  /* Accesos rápidos: 2 + 2 + 1 ancho completo. */
  .clubHub__utility {
    display: block !important;
    padding: 11px 12px 12px;
  }

  .clubHub__access {
    padding: 1px 0 0;
  }

  .clubHub__sectionLabel {
    margin: 0 0 9px 1px;
  }

  .clubHub__accessGrid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
  }

  .clubHubAccess {
    width: 100%;
    min-width: 0;
    min-height: 82px !important;
    padding: 11px 10px;
    border-radius: 13px;
  }

  .clubHubAccess:nth-child(1) { grid-column: 1; grid-row: 1; }
  .clubHubAccess:nth-child(2) { grid-column: 2; grid-row: 1; }
  .clubHubAccess:nth-child(3) { grid-column: 1; grid-row: 2; }
  .clubHubAccess:nth-child(4) { grid-column: 2; grid-row: 2; }

  .clubHubAccess:nth-child(5) {
    grid-column: 1 / -1 !important;
    grid-row: 3;
    min-height: 68px !important;
  }

  .clubHubAccess__icon {
    width: 24px;
    height: 24px;
    margin-bottom: 8px;
  }

  .clubHubAccess__icon .icon,
  .clubHubAccess__icon svg {
    width: 18px;
    height: 18px;
  }

  .clubHubAccess strong {
    margin-top: 0;
    font-size: 9px;
  }

  .clubHubAccess small {
    max-width: 110px;
    margin-top: 3px;
    font-size: 6.5px;
  }

  .clubHubAccess__arrow {
    right: 10px;
    bottom: 9px;
    font-size: 12px;
  }

  /* -------------------------------------------------------
     BLOQUE DEPORTIVO / DINÁMICO
     Últimos resultados → Próximos → Hoy en Sud América
     ------------------------------------------------------- */

  .sportsWidgets {
    width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px;
    margin: 16px 0 28px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .sportsWidget,
  .sportsWidget--today {
    width: 100%;
    max-width: none;
    min-width: 0;
    grid-column: auto !important;
    align-self: stretch;
  }

  .sportsWidget--today {
    display: block !important;
  }

  .sportsWidget__head {
    min-height: 52px;
    padding: 12px 14px;
  }

  .sportsWidget__title {
    font-size: 14px;
  }

  .sportsWidget__link {
    font-size: 10px;
  }

  .sportsWidget__body {
    padding: 12px;
  }

  .sportsWidget__body--today {
    padding: 0;
  }

  .todayAgendaItem {
    grid-template-columns: 48px minmax(0,1fr) 18px;
    min-height: 70px;
    padding: 11px 13px;
  }

  .todayAgendaItem__time {
    font-size: 13px;
  }

  .todayAgendaItem__content strong {
    font-size: 11px;
  }

  .todayAgendaItem__content small {
    font-size: 9px;
  }
}

@media (max-width: 370px) {
  .clubHub__button {
    font-size: 7px;
    padding-inline: 7px;
  }

  .clubHubStat {
    padding-inline: 7px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clubHubAccess,
  .clubHub__button,
  .todayAgendaItem {
    transition: none !important;
  }
}
