/* SNHL MAJ 10 — standard visuel partagé des heroes/modules */
:root{
  --snhl-hero-radius:22px;
  --snhl-hero-border:rgba(82,151,224,.28);
  --snhl-hero-shadow:0 22px 58px rgba(0,0,0,.24);
  --snhl-hero-pad:clamp(22px,3.2vw,40px);
  --snhl-hero-muted:#9fb2c7;
  --snhl-hero-eyebrow:#75c4ff;
}

/* Portail public + modules utilisant le shell du portail */
:is(.page-hero,.regulations-hero,.calendar-hero,.standings-hero,.leaders-hero,.transactions-hero,.lineups-hero,.league-lineups-hero,.lottery-hero,.activity-hero,.explorer-hero,.position-hero,.trophies-hero,.application-hero,.gm-hero,.fa-portal-hero,.advanced-hero,.salary-hero){
  position:relative;
  overflow:hidden;
  border:1px solid var(--snhl-hero-border);
  border-radius:var(--snhl-hero-radius);
  box-shadow:var(--snhl-hero-shadow);
}
:is(.page-hero,.regulations-hero,.calendar-hero,.standings-hero,.leaders-hero,.transactions-hero,.lineups-hero,.league-lineups-hero,.lottery-hero,.activity-hero,.explorer-hero,.position-hero,.trophies-hero,.application-hero,.gm-hero,.fa-portal-hero,.advanced-hero,.salary-hero){
  padding:var(--snhl-hero-pad);
}
:is(.page-hero,.regulations-hero,.calendar-hero,.standings-hero,.leaders-hero,.transactions-hero,.lineups-hero,.league-lineups-hero,.lottery-hero,.activity-hero,.explorer-hero,.position-hero,.trophies-hero,.application-hero,.gm-hero,.fa-portal-hero,.advanced-hero,.salary-hero) h1{
  margin-top:7px;
  margin-bottom:12px;
  font-family:"Bebas Neue","Barlow Condensed","Oswald",Inter,sans-serif;
  font-size:clamp(2.65rem,5.25vw,5.2rem);
  line-height:.9;
  letter-spacing:.018em;
  text-wrap:balance;
}
:is(.page-hero,.regulations-hero,.calendar-hero,.standings-hero,.leaders-hero,.transactions-hero,.lineups-hero,.league-lineups-hero,.lottery-hero,.activity-hero,.explorer-hero,.position-hero,.trophies-hero,.application-hero,.gm-hero,.fa-portal-hero,.advanced-hero,.salary-hero) p{
  max-width:790px;
  line-height:1.58;
}
:is(.regulations-hero,.calendar-hero,.standings-hero,.leaders-hero,.transactions-hero,.lineups-hero,.league-lineups-hero,.lottery-hero,.activity-hero,.explorer-hero,.position-hero,.trophies-hero,.application-hero,.gm-hero) .eyebrow,
.fa-portal-hero>div:first-child>span,
.advanced-hero>div:first-child>span,
.salary-hero .salary-kicker{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid rgba(117,196,255,.28);
  border-radius:999px;
  background:rgba(34,128,204,.10);
  color:var(--snhl-hero-eyebrow);
  font-size:.65rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Espace DG — même rythme sans enlever la couleur d'équipe */
.snhl-dg-shell :is(.hero,.command-hero,.waivers-hero,.sig-hero,.trade-hero,.trade-market-hero,.committee-hero,.premium-coach-hero,.recruitment-hero,.recruitment-list-hero,.compact-report-hero,.trophy-vote-hero){
  position:relative;
  overflow:hidden;
  border-radius:var(--snhl-hero-radius);
  box-shadow:var(--snhl-hero-shadow);
}
.snhl-dg-shell :is(.hero,.waivers-hero,.sig-hero,.trade-hero,.trade-market-hero,.committee-hero,.premium-coach-hero,.recruitment-hero,.recruitment-list-hero,.compact-report-hero,.trophy-vote-hero){
  padding:var(--snhl-hero-pad);
}
.snhl-dg-shell :is(.hero,.command-hero,.waivers-hero,.sig-hero,.trade-hero,.trade-market-hero,.committee-hero,.premium-coach-hero,.recruitment-hero,.recruitment-list-hero,.compact-report-hero,.trophy-vote-hero) h1{
  font-family:"Bebas Neue","Oswald",Inter,sans-serif;
  font-size:clamp(2.55rem,5vw,4.85rem);
  line-height:.91;
  letter-spacing:.018em;
  text-wrap:balance;
}
.snhl-dg-shell :is(.hero,.waivers-hero,.sig-hero,.trade-hero,.trade-market-hero,.committee-hero,.premium-coach-hero,.recruitment-hero,.recruitment-list-hero,.compact-report-hero,.trophy-vote-hero) > div:first-child > :is(span,.eyebrow),
.snhl-dg-shell .hero .eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid color-mix(in srgb,var(--team-primary,#3f9be7) 45%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--team-primary,#3f9be7) 13%,transparent);
  color:#bfe4ff;
  font-size:.64rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Bêta/Pilote : langage visuel commun */
.snhl-dg-shell :is(.premium-coach-hero,.recruitment-hero,.recruitment-list-hero,.compact-report-hero) > div:first-child > span,
.advanced-hero>div:first-child>span{
  border-color:rgba(243,182,63,.38);
  background:rgba(243,182,63,.10);
  color:#ffd477;
}

/* Actions de hero cohérentes */
:is(.hero-actions,.trade-hero-actions,.president-hero-actions){
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
:is(.hero-actions,.trade-hero-actions,.president-hero-actions) :is(a,button){
  min-height:40px;
  border-radius:10px;
  font-weight:800;
}

html[data-theme="light"]{
  --snhl-hero-border:rgba(50,100,145,.22);
  --snhl-hero-shadow:0 18px 44px rgba(42,68,91,.12);
  --snhl-hero-muted:#526b82;
  --snhl-hero-eyebrow:#146fae;
}
html[data-theme="light"] :is(.regulations-hero,.calendar-hero,.standings-hero,.leaders-hero,.transactions-hero,.lineups-hero,.league-lineups-hero,.lottery-hero,.activity-hero,.explorer-hero,.position-hero,.trophies-hero,.application-hero,.gm-hero,.fa-portal-hero,.advanced-hero,.salary-hero) .eyebrow,
html[data-theme="light"] .fa-portal-hero>div:first-child>span,
html[data-theme="light"] .advanced-hero>div:first-child>span,
html[data-theme="light"] .salary-hero .salary-kicker{
  background:rgba(27,119,184,.08);
  border-color:rgba(27,119,184,.22);
}

@media(max-width:760px){
  :root{--snhl-hero-radius:18px;--snhl-hero-pad:20px 17px}
  :is(.page-hero,.regulations-hero,.calendar-hero,.standings-hero,.leaders-hero,.transactions-hero,.lineups-hero,.league-lineups-hero,.lottery-hero,.activity-hero,.explorer-hero,.position-hero,.trophies-hero,.application-hero,.gm-hero,.fa-portal-hero,.advanced-hero,.salary-hero),
  .snhl-dg-shell :is(.hero,.command-hero,.waivers-hero,.sig-hero,.trade-hero,.trade-market-hero,.committee-hero,.premium-coach-hero,.recruitment-hero,.recruitment-list-hero,.compact-report-hero,.trophy-vote-hero){
    border-radius:var(--snhl-hero-radius);
  }
  :is(.page-hero,.regulations-hero,.calendar-hero,.standings-hero,.leaders-hero,.transactions-hero,.lineups-hero,.league-lineups-hero,.lottery-hero,.activity-hero,.explorer-hero,.position-hero,.trophies-hero,.application-hero,.gm-hero,.fa-portal-hero,.advanced-hero,.salary-hero) h1,
  .snhl-dg-shell :is(.hero,.command-hero,.waivers-hero,.sig-hero,.trade-hero,.trade-market-hero,.committee-hero,.premium-coach-hero,.recruitment-hero,.recruitment-list-hero,.compact-report-hero,.trophy-vote-hero) h1{
    font-size:clamp(2.35rem,12vw,3.65rem);
  }
  :is(.hero-actions,.trade-hero-actions,.president-hero-actions){width:100%}
}
