/* =========================================================
   12R — Harmonisation des pages publiques
   Actualités, Galerie et Clubs
   Version 1.0 — 28/07/2026
   Chargement après les feuilles propres à chaque page.
   ========================================================= */

:root{
    --public-navy:#073665;
    --public-navy-dark:#052b52;
    --public-blue:#0b579d;
    --public-soft:#f5f8fc;
    --public-border:#dbe4ef;
    --public-text:#25344a;
    --public-muted:#64748b;
    --public-radius:14px;
    --public-shadow:0 8px 22px rgba(15,23,42,.08);
}

/* Bandeau commun : compact, lisible et identique sur les trois pages */
body.page-actualites-premium .premium-hero,
body.page-gallery .gallery-hero,
body.page-clubs .page-hero{
    min-height:0 !important;
    padding:24px 0 !important;
    background:linear-gradient(120deg,var(--public-navy-dark),var(--public-blue)) !important;
    color:#fff !important;
}

body.page-actualites-premium .premium-hero .container,
body.page-gallery .gallery-hero-inner,
body.page-clubs .page-hero .container{
    min-height:112px;
}

body.page-actualites-premium .premium-hero h1,
body.page-gallery .gallery-hero h1,
body.page-clubs .page-hero h1{
    margin:0 0 8px !important;
    color:#fff !important;
    font-size:clamp(1.9rem,2.5vw,2.65rem) !important;
    line-height:1.05 !important;
    text-transform:uppercase;
    letter-spacing:.015em;
    opacity:1 !important;
    text-shadow:0 2px 10px rgba(0,0,0,.14);
}

body.page-actualites-premium .premium-hero p,
body.page-gallery .gallery-hero p,
body.page-clubs .page-hero p{
    max-width:820px;
    margin:0 !important;
    color:#e5efff !important;
    font-size:.98rem !important;
    line-height:1.5 !important;
    font-weight:600 !important;
}

/* ---------- Actualités ---------- */
body.page-actualites-premium .premium-hero .container{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
}

body.page-actualites-premium .premium-counter{
    min-width:180px !important;
    padding:13px 16px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.12) !important;
}

body.page-actualites-premium .premium-counter strong{font-size:1.85rem !important;line-height:1}
body.page-actualites-premium .premium-counter span{font-size:.9rem}
body.page-actualites-premium .premium-counter small{font-size:.76rem;margin-top:4px !important}

body.page-actualites-premium .news-list{
    margin:24px auto 38px !important;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px !important;
}

body.page-actualites-premium .news-card-public{
    border-radius:14px !important;
    box-shadow:var(--public-shadow) !important;
}

body.page-actualites-premium .news-card-img{height:165px !important}
body.page-actualites-premium .premium-badge{top:10px;left:10px;padding:6px 9px;font-size:.72rem}
body.page-actualites-premium .news-card-body{padding:16px !important}
body.page-actualites-premium .news-date{margin-bottom:7px !important;font-size:.74rem !important}
body.page-actualites-premium .news-card-body h2{
    margin:0 0 8px !important;
    font-size:1.08rem !important;
    line-height:1.28 !important;
}
body.page-actualites-premium .news-card-body p{
    margin:0 0 13px !important;
    color:var(--public-text) !important;
    font-size:.88rem !important;
    line-height:1.48 !important;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
body.page-actualites-premium .news-link{padding:9px 13px !important;border-radius:8px !important;font-size:.84rem}

/* ---------- Galerie ---------- */
body.page-gallery .gallery-hero-inner{
    grid-template-columns:minmax(0,1fr) minmax(300px,430px) !important;
    gap:24px !important;
}
body.page-gallery .gallery-kicker{font-size:.68rem !important}
body.page-gallery .gallery-featured{
    height:145px !important;
    border-radius:14px !important;
    box-shadow:0 12px 28px rgba(0,0,0,.19) !important;
}
body.page-gallery .gallery-featured>span{padding:15px !important}
body.page-gallery .gallery-featured strong{font-size:1.02rem !important}
body.page-gallery .gallery-content{padding-top:16px !important;padding-bottom:36px !important}
body.page-gallery .gallery-stats{
    max-width:520px !important;
    margin-top:-28px !important;
    gap:9px !important;
}
body.page-gallery .gallery-stats article{padding:10px 14px !important;border-radius:12px !important}
body.page-gallery .gallery-stats strong{font-size:1.3rem !important}
body.page-gallery .gallery-toolbar{margin:18px 0 !important;padding:10px !important;border-radius:13px !important}
body.page-gallery .gallery-heading{margin:20px 0 12px !important}
body.page-gallery .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:15px !important}
body.page-gallery .gallery-album{border-radius:14px !important}
body.page-gallery .gallery-cover{height:170px !important}
body.page-gallery .gallery-album-body{padding:13px !important}
body.page-gallery .gallery-album h3{font-size:1rem !important}

/* ---------- Clubs ---------- */
body.page-clubs .clubs-toolbar{
    margin:20px auto 14px !important;
    padding:13px !important;
    border-radius:13px !important;
    box-shadow:var(--public-shadow) !important;
}
body.page-clubs .search-form input,
body.page-clubs .search-form button{padding:10px 13px !important}
body.page-clubs .filters a{padding:7px 10px !important;font-size:.82rem}
body.page-clubs .club-stats{gap:12px !important;margin:0 auto 18px !important}
body.page-clubs .club-stat{padding:14px 17px !important;border-radius:13px !important;box-shadow:var(--public-shadow) !important}
body.page-clubs .club-stat strong{font-size:1.65rem !important}
body.page-clubs .club-stat span{margin-top:5px !important;font-size:.75rem !important}
body.page-clubs .clubs-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:16px !important;
    margin:0 auto 38px !important;
}
body.page-clubs .club-card{border-radius:14px !important;box-shadow:var(--public-shadow) !important}
body.page-clubs .club-cover{height:112px !important}
body.page-clubs .club-logo,
body.page-clubs .club-logo-placeholder{
    left:16px !important;
    bottom:-23px !important;
    width:52px !important;
    height:52px !important;
    border-radius:11px !important;
}
body.page-clubs .club-body{padding:32px 16px 16px !important}
body.page-clubs .club-body h2{font-size:1.08rem !important;margin-bottom:7px !important}
body.page-clubs .club-meta{font-size:.82rem !important;margin-bottom:10px !important}
body.page-clubs .club-count{padding:6px 9px !important;margin-bottom:12px !important;font-size:.76rem !important}
body.page-clubs .club-description{
    margin-bottom:13px !important;
    font-size:.86rem !important;
    line-height:1.45 !important;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
body.page-clubs .club-link{padding:9px 13px !important;font-size:.84rem !important}

@media (max-width:1250px){
    body.page-actualites-premium .news-list,
    body.page-gallery .gallery-grid,
    body.page-clubs .clubs-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}

@media (max-width:900px){
    body.page-actualites-premium .news-list,
    body.page-gallery .gallery-grid,
    body.page-clubs .clubs-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
    body.page-gallery .gallery-hero-inner{grid-template-columns:1fr !important}
    body.page-gallery .gallery-featured{display:none !important}
    body.page-gallery .gallery-toolbar{grid-template-columns:1fr 1fr !important}
}

@media (max-width:640px){
    body.page-actualites-premium .premium-hero,
    body.page-gallery .gallery-hero,
    body.page-clubs .page-hero{padding:18px 0 !important}

    body.page-actualites-premium .premium-hero .container,
    body.page-gallery .gallery-hero-inner,
    body.page-clubs .page-hero .container{min-height:0}

    body.page-actualites-premium .premium-hero .container{grid-template-columns:1fr !important;gap:13px !important}
    body.page-actualites-premium .premium-counter{min-width:0 !important;width:100%;display:grid;grid-template-columns:auto 1fr;column-gap:10px;text-align:left !important}
    body.page-actualites-premium .premium-counter strong{grid-row:1 / 3;align-self:center}

    body.page-actualites-premium .news-list,
    body.page-gallery .gallery-grid,
    body.page-clubs .clubs-grid{grid-template-columns:1fr !important}

    body.page-actualites-premium .news-card-img{height:180px !important}
    body.page-gallery .gallery-stats{grid-template-columns:repeat(3,1fr) !important;margin-top:12px !important}
    body.page-gallery .gallery-toolbar{grid-template-columns:1fr !important}
    body.page-clubs .clubs-toolbar{grid-template-columns:1fr !important}
    body.page-clubs .club-stats{grid-template-columns:repeat(2,1fr) !important}
}
