/* Thème Lion Élite — famille Nova (Clochu). Style « grand club » original : bleu nuit, rouge et or. */

:root { --paper: #FFFFFF; --ink: #12112E; --muted: #5A5C78; --line: #E1E3EE; --radius: 6px; --on-accent: #FFFFFF; --gold: #FDC52C; }

/* Titres condensés en capitales */
h1, h2, h3, .brand-text, .main-nav a, .main-nav .menu-heading, .btn, .stats strong, .datebox, .section-head h2 { font-family: var(--font-head); }
h1, h2, h3 { text-transform: uppercase; font-weight: 800; letter-spacing: .005em; line-height: 1.02; }
h2 { font-size: clamp(1.9rem, 4.2vw, 3rem); }

/* Barre du haut et en-tête */
.top-bar { background: var(--dark); color: rgba(255,255,255,.75); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.site-header { background: var(--primary); color: #fff; border-bottom: 0; box-shadow: none; }
.site-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 4px; background: linear-gradient(90deg, var(--primary) 0 33.3%, var(--accent) 33.3% 66.6%, var(--gold) 66.6%); pointer-events: none; }
.site-header { position: relative; }
.hdr-overlay:not(.is-scrolled) .site-header { background: linear-gradient(180deg, rgba(8,7,30,.85), rgba(8,7,30,0)); }
.hdr-overlay:not(.is-scrolled) .site-header::after { display: none; }
.site-header .brand-text { color: #fff; text-transform: uppercase; font-weight: 800; letter-spacing: .02em; font-size: 1.35rem; }
@media (min-width: 1000px) {
  .main-nav a, .main-nav .nav-menu > li > .menu-heading { color: #fff; text-transform: uppercase; font-weight: 700; letter-spacing: .06em; font-size: .88rem; padding: 9px 10px; }
  .main-nav a:hover { color: var(--gold); }
  .main-nav a[aria-current="page"] { color: var(--gold); }
  .main-nav a[aria-current="page"]::after { background: var(--gold); height: 3px; }
}

/* Boutons carrés en capitales */
.btn { border-radius: 2px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.btn-accent { background: var(--accent); color: #fff; border: 0; padding: 15px 28px; box-shadow: 0 12px 28px color-mix(in srgb, var(--accent) 35%, transparent); }
.btn-accent:hover { background: color-mix(in srgb, var(--accent) 85%, #000); }
.btn-ghost { border-width: 2px; }

/* Accueil plein écran : titre géant */
.hero-full, .hero-photo { background-color: var(--dark); }
.hero-full::before, .hero-photo::before { background: linear-gradient(90deg, rgba(8,7,30,.92) 0%, rgba(8,7,30,.55) 45%, rgba(8,7,30,.1) 75%), linear-gradient(0deg, rgba(8,7,30,.9), rgba(8,7,30,0) 45%) !important; opacity: 1 !important; }
.hero-full h1, .hero-photo h1 { font-size: clamp(2.8rem, 8.5vw, 6.6rem); line-height: .92; max-width: 13ch; text-shadow: 0 6px 30px rgba(0,0,0,.35); }
.hero .tagline { color: var(--gold); text-transform: uppercase; letter-spacing: .16em; font-weight: 700; font-size: .9rem; opacity: 1; }
.hero .tagline::before { content: ""; display: inline-block; width: 34px; height: 3px; background: var(--accent); vertical-align: middle; margin-right: 12px; }
.hero-lede { font-size: 1.1rem; max-width: 46ch; }

/* Titres de section avec trait tricolore */
.section-head h2 { position: relative; padding-bottom: 14px; }
.section-head h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 72px; height: 5px; background: linear-gradient(90deg, var(--accent) 0 50%, var(--gold) 50%); }
.section-head { text-align: left; }

/* Actualités façon magazine sportif : photo plein cadre, titre sur l'image */
.post-card a { position: relative; display: block; overflow: hidden; padding: 0; border: 0; border-radius: var(--radius); background: var(--dark); color: #fff; min-height: 300px; box-shadow: 0 14px 34px rgba(10,9,40,.18); }
.post-card img, .post-card .noimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .6s ease; }
.post-card .noimg { background: linear-gradient(135deg, var(--primary), var(--dark)); }
.post-card a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,7,30,.95) 8%, rgba(8,7,30,.35) 55%, rgba(8,7,30,0)); }
.post-card a > :not(img):not(.noimg) { position: relative; z-index: 1; }
.post-card .meta { position: absolute; z-index: 2; left: 18px; top: 16px; background: var(--accent); color: #fff; padding: 4px 10px; font: 700 .72rem var(--font-body); text-transform: uppercase; letter-spacing: .1em; }
.post-card h3 { margin: 0; padding: 110px 18px 6px; font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.08; color: #fff; }
.post-card p { padding: 0 20px 20px; margin: 0; color: rgba(255,255,255,.8); font-size: .92rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.post-card a:hover img { transform: scale(1.06); }
.cards-bento .post-grid > :first-child a { min-height: 460px; }
.cards-bento .post-grid > :first-child h3 { font-size: clamp(1.7rem, 3.4vw, 2.6rem); }

/* Chiffres sur fond bleu nuit */
.stats-band { background: var(--primary); color: #fff; }
.stats strong { color: var(--gold); font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight: 800; }
.stats span { color: rgba(255,255,255,.8); text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; }

/* Agenda : dates façon billet de match */
.datebox { background: var(--primary); color: #fff; border-radius: 2px; border-bottom: 4px solid var(--accent); }
.datebox span { text-transform: uppercase; letter-spacing: .08em; color: var(--gold); }

/* Programmes */
.program a { border-radius: var(--radius); }
.program h3 { font-size: 1.4rem; }

/* Bande d'appel à l'action */
.cta-band { background: linear-gradient(120deg, var(--dark), var(--primary) 60%, color-mix(in srgb, var(--accent) 70%, var(--primary))); color: #fff; }
.cta-band h2 { color: #fff; }

/* Pied de page */
.site-footer { background: var(--dark); color: rgba(255,255,255,.8); border-top: 4px solid var(--accent); }
.site-footer a { color: #fff; }
.site-footer h2, .site-footer h3 { color: var(--gold); }

/* Citation */
.word { border-left: 5px solid var(--accent); background: var(--light); }
.word blockquote, .word p:first-child { font-size: 1.15rem; line-height: 1.55; font-style: italic; }

/* Partenaires en niveaux de gris, couleur au survol */
.logos img, .partner-list img { filter: grayscale(1); opacity: .75; transition: .3s; }
.logos img:hover, .partner-list img:hover { filter: none; opacity: 1; }

/* Page intérieure : en-tête bleu nuit */
.page-head { background: linear-gradient(120deg, var(--dark), var(--primary)); color: #fff; }
.page-head h1 { color: #fff; font-size: clamp(2.4rem, 6vw, 4.4rem); }

/* Mosaïque d'actualités : petites cartes plus sobres */
.cards-bento .post-grid > :not(:first-child) a { min-height: 300px; }
.cards-bento .post-grid > :not(:first-child) p { display: none; }
@media (max-width: 700px) { .post-card a { min-height: 260px; } .cards-bento .post-grid > :first-child a { min-height: 340px; } }

/* En-tête au défilement : bandeau nuit plein, texte blanc */
.hdr-overlay.is-scrolled .site-header { background: var(--primary); color: #fff; box-shadow: 0 8px 24px rgba(8,7,30,.35); }
.hdr-overlay.is-scrolled .site-header .brand, .hdr-overlay.is-scrolled .brand-text, .hdr-overlay.is-scrolled .brand-text strong, .hdr-overlay.is-scrolled .main-nav a, .hdr-overlay.is-scrolled .main-nav .nav-menu > li > .menu-heading, .hdr-overlay.is-scrolled .sub-toggle { color: #fff; }
.hdr-overlay.is-scrolled .site-header .brand-text span, .hdr-overlay.is-scrolled .site-header .lang a { color: rgba(255,255,255,.7); }
.hdr-overlay.is-scrolled .main-nav a[aria-current="page"], .hdr-overlay.is-scrolled .main-nav a:hover { color: var(--gold); }
/* Menu sur une seule ligne sur grand écran */
@media (min-width: 1100px) {
  .main-nav a, .main-nav .nav-menu > li > .menu-heading { padding: 9px 7px; font-size: .82rem; letter-spacing: .04em; }
  .main-nav .nav-menu { flex-wrap: nowrap; }
  .site-header .wrap.header-row { max-width: 1320px; }
}
