/* VoxCourt V44 — unified mobile-first polish */
:root{--vc44-touch:48px;--vc44-gap:14px;--vc44-radius:18px;--vc44-shadow:0 10px 28px rgba(15,45,62,.08)}
html{box-sizing:border-box;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
*,*:before,*:after{box-sizing:inherit}
body{overflow-x:hidden}
button,a,input,select,textarea{touch-action:manipulation}
button,input,select,textarea{font-size:16px}
button{min-height:44px}
img,video{max-width:100%}

/* Public Players */
.vc-players-page .player-page-actions.shell{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.vc-players-page .player-page-actions.shell>*{margin:0!important}
.vc-players-page .sport-filters{scrollbar-width:none}
.vc-players-page .sport-filters::-webkit-scrollbar{display:none}
.vc-players-page .player-card{cursor:pointer}

/* Account dashboard */
.vc-account-hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.vc-account-hero-actions .primary{white-space:nowrap}

@media(max-width:900px){
  /* Home */
  .vc-home-prod .vc-home-content{padding-inline:12px!important}
  .vc-home-prod .vc-home-hero{min-height:560px!important;border-radius:22px!important;overflow:hidden!important}
  .vc-home-prod .vc-home-hero__copy{left:20px!important;right:20px!important;bottom:24px!important;max-width:none!important}
  .vc-home-prod .vc-home-hero__copy h1{font-size:clamp(38px,11vw,64px)!important;line-height:.92!important}
  .vc-home-prod .vc-home-hero__copy p{font-size:16px!important;line-height:1.45!important;max-width:34rem!important}
  .vc-home-prod .vc-home-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .vc-home-prod .vc-home-actions a{min-height:50px!important;padding:0 14px!important;justify-content:center!important;text-align:center!important}
  .vc-home-prod .vc-feature-strip{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:10px!important;padding-bottom:4px!important;scrollbar-width:none!important}
  .vc-home-prod .vc-feature-strip::-webkit-scrollbar{display:none!important}
  .vc-home-prod .vc-feature-strip article{flex:0 0 min(78vw,300px)!important;scroll-snap-align:start!important;min-height:92px!important}
  .vc-home-prod .vc-sport-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}
  .vc-home-prod .vc-home-bottom{grid-template-columns:1fr!important;gap:16px!important}
  .vc-home-prod .vc-how-grid{grid-template-columns:1fr!important}
  .vc-home-prod .vc-finder-panel{padding:18px!important}

  /* Find court */
  .court-page main{padding-inline:12px!important}
  .court-hero{grid-template-columns:1fr!important;gap:16px!important;padding-top:8px!important}
  .court-title{font-size:clamp(38px,10vw,58px)!important}
  .court-intro{font-size:16px!important}
  .sport-choice{display:flex!important;overflow-x:auto!important;gap:8px!important;scrollbar-width:none!important;padding-bottom:3px!important}
  .sport-choice::-webkit-scrollbar{display:none!important}
  .sport-choice button{flex:0 0 auto!important;min-height:46px!important}
  .court-selector-card{padding:18px!important;border-radius:20px!important}
  .court-select-grid{grid-template-columns:1fr!important;gap:12px!important}
  .court-field select,.court-open{min-height:50px!important}

  /* Players */
  .vc-players-page .shell{width:calc(100% - 24px)!important;max-width:none!important}
  .vc-players-page .player-page-actions.shell{padding:0 0 4px!important;gap:10px!important}
  .vc-players-page .player-page-actions.shell button{flex:1 1 160px;min-height:50px!important}
  .vc-players-page .page{padding-top:10px!important}
  .vc-players-page .hero{display:block!important;padding:22px 16px!important;border-radius:20px!important}
  .vc-players-page .hero h1{font-size:clamp(38px,11vw,58px)!important;line-height:.95!important}
  .vc-players-page .hero p{font-size:15px!important;line-height:1.48!important}
  .vc-players-page .pass-card{display:none!important}
  .vc-players-page .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .vc-players-page .hero-actions button{min-height:50px!important;width:100%!important}
  .vc-players-page .directory{padding:18px 12px!important;border-radius:20px!important}
  .vc-players-page .section-head{display:block!important}
  .vc-players-page .search-wrap{width:100%!important;margin-top:14px!important}
  .vc-players-page .search-wrap input{width:100%!important;min-height:50px!important}
  .vc-players-page .sport-filters{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:8px!important;margin-inline:-2px!important;padding:2px 2px 6px!important}
  .vc-players-page .sport-filters button{flex:0 0 auto!important;min-height:44px!important;padding-inline:14px!important}
  .vc-players-page .players-grid{grid-template-columns:1fr!important;gap:12px!important}
  .vc-players-page .player-card{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;gap:12px!important;padding:14px!important;border-radius:18px!important}
  .vc-players-page .player-card-top{display:block!important}
  .vc-players-page .player-photo,.vc-players-page .player-fallback{width:72px!important;height:72px!important;border-radius:18px!important}
  .vc-players-page .player-id{display:none!important}
  .vc-players-page .player-card-body{padding:0!important;min-width:0!important}
  .vc-players-page .player-card-body h3{font-size:19px!important;margin:0 0 4px!important}
  .vc-players-page .sport-tags{display:flex!important;overflow:hidden!important;gap:5px!important;flex-wrap:wrap!important}
  .vc-players-page .player-meta{font-size:13px!important}
  .vc-players-page .profile-modal{width:calc(100% - 16px)!important;max-width:none!important;max-height:92dvh!important;margin:auto auto 8px!important;border-radius:22px 22px 16px 16px!important}
  .vc-players-page .profile-buttons{display:grid!important;grid-template-columns:1fr!important}
  .vc-players-page footer{margin-top:26px!important}

  /* Account */
  .vc-account-shell{max-width:none!important;padding:10px 10px 28px!important}
  .vc-account-topbar{padding:10px 12px!important;border-radius:16px!important;min-height:58px!important}
  .vc-account-brand-fallback{font-size:23px!important}
  .vc-account-toplinks{gap:6px!important}
  .vc-account-toplinks a,.vc-account-toplinks button{min-height:42px!important;padding:0 10px!important;font-size:14px!important}
  .vc-account-hero{margin-top:10px!important;padding:16px!important;border-radius:18px!important;align-items:center!important}
  .vc-account-hero h1{font-size:28px!important;margin-bottom:5px!important}
  .vc-account-hero p,.vc-account-hero .badge{display:none!important}
  .vc-account-hero-actions{margin-left:auto!important}
  .vc-account-hero-actions .primary{min-height:46px!important;padding-inline:13px!important}
  .vc-auth-card{margin-top:10px!important;max-width:none!important;padding:16px!important;border-radius:18px!important}
  .vc-auth-tabs{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;gap:8px!important;scrollbar-width:none!important}
  .vc-auth-tabs::-webkit-scrollbar{display:none!important}
  .vc-auth-tabs button{flex:0 0 auto!important;min-height:44px!important;white-space:nowrap!important}
  .vc-app-shell{margin-top:10px!important}
  .vc-grid{display:block!important}
  .vc-sidebar{display:block!important}
  .vc-sidebar-card{border-radius:18px!important;padding:12px!important;margin-bottom:10px!important;box-shadow:none!important}
  .vc-sidebar-card:first-child h3{font-size:15px!important;margin-bottom:8px!important}
  .vc-profile-list{display:flex!important;overflow-x:auto!important;gap:8px!important;scrollbar-width:none!important}
  .vc-profile-list::-webkit-scrollbar{display:none!important}
  .vc-profile-list button{flex:0 0 min(82vw,300px)!important;min-height:70px!important;padding:10px!important}
  .vc-sidebar-card:nth-child(2){position:sticky!important;top:6px!important;z-index:20!important;background:rgba(237,243,246,.96)!important;border:0!important;padding:4px 0 8px!important;backdrop-filter:blur(10px)!important}
  .vc-sidebar-card:nth-child(2)>h3{display:none!important}
  .vc-nav{display:flex!important;overflow-x:auto!important;gap:7px!important;scrollbar-width:none!important;padding:2px!important}
  .vc-nav::-webkit-scrollbar{display:none!important}
  .vc-nav button{flex:0 0 auto!important;width:auto!important;min-height:44px!important;padding:0 13px!important;white-space:nowrap!important;font-size:14px!important;border-radius:999px!important}
  .vc-panel{padding:16px!important;border-radius:18px!important;box-shadow:none!important}
  .vc-panel h2{font-size:25px!important}
  .vc-panel .muted{font-size:14px!important;margin-bottom:14px!important}
  .vc-overview-card{grid-template-columns:80px minmax(0,1fr)!important;padding:13px!important;border-radius:16px!important;gap:12px!important}
  .vc-overview-photo{width:80px!important;height:80px!important;border-radius:17px!important;font-size:26px!important}
  .vc-overview-card h3{font-size:22px!important}
  .vc-stats{gap:6px!important;margin:7px 0!important}
  .vc-stats span{font-size:12px!important;padding:6px 8px!important}
  .vc-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .vc-actions button{min-height:46px!important}
  .vc-form-grid,.vc-privacy-grid,.sport-fields{grid-template-columns:1fr!important;gap:11px!important}
  .vc-photo-row{grid-template-columns:84px minmax(0,1fr)!important;gap:12px!important}
  .vc-photo-box{width:84px!important;height:84px!important;border-radius:16px!important}
  .sport-edit-card{padding:13px!important;border-radius:16px!important}
  .sport-toggle{min-height:42px!important;font-size:16px!important}
  .sport-toggle input{width:22px!important;height:22px!important}
  .vc-pass-wrap{grid-template-columns:1fr!important}
  .vc-pass-box{max-width:300px!important;margin:auto!important}
  .form-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .form-actions button{width:100%!important;min-height:48px!important}
  .vc-danger .vc-logout-row{display:grid!important;grid-template-columns:1fr!important}

  /* Bookings */
  .vc-bookings-page main{padding-inline:10px!important}
  .vc-bookings-page .booking-contextbar{width:calc(100% - 20px)!important;margin:0 auto 8px!important;display:flex!important;justify-content:flex-end!important;gap:8px!important}
  .vc-bookings-page .login-view,.vc-bookings-page .auth-view,.vc-bookings-page .workspace{width:100%!important;max-width:none!important;padding-inline:0!important}
  .vc-bookings-page .hero{padding:18px 6px!important;margin-top:8px!important}
  .vc-bookings-page .hero h1{font-size:clamp(34px,10vw,52px)!important;line-height:1!important}
  .vc-bookings-page .hero p{font-size:15px!important;line-height:1.45!important}
  .vc-bookings-page .role-grid{grid-template-columns:1fr!important;gap:12px!important}
  .vc-bookings-page .role-card{padding:18px!important;border-radius:18px!important}
  .vc-bookings-page .trial-warning{font-size:12px!important;line-height:1.35!important}
  .vc-bookings-page .page-head{display:flex!important;align-items:flex-start!important;gap:10px!important;flex-wrap:wrap!important;padding-top:8px!important}
  .vc-bookings-page .page-head h1{font-size:28px!important}
  .vc-bookings-page .page-head>button{width:100%!important;min-height:48px!important}
  .vc-bookings-page .club-switch-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .vc-bookings-page .kpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .vc-bookings-page .kpi{min-height:84px!important;padding:12px!important}
  .vc-bookings-page .segmented{display:flex!important;overflow-x:auto!important;gap:6px!important;scrollbar-width:none!important;position:sticky!important;top:6px!important;z-index:12!important;background:rgba(244,249,250,.96)!important;padding:6px 0!important}
  .vc-bookings-page .segmented::-webkit-scrollbar{display:none!important}
  .vc-bookings-page .segmented button{flex:0 0 auto!important;min-height:44px!important;white-space:nowrap!important}
  .vc-bookings-page .filters,.vc-bookings-page .customer-filter{grid-template-columns:1fr!important;gap:8px!important}
  .vc-bookings-page .filters .square{min-height:44px!important}
  .vc-bookings-page .court-columns{display:flex!important;overflow-x:auto!important;gap:10px!important;scroll-snap-type:x mandatory!important;padding-bottom:8px!important}
  .vc-bookings-page .court-day{flex:0 0 min(88vw,390px)!important;scroll-snap-align:start!important}
  .vc-bookings-page .court-grid,.vc-bookings-page .settings-grid{grid-template-columns:1fr!important}
  .vc-bookings-page .request-card{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .vc-bookings-page .request-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .vc-bookings-page .availability-court{padding:14px!important;border-radius:18px!important}
  .vc-bookings-page .availability-court-head{display:block!important}
  .vc-bookings-page .slot-pills{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;gap:7px!important;scrollbar-width:none!important}
  .vc-bookings-page .slot-pill{flex:0 0 auto!important;min-width:68px!important;min-height:44px!important}
  .vc-bookings-page dialog.sheet{width:100%!important;max-width:none!important;max-height:94dvh!important;margin:auto 0 0!important;border-radius:22px 22px 0 0!important;padding:0!important}
  .vc-bookings-page dialog.sheet form{padding:16px!important;max-height:94dvh!important;overflow:auto!important}
  .vc-bookings-page .form-grid.two{grid-template-columns:1fr!important}
  .vc-bookings-page .wide{grid-column:auto!important}
  .vc-bookings-page .sheet-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .vc-bookings-page .sheet-actions button{width:100%!important;min-height:48px!important}

  /* Members / Club management */
  .vc-members-page .shell{width:calc(100% - 20px)!important;max-width:none!important;padding-top:6px!important}
  .vc-members-page .hero{padding:20px 4px 14px!important}
  .vc-members-page .hero h1{font-size:clamp(34px,10vw,50px)!important;line-height:1!important}
  .vc-members-page .hero p{font-size:15px!important;line-height:1.45!important}
  .vc-members-page .card{padding:16px!important;border-radius:18px!important}
  .vc-members-page .steps{display:flex!important;overflow-x:auto!important;gap:8px!important;scrollbar-width:none!important}
  .vc-members-page .step{flex:0 0 auto!important;min-width:54px!important}
  .vc-members-page .grid-two,.vc-members-page .identity-overview,.vc-members-page .member-kit{grid-template-columns:1fr!important}
  .vc-members-page .court-row{grid-template-columns:40px 1fr!important;gap:8px!important}
  .vc-members-page .actions,.vc-members-page .final-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .vc-members-page .actions button,.vc-members-page .actions a,.vc-members-page .final-actions button,.vc-members-page .final-actions a{width:100%!important;min-height:48px!important}
  .vc-members-page .section-note{font-size:13px!important;line-height:1.4!important}
  .vc-members-page .danger-zone{padding:14px!important;border-radius:18px!important}

  /* Matches */
  .vc-matches-page .site-shell{width:calc(100% - 20px)!important;max-width:none!important}
  .vc-matches-page main{padding-top:4px!important}
  .vc-matches-page .archive-hero{grid-template-columns:1fr!important;gap:14px!important;padding:18px 4px!important}
  .vc-matches-page .archive-hero h1{font-size:clamp(36px,10vw,54px)!important;line-height:.98!important}
  .vc-matches-page .archive-panel{padding:14px!important;border-radius:18px!important}
  .vc-matches-page .archive-toolbar{grid-template-columns:1fr!important;gap:10px!important}
  .vc-matches-page .archive-toolbar input,.vc-matches-page .archive-toolbar select,.vc-matches-page .archive-toolbar button{min-height:48px!important}
  .vc-matches-page .matches-grid{grid-template-columns:1fr!important;gap:12px!important}
  .vc-matches-page .match-card{border-radius:18px!important}
  .vc-matches-page .match-hero{padding:18px!important;border-radius:18px!important}
  .vc-matches-page .match-tabs{display:flex!important;overflow-x:auto!important;gap:6px!important;scrollbar-width:none!important;position:sticky!important;top:6px!important;z-index:10!important;background:rgba(245,249,250,.96)!important;padding:6px 0!important}
  .vc-matches-page .match-tab{flex:0 0 auto!important;min-height:44px!important;white-space:nowrap!important}
  .vc-matches-page .overview-grid,.vc-matches-page .highlights-grid{grid-template-columns:1fr!important}
  .vc-matches-page .timeline-item{grid-template-columns:1fr!important}
}

@media(max-width:520px){
  .vc-home-prod .vc-home-actions,.vc-players-page .hero-actions,.vc-actions{grid-template-columns:1fr!important}
  .vc-home-prod .vc-sport-grid{grid-template-columns:1fr!important}
  .vc-bookings-page .kpis{grid-template-columns:1fr 1fr!important}
  .vc-account-toplinks a{font-size:0!important;min-width:44px!important}.vc-account-toplinks a:before{content:'←';font-size:20px!important}
}
