/* Home — composition mobile dédiée : header simplifié, bandeau compact, hero stable. */
@media (max-width: 800px) {
  body.home .premium-header .header-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    min-height: 0;
    padding: 10px 14px 0;
  }

  body.home .premium-header .premium-brand {
    min-width: 0;
    flex: 1 1 auto;
    gap: 8px;
  }

  body.home .premium-header .premium-brand .brand-logo img {
    width: 78px;
    height: 60px;
    object-fit: contain;
  }

  body.home .premium-header .brand-divider {
    height: 34px;
    margin-inline: 1px;
  }

  body.home .premium-header .brand-title strong {
    font-size: .92rem;
    letter-spacing: .11em;
  }

  body.home .premium-header .brand-title em {
    font-size: .46rem;
    letter-spacing: .15em;
  }

  body.home .premium-header .header-top-badges,
  body.home .premium-header .header-socials {
    display: none;
  }

  body.home .premium-header .menu-toggle {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-left: 8px;
    border-color: rgba(255,255,255,.38);
    border-radius: 12px;
    font-size: 1.35rem;
    line-height: 1;
  }

  body.home .premium-header .header-live-strip {
    order: 3;
    flex-basis: 100%;
    justify-content: flex-start;
    min-height: 0;
    padding: 4px 0 7px;
  }

  body.home .premium-header .agd-live-match-header {
    padding: 4px 8px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    font-size: .62rem;
  }

  body.home .premium-header .premium-nav {
    order: 4;
  }

  body.home .premium-header .premium-nav.is-open {
    padding: 16px 14px 20px;
  }

  body.home .premium-header .premium-nav .mobile-header-secondary {
    display: none;
  }

  body.home .premium-header .premium-nav.is-open .mobile-header-secondary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.16);
  }

  body.home .premium-header .premium-nav.is-open .mobile-header-secondary .header-top-badges {
    display: flex;
    gap: 10px;
    align-items: center;
  }

  body.home .premium-header .premium-nav.is-open .mobile-header-secondary .header-top-badges a {
    display: inline-flex;
  }

  body.home .premium-header .premium-nav.is-open .mobile-header-secondary .header-top-badges img {
    width: auto;
    height: 42px;
    max-width: 52px;
    object-fit: contain;
  }

  body.home .premium-header .premium-nav.is-open .mobile-header-secondary .header-socials {
    display: flex;
    gap: 6px;
    margin: 0;
  }

  body.home .premium-header .premium-nav.is-open .mobile-header-secondary .header-socials a {
    padding: 5px 7px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    color: #dce9f0;
    background: rgba(255,255,255,.06);
  }

  body.home .agd-featured-notice {
    min-height: 0;
  }

  body.home .agd-featured-notice p {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 7px 9px;
    padding: 7px 12px;
    font-size: .73rem;
    line-height: 1.2;
  }

  body.home .agd-featured-notice__label {
    font-size: .58rem;
    letter-spacing: .11em;
  }

  body.home .agd-featured-notice__text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.home .agd-featured-notice a {
    padding: 3px 0;
    font-size: .68rem;
  }

  body.home .hero {
    min-height: 0;
    background-size: auto 100%;
  }

  body.home .hero-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }

  body.home .hero-copy {
    padding: 28px 0 16px;
  }

  body.home .hero-copy .eyebrow {
    margin-bottom: 10px;
    font-size: .64rem;
  }

  body.home .hero h1 {
    gap: 0;
    margin-bottom: 13px;
    font-size: clamp(2.35rem, 13vw, 3.6rem);
    line-height: .91;
    letter-spacing: -.055em;
  }

  body.home .hero h1 .hero-brand-agd {
    font-size: .78em;
  }

  body.home .hero h1 .hero-brand-badminton {
    font-size: 1em;
  }

  body.home .hero-copy>p:not(.eyebrow) {
    max-width: 31rem;
    margin-bottom: 0;
    font-size: .96rem;
    line-height: 1.45;
  }

  body.home .hero .actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 17px;
  }

  body.home .hero .actions .button {
    width: auto;
    min-height: 42px;
    padding: 8px 14px;
    border-radius: 9px;
    font-size: .8rem;
  }

  body.home .hero .actions .button:nth-child(2) { order: 1; }
  body.home .hero .actions .button:nth-child(3) { order: 2; }
  body.home .hero .actions .button:nth-child(1) {
    order: 3;
    min-height: auto;
    padding: 4px 0;
    border: 0;
    background: transparent;
    color: #f4d28c;
    box-shadow: none;
    font-size: .76rem;
  }

  body.home .hero .actions .button:nth-child(1):hover,
  body.home .hero .actions .button:nth-child(1):focus-visible {
    background: transparent;
    color: #fff;
    transform: none;
  }

  body.home .agd-hero-news {
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 10;
    margin: 0;
    border-radius: 20px 6px 20px 6px;
    box-shadow: 0 14px 28px rgba(6,29,58,.2);
  }

  body.home .agd-hero-news__viewport,
  body.home .agd-hero-news__track,
  body.home .agd-hero-news-card,
  body.home .agd-hero-news-card__content {
    min-height: 0;
    height: 100%;
  }

  body.home .agd-hero-news-card__copy {
    left: 14px;
    right: 14px;
    bottom: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(255,253,249,.94);
  }

  body.home .agd-hero-news-card__meta {
    margin-bottom: 4px;
    font-size: .58rem;
  }

  body.home .agd-hero-news-card h2 {
    max-width: 100%;
    margin-bottom: 3px;
    color: #102747;
    font-size: 1.15rem;
    line-height: 1.05;
  }

  body.home .agd-hero-news-card__excerpt {
    display: -webkit-box;
    max-width: 100%;
    margin-bottom: 5px;
    overflow: hidden;
    color: #52657b;
    font-size: .72rem;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.home .agd-hero-news-card__link {
    font-size: .7rem;
  }

  body.home .agd-hero-news__controls {
    right: 10px;
    bottom: 10px;
  }
}

/* Final authority for the supplied wide-mobile reference (roughly 900–1024px). */
@media (min-width: 801px) and (max-width: 1100px) {
  body.home .premium-header { overflow: hidden !important; }
  body.home .premium-header .header-inner { min-height: 168px !important; height: 168px !important; }
  body.home .premium-header .header-live-strip .agd-live-match-header {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 20px !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 1rem !important;
  }
  body.home .premium-header .header-live-strip .agd-live-match-header__dot { width: 12px !important; height: 12px !important; background: #ed2633 !important; border-radius: 50% !important; }

  body.home .hero { position: relative !important; isolation: isolate !important; min-height: 0 !important; }
  body.home .hero::before,
  body.home .hero::after { content: ""; position: absolute; inset: -22% -12%; z-index: -1; pointer-events: none; transform: skewX(-24deg); }
  body.home .hero::before { left: 52%; background: linear-gradient(126deg, transparent 0 25%, rgba(28,105,156,.48) 25.2% 32%, transparent 32.2% 44%, rgba(9,79,123,.64) 44.2% 53%, transparent 53.2% 66%, rgba(17,119,135,.62) 66.2% 79%, transparent 79.2%); }
  body.home .hero::after { left: 60%; opacity: .65; background: repeating-linear-gradient(126deg, transparent 0 92px, rgba(111,210,222,.38) 93px 94px, transparent 95px 175px); }
  body.home .hero-copy { position: relative !important; z-index: 1 !important; }
  body.home .hero .hero-brand-agd { display: block !important; font-size: 5.55rem !important; line-height: .84 !important; }
  body.home .hero .hero-brand-badminton { display: block !important; font-size: 5.25rem !important; line-height: .88 !important; }
  body.home .hero-lede-mobile { max-width: 620px !important; }
  body.home .hero-values-mobile li { grid-template-columns: auto minmax(0, 1fr) !important; }
  body.home .hero .actions .button { white-space: nowrap !important; }
  body.home .agd-mobile-feature-news .agd-hero-news { min-height: 270px !important; border-radius: 26px 8px 26px 8px !important; }
  body.home .agd-mobile-feature-news .agd-hero-news__controls button { width: 18px !important; height: 18px !important; }
  body.home .agd-mobile-home-nav-card { background: linear-gradient(145deg, #08264a 0%, #0e4267 72%, #145f76 100%) !important; }
}

/* Large-mobile/tablet continuation of the validated landing composition.
   The public mockup is also used on wide phone/tablet canvases (801–1100px). */
@media (min-width: 801px) and (max-width: 1100px) {
  body.home .premium-header .header-inner {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 168px !important;
    height: 168px !important;
    padding: 0 !important;
  }
  body.home .premium-header .premium-brand {
    position: absolute !important;
    top: 10px !important;
    left: 30px !important;
    width: 400px !important;
    height: 92px !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
  }
  body.home .premium-header .premium-brand .brand-logo img {
    width: 122px !important;
    height: 92px !important;
    max-width: none !important;
  }
  body.home .premium-header .brand-divider { display: block !important; height: 60px !important; }
  body.home .premium-header .brand-title strong {
    font-size: 1.85rem !important;
    letter-spacing: .08em !important;
  }
  body.home .premium-header .brand-title em { font-size: .92rem !important; letter-spacing: .24em !important; }
  body.home .premium-header .header-top-badges {
    position: absolute !important;
    top: 18px !important;
    right: 118px !important;
    left: auto !important;
    height: 84px !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.home .premium-header .header-top-badges .ffbad-badge-link img { width: 78px !important; height: 78px !important; max-width: 78px !important; }
  body.home .premium-header .header-top-badges .efb-badge-link img { width: 64px !important; height: 78px !important; max-width: 64px !important; }
  body.home .premium-header .header-top-badges .header-partner-badge-link,
  body.home .premium-header .header-top-badges .header-partner-badge-link img { width: 70px !important; height: 70px !important; }
  body.home .premium-header .menu-toggle {
    position: absolute !important;
    top: 20px !important;
    right: 28px !important;
    width: 62px !important;
    height: 62px !important;
    font-size: 2.25rem !important;
  }
  body.home .premium-header .header-live-strip {
    position: absolute !important;
    top: 102px !important;
    left: 208px !important;
    right: auto !important;
    margin: 0 !important;
  }
  body.home .premium-header .premium-nav { display: none !important; }

  body.home .agd-featured-notice {
    width: calc(100% - 60px) !important;
    margin: 16px auto 0 !important;
    min-height: 70px !important;
    transform: none !important;
  }
  body.home .agd-featured-notice .container { width: 100% !important; padding: 0 22px !important; }
  body.home .agd-featured-notice p { display: grid !important; grid-template-columns: max-content minmax(0, 1fr) max-content !important; align-items: center !important; gap: 16px !important; margin: 0 !important; min-width: 0 !important; }
  body.home .agd-featured-notice__label { min-width: max-content !important; font-size: .92rem !important; }
  body.home .agd-featured-notice__label::before { width: 42px !important; height: 42px !important; font-size: 1.1rem !important; }
  body.home .agd-featured-notice__text { min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; font-size: 1.05rem !important; white-space: nowrap !important; }
  body.home .agd-featured-notice a { justify-self: end !important; position: relative !important; z-index: 2 !important; font-size: .98rem !important; }

  body.home .hero {
    width: calc(100% - 48px) !important;
    max-width: none !important;
    margin: 14px auto 0 !important;
    border-radius: 30px 10px 30px 10px !important;
  }
  body.home .hero-grid { display: block !important; padding: 0 !important; }
  body.home .hero-copy { padding: 30px 42px 28px !important; }
  body.home .hero h1 { margin: 0 0 16px !important; }
  body.home .hero .hero-brand-agd { font-size: clamp(5.5rem, 10vw, 7.5rem) !important; }
  body.home .hero .hero-brand-badminton { font-size: clamp(5.2rem, 9vw, 7rem) !important; }
  body.home .hero h1::after { width: 48px !important; height: 3px !important; margin-top: 16px !important; }
  body.home .hero-lede:not(.hero-lede-mobile) { display: none !important; }
  body.home .hero-lede-mobile { display: block !important; max-width: 600px; font-size: 1.25rem !important; line-height: 1.35 !important; }
  body.home .hero-values-mobile { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px !important; margin: 24px 0 22px !important; }
  body.home .hero-values-mobile li { grid-template-columns: auto 1fr; gap: 9px; font-size: 1rem !important; }
  body.home .hero-value-icon { width: 50px !important; height: 50px !important; font-size: 1.75rem !important; }
  body.home .hero .actions { gap: 16px !important; }
  body.home .hero .actions .button { min-height: 64px !important; padding: 12px 18px !important; border-radius: 16px 6px 16px 6px !important; font-size: 1rem !important; }
  body.home .hero .actions .button:nth-child(1) { order: 3; }
  body.home .hero .actions .button:nth-child(2) { order: 1; }
  body.home .hero .actions .button:nth-child(3) { order: 2; }
  body.home .hero-news-desktop { display: none !important; }

  body.home .agd-mobile-feature-news { display: block !important; width: calc(100% - 48px) !important; margin: 22px auto 0 !important; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__content { grid-template-columns: 36% minmax(0, 1fr) !important; min-height: 260px !important; }
  body.home .agd-mobile-feature-news .agd-hero-news__media,
  body.home .agd-mobile-feature-news .agd-hero-news__media img { min-height: 260px !important; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__copy { padding: 24px 28px !important; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__meta { font-size: .78rem !important; }
  body.home .agd-mobile-feature-news .agd-hero-news-card h2 { font-size: 1.8rem !important; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__excerpt { display: block !important; font-size: .98rem !important; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__link { font-size: 1rem !important; }

  body.home .agd-mobile-home-nav { display: block !important; width: calc(100% - 48px) !important; margin: 22px auto 0 !important; }
  body.home .agd-mobile-home-nav .container { width: 100% !important; padding: 0 !important; }
  body.home .agd-mobile-home-nav-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 12px !important; }
  body.home .agd-mobile-home-nav-card { min-height: 170px !important; padding: 20px 12px !important; border-radius: 22px 8px 22px 8px !important; grid-template-columns: 1fr !important; justify-items: center !important; text-align: center !important; }
  body.home .agd-mobile-home-nav-card strong { font-size: 1rem !important; }
  body.home .agd-mobile-home-nav-card > span:last-child { font-size: 1.5rem !important; }
  body.home .agd-mobile-season-band { display: flex !important; width: calc(100% - 48px) !important; margin: 20px auto 28px !important; min-height: 88px !important; padding: 18px 24px !important; }
  body.home .agd-mobile-season-band strong { font-size: 1.05rem !important; }
  body.home .agd-mobile-season-band a { padding: 12px 18px !important; font-size: .95rem !important; }
  body.home #infos, body.home #publics, body.home #en-un-clin-doeil, body.home #actualites-recentes { display: none !important; }
}

@media (max-width: 390px) {
  body.home .premium-header .premium-brand .brand-logo img { width: 70px; }
  body.home .premium-header .brand-title strong { font-size: .82rem; }
  body.home .hero-copy { padding-top: 24px; }
  body.home .hero .actions .button { padding-inline: 11px; font-size: .74rem; }
  body.home .agd-hero-news-card__copy { left: 10px; right: 10px; bottom: 10px; padding: 10px 11px; }
}

/* Dernière couche de priorité : la maquette mobile est la composition publique. */
@media (max-width: 800px) {
  body.home .premium-header .header-inner {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-areas: "brand badges menu" "live live live" !important;
    padding: 10px 14px 11px !important;
  }
  body.home .premium-header .premium-brand { grid-area: brand !important; grid-row: auto !important; grid-column: auto !important; }
  body.home .premium-header .header-top-badges { grid-area: badges !important; grid-row: auto !important; grid-column: auto !important; justify-content: flex-end !important; gap: 5px !important; margin: 0 !important; padding: 0 !important; }
  body.home .premium-header .menu-toggle { grid-area: menu !important; grid-row: auto !important; grid-column: auto !important; margin: 0 !important; }
  body.home .premium-header .header-live-strip { grid-area: live !important; grid-row: auto !important; grid-column: 1 / -1 !important; margin-left: 80px !important; }
  body.home .premium-header .premium-nav { display: none !important; }

  body.home .agd-featured-notice { transform: none !important; margin-top: 12px !important; }
  body.home .hero { order: 1 !important; margin-top: 0 !important; }
  body.home .agd-mobile-feature-news { display: block !important; order: 2 !important; }
  body.home .agd-mobile-home-nav { order: 3 !important; }
  body.home .agd-mobile-season-band { order: 4 !important; }
  body.home #infos, body.home #publics, body.home #en-un-clin-doeil, body.home #actualites-recentes { display: none !important; }
}

@media (max-width: 800px) {
  body.home .premium-header .header-inner { position: relative !important; display: block !important; min-height: 165px; height: 165px; padding: 0 !important; }
  body.home .premium-header .premium-brand { position: absolute !important; top: 12px !important; left: 14px !important; right: auto !important; width: 218px !important; height: 54px !important; }
  body.home .premium-header .premium-brand .brand-logo img { width: 54px !important; height: 48px !important; }
  body.home .premium-header .premium-brand { width: 166px !important; gap: 5px !important; }
  body.home .premium-header .brand-title strong { font-size: .72rem !important; letter-spacing: .07em !important; }
  body.home .premium-header .brand-title em { font-size: .5rem !important; }
  body.home .premium-header .header-top-badges { position: absolute !important; top: 10px !important; right: 55px !important; left: auto !important; width: auto !important; height: 52px !important; }
  body.home .premium-header .menu-toggle { position: absolute !important; top: 10px !important; right: 10px !important; }
  body.home .premium-header .header-live-strip { position: absolute !important; top: 76px !important; left: 80px !important; right: auto !important; margin: 0 !important; }
  body.home .agd-featured-notice { width: calc(100% - 28px) !important; margin-left: auto !important; margin-right: auto !important; left: auto !important; right: auto !important; }
  body.home .agd-featured-notice { scale: none !important; translate: none !important; rotate: none !important; }
  body.home .agd-featured-notice .container { width: 100% !important; padding: 0 !important; }
  body.home .agd-featured-notice p { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; margin: 0 !important; }
  body.home .agd-featured-notice__text { font-size: 0 !important; }
  body.home .agd-featured-notice__text::after { content: "Retrouvez l’AGD à Deauville"; font-size: .74rem; }
  body.home .agd-featured-notice__text { position: relative; color: transparent !important; overflow: visible; white-space: nowrap; }
  body.home .agd-featured-notice__text::after { position: absolute; left: 0; top: 50%; transform: translateY(-50%); color: #071d3b; font-size: .7rem; white-space: nowrap; }
  body.home .hero .actions .button:nth-child(3) { border: 1px solid #f4c45b !important; background: rgba(6,29,58,.18) !important; color: #fff !important; }
}

/* Final phone-width fidelity pass: preserve the target hierarchy without squeezing cards. */
@media (max-width: 800px) {
  body.home .premium-header .header-inner { min-height: 145px !important; height: 145px !important; }
  body.home .premium-header .header-live-strip { top: 66px !important; left: 78px !important; }
  body.home .premium-header .header-live-strip .agd-live-match-header { padding: 7px 13px !important; font-size: .8rem !important; }
  body.home .premium-header .header-live-strip .agd-live-match-header__dot { width: 8px !important; height: 8px !important; }
  body.home .agd-featured-notice { min-height: 62px !important; margin-top: 12px !important; }
  body.home .agd-featured-notice .container { padding: 0 12px !important; }
  body.home .agd-featured-notice p { grid-template-columns: max-content minmax(0, 1fr) max-content !important; gap: 8px !important; }
  body.home .agd-featured-notice__label { font-size: .68rem !important; }
  body.home .agd-featured-notice__label::before { width: 30px !important; height: 30px !important; font-size: .85rem !important; }
  body.home .agd-featured-notice__text { font-size: .72rem !important; text-overflow: ellipsis !important; }
  body.home .agd-featured-notice a { font-size: .7rem !important; }
  body.home .hero { margin-top: 12px !important; }
  body.home .hero-copy { padding: 26px 18px 22px !important; }
  body.home .hero .hero-brand-agd { font-size: clamp(3rem, 14vw, 4.4rem) !important; }
  body.home .hero .hero-brand-badminton { font-size: clamp(2.8rem, 13vw, 4.1rem) !important; }
  body.home .hero-lede-mobile { font-size: .98rem !important; line-height: 1.34 !important; }
  body.home .hero-values-mobile { gap: 6px !important; margin: 18px 0 18px !important; }
  body.home .hero-values-mobile li { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 5px !important; text-align: center !important; font-size: .65rem !important; }
  body.home .hero-value-icon { width: 38px !important; height: 38px !important; font-size: 1.35rem !important; }
  body.home .hero .actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  body.home .hero .actions .button { min-height: 50px !important; padding: 9px 10px !important; font-size: .72rem !important; }
  body.home .hero .actions .button:nth-child(1) { grid-column: 2; }
  body.home .hero .actions .button:nth-child(2) { grid-column: 1; grid-row: 1; }
  body.home .hero .actions .button:nth-child(3) { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
  body.home .agd-mobile-home-nav { overflow-x: auto !important; overscroll-behavior-x: contain; scrollbar-width: none; }
  body.home .agd-mobile-home-nav::-webkit-scrollbar { display: none; }
  body.home .agd-mobile-home-nav .container { width: 100% !important; max-width: none !important; }
  body.home .agd-mobile-home-nav-grid { display: grid !important; grid-auto-flow: column !important; grid-template-columns: repeat(5, minmax(145px, 1fr)) !important; gap: 9px !important; width: max-content !important; }
  body.home .agd-mobile-home-nav-card { width: 145px !important; min-height: 150px !important; grid-column: auto !important; }
}

/* Reproduction mobile de la maquette officielle : une seule séquence compacte. */
.hero-news-desktop,
.agd-mobile-feature-news { display: none; }

@media (max-width: 800px) {
  body.home .premium-header .header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-areas: "brand badges menu" "live live live" !important;
    align-items: center;
    gap: 5px 8px;
    padding: 10px 14px 11px !important;
  }

  body.home .premium-header .premium-brand {
    grid-area: brand !important;
    display: flex !important;
    min-width: 0;
    align-items: center;
    gap: 7px;
  }

  body.home .premium-header .premium-brand .brand-logo img {
    width: 72px !important;
    height: 54px !important;
    object-fit: contain;
  }

  body.home .premium-header .premium-brand .brand-divider { display: none !important; }
  body.home .premium-header .brand-copy { min-width: 0; }
  body.home .premium-header .brand-title { display: grid; gap: 1px; }
  body.home .premium-header .brand-title strong { font-size: clamp(.78rem, 3.7vw, 1.1rem); letter-spacing: .08em; white-space: nowrap; }
  body.home .premium-header .brand-title em { font-size: .58rem; letter-spacing: .2em; }
  body.home .premium-header .header-socials { display: none !important; }

  body.home .premium-header .header-top-badges {
    grid-area: badges !important;
    grid-row: auto !important;
    grid-column: auto !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.home .premium-header .header-top-badges .ffbad-badge-link img { width: 34px !important; height: 42px !important; }
  body.home .premium-header .header-top-badges .efb-badge-link img { width: 28px !important; height: 42px !important; }
  body.home .premium-header .header-top-badges .header-partner-badge-link,
  body.home .premium-header .header-top-badges .header-partner-badge-link img { width: 34px !important; height: 34px !important; }

  body.home .premium-header .menu-toggle {
    grid-area: menu !important;
    grid-row: auto !important;
    grid-column: auto !important;
    width: 37px;
    height: 37px;
    margin: 0 !important;
    border-left: 1px solid rgba(255,255,255,.25);
    border-radius: 0;
    background: transparent;
    color: #f4c45b;
    font-size: 1.7rem;
    line-height: 1;
  }

  body.home .premium-header .header-live-strip {
    grid-area: live !important;
    grid-row: auto !important;
    grid-column: 1 / -1 !important;
    justify-self: start;
    margin: 0 0 0 80px;
  }

  body.home .premium-header .premium-nav { display: none !important; }

  body.home .agd-featured-notice {
    order: 0 !important;
    width: calc(100% - 28px) !important;
    min-height: 67px;
    margin: 12px auto 0 !important;
    padding: 15px 14px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(177,132,49,.13);
    border-radius: 22px 7px 22px 7px;
    background: linear-gradient(105deg, #fff 0%, #fbfaf7 100%);
    box-shadow: 0 9px 24px rgba(6,29,58,.1);
  }

  body.home .agd-featured-notice p { display: contents; }
  body.home .agd-featured-notice__label {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    color: #b27c12;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .05em;
    white-space: nowrap;
  }
  body.home .agd-featured-notice__label::before {
    content: "★";
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 2px solid #b27c12;
    border-radius: 50%;
    font-size: .9rem;
  }
  body.home .agd-featured-notice__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #071d3b; font-size: .74rem; }
  body.home .agd-featured-notice a { color: #07508f; font-size: .73rem; font-weight: 800; white-space: nowrap; }

  body.home .hero {
    order: 1 !important;
    width: calc(100% - 28px) !important;
    margin: 18px auto 0 !important;
    border: 0 !important;
    border-radius: 27px 8px 27px 8px !important;
    background: linear-gradient(140deg, #031a37 0%, #062951 52%, #087c88 100%) !important;
    box-shadow: 0 15px 28px rgba(6,29,58,.2) !important;
    overflow: hidden;
  }

  body.home .hero-grid { display: block !important; padding: 0 !important; }
  body.home .hero-copy { padding: 30px 20px 24px !important; text-align: left !important; }
  body.home .hero h1 { margin: 0 0 16px !important; text-align: left !important; }
  body.home .hero .hero-brand-agd { color: #ed2633 !important; font-family: Georgia, serif; font-size: clamp(3.4rem, 16vw, 5.2rem) !important; line-height: .82; }
  body.home .hero .hero-brand-badminton { color: #fff !important; font-family: Georgia, serif; font-size: clamp(3.1rem, 14vw, 4.9rem) !important; line-height: .92; }
  body.home .hero h1::after { content: ""; display: block; width: 43px; height: 3px; margin-top: 17px; background: #f4c45b; }
  body.home .hero-lede-mobile { margin: 0 !important; color: rgba(255,255,255,.94) !important; font-size: clamp(1.05rem, 4.5vw, 1.35rem); line-height: 1.4; }
  body.home .hero-lede-mobile strong { color: #f4c45b; }

  body.home .hero-values-mobile { margin: 24px 0 22px !important; gap: 7px !important; }
  body.home .hero-values-mobile li { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px; padding: 0 2px 0 0; border: 0; color: #f4c45b; font-size: clamp(.63rem, 2.8vw, .82rem); line-height: 1.1; }
  body.home .hero-value-icon { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; font-size: 1.45rem; }

  body.home .hero .actions { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 !important; }
  body.home .hero .actions .button { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 10px 11px; border-radius: 14px 5px 14px 5px; font-size: clamp(.62rem, 2.7vw, .82rem); line-height: 1.05; text-align: left; }
  body.home .hero .actions .button:nth-child(1) { order: 3; border-color: #f4c45b; background: transparent; color: #fff; }
  body.home .hero .actions .button:nth-child(2) { order: 1; border-color: #ef2634; background: #ef2634; color: #fff; }
  body.home .hero .actions .button:nth-child(3) { order: 2; border-color: #f4c45b; background: transparent; color: #fff; }
  body.home .hero-news-desktop { display: none !important; }

  body.home .agd-mobile-feature-news {
    display: block;
    order: 2 !important;
    width: calc(100% - 28px);
    margin: 18px auto 0;
  }
  body.home .agd-mobile-feature-news .container { width: 100%; padding: 0; }
  body.home .agd-mobile-feature-news .agd-hero-news { display: block; width: 100%; padding: 0; border: 0; border-radius: 24px 7px 24px 7px; background: #fff; box-shadow: 0 10px 24px rgba(6,29,58,.1); overflow: hidden; }
  body.home .agd-mobile-feature-news .agd-hero-news__heading { display: none; }
  body.home .agd-mobile-feature-news .agd-hero-news__viewport { overflow: hidden; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__content { display: grid; grid-template-columns: 38% minmax(0, 1fr); min-height: 190px; }
  body.home .agd-mobile-feature-news .agd-hero-news__media { display: block; min-height: 190px; }
  body.home .agd-mobile-feature-news .agd-hero-news__media img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__copy { position: static; display: flex; flex-direction: column; justify-content: center; padding: 16px 14px; color: #071d3b; background: #fff; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__meta { margin: 0 0 8px; color: #07508f; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
  body.home .agd-mobile-feature-news .agd-hero-news-card h2 { margin: 0 0 8px; font-size: clamp(1rem, 4.2vw, 1.35rem); line-height: 1.05; }
  body.home .agd-mobile-feature-news .agd-hero-news-card h2 a { color: #071d3b; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__excerpt { margin: 0 0 8px; color: #4e5660; font-size: .72rem; line-height: 1.25; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__link { color: #07508f; font-size: .78rem; font-weight: 800; }
  body.home .agd-mobile-feature-news .agd-hero-news__controls { display: flex; justify-content: flex-end; gap: 8px; padding: 0 13px 10px; }
  body.home .agd-mobile-feature-news .agd-hero-news__controls button { width: 18px; height: 18px; border: 0; border-radius: 50%; background: #d9d9d9; color: transparent; }
  body.home .agd-mobile-feature-news .agd-hero-news__controls button[data-news-next] { background: #ed2633; }

  body.home .agd-mobile-home-nav { order: 3 !important; width: calc(100% - 28px); margin: 18px auto 0; padding: 0; }
  body.home .agd-mobile-home-nav .container { width: 100%; }
  body.home .agd-mobile-home-nav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  body.home .agd-mobile-home-nav-card { min-height: 78px; grid-template-columns: 1fr; justify-items: center; gap: 3px; padding: 11px 7px; border-radius: 18px 6px 18px 6px; text-align: center; }
  body.home .agd-mobile-home-nav-card:nth-child(3) { grid-column: auto; }
  body.home .agd-mobile-home-nav-card strong { font-size: .76rem; }
  body.home .agd-mobile-home-nav-card > span:last-child { font-size: 1rem; }

  body.home .agd-mobile-season-band { order: 4 !important; width: calc(100% - 28px); margin: 16px auto 20px; min-height: 76px; padding: 14px 16px; border: 0; border-radius: 22px 7px 22px 7px; background: linear-gradient(105deg, #061f42 0%, #0d4764 100%); color: #fff; }
  body.home .agd-mobile-season-kicker { color: #fff; }
  body.home .agd-mobile-season-band strong { color: #fff; }
  body.home .agd-mobile-season-band a { padding: 9px 12px; border-radius: 9px; background: #dcb45c; color: #071d3b; }

  body.home #infos,
  body.home #publics,
  body.home #en-un-clin-doeil,
  body.home #actualites-recentes { display: none !important; }
}

@media (max-width: 480px) {
  body.home .agd-mobile-feature-news .agd-hero-news-card__content { grid-template-columns: 34% minmax(0, 1fr); }
  body.home .agd-mobile-feature-news .agd-hero-news-card__copy { padding-inline: 11px; }
  body.home .agd-mobile-feature-news .agd-hero-news-card__excerpt { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .agd-mobile-home-nav-card { transition: none !important; }
}

.hero-news-desktop { display: contents; }

/* Home mobile officielle : composition compacte et homogène de la maquette validée. */
.hero-lede-mobile,
.hero-values-mobile,
.agd-mobile-home-nav,
.agd-mobile-season-band {
  display: none;
}

@media (max-width: 800px) {
  body.home .agd-featured-notice {
    transform: none !important;
  }

  body.home .hero {
    margin-top: 34px;
  }

  body.home .hero-lede:not(.hero-lede-mobile) { display: none; }
  body.home .hero-lede-mobile {
    display: block;
    max-width: 29rem;
    margin: 0 auto;
  }

  body.home .hero-values-mobile {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    list-style: none;
    margin: 14px 0 18px;
    padding: 0;
    color: rgba(255,255,255,.92);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .03em;
  }

  body.home .hero-values-mobile li {
    min-width: 0;
    padding: 8px 4px;
    border-top: 1px solid rgba(244,196,91,.75);
    border-bottom: 1px solid rgba(255,255,255,.16);
    color: #f7f2e8;
  }

  body.home .agd-mobile-home-nav {
    display: block;
    order: 2 !important;
    padding: 18px 0 7px;
  }

  body.home .agd-mobile-home-nav .container {
    width: min(100% - 28px, 560px);
    margin-inline: auto;
  }

  body.home .agd-mobile-home-nav-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body.home .agd-mobile-home-nav-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 56px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px 5px 14px 5px;
    background: linear-gradient(135deg, #071d3b 0%, #103c5c 70%, #1b6f7b 100%);
    box-shadow: 0 9px 18px rgba(6,29,58,.14);
    color: #fff;
    text-decoration: none;
    transition: transform 220ms cubic-bezier(.22,.75,.25,1), border-color 220ms ease;
  }

  body.home .agd-mobile-home-nav-card:nth-child(3) { grid-column: 1 / -1; }
  body.home .agd-mobile-home-nav-card:active,
  body.home .agd-mobile-home-nav-card:focus-visible { transform: translateY(-2px); border-color: #f4c45b; }
  body.home .agd-mobile-home-nav-card strong { min-width: 0; font-size: .77rem; line-height: 1.15; }
  body.home .agd-mobile-home-nav-icon { color: #f4c45b; font-size: 1rem; line-height: 1; }
  body.home .agd-mobile-home-nav-card > span:last-child { color: #f4c45b; font-size: 1rem; }

  body.home .agd-mobile-season-band {
    display: flex;
    order: 3 !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: min(100% - 28px, 560px);
    margin: 18px auto 12px;
    padding: 15px 16px;
    border: 1px solid rgba(244,196,91,.45);
    border-radius: 16px 6px 16px 6px;
    background: linear-gradient(135deg, #f4efe4 0%, #d8edf0 100%);
    box-shadow: 0 9px 18px rgba(6,29,58,.1);
    color: #071d3b;
  }

  body.home #infos { order: 4 !important; }
  body.home #publics { order: 5 !important; }
  body.home #en-un-clin-doeil { order: 6 !important; }
  body.home #actualites-recentes { order: 7 !important; }

  body.home .agd-mobile-season-band > div { display: grid; gap: 3px; min-width: 0; }
  body.home .agd-mobile-season-kicker { color: #b27c12; font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
  body.home .agd-mobile-season-band strong { font-size: .8rem; line-height: 1.2; }
  body.home .agd-mobile-season-band a { flex: 0 0 auto; color: #071d3b; font-size: .72rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
  body.home .agd-mobile-season-band a span { color: #c43d3d; }

}

@media (max-width: 390px) {
  body.home .agd-mobile-home-nav-card { padding-inline: 9px; }
  body.home .agd-mobile-home-nav-card strong { font-size: .71rem; }
  body.home .agd-mobile-season-band { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 800px) and (prefers-reduced-motion: reduce) {
  body.home .agd-mobile-home-nav-card { transition: none; }
}

@media (max-width: 800px) {
  /* Les anciennes règles de ligne du header ne doivent plus repousser les logos hors de la zone sombre. */
  body.home .premium-header .header-inner {
    grid-template-rows: 72px 50px 35px auto;
    min-height: 0;
  }

  body.home .premium-header .header-live-strip,
  body.home .premium-header .premium-nav {
    grid-row: auto !important;
    grid-column: auto !important;
  }

  body.home .premium-header .header-top-badges {
    order: initial;
    height: 46px;
    padding: 2px 0;
    margin: 0;
    align-self: center;
  }

  /* La carte centrale devient une scène contenue, centrée et plus respirante. */
  body.home .hero {
    width: min(100% - 28px, 560px);
    margin: 14px auto 0;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 24px 8px 24px 8px;
    box-shadow: 0 18px 34px rgba(6,29,58,.2);
  }

  body.home .hero-grid {
    width: 100%;
    padding: 0 16px 16px;
  }

  body.home .hero-copy {
    padding: 27px 4px 16px;
    text-align: center;
  }

  body.home .hero-copy .eyebrow {
    justify-content: center;
  }

  body.home .hero h1 {
    text-align: center;
  }

  body.home .hero-copy>p:not(.eyebrow) {
    max-width: 31rem;
    margin-inline: auto;
  }

  body.home .hero .actions {
    justify-content: center;
  }

  body.home .agd-hero-news {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 18px 6px 18px 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .hero .actions .button,
  body.home .agd-hero-news-card__copy { transition: none !important; }
}

/* Variante mobile complète : les identifiants restent visibles dans le header. */
@media (max-width: 800px) {
  body.home .premium-header .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand menu" "badges badges" "live live" "nav nav";
    align-items: center;
    gap: 0;
    padding: 9px 14px 7px;
  }

  body.home .premium-header .premium-brand { grid-area: brand; }
  body.home .premium-header .premium-brand { grid-row: 1 !important; grid-column: 1 !important; }
  body.home .premium-header .menu-toggle { grid-area: auto; grid-row: 1 !important; grid-column: 2 !important; margin-left: 10px; }
  body.home .premium-header .header-top-badges {
    grid-area: auto;
    grid-row: 2 !important;
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-height: 0;
    height: auto;
    margin: 3px 0 0;
    padding: 5px 0 2px;
  }

  body.home .premium-header .header-top-badges .ffbad-badge-link img { width: 46px; height: 46px; max-width: 46px; }
  body.home .premium-header .header-top-badges .efb-badge-link img { width: 36px; height: 46px; max-width: 36px; }
  body.home .premium-header .header-top-badges .header-partner-badge-link,
  body.home .premium-header .header-top-badges .header-partner-badge-link img { width: 42px; height: 42px; }
  body.home .premium-header .header-live-strip { grid-area: auto; grid-row: 3 !important; grid-column: 1 / -1 !important; order: initial; }
  body.home .premium-header .premium-nav { grid-area: auto; grid-row: 4 !important; grid-column: 1 / -1 !important; order: initial; }
  body.home .premium-header .header-socials { display: none !important; }
  body.home .premium-header .premium-nav .mobile-header-secondary { display: none !important; }
}

@media (max-width: 390px) {
  body.home .premium-header .header-top-badges { gap: 8px; }
  body.home .premium-header .header-top-badges .ffbad-badge-link img { width: 42px; height: 42px; max-width: 42px; }
  body.home .premium-header .header-top-badges .efb-badge-link img { width: 33px; height: 42px; max-width: 33px; }
  body.home .premium-header .header-top-badges .header-partner-badge-link,
  body.home .premium-header .header-top-badges .header-partner-badge-link img { width: 38px; height: 38px; }
}

/* Final mobile authority: keep the public landing composition intact after legacy rules. */
@media (max-width: 800px) {
  body.home .premium-header .header-inner { grid-template-columns: minmax(0, 1fr) auto auto !important; grid-template-areas: "brand badges menu" "live live live" !important; padding: 10px 14px 11px !important; }
  body.home .premium-header .premium-brand { grid-area: brand !important; grid-row: auto !important; grid-column: auto !important; }
  body.home .premium-header .header-top-badges { grid-area: badges !important; grid-row: auto !important; grid-column: auto !important; justify-content: flex-end !important; gap: 5px !important; margin: 0 !important; padding: 0 !important; }
  body.home .premium-header .menu-toggle { grid-area: menu !important; grid-row: auto !important; grid-column: auto !important; margin: 0 !important; }
  body.home .premium-header .header-live-strip { grid-area: live !important; grid-row: auto !important; grid-column: 1 / -1 !important; margin-left: 80px !important; }
  body.home .premium-header .premium-nav { display: none !important; }
  body.home .agd-featured-notice { transform: none !important; margin-top: 12px !important; }
  body.home .hero { order: 1 !important; margin-top: 0 !important; }
  body.home .agd-mobile-feature-news { display: block !important; order: 2 !important; }
  body.home .agd-mobile-home-nav { order: 3 !important; }
  body.home .agd-mobile-season-band { order: 4 !important; }
  body.home #infos, body.home #publics, body.home #en-un-clin-doeil, body.home #actualites-recentes { display: none !important; }
}

@media (max-width: 800px) {
  body.home .premium-header .header-inner { position: relative !important; display: block !important; min-height: 165px; height: 165px; padding: 0 !important; }
  body.home .premium-header .premium-brand { position: absolute !important; top: 12px !important; left: 14px !important; right: auto !important; width: 218px !important; height: 54px !important; }
  body.home .premium-header .header-top-badges { position: absolute !important; top: 10px !important; right: 55px !important; left: auto !important; width: auto !important; height: 52px !important; }
  body.home .premium-header .menu-toggle { position: absolute !important; top: 10px !important; right: 10px !important; }
  body.home .premium-header .header-live-strip { position: absolute !important; top: 76px !important; left: 80px !important; right: auto !important; margin: 0 !important; }
  body.home .agd-featured-notice { width: calc(100% - 28px) !important; margin-left: auto !important; margin-right: auto !important; left: auto !important; right: auto !important; }
  body.home .agd-featured-notice { scale: none !important; translate: none !important; rotate: none !important; }
  body.home .premium-header .premium-brand { width: 166px !important; gap: 5px !important; }
  body.home .premium-header .premium-brand .brand-logo img { width: 54px !important; height: 48px !important; }
  body.home .premium-header .brand-title strong { font-size: .72rem !important; letter-spacing: .07em !important; }
  body.home .premium-header .brand-title em { font-size: .5rem !important; }
  body.home .agd-featured-notice .container { width: 100% !important; padding: 0 !important; }
  body.home .agd-featured-notice p { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; margin: 0 !important; }
  body.home .agd-featured-notice__text { font-size: 0 !important; }
  body.home .agd-featured-notice__text::after { content: "Retrouvez l’AGD à Deauville"; font-size: .74rem; }
  body.home .agd-featured-notice__text { position: relative; color: transparent !important; overflow: visible; white-space: nowrap; }
  body.home .agd-featured-notice__text::after { position: absolute; left: 0; top: 50%; transform: translateY(-50%); color: #071d3b; font-size: .7rem; white-space: nowrap; }
  body.home .hero .actions .button:nth-child(3) { border: 1px solid #f4c45b !important; background: rgba(6,29,58,.18) !important; color: #fff !important; }
}
