/* ==========================================================================
   Renaissance Basket Club — styles
   Source de vérité : handoff Claude Design (design_handoff_site_rbc)
   ========================================================================== */

/* ---------- Polices (hébergées localement) ---------- */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/anton-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-italic.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-italic.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-latin-600-normal.woff2) format('woff2')}

/* ---------- Tokens ---------- */
:root{
  --noir-parquet:#0D100C;
  --noir-surface:#161B14;
  --ligne:#2A3226;
  --ligne-forte:#3A4434;
  --blanc-craie:#F4F3EE;
  --texte-doux:#B9BDB2;
  --texte-hero:#D6D8D0;
  --vert-energie:#4BAA32;
  --vert-renaissance:#0B3D1E;
  --orange-ballon:#E4651E;
  --jaune-maillot:#F1C232;

  --f-display:'Anton',Impact,'Arial Narrow Bold',sans-serif;
  --f-cond:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  --f-text:'Barlow',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;

  --pad-x:clamp(20px,4vw,48px);
  --sec-y:clamp(80px,10vw,128px);
  --sec-y-color:clamp(72px,9vw,112px);
  --gutter:clamp(40px,6vw,72px);
  --nav-top:0px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--noir-parquet);color:var(--blanc-craie);font-family:var(--f-text);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--vert-energie);text-decoration:none;transition:color 150ms ease-out,background-color 150ms ease-out,border-color 150ms ease-out}
a:hover{color:var(--blanc-craie)}
:focus-visible{outline:2px solid var(--vert-energie);outline-offset:2px}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0}
section[id]{scroll-margin-top:80px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100;background:var(--vert-energie);color:var(--noir-parquet);padding:12px 18px;font-family:var(--f-cond);font-weight:800;text-transform:uppercase}

.container{max-width:1240px;margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}

/* ---------- Typo utilitaires ---------- */
.kicker{font-family:var(--f-cond);font-weight:600;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--texte-doux)}
.h2{font-family:var(--f-display);font-weight:400;font-size:clamp(36px,4.4vw,56px);line-height:1;text-transform:uppercase;margin:0}
.lead{font-size:18px;line-height:1.65;color:var(--texte-doux);text-wrap:pretty}
.section-head{display:flex;flex-direction:column;gap:14px}
.slogan{font-family:var(--f-cond);font-style:italic;font-weight:800;text-transform:uppercase;color:var(--vert-energie);line-height:1.02;transform:rotate(-3deg);transform-origin:left;display:inline-block}

/* Trait pinceau */
.brush{display:block;background:var(--blanc-craie);clip-path:polygon(0 75%,5% 30%,100% 0,97% 55%,45% 80%,2% 100%);transform:rotate(-2deg);flex-shrink:0}
.brush--240{width:240px;height:12px}
.brush--220{width:220px;height:11px;transform:rotate(-3deg)}
.brush--170{width:170px;height:10px}
.brush--140{width:140px;height:7px;transform:none}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:17px 26px;font-family:var(--f-cond);font-weight:800;font-size:19px;line-height:1;text-transform:uppercase;letter-spacing:.04em;border:0;border-radius:0;cursor:pointer;transition:color 150ms ease-out,background-color 150ms ease-out,border-color 150ms ease-out}
.btn--primary{background:var(--vert-energie);color:var(--noir-parquet)}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--blanc-craie);color:var(--noir-parquet)}
.btn--secondary{background:transparent;border:2px solid var(--blanc-craie);color:var(--blanc-craie);padding:15px 24px}
.btn--secondary:hover,.btn--secondary:focus-visible{border-color:var(--vert-energie);color:var(--vert-energie)}
.btn[disabled]{opacity:.6;cursor:wait}
.link-arrow{font-family:var(--f-cond);font-weight:700;font-size:17px;text-transform:uppercase;color:var(--vert-energie);align-self:flex-start;text-underline-offset:4px}
.link-arrow:hover{color:var(--blanc-craie);text-decoration:underline;text-decoration-thickness:2px}

/* ---------- Badges ---------- */
.badge{align-self:flex-start;display:inline-block;padding:6px 12px;font-family:var(--f-cond);font-weight:700;font-size:15px;line-height:1.1;text-transform:uppercase;letter-spacing:.06em}
.badge--category{background:var(--vert-renaissance);color:var(--blanc-craie)}
.badge--status{border:1.5px solid var(--vert-energie);color:var(--vert-energie);padding:5px 11px}
.badge--new{background:var(--jaune-maillot);color:var(--noir-parquet)}
.badge--alert{background:var(--orange-ballon);color:var(--noir-parquet)}

/* ==========================================================================
   Navigation
   ========================================================================== */
.admin-bar{--nav-top:32px}
@media (max-width:782px){.admin-bar{--nav-top:46px}}
.site-nav{position:fixed;top:var(--nav-top);left:0;right:0;z-index:20;background:rgba(13,16,12,0);border-bottom:1px solid rgba(42,50,38,0);transition:background-color .3s ease,border-color .3s ease}
.site-nav.is-solid,.site-nav.is-open,body:not(.home-onepage) .site-nav{background:var(--noir-parquet);border-bottom-color:var(--ligne)}
.site-nav__bar{max-width:1240px;margin:0 auto;padding:12px var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;color:var(--blanc-craie)}
.brand:hover{color:var(--blanc-craie)}
.brand img{width:48px;height:48px}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__name{font-family:var(--f-display);font-size:24px;letter-spacing:.02em}
.brand__place{font-family:var(--f-cond);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--texte-doux);margin-top:2px}
.nav-links{display:flex;align-items:center;gap:28px;font-family:var(--f-cond);font-weight:600;font-size:17px;text-transform:uppercase;letter-spacing:.04em;margin:0;padding:0;list-style:none}
.nav-links a{color:var(--blanc-craie)}
.nav-links a:hover{color:var(--vert-energie)}
.nav-links .nav-cta{background:var(--vert-energie);color:var(--noir-parquet);padding:12px 20px;font-weight:800;display:inline-block;line-height:1.1}
.nav-links .nav-cta:hover{background:var(--blanc-craie);color:var(--noir-parquet)}
.menu-toggle{display:none;background:transparent;border:2px solid var(--ligne-forte);color:var(--blanc-craie);height:48px;padding:0 16px;align-items:center;gap:10px;font-family:var(--f-cond);font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border-radius:0}
.menu-toggle__bars{display:flex;flex-direction:column;gap:4px}
.menu-toggle__bars span{width:18px;height:2px;background:var(--blanc-craie);display:block}
.menu-toggle__bars span:last-child{width:12px;background:var(--vert-energie)}
.mobile-menu{display:none;flex-direction:column;border-top:1px solid var(--ligne);padding:8px var(--pad-x) 20px;font-family:var(--f-cond);font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:.04em}
.mobile-menu a{color:var(--blanc-craie);padding:14px 0;border-bottom:1px solid var(--ligne)}
.mobile-menu a:hover{color:var(--vert-energie)}
.mobile-menu .nav-cta{background:var(--vert-energie);color:var(--noir-parquet);padding:16px 20px;margin-top:16px;font-weight:800;text-align:center;border:0}
.mobile-menu .nav-cta:hover{background:var(--blanc-craie);color:var(--noir-parquet)}
@media (max-width:899px){
  .nav-links{display:none}
  .menu-toggle{display:inline-flex}
  .site-nav.is-open .mobile-menu{display:flex}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{position:relative;min-height:max(640px,100vh);display:flex;align-items:flex-end;overflow:hidden;background:var(--noir-parquet)}
.hero__media{position:absolute;inset:0}
.hero__img{position:absolute;top:0;right:0;height:100%;width:auto;max-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%);mask-image:linear-gradient(90deg,transparent 0%,#000 22%)}
.hero__fade{position:absolute;pointer-events:none}
.hero__fade--left{inset:0;background:linear-gradient(90deg,#0D100C 0%,rgba(13,16,12,.88) 24%,rgba(13,16,12,.45) 42%,rgba(13,16,12,0) 58%)}
.hero__fade--mobile{inset:0;display:none;background:linear-gradient(0deg,#0D100C 0%,rgba(13,16,12,.94) 42%,rgba(13,16,12,.35) 72%,rgba(13,16,12,.55) 100%)}
.hero__fade--bottom{inset:0;background:linear-gradient(0deg,#0D100C 0%,rgba(13,16,12,.6) 18%,rgba(13,16,12,0) 42%)}
.hero__fade--top{top:0;left:0;right:0;height:120px;background:linear-gradient(180deg,rgba(13,16,12,.55) 0%,rgba(13,16,12,0) 100%)}
.hero__inner{position:relative;width:100%;max-width:1240px;margin:0 auto;padding:140px var(--pad-x) clamp(72px,12vh,128px)}
.hero__content{max-width:680px;display:flex;flex-direction:column;gap:28px}
.hero h1{font-family:var(--f-display);font-weight:400;font-size:clamp(52px,7.4vw,108px);line-height:.92;text-transform:uppercase;letter-spacing:.005em}
.hero h1 span{display:block}
.hero h1 .accent{color:var(--vert-energie)}
.hero__text{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--texte-hero);max-width:520px;text-wrap:pretty}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.hero__slogan{position:absolute;right:var(--pad-x);bottom:clamp(72px,12vh,128px);background:var(--noir-parquet);padding:14px 20px 16px;transform:rotate(-3deg);pointer-events:none;display:flex;flex-direction:column;gap:8px}
.hero__slogan .slogan{font-size:clamp(22px,2.2vw,28px);transform:none}
@media (min-width:1600px){.hero__slogan{right:max(var(--pad-x),calc((100vw - 1240px)/2 + var(--pad-x)))}}
@media (max-width:899px){
  .hero__img{inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:72% center;-webkit-mask-image:none;mask-image:none}
  .hero__fade--left{display:none}
  .hero__fade--mobile{display:block}
  .hero__slogan{display:none}
}

/* ---------- Bandeau d'alerte (optionnel) ---------- */
.club-alert{max-width:1240px;margin:0 auto 24px;padding:0 var(--pad-x)}
.club-alert__inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--noir-surface);border-left:4px solid var(--orange-ballon);padding:16px 20px;font-size:17px;line-height:1.45}

/* ==========================================================================
   Bandeau infos
   ========================================================================== */
.band{max-width:1240px;margin:0 auto;padding:0 var(--pad-x)}
.band__grid{display:grid;grid-template-columns:1fr;background:var(--vert-energie)}
.band__cell{position:relative;padding:28px;display:flex;align-items:center;gap:20px;color:var(--noir-parquet)}
.band__cell::before,.band__cell::after{content:"";position:absolute;background:var(--noir-parquet);display:none}
.band__cell::before{left:0;top:28px;bottom:28px;width:2px}
.band__cell::after{top:0;left:28px;right:28px;height:2px}
.band__cell:not(:first-child)::after{display:block}
@media (min-width:600px){
  .band__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .band__cell::after{display:none!important}
  .band__cell:nth-child(n+3)::after{display:block!important}
  .band__cell:nth-child(2n)::before{display:block}
}
@media (min-width:1180px){
  .band__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .band__cell:nth-child(n+3)::after{display:none!important}
  .band__cell:not(:first-child)::before{display:block}
}
.band__intro{display:flex;flex-direction:column;gap:6px}
.band__intro strong{font-family:var(--f-display);font-weight:400;font-size:34px;line-height:1;text-transform:uppercase}
.band__intro span{font-family:var(--f-cond);font-weight:700;font-size:19px;line-height:1.15;text-transform:uppercase}
.picto{width:64px;height:64px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.picto svg{width:28px;height:28px}
.picto--age{font-family:var(--f-display);font-size:20px}
.band__lines{display:flex;flex-direction:column;font-family:var(--f-cond);text-transform:uppercase;line-height:1.05}
.band__lines span{font-weight:600;font-size:17px}
.band__lines strong{font-weight:800;font-size:26px}

/* ==========================================================================
   Le club
   ========================================================================== */
.split{max-width:1240px;margin:0 auto;padding:var(--sec-y) var(--pad-x);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--gutter)}
.club{align-items:center}
.club__media{position:relative;height:clamp(320px,40vw,500px);overflow:hidden;background:var(--noir-surface)}
.club__media img{width:100%;height:100%;object-fit:cover}
.club__placeholder{position:absolute;inset:0;background:var(--vert-renaissance);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:32px;text-align:center;overflow:hidden}
.club__placeholder::before{content:"";position:absolute;inset:-12% -18%;background:radial-gradient(ellipse at 55% 45%,rgba(75,170,50,.32) 0%,rgba(75,170,50,0) 62%);pointer-events:none}
.club__placeholder img{position:relative;width:clamp(140px,18vw,220px);height:auto}
.club__placeholder .slogan{position:relative;font-size:clamp(24px,2.6vw,34px);transform-origin:center}
.club__body{display:flex;flex-direction:column;gap:28px}
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.value{border:1px solid var(--ligne);padding:18px;display:flex;flex-direction:column;gap:8px}
.value__title{display:flex;align-items:center;gap:10px;font-family:var(--f-cond);font-weight:800;font-size:21px;line-height:1.1;text-transform:uppercase}
.value__title svg{width:24px;height:24px;flex-shrink:0}
.value p{font-size:15px;line-height:1.5;color:var(--texte-doux)}

/* ==========================================================================
   Catégories
   ========================================================================== */
.categories{background:var(--noir-surface)}
.categories__inner{max-width:1240px;margin:0 auto;padding:var(--sec-y-color) var(--pad-x);display:flex;flex-direction:column;gap:48px}
.categories__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.categories__note{font-size:15px;color:var(--texte-doux);max-width:360px;line-height:1.5}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}
.cat{background:var(--noir-parquet);padding:28px;display:flex;flex-direction:column;gap:14px;border-top:4px solid var(--vert-energie)}
.cat__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cat__code{font-family:var(--f-display);font-size:64px;line-height:1}
.cat__age{font-family:var(--f-cond);font-weight:700;font-size:19px;color:var(--vert-energie);text-transform:uppercase}
.cat__name{font-family:var(--f-cond);font-weight:700;font-size:22px;text-transform:uppercase;line-height:1.1}
.cat__years{font-size:15px;color:var(--texte-doux)}

/* ==========================================================================
   Infos pratiques
   ========================================================================== */
.infos__col{display:flex;flex-direction:column;gap:32px}
.schedule{display:flex;flex-direction:column;border-top:2px solid var(--ligne-forte);margin:0;padding:0;list-style:none}
.schedule li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--ligne);flex-wrap:wrap}
.schedule__day{font-family:var(--f-display);font-size:34px;text-transform:uppercase;line-height:1.2}
.schedule__when{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.schedule__hours{font-family:var(--f-cond);font-weight:800;font-size:28px;color:var(--vert-energie);line-height:1.15}
.schedule__who{font-size:14px;color:var(--texte-doux)}
.infos__blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:24px}
.infos__block{display:flex;flex-direction:column;gap:10px}
.infos__label{font-family:var(--f-cond);font-weight:700;font-size:20px;text-transform:uppercase}
.infos__block p,.infos__block address{font-size:16px;line-height:1.55;color:var(--texte-doux);font-style:normal}
.map{position:relative;min-height:420px;border:2px solid var(--ligne);overflow:hidden;background:var(--noir-surface)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) contrast(.9)}
.map__consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;text-align:center;background:
  linear-gradient(var(--ligne) 1px,transparent 1px) 0 0/48px 48px,
  linear-gradient(90deg,var(--ligne) 1px,transparent 1px) 0 0/48px 48px,var(--noir-surface)}
.map__consent .picto{color:var(--vert-energie);background:var(--noir-parquet)}
.map__consent p{font-size:14px;color:var(--texte-doux);max-width:340px;line-height:1.5}

/* ==========================================================================
   Projets
   ========================================================================== */
.projects{background:var(--vert-renaissance)}
.projects__inner{max-width:1240px;margin:0 auto;padding:var(--sec-y-color) var(--pad-x);display:flex;flex-direction:column;gap:48px}
.projects .kicker{color:var(--blanc-craie)}
.projects__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}
.project{background:var(--noir-parquet);padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:18px}
.project__title{font-family:var(--f-display);font-size:clamp(32px,3.4vw,44px);line-height:1;text-transform:uppercase}
.project p{font-size:17px;line-height:1.6;color:var(--texte-doux);text-wrap:pretty}
.project .link-arrow{font-size:18px}

/* ==========================================================================
   Inscription
   ========================================================================== */
.signup{align-items:start}
.signup__col{display:flex;flex-direction:column;gap:36px}
.signup__slogan{display:flex;flex-direction:column;gap:18px}
.signup__slogan .slogan{font-size:clamp(44px,5.6vw,72px);line-height:1}
.signup h2{font-size:clamp(32px,3.6vw,44px)}
.steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--ligne)}
.steps li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--ligne)}
.steps__num{font-family:var(--f-display);font-size:40px;line-height:1;color:var(--vert-energie)}
.steps__body{display:flex;flex-direction:column;gap:6px}
.steps__title{font-family:var(--f-cond);font-weight:700;font-size:22px;text-transform:uppercase;line-height:1.1}
.steps__text{font-size:16px;line-height:1.55;color:var(--texte-doux)}

.form-card{background:var(--noir-surface);padding:clamp(28px,3.4vw,44px);display:flex;flex-direction:column;gap:24px}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-intro{display:flex;flex-direction:column;gap:8px}
.form-intro strong{font-family:var(--f-cond);font-weight:800;font-size:28px;text-transform:uppercase;line-height:1.05}
.form-intro span{font-size:16px;line-height:1.5;color:var(--texte-doux)}
.field{display:flex;flex-direction:column;gap:8px;margin:0}
.field__label{font-family:var(--f-cond);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--texte-doux)}
.field input,.field select,.field textarea{width:100%;background:var(--noir-parquet);border:1px solid var(--ligne-forte);border-radius:0;color:var(--blanc-craie);padding:15px;font-family:var(--f-text);font-size:16px;line-height:1.4;outline:none;transition:border-color 150ms ease-out;-webkit-appearance:none;appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234BAA32' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
.field textarea{resize:vertical;min-height:120px}
.field input::placeholder,.field textarea::placeholder{color:#7d8376}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--vert-energie)}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--orange-ballon)}
.field__error{font-size:14px;color:var(--orange-ballon);display:none}
.field.has-error .field__error{display:block}
.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-legal{font-size:13px;line-height:1.5;color:var(--texte-doux)}
.form-legal a{color:var(--texte-doux);text-decoration:underline}
.form-legal a:hover{color:var(--vert-energie)}
.form-error{display:none;border-left:4px solid var(--orange-ballon);background:var(--noir-parquet);padding:12px 16px;font-size:15px;line-height:1.45}
.form-error.is-visible{display:block}
.contact-form .btn{align-self:flex-start;padding:17px 28px}
.form-sent{display:none;flex-direction:column;gap:18px;padding:24px 0}
.form-sent svg{width:56px;height:56px}
.form-sent strong{font-family:var(--f-display);font-weight:400;font-size:40px;line-height:1;text-transform:uppercase}
.form-sent p{font-size:17px;line-height:1.55;color:var(--texte-doux)}
.form-sent .btn{align-self:flex-start;font-size:17px;padding:14px 22px}
.form-card.is-sent .contact-form{display:none}
.form-card.is-sent .form-sent{display:flex}

/* ==========================================================================
   Pied de page
   ========================================================================== */
.site-footer{border-top:1px solid var(--ligne);background:var(--noir-parquet)}
.site-footer__inner{max-width:1240px;margin:0 auto;padding:64px var(--pad-x) 32px;display:flex;flex-direction:column;gap:48px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:40px}
.footer-col{display:flex;flex-direction:column;gap:12px}
.footer-col--brand{gap:18px}
.footer-col--brand img{width:96px;height:96px}
.footer-col--brand .slogan{font-size:24px;line-height:1.05}
.footer-title{font-family:var(--f-cond);font-weight:700;font-size:18px;text-transform:uppercase}
.footer-phone{font-family:var(--f-cond);font-weight:800;font-size:26px;color:var(--blanc-craie);line-height:1.1}
.footer-phone:hover{color:var(--vert-energie)}
.footer-col p,.footer-col address{font-size:15px;color:var(--texte-doux);line-height:1.55;font-style:normal}
.footer-col a.footer-link{font-size:15px;color:var(--texte-doux)}
.footer-col a.footer-link:hover{color:var(--vert-energie)}
.footer-social{display:flex;gap:10px;flex-wrap:wrap}
.footer-social a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ligne-forte);padding:8px 12px;font-family:var(--f-cond);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--blanc-craie)}
.footer-social a:hover{border-color:var(--vert-energie);color:var(--vert-energie)}
.footer-social svg{width:18px;height:18px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--ligne);padding-top:20px;font-size:13px;color:var(--texte-doux)}
.footer-bottom a{color:var(--texte-doux)}
.footer-bottom a:hover{color:var(--vert-energie)}
.footer-bottom__links{display:flex;gap:20px;flex-wrap:wrap}

/* ==========================================================================
   Pages intérieures (mentions légales, etc.)
   ========================================================================== */
.page-hero{padding:calc(140px + var(--nav-top)) 0 48px;border-bottom:1px solid var(--ligne);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:-40% -10% auto auto;width:70%;height:180%;background:radial-gradient(ellipse at 55% 45%,rgba(75,170,50,.18) 0%,rgba(75,170,50,0) 62%);pointer-events:none}
.page-hero .container{position:relative;display:flex;flex-direction:column;gap:18px;max-width:900px}
.page-hero h1{font-family:var(--f-display);font-size:clamp(40px,6vw,76px);line-height:.95;text-transform:uppercase}
.entry{max-width:900px;margin:0 auto;padding:56px var(--pad-x) var(--sec-y);font-size:17px;line-height:1.7;color:var(--texte-doux)}
.entry > * + *{margin-top:1.1em}
.entry h2{font-family:var(--f-cond);font-weight:800;font-size:28px;line-height:1.1;text-transform:uppercase;color:var(--blanc-craie);margin-top:2em}
.entry h3{font-family:var(--f-cond);font-weight:700;font-size:22px;text-transform:uppercase;color:var(--blanc-craie);margin-top:1.6em}
.entry strong{color:var(--blanc-craie)}
.entry a{text-decoration:underline;text-underline-offset:3px}
.entry ul,.entry ol{padding-left:1.3em}
.entry li + li{margin-top:.4em}
.entry img{margin-left:auto;margin-right:auto}
.entry hr{border:0;border-top:1px solid var(--ligne);margin:2.4em 0}
.entry .wp-block-button__link{background:var(--vert-energie);color:var(--noir-parquet);border-radius:0;font-family:var(--f-cond);font-weight:800;text-transform:uppercase;text-decoration:none}
.posts-list{display:grid;gap:16px}
.post-card{border:1px solid var(--ligne);padding:24px}
.post-card h2{margin-top:0}
.post-card h2 a{color:var(--blanc-craie);text-decoration:none}
.post-card h2 a:hover{color:var(--vert-energie)}
