.ffvrc-calendrier{max-width:1400px;margin:40px auto;color:#000820}.ffvrc-calendrier h1{margin:0 0 8px}.ffvrc-calendrier-intro{margin:0 0 24px;color:#667085}.ffvrc-calendrier-filtres{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr)) auto;gap:16px;align-items:end;padding:22px 26px;border:1px solid #CFE8EC;border-radius:14px;background:#fff}.ffvrc-calendrier label{display:grid;gap:7px;font-weight:600}.ffvrc-calendrier select,.ffvrc-calendrier input{height:44px;padding:0 12px;border:1px solid #B9E5EC;border-radius:8px;background:#fff;color:#000820;box-sizing:border-box}.ffvrc-calendrier-afficher{height:44px;border:0;border-radius:8px;padding:0 22px;background:#00BADA;color:#000820;font:inherit;font-weight:700;cursor:pointer}.ffvrc-calendrier-vues{display:flex;width:max-content;overflow:hidden;margin-top:24px;border:1px solid #B9E5EC;border-radius:9px}.ffvrc-calendrier-vues button{height:44px;border:0;border-right:1px solid #B9E5EC;padding:0 20px;background:#fff;color:#000820;font:inherit;font-weight:700;cursor:pointer}.ffvrc-calendrier-vues button:last-child{border-right:0}.ffvrc-calendrier-vues .is-active{background:#00BADA;color:#000820}.ffvrc-calendrier-resultat{margin-top:22px}.ffvrc-calendrier-empty{padding:30px;border:1px solid #CFE8EC;border-radius:14px;background:#fff}.ffvrc-calendrier-empty h2{margin:0 0 8px}.ffvrc-calendrier-mois{margin:0 0 34px}.ffvrc-calendrier-mois h2{margin:0 0 14px;text-transform:capitalize}.ffvrc-course{display:grid;grid-template-columns:102px minmax(240px,1fr) minmax(260px,.75fr) auto auto;gap:18px;align-items:center;margin:10px 0;padding:14px 18px;border:1px solid #CFE8EC;border-radius:12px;background:#fff}.ffvrc-course time{display:grid;justify-items:center;border-right:1px solid #CFE8EC;color:#F06600;text-transform:uppercase}.ffvrc-course time strong{font-size:2rem;line-height:1}.ffvrc-course time span{font-size:.78rem;font-weight:700}.ffvrc-course h3{margin:0 0 6px;font-size:1.05rem}.ffvrc-course p{margin:0;color:#667085}.ffvrc-course-tags{display:flex;flex-wrap:wrap;gap:7px}.ffvrc-course-tags span,.ffvrc-course-tags em{padding:6px 9px;border-radius:6px;font-size:.76rem;font-style:normal;font-weight:700}.ffvrc-course-tags span{background:#00BADA;color:#000820}.ffvrc-course-tags em{background:#EDF9FB;color:#344054}.ffvrc-course button,.ffvrc-course a{padding:9px 12px;border:1px solid #00BADA;border-radius:7px;background:#fff;color:#00BADA;font:inherit;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer}.ffvrc-course a{border-color:transparent;color:#344054}.ffvrc-calendrier-grille{border:1px solid #CFE8EC;border-radius:14px;overflow:hidden;background:#fff}.ffvrc-calendrier-grille header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #CFE8EC}.ffvrc-calendrier-grille h2{margin:0;text-transform:capitalize}.ffvrc-calendrier-grille header button{width:38px;height:38px;border:1px solid #B9E5EC;border-radius:8px;background:#fff;color:#00BADA;font-size:1.7rem;line-height:1;cursor:pointer}.ffvrc-calendrier-semaine,.ffvrc-calendrier-cases{display:grid;grid-template-columns:repeat(7,1fr)}.ffvrc-calendrier-semaine span{padding:10px;border-right:1px solid #CFE8EC;border-bottom:1px solid #CFE8EC;color:#00BADA;text-align:center;font-size:.78rem;font-weight:700;text-transform:uppercase}.ffvrc-calendrier-case{min-height:130px;padding:10px;border-right:1px solid #CFE8EC;border-bottom:1px solid #CFE8EC}.ffvrc-calendrier-case:nth-child(7n){border-right:0}.ffvrc-calendrier-case>strong{display:block;margin-bottom:7px}.ffvrc-calendrier-case>button{display:block;width:100%;margin:5px 0;padding:6px;border:1px solid #CFE8EC;border-left:3px solid #00BADA;border-radius:5px;background:#F7FEFF;color:#000820;text-align:left;font:inherit;font-size:.76rem;cursor:pointer}.ffvrc-calendrier-case>button span{display:block;margin-bottom:2px;color:#00BADA;font-size:.64rem;font-weight:700}.ffvrc-calendrier-case.is-empty{background:#F7FEFF}.ffvrc-calendrier-modal{position:relative;width:min(620px,92vw);border:0;border-radius:14px;padding:30px;box-shadow:0 20px 60px #0005;color:#000820}.ffvrc-calendrier-modal::backdrop{background:#00082066}.ffvrc-calendrier-fermer{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#EDF9FB;color:#000820;font-size:22px;cursor:pointer}.ffvrc-calendrier-modal h2{margin:0 42px 6px 0}.ffvrc-modal-date{margin:0 0 20px;color:#667085;text-transform:capitalize}.ffvrc-calendrier-modal dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 22px}.ffvrc-calendrier-modal dl div{padding:12px;border-radius:8px;background:#F7FEFF}.ffvrc-calendrier-modal dt{margin-bottom:4px;color:#667085;font-size:.78rem;font-weight:700}.ffvrc-calendrier-modal dd{margin:0;font-weight:600}.ffvrc-modal-map,.ffvrc-modal-register{display:inline-block;margin-right:10px;padding:10px 12px;border-radius:7px;background:#00BADA;color:#000820;font-weight:700;text-decoration:none}.ffvrc-modal-map{background:#fff;border:1px solid #00BADA;color:#00BADA}@media(max-width:1100px){.ffvrc-calendrier-filtres{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.ffvrc-calendrier-filtres{grid-template-columns:1fr 1fr}.ffvrc-course{grid-template-columns:80px 1fr}.ffvrc-course-tags,.ffvrc-course button,.ffvrc-course a{grid-column:2}.ffvrc-calendrier-cases{overflow:auto}.ffvrc-calendrier-semaine,.ffvrc-calendrier-cases{min-width:720px}.ffvrc-calendrier-grille{overflow:auto}}@media(max-width:560px){.ffvrc-calendrier-filtres{grid-template-columns:1fr}.ffvrc-calendrier-vues{width:100%}.ffvrc-calendrier-vues button{flex:1;padding:0 10px}.ffvrc-calendrier-modal dl{grid-template-columns:1fr}}
.ffvrc-calendrier-modal{width:min(1040px,92vw);padding:0;overflow:hidden}.ffvrc-calendrier-modal>div{padding:30px}.ffvrc-calendrier-fermer{z-index:2;top:18px;right:18px;background:#fff;border:1px solid #B9E5EC}.ffvrc-detail-loading{padding:35px;margin:0}.ffvrc-course-detail>header{display:grid;grid-template-columns:130px 1fr;gap:22px;align-items:center;margin-bottom:26px}.ffvrc-course-detail>header time{display:grid;justify-items:center;padding:10px;border:1px solid #FFD2AA;border-radius:9px;color:#F06600;text-transform:uppercase}.ffvrc-course-detail>header time small,.ffvrc-course-detail>header time em{font-size:.75rem;font-style:normal;font-weight:700}.ffvrc-course-detail>header time strong{font-size:3rem;line-height:1}.ffvrc-course-detail>header p{margin:0 45px 7px 0;color:#00BADA;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ffvrc-course-detail>header h2{margin:0 45px 14px 0;font-size:2rem}.ffvrc-course-detail-badges,.ffvrc-course-detail-status{display:flex;flex-wrap:wrap;gap:8px}.ffvrc-course-detail-badges span,.ffvrc-course-detail-status span{padding:7px 10px;border-radius:999px;background:#EDF9FB;color:#000820;font-size:.78rem;font-weight:700}.ffvrc-course-detail-status span:first-child{background:#00BADA;color:#000820}.ffvrc-course-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ffvrc-course-detail-columns section{padding:22px;border:1px solid #CFE8EC;border-radius:12px}.ffvrc-course-detail-columns h3{margin:0 0 18px;font-size:1.1rem}.ffvrc-course-detail-columns h4{margin:0 0 10px;font-size:1.1rem}.ffvrc-course-detail-columns p{margin:10px 0;color:#475467}.ffvrc-course-detail-columns p a{color:#00BADA;font-weight:600}.ffvrc-course-detail-columns dl{display:grid;gap:0;margin:18px 0 0}.ffvrc-course-detail-columns dl div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #CFE8EC;background:none}.ffvrc-course-detail-columns dt{color:#475467;font-size:.84rem}.ffvrc-course-detail-columns dd{margin:0;text-align:right;font-size:.84rem;font-weight:700}.ffvrc-course-detail footer{display:flex;justify-content:flex-end;gap:10px;margin:24px -30px -30px;padding:18px 30px;border-top:1px solid #CFE8EC;background:#F7FEFF}.ffvrc-course-detail footer a{margin:0}@media(max-width:700px){.ffvrc-calendrier-modal>div{padding:22px}.ffvrc-course-detail>header{grid-template-columns:82px 1fr;gap:14px}.ffvrc-course-detail>header h2{font-size:1.35rem}.ffvrc-course-detail-columns{grid-template-columns:1fr}.ffvrc-course-detail footer{margin:22px -22px -22px;padding:16px 22px;justify-content:stretch}.ffvrc-course-detail footer a{flex:1;text-align:center}}
.ffvrc-course-detail-club{padding:24px;border:1px solid #CFE8EC;border-radius:12px}.ffvrc-course-detail-club h3{margin:0 0 12px;font-size:1.15rem}.ffvrc-course-detail-club p{margin:10px 0;color:#475467}.ffvrc-course-detail-club p a{color:#00BADA;font-weight:600}
.ffvrc-calendrier .ffvrc-calendrier-afficher{height:44px!important;border:0!important;border-radius:8px!important;background:#00BADA!important;color:#000820!important;box-shadow:none!important;font-weight:700!important}
/* Safari iOS donne une largeur intrinsèque aux champs date : elle ne doit
   jamais dépasser la colonne de filtre. */
@media(max-width:560px){.ffvrc-calendrier-filtres label{min-width:0}.ffvrc-calendrier-filtres input[type="date"]{display:block;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}}
.ffvrc-course-tags{flex-direction:column;align-items:flex-start}
/* Même protection contre les couleurs par défaut du thème WordPress. */
.ffvrc-calendrier .ffvrc-calendrier-vues button{border:0!important;border-right:1px solid #B9E5EC!important;background:#fff!important;color:#000820!important;box-shadow:none!important}
.ffvrc-calendrier .ffvrc-calendrier-vues button:last-child{border-right:0!important}
.ffvrc-calendrier .ffvrc-calendrier-vues button.is-active{background:#00BADA!important;color:#000820!important}
/* Le choix de vue reste dans la carte, sous les critères. */
.ffvrc-calendrier .ffvrc-calendrier-filtres{grid-template-columns:90px minmax(180px,1.35fr) repeat(2,minmax(150px,1fr)) repeat(2,minmax(160px,.9fr)) 140px}
.ffvrc-calendrier .ffvrc-calendrier-filtres>*{min-width:0}
.ffvrc-calendrier .ffvrc-calendrier-filtres select,.ffvrc-calendrier .ffvrc-calendrier-filtres input{width:100%;min-width:0}
.ffvrc-calendrier .ffvrc-calendrier-vues{grid-column:1 / -1;width:100%;margin:0}
.ffvrc-calendrier .ffvrc-calendrier-vues button{flex:1}
@media(max-width:1100px){.ffvrc-calendrier .ffvrc-calendrier-filtres{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.ffvrc-calendrier .ffvrc-calendrier-filtres{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ffvrc-calendrier .ffvrc-calendrier-filtres{grid-template-columns:1fr}}
/* Les listes natives ne doivent pas imposer la largeur de leur option la plus longue. */
.ffvrc-calendrier .ffvrc-calendrier-filtres{display:grid!important;grid-template-columns:90px minmax(0,1.25fr) repeat(2,minmax(0,1fr)) repeat(2,minmax(140px,.9fr)) 140px!important;gap:16px!important}
.ffvrc-calendrier .ffvrc-calendrier-filtres>label{min-width:0!important}
.ffvrc-calendrier .ffvrc-calendrier-filtres>label select,.ffvrc-calendrier .ffvrc-calendrier-filtres>label input{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.ffvrc-calendrier .ffvrc-calendrier-afficher{width:140px!important;min-width:0!important;padding:0 12px!important;box-sizing:border-box!important}
.ffvrc-calendrier .ffvrc-calendrier-filtres>.ffvrc-calendrier-vues{width:100%!important;min-width:0!important;box-sizing:border-box}
@media(max-width:1100px){.ffvrc-calendrier .ffvrc-calendrier-filtres{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.ffvrc-calendrier .ffvrc-calendrier-filtres{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.ffvrc-calendrier .ffvrc-calendrier-filtres{grid-template-columns:1fr!important}}
/* Dates regroupées sur une ligne dédiée sous les filtres principaux. */
.ffvrc-calendrier .ffvrc-calendrier-filtres{grid-template-columns:90px minmax(0,1.25fr) repeat(2,minmax(0,1fr))!important}
.ffvrc-calendrier .ffvrc-calendrier-dates{display:grid!important;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px!important;gap:16px!important;align-items:end!important;width:100%!important}
.ffvrc-calendrier .ffvrc-calendrier-dates label{display:grid!important;min-width:0!important;width:100%!important}
.ffvrc-calendrier .ffvrc-calendrier-dates input{width:100%!important;min-width:0!important;max-width:100%!important}
.ffvrc-calendrier .ffvrc-calendrier-dates .ffvrc-calendrier-afficher{grid-column:auto!important;width:140px!important;align-self:end!important}
@media(max-width:700px){.ffvrc-calendrier .ffvrc-calendrier-filtres{grid-template-columns:1fr 1fr!important}.ffvrc-calendrier .ffvrc-calendrier-dates{grid-template-columns:1fr 1fr}.ffvrc-calendrier .ffvrc-calendrier-dates .ffvrc-calendrier-afficher{grid-column:1 / -1;width:100%!important}}
@media(max-width:560px){.ffvrc-calendrier .ffvrc-calendrier-filtres,.ffvrc-calendrier .ffvrc-calendrier-dates{grid-template-columns:1fr!important}}
