.player-search-target { text-decoration:none; color:inherit; }
.player-search-target:focus-visible { outline:3px solid #008675; outline-offset:4px; border-radius:16px; }
form.player-flow-active > :not([data-player-search-flow]):not(.cb2-search__toggle) { display:none!important; }
.player-flow { grid-column:1/-1; min-width:0; display:grid; gap:14px; padding-top:16px; }
.player-flow [hidden], .player-flow[hidden] { display:none!important; }
.player-flow__nav, .player-flow__actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.player-flow__nav, .player-flow__context { color:#547078; font-size:.9rem; }
.player-flow__context:empty { display:none; }
.player-flow h3 { font-size:1.2rem; color:#123c49; margin:0 0 18px; }
.player-flow h4 { font-size:1rem; margin:0; color:#31545b; }
.player-flow__sports { display:grid; grid-template-columns:repeat(auto-fit,minmax(88px,110px)); gap:10px; }
.player-flow button.cb2-icon-option { border:0; background:none; padding:0; font:inherit; cursor:pointer; }
.player-flow .cb2-icon-option__visual img { width:100%; height:100%; object-fit:contain; }
.player-flow__choices { display:flex; flex-wrap:wrap; gap:10px; }
.player-flow__choice { border:1px solid #bfd2d3; background:#f7fbfb; color:#183e48; border-radius:14px; min-width:68px; min-height:64px; padding:12px 16px; font:inherit; font-size:1.05rem; font-weight:800; cursor:pointer; }
.player-flow__choice[aria-pressed="true"], .player-flow [aria-pressed="true"] .cb2-icon-option__surface { background:#e2f5f1; border-color:#008675; box-shadow:inset 0 0 0 1px #008675; color:#006d5e; }
.player-flow button:focus-visible { outline:3px solid #008675; outline-offset:3px; }
.player-flow__age-group { display:grid; gap:9px; margin-bottom:18px; }
.player-flow__actions { margin-top:20px; }
.player-flow__venues { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:12px; }
.player-flow__venue { display:flex; gap:12px; text-align:left; align-items:center; font-size:.95rem; }
.player-flow__logo { width:52px; height:52px; flex-shrink:0; object-fit:contain; border-radius:12px; background:#e5efed; display:grid; place-items:center; }
.player-flow__venue small { display:block; font-size:.78rem; font-weight:500; margin-top:4px; }
.player-flow [aria-busy="true"] { opacity:.65; }
@media(max-width:600px) {
    .player-flow__sports { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .player-flow__actions > * { flex:1 1 auto; }
}
