/* BleuBlancDunk home — couche d'harmonisation V1.9 */

.home-v19{
  --home-space:14px;
  --home-radius:16px;
  --home-radius-sm:12px;
  --home-border:1px solid rgba(15,23,42,.09);
  --home-shadow:0 8px 24px rgba(15,23,42,.08);
  --home-pad:clamp(18px,2.4vw,24px);
}

.home-v19 .page-3cols{
  padding-top:18px;
}

.home-v19 .center-col > main{
  display:flex;
  flex-direction:column;
  gap:var(--home-space);
}

.home-v19 .home-season-bar,
.home-v19 .scoreboard-strip,
.home-v19 #injuryTickerWrap,
.home-v19 .center-col > main > section,
.home-v19 .center-col > main > a,
.home-v19 .center-col > main > #favBox{
  margin-top:0;
  margin-bottom:var(--home-space);
}

.home-v19 .center-col > main > section,
.home-v19 .center-col > main > a,
.home-v19 .center-col > main > #favBox{
  margin-bottom:0;
}

.home-v19 .home-season-bar,
.home-v19 .scoreboard-strip,
.home-v19 .injury-pill,
.home-v19 .sl26,
.home-v19 .fa26,
.home-v19 .champ-banner,
.home-v19 .ngoy-banner,
.home-v19 .fr26-block,
.home-v19 #favBox,
.home-v19 .home-tools-card,
.home-v19 #home-forme-fr,
.home-v19 .wnbafr{
  border-radius:var(--home-radius);
  box-shadow:var(--home-shadow);
}

.home-v19 .home-season-bar,
.home-v19 .home-tools-card,
.home-v19 .fr26-block,
.home-v19 .wnbafr{
  border:var(--home-border);
}

.home-v19 .sl26,
.home-v19 .fa26,
.home-v19 .wnbafr{
  padding:var(--home-pad);
}

.home-v19 .sl26 header,
.home-v19 .fa26 header,
.home-v19 .wnbafr header{
  min-height:62px;
}

.home-v19 .sl26 header>div>span,
.home-v19 .fa26 header>span,
.home-v19 .wnbafr header>span{
  display:block;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.1em;
}

.home-v19 .sl26 h2,
.home-v19 .fa26 h2,
.home-v19 .wnbafr h2,
.home-v19 .fr26-section__title{
  margin:6px 0 0;
  font-size:clamp(21px,2.7vw,27px);
  line-height:1.12;
  font-weight:950;
  letter-spacing:-.035em;
}

.home-v19 .sl26 header p,
.home-v19 .wnbafr header p,
.home-v19 .fr26-section__sub{
  margin:6px 0 0;
  font-size:13px;
  line-height:1.45;
  font-weight:600;
}

.home-v19 .sl26-grid,
.home-v19 .fa26-grid,
.home-v19 .wnbafr-grid{
  margin-top:18px;
  gap:12px;
}

.home-v19 .sl26-player,
.home-v19 .fa26-player,
.home-v19 .wnbafr-player{
  border-radius:var(--home-radius-sm);
}

.home-v19 .fa26-player{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  align-items:center;
  gap:4px 16px;
  min-height:126px;
  padding:18px 20px;
  text-align:left;
}

.home-v19 .fa26-player img{
  grid-column:1;
  grid-row:1/4;
  justify-self:center;
  width:72px;
  height:72px;
  border-width:3px;
}

.home-v19 .fa26-name,
.home-v19 .fa26-move,
.home-v19 .fa26-deal{
  grid-column:2;
}

.home-v19 .fa26-name{
  align-self:end;
  font-size:20px;
  line-height:1.15;
}

.home-v19 .fa26-move{
  font-size:16px;
  line-height:1.3;
}

.home-v19 .fa26-deal{
  align-self:start;
  font-size:14px;
  line-height:1.3;
}

.home-v19 .fa26-player--featured{
  grid-template-columns:84px minmax(0,430px);
  justify-content:center;
  min-height:118px;
}

.home-v19 .fa26-player--featured img{
  width:80px;
  height:80px;
}

.home-v19 .fa26-player::before,
.home-v19 .fa26-player::after{
  width:92px;
  height:92px;
}

.home-v19 .champ-banner{
  overflow:hidden;
}

.home-v19 .home-feature-section{
  padding:var(--home-pad);
  border:var(--home-border);
  border-radius:var(--home-radius);
  background:#fff;
  box-shadow:var(--home-shadow);
}

.home-v19 .home-feature-head>span{
  display:block;
  color:#2563eb;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.1em;
}

.home-v19 .home-feature-head h2{
  margin:6px 0 0;
  color:#0f172a;
  font-size:clamp(21px,2.7vw,27px);
  line-height:1.12;
  font-weight:950;
  letter-spacing:-.035em;
}

.home-v19 .home-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}

.home-v19 .home-feature-grid .champ-banner,
.home-v19 .home-feature-grid .ngoy-banner{
  min-width:0;
  height:100%;
  margin:0;
  box-shadow:none;
}

.home-v19 .home-feature-grid .champ-banner__inner,
.home-v19 .home-feature-grid .ngoy-banner{
  min-height:110px;
}

.home-v19 .champ-banner__inner,
.home-v19 .ngoy-banner{
  min-height:82px;
  padding:14px 18px;
  gap:14px;
}

.home-v19 .champ-banner__title,
.home-v19 .ngoy-banner__title{
  font-size:16px;
  line-height:1.25;
  font-weight:900;
}

.home-v19 .champ-banner__sub,
.home-v19 .ngoy-banner__sub{
  font-size:13px;
  line-height:1.4;
  font-weight:600;
}

.home-v19 .champ-banner__arrow,
.home-v19 .ngoy-banner__arrow{
  font-size:28px;
}

.home-v19 .fr26-section{
  margin-top:0;
  padding:var(--home-pad);
  border:var(--home-border);
  border-radius:var(--home-radius);
  background:#fff;
  box-shadow:var(--home-shadow);
}

.home-v19 .fr26-section__sub{
  margin-bottom:12px;
  color:#64748b;
}

.home-v19 .fr26-block{
  margin-bottom:12px;
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:var(--home-radius-sm);
  box-shadow:none;
}

.home-v19 .fr26-block:last-child{
  margin-bottom:0;
}

.home-v19 .fr26-block__head{
  min-height:58px;
  padding:12px 16px;
  background:#f8fafc;
  border-bottom:1px solid #e2e8f0;
}

.home-v19 .fr26-block__label{
  font-size:16px;
  line-height:1.25;
}

.home-v19 .fr26-block__sub{
  margin-top:3px;
  font-size:12px;
  line-height:1.35;
}

.home-v19 .fr26-block__badge{
  padding:4px 9px;
  font-size:10.5px;
}

.home-v19 .fr26-table th{
  height:34px;
  padding:8px 11px;
  color:#64748b;
  font-size:10px;
}

.home-v19 .fr26-table td{
  height:48px;
  padding:8px 11px;
  font-size:13.5px;
}

.home-v19 .fr26-portrait,
.home-v19 .fr26-portrait-ph{
  width:36px;
  height:36px;
}

.home-v19 .fr26-pname{
  font-size:13.5px;
}

.home-v19 .fr26-pteam span{
  font-size:10px;
}

.home-v19 .fr26-expand-btn{
  min-height:42px;
  padding:10px 14px;
  font-size:12.5px;
  font-weight:800;
}

.home-v19 .home-tools-card{
  padding:14px 16px 12px;
  background:linear-gradient(180deg,#fff,#f8fafc);
}

.home-v19 .home-tools-top{
  min-height:44px;
}

.home-v19 .date-nav-centered h2,
.home-v19 #dateLabel{
  font-size:17px;
  font-weight:900;
}

.home-v19 .nav-arrow{
  width:38px;
  height:38px;
  border-radius:11px;
  box-shadow:0 4px 12px rgba(29,78,216,.2);
}

.home-v19 .fr-filter-compact{
  min-height:36px;
  padding:0 11px;
  border:1px solid #dbe4f0;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-size:12.5px;
  font-weight:750;
}

.home-v19 .fr-filter-compact input{
  width:16px;
  height:16px;
  accent-color:#2563eb;
}

.home-v19 .cal-toggle-compact{
  margin-top:10px;
  border-top:1px solid #e2e8f0;
}

.home-v19 .cal-toggle-compact summary{
  min-height:40px;
  padding:9px 4px 3px;
  color:#334155;
  font-size:13.5px;
  font-weight:800;
}

.home-v19 .cal-toggle-compact[open] summary{
  color:#1d4ed8;
}

.home-v19 #statusMsg{
  min-height:20px;
  margin:0;
  font-size:12.5px;
}

.home-v19 .wnbafr-more,
.home-v19 .sl26-more{
  margin-top:18px;
  font-size:13px;
  font-weight:850;
}

.home-v19 .side-card{
  border-radius:var(--home-radius);
  box-shadow:var(--home-shadow);
}

/* Scores, infirmerie et cartes de matchs */
.home-v19 .scoreboard-strip{
  padding:16px 18px 18px;
  border:var(--home-border);
  background:#fff;
}

.home-v19 .scoreboard-strip__head{
  min-height:38px;
  margin-bottom:14px;
}

.home-v19 .scoreboard-strip__title{
  font-size:19px;
  font-weight:950;
  letter-spacing:-.02em;
}

.home-v19 .scoreboard-strip__meta{
  color:#64748b;
  font-size:12px;
  font-weight:750;
}

.home-v19 .sb-tabs{
  gap:4px;
  padding:4px;
  border-radius:11px;
  background:#f1f5f9;
}

.home-v19 .sb-tab{
  min-height:34px;
  padding:6px 12px;
  border-radius:8px;
  color:#526176;
  font-size:12.5px;
}

.home-v19 .sb-tab[aria-selected="true"]{
  color:#1d4ed8;
  box-shadow:0 2px 7px rgba(15,23,42,.09);
}

.home-v19 .sb-mini{
  border-radius:var(--home-radius-sm);
  border-color:#e2e8f0;
  box-shadow:none;
}

.home-v19 .sb-mini:hover{
  border-color:#bfdbfe;
  box-shadow:0 6px 16px rgba(15,23,42,.08);
}

.home-v19 .injury-pill{
  min-height:64px;
  padding:13px 18px;
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(120deg,#0f172a,#172554);
  box-shadow:0 8px 22px rgba(15,23,42,.18);
}

.home-v19 .injury-label{
  color:#bfdbfe;
  font-size:11px;
  font-weight:850;
  letter-spacing:.1em;
}

.home-v19 .injury-text,
.home-v19 .inj-textline{
  font-size:13.5px;
  line-height:1.4;
}

.home-v19 #games{
  display:flex;
  flex-direction:column;
  gap:var(--home-space);
}

.home-v19 #games>.blk-title,
.home-v19 #games>h3{
  margin:4px 2px -2px;
  color:#334155;
  font-size:13px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.home-v19 #games .card,
.home-v19 #games .card--v2{
  border-radius:var(--home-radius);
  border-color:rgba(15,23,42,.09);
  box-shadow:var(--home-shadow);
}

.home-v19 #games .card-main{
  min-height:154px;
  padding:20px 24px;
}

.home-v19 #games .card-details{
  padding-left:20px;
  padding-right:20px;
  padding-bottom:20px;
}

.home-v19 #games .card .expand-btn{
  width:38px;
  height:38px;
  border-radius:11px;
  box-shadow:0 4px 12px rgba(15,23,42,.09);
}

/* Favoris, WNBA, classements et fin de page */
.home-v19 #favBox{
  padding:var(--home-pad);
  border:var(--home-border);
  background:#fff;
}

.home-v19 #favBoxHeader{
  min-height:42px;
  margin-bottom:14px;
}

.home-v19 #favBoxTitle{
  gap:8px;
  color:#0f172a;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.02em;
}

.home-v19 #favBoxToggle{
  min-height:36px;
  padding:0 12px;
  border:1px solid #dbeafe;
  border-radius:10px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:12.5px;
  font-weight:800;
}

.home-v19 #favBannerWrap .fav-title,
.home-v19 #favTeamsBannerWrap .fav-title{
  margin-bottom:12px;
  text-align:left;
  font-size:14px;
  font-weight:850;
}

.home-v19 .wnbafr-grid{
  grid-template-columns:repeat(auto-fill,minmax(125px,1fr));
}

.home-v19 .wnbafr-player{
  min-height:126px;
  padding:13px 8px 11px;
  border:1px solid #edf0f5;
  background:#fafbfc;
}

.home-v19 .wnbafr-player:hover{
  border-color:rgba(192,38,211,.18);
  background:rgba(192,38,211,.05);
}

.home-v19 .wnbafr-player img{
  width:68px;
  height:68px;
}

.home-v19 .wnbafr-name{
  font-size:13px;
  line-height:1.3;
}

.home-v19 .wnbafr-team{
  margin-top:3px;
  font-size:11px;
}

.home-v19 .side-hdr{
  min-height:50px;
  background:linear-gradient(180deg,#fff,#f8fafc);
}

.home-v19 .side-hdr strong{
  color:#0f172a;
  font-size:16px;
  font-weight:900;
}

.home-v19 .side-row{
  min-height:46px;
  padding:8px 11px;
}

.home-v19 .side-rk{
  color:#64748b;
  font-size:12.5px;
}

.home-v19 .side-tri,
.home-v19 .side-wl{
  font-weight:850;
}

.home-v19 .footer{
  margin-top:20px;
  padding-top:24px;
  border-top:1px solid rgba(148,163,184,.22);
}

@media(max-width:640px){
  .home-v19{--home-space:12px;--home-radius:14px;--home-pad:18px 16px}
  .home-v19 .page-3cols{padding-top:12px;padding-left:10px;padding-right:10px}
  .home-v19 .home-season-bar{padding:12px 14px}
  .home-v19 .sl26 header,.home-v19 .fa26 header,.home-v19 .wnbafr header{min-height:0}
  .home-v19 .champ-banner__inner,.home-v19 .ngoy-banner{min-height:76px;padding:13px 14px}
  .home-v19 .champ-banner__title,.home-v19 .ngoy-banner__title{font-size:14px}
  .home-v19 .champ-banner__sub,.home-v19 .ngoy-banner__sub{font-size:12px}
  .home-v19 .fr26-section__title{font-size:20px}
  .home-v19 .fr26-section{padding:18px 0}
  .home-v19 .fr26-section__title,
  .home-v19 .fr26-section__sub{padding-left:16px;padding-right:16px}
  .home-v19 .fr26-block{border-left:0;border-right:0;border-radius:0}
  .home-v19 .home-feature-grid{grid-template-columns:1fr}
  .home-v19 .home-feature-grid .champ-banner__inner,
  .home-v19 .home-feature-grid .ngoy-banner{min-height:88px}
  .home-v19 .scoreboard-strip{padding:14px 12px}
  .home-v19 .scoreboard-strip__head{align-items:flex-start}
  .home-v19 .scoreboard-strip__meta{width:100%;margin-left:0}
  .home-v19 .injury-pill{min-height:0;padding:14px}
  .home-v19 #games .card-main{min-height:auto;padding:18px 14px}
  .home-v19 #games .card-details{padding-left:12px;padding-right:12px;padding-bottom:14px}
  .home-v19 #favBoxHeader{align-items:flex-start}
  .home-v19 .wnbafr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .home-v19 .wnbafr-player{min-height:122px}
  .home-v19 .fa26-player,
  .home-v19 .fa26-player--featured{
    grid-template-columns:68px minmax(0,1fr);
    justify-content:stretch;
    min-height:112px;
    padding:15px 14px;
    gap:3px 13px;
  }
  .home-v19 .fa26-player img,
  .home-v19 .fa26-player--featured img{width:64px;height:64px}
  .home-v19 .fa26-name{font-size:18px}
  .home-v19 .fa26-move{font-size:14px}
  .home-v19 .fa26-deal{font-size:12.5px}
}

@media(max-width:520px){
  .home-v19 .fr-filter-compact{
    position:static;
    width:100%;
    justify-content:center;
  }
  .home-v19 .date-nav-centered{justify-content:space-between}
  .home-v19 .date-nav-centered h2,
  .home-v19 #dateLabel{font-size:15px;text-align:center;white-space:normal}
}

@media(prefers-reduced-motion:reduce){
  .home-v19 .nav-arrow,
  .home-v19 .fa26-player,
  .home-v19 .champ-banner__inner,
  .home-v19 .ngoy-banner{
    transition:none;
  }
}
