/* CALENDRIER DES EVENEMENTS SPORTIFS -- filtrable par sport, navigable mois par mois, barres continues par epreuve */
.evt-cal-wrap{--evt-contrast:#222222;--evt-contrast-2:#575760;position:relative;}
.evt-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.evt-filter-btn{cursor:pointer;user-select:none;font-size:12px;font-weight:700;border-radius:0;padding:8px 16px;border:1.5px solid #ddd;background:#fff;transition:background .15s ease,color .15s ease;}
.evt-filter-btn.evt-reset{background:var(--evt-contrast);color:#fff;border-color:var(--evt-contrast);}
.evt-cal-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:16px;}
.evt-nav-btn{width:38px;height:38px;border-radius:0;border:1.5px solid #ddd;background:#fff;font-size:16px;font-weight:700;color:var(--evt-contrast);cursor:pointer;}
.evt-nav-btn:hover:not(:disabled){border-color:#622EBE;color:#622EBE;}
.evt-nav-btn:disabled{opacity:.3;cursor:default;}
.evt-cal-month{font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;min-width:180px;text-align:center;color:var(--evt-contrast);}
.evt-cal-grid-wrap{border:2px solid #622EBE;border-radius:0;overflow:hidden;}
.evt-weekday-row{display:grid;grid-template-columns:repeat(7,1fr);background:#622EBE;}
.evt-weekday-row div{color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;text-align:center;padding:9px 4px;}

/* --- Vue desktop : semaines en grille, barres continues par epreuve (traits continus) --- */
.evt-desktop-cal{display:block;}
.evt-week-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #eee;row-gap:3px;padding-bottom:5px;}
.evt-day-num-cell{border-right:1px solid #eee;padding:6px 6px 2px;font-size:11px;font-weight:800;color:var(--evt-contrast-2);min-height:24px;}
.evt-week-row > .evt-day-num-cell:nth-child(7){border-right:none;}
.evt-day-num-cell.evt-empty{background:#FAFAFA;}
.evt-day-num-cell.evt-weekend{background:#FBF9FC;}
.evt-bar{margin:0 1px;padding:2px 6px;font-size:10px;font-weight:700;line-height:16px;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:filter .1s ease;}
.evt-bar-round-start{border-top-left-radius:3px;border-bottom-left-radius:3px;margin-left:3px;}
.evt-bar-round-end{border-top-right-radius:3px;border-bottom-right-radius:3px;margin-right:3px;}
.evt-bar:hover{filter:brightness(1.15);}

/* --- Popup de detail au clic sur une case/barre --- */
.evt-popup-overlay{position:fixed;inset:0;background:rgba(20,16,28,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.evt-popup-overlay[hidden]{display:none;}
.evt-popup{background:#fff;max-width:460px;width:100%;max-height:80vh;overflow-y:auto;border-radius:0;position:relative;box-shadow:0 20px 50px rgba(0,0,0,.25);}
.evt-popup-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border:none;background:#f2f2f2;font-size:18px;line-height:1;cursor:pointer;color:var(--evt-contrast-2);}
.evt-popup-close:hover{background:#e5e5e5;}
.evt-popup-head{padding:22px 24px 16px;border-bottom:3px solid #622EBE;}
.evt-popup-cat{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.evt-popup-title{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--evt-contrast);line-height:1.3;padding-right:24px;}
.evt-popup-dates{font-size:12.5px;color:var(--evt-contrast-2);}
.evt-popup-sessions{list-style:none;margin:0;padding:10px 24px 22px;display:flex;flex-direction:column;gap:10px;}
.evt-popup-sessions li{display:flex;gap:10px;font-size:13px;line-height:1.4;}
.evt-popup-session-date{flex:0 0 92px;font-weight:700;color:var(--evt-contrast);text-transform:capitalize;}
.evt-popup-session-text{color:var(--evt-contrast-2);}

/* --- Vue mobile : agenda liste (un jour = une ligne, comme avant la refonte) --- */
.evt-mobile-agenda{display:none;}
.evt-day-cell{padding:6px 6px;position:relative;font-size:10.5px;}
.evt-day-num{font-size:11px;font-weight:800;margin-bottom:4px;color:var(--evt-contrast-2);}
.evt-pill{display:block;border-radius:0;padding:2px 5px;margin-bottom:3px;font-size:8.5px;font-weight:700;line-height:1.35;border:1px solid currentColor;background:rgba(255,255,255,.6);cursor:pointer;}
.evt-mobile-empty{padding:24px 12px;text-align:center;font-size:13px;color:var(--evt-contrast-2);}

@media (max-width:900px){.evt-bar{font-size:9px;}}
@media (max-width:600px){
  .evt-cal-nav{gap:10px;}
  .evt-cal-month{min-width:140px;font-size:14px;}
  .evt-filter-btn{font-size:11px;padding:7px 12px;}
  .evt-weekday-row{display:none;}
  .evt-cal-grid-wrap{border-left:none;border-right:none;border-radius:0;}
  .evt-desktop-cal{display:none;}
  .evt-mobile-agenda{display:block;}
  .evt-day-cell.evt-has-events{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start;border-bottom:1px solid #eee;min-height:0;padding:14px 12px;font-size:12px;}
  .evt-day-cell.evt-has-events .evt-pill{flex:1 1 100%;}
  .evt-day-num{flex:0 0 40px;display:flex;flex-direction:column;align-items:center;margin-bottom:0;font-size:15px;}
  .evt-day-dow{display:block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:#622EBE;margin-bottom:2px;}
  .evt-pill{font-size:11.5px;padding:5px 9px;margin-bottom:6px;line-height:1.4;}
  .evt-popup{max-width:100%;}
  .evt-popup-session-date{flex:0 0 78px;font-size:12px;}
}
