/* CyclingForever 0.4.3.60: visual-only enhancements; no registration behavior changes. */
.cf-event-schedule{width:100%;border-collapse:separate!important;border-spacing:0 10px!important;font-size:14px;}
.cf-event-schedule thead th{background:#183b59!important;color:#fff!important;padding:13px 11px!important;font-size:12px;letter-spacing:.025em;text-align:left;}
.cf-event-schedule tbody tr{background:#fff;box-shadow:0 2px 12px rgba(20,48,76,.09);}
.cf-event-schedule tbody td{padding:14px 11px!important;border-top:1px solid #e3eaf0!important;border-bottom:1px solid #e3eaf0!important;vertical-align:middle!important;}
.cf-event-schedule tbody td:first-child{border-left:1px solid #e3eaf0!important;border-radius:9px 0 0 9px;}
.cf-event-schedule tbody td:last-child{border-right:1px solid #e3eaf0!important;border-radius:0 9px 9px 0;}
.cf-event-action{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap;text-decoration:none!important;border:1px solid #c9d9e8;border-radius:7px;padding:7px 10px!important;font-size:13px;font-weight:650;line-height:1.3;background:#f4f8fc;color:#164d79!important;margin:2px;transition:background .15s,transform .15s;}
.cf-event-action:hover,.cf-event-action:focus-visible{background:#e6f2fd;transform:translateY(-1px);}
.cf-event-action.cf-action-register{background:#1767a7;color:#fff!important;border-color:#1767a7;}
.cf-event-action.cf-action-register:hover{background:#0c4e86;}
.cf-event-action.cf-action-riders{background:#f2f7fa;}
.cf-event-action.cf-action-disabled{color:#657586!important;background:#edf0f3;border-color:#e1e5e9;cursor:default;}
.cf-event-action .cf-action-icon{font-size:16px;line-height:1;aria-hidden:true;}
.cf-event-schedule .cf-event-deadline{font-size:12px;color:#506477;display:block;margin-top:5px;}
.cf-popup-overlay{background:rgba(9,25,43,.72)!important;backdrop-filter:blur(3px);}
.cf-popup-dialog{width:min(100%,620px)!important;border-radius:16px!important;padding:30px!important;box-shadow:0 24px 70px rgba(0,0,0,.3)!important;border:1px solid #dce6ef;}
.cf-popup-dialog .cf-popup-close{width:38px;height:38px;display:flex;align-items:center;justify-content:center;right:12px!important;top:12px!important;border-radius:50%;background:#eef3f8!important;font-size:25px!important;}
.cf-popup-dialog .cf-reg-box h3{font-size:24px;margin:0 44px 8px 0;line-height:1.3;color:#183b59;}
.cf-popup-dialog .cf-reg-box>p{line-height:1.55;}
.cf-popup-dialog .cf-reg-form input:not([type=hidden]):not([type=checkbox]),.cf-popup-dialog .cf-reg-form select{border:1px solid #bccddd;border-radius:7px;padding:10px 12px;max-width:100%;}
.cf-popup-dialog .cf-reg-form input:focus-visible,.cf-popup-dialog button:focus-visible{outline:3px solid #8ec4f1;outline-offset:2px;}
.cf-popup-dialog .cf-reg-confirm{padding:12px 18px;border-radius:8px;font-weight:700;}
.cf-popup-dialog .cf-account-options{gap:8px;}
.cf-popup-dialog .cf-account-options button{border-radius:8px;padding:10px 12px;}
@media(max-width:767px){
.cf-event-schedule,.cf-event-schedule tbody,.cf-event-schedule tr,.cf-event-schedule td{display:block!important;width:100%!important;box-sizing:border-box;}
.cf-event-schedule thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.cf-event-schedule tbody tr{border:1px solid #dbe5ed;border-radius:12px;margin:0 0 15px;overflow:hidden;padding:9px 13px;}
.cf-event-schedule tbody td{display:flex!important;flex-wrap:wrap;gap:5px;align-items:baseline;padding:9px 4px!important;border:0!important;border-bottom:1px solid #edf1f4!important;border-radius:0!important;box-shadow:none!important;}
.cf-event-schedule tbody td:last-child{border:0!important;}
.cf-event-schedule tbody td::before{content:attr(data-cf-label);display:block;flex:0 0 100px;font-size:12px;color:#586d80;font-weight:700;}
.cf-event-schedule tbody td.cf-event-actions-cell{display:block!important;}
.cf-event-schedule tbody td.cf-event-actions-cell::before{display:none;}
.cf-event-action{margin:3px 3px 3px 0;}
.cf-popup-overlay{padding:8px!important;align-items:flex-end!important;}
.cf-popup-dialog{padding:22px 18px!important;width:100%!important;max-height:94dvh!important;border-radius:16px 16px 0 0!important;}
.cf-popup-dialog .cf-reg-box h3{font-size:20px;}
}
@media(prefers-reduced-motion:reduce){.cf-event-action{transition:none;}.cf-event-action:hover{transform:none;}}
/* v0.4.3.61: support WordPress tables with header row in tbody, and readable layout */
.entry-content:has(.cf-event-schedule),article:has(.cf-event-schedule){max-width:1100px!important;width:100%!important}
.cf-event-schedule{table-layout:auto!important;max-width:100%!important;border:0!important}
.cf-event-schedule th,.cf-event-schedule td{font-size:14px!important;line-height:1.5!important}
.cf-event-schedule thead th{border:0!important}
.cf-event-schedule a.cf-event-action{box-shadow:none!important}
@media(max-width:767px){.cf-event-schedule{border:0!important}.cf-event-schedule tbody tr{background:#fff!important}.cf-event-schedule tbody td:before{min-width:85px}}
/* v0.4.3.62: regional landing-page components (presentation only) */
.cf-region-hero,.cf-region-featured,.cf-region-guide,.cf-assault-page{font-family:inherit;box-sizing:border-box;max-width:1100px;margin:20px auto 28px}
.cf-region-hero{border-radius:20px;overflow:hidden;background:linear-gradient(110deg,#102e4b,#247c9d);background-position:center;background-size:cover;color:#fff!important;box-shadow:0 12px 35px #14334c26}
.cf-region-hero-inner{padding:clamp(28px,6vw,66px)}
.cf-region-hero h1{color:#fff!important;font-size:clamp(29px,4.5vw,50px)!important;line-height:1.13!important;margin:12px 0!important;font-weight:800}
.cf-region-hero p{color:#e5f5fc!important;font-size:clamp(16px,2vw,20px);margin:0 0 24px;max-width:680px}
.cf-region-eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#9cdbf1}
.cf-region-pills{display:flex;gap:10px;flex-wrap:wrap}.cf-region-pills span{background:#ffffff25;border:1px solid #ffffff60;border-radius:99px;padding:7px 13px;font-size:12px;font-weight:700}
.cf-region-section-title h2,.cf-region-guide h2{font-size:clamp(23px,3vw,30px);color:#183b59;margin:0 0 4px}.cf-region-section-title p,.cf-region-guide>p{color:#596d7e;margin:0 0 18px}
.cf-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.cf-featured-card{display:block!important;text-decoration:none!important;border:1px solid #dce6ef;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 20px #14334c12;transition:transform .15s,box-shadow .15s;color:#173955!important}
.cf-featured-card:hover,.cf-featured-card:focus-visible{transform:translateY(-3px);box-shadow:0 12px 28px #14334c25}
.cf-featured-art{height:160px;background:linear-gradient(135deg,#e4f3f9,#c4d9e9);display:flex;align-items:center;justify-content:center;font-size:65px}
.cf-featured-art img{width:100%;height:100%;object-fit:contain;padding:12px;box-sizing:border-box}
.cf-featured-copy{padding:18px}.cf-featured-copy h3{font-size:19px!important;margin:0 0 7px;color:#173955}.cf-featured-copy p{font-size:14px;margin:0 0 14px;color:#536c7d;line-height:1.5}.cf-featured-cta{font-size:13px;color:#116aa1;font-weight:800}.cf-featured-unlinked .cf-featured-cta{color:#718292}
.cf-region-guide{padding:22px;border:1px solid #dce6ef;background:#f7fafc;border-radius:17px}
.cf-region-guide details{background:#fff;border:1px solid #dce6ef;border-radius:10px;margin:9px 0;padding:0 14px}.cf-region-guide summary{cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 0;font-weight:750;color:#173955;list-style:none}.cf-region-guide summary::-webkit-details-marker{display:none}.cf-region-guide summary:after{content:'+';margin-left:auto;font-size:23px;color:#41718b}.cf-region-guide details[open] summary:after{content:'−'}.cf-guide-number{background:#e5f2fa;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:#16669b;font-size:13px}.cf-region-guide details p{margin:0 0 15px 40px;color:#52697c;line-height:1.6}
.cf-assault-page{border:1px solid #dce6ef;border-radius:18px;overflow:hidden;background:#fff}.cf-assault-header{background:linear-gradient(110deg,#12324c,#275d78);color:#fff;padding:35px}.cf-assault-header h1{color:#fff!important;font-size:clamp(27px,4vw,42px)!important;margin:10px 0}.cf-assault-header p{color:#e0f0f8;font-size:17px}.cf-assault-logo{max-height:130px;max-width:190px;object-fit:contain;float:right}.cf-assault-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:24px}.cf-assault-facts>div{background:#f3f8fb;padding:15px;border-radius:10px}.cf-assault-facts strong,.cf-assault-facts span{display:block}.cf-assault-facts strong{font-size:12px;text-transform:uppercase;color:#587187;margin-bottom:5px}.cf-assault-facts span{color:#173955;font-weight:700}.cf-assault-page>p{margin:0;padding:0 24px 22px;line-height:1.7}.cf-assault-actions{display:flex;flex-wrap:wrap;gap:12px;padding:0 24px 20px}.cf-assault-actions a{display:inline-block;background:#1767a7;color:white!important;text-decoration:none!important;border-radius:8px;padding:12px 18px;font-weight:750}.cf-assault-page .cf-assault-note{font-size:13px;color:#65798a}
@media(max-width:780px){.cf-featured-grid{grid-template-columns:1fr 1fr}.cf-featured-art{height:135px}}
@media(max-width:520px){.cf-featured-grid{grid-template-columns:1fr}.cf-featured-card{display:flex!important}.cf-featured-art{width:110px;min-width:110px;height:auto;min-height:120px;font-size:43px}.cf-featured-copy{padding:14px}.cf-assault-facts{grid-template-columns:1fr}.cf-assault-logo{float:none;display:block;margin-bottom:12px}}

/* v0.4.3.63: presentation-only links and award panel */
.cf-region-pills a.cf-season-link{display:inline-flex;align-items:center;gap:6px;background:#ffffff25;border:1px solid #ffffff90;border-radius:99px;padding:7px 13px;font-size:12px;font-weight:700;color:#fff;text-decoration:none;transition:background .15s ease}
.cf-region-pills a.cf-season-link:hover,.cf-region-pills a.cf-season-link:focus-visible{background:#ffffff45;color:#fff;text-decoration:underline}
.cf-assault-award{margin:0 24px 22px;padding:18px 20px;background:#edf6fc;border-left:4px solid #1767a7;border-radius:9px;color:#173955}
.cf-assault-award strong{display:block;font-size:17px;margin-bottom:7px}.cf-assault-award p{margin:0;line-height:1.6}.cf-assault-award a{text-decoration:underline}

/* v0.4.3.65 presentation additions */
.cf-featured-award{display:block;width:fit-content;margin:0 0 12px;padding:5px 9px;border-radius:7px;background:#fff1c8;color:#68440b;font-size:12px;font-weight:800}
.cf-assault-header .cf-assault-award-banner{margin:20px 0 0;background:rgba(255,255,255,.12);border-left:4px solid #efc16d;color:#fff;max-width:750px}
.cf-assault-header .cf-assault-award-banner strong{color:#ffe6a5}.cf-assault-header .cf-assault-award-banner p{color:#fff;font-size:15px;margin:0}.cf-assault-header .cf-assault-award-banner a{color:#ffe6a5!important}
.cf-assault-event-actions{padding:0 24px 22px;display:flex;gap:12px;flex-wrap:wrap}.cf-assault-event-actions a{display:inline-block;border:1px solid #adc5df;border-radius:8px;padding:10px 16px;font-weight:700;text-decoration:none}.cf-assault-event-actions .cf-reg-button{background:#32649f;color:#fff!important}.cf-assault-event-actions .cf-assault-riders{background:#f3f7fc;color:#173955}
.cf-gr-interest-link{margin:18px 0;padding:18px;border:1px solid #d6e4f0;border-radius:12px;background:#f4f9fc}.cf-gr-interest-link a{display:inline-block;padding:11px 17px;border-radius:8px;background:#31659e;color:#fff!important;text-decoration:none;font-weight:700}.cf-gr-interest-link p{margin:10px 0 0;font-size:14px}
.cf-season-calendar{max-width:1100px;margin:24px auto;padding:24px;border:1px solid #d7e4ef;border-radius:16px;background:#fff;color:#1d3b58}.cf-season-calendar h2{margin:0 0 8px}.cf-season-filters{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.cf-season-filters label{font-size:13px;font-weight:700}.cf-season-filters select{display:block;margin-top:6px;min-width:145px;padding:9px;border:1px solid #b9cddd;border-radius:8px;background:#fff}.cf-season-count{font-weight:700}.cf-season-table-scroll{overflow-x:auto}.cf-season-calendar table{width:100%;border-collapse:collapse;font-size:14px}.cf-season-calendar th{background:#223e5c;color:#fff;text-align:left}.cf-season-calendar th,.cf-season-calendar td{padding:11px 13px;border-bottom:1px solid #d9e4ef}.cf-season-calendar tbody tr:nth-child(even){background:#f1f7fb}.cf-season-calendar tbody tr[hidden]{display:none}.cf-season-disclaimer{font-size:13px;color:#587087;margin:14px 0 0}
@media(max-width:600px){.cf-season-calendar{padding:14px}.cf-season-calendar th,.cf-season-calendar td{padding:9px 7px;font-size:12px}}

.cf-gr-registration-header{display:flex;align-items:center;gap:20px;padding:22px;margin:16px 0 20px;background:linear-gradient(110deg,#183953,#376f8f);color:#fff;border-radius:15px}.cf-gr-registration-header img{width:115px;height:115px;object-fit:contain;flex-shrink:0}.cf-gr-registration-header span{font-size:11px;letter-spacing:1.3px;font-weight:800;color:#bce3f8}.cf-gr-registration-header h2{margin:6px 0;color:#fff!important}.cf-gr-registration-header p{margin:0 0 10px;color:#e3f1fa}.cf-gr-registration-header a{color:#fff!important;font-weight:800;text-decoration:underline}@media(max-width:560px){.cf-gr-registration-header{align-items:flex-start;flex-direction:column}.cf-gr-registration-header img{width:90px;height:90px}}


/* v0.4.4.1: homepage and shared rider resources; presentation only */
.cf-home{max-width:1180px;margin:20px auto 50px;font-family:inherit;color:#193b56}.cf-home *{box-sizing:border-box}
.cf-home-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(180px,.8fr);align-items:center;gap:24px;padding:clamp(28px,5vw,55px);background:linear-gradient(115deg,#112c4c,#1c5773);border-radius:22px;color:white;overflow:hidden;box-shadow:0 12px 35px #0d2b4526}
.cf-home-kicker{color:#addbe9;font-size:12px;font-weight:800;letter-spacing:.15em}.cf-home-hero h1{color:#fff!important;font-size:clamp(30px,4vw,52px)!important;line-height:1.13;margin:14px 0!important}.cf-home-hero p{color:#e5f1f7;font-size:clamp(15px,1.7vw,19px);line-height:1.6;max-width:650px}.cf-home-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.cf-home-hero-actions a{display:inline-block;padding:12px 22px;border-radius:9px;text-decoration:none!important;font-weight:800;background:#fff;color:#123854!important}.cf-home-hero-actions a+ a{background:transparent;border:1px solid #c2e0f2;color:white!important}.cf-home-hero-actions a:hover{opacity:.87}
.cf-home-logo{text-align:center}.cf-home-logo img{display:block;width:100%;max-width:250px;max-height:265px;object-fit:contain;margin:auto;filter:drop-shadow(0 8px 14px #071d3166)}
.cf-home-regions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}.cf-home-region{background:white;border:1px solid #dce7ef;border-radius:19px;overflow:hidden;box-shadow:0 6px 24px #13344e12}.cf-home-photo{height:230px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;padding:18px;background-image:linear-gradient(130deg,#23435c,#7196ad)}.cf-home-nefr .cf-home-photo{background-image:linear-gradient(130deg,#f2a85e,#70b9c6)}.cf-home-photo span{font-size:12px;font-weight:800;letter-spacing:.11em;color:white;text-shadow:0 2px 6px #0009}.cf-home-region-body{padding:25px}.cf-home-eyebrow{font-size:12px;letter-spacing:.11em;font-weight:800;color:#1c678e}.cf-home-nefr .cf-home-eyebrow{color:#b35a13}.cf-home-region h2{font-size:clamp(22px,2.5vw,29px)!important;line-height:1.2;margin:9px 0!important;color:#173955}.cf-home-region p{color:#526b7d;line-height:1.6;min-height:65px}.cf-home-primary{display:block;text-align:center;padding:13px 15px;background:#1d679a;color:white!important;border-radius:9px;font-weight:800;text-decoration:none!important}.cf-home-nefr .cf-home-primary{background:#bc641f}.cf-home-region nav{border-top:1px solid #e3ebf1;margin-top:20px;padding-top:12px;display:grid;gap:0}.cf-home-region nav a{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eef2f5;text-decoration:none!important;color:#215e85;font-weight:650;font-size:14px}.cf-home-nefr nav a{color:#975015}.cf-home-region nav a:hover{text-decoration:underline!important}
.cf-home-highlights{margin:38px 0}.cf-home-highlights h2,.cf-rider-info h2{color:#183b59;font-size:clamp(24px,3vw,31px)!important;margin:0 0 18px}.cf-home-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cf-home-highlight{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #dce7ef;border-radius:13px;background:#fff;text-decoration:none!important;color:#173955!important}.cf-home-highlight img,.cf-home-highlight-symbol{width:76px;height:70px;object-fit:contain;flex:none}.cf-home-highlight-symbol{display:flex;align-items:center;justify-content:center;font-size:35px;background:#eaf2f8;border-radius:10px}.cf-home-highlight span:nth-last-child(2){flex:1}.cf-home-highlight strong,.cf-home-highlight small{display:block}.cf-home-highlight small{color:#697e8c;margin-top:4px}.cf-home-account{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#eaf4fa;border:1px solid #d0e4f1;border-radius:16px;padding:25px;margin:28px 0}.cf-home-account h2{color:#183b59;margin:0 0 8px;font-size:24px}.cf-home-account p{margin:0;color:#4b6475;line-height:1.6}.cf-home-account>span{font-size:48px}
.cf-rider-info{max-width:1180px;margin:28px auto;padding:25px;border:1px solid #d9e7f0;background:#f7fafc;border-radius:17px}.cf-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cf-info-grid>div{background:white;border:1px solid #e0e9f0;padding:18px;border-radius:12px}.cf-info-grid h3{font-size:17px!important;color:#173955;margin:0 0 9px}.cf-info-grid p{font-size:14px;color:#52697b;line-height:1.65;margin:0}.cf-info-grid a{display:inline-block;margin-top:12px;color:#1767a7;font-weight:800}
@media(max-width:750px){.cf-home-hero{grid-template-columns:1fr;text-align:center}.cf-home-hero-actions{justify-content:center}.cf-home-logo img{max-width:175px;max-height:185px}.cf-home-regions,.cf-home-highlight-grid,.cf-info-grid{grid-template-columns:1fr}.cf-home-region p{min-height:0}.cf-home-photo{height:190px}.cf-home-account>span{display:none}}
@media(prefers-reduced-motion:reduce){.cf-home *{scroll-behavior:auto}}

/* v0.4.4.2: warm neutral surfaces contrast with Astra light-blue site background */
.cf-home-region{background:#fffdf8;border-color:#e6e0d7}
.cf-home-account{background:#fff8ec;border-color:#eadcc8}
.cf-home .cf-rider-info{background:#fffdf8;border-color:#e6e0d7}
.cf-home-region nav a:focus-visible,.cf-home-primary:focus-visible{outline:3px solid #ba682a;outline-offset:3px}
