/* A visit has one hierarchy: choose a branch, check hours, open its location. */
body main#main:has(.gym-profile-public,.gym-public-profile){--visit-surface:#141c25;--visit-line:#34404d;--visit-muted:#b4bfcc}
body main#main:has(.gym-profile-public,.gym-public-profile) .detail-hero{padding:8px 0 8px!important;background:none!important;border:0!important;box-shadow:none!important}
body main#main:has(.gym-profile-public,.gym-public-profile) .detail-hero h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.045em;line-height:1.18}
body main#main:has(.gym-profile-public,.gym-public-profile) .favorite-control{margin:0 0 18px;padding:0;gap:14px}
body main#main:has(.gym-profile-public,.gym-public-profile) .favorite-control .favorite-button{min-height:44px;padding:8px 12px;background:transparent;border-color:var(--visit-line)}
body main#main #gym-visit-panel .favorite-control{margin:18px 0 0;padding:0}
body main#main:has(.gym-profile-public,.gym-public-profile) .breadcrumbs{padding-block:8px}
body main#main .gym-purpose-tabs{max-width:540px;border:0;border-bottom:1px solid var(--visit-line);border-radius:0;background:none;padding:0;gap:24px;margin-top:16px}
body main#main .gym-purpose-tabs button{border-radius:0;padding:12px 8px;background:none;box-shadow:none;font-size:16px;border-bottom:3px solid transparent}
body main#main .gym-purpose-tabs button[aria-selected=true]{background:none;box-shadow:none;color:#f4d38c;border-bottom-color:#e8c777}
body main#main[data-gym-purpose] #gym-visit-panel .gym-profile-public{padding:0!important;margin-top:0!important}
body main#main #gym-visit-panel .gym-profile-public>header{padding:4px 0 14px!important;margin:0!important;background:none;border:0}
body main#main #gym-visit-panel .gym-profile-public>header h2{font-size:25px!important;letter-spacing:-.035em;line-height:1.4}
body main#main .gym-visit-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;align-items:start}
body main#main .gym-picker-label{display:flex;justify-content:space-between;margin:0 0 14px;font-size:13px;color:var(--visit-muted);line-height:1.6}
body main#main .gym-picker-label span{font-size:12px}
body main#main .gym-visit-layout .gym-branch-tabs{display:grid!important;grid-template-columns:1fr;gap:8px;margin:0}
body main#main .gym-visit-layout .gym-branch-tabs button{min-height:52px;padding:12px 16px!important;border:1px solid var(--visit-line);border-radius:10px;background:transparent;color:#dce3ec;font-size:16px;font-weight:600;box-shadow:none;text-align:left}
body main#main .gym-visit-layout .gym-branch-tabs button[aria-selected=true]{background:#e8c777!important;color:#181b20!important;border-color:#e8c777;font-weight:750}
body main#main .gym-branch-panels{min-width:0}
body main#main .gym-visit-layout .gym-branch-panel{border:1px solid var(--visit-line)!important;border-radius:18px;margin-top:0;padding:28px!important;background:var(--visit-surface)!important;box-shadow:none}
body main#main .gym-branch-panel[hidden]{display:none!important}
body main#main .gym-visit-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:0!important;background:none!important;border:0!important;padding:0!important;margin:0 0 26px!important}
body main#main .gym-visit-heading .section-kicker{font-size:11px;color:var(--visit-muted);letter-spacing:0;margin:0 0 8px}
body main#main .gym-visit-heading h4{font-size:28px;letter-spacing:-.035em;margin:0;line-height:1.25}
body main#main .gym-branch-share{min-height:44px;padding:8px 10px;flex-shrink:0;border:1px solid var(--visit-line);border-radius:8px;color:#dce3ec;background:transparent;font:inherit;font-size:12px;cursor:pointer}
body main#main .gym-branch-share[hidden]{display:none}
body main#main .gym-branch-panel dl{margin:0;gap:16px;grid-template-columns:1fr}
body main#main .gym-branch-panel dl>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:0;border:0}
body main#main .gym-branch-panel dt{color:var(--visit-muted);font-size:13px;line-height:1.8}
body main#main .gym-visit-layout .gym-branch-panel dl dd{font-size:16px!important;color:#eff3f8;line-height:1.65;margin:0!important}
body main#main .gym-visit-layout .gym-branch-panel dd.gym-branch-closed{font-size:14px!important;color:#d4dce6;padding:0;background:none}
body main#main .gym-visit-location{margin:24px 0;padding:22px 0;border-block:1px solid var(--visit-line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
body main#main .gym-visit-location>div{display:flex;gap:12px;min-width:0}
body main#main .gym-visit-location strong{display:block;font-size:16px;color:#eff3f8;line-height:1.5}
body main#main .gym-visit-location p{font-size:13px;line-height:1.65;margin:5px 0 0;color:var(--visit-muted)}
body main#main .gym-visit-step{font-size:22px;color:#e8c777;line-height:1.2}
body main#main .gym-visit-location .gym-branch-map{display:flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 18px;background:#e8c777!important;border:1px solid #e8c777;border-radius:10px;color:#181b20!important;font-size:15px;font-weight:750;text-decoration:none;white-space:nowrap}
body main#main .gym-visit-layout .gym-branch-panel .gym-visit-class dd{font-size:14px!important;line-height:1.75;color:#d4dce6}
body main#main .gym-branch-map span{color:inherit!important}
body main#main .gym-branch-panel .gym-branch-actions{display:flex;gap:12px 18px;align-items:center;flex-wrap:wrap;margin-top:24px}
body main#main .gym-branch-panel .gym-branch-actions .gym-branch-members{min-height:46px;padding:10px 16px;border:1px solid #677586;background:transparent!important;color:#f1f4f8!important;border-radius:10px;font-size:14px;font-weight:650}
body main#main .gym-visit-contact-note{font-size:12px;color:var(--visit-muted);line-height:1.6}
body main#main .gym-visit-source{font-size:12px;color:var(--visit-muted);line-height:1.7;margin:18px 0 0}
body main#main .gym-branch-share-status{font-size:13px;line-height:1.7;color:#f4d38c;overflow-wrap:anywhere}
body main#main .gym-branch-share-status:not(:empty){padding-top:14px}
body main#main .gym-branch-share-status input{display:block;width:100%;min-width:0;min-height:44px;padding:10px;margin-top:6px;border:1px solid var(--visit-line);border-radius:8px;background:#0e141d;color:#eff3f8;font-size:14px}
body main#main #gym-visit-panel .gym-section-nav{position:static!important;display:flex;flex-wrap:wrap;gap:8px 22px;background:none!important;border-block:0;border-bottom:1px solid var(--visit-line);border-radius:0;box-shadow:none;padding:18px 0;margin:12px 0 0;overflow:visible}
body main#main #gym-visit-panel .gym-section-nav a{padding:8px 0;min-height:44px;font-size:14px;background:none;border:0}
body main#main #gym-visit-panel .gym-section-nav a[hidden]{display:none!important}
body main#main #gym-visit-panel .gym-profile-branch-note{max-width:75ch;margin:12px 0 24px;font-size:12px;color:var(--visit-muted)}
body main#main #gym-visit-panel .gym-profile-segment:not(#gym-places){padding:24px 0!important;background:none!important;border:0;border-bottom:1px solid var(--visit-line);border-radius:0;box-shadow:none;margin-top:0}
body main#main #gym-visit-panel .gym-profile-grid{gap:0 32px;background:none;padding:0}
body main#main #gym-visit-panel .gym-profile-grid>div{border:0;border-radius:0;background:none;padding:12px 0;box-shadow:none}
body main#main #gym-visit-panel .gym-profile-photos{max-width:720px;margin:24px 0}
body main#main #gym-visit-panel .gym-channel-card{box-shadow:none;background:none;border-radius:10px}
body main#main:has(.gym-profile-public,.gym-public-profile) :is(#gym-overview,#gym-places,#gym-programs,#gym-media,#gym-contact,#gym-channels){scroll-margin-top:18px}
body main#main .gym-public-profile{border:0!important;border-top:1px solid var(--visit-line)!important;border-radius:0;background:none!important;padding:24px 0!important;box-shadow:none}
body main#main:has(.gym-public-profile) .directory-source-panel{border:0;border-top:1px solid var(--visit-line);border-radius:0;background:none;padding:24px 0;font-size:13px}
body main#main .gym-visit-layout :is(button,a,input):focus-visible{outline:2px solid #f4d38c;outline-offset:4px}
@media(max-width:760px){
 body main#main .gym-visit-layout{grid-template-columns:1fr;gap:14px}
 body main#main .gym-visit-layout .gym-branch-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 body main#main .gym-visit-layout .gym-branch-tabs button{min-height:48px;padding:10px 3px!important;text-align:center;font-size:14px}
 body main#main .gym-picker-label{margin-bottom:10px}
 body main#main .gym-visit-layout .gym-branch-panel{padding:20px!important;border-radius:14px}
 body main#main .gym-visit-heading{margin-bottom:22px!important}
 body main#main .gym-visit-heading h4{font-size:26px}
 body main#main .gym-visit-location{grid-template-columns:1fr;gap:16px;margin:20px 0;padding:20px 0}
 body main#main .gym-visit-location .gym-branch-map{grid-row:1}
 body main#main .gym-branch-panel dl>div{grid-template-columns:1fr;gap:5px}
 body main#main .gym-branch-panel dd{font-size:16px}
 body main#main #gym-visit-panel .gym-profile-public>header h2{font-size:23px!important}
 body main#main .gym-branch-panel .gym-branch-actions{margin-top:20px;gap:10px}
 body main#main .gym-visit-contact-note{flex-basis:100%}
}
@media(min-width:360px) and (max-width:760px){body main#main .gym-branch-panel dl>div{grid-template-columns:72px minmax(0,1fr);gap:10px}}

body main#main .gym-visit-layout .gym-branch-tabs:has(>button:only-child){grid-template-columns:1fr}

body main#main #gym-visit-panel{margin-block:16px}

body main#main .gym-visit-source [data-gym-report]{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-size:14px;color:var(--gold,#edc76f);text-decoration:underline;text-underline-offset:4px}
