/* V183 — responsive consolidation and club-following interface. Loaded last. */
html{overflow-x:hidden;scroll-padding-top:148px}
body{min-width:0;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img,svg,video,canvas{max-width:100%}
button,a,summary,select,input{touch-action:manipulation}

/* Club favorites, on match pages and in the favorites hub. */
#result .team-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
#result .team-away .team-copy{align-items:flex-end}
#result .club-favorite-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;margin-top:3px;padding:5px 9px;border:1px solid rgba(8,111,83,.2);border-radius:999px;background:rgba(255,255,255,.42);color:#17604f;font:inherit;font-size:11px;font-weight:750;line-height:1;cursor:pointer;backdrop-filter:blur(5px)}
#result .club-favorite-toggle>span:first-child{font-size:17px;line-height:1;transition:transform .18s ease}
#result .club-favorite-toggle[aria-pressed="true"]{border-color:rgba(210,45,76,.25);background:rgba(255,245,247,.58);color:#c62b4d}
#result .club-favorite-toggle[aria-pressed="true"]>span:first-child{transform:scale(1.08)}
.favorite-clubs{margin:0 0 22px;padding:22px;border:1px solid #dfeae7;border-radius:20px;background:linear-gradient(135deg,#fff,#f2fbf7);box-shadow:0 4px 18px rgba(20,61,73,.05)}
.favorite-clubs-head,.favorite-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.favorite-clubs-head h2,.favorite-section-title h2{margin:3px 0 0;color:#12354a;font-size:22px;letter-spacing:-.025em}
.favorite-clubs-head>span{padding:6px 10px;border-radius:999px;background:#e8f7ef;color:#087c50;font-size:12px;font-weight:750}
.favorite-club-list{display:flex;gap:10px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin;scroll-snap-type:x proximity}
.favorite-club-chip{display:grid;grid-template-columns:42px minmax(95px,1fr) auto;align-items:center;gap:10px;flex:0 0 auto;min-width:245px;padding:10px;border:1px solid #dce9e5;border-radius:14px;background:#fff;scroll-snap-align:start}
.favorite-club-chip img{width:42px;height:42px;object-fit:contain}
.favorite-club-chip strong{font-size:14px;overflow-wrap:anywhere}
.favorite-club-chip button{min-height:38px;padding:7px 9px;border:0;border-radius:9px;background:#fff1f3;color:#bd2c49;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.favorite-club-status{margin:7px 0 12px;color:#617a76;font-size:13px;line-height:1.5}
.favorite-club-fixtures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.favorite-club-fixture{display:grid;gap:11px;padding:14px;border:1px solid #dfe9e7;border-radius:15px;background:#fff}
.favorite-club-fixture-top,.favorite-club-fixture-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.favorite-club-fixture .saved-competition{font-size:12px}
.favorite-club-fixture .saved-competition img{width:26px;height:26px;object-fit:contain}
.club-cache-state{padding:5px 8px;border-radius:999px;background:#f2f5f6;color:#667b82;font-size:10px;font-weight:750;white-space:nowrap}
.club-cache-state.is-loaded{background:#e5f8ed;color:#087748}
.favorite-club-match{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:8px;text-align:center}
.favorite-club-match .saved-team{gap:5px}
.favorite-club-match .saved-team img{width:45px;height:45px;object-fit:contain}
.favorite-club-match .saved-team strong{font-size:13px;line-height:1.2}
.favorite-club-fixture-bottom{align-items:flex-end;color:#5f767c;font-size:12px}
.favorite-club-fixture-bottom small{flex:1;color:#087753;text-align:center;overflow-wrap:anywhere}
.favorite-club-fixture-bottom a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 10px;border:1px solid #b9d9ce;border-radius:9px;color:#087a53;font-size:12px;font-weight:750;text-decoration:none;text-align:center}
.favorite-section-title{align-items:start;margin:26px 3px 14px}
.favorite-section-title p{max-width:460px;margin:4px 0 0;color:#688078;font-size:13px;text-align:right}

@media(max-width:760px){
  html{scroll-padding-top:126px}
  body.public-app .app-topbar,.favorites-page .app-topbar{position:sticky!important;top:0;z-index:1000!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(14px)}
  body.public-app .topbar-inner,.favorites-page .topbar-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:8px 10px 0!important;gap:7px 8px!important}
  body.public-app .brand-lockup,.favorites-page .brand-lockup{grid-column:1;grid-row:1;gap:7px!important;font-size:18px!important;letter-spacing:-.5px!important;overflow:hidden}
  body.public-app .brand-ball,.favorites-page .brand-ball,body.public-app .brand-ball svg,.favorites-page .brand-ball svg{width:34px!important;height:34px!important;flex:0 0 34px!important}
  .version-pill{display:none!important}
  body.public-app .topbar-actions,.favorites-page .topbar-actions{grid-column:2;grid-row:1;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;margin:0!important;min-width:0!important;flex-wrap:nowrap!important}
  body.public-app .topbar-actions .home-action-button,body.public-app .topbar-actions .help-chip,.favorites-page .topbar-actions .help-chip{display:none!important}
  body.public-app .topbar-button,.favorites-page .topbar-button{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;min-height:44px!important;max-width:150px;padding:7px 9px!important;border-radius:10px!important;font-size:11px!important;line-height:1.12;text-align:center;white-space:normal!important}
  body.public-app .topbar-button svg,.favorites-page .topbar-button svg{width:16px!important;height:16px!important;flex:0 0 16px}
  .country-menu>summary{min-width:58px;min-height:44px!important;max-width:86px!important;padding:7px!important;font-size:11px!important}
  body.public-app .home-nav,.favorites-page .home-nav{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;justify-content:stretch!important;width:100%!important;gap:0!important;margin:0!important;padding:0!important;overflow:visible!important;border-top:1px solid #eef2f3}
  body.public-app .home-nav a,.favorites-page .home-nav a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:43px!important;height:43px!important;padding:5px 2px!important;border-bottom-width:2px!important;font-size:11px!important;line-height:1.1;text-align:center;white-space:normal!important}
  .country-dropdown{position:fixed!important;z-index:1500!important;top:56px!important;left:8px!important;right:8px!important;width:auto!important;max-height:calc(100dvh - 64px)!important;padding:11px!important;border-radius:14px!important;overscroll-behavior:contain}
  .country-dropdown input{min-height:44px!important;font-size:16px!important}
  .country-option,.country-detect{min-height:44px!important}
  .help-popover{position:fixed!important;top:58px!important;left:8px!important;right:8px!important;width:auto!important;max-height:calc(100dvh - 70px);overflow:auto}

  body.public-app .shell{width:100%!important;max-width:100%!important;margin:0!important;padding:10px 10px 42px!important}
  body.public-app .homepage-search-card{width:100%!important;min-height:0!important;margin:0!important;padding:24px 14px 16px!important;border-radius:18px!important}
  .homepage-search-card .search-copy{padding:0!important}
  .homepage-search-card .search-copy h1{margin:0!important;font-size:clamp(28px,8.5vw,38px)!important;line-height:1.03!important;letter-spacing:-.045em!important}
  .homepage-search-card .search-copy p{margin-top:10px!important;font-size:14px!important;line-height:1.48!important}
  .homepage-search-form{margin-top:20px!important;padding:0!important}
  .homepage-search-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .home-search-field select,.home-analyze-button,.fixture-selection-visual{width:100%!important;min-width:0!important;height:56px!important;min-height:56px!important}
  .home-search-field select{font-size:16px!important}
  .fixture-selection-visual{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important;padding:0 8px!important}
  .fixture-visual-team{min-width:0!important}
  .fixture-visual-team b{font-size:11px!important;line-height:1.16!important;white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important}
  .fixture-visual-team img{width:30px!important;height:30px!important;object-fit:contain!important}
  .home-search-footer{display:block!important;margin-top:12px!important;text-align:center!important}
  .home-search-footer>*{max-width:100%!important}
  .home-benefits{grid-template-columns:minmax(0,1fr)!important;gap:7px!important;margin-top:14px!important}
  .home-benefits li{padding:10px!important}

  #analysisLoadingPanel{width:100%!important;margin:0!important;padding:0!important}
  #analysisLoadingPanel .loading-stadium{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:11px!important;padding:17px 11px!important;border-radius:17px!important}
  #analysisLoadingPanel .loading-center{grid-column:1/-1!important;grid-row:1!important}
  #analysisLoadingPanel .loading-team{grid-row:2!important;min-width:0!important;gap:6px!important}
  #analysisLoadingPanel .loading-team-home{grid-column:1!important}.loading-team-away{grid-column:2!important}
  #analysisLoadingPanel .loading-team img{width:54px!important;height:54px!important;object-fit:contain!important}
  #analysisLoadingPanel .loading-team strong{font-size:12px!important;line-height:1.2!important;overflow-wrap:anywhere!important}
  #analysisLoadingPanel .loading-radar{width:82px!important;height:82px!important}
  #analysisLoadingPanel .loading-brand-logo{width:45px!important;height:45px!important}
  #analysisLoadingPanel .loading-title{margin-top:9px!important;font-size:12px!important}
  #analysisLoadingPanel .loading-center h2{font-size:18px!important;line-height:1.2!important;overflow-wrap:anywhere!important}
  #analysisLoadingPanel .loading-subtitle{display:none!important}
  #analysisLoadingPanel .loading-progress-area{grid-column:1/-1!important;grid-row:3!important;margin:3px 0 0!important}
  #analysisLoadingPanel .loading-progress-meta{font-size:10px!important}
  #analysisLoadingPanel .loading-cancel-row{display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;gap:6px!important}
  #analysisLoadingPanel .cancel-analysis-button{width:100%!important;min-height:44px!important;padding:8px 10px!important;white-space:normal!important}
  #analysisLoadingPanel .loading-steps{display:none!important}
  #analysisLoadingPanel .loading-extra{margin-top:8px!important}
  #analysisLoadingPanel .loading-info-grid{grid-template-columns:minmax(0,1fr)!important}

  #result .match-hero{min-height:0!important;padding:62px 10px 16px!important;border-radius:16px!important;grid-template-rows:auto minmax(150px,auto) auto auto auto!important}
  #result .favorite-hero{top:11px!important;left:10px!important;min-width:44px!important;min-height:44px!important;padding:7px 10px!important;background:rgba(255,255,255,.38)!important;backdrop-filter:blur(6px)}
  #result .favorite-hero>span:last-child{display:none!important}
  #result .hero-share{top:11px!important;right:10px!important;width:auto!important}
  #result .hero-share #shareMatch{min-width:44px!important;min-height:44px!important;padding:8px!important;background:rgba(255,255,255,.38)!important;backdrop-filter:blur(6px)}
  #result .hero-share #shareMatch span,#result .hero-share #shareMatchStatus,#result .hero-share #shareMatchUrl{display:none!important}
  #result .competition-lockup{margin:0 auto 7px!important}
  #result .competition-logo{width:42px!important;height:42px!important}
  #result #competition{font-size:11px!important;text-align:center}
  #result #matchName{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;gap:5px!important;min-height:150px!important;margin-bottom:8px!important;font-size:clamp(15px,4.5vw,21px)!important}
  #result #matchName .team-unit,#result #matchName .team-away{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;text-align:center!important}
  #result #matchName .team-copy,#result #matchName .team-away .team-copy{align-items:center!important;gap:5px!important}
  #result #matchName .team-logo-stack{width:68px!important;max-width:68px!important;flex:0 0 auto!important}
  #result #matchName .team-crest{width:68px!important;height:68px!important}
  #result #matchName .match-vs{width:28px!important;font-size:17px!important}
  #result #matchName .team-name{line-height:1.15!important}
  #result .club-favorite-toggle{min-height:32px;margin:0;padding:5px 8px;font-size:10px}
  #result .club-favorite-toggle>span:first-child{font-size:16px}
  #result #dateLine{gap:4px 8px!important;margin-top:4px!important;font-size:11px!important;text-align:center}
  #result .hero-insights{gap:5px!important;margin-top:7px!important;font-size:10px!important}
  #result .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-bottom:11px!important}
  #result .dashboard-stats .stat-card{min-height:68px!important;gap:8px!important;padding:9px!important}
  #result .dashboard-stats .stat-icon{width:29px!important;height:29px!important;flex:0 0 29px!important}
  #result .dashboard-stats strong{font-size:20px!important}
  #result .dashboard-stats .stat-card>div>span{font-size:10px!important;line-height:1.25!important;overflow-wrap:anywhere}
  #result .match-results-layout{display:flex!important;flex-direction:column!important;gap:11px!important}
  #result .workspace-card,#result .match-sidebar{width:100%!important;min-width:0!important}
  #result .match-sidebar{grid-template-columns:minmax(0,1fr)!important}
  #result .public-tabs,#result .details-navigation{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 5px!important;overscroll-behavior-inline:contain}
  #result .public-tabs::-webkit-scrollbar,#result .details-navigation::-webkit-scrollbar{display:none}
  #result .public-tabs .tab,#result .details-navigation .tab{flex:0 0 auto!important;min-width:126px!important;min-height:46px!important;padding:9px 8px!important;font-size:11px!important;scroll-snap-align:start}
  #result .workspace-content{padding:13px 9px 15px!important}
  #result .compact-free-head{align-items:center!important;margin-bottom:10px!important}
  #result .compact-free-head h2{font-size:18px!important}
  #result .refresh-match-grids{min-height:44px!important}
  #result .free-filter-bar{overflow:hidden;margin-bottom:10px!important}
  #result .free-filters{flex-wrap:nowrap!important;width:100%;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
  #result .free-filters::-webkit-scrollbar{display:none}
  #result .free-filters button{flex:0 0 auto;min-height:44px!important}
  #result .free-simple-heading{display:none!important}
  #result .free-card-simple{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;min-height:0!important;padding:12px!important}
  #result .free-card-simple .free-country,#result .free-card-simple .free-provider,#result .free-card-simple .free-status-cell,#result .free-card-simple .free-actions{grid-column:1!important;grid-row:auto!important}
  #result .free-card-simple .free-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  #result .free-card-simple .free-actions>*{width:100%!important;min-height:44px!important}
  .free-provider-identity{align-items:center!important}
  .channel-logo{width:54px!important;height:46px!important;min-height:46px!important;flex-basis:54px!important}
  .channel-logo img{width:100%!important;height:100%!important;max-height:44px!important;padding:4px!important;object-fit:contain!important}
  .country-provider-compact{grid-template-columns:minmax(0,1fr)!important;padding:12px!important}
  .country-provider-compact .country-status,.country-provider-compact .country-destination,.country-provider-details{grid-column:1!important;grid-row:auto!important}
  .country-provider-compact .country-status{justify-self:start!important}
  .standings-scroll{max-height:56dvh!important;overflow:auto!important;overscroll-behavior:contain}
  .standings-table{min-width:310px!important}
  .standings-team img{width:25px!important;height:25px!important;object-fit:contain!important}

  #weekendHighlights{width:100%!important;margin:12px 0 0!important;padding:16px 11px!important;border-radius:17px!important}
  .weekend-head{align-items:center!important;gap:8px!important}
  .weekend-head h2{font-size:19px!important;line-height:1.15!important}
  .weekend-head button{min-height:44px!important;margin-left:auto!important;padding:8px 10px!important}
  .weekend-carousel-shell{width:100%!important;margin:0!important}
  .weekend-track{grid-auto-columns:minmax(225px,88%)!important;gap:9px!important;padding-bottom:5px!important}
  .weekend-match-card{min-width:0!important;padding:13px!important}
  .weekend-arrow{display:none!important}
  .weekend-highlights.is-expanded .weekend-track{grid-template-columns:minmax(0,1fr)!important;max-height:68dvh!important;overflow-y:auto!important;overscroll-behavior:contain}
  .weekend-card-meta{grid-template-columns:40px minmax(0,1fr)!important}
  .weekend-card-meta time{grid-column:2!important}
  .weekend-teams{gap:7px!important}
  .weekend-teams img{width:46px!important;height:46px!important;object-fit:contain!important}
  .about-section,.about-points{grid-template-columns:minmax(0,1fr)!important}
  .about-section{padding:20px 14px!important}

  .share-dialog{width:calc(100% - 12px)!important;height:auto!important;max-height:calc(100dvh - 12px)!important;margin:auto!important;border-radius:17px!important}
  .share-dialog-head{padding:10px 12px!important}
  .share-dialog-head h2{font-size:17px!important}
  .share-dialog-body{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:10px!important}
  .share-preview{padding:16px 11px!important;border-radius:14px!important}
  .share-preview h2{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;gap:5px!important;font-size:17px!important}
  .share-preview-section{margin-top:15px!important;padding-top:12px!important}
  .share-actions{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding-bottom:max(7px,env(safe-area-inset-bottom))}
  .share-actions p,#shareDialogStatus{grid-column:1/-1!important}
  .share-actions button{min-height:44px!important;min-width:0!important;padding:8px!important;font-size:12px!important}

  .favorites-main{width:100%!important;max-width:none!important;margin:0!important;padding:10px 10px 36px!important}
  .favorites-heading{min-height:150px!important;margin-bottom:12px!important;padding:20px 15px!important;border-radius:17px!important}
  .favorites-heading h1{font-size:30px!important}
  .favorites-heading p{font-size:14px!important}
  .favorite-clubs{margin-bottom:17px;padding:15px 11px;border-radius:17px}
  .favorite-clubs-head{align-items:center;margin-bottom:10px}
  .favorite-clubs-head h2,.favorite-section-title h2{font-size:19px}
  .favorite-club-list{gap:8px}
  .favorite-club-chip{grid-template-columns:38px minmax(80px,1fr) auto;min-width:220px;padding:8px}
  .favorite-club-chip img{width:38px;height:38px}
  .favorite-club-fixtures{grid-template-columns:minmax(0,1fr)}
  .favorite-club-fixture{padding:12px}
  .favorite-club-fixture-bottom{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
  .favorite-club-fixture-bottom small{text-align:left}
  .favorite-club-fixture-bottom a{width:100%;min-height:44px}
  .favorite-section-title{display:block;margin:22px 3px 11px}
  .favorite-section-title p{text-align:left}
  .favorites-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .saved-fixture{min-width:0!important;padding:13px 11px 10px!important;border-radius:17px!important}
  .saved-teams{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)!important;padding:0!important;gap:5px!important}
  .saved-team img{width:62px!important;height:62px!important}
  .saved-team strong{font-size:15px!important}
  .saved-date{font-size:12px!important;padding:8px!important}
  .favorite-upcoming{padding:14px 10px!important;border-radius:17px!important}
  .favorite-upcoming-row{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;padding:11px!important}
  .favorite-upcoming-row>*{grid-column:1!important;justify-self:stretch!important}
  .favorite-upcoming-row .saved-competition{justify-self:start!important}
  .favorite-upcoming-teams{grid-column:1!important}
  .favorite-upcoming-row>a{grid-column:1!important;min-height:44px!important;text-align:center!important}
}

@media(max-width:390px){
  body.public-app .brand-lockup,.favorites-page .brand-lockup{font-size:16px!important}
  body.public-app .topbar-button,.favorites-page .topbar-button{max-width:112px;font-size:10px!important;padding:6px!important}
  .country-menu>summary{min-width:52px;max-width:60px!important}.country-picker-name{display:none!important}
  body.public-app .home-nav a,.favorites-page .home-nav a{font-size:10px!important}
  #result #matchName .team-logo-stack{width:60px!important;max-width:60px!important}
  #result #matchName .team-crest{width:60px!important;height:60px!important}
  #result .club-favorite-toggle>span:last-child{font-size:0}
  #result .club-favorite-toggle>span:last-child::after{content:'Suivre';font-size:9px}
  #result .dashboard-stats .stat-card{padding:8px 7px!important}
  .share-preview h2{grid-template-columns:minmax(0,1fr)!important}.share-preview h2 b{padding:2px}
  .share-actions{grid-template-columns:minmax(0,1fr)!important}.share-actions>*{grid-column:1!important}
}

@media(max-width:340px){
  body.public-app .brand-lockup>span:nth-child(2),.favorites-page .brand-lockup>span:nth-child(2){font-size:0}
  body.public-app .brand-lockup>span:nth-child(2)::after,.favorites-page .brand-lockup>span:nth-child(2)::after{content:'FMM';font-size:15px}
  body.public-app .topbar-button,.favorites-page .topbar-button{width:44px;font-size:0!important}
  body.public-app .topbar-button svg,.favorites-page .topbar-button svg{margin:0!important}
  #result #matchName{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)!important;font-size:14px!important}
  #result #matchName .match-vs{width:20px!important;font-size:14px!important}
}

@media(hover:hover){#result .club-favorite-toggle:hover,.favorite-club-chip button:hover,.favorite-club-fixture-bottom a:hover{filter:brightness(.97);transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.favorite-club-chip,.club-favorite-toggle{transition:none!important}}
