/* Scoped sports carousel, using the existing agency tokens. */
.ra-sports-slider { background:#fff; scroll-margin-top:120px; }
.ra-sports-section-head { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:32px; }
.ra-sports-section-head h2 { margin-bottom:0; }
.ra-sports-section-head>p { color:var(--ra-muted); font-size:16px; margin:0; }
.ra-sports-slider [hidden] { display:none!important; }
.ra-sport-tabs { display:flex; flex-wrap:wrap; gap:4px 24px; border-bottom:1px solid var(--ra-line); margin-bottom:32px; }
.ra-sport-tabs button { appearance:none; background:transparent; border:0; border-bottom:2px solid transparent; border-radius:0; padding:12px 0; font:inherit; font-size:16px; font-weight:500; color:var(--ra-muted); cursor:pointer; margin-bottom:-1px; }
.ra-sport-tabs button[aria-selected=true] { color:var(--ra-purple); border-color:var(--ra-purple); }
.ra-sport-tabs button:hover { color:var(--ra-purple); }
.ra-main .ra-sport-tabs button:focus, .ra-main .ra-sport-tabs button:active { background:transparent!important; color:var(--ra-purple); box-shadow:none; }
.ra-sport-panel { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:64px; align-items:center; margin-bottom:32px; }
.is-enhanced .ra-sport-panel { margin-bottom:0; }
.ra-sport-photo { margin:0; width:100%; height:400px; background:var(--ra-tint); overflow:hidden; }
.ra-sport-photo img { display:block; width:100%; height:100%; object-fit:cover; }
#ra-sport-tennis .ra-sport-photo img { object-position:65% center; }
#ra-sport-padel .ra-sport-photo img { object-position:center 48%; }
.ra-main .ra-sport-detail h3 { font-size:44px; line-height:1.1; margin:8px 0 16px; }
.ra-sport-detail .ra-eyebrow { font-size:12px; }
.ra-main .ra-sport-summary { font-size:21px; line-height:1.45; color:var(--ra-muted); max-width:500px; margin-bottom:22px; }
.ra-sport-detail ul { list-style:none; padding:0; margin:0 0 22px; }
.ra-sport-detail li { position:relative; padding:8px 0 8px 22px; font-size:16px; line-height:1.55; }
.ra-sport-detail li::before { content:''; position:absolute; left:0; top:19px; width:5px; height:5px; border-radius:50%; background:var(--ra-purple); }
.ra-sport-controls { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:24px; }
.ra-sport-controls button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; background:transparent; border:1px solid var(--ra-line); border-radius:50%; color:var(--ra-ink); font:inherit; font-size:21px; cursor:pointer; }
.ra-sport-controls button:hover { border-color:var(--ra-purple); color:var(--ra-purple); }
.ra-main .ra-sport-controls button:focus, .ra-main .ra-sport-controls button:active { background:transparent!important; color:var(--ra-purple); box-shadow:none; }
.ra-sport-dots { display:flex; gap:0; }
.ra-sport-dots button { width:30px; border:0; border-radius:0; }
.ra-sport-dots span { display:block; width:7px; height:7px; border-radius:50%; background:#c7c0d2; }
.ra-sport-dots [aria-current=true] span { background:var(--ra-purple); box-shadow:0 0 0 4px #eee5fb; }
.ra-main .ra-sport-count { margin:0; color:var(--ra-muted); font-size:13px; font-variant-numeric:tabular-nums; }
@media(max-width:1000px){ .ra-sport-panel{gap:36px;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);} .ra-sports-section-head{display:block;} .ra-sports-section-head>p{margin-top:20px;} .ra-sport-photo{height:430px;} .ra-main .ra-sport-detail h3{font-size:38px;} }
@media(max-width:680px){ .ra-sport-tabs{gap:0 20px;margin-bottom:24px;} .ra-sport-tabs button{font-size:15px;padding:10px 0;} .ra-sport-panel{grid-template-columns:1fr;gap:26px;} .ra-sport-photo{height:240px;} .ra-sport-photo img{object-position:center 40%;} #ra-sport-tennis .ra-sport-photo img{object-position:60% 62%;} .ra-main .ra-sport-detail h3{font-size:34px;} .ra-main .ra-sport-summary{font-size:19px;min-height:56px;} .ra-sport-detail li{font-size:16px;} .ra-sport-controls{gap:10px;margin-top:20px;} .ra-sport-dots button{width:26px;} }
