/* Layout mobile do calendário e dos modais de partidas.
   Desktop mantém as regras existentes do style.css. */
@media (max-width:760px){
  .season-calendar-modal{
    box-sizing:border-box;
    padding:12px;
    overflow-x:hidden;
    overflow-y:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:safe center;
  }
  .season-calendar-modal-card{
    box-sizing:border-box;
    flex:0 0 auto;
    width:min(560px,100%);
    max-width:100%;
    margin:0 auto;
    min-width:0;
  }
  .season-calendar-modal-card.has-medical-sides{
    width:min(680px,100%);
    max-width:100%;
    min-height:0;
    padding:30px 12px 22px;
  }
  .season-calendar-modal-card.is-result-entry{
    box-sizing:border-box;
    width:min(620px,100%);
    max-width:100%;
    min-height:0;
    padding:42px 15px 26px;
  }
  .season-medical-match-layout{
    width:100%;
    min-width:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px 10px;
  }
  .season-medical-match-main{
    min-width:0;
    grid-column:1/-1;
    grid-row:1;
    padding:0;
  }
  .season-medical-unavailable{
    min-width:0;
    grid-row:2;
    padding-top:0;
  }
  .season-medical-unavailable-heading-content{gap:4px}
  .season-medical-unavailable-heading strong{
    white-space:normal;
    overflow-wrap:anywhere;
    font-size:11px;
  }
  .season-calendar-modal-card p.season-calendar-opponent-wait-notice{
    position:relative;
    transform:none;
    isolation:isolate;
    box-sizing:border-box;
    max-width:100%;
    margin:24px auto 26px;
    padding:12px 10px;
    font-size:11px;
    line-height:1.5;
  }
  .season-calendar-opponent-wait-notice::before{
    inset:0;
    border-radius:10px;
  }
}
@media (max-width:700px){
  /* Alinha MENU, logo e identificação do clube na mesma linha. */
  .season-home-topbar{
    display:grid;
    grid-template-columns:minmax(65px,70px) minmax(0,1fr) minmax(0,128px);
    align-items:center;
    gap:6px;
    min-height:80px;
    padding:7px 8px;
    justify-content:initial;
  }
  .season-home-topbar .season-menu-button{
    position:static;
    grid-column:1;
    grid-row:1;
    transform:none;
    justify-self:start;
    gap:4px;
    padding:5px 0;
    font-size:10px;
    white-space:nowrap;
  }
  .season-home-topbar .season-menu-button:hover:enabled{transform:none}
  .season-home-topbar .season-menu-icon{font-size:18px}
  /* A marca é centralizada pela largura total do cabeçalho,
     independentemente dos blocos assimétricos à esquerda e à direita. */
  .season-home-topbar .season-home-brand{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:clamp(78px,25vw,108px);
    min-width:0;
    max-width:none;
    margin:0;
    z-index:1;
    pointer-events:none;
  }
  .season-home-topbar .season-home-brand-image{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
  }
  .season-home-topbar .season-header-identity{
    position:static;
    grid-column:3;
    grid-row:1;
    justify-self:end;
    align-self:center;
    top:auto;
    right:auto;
    bottom:auto;
    transform:none;
    width:100%;
    max-width:none;
    min-width:0;
    gap:4px;
  }
  .season-home-topbar .season-header-names{
    flex:1 1 auto;
    min-width:0;
    max-width:none;
    line-height:1.12;
  }
  .season-home-topbar .season-header-names strong{font-size:10px}
  .season-home-topbar .season-header-names span{
    font-size:8px;
    line-height:1.18;
    margin-top:2px;
    padding-bottom:0;
  }
  .season-home-topbar .season-header-identity .season-current-club-badge{
    flex:0 0 30px;
    width:30px;
    height:30px;
  }
  .season-home-topbar .season-header-identity .season-current-club-crest{
    width:29px;
    height:29px;
  }
  .season-home-topbar .season-header-identity .season-current-club-crest.is-fallback-ball{
    width:22px;
    height:22px;
  }
  .season-home-topbar .season-checkpoint-badge{
    top:calc(100% - 3px);
    bottom:auto;
    left:8px;
    transform:none;
    min-height:0;
    max-width:75%;
    font-size:10px;
    padding:6px 8px;
    z-index:10;
  }
  .season-home-divider{margin:0 8px}

  /* Calendário em 7 colunas, sem a antiga largura mínima de 820px. */
  .season-calendar-page{
    width:100%;
    max-width:100%;
    padding:18px 8px 40px;
    overflow-x:clip;
    box-sizing:border-box;
  }
  .season-calendar-frame{
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0 auto;
  }
  .season-calendar-weekdays,
  .season-calendar-grid{
    display:grid;
    width:100%;
    min-width:0;
    max-width:100%;
    grid-template-columns:repeat(7,minmax(0,1fr));
  }
  .season-calendar-weekdays span{
    min-width:0;
    min-height:27px;
    font-size:11px;
  }
  .season-calendar-day,
  .season-calendar-grid-full .season-calendar-day{
    min-width:0;
    min-height:73px;
  }
  .season-calendar-date,
  .season-calendar-grid-full .season-calendar-date{
    top:6px;
    left:2px;
    right:2px;
    align-items:center;
    text-align:center;
  }
  .season-calendar-date strong,
  .season-calendar-grid-full .season-calendar-date strong{
    font-size:13px;
    letter-spacing:-.2px;
  }
  .season-calendar-date span,
  .season-calendar-grid-full .season-calendar-date span{
    max-width:100%;
    font-size:clamp(6px,1.8vw,8px);
    letter-spacing:-.25px;
    white-space:nowrap;
    margin-top:2px;
  }
  .season-calendar-empty-mark,
  .season-calendar-grid-full .season-calendar-empty-mark{
    width:12px;
    left:50%;
    top:52px;
    transform:translateX(-50%);
  }
  .season-calendar-event-card,
  .season-calendar-grid-full .season-calendar-event-card{
    inset:1px;
    min-width:0;
    min-height:0;
    padding:31px 1px 7px;
    gap:0;
    justify-content:center;
    align-items:flex-end;
  }
  .season-calendar-event-copy,
  .season-calendar-grid-full .season-calendar-event-copy{
    display:none;
  }
  .season-calendar-event-glyph,
  .season-calendar-grid-full .season-calendar-event-glyph{
    width:23px;
    height:23px;
    flex:0 0 23px;
    align-self:center;
  }
  .season-calendar-event-glyph svg,
  .season-calendar-event-glyph img,
  .season-calendar-event-glyph.has-club-crest img{
    width:22px;
    height:22px;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
  }
  .season-calendar-event-glyph.is-transfer{font-size:17px}
  .season-calendar-event-card::after{
    width:38px;
    height:38px;
    right:-8px;
    bottom:-12px;
  }
  .season-calendar-remapped-overlay{
    padding:0;
    align-items:flex-end;
    justify-content:center;
  }
  .season-calendar-remapped-overlay span{display:none}
  .season-calendar-remapped-overlay::after{
    content:"↻";
    font-size:20px;
    color:#e9edf1;
    padding-bottom:6px;
  }
  .season-calendar-event-card[data-calendar-mobile-preview]{
    cursor:pointer;
    pointer-events:auto;
  }
  /* Jogo não liberado: informa a data, mas não altera a agenda. */
  .season-calendar-modal-card.is-mobile-event-preview{
    text-align:center;
    padding:42px 20px 26px;
  }
  .season-calendar-modal-card.is-mobile-event-preview h2{
    margin:6px 0 16px;
    padding:0 24px;
    font-size:21px;
  }
  .season-calendar-preview-info{
    margin:8px auto;
    text-align:center;
    overflow-wrap:anywhere;
  }
  .season-calendar-heading h1{font-size:25px}
  .season-calendar-full-toolbar strong{font-size:15px}
  .season-calendar-month-arrow{width:32px;height:32px;font-size:25px}

  /* Resultado: goleadores/garçons lado a lado, sob os gols registrados. */
  .season-calendar-result-details{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:9px;
    row-gap:12px;
    margin-top:17px;
    min-width:0;
    align-items:start;
  }
  .season-calendar-goal-events{
    grid-column:1/-1;
    grid-row:1;
    min-width:0;
    min-height:0;
    margin:0;
    gap:9px;
  }
  .season-calendar-result-side.is-home{
    grid-column:1;
    grid-row:2;
    min-width:0;
  }
  .season-calendar-result-side.is-away{
    grid-column:2;
    grid-row:2;
    min-width:0;
  }
  .season-calendar-player-picker{min-width:0}
  .season-calendar-player-picker-trigger{
    min-width:0;
    min-height:38px;
    padding:7px 6px;
    gap:4px;
    font-size:10px;
  }
  .season-calendar-player-picker-trigger span:first-child{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .season-calendar-result-side.is-home .season-calendar-player-picker-menu{
    left:0;
    right:auto;
    width:min(260px,calc(100vw - 50px));
  }
  .season-calendar-result-side.is-away .season-calendar-player-picker-menu{
    left:auto;
    right:0;
    width:min(260px,calc(100vw - 50px));
  }
}
@media (max-width:370px){
  .season-home-topbar{
    grid-template-columns:62px minmax(0,1fr) minmax(0,113px);
    gap:3px;
  }
  .season-home-topbar .season-menu-button{font-size:9px}
  .season-home-topbar .season-home-brand{width:75px}
  .season-home-topbar .season-header-names strong{font-size:9px}
  .season-home-topbar .season-header-names span{font-size:7px}
  .season-home-topbar .season-header-identity .season-current-club-badge{
    flex-basis:26px;width:26px;height:26px;
  }
  .season-home-topbar .season-header-identity .season-current-club-crest{width:25px;height:25px}
}
