:root{--navy:#062653;--blue:#0d4ea3;--yellow:#ffd400;--light:#f5f8fc;--white:#fff;--text:#10284a;--muted:#66758a;--radius:18px;--shadow:0 12px 35px rgba(6,38,83,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e8eef6}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px;color:var(--navy)}.logo img{width:48px;height:48px;border-radius:50%;object-fit:cover}.menu{display:flex;gap:20px;align-items:center;font-weight:700;font-size:14px}.menu a:hover,.menu a.active{color:var(--blue)}.cta{background:var(--yellow);color:var(--navy);padding:12px 19px;border-radius:999px;font-weight:900;display:inline-block}.menu-btn{display:none;background:none;border:0;font-size:28px}.hero{height:620px;min-height:620px;color:#fff;display:flex;align-items:flex-start;overflow:hidden}.hero-real{background-image:linear-gradient(90deg,rgba(2,20,49,.9),rgba(2,20,49,.48) 55%,rgba(2,20,49,.15)),url('https://volleyclubmouvallois.fr/images/banniere/accueil.jpg');background-size:cover;background-position:center}.hero-inner{padding:88px 0 0;min-height:620px}.eyebrow{color:var(--yellow);font-weight:900;text-transform:uppercase;letter-spacing:.08em}h1{font-size:clamp(42px,6vw,76px);line-height:.98;margin:14px 0 18px;max-width:760px}.hero p{font-size:20px;max-width:650px}.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn{padding:14px 22px;border-radius:999px;border:2px solid #fff;font-weight:900}.btn.primary{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}.stats{margin-top:-45px;position:relative}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.stat{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;display:flex;gap:18px;align-items:center}.icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font-size:22px}.stat strong{display:block;font-size:30px;color:var(--navy)}.stat span{color:var(--muted);font-weight:700}section{padding:75px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-head h2{margin:0;font-size:38px}.underline{width:54px;height:5px;background:var(--yellow);border-radius:10px;margin-top:8px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid #e4ebf4;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 25px rgba(6,38,83,.06)}.card-body{padding:22px}.tag{display:inline-block;background:#fff0a6;color:#624f00;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900}.card h3{margin:12px 0 8px;font-size:20px}.muted{color:var(--muted)}.match{padding:22px}.match-top{display:flex;justify-content:space-between;font-size:13px;font-weight:800;color:var(--muted)}.teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:10px;margin:25px 0}.team-logo{width:58px;height:58px;border-radius:50%;background:var(--navy);color:var(--yellow);display:grid;place-items:center;margin:auto;font-weight:900}.vs{font-weight:900;color:var(--muted)}.about{background:var(--light)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.real-photo{width:100%;height:100%;min-height:360px;object-fit:cover;border-radius:26px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}.feature{background:#fff;padding:18px;border-radius:14px}.feature b{display:block;margin-bottom:4px}.banner{background:var(--navy);color:#fff}.banner-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.pills{display:flex;gap:10px;flex-wrap:wrap}.pill{border:1px solid rgba(255,255,255,.5);padding:10px 16px;border-radius:999px}.footer{background:#031b3d;color:#dbe7f7;padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}.footer h3{color:#fff}.footer a{display:block;margin:8px 0;color:#dbe7f7}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:18px;font-size:13px}.page-hero{padding:75px 0;background:linear-gradient(135deg,#062653,#1767c8);color:#fff}.page-hero h1{font-size:54px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.filter{border:1px solid #dce5f0;background:#fff;padding:10px 15px;border-radius:999px;font-weight:800}.filter.active{background:var(--yellow);border-color:var(--yellow)}.team-card{padding:24px}.team-card h3{margin:0 0 5px}.team-meta{font-size:14px;color:var(--muted)}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;padding:14px;border:1px solid #dce5f0;border-radius:12px;font:inherit}.form textarea{min-height:150px}.notice{background:#fff;border-left:6px solid var(--yellow);box-shadow:var(--shadow);padding:18px 22px;border-radius:14px;margin-top:25px}.news-photo{height:210px;width:100%;object-fit:cover}@media(max-width:850px){.menu{display:none}.menu-btn{display:block}.nav .cta{display:none}.stats-grid,.grid3,.about-grid,.footer-grid{grid-template-columns:1fr}.features{grid-template-columns:1fr}.hero{min-height:540px}.hero-inner{padding:70px 0}.section-head{align-items:start;gap:15px;flex-direction:column}.page-hero h1{font-size:42px}.banner-inner{align-items:flex-start;flex-direction:column}}

.hero-real{background-image:linear-gradient(90deg,rgba(2,20,49,.92),rgba(2,20,49,.48)),url("https://www.volleyclubmouvallois.fr/images/sallebis.jpg");background-size:cover;background-position:center}.logo img{width:48px;height:48px;border-radius:50%;object-fit:contain}.news-photo{width:100%;height:210px;object-fit:cover}.notice{background:#fff;border-left:6px solid var(--yellow);box-shadow:var(--shadow);padding:18px 22px;border-radius:14px;margin:0 0 25px}.score{font-size:30px;font-weight:900;color:var(--navy)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-grid img{width:100%;height:240px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}@media(max-width:850px){.photo-grid{grid-template-columns:1fr}}

/* Stabilisation du bandeau bleu : sa hauteur ne depend plus de la longueur du texte. */
.hero{height:620px;min-height:620px;overflow:hidden}
.hero-inner{height:620px;min-height:620px;overflow:hidden}
@media(max-width:850px){.hero{height:540px;min-height:540px}.hero-inner{height:540px;min-height:540px;padding-top:68px}.hero h1{max-height:155px;overflow:hidden}.hero p{max-height:92px;overflow:hidden}}

/* FIX STRUCTURE - sections totalement independantes */
.hero, .page-hero, .banner { position:relative; isolation:isolate; clear:both; }
.hero { width:100%; }
.hero-inner { position:relative; z-index:1; width:min(1180px,92%); margin-left:auto; margin-right:auto; }
.stats { clear:both; position:relative; z-index:2; }
section:not(.stats) { clear:both; }
.banner-inner { width:min(1180px,92%); margin-left:auto; margin-right:auto; }
/* Ne jamais laisser un bloc de contenu exterieur influencer le bandeau bleu */
.hero > .container, .banner > .container { float:none !important; }
@media(max-width:850px){ .hero-inner{width:92%;} .banner-inner{width:92%;} }
/* ============================= */ /* TABLEAU PLANNING */ /* ============================= */ .tableau-entrainements { width: 100%; margin: 40px auto; overflow-x: auto; } .tableau-entrainements table { width: 100%; border-collapse: collapse; table-layout: fixed; font-family: "Cascadia Mono SemiBold", "Cascadia Mono", monospace; } .tableau-entrainements td { border: 1px solid #555; padding: 12px 8px; text-align: center; vertical-align: middle; font-weight: 600; } /* Première ligne */ .tableau-entrainements tr:first-child td { background-color: #1d4ed8; color: white; font-weight: bold; font-size: 17px; } /* Colonnes */ .tableau-entrainements td:first-child { width: 16%; font-weight: bold; } .tableau-entrainements td:nth-child(2) { width: 18%; } /* Effet au passage de la souris */ .tableau-entrainements td:hover { filter: brightness(0.95); } /* ============================= */ /* TELEPHONE */ /* ============================= */ @media (max-width: 700px) { .tableau-entrainements { margin: 25px auto; overflow-x: auto; } .tableau-entrainements table { min-width: 700px; } .tableau-entrainements td { padding: 9px 5px; font-size: 12px; } .tableau-entrainements tr:first-child td { font-size: 13px; }  COTISATIONS ET CATEGORIES
   ========================================= */

.cotisations-section {
    padding-top: 50px;
    padding-bottom: 60px;
}

.cotisations-intro {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 30px;
}


/* TABLEAU */

.tableau-cotisations {
    width: 100%;
    overflow-x: auto;
    margin: 30px auto;
}

.tableau-cotisations table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Cascadia Mono SemiBold",
                 "Cascadia Mono",
                 monospace;
}

.tableau-cotisations th {
    background-color: #00b7b7;
    color: white;
    padding: 15px 10px;
    text-align: center;
    border: 1px solid white;
    font-weight: bold;
}

.tableau-cotisations td {
    padding: 14px 10px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid white;
    background-color: #339999;
    color: white;
}

.tableau-cotisations tr:nth-child(even) td {
    background-color: #3fa3a3;
}

.tableau-cotisations td:first-child {
    width: 25%;
    font-weight: bold;
}

.tableau-cotisations td:nth-child(2) {
    width: 50%;
}

.tableau-cotisations td:last-child {
    width: 25%;
}

.tableau-cotisations .prix {
    font-size: 20px;
    font-weight: bold;
    white-space: nowrap;
}


/* INFORMATIONS */

.cotisations-infos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 35px;
}

.cotisation-info {
    padding: 22px;
    border-radius: 10px;
    background: #f1f5f9;
    border: 1px solid #ddd;
}

.cotisation-info h3 {
    margin-top: 0;
    margin-bottom: 10px;
}

.cotisation-info p {
    margin-bottom: 0;
    line-height: 1.6;
}


/* BOUTON INSCRIPTION */

.cotisation-action {
    text-align: center;
    margin-top: 35px;
}


/* TELEPHONE */

@media (max-width: 700px) {

    .cotisations-infos {
        grid-template-columns: 1fr;
    }

    .tableau-cotisations table {
        min-width: 650px;
    }

    .tableau-cotisations th,
    .tableau-cotisations td {
        padding: 10px 6px;
        font-size: 13px;
    }

    .tableau-cotisations .prix {
        font-size: 17px;
    }

}