.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.calendar-section{background:#151c25;color:#fff;padding:100px 0 86px;border-top:1px solid #5B91CE50;scroll-margin-top:12px}
.calendar-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin-bottom:43px}
.calendar-intro h2{font:800 clamp(3.5rem,6.6vw,7rem)/.88 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:-.018em;margin:16px 0 0}
.calendar-intro h2 em{font-style:normal;color:var(--electric2)}
.calendar-intro p{color:#c6d0d8;font-size:1.16rem;line-height:1.58;max-width:520px;margin:0 0 3px}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px}
.calendar-month-nav{display:flex;align-items:stretch;gap:1px;background:var(--line);border:1px solid var(--line)}
.calendar-month-nav button,.calendar-month-nav select,.calendar-filter select{appearance:none;border:0;color:#fff;background:var(--ink2);font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.calendar-month-nav button{width:48px;min-height:51px;font-size:2rem;line-height:1;cursor:pointer}
.calendar-month-nav button:not(:disabled):hover{background:#303c49;color:var(--electric2)}
.calendar-month-nav button:disabled{opacity:.38;cursor:default}
.calendar-month-nav select{min-width:190px;padding:10px 38px 10px 17px;font-size:1.32rem;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#295e99 50%),linear-gradient(135deg,#295e99 50%,transparent 50%);background-position:calc(100% - 19px) 24px,calc(100% - 13px) 24px;background-size:6px 6px;background-repeat:no-repeat}
.calendar-filter{display:flex;flex-direction:column;gap:7px;min-width:210px}
.calendar-filter label,.calendar-count,.calendar-panel-head>span{font:700 .96rem 'Barlow Condensed',sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--electric2)}
.calendar-filter select{border:1px solid var(--line);min-height:51px;padding:10px 38px 10px 15px;font-size:1rem;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#295e99 50%),linear-gradient(135deg,#295e99 50%,transparent 50%);background-position:calc(100% - 19px) 23px,calc(100% - 13px) 23px;background-size:6px 6px;background-repeat:no-repeat}
.calendar-section button:focus-visible,.calendar-section select:focus-visible{outline:2px solid var(--electric2);outline-offset:3px}
.calendar-count{color:#abb8c2;margin:0 0 12px;min-height:25px}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(290px,.8fr);gap:21px;align-items:start}
.calendar-main{min-width:0}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays{background:#202934;border:1px solid var(--line);border-bottom:0}
.calendar-weekdays span{text-align:center;padding:11px 3px;font:700 .94rem 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.09em;color:#c5d0d8}
.calendar-days{gap:1px;background:var(--line);border:1px solid var(--line)}
.calendar-empty{background:#151b23;min-height:116px}
.calendar-day{border:0;min-width:0;min-height:116px;padding:10px 9px;text-align:left;background:#1c2530;color:#fff;display:flex;flex-direction:column;gap:9px;cursor:pointer;transition:background .2s}
.calendar-day:hover{background:#303b47}.calendar-day.has-events{background:#222e3a}.calendar-day.has-events:hover{background:#33414e}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--electric2);background:#30333a}
.calendar-day-number{font:800 1.1rem 'Barlow Condensed',sans-serif;line-height:1;color:#e7ecef}
.calendar-day.has-events .calendar-day-number{color:var(--electric2)}
.calendar-day-names{display:flex;flex-direction:column;gap:3px;width:100%}
.calendar-day-name{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 .86rem 'Barlow Condensed',sans-serif;color:#e0e5e8}
.calendar-day-name.category-ME{border-left:3px solid var(--electric2);padding-left:5px}.calendar-day-name.category-WE{border-left:3px solid #f1e4d7;padding-left:5px}.calendar-day-name.category-other{border-left:3px solid #9eaebf;padding-left:5px}
.calendar-day-more{font:700 .85rem 'Barlow Condensed',sans-serif;color:#aeb8c2}
.calendar-day-dots{display:none;gap:4px;flex-wrap:wrap}.calendar-day-dots i,.calendar-legend i{display:inline-block;width:7px;height:7px;border-radius:50%}
.calendar-day-dots .category-ME,.calendar-legend .legend-men{background:var(--electric2)}.calendar-day-dots .category-WE,.calendar-legend .legend-women{background:#f1e4d7}.calendar-day-dots .category-other,.calendar-legend .legend-other{background:#9eaebf}
.calendar-legend{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:18px;font-size:.9rem;color:#abb8c2}.calendar-legend span{display:inline-flex;align-items:center;gap:7px}
.calendar-panel{background:#202934;border:1px solid var(--line);min-height:365px}
.calendar-panel-head{padding:25px 23px 18px;border-bottom:1px solid var(--line)}
.calendar-panel-head h3{font:800 clamp(2.1rem,3vw,3.2rem)/.96 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:12px 0 9px}
.calendar-panel-head p{color:#b5c0c8;margin:0;font-size:.94rem}
.calendar-event{padding:22px 23px 24px;border-bottom:1px solid var(--line)}.calendar-event:last-child{border-bottom:0}
.calendar-event-type{display:flex;flex-wrap:wrap;gap:8px 12px;font:700 .92rem 'Barlow Condensed',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--electric2)}
.calendar-event h4{font:800 1.55rem/1.06 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:12px 0 11px;overflow-wrap:anywhere}
.calendar-event p{font-size:.95rem;color:#c4ced5;line-height:1.45;margin:0 0 6px}.calendar-event p:last-child{margin-bottom:0}
.calendar-no-event{color:#c4ced5;line-height:1.5;padding:25px 23px;margin:0}
@media(max-width:1100px){.header-note{display:none}.desktop-nav{gap:22px}}
@media(max-width:950px){.calendar-layout{grid-template-columns:1fr}.calendar-panel{min-height:0}.calendar-day{min-height:108px}.calendar-empty{min-height:108px}}
@media(max-width:700px){.calendar-section{padding:68px 0}.calendar-intro{grid-template-columns:1fr;gap:21px;margin-bottom:30px}.calendar-intro h2{font-size:clamp(3.4rem,11vw,5.4rem)}.calendar-intro p{font-size:1.05rem}.calendar-toolbar{align-items:stretch;flex-direction:column;gap:14px}.calendar-month-nav{width:100%}.calendar-month-nav select{flex:1;min-width:0}.calendar-filter{min-width:0}.calendar-weekdays span{padding:9px 0;font-size:.85rem}.calendar-day,.calendar-empty{min-height:67px}.calendar-day{padding:8px 5px;gap:7px}.calendar-day-number{font-size:1rem}.calendar-day-names{display:none}.calendar-day-dots{display:flex}.calendar-legend{font-size:.85rem}.calendar-panel-head h3{font-size:2.7rem}}
@media(max-width:390px){.calendar-day,.calendar-empty{min-height:61px}.calendar-day{padding:7px 4px}.calendar-day-dots i{width:6px;height:6px}}
@media(prefers-reduced-motion:reduce){.calendar-day{transition:none}}

/* Relief minéral */
.calendar-section{background:linear-gradient(135deg,#18222e,#10151c 72%);border-top-color:#5B91CE40}
.calendar-month-nav{gap:4px;border:0;border-radius:9px;padding:5px;background:#0b1119;box-shadow:inset 0 2px 7px #00000060,0 1px 0 #ffffff12}
.calendar-month-nav button,.calendar-month-nav select{border-radius:6px;background-color:#23303e;box-shadow:inset 0 1px 0 #ffffff12}
.calendar-filter select{border-radius:7px;background-color:#23303e;border-color:#ffffff0e;box-shadow:0 4px 0 #0a1119,inset 0 1px 0 #ffffff12}
.calendar-layout{gap:28px}
.calendar-weekdays{background:transparent;border:0;margin-bottom:9px}
.calendar-weekdays span{color:#b4bfcd;padding:9px 3px}
.calendar-days{gap:9px;background:transparent;border:0}
.calendar-empty{background:transparent;border-radius:7px}
.calendar-day,.calendar-day.has-events{position:relative;border:1px solid #ffffff0e;border-radius:7px;background:linear-gradient(145deg,#263342,#19222d);box-shadow:0 4px 0 #080d13,0 8px 12px #00000035,inset 0 1px 0 #ffffff13;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.calendar-day:hover,.calendar-day.has-events:hover{background:linear-gradient(145deg,#304153,#22303e);transform:translateY(-2px);box-shadow:0 6px 0 #080d13,0 11px 17px #00000045,inset 0 1px 0 #ffffff18}
.calendar-day.is-selected,.calendar-day.is-selected:hover{background:linear-gradient(145deg,#3f78ad,#295e99);border-color:#295e9950;transform:translateY(-3px);box-shadow:0 5px 0 #102f50,0 10px 24px #295e9935,inset 0 1px 0 #ffffff25;z-index:1;color:#fff}
.calendar-day.is-selected .calendar-day-number,.calendar-day.is-selected .calendar-day-name,.calendar-day.is-selected .calendar-day-more{color:#fff}
.calendar-day.is-selected .calendar-day-name.category-ME{border-left-color:#fff}
.calendar-day.is-selected .calendar-day-name.category-WE{border-left-color:#fff}
.calendar-day.is-selected .calendar-day-name.category-other{border-left-color:#51473e}
.calendar-day.is-selected .calendar-day-dots .category-ME{background:#fff}
.calendar-day.is-selected .calendar-day-dots .category-WE{background:#fff}
.calendar-day.is-selected .calendar-day-dots .category-other{background:#51473e}
.calendar-panel{background:linear-gradient(120deg,#293746,#1b2531);border:1px solid #ffffff0e;border-left:4px solid var(--electric2);border-radius:9px;box-shadow:0 12px 28px #00000055,inset 0 1px 0 #ffffff16;overflow:hidden}
.calendar-panel-head{border-bottom-color:#ffffff13;background:#ffffff03}
.calendar-event{border-bottom-color:#ffffff13}
.calendar-legend{margin-top:23px}
@media(max-width:950px){.calendar-layout{gap:26px}}
@media(max-width:700px){.calendar-days{gap:6px}.calendar-day{padding:8px 5px}.calendar-layout{gap:24px}.calendar-panel-head{padding:22px 20px 18px}.calendar-event{padding:20px}.calendar-weekdays{margin-bottom:6px}}
@media(max-width:390px){.calendar-days{gap:5px}.calendar-day{padding:7px 4px;border-radius:5px}}
@media(prefers-reduced-motion:reduce){.calendar-day{transition:none}.calendar-day:hover,.calendar-day.has-events:hover{transform:none}.calendar-day.is-selected,.calendar-day.is-selected:hover{transform:none}}

/* Sélecteurs de calendrier personnalisés dans les navigateurs compatibles */
.calendar-month-nav select,
.calendar-filter select{color-scheme:dark}
@supports (appearance:base-select){
 .calendar-month-nav select,
 .calendar-filter select{appearance:base-select}
 .calendar-month-nav select::picker-icon,
 .calendar-filter select::picker-icon{display:none}
 .calendar-month-nav select::picker(select),
 .calendar-filter select::picker(select){
  appearance:base-select;
  border:1px solid #637486;
  border-radius:0 0 7px 7px;
  padding:4px;
  color:#f2f5f8;
  background:linear-gradient(145deg,#263342,#19222d);
  box-shadow:0 12px 24px #00000060,inset 0 1px 0 #ffffff13;
  font-family:'Barlow Condensed',Impact,sans-serif;
  font-weight:800;
  text-transform:uppercase;
 }
 .calendar-month-nav option,
 .calendar-filter option{
  padding:10px 13px;
  border-radius:4px;
  color:#f2f5f8;
  background:transparent;
  font:800 1rem 'Barlow Condensed',Impact,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
 }
 .calendar-month-nav option:checked,
 .calendar-filter option:checked{
  color:#fff;
  background:#295e99;
 }
 .calendar-month-nav option:hover,
 .calendar-filter option:hover,
 .calendar-month-nav option:focus,
 .calendar-filter option:focus{
  color:#fff;
  background:#295e99;
 }
}

.calendar-month-nav select:focus-visible,.calendar-filter select:focus-visible{outline:2px solid #295e99;outline-offset:3px}

/* Filtre « courses ouvertes aux paris (ANJ) » */
.calendar-anj{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;margin:0 0 14px}
.calendar-anj-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font:700 .96rem 'Barlow Condensed',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#cad2d9}
.calendar-anj-toggle input{width:20px;height:20px;margin:0;accent-color:var(--electric2);cursor:pointer;flex-shrink:0}
.calendar-anj-note{margin:0;font-size:.78rem;line-height:1.4;color:#8f9aa6}
