/* Page d'accueil : palette plus marquée, tirée des deux bleus du logo.
   Chargée uniquement sur index.html, après style.css. */
.home{
  --nuit:#22305C;      /* marine profond : héros, panneaux, appel final */
  --marine:#2f4381;    /* bleu du logo */
  --ciel:#A3BBD3;      /* bleu clair du logo, en aplats francs */
  --brume:#E3EBF5;     /* fond clair de section */
  --texte-clair:#D6E1EC;
  --or:#FFC24B;        /* étoiles des avis */
}

/* En-tête : bouton de RDV plein */
.home .bar>.btn-ghost{background:var(--marine);border-color:var(--marine);color:#fff}
.home .bar>.btn-ghost:hover{background:var(--nuit);border-color:var(--nuit)}

/* Héros marine */
.home .hero{background:radial-gradient(120% 90% at 85% 10%,#314a92 0,var(--nuit) 62%);color:#fff}
.home .hero h1{color:#fff}
.home .hero p.lead{color:var(--texte-clair)}
.home .hero .pill{background:var(--ciel);color:var(--nuit)}
.home .hero .btn-primary{background:#fff;color:var(--nuit)}
.home .hero .btn-primary:hover{background:var(--ciel);color:var(--nuit)}
.home .hero .btn-ghost{border-color:var(--ciel);color:#fff}
.home .hero .btn-ghost:hover{background:var(--ciel);border-color:var(--ciel);color:var(--nuit)}
.home .hero .rating{color:#fff}
.home .hero .rating span.g{color:var(--texte-clair)}
.home .stars{color:var(--or)}
.home .portrait{background:var(--ciel)}
.home .portrait .tag{background:#fff;color:var(--nuit)}
.home .fact{border-color:transparent;box-shadow:0 16px 30px -22px rgba(0,0,0,.6)}
.home .fact small{color:#55608a}
.home .fact strong{color:var(--nuit)}
.home .row:hover,.home .fact:hover{border-color:var(--ciel)}
@media (prefers-reduced-motion:no-preference){
  @keyframes glow-clair{0%{box-shadow:0 0 0 0 rgba(163,187,211,.6)}70%,100%{box-shadow:0 0 0 14px rgba(163,187,211,0)}}
  .home .herogrid .btn-primary{animation:glow-clair 3.2s 1.5s infinite}
}

/* Cabinet : cadre photo bleu clair, puces marine */
.home .photo{background:var(--ciel)}
.home .split h2{color:var(--nuit)}

/* Publics : onglets et panneaux marine */
.home #indications h2{color:var(--nuit)}
.home .tabs{background:var(--brume);border-color:var(--brume)}
.home .tabs button{color:var(--nuit)}
.home .tabs .ind,.home .tabs button[aria-selected=true]{background:var(--marine)}
.home .tabs.has-ind button[aria-selected=true]{background:none;color:#fff}
.home .panel{background:var(--nuit) !important}
.home .pintro h3{color:#fff}
.home .pintro p{color:var(--texte-clair)}
.home .pintro .btn-ghost{border-color:var(--ciel);color:#fff}
.home .pintro .btn-ghost:hover{background:var(--ciel);border-color:var(--ciel);color:var(--nuit)}
.home .plist li{color:var(--nuit)}

/* À votre écoute : fond bleuté, numéros pleins */
.home #ecoute{background:var(--brume) !important}
.home #ecoute h2,.home .steps h3{color:var(--nuit)}
.home .num{width:40px;height:40px;border:0;background:var(--marine);color:#fff;font-size:16px}
.home .steps>div:nth-child(3n) .num{background:var(--ciel);color:var(--nuit)}

/* Avis : aplat bleu clair */
.home .reviews{background:var(--ciel)}
.home .reviews h2{color:var(--nuit)}
.home .reviews .rating{color:var(--nuit)}
.home .reviews .rating span.g{color:#1B2552}
.home .rev{border-color:transparent}

/* FAQ */
.home #faq h2{color:var(--nuit)}
.home summary::after{color:var(--marine)}

/* Appel final marine */
.home .final{background:var(--nuit);color:#fff}
.home .final h2{color:#fff}
.home .final p{color:var(--texte-clair)}
.home .final .btn-ghost{border-color:var(--ciel);color:#fff}
.home .final .btn-ghost:first-child{background:#fff;border-color:#fff;color:var(--nuit)}
.home .final .btn-ghost:hover,.home .final .btn-ghost:focus-visible{background:var(--ciel);border-color:var(--ciel);color:var(--nuit)}

/* Barre de progression de lecture */
.home .prog{background:var(--ciel)}
.home :focus-visible{outline-color:var(--ciel)}
.home main section:not(.hero):not(.final) :focus-visible{outline-color:var(--marine)}
.home .final :focus-visible{outline-color:var(--ciel)}

/* ---- Typographie : Plus Jakarta Sans pour les titres, Inter pour le texte ---- */
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/jakarta-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/jakarta-700.woff2) format("woff2");font-weight:700;font-display:swap}
.home{--serif:"Plus Jakarta Sans","Inter",ui-sans-serif,system-ui,sans-serif}
.home h1{font-weight:700;letter-spacing:-.03em;line-height:1.06}
.home h2{font-weight:700;letter-spacing:-.025em}
.home .pintro h3{font-weight:700;letter-spacing:-.02em}
.home .steps h3,.home .brand b{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}
.home .brand img{width:40px}

/* ---- Héros : fond marine, trame de points (rappel des vertèbres) et halos lumineux ---- */
.home .hero{background:#1E2B55}
.home .hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background-image:radial-gradient(rgba(163,187,211,.32) 1.3px,transparent 1.5px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 65% 75% at 78% 38%,#000 20%,transparent 72%);
          mask-image:radial-gradient(ellipse 65% 75% at 78% 38%,#000 20%,transparent 72%)}
.home .hero::after{content:"";position:absolute;inset:-20%;z-index:-2;
  background:radial-gradient(30% 38% at 78% 22%,rgba(88,116,204,.9),transparent 70%),
             radial-gradient(28% 34% at 12% 92%,rgba(163,187,211,.38),transparent 70%),
             radial-gradient(22% 28% at 48% 8%,rgba(47,67,129,.9),transparent 70%);
  filter:blur(24px)}
@media (prefers-reduced-motion:no-preference){
  .home .hero::after{animation:halos 22s ease-in-out infinite alternate}
  @keyframes halos{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(-4%,3%,0) rotate(6deg)}}
}

/* ---- Photos sans cadre de couleur ---- */
.home .portrait,.home .photo{background:none;padding:0}
.home .portrait img{box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.home .portrait .tag{left:16px;bottom:16px}
.home .photo img{box-shadow:0 24px 48px -32px rgba(30,43,85,.55)}

/* ---- Pied de page : sigle seul ---- */
.home .fgrid img.sigle{width:56px}

/* ---- Lien vers la fiche Google ---- */
.home a.g{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.home .hero a.g{color:var(--texte-clair)}
.home .hero a.g:hover{color:#fff}
.home .reviews a.g{color:#1B2552;font-weight:400}

/* ---- Statut ouvert / fermé (heure de Paris) ---- */
.home .statut{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-style:normal;font-size:13px;font-weight:500;color:#55608a}
.home .statut i{width:8px;height:8px;border-radius:50%;background:#8A94B3}
.home .statut.ouvert{color:#1A7A4C}
.home .statut.ouvert i{background:#1FA463;box-shadow:0 0 0 3px rgba(31,164,99,.18)}
@media (prefers-reduced-motion:no-preference){
  .home .statut.ouvert i{animation:pouls 2s ease-in-out infinite}
  @keyframes pouls{50%{box-shadow:0 0 0 6px rgba(31,164,99,.05)}}
}
.home .fact strong{display:block}

/* ---- Avis : grille sans défilement horizontal ---- */
.home .rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;overflow:visible;padding-bottom:0;scroll-snap-type:none}
.home .rev{flex:none;min-width:0}
@media (max-width:1024px){.home .rows{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.home .rows{grid-template-columns:1fr}}

/* ---- Publics : un fond différent par module ---- */
.home #panel-adultes{background:var(--nuit) !important}
.home #panel-enfants{background:var(--marine) !important}
.home #panel-sportifs{background:#4a62ad !important}
.home #panel-sportifs .pintro p{color:#fff}
.home #panel-enceintes{background:var(--ciel) !important}
.home #panel-enceintes .pintro h3{color:var(--nuit)}
.home #panel-enceintes .pintro p{color:#1B2552}
.home #panel-enceintes .pintro .btn-ghost{border-color:var(--nuit);color:var(--nuit)}
.home #panel-enceintes .pintro .btn-ghost:hover{background:var(--nuit);color:#fff}

/* ---- Titre : « La Fare-les-Oliviers » sur la 2e ligne ---- */
@media (min-width:640px){.home h1 .ville{white-space:nowrap}}

/* ---- À votre écoute : tous les numéros identiques ---- */
.home .steps>div:nth-child(3n) .num{background:var(--marine);color:#fff}

/* ---- Avis : carrousel des 3 derniers ---- */
.home .carrousel{max-width:760px;margin:0 auto;overflow:hidden}
.home .piste{display:flex;transition:transform .6s cubic-bezier(.3,.7,.2,1)}
.home .slide{flex:0 0 100%;min-width:0;padding:4px}
.home .slide .rev{height:100%;padding:40px 44px;gap:16px}
.home .slide .rev p{font-size:19px;line-height:1.6;color:var(--nuit)}
.home .slide .rev .stars{font-size:18px}
.home .nav-car{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px}
.home .fl{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--nuit);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.home .fl:hover{background:var(--nuit);color:#fff}
.home .points{display:flex;gap:10px}
.home .points button{width:10px;height:10px;padding:0;border-radius:50%;border:0;background:rgba(34,48,92,.3);cursor:pointer;transition:width .3s,background .3s}
.home .points button[aria-current]{width:28px;border-radius:9999px;background:var(--nuit)}
.home .points button:focus-visible,.home .fl:focus-visible{outline:3px solid var(--nuit);outline-offset:3px}
@media (max-width:640px){.home .slide .rev{padding:28px 24px}.home .slide .rev p{font-size:17px}}
@media (prefers-reduced-motion:reduce){.home .piste{transition:none}}

/* ===== PROPOSITION : Figtree + héros dynamique ===== */
@font-face{font-family:"Figtree";src:url(../fonts/figtree-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(../fonts/figtree-500.woff2) format("woff2");font-weight:500;font-display:swap}
.home{--sans:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-family:var(--sans);font-size:17px}
.home .hero p.lead{font-size:20px}

/* Trame de points animée (remplace la trame fixe) */
.home .hero::before{display:none}
.home .trame{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}

/* Publics qui défilent */
.home .pour{margin-top:14px;font:500 19px/1.4 var(--sans);color:var(--texte-clair)}
.home .mots{display:inline-grid;vertical-align:bottom;overflow:hidden;height:1.45em}
.home .mot{grid-area:1/1;color:#fff;font-weight:600;transform:translateY(105%);opacity:0;transition:transform .6s cubic-bezier(.3,.7,.2,1),opacity .6s;box-shadow:inset 0 -2px 0 var(--ciel)}
.home .mot.actif{transform:none;opacity:1}
.home .mot.sort{transform:translateY(-105%);opacity:0}
@media (max-width:860px){.home .mots{justify-items:center}}

/* Photo : inclinaison au survol + badge flottant */
.home .portrait img{transition:transform .35s ease-out;will-change:transform}
.home .badge-note{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--nuit);font:700 14px/1 var(--serif);padding:9px 14px;border-radius:9999px;box-shadow:0 12px 28px -14px rgba(0,0,0,.6)}
.home .badge-note b{color:#E5A100}
@media (prefers-reduced-motion:no-preference){.home .badge-note{animation:bob 6s ease-in-out infinite}}
.home .mots{justify-items:start}
.home .mot{width:max-content}

/* ---- Espacement harmonisé entre les sections ---- */
.home .sec{padding:104px 0}
.home #indications{padding-top:104px !important}
.home .head{margin-bottom:48px}
.home footer.site{margin-top:104px}
@media (max-width:860px){
  .home .sec{padding:72px 0}
  .home #indications{padding-top:72px !important}
  .home footer.site{margin-top:72px}
}
.home .photo img{transition:transform .35s ease-out;will-change:transform}

/* ---- Appel final : même dynamisme que le héros ---- */
.home .final{position:relative;overflow:hidden;isolation:isolate;background:#1E2B55;padding:88px 24px}
.home .final>*:not(.trame){position:relative}
.home .final .trame{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.home .final::after{content:"";position:absolute;inset:-30%;z-index:-2;
  background:radial-gradient(28% 40% at 82% 18%,rgba(88,116,204,.85),transparent 70%),
             radial-gradient(26% 38% at 14% 88%,rgba(163,187,211,.35),transparent 70%);
  filter:blur(24px)}
.home .final h2{font-size:clamp(32px,4.4vw,48px)}
@media (prefers-reduced-motion:no-preference){
  .home .final::after{animation:halos 22s ease-in-out infinite alternate}
  .home .final .btn-ghost:first-child{animation:glow-clair 3.2s 1s infinite}
}

/* ---- « À votre écoute » sur fond blanc, étapes en cartes : évite deux aplats de couleur à la suite ---- */
.home #ecoute{background:#fff !important}
.home .steps{gap:20px}
.home .steps>div{background:var(--brume);border-radius:var(--r-card);padding:28px}
.home .steps h3{margin-top:18px}

/* ---- Avis : fond marine (au lieu du bleu clair) ---- */
.home .reviews{background:var(--marine)}
.home .reviews h2{color:#fff}
.home .reviews .rating{color:#fff}
.home .reviews .rating span.g,.home .reviews a.g{color:var(--texte-clair)}
.home .reviews a.g:hover{color:#fff}
.home .fl{background:#fff;color:var(--nuit)}
.home .fl:hover{background:var(--ciel);color:var(--nuit)}
.home .points button{background:rgba(255,255,255,.35)}
.home .points button[aria-current]{background:#fff}
.home .points button:focus-visible,.home .fl:focus-visible{outline-color:#fff}
.home .slide .rev{box-shadow:0 24px 50px -30px rgba(0,0,0,.6)}

/* ---- « Une prise en charge pour chacun » sur fond bleu pâle, pour la détacher des blocs voisins ---- */
.home #indications{background:var(--brume)}
.home .tabs{background:#fff;border-color:#fff}

/* ---- Rappel de l'icône de la catégorie dans le panneau ---- */
.home .pico{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;margin-bottom:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.home #panel-enceintes .pico{background:#fff;color:var(--nuit);box-shadow:none}

/* ---- Textes courants harmonisés : même taille, même couleur, interlignage resserré ---- */
.home{--texte:#3A4566}
.home .hero p.lead,.home .split p,.home .head .lead,.home .steps p,.home details p,
.home .slide .rev p,.home .final p,.home .pintro p{font-size:17px;line-height:1.5}
.home .split p,.home .head .lead,.home .steps p,.home details p,.home .slide .rev p{color:var(--texte)}
.home .hero p.lead,.home .final p,.home .pintro p{color:var(--texte-clair)}
.home #panel-sportifs .pintro p{color:#fff}
.home #panel-enceintes .pintro p{color:#1B2552}
@media (max-width:640px){.home .slide .rev p{font-size:17px}}

/* ---- Listes à puces alignées sur le texte courant ---- */
.home .split li{font-size:17px;line-height:1.5;color:var(--texte)}
.home .split li svg{margin-top:2px}

/* ============================================================
   PAGES INTÉRIEURES : même thème que l'accueil
   ============================================================ */

/* Héros intérieurs : fond marine, halos et trame de points animée */
.home .phero,.home .chero{position:relative;overflow:hidden;isolation:isolate;background:#1E2B55;color:#fff}
.home .phero{padding:96px 0 88px}
.home .chero{padding:88px 0 104px}
.home .phero::after,.home .chero::after{content:"";position:absolute;inset:-20%;z-index:-2;
  background:radial-gradient(30% 40% at 80% 20%,rgba(88,116,204,.9),transparent 70%),
             radial-gradient(28% 36% at 12% 90%,rgba(163,187,211,.35),transparent 70%);
  filter:blur(24px)}
@media (prefers-reduced-motion:no-preference){.home .phero::after,.home .chero::after{animation:halos 22s ease-in-out infinite alternate}}
.home .phero .trame,.home .chero .trame{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.home .phero h1,.home .chero h1{color:#fff}
.home .phero .lead,.home .chero .lead{color:var(--texte-clair)}
.home .crumbs,.home .crumbs a{color:var(--texte-clair)}
.home .crumbs a:hover{color:#fff}
.home .phero .pill,.home .chero .pill{background:var(--ciel);color:var(--nuit)}
.home .chero .chips .pill{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff}
.home .phero .btn-primary,.home .chero .btn-primary{background:#fff;color:var(--nuit)}
.home .phero .btn-primary:hover,.home .chero .btn-primary:hover{background:var(--ciel);color:var(--nuit)}
.home .phero .btn-ghost,.home .chero .btn-ghost{border-color:var(--ciel);color:#fff}
.home .phero .btn-ghost:hover,.home .chero .btn-ghost:hover{background:var(--ciel);border-color:var(--ciel);color:var(--nuit)}
@media (prefers-reduced-motion:no-preference){.home .chero .btn-primary{animation:glow-clair 3.2s 1.5s infinite}}

/* Photos sans cadre de couleur */
.home .photo.lav,.home .collage .big{background:none;padding:0}
.home .collage .big img{box-shadow:0 30px 60px -30px rgba(0,0,0,.7);transition:transform .35s ease-out;will-change:transform}
.home .collage .small{background:none;border:6px solid #1E2B55;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.home .gallery figure,.home .bento figure,.home .bento figure:nth-child(n){background:var(--brume)}
.home .map{background:var(--brume)}

/* Chiffres, tarifs et parkings : mêmes aplats que les modules de l'accueil */
.home .stat:nth-child(1),.home .price:nth-child(1),.home .pk div:nth-child(1){background:var(--nuit);color:#fff}
.home .stat:nth-child(2),.home .pk div:nth-child(2){background:var(--marine);color:#fff}
.home .stat:nth-child(3),.home .price:nth-child(2),.home .pk div:nth-child(3){background:var(--ciel);color:var(--nuit)}
.home .stat b,.home .price .amt,.home .pk .d{font-family:var(--serif);font-weight:700;letter-spacing:-.02em}
.home .stat:nth-child(-n+2) p,.home .pk div:nth-child(-n+2) span.t{color:var(--texte-clair)}
.home .stat:nth-child(3) p,.home .pk div:nth-child(3) span.t{color:#1B2552}
.home .price:nth-child(1) h2{color:#fff}
.home .price:nth-child(2) h2{color:var(--nuit)}
.home .price ul{color:var(--texte)}
.home .pbadge{color:var(--nuit)}

/* Encadrés et bandeau */
.home .note{background:var(--brume)}
.home .band{background:var(--nuit);color:#fff}
.home .band h2{color:#fff}
.home .band p{color:var(--texte-clair)}
.home .band .ic{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.home .band .ic svg{stroke:#fff}
.home .band .btn-ghost{border-color:var(--ciel);color:#fff}
.home .band .btn-ghost:hover{background:var(--ciel);border-color:var(--ciel);color:var(--nuit)}
.home .alert.ok{background:#DDF3E7}

/* Espacements des pages intérieures */
.home .xl{padding:104px 0}
@media (max-width:860px){.home .xl{padding:72px 0}.home .phero{padding:72px 0 64px}.home .chero{padding:64px 0 72px}}

/* Textes courants harmonisés sur les pages intérieures */
.home .prose p,.home .stat p,.home .note p,.home .park span,.home .pk span.t,.home .band p,.home .price ul,.home .phero .lead,.home .chero .lead{font-size:17px;line-height:1.5}
.home .prose p,.home .note p,.home .park span{color:var(--texte)}
.home .phero .lead,.home .chero .lead{color:var(--texte-clair)}
.home .band .btn-primary{background:#fff;color:var(--nuit)}
.home .band .btn-primary:hover{background:var(--ciel);color:var(--nuit)}

/* Mentions légales */
.home .legal{max-width:760px}
.home .legal h2{text-align:left;font-family:var(--serif);font-weight:700;font-size:22px;color:var(--nuit);margin:44px 0 0;scroll-margin-top:110px}
.home .legal p a{color:var(--marine);text-decoration:underline;text-underline-offset:3px}
.home .map p a{color:inherit;text-decoration:underline}

/* Typo des titres : Ropa Sans (Google Fonts, licence SIL OFL), proche de la police du logo. */
@font-face{font-family:"Ropa Sans";src:url(../fonts/ropa-400.woff2) format("woff2");font-weight:100 900;font-display:swap}
.home{--serif:"Ropa Sans","Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif}
.home h1,.home h2,.home h3,.home .brand b,.home .stat b,.home .price .amt,.home .pk .d,.home .badge-note,.home .steps h3,.home .legal h2{font-weight:400;letter-spacing:0}

/* Bandeau cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:760px;margin:0 auto;background:#fff;color:var(--texte);border-radius:18px;box-shadow:0 24px 60px -20px rgba(20,30,70,.45),0 0 0 1px rgba(34,48,92,.08);padding:20px 22px;display:flex;gap:18px;align-items:center;font-size:15px;line-height:1.45}
.cookies p{margin:0;flex:1}
.cookies p a{color:var(--marine);text-decoration:underline}
.cookies-btn{display:flex;gap:10px;flex-shrink:0}
.cookies .btn{padding:11px 20px;font-size:15px}
.cookies .btn-ghost{color:var(--nuit);border-color:rgba(34,48,92,.35);background:#fff}
.home .copy a[data-cookies]{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.cookies{flex-direction:column;align-items:stretch;padding:18px}.cookies-btn .btn{flex:1;justify-content:center}}
