.gac-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gac-card{background:#fff;border:1px solid #e7eae6;border-radius:12px;overflow:hidden;box-shadow:0 5px 20px #19281b08;min-width:0;display:flex;flex-direction:column}.gac-card-media{display:block;position:relative;height:185px;background:#edf1eb;overflow:hidden}.gac-card-media>img,.gac-card-media>.ga-crop{width:100%;height:100%;object-fit:cover}.gac-card-body{padding:20px;display:flex;flex-direction:column;flex:1;gap:8px}.gac-card-body h3{font-size:18px;line-height:1.25;margin:0;font-weight:800}.gac-card-body p{font-size:14px;line-height:1.5;margin:0;color:#5c655e}.gac-card-metrics{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:13px;font-weight:600}.gac-text-link{color:#d64900;text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.gac-text-link:hover{text-decoration:underline}.gac-card .gac-text-link{margin-top:auto;padding-top:12px}.gac-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:11px 22px;border:1px solid #ff5900;border-radius:50px;background:#ff5900;color:#fff!important;font-family:inherit;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none!important;cursor:pointer}.gac-button:hover{background:#dd4900;border-color:#dd4900}.gac-button:disabled{opacity:.65;cursor:wait}.gac-date{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;padding:7px 10px;background:#ff5900;color:#fff;font-size:13px;line-height:1.1;text-transform:uppercase;border-radius:4px}.gac-date strong{font-size:27px}.gac-badge{font-size:11px;font-weight:700;align-self:flex-start;padding:4px 8px;background:#fff2df;color:#985416;border-radius:5px}.gac-placeholder,.gac-route-thumb{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:radial-gradient(ellipse at 70% 15%,#fff7e4,transparent 70%),#e8efe5;color:#859a83}.gac-placeholder svg,.gac-route-thumb svg{width:100%;height:100%}.gac-route-thumb{background-image:linear-gradient(#bfccb52b 1px,transparent 1px),linear-gradient(90deg,#bfccb52b 1px,transparent 1px);background-size:28px 28px}.gac-level{font-size:12px!important;color:#38724c!important}.gac-listing-intro{display:flex;gap:24px;justify-content:space-between;align-items:center;margin:0 0 28px}.gac-listing-intro p{max-width:580px}.gac-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:0 0 30px;padding:20px;background:#f5f7f3;border:1px solid #e3e9df;border-radius:12px}.gac-filters label{display:flex;flex-direction:column;gap:7px;flex:1;min-width:150px;font-size:13px;font-weight:600}.gac-filters input,.gac-filters select{min-height:44px;max-width:100%;padding:9px 12px;border:1px solid #bdc8b8;border-radius:6px;background:white;font:400 15px/1.5 inherit}.gac-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:32px}.gac-pagination .page-numbers{padding:8px 14px;background:#f4f6f1;border-radius:6px}.gac-pagination .current{background:#ff5900;color:white}.gac-empty{padding:32px;background:#f4f7f1;border-radius:12px;font-size:15px}.gac-route-details,.gac-event-details{margin-top:30px}.gac-route-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 26px;padding:24px;background:#f4f7f0;border-radius:12px}.gac-route-metrics>div{display:flex;flex-direction:column;gap:6px}.gac-route-metrics span{font-size:12px;color:#5a6555}.gac-route-metrics strong{font-size:20px;line-height:1.35;color:#1e3427}.gac-map-shell{position:relative;max-width:100%;clear:both;margin:20px 0;font-family:Inter,Arial,sans-serif}.gac-map{width:100%;height:440px;min-height:300px;border:1px solid #d5dfd0;border-radius:12px;background:#e8eee4;isolation:isolate}.gac-map .leaflet-control-attribution{font-size:11px!important;line-height:1.5;background:#ffffffe8}.gac-map .leaflet-control-attribution a{color:#245f85!important}.gac-map .leaflet-container a{font-size:inherit}.gac-map-status{font-size:12px!important;color:#5d6958;margin:7px 0!important}.gac-map-reset{position:absolute;right:12px;top:12px;z-index:600;background:white;border:1px solid #cdd8c7;padding:9px 12px;border-radius:6px;font:600 12px/1.3 Inter,Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px #0002}.gac-elevation{margin-top:20px;padding:18px;border:1px solid #e4eadf;border-radius:12px;background:#fbfcfa;font-size:13px}.gac-elevation h3{font-size:15px;margin:0 0 8px}.gac-elevation svg{display:block;width:100%;height:auto;max-height:210px}.gac-route-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:24px 0}.gac-fine-print{font-size:12px!important;color:#6c7568}.gac-notice{padding:16px 20px;background:#fff6e7;border-left:4px solid #e59a27;border-radius:0 8px 8px 0;font-size:14px!important;line-height:1.6}.gac-notice--success{background:#eaf6e9;border-color:#34794a}.gac-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}.gac-photo-grid figure{margin:0}.gac-photo-grid img{width:100%;height:240px;object-fit:cover;border-radius:8px;transition:filter .15s}.gac-photo-grid a:hover img{filter:brightness(1.08)}.gac-photo-grid figcaption{font-size:12px;color:#5c6657;margin-top:7px}.gac-lightbox{width:min(1100px,calc(100% - 24px));max-height:92vh;padding:48px 20px 20px;background:#142219;border:0;border-radius:12px;color:white;font:15px/1.5 Inter,Arial,sans-serif}.gac-lightbox::backdrop{background:#0b1a11df}.gac-lightbox img{display:block;max-width:100%;max-height:66vh;object-fit:contain;margin:auto}.gac-lightbox p{margin:14px 0;text-align:center}.gac-lightbox button{background:#fff;color:#15251b;min-height:40px;padding:8px 14px;border:0;border-radius:6px;cursor:pointer;font:inherit}.gac-lightbox-close{position:absolute;right:12px;top:8px;font-size:23px!important}.gac-lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.gac-submission-intro{margin-bottom:30px}.gac-submission-intro h2{font-size:32px!important;line-height:1.15!important;max-width:700px}.gac-eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;color:#d94e05;font-weight:700}.gac-submit-form{padding:30px;background:#f7f9f4;border:1px solid #dee7d7;border-radius:14px;font-family:Inter,Arial,sans-serif}.gac-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gac-submit-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;font-size:14px;font-weight:600;color:#263a2a}.gac-submit-form input:not([type=checkbox]),.gac-submit-form textarea{width:100%;padding:12px 14px;border:1px solid #bfcbb8;border-radius:7px;background:white;font:400 15px/1.5 Inter,Arial,sans-serif;color:#16251a}.gac-submit-form input[type=file]{padding:20px;border:2px dashed #b8c7ae;background:#fff}.gac-submit-form textarea{resize:vertical;min-height:120px}.gac-submit-form small{font-size:12px;font-weight:400;color:#66745e}.gac-consent{flex-direction:row!important;align-items:flex-start;font-size:13px!important;line-height:1.6;font-weight:400!important}.gac-consent input{margin-top:4px;width:18px;height:18px;flex-shrink:0;accent-color:#ff5900}.gac-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.gac-form-note{font-size:12px!important;line-height:1.6;color:#65715e;margin-bottom:0!important}.gac-form-status{font-size:14px;font-weight:600;color:#ae3c16}.gac-form-status:empty{display:none}.gac-success{color:#26713e}.gac-submit-form :focus-visible,.gac-button:focus-visible,.gac-card a:focus-visible{outline:3px solid #2f759d;outline-offset:3px}.gac-content-shell{font-size:16px;line-height:1.65}.gac-archive-heading{margin-bottom:30px}.gac-archive-heading p{color:#596552;font-size:16px}
@media(max-width:900px){.gac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gac-route-metrics{grid-template-columns:repeat(2,1fr)}.gac-photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.gac-grid{grid-template-columns:1fr;gap:20px}.gac-card-media{height:185px}.gac-card-body{padding:18px}.gac-listing-intro{flex-direction:column;align-items:flex-start}.gac-route-metrics{padding:18px;gap:22px 15px}.gac-route-metrics strong{font-size:17px}.gac-map{height:360px}.gac-map-reset{top:12px;right:8px;font-size:11px}.gac-fields{grid-template-columns:1fr;gap:0}.gac-submit-form{padding:20px}.gac-submission-intro h2{font-size:27px!important}.gac-photo-grid img{height:160px}.gac-lightbox-controls button{font-size:12px}.gac-filters{padding:16px}.gac-button{width:auto;max-width:100%}}
@media(prefers-reduced-motion:reduce){.gac-photo-grid img{transition:none}}
/* Agenda and club race editions */
.gac-home-races{padding:30px 0;background:#f2f5ee}.gac-race-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gac-race-card{border-top:4px solid #ff5900}.gac-race-card .gac-button{margin-top:auto}.gac-badge--club{background:#c74400;color:#fff}.gac-event-card--club{border-color:#ff5900}.gac-formats-public{display:grid;gap:20px;margin:24px 0}.gac-format-public{padding:24px;border:1px solid #dce2d7;border-left:5px solid #ff5900;border-radius:12px;background:#fff;min-width:0}.gac-format-public h3{margin:8px 0 15px;font-size:25px}.gac-eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;color:#59654e}.gac-format-metrics{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.gac-format-metrics strong{font-size:20px;color:#bd4000}.gac-format-route{margin-top:18px}.gac-format-route>summary,.gac-qr>summary{font-weight:700;cursor:pointer;padding:12px 0}.gac-qr{margin:18px 0}.gac-qr canvas{max-width:240px;width:100%;height:auto;display:block;border:1px solid #e5e5e5}.gac-qr p{font-size:14px}.gac-agenda-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.gac-view-switch{display:flex;gap:5px;padding:4px;border:1px solid #d9dfd5;border-radius:30px}.gac-view-switch a{padding:7px 18px;text-decoration:none!important;border-radius:24px;color:#263524;font-weight:700}.gac-view-switch a[aria-current]{background:#263524;color:#fff}.gac-month-nav{display:flex;gap:18px;align-items:center;margin:24px 0 16px;flex-wrap:wrap}.gac-month-nav h2{margin:0!important;text-transform:capitalize;font-size:25px!important}.gac-month-nav>a{padding:7px 13px;border:1px solid #d5ded0;border-radius:7px;text-decoration:none!important}.gac-month-today{margin-left:auto;font-size:13px}.gac-calendar-legend{font-size:13px!important;display:flex;align-items:center;gap:8px}.gac-dot{width:12px;height:12px;background:#c74400;border-radius:3px}.gac-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #dbe1d7;border-left:1px solid #dbe1d7;border-radius:8px;overflow:hidden}.gac-weekday{background:#263524;color:white;padding:10px;text-align:center;font-weight:700;font-size:13px}.gac-day{min-height:120px;padding:9px;border-right:1px solid #dbe1d7;border-bottom:1px solid #dbe1d7;min-width:0;background:white}.gac-day>time{display:block;font-weight:700;font-size:13px;margin-bottom:8px}.gac-day--outside{background:#f4f5f2;color:#727a6c}.gac-day--today>time{color:#bd4000;text-decoration:underline;text-underline-offset:3px}.gac-day-name{display:none}.gac-calendar-event{display:block;padding:8px;margin:6px 0;border-radius:5px;background:#ecf1e6;color:#24351e!important;font-size:12px;line-height:1.5;text-decoration:none!important;overflow-wrap:anywhere}.gac-calendar-event:hover{outline:2px solid #ff5900}.gac-calendar-event strong{display:block}.gac-calendar-event--club{background:#c74400;color:white!important}.gac-calendar-club{display:block;font-weight:800;text-transform:uppercase;font-size:10px}.gac-agenda .gac-filters label{min-width:0}.gac-agenda .gac-filters select,.gac-agenda .gac-filters input{max-width:100%;min-width:0}.gac-format-public,.gac-race-details{overflow-wrap:anywhere}.gac-race-details .gac-grid{margin:20px 0 35px}
@media(max-width:780px){.gac-calendar-grid{display:block;border:0;overflow:visible}.gac-weekday,.gac-day:not(.gac-day--busy){display:none}.gac-day--busy{border:1px solid #dbe1d7;border-radius:9px;margin:12px 0;min-height:0;padding:16px}.gac-day-name{display:inline}.gac-calendar-event{font-size:14px;padding:12px}.gac-calendar-club{font-size:11px}.gac-race-grid{grid-template-columns:1fr}.gac-calendar-event strong{display:inline}}
@media(max-width:600px){.gac-format-public{padding:16px}.gac-month-nav{gap:8px}.gac-month-nav h2{font-size:20px!important}.gac-month-today{margin-left:0}.gac-agenda .gac-filters{display:grid;grid-template-columns:minmax(0,1fr)}.gac-format-metrics{gap:10px 18px}.gac-home-races .ga-section-head{gap:15px;flex-wrap:wrap}.gac-home-races .ga-more{white-space:normal}}

/* 3.2.2 — accueil : courses du club ultra compactes, panneau orange */
.gac-home-races--compact{margin:12px 0 14px;padding:28px 0 30px;background:radial-gradient(circle at 14% 12%,#ffe0bd 0,transparent 28%),radial-gradient(circle at 88% 86%,#f5a34d33 0,transparent 26%),linear-gradient(135deg,#ffd2a3 0%,#f6b66f 100%);border-radius:18px;box-shadow:inset 0 0 0 1px #d96a1224}
.gac-home-races--compact .ga-section-head{margin-bottom:16px;align-items:center}
.gac-home-races--compact .ga-section-heading h2{margin-bottom:2px}
.gac-home-races--compact .ga-section-heading p{margin:0;color:#344054}.gac-home-races--compact .ga-more{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:999px;background:#d94700;color:#fff!important;text-decoration:none!important;font-weight:800;box-shadow:0 6px 16px #8d2f0024;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.gac-home-races--compact .ga-more:hover{background:#bf3e00;color:#fff!important;transform:translateY(-1px);box-shadow:0 8px 20px #8d2f0033}.gac-home-races--compact .ga-more:focus-visible{outline:3px solid #1f5f7d;outline-offset:3px}
.gac-race-compact-list{display:grid;gap:12px}
.gac-race-compact{display:grid;grid-template-columns:190px minmax(0,1fr) auto 220px;align-items:center;gap:24px;min-height:104px;padding:10px 14px 10px 10px;background:#fff;border:1px solid #e7eae6;border-radius:12px;box-shadow:0 5px 20px #19281b08;overflow:hidden}
.gac-race-compact__media{display:block;width:190px;height:84px;border-radius:8px;overflow:hidden;background:#edf1eb}
.gac-race-compact__media img,.gac-race-compact__media .ga-crop,.gac-race-compact__media .gac-placeholder{width:100%;height:100%;object-fit:cover}
.gac-race-compact__content{min-width:0}
.gac-race-compact__content h3{margin:0 0 8px!important;font-size:22px!important;line-height:1.1!important;font-weight:800}
.gac-race-compact__content h3 a{color:inherit;text-decoration:none!important}
.gac-race-compact__meta{display:flex;flex-wrap:wrap;gap:6px 22px;color:#697386;font-size:14px;line-height:1.35}
.gac-race-meta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.gac-race-meta>span[aria-hidden]{color:#ff5900;font-size:16px;font-weight:900;line-height:1}
.gac-race-compact__tags{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:180px}
.gac-race-compact__tags span{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border-radius:999px;background:#f1f3f4;color:#667085;font-size:12px;font-weight:700;white-space:nowrap}
.gac-race-compact__cta{display:flex;align-items:center;justify-content:flex-end;gap:12px;align-self:stretch;min-width:190px;padding-left:26px;border-left:1px solid #ecefed;color:#e65000!important;text-decoration:none!important;font-size:15px;font-weight:700;white-space:nowrap}
.gac-race-compact__cta span{font-size:22px;line-height:1}
.gac-race-compact:hover{border-color:#dfe4dd;box-shadow:0 8px 25px #19281b10}
.gac-race-compact__content h3 a:hover,.gac-race-compact__cta:hover{text-decoration:underline!important}
.gac-race-compact a:focus-visible{outline:3px solid #2f759d;outline-offset:3px}
@media(max-width:1050px){.gac-race-compact{grid-template-columns:150px minmax(0,1fr) auto 170px;gap:18px}.gac-race-compact__media{width:150px}.gac-race-compact__tags{min-width:0}.gac-race-compact__cta{min-width:150px;padding-left:18px}}
@media(max-width:820px){.gac-race-compact{grid-template-columns:120px minmax(0,1fr) auto;gap:14px;min-height:96px}.gac-race-compact__media{width:120px;height:76px}.gac-race-compact__content h3{font-size:19px!important}.gac-race-compact__meta{font-size:13px;gap:5px 14px}.gac-race-compact__tags{display:none}.gac-race-compact__cta{min-width:0;padding-left:16px}}
@media(max-width:600px){.gac-home-races--compact{margin:8px 0 10px;padding:20px 0 22px;border-radius:14px}.gac-home-races--compact .ga-section-head{margin-bottom:12px}.gac-race-compact-list{gap:9px}.gac-race-compact{grid-template-columns:84px minmax(0,1fr) auto;gap:11px;min-height:80px;padding:8px}.gac-race-compact__media{width:84px;height:64px;border-radius:7px}.gac-race-compact__content h3{margin-bottom:5px!important;font-size:16px!important}.gac-race-compact__meta{display:grid;gap:2px;font-size:11px}.gac-race-meta{gap:5px}.gac-race-meta--distance{display:none}.gac-race-compact__cta{align-self:center;width:36px;min-width:36px;height:36px;padding:0;border:0;border-radius:50%;justify-content:center;background:#ff5900;color:#fff!important;font-size:0}.gac-race-compact__cta span{font-size:20px}.gac-home-races--compact .ga-more{font-size:13px}}

/* 3.2.3 — panneau Courses collé au hero, angles droits + appel visuel CTA */
.gac-home-races--compact{
  margin:0 0 14px;
  border-radius:0;
}
.gac-home-races--compact .ga-more{
  position:relative;
  white-space:nowrap!important;
  flex-wrap:nowrap;
  flex-shrink:0;
}
.gac-home-races--compact .ga-more::before{
  content:"";
  position:absolute;
  left:-34px;
  top:50%;
  width:24px;
  height:32px;
  transform:translateY(-50%);
  pointer-events:none;
  background:
    linear-gradient(28deg,transparent 42%,#ff5900 43% 57%,transparent 58%) left 1px top 1px/15px 8px no-repeat,
    linear-gradient(0deg,transparent 40%,#ff5900 41% 59%,transparent 60%) left 0 center/17px 7px no-repeat,
    linear-gradient(-28deg,transparent 42%,#ff5900 43% 57%,transparent 58%) left 1px bottom 1px/15px 8px no-repeat;
}
@media(max-width:600px){
  .gac-home-races--compact{
    margin:0 0 10px;
    padding:20px 0 22px;
    border-radius:0;
  }
  .gac-home-races--compact .ga-section-head{
    flex-wrap:nowrap;
    gap:12px;
  }
  .gac-home-races--compact .ga-section-heading{
    min-width:0;
  }
  .gac-home-races--compact .ga-more{
    width:auto;
    max-width:none;
    min-height:38px;
    padding:8px 13px;
    font-size:11px;
    line-height:1;
    white-space:nowrap!important;
  }
  .gac-home-races--compact .ga-more::before{
    left:-24px;
    width:18px;
    height:26px;
    background:
      linear-gradient(28deg,transparent 42%,#ff5900 43% 57%,transparent 58%) left 1px top 1px/11px 7px no-repeat,
      linear-gradient(0deg,transparent 40%,#ff5900 41% 59%,transparent 60%) left 0 center/13px 6px no-repeat,
      linear-gradient(-28deg,transparent 42%,#ff5900 43% 57%,transparent 58%) left 1px bottom 1px/11px 7px no-repeat;
  }
}

/* v3.2.4 — repères départementaux de l’agenda */
.gac-department-tag{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid #ff5900;border-radius:999px;background:#fff;color:#c74400;box-shadow:0 2px 8px #1b2b1d1a;font-size:13px;line-height:1;letter-spacing:.02em}.gac-department-tag svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.gac-department-tag strong{font-size:14px}.gac-calendar-event__top{display:flex;justify-content:space-between;align-items:center;gap:6px}.gac-calendar-department{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 5px;border-radius:999px;background:#fff;color:#b83e00;font-size:10px;line-height:1.2}.gac-calendar-event--club .gac-calendar-department{background:#fff;color:#c74400}@media(max-width:600px){.gac-department-tag{top:12px;right:12px;min-height:31px;padding:5px 9px;font-size:12px}.gac-department-tag strong{font-size:13px}}


/* v3.2.7 — formats d’édition en ligne, façon badges/cartes compactes */
.gac-formats-public{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  justify-content:flex-start;
  gap:16px;
  margin:24px 0;
}
.gac-format-public{
  flex:1 1 260px;
  width:auto;
  max-width:340px;
  margin:0;
  padding:20px 24px;
}
.gac-format-public h3{
  margin:8px 0 14px;
}
@media(max-width:700px){
  .gac-formats-public{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
  .gac-format-public{width:100%;max-width:none;flex:none;padding:16px;}
}

/* 3.2.8 — parcours épinglés / à la une */
.gac-featured-routes{margin:0 0 38px;padding:24px;border:1px solid #ffd4ba;background:linear-gradient(135deg,#fff8f1 0%,#fffdf9 55%,#fff3e7 100%);border-radius:16px}.gac-featured-heading{margin:0 0 18px}.gac-featured-heading h2,.gac-all-routes-heading h2{margin:3px 0 5px!important;font-size:26px!important;line-height:1.2}.gac-featured-heading p{margin:0!important;color:#66705f;font-size:14px!important}.gac-grid--featured-routes{gap:20px}.gac-card--featured-route{border:1px solid #ffb27f;border-top:5px solid #ff5900;box-shadow:0 10px 28px #b94a0012}.gac-card--featured-route .gac-card-media{background:#f1f5ed}.gac-card--featured-route .gac-card-body{background:linear-gradient(180deg,#fff 0%,#fffaf6 100%)}.gac-badge--featured-route{background:#ff5900;color:#fff;letter-spacing:.02em}.gac-all-routes-heading{margin:0 0 18px;padding-top:2px}@media(max-width:600px){.gac-featured-routes{padding:16px;margin-bottom:28px}.gac-featured-heading h2,.gac-all-routes-heading h2{font-size:22px!important}}


/* Actualité synchronisée avec un événement */
.gac-news-event-link{margin:2rem 0 0;padding:1.25rem 1.4rem;border-left:5px solid #ff5900;border-radius:14px;background:#f4f6ef;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.gac-news-event-link>strong{font-size:1.05rem;color:#111820}
.gac-news-event-link>span:not(.gac-badge){color:#5f665f}
.gac-news-event-link .gac-button{margin-left:auto;white-space:nowrap}
@media(max-width:700px){.gac-news-event-link{align-items:flex-start;flex-direction:column}.gac-news-event-link .gac-button{margin-left:0;width:100%;text-align:center}}

/* 3.3.4 — agenda mensuel : week-ends et rendez-vous en semaine */
.gac-agenda .gac-view-switch{flex-wrap:wrap;justify-content:center}
.gac-weekend-hint{margin:0 0 20px;color:#5c655e;font-size:14px}
.gac-weekend-month{display:grid;gap:20px}
.gac-weekend-week{border:1px solid #dbe1d7;border-radius:12px;overflow:hidden;background:#fff}
.gac-weekend-week__title{margin:0!important;padding:10px 18px;background:#263524;color:#fff;font-size:14px!important;font-weight:700!important;line-height:1.5!important}
.gac-weekend-columns{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,1.5fr))}
.gac-weekend-weekdays,.gac-weekend-day{min-width:0;padding:16px 18px}
.gac-weekend-weekdays{background:#f7f8f5}
.gac-weekend-day{border-left:1px solid #dbe1d7;background:#fffcf7}
.gac-weekend-columns h4{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 12px!important;color:#263524;font-size:16px!important;line-height:1.4!important}
.gac-weekend-columns h4 time{font-size:13px;font-weight:600;color:#73513a;white-space:nowrap}
.gac-weekend-date{margin-top:14px}
.gac-weekend-date>time{display:block;font-size:13px;font-weight:700;text-transform:capitalize;color:#3b5134}
.gac-weekend-empty{margin:6px 0!important;font-size:13px!important;line-height:1.6!important;color:#6b7466}
.gac-weekend-month .gac-calendar-event{margin:8px 0 0;padding:12px;font-size:13px}
.gac-weekend-month .gac-calendar-event strong{margin-top:4px;font-size:15px;line-height:1.4}
.gac-weekend-weekdays .gac-calendar-event{padding:10px}
.gac-weekend-weekdays .gac-calendar-event strong{font-size:14px}
.gac-weekend-day--outside{background:#f4f5f2}
.gac-weekend-day--outside h4,.gac-weekend-day--outside h4 time{color:#7a8075}
.gac-weekend-day--today{box-shadow:inset 0 3px 0 #ff5900}
.gac-weekend-day--today h4>span:after,.gac-weekend-date--today>time:after{content:" · Aujourd’hui";font-size:11px;color:#a83b00}
.gac-weekend-month .gac-calendar-event:focus-visible{outline:3px solid #ff5900;outline-offset:3px}
@media(max-width:780px){.gac-weekend-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.gac-weekend-weekdays{grid-column:1/-1;border-bottom:1px solid #dbe1d7}.gac-weekend-day{padding:14px;border-left:0}.gac-weekend-day+.gac-weekend-day{border-left:1px solid #dbe1d7}.gac-weekend-columns h4{flex-wrap:wrap;gap:4px 10px}.gac-agenda-intro{align-items:flex-start}.gac-view-switch a{padding:7px 12px}}
@media(max-width:480px){.gac-weekend-columns{display:block}.gac-weekend-day+.gac-weekend-day{border-left:0;border-top:1px solid #dbe1d7}.gac-weekend-day--outside{display:none}.gac-weekend-week__title{padding:10px 14px}.gac-weekend-weekdays{padding:12px 14px}.gac-weekend-month{gap:16px}.gac-weekend-columns h4{font-size:15px!important}}

/* 3.3.6 - profil altimetrique lie a la carte */
.gac-profile-interactive{cursor:crosshair;touch-action:pan-y;user-select:none}.gac-profile-interactive:focus-visible{outline:3px solid #1668a1;outline-offset:4px;border-radius:4px}.gac-profile-hint{font-size:13px;color:#596357;margin:8px 0}.gac-profile-readout{font-weight:700;color:#1668a1;min-height:1.5em;margin:6px 0}

/* 3.8.3 — courses : dates lisibles et lignes plus basses, fond orange conservé. */
.gac-home-races--compact{padding:20px 0 22px}
.gac-home-races--compact .ga-section-head{margin-bottom:12px}
.gac-race-compact-list{gap:10px}
.gac-race-compact--dated{position:relative;grid-template-columns:180px 76px minmax(0,1fr) auto 44px;gap:18px;min-height:88px;padding:7px 16px 7px 7px;overflow:visible}
.gac-race-compact--dated .gac-race-compact__media{width:180px;height:72px;position:relative;z-index:2}
.gac-race-compact__date{align-self:stretch;display:flex;align-items:center;justify-content:center;background:#fff5ec;border-radius:8px;text-align:center}
.gac-race-compact__date:empty{background:transparent}
.gac-race-compact__date time{display:flex;flex-direction:column;gap:3px}
.gac-race-compact__date strong{font-size:29px;line-height:1;color:#ff5900;font-weight:850}
.gac-race-compact__date span{font-size:10px;line-height:1.3;text-transform:uppercase;color:#566171;font-weight:750}
.gac-race-compact--dated .gac-race-compact__content h3{font-size:21px!important;margin-bottom:7px!important;line-height:1.15!important}
.gac-race-compact--dated .gac-race-compact__content h3 a::after{content:"";position:absolute;inset:0;border-radius:12px;z-index:1}
.gac-race-compact--dated:focus-within{outline:3px solid #2f759d;outline-offset:3px}
.gac-race-compact--dated .gac-race-compact__meta{gap:5px 20px;font-size:13px}
.gac-race-compact--dated .gac-race-meta{white-space:normal}
.gac-race-compact--dated .gac-race-compact__tags{min-width:0;gap:6px}
.gac-race-compact--dated .gac-race-compact__tags span{min-height:26px;padding:4px 10px;font-size:11px}
.gac-race-compact--dated .gac-race-compact__cta{position:relative;z-index:2;align-self:center;justify-content:center;width:40px;height:40px;min-width:40px;padding:0;border:0;border-radius:50%;background:#ff5900;color:white!important}
.gac-race-compact--dated .gac-race-compact__cta span{font-size:25px}
.gac-home-races--compact .ga-more{background:#ff5900}
@media(max-width:1050px){.gac-race-compact--dated{grid-template-columns:140px 68px minmax(0,1fr) auto 40px;gap:12px}.gac-race-compact--dated .gac-race-compact__media{width:140px}}
@media(max-width:820px){.gac-race-compact--dated{grid-template-columns:110px 62px minmax(0,1fr) 40px;gap:10px}.gac-race-compact--dated .gac-race-compact__media{width:110px}.gac-race-compact--dated .gac-race-compact__content h3{font-size:18px!important}.gac-race-compact--dated .gac-race-compact__tags{display:none}}
@media(max-width:600px){
 .gac-home-races--compact{padding:16px 0 18px}
 .gac-race-compact--dated{grid-template-columns:58px minmax(0,1fr) 34px;gap:9px;min-height:94px;padding:9px}
 .gac-race-compact--dated .gac-race-compact__media{display:none}
 .gac-race-compact--dated .gac-race-compact__date{grid-column:1}
 .gac-race-compact--dated .gac-race-compact__content h3{font-size:16px!important;margin-bottom:5px!important}
 .gac-race-compact--dated .gac-race-compact__meta{display:flex;font-size:11px;gap:3px 10px}
 .gac-race-compact--dated .gac-race-meta--distance{display:inline-flex}
 .gac-race-compact--dated .gac-race-compact__cta{width:34px;height:34px;min-width:34px}
 .gac-race-compact__date strong{font-size:26px}
 .gac-race-compact__date span{font-size:9px}
}

/* 3.8.4 — étude du tracé, carte et profil réunis sans défilement. */
.gac-map-fullscreen{position:absolute;right:12px;top:58px;z-index:650;width:42px;height:42px;display:grid;place-items:center;padding:9px;border:1px solid #cdd8c7;border-radius:7px;background:#fff;color:#263524;box-shadow:0 2px 8px #0002;cursor:pointer}
.gac-map-fullscreen svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gac-map-fullscreen:hover{color:#ff5900}.gac-map-fullscreen:focus-visible,.gac-map-viewer button:focus-visible{outline:3px solid #2f759d;outline-offset:2px}
.gac-map-viewer[open]{display:flex;flex-direction:column;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:12px;box-sizing:border-box;border:0;border-radius:0;background:#f5f7f2;color:#1e3427;overflow:hidden;gap:8px}
.gac-map-viewer::backdrop{background:#15251b}
.gac-map-viewer__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;font:700 16px/1.2 Inter,Arial,sans-serif}
.gac-map-viewer__bar button{width:40px;height:40px;flex:none;background:white;border:1px solid #cdd8c7;border-radius:8px;font-size:28px;line-height:1;cursor:pointer}
.gac-map-viewer .gac-map-shell{display:grid;grid-template-rows:minmax(0,1fr) clamp(140px,27dvh,230px);gap:8px;flex:1;min-height:0;width:100%;margin:0}
.gac-map-viewer .gac-map{width:100%;height:100%;min-height:0;border-radius:9px}
.gac-map-viewer .gac-map-status,.gac-map-viewer .gac-map-mobile-help,.gac-map-viewer .gac-map-activate,.gac-map-viewer .gac-map-fullscreen{display:none}
.gac-map-viewer .gac-elevation{display:flex;flex-direction:column;min-height:0;margin:0;padding:8px 12px;overflow:hidden}
.gac-map-viewer .gac-elevation h3{font-size:13px;line-height:1.2;margin:0 0 3px;flex:none}
.gac-map-viewer .gac-elevation svg{width:100%;height:100%;max-height:none;min-height:0;flex:1}
.gac-map-viewer .gac-profile-hint{display:none}
.gac-map-viewer .gac-profile-readout{margin:3px 0 0!important;font-size:11px!important;line-height:1.2;flex:none}
@media(max-height:500px) and (min-width:600px){.gac-map-viewer .gac-map-shell{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.gac-map-viewer .gac-elevation svg{min-height:0}}
@media(max-width:600px){.gac-map-viewer[open]{padding:8px;gap:6px}.gac-map-viewer__bar{font-size:13px}.gac-map-viewer .gac-map-shell{grid-template-rows:minmax(0,1fr) clamp(130px,25dvh,190px)}.gac-map-viewer .gac-map-reset{font-size:11px;padding:8px}.gac-map-viewer .gac-elevation{padding:7px}}

/* 3.9.1 — aide discrète au transfert GPX vers une montre. */
.gac-qr-help{max-width:780px;margin:-5px 0 22px;font-size:12px;line-height:1.6;color:#65715f}

/* 3.9.2 — accès GPX et QR de même largeur. */
.gac-route-actions>a.gac-button[href*="gac_download"],.gac-qr>summary.gac-qr-toggle{width:210px;max-width:100%;box-sizing:border-box;min-height:44px}
.gac-qr>summary.gac-qr-toggle{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:11px 22px;list-style:none;font-weight:700}
.gac-qr>summary.gac-qr-toggle::-webkit-details-marker{display:none}
.gac-qr-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:square;stroke-linejoin:miter}
.gac-qr[open]>.gac-qr-toggle{margin-bottom:14px}
.gac-qr-toggle:focus-visible{outline:3px solid #2f759d;outline-offset:3px}


/* Accueil : deux courses côte à côte, conservées compactes. */
.home .gac-race-compact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home .gac-race-compact--dated{grid-template-columns:110px 62px minmax(0,1fr) 36px;gap:12px;min-height:100px;padding:9px}
.home .gac-race-compact--dated .gac-race-compact__media{width:110px;height:82px}
.home .gac-race-compact--dated .gac-race-compact__tags{display:none}
.home .gac-race-compact--dated .gac-race-compact__content h3{font-size:20px!important}
.home .gac-race-compact--dated .gac-race-compact__meta{gap:4px 12px;font-size:12px}
.home .gac-race-compact--dated .gac-race-compact__cta{width:36px;height:36px;min-width:36px}
@media(max-width:1100px){.home .gac-race-compact--dated{grid-template-columns:58px minmax(0,1fr) 34px}.home .gac-race-compact--dated .gac-race-compact__media{display:none}}
@media(max-width:700px){.home .gac-race-compact-list{grid-template-columns:1fr;gap:10px}.home .gac-race-compact--dated .gac-race-compact__content h3{font-size:18px!important}}

.gac-card--route{position:relative}.gac-card--route .gac-card-body h3 a::after{content:"";position:absolute;inset:0;z-index:1}.gac-card--route:focus-within{outline:3px solid #2f759d;outline-offset:3px}

/* Difficulté : libellé conservé et pastille colorée. */
.gac-card .gac-level{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;width:fit-content;padding:4px 9px;border-radius:999px;font-size:12px!important;font-weight:650;line-height:1.4}
.gac-card .gac-level::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:currentColor}
.gac-card .gac-level--facile{color:#216336!important;background:#eaf5ed}
.gac-card .gac-level--modere{color:#205d91!important;background:#eaf2fa}
.gac-card .gac-level--difficile{color:#9b4500!important;background:#fff0df}
.gac-card .gac-level--expert{color:#a3262d!important;background:#fcecee}

/* Deux modes d’étude et contrôles sans soulignement. */
.gac-map .leaflet-control-zoom a,.gac-map .leaflet-control-zoom a:hover,.gac-map .leaflet-control-zoom a:focus,#gac-density-map .leaflet-control-zoom a{text-decoration:none!important}
.gac-map-fullscreen{width:140px;height:38px;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 9px;font:650 12px/1.2 Inter,Arial,sans-serif;white-space:nowrap}
.gac-map-fullscreen--map{top:58px}.gac-map-fullscreen--profile{top:102px}
.gac-map-fullscreen svg{width:19px;height:19px;flex:none}
.gac-map-viewer--map-only[open] .gac-map-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.gac-map-viewer--map-only .gac-elevation{display:none}

/* Commandes de carte compactes : carte seule / carte et relief. */
.gac-map-fullscreen{width:40px;height:40px;border-radius:11px;padding:8px;background:#fff;color:#263524;box-shadow:0 3px 12px #15251b22;border:1px solid #d8e0d2}
.gac-map-fullscreen svg{width:24px;height:24px}
.gac-map-fullscreen--map{top:58px;right:60px}.gac-map-fullscreen--profile{top:58px;right:12px}
.gac-map-fullscreen:hover{background:#fff3e9;border-color:#ff5900;color:#d64b00}

/* La hauteur de lecture mobile ne doit pas limiter la visionneuse. */
.gac-map-viewer[open] .gac-map{height:100%!important;min-height:0!important;max-height:none!important}
