.calendar-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.event-card{display:grid;grid-template-columns:112px 1fr;gap:22px;align-items:center;padding:24px;border:1px solid var(--line);border-top:4px solid #00a969;background:var(--white);box-shadow:0 14px 38px rgba(3,30,52,.06)}
.event-card.triatlon{border-top-color:#008f89}.event-card.trail{border-top-color:#00a958}
.event-date{min-height:94px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--navy);background:#eaf6f1;text-align:center}.event-date strong{font-size:1.8rem;line-height:1}.event-date span{margin-top:7px;font-size:.66rem;font-weight:950;letter-spacing:.1em}
.event-sport{margin:0 0 5px;color:#007f4a;font-size:.7rem;font-weight:950;letter-spacing:.13em}.event-card h3{margin:0;font-size:1.18rem;line-height:1.25}.event-card div>p:not(.event-sport){margin:5px 0;color:var(--muted);font-size:.9rem}.event-card a{color:#007f4a;font-size:.86rem;font-weight:850;text-decoration-thickness:2px;text-underline-offset:3px}
.calendar-sources{max-width:1250px;margin:34px auto 0;padding:28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;background:var(--navy);color:var(--white)}.calendar-sources h3{margin:0;font-size:1.5rem}.calendar-sources>div>p:last-child{margin-bottom:0;color:#b9ced7}
.source-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.source-links a{display:flex;min-height:94px;flex-direction:column;justify-content:center;padding:18px;border:1px solid rgba(255,255,255,.18);color:var(--white);text-decoration:none}.source-links a:hover{border-color:var(--green)}.source-links strong{color:var(--green);font-size:.92rem}.source-links span{margin-top:5px;color:#c4d6de;font-size:.82rem}
.calendar-note{max-width:1250px;margin:16px auto 0;color:var(--muted);font-size:.85rem}.calendar-note a{color:#007f4a;font-weight:850}
.race-region{max-width:1250px;margin:0 auto 46px}.race-region.national{padding-top:40px;border-top:1px solid var(--line)}.region-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:22px}.region-heading h3{margin:0;color:var(--navy);font-size:clamp(1.75rem,3.5vw,2.8rem);line-height:1.05}.region-heading>p{max-width:470px;margin:0;color:var(--muted)}
.discipline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.discipline-card{padding:23px;border:1px solid var(--line);background:var(--white);box-shadow:0 12px 36px rgba(3,30,52,.05)}.discipline-title{display:flex;align-items:center;gap:13px;padding-bottom:17px;border-bottom:2px solid var(--navy)}.discipline-title>span{flex:none;min-width:92px;height:48px;padding:0 10px;display:grid;place-items:center;color:var(--navy);background:var(--green);font-size:.78rem;font-weight:950;letter-spacing:.04em}.discipline-title p{margin:0;color:#007f4a;font-size:.68rem;font-weight:950;letter-spacing:.13em}.discipline-title h4{margin:1px 0 0;color:var(--navy);font-size:1.16rem}
.race-list{margin:0;padding:0;list-style:none}.race-list li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.race-list li:last-child{border-bottom:0;padding-bottom:0}.race-list time{color:#007f4a;font-size:.73rem;font-weight:950;letter-spacing:.05em}.race-list strong{display:block;color:var(--navy);font-size:.93rem;line-height:1.3}.race-list span{display:block;margin-top:3px;color:var(--muted);font-size:.77rem;line-height:1.35}.race-list a{color:#007f4a;font-size:.75rem;font-weight:900;text-decoration-thickness:2px;text-underline-offset:3px}
.kit-section{display:block;min-height:0;padding:clamp(72px,9vw,115px) clamp(24px,7vw,100px);color:var(--white);background:#062840}
.catalog-intro{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr .8fr;align-items:end;gap:40px}.catalog-intro h2{color:var(--white)}.catalog-intro>p{margin:0;color:#c7d8df;font-size:1.05rem}
.category-nav{max-width:1250px;margin:30px auto 52px;display:flex;justify-content:flex-start;gap:10px;overflow-x:auto}.category-nav a{padding:9px 15px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:var(--white);font-size:.84rem;font-weight:850;text-decoration:none;white-space:nowrap}.category-nav a:hover{color:var(--navy);background:var(--green);border-color:var(--green)}
.catalog-category{max-width:1250px;margin:0 auto 64px;scroll-margin-top:150px}.category-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:22px}.category-heading h3{margin:0;color:var(--white);font-size:clamp(1.7rem,3vw,2.5rem)}.category-heading>p{margin:0;color:#c7d8df}.category-heading>p strong{color:var(--green);font-size:1.25rem}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.product-card{overflow:hidden;border:1px solid rgba(255,255,255,.14);background:var(--white);color:var(--ink)}.product-card img,.product-placeholder{width:100%;aspect-ratio:1.45/1;object-fit:contain;background:#fff}.product-card img{display:block;cursor:zoom-in;transition:transform .2s ease,filter .2s ease}.product-card img:hover{transform:scale(1.015);filter:brightness(.97)}.product-card img:focus-visible{outline:4px solid #00ef67;outline-offset:-4px}.product-card>div:last-child{padding:19px 20px 21px}.product-brand{margin:0 0 5px!important;color:#007f4a!important;font-size:.69rem!important;font-weight:950!important;letter-spacing:.12em}.product-card h4{margin:0;font-size:1.1rem;line-height:1.3}.product-card p{margin:6px 0;color:var(--muted);font-size:.86rem}.price{display:block;margin-top:13px;color:var(--navy);font-size:1.35rem}
.add-to-cart{width:100%;margin-top:16px;padding:12px 15px;border:0;border-radius:7px;background:#00ef67;color:#031e34;font:inherit;font-weight:900;cursor:pointer}.add-to-cart:hover{background:#22ff82}.add-to-cart:focus-visible{outline:3px solid #087eaa;outline-offset:2px}
.product-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--white);background:radial-gradient(circle at 75% 15%,rgba(0,239,103,.24),transparent 30%),var(--navy)}.product-placeholder span{color:var(--green);font-size:1.7rem;font-weight:950;letter-spacing:.12em}.product-placeholder strong{margin-top:7px;color:#bfd1d9;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.catalog-order{max-width:1250px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px;border:1px solid rgba(0,239,103,.5);background:#031e34}.catalog-order h3{margin:0;color:var(--white);font-size:1.7rem}.catalog-order p:last-child{margin:6px 0 0;color:#c7d8df}
.catalog-order .order-copy{flex:0 1 360px}.catalog-order .order-form{flex:1 1 720px;min-width:0}
.image-lightbox{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);padding:48px 20px 20px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:#031e34;color:#fff;box-shadow:0 24px 90px rgba(0,0,0,.55)}.image-lightbox::backdrop{background:rgba(1,15,27,.88);backdrop-filter:blur(5px)}.image-lightbox figure{margin:0;display:grid;justify-items:center;gap:14px}.image-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 135px);object-fit:contain;background:#fff;border-radius:6px}.image-lightbox figcaption{max-width:850px;color:#d7e5ea;font-size:.9rem;text-align:center}.lightbox-close{position:absolute;top:10px;right:12px;width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#062840;color:#fff;font:700 1.7rem/1 sans-serif;cursor:pointer}.lightbox-close:hover,.lightbox-close:focus-visible{border-color:#00ef67;color:#00ef67;outline:none}
.cart-panel{grid-column:1/-1;margin-bottom:18px;padding:20px;border:1px solid rgba(0,239,103,.35);border-radius:10px;background:#f4f8f9}.cart-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.cart-heading h4{margin:2px 0 0;color:#031e34;font-size:1.25rem}.cart-badge{display:inline-grid;min-width:30px;height:30px;padding:0 8px;place-items:center;border-radius:99px;background:#00ef67;color:#031e34;font-size:.9rem}.cart-total{color:#007f4a;font-size:1.35rem}.cart-empty{margin:16px 0 0!important;color:#526a76!important}.cart-list{display:grid;gap:12px;margin-top:16px}.cart-item{display:grid;grid-template-columns:minmax(210px,1.6fr) repeat(3,minmax(90px,.6fr)) auto;align-items:end;gap:10px;padding:14px;border:1px solid #d7e2e6;border-radius:8px;background:#fff}.cart-item-main{align-self:center}.cart-item-main strong,.cart-item-main span{display:block}.cart-item-main span{margin-top:3px;color:#526a76;font-size:.8rem}.cart-item label{color:#34505d;font-size:.72rem;font-weight:900}.cart-item input{width:100%;margin-top:5px;padding:10px;border:1px solid #b9cbd3;border-radius:6px}.remove-cart-item{padding:11px 12px;border:1px solid #b74b4b;border-radius:6px;background:#fff;color:#9a2222;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer}.order-form button:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:1050px){.calendar-grid,.discipline-grid{grid-template-columns:1fr}.calendar-sources,.catalog-intro{grid-template-columns:1fr}.product-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-order{align-items:stretch;flex-direction:column}.catalog-order .order-copy{flex-basis:auto}}
@media(max-width:900px){.cart-item{grid-template-columns:1fr 1fr}.cart-item-main{grid-column:1/-1}.remove-cart-item{align-self:end}}
@media(max-width:680px){.event-card{grid-template-columns:82px 1fr;padding:16px;gap:15px}.event-date{min-height:80px}.event-date strong{font-size:1.35rem}.region-heading{display:block}.region-heading>p{margin-top:10px}.discipline-card{padding:17px}.race-list li{grid-template-columns:62px minmax(0,1fr)}.race-list a{grid-column:2}.source-links{grid-template-columns:1fr}.category-heading{display:block}.category-heading>p{margin-top:8px}.product-grid,.product-grid.six{grid-template-columns:1fr}.catalog-order{align-items:flex-start;flex-direction:column}.cart-heading{align-items:flex-start}.cart-item{grid-template-columns:1fr}.cart-item-main{grid-column:auto}.remove-cart-item{width:100%}}
.cart-item select{width:100%;margin-top:5px;padding:10px;border:1px solid #b9cbd3;border-radius:6px;background:#fff}
