.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}}
