/* STEP 14.12 — final responsive/mobile web polish */
html,body{max-width:100%;overflow-x:hidden}.fs-main-navbar .container-xl,.fs-secondary-navbar .container-xl{min-width:0}.page-body img,.card img{max-width:100%}.table-responsive{border-radius:inherit}.fs-responsive-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.fs-responsive-scroll>*{min-width:max-content}
@media(max-width:991.98px){
  .page-body{padding-top:.75rem}.page-body>.container-xl{padding-left:.75rem;padding-right:.75rem}
  .fs-main-navbar .container-xl{padding-left:.75rem;padding-right:.75rem;gap:.35rem}.fs-brand{min-width:0}.fs-brand-logo{max-height:40px}.fs-header-actions{gap:.15rem;margin-left:auto}.fs-header-control{min-width:38px;min-height:38px;display:flex;align-items:center;justify-content:center}
  .fs-secondary-navbar .navbar{padding:.25rem 0}.fs-secondary-navbar .navbar-nav{gap:.1rem}.fs-secondary-navbar .nav-link{padding:.65rem .75rem}
  .row.g-4{--tblr-gutter-x:1rem}.card-body.p-4,.card-body.p-lg-5{padding:1rem!important}
  .fs-vip-day-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.fs-vip-day-tab{min-width:0!important;padding:.75rem .4rem!important;text-align:center}
  .fs-vip-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fs-vip-league-checks{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fs-fixture-card,.fs-vip-match,.fs-ticket-card{min-width:0}.fs-fixture-card .card-body,.fs-vip-match .card-body{padding:1rem}
  .nav-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.nav-tabs .nav-link{white-space:nowrap}
  .table{font-size:.875rem}.table>:not(caption)>*>*{padding:.55rem .45rem}
}
@media(max-width:767.98px){
  .fs-sticky-header{position:sticky;top:0;z-index:1030}.fs-main-navbar{min-height:58px}.fs-main-navbar .navbar-toggler{order:0;margin:0;padding:.4rem}.fs-brand{order:1;margin-right:auto;padding-right:.25rem!important}.fs-brand-logo-wrap{width:38px}.fs-brand-logo{max-height:36px}.fs-header-actions{order:2!important}.fs-header-actions .dropdown-menu{max-width:calc(100vw - 1.5rem)}
  .fs-secondary-navbar .navbar-collapse{max-height:calc(100vh - 60px);overflow-y:auto}.fs-secondary-navbar .navbar-nav{padding:.35rem .5rem .65rem}.fs-secondary-navbar .nav-link{border-radius:.5rem}.fs-secondary-navbar .nav-item.active .nav-link{background:var(--tblr-primary-lt)}
  .fs-header-vip-rate{display:none!important}.fs-header-search{display:none!important}
  .page-body>.container-xl{padding-left:.5rem;padding-right:.5rem}.card{border-radius:.65rem}.card-body{padding:.9rem}
  h1,.h1{font-size:1.55rem;line-height:1.15}h2,.h2{font-size:1.3rem}h3,.h3{font-size:1.12rem}
  .breadcrumb{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:.2rem;scrollbar-width:none}.breadcrumb::-webkit-scrollbar{display:none}
  .fs-vip-day-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.fs-vip-day-tabs .fs-vip-day-tab:nth-child(3){grid-column:auto}.fs-vip-summary-grid{grid-template-columns:1fr 1fr!important;gap:.5rem!important}.fs-vip-summary .card-body{padding:.75rem}.fs-vip-summary-value{font-size:1.25rem!important}.fs-vip-league-checks{grid-template-columns:1fr!important;max-height:320px;overflow-y:auto}.fs-vip-league-check{padding:.7rem!important}
  .fs-vip-match-header,.fs-fixture-league-head{align-items:flex-start!important;gap:.5rem!important}.fs-vip-match-teams,.fs-fixture-teams{gap:.4rem!important}.fs-vip-team-name,.fs-fixture-team-name{font-size:.92rem;line-height:1.2;overflow-wrap:anywhere}.fs-vip-team-logo,.fs-fixture-team-logo{width:34px!important;height:34px!important;object-fit:contain}
  .fs-vip-tip{padding:.85rem!important}.fs-vip-tip-title{font-size:1rem!important}.fs-vip-tip-score{position:static!important;margin-top:.6rem;display:inline-flex!important}.fs-vip-history-grid{grid-template-columns:1fr!important}
  .fs-ticket-generator-layout,.fs-ticket-layout{display:block!important}.fs-ticket-generator-sidebar{position:static!important;width:auto!important;margin-bottom:1rem}.fs-ticket-row{grid-template-columns:32px minmax(0,1fr)!important;gap:.5rem!important}.fs-ticket-row>*:last-child{grid-column:2;text-align:left!important}.fs-ticket-actions{display:grid!important;grid-template-columns:1fr;gap:.5rem}.fs-ticket-actions .btn{width:100%}
  .table-responsive{margin-left:-.25rem;margin-right:-.25rem;width:calc(100% + .5rem)}.table{min-width:680px}.table.fs-mobile-compact{min-width:560px}
  .list-group-item{padding:.75rem}.btn-lg{padding:.65rem 1rem;font-size:1rem}.form-select,.form-control{min-height:42px}
  .offcanvas{max-width:88vw}.dropdown-menu{font-size:.95rem}
  .fs-auth-chip{padding:.25rem!important}.fs-auth-avatar{width:34px!important;height:34px!important}.fs-notification-badge{top:1px!important;right:0!important}
}
@media(max-width:479.98px){
  .fs-main-navbar .container-xl{padding-left:.4rem;padding-right:.4rem}.fs-brand-logo-wrap{width:34px}.fs-header-control{min-width:34px;min-height:36px;padding:.35rem!important}.fs-header-actions{gap:0}
  .fs-vip-day-tabs{grid-template-columns:1fr 1fr}.fs-vip-summary-grid{grid-template-columns:1fr!important}.fs-vip-criteria{display:flex;overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:.3rem}.fs-vip-criteria>*{white-space:nowrap;flex:0 0 auto}
  .row.g-2>[class*="col-"]{min-width:0}.fs-mobile-stack{flex-direction:column!important;align-items:stretch!important}.fs-mobile-stack>.btn{width:100%}
  .card-body{padding:.75rem}.page-body>.container-xl{padding-left:.4rem;padding-right:.4rem}
}
/* Stable wrapping for long football names/data across every viewport */
.fs-team-name,.fs-league-name,.fs-country-name,.fs-ticket-match,.fs-notification-title,.fs-auth-copy{min-width:0;overflow-wrap:anywhere}.badge{white-space:normal}.btn{max-width:100%}
