/* Douche senior — feuille de style publique
   Ambiance : salle de bain lumineuse. Eau turquoise, soleil jaune, touches corail. */
:root{
  --bg:#ffffff; --paper:#fff; --ink:#17323a; --muted:#4a646b; --line:#d6e6e4;
  --aqua:#e4f5f3; --aqua-2:#c9ece8; --sun:#fff4d6; --coral:#ff8f70; --leaf:#3f9e6a;
  --brand:#0b7a83; --brand-dark:#085c63; --brand-ink:#fff; --cta:#ffb81c; --cta-ink:#17323a; --err:#b0352c;
  --r:16px; --wrap:1160px;
}
*{box-sizing:border-box}
html{font-size:118.75%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Atkinson Hyperlegible",system-ui,sans-serif;line-height:1.6}
a{color:var(--brand);text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--cta);outline-offset:2px;border-radius:4px}
h1,h2,h3{line-height:1.2;margin:0 0 .6em;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
h1{font-size:clamp(1.8rem,1.2rem + 2.3vw,2.75rem);max-width:20ch}
h2{font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem)}
h3{font-size:1.1rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--paper);padding:8px 12px;z-index:10}

/* En-tête */
.top{background:var(--paper);box-shadow:0 1px 0 var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:1.1rem}
.logo svg{width:36px;height:36px}.logo rect{fill:var(--brand)}.logo path{stroke:var(--cta);stroke-width:3;fill:none;stroke-linecap:round}

/* Boutons */
.btn{display:inline-block;background:var(--cta);color:var(--cta-ink);border:2px solid var(--cta);border-radius:999px;padding:.75em 1.4em;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.2;box-shadow:0 4px 0 #e09b00;transition:transform .1s,box-shadow .1s}
.btn:hover{background:#ffc53d}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #e09b00}
.btn-sm{padding:.5em 1em;font-size:.9rem;box-shadow:0 3px 0 #e09b00}
.btn-ghost{background:none;border:2px solid var(--line);color:var(--ink);border-radius:999px;padding:.7em 1.1em;font:inherit;cursor:pointer}

/* Fil d'Ariane */
.crumbs{position:relative;z-index:1}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3em;padding:.9em 0 0;margin:0;font-size:.85rem;color:var(--muted)}
.crumbs li+li::before{content:"›";margin-right:.3em}
body:has(.crumbs) .hero{margin-top:-2.6rem;padding-top:4.4rem}

/* Héros : bain de lumière turquoise et vague */
.hero{position:relative;padding:2.4rem 0 5rem;background:linear-gradient(170deg,var(--aqua) 0%,#d3f0ec 60%,var(--aqua-2) 100%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:60px;background:var(--bg);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30c150-30 300-30 450 0s300 30 450 0 225-25 300-10v40H0z'/%3E%3C/svg%3E") center/100% 100%;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30c150-30 300-30 450 0s300 30 450 0 225-25 300-10v40H0z'/%3E%3C/svg%3E") center/100% 100%}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:44px;align-items:start}
.hero-slim .hero-in{align-items:center}
.intro p{font-size:1.04rem}
.illus{display:block;width:100%;max-width:520px;height:auto;margin-top:1.6rem;filter:drop-shadow(0 18px 30px rgba(11,122,131,.18))}
.illus-city{max-width:440px}
.ticks{list-style:none;padding:0;margin:1.2em 0 0}
.ticks li{position:relative;padding-left:1.8em;margin:.4em 0;font-weight:700}
.ticks li::before{content:"";position:absolute;left:0;top:.25em;width:1.2em;height:1.2em;border-radius:50%;background:var(--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='white' stroke-width='2' fill='none'/%3E%3C/svg%3E") center/80% no-repeat}

/* Carte formulaire */
.form-card{background:var(--paper);border-radius:22px;padding:24px 24px 20px;box-shadow:0 24px 50px -24px rgba(11,90,100,.45),0 0 0 1px rgba(11,122,131,.08);scroll-margin-top:16px;position:relative}
.form-card::before{content:"";position:absolute;top:-14px;right:22px;width:64px;height:28px;border-radius:14px;background:var(--coral);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 28'%3E%3Ctext x='32' y='19' font-family='sans-serif' font-size='12' font-weight='700' fill='white' text-anchor='middle'%3EGratuit%3C/text%3E%3C/svg%3E")}
.form-card h2{font-size:1.3rem;margin-bottom:.5em}
.lead-form .field{display:block;margin:0 0 14px}
.lead-form .lbl{display:block;font-weight:700;font-size:.95rem;margin:0 0 6px}
.lead-form .lbl small{font-weight:400;color:var(--muted)}
.lead-form input[type=text],.lead-form input[type=tel],.lead-form input[type=email],.lead-form select,.lead-form textarea{width:100%;font:inherit;padding:.65em .8em;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.lead-form input:focus,.lead-form select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}
.lead-form .invalid{border-color:var(--err)!important}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0}
.chip span{display:block;padding:.55em .95em;border:2px solid var(--line);border-radius:12px;font-size:.93rem;cursor:pointer;background:#fff;transition:background .12s,border-color .12s}
.chip span:hover{border-color:var(--aqua-2);background:var(--aqua)}
.chip input:checked+span{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:700}
.chip input:focus-visible+span{outline:3px solid var(--cta);outline-offset:2px}
.field.invalid .chip span{border-color:var(--err)}
.lead-form fieldset{border:0;margin:0;padding:0;min-width:0}
.consent{display:flex;gap:.6em;font-size:.82rem;line-height:1.45;color:var(--muted);margin:4px 0 14px}
.consent input{width:1.25em;height:1.25em;flex:none;margin-top:.1em;accent-color:var(--brand)}
.nav{display:flex;gap:10px}.nav .btn{flex:1}
.steps-bar{height:8px;background:var(--aqua);border-radius:4px;overflow:hidden}
.steps-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#2bb3a3);transition:width .25s}
.step-count{font-size:.82rem;color:var(--muted);margin:.4em 0 .8em}
.form-error{color:var(--err);font-weight:700;font-size:.92rem;margin:.8em 0 0}
.reassure{text-align:center;font-size:.82rem;color:var(--muted);margin:1em 0 0}
.hp{position:absolute;left:-9999px}
.px{position:absolute;width:1px;height:1px;opacity:0}
.embed-form iframe{max-width:100%;border:0}

/* Icônes */
.ico{width:28px;height:28px;display:block}

/* Repères chiffrés */
.facts{padding-top:1rem}
.fact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0}
.fact-grid div{padding:14px 16px;border-radius:14px;background:var(--aqua);display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.fact-grid div:nth-child(3n+2){background:var(--sun)}
.fact-grid .ico{grid-row:span 2;width:34px;height:34px;color:var(--brand)}
.fact-grid div:nth-child(3n+2) .ico{color:#c98a00}
.fact-grid .wide{grid-column:span 2}
.fact-grid dt{font-size:.82rem;color:var(--muted)}
.fact-grid dd{margin:0;font-weight:700;font-size:1.08rem}
.src{font-size:.78rem;color:var(--muted);margin-top:.8em}

/* Équipements */
.equip{background:var(--sun);margin-top:2.6rem;padding:2.4rem 0 2rem;position:relative}
.equip-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px}
.equip-grid li{background:#fff;border-radius:18px;padding:18px 16px;display:flex;flex-direction:column;gap:.3em;box-shadow:0 8px 20px -16px rgba(120,80,0,.5)}
.equip-grid b{line-height:1.25}
.equip-grid li>span:last-child{font-size:.88rem;color:var(--muted);line-height:1.4}
.equip-ico{width:54px;height:54px;border-radius:50%;background:var(--aqua);color:var(--brand);display:grid;place-items:center;margin-bottom:.3em}
.equip-grid li:nth-child(even) .equip-ico{background:#ffe6dd;color:#d4573a}
.equip-ico .ico{width:30px;height:30px}

/* Texte éditorial */
.prose{padding-top:2.6rem;max-width:calc(68ch + 40px);margin-left:max(0px,calc((100% - var(--wrap)) / 2))}
.prose section{margin-bottom:2rem}
.prose h2{position:relative;padding-left:.9em}
.prose h2::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:6px;border-radius:3px;background:var(--cta)}
.prose section:nth-child(3n+2) h2::before{background:var(--brand)}
.prose section:nth-child(3n+3) h2::before{background:var(--coral)}
.prose ul{padding-left:0;list-style:none}
.prose li{margin:.45em 0;padding-left:1.6em;position:relative}
.prose li::before{content:"";position:absolute;left:.2em;top:.55em;width:.65em;height:.65em;border-radius:50%;background:var(--aqua-2);box-shadow:inset 0 0 0 3px var(--brand)}
.band{padding-top:2.6rem;padding-bottom:.6rem}

/* Carte */
.map-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;margin-top:2.6rem;padding-top:2.4rem;padding-bottom:2.4rem;align-items:start;background:var(--aqua);border-radius:28px}
.map{height:380px;border-radius:18px;background:var(--aqua-2);overflow:hidden;box-shadow:0 0 0 4px #fff}
.near{list-style:none;padding:0;margin:0}
.near li{display:flex;justify-content:space-between;gap:12px;padding:.6em .9em;margin:.4em 0;background:#fff;border-radius:12px}
.near span{color:var(--muted);font-size:.9rem;white-space:nowrap}

/* Aides */
.aides{background:linear-gradient(135deg,#fff7df,#ffeec2);border-radius:var(--r);padding:1.6rem 1.8rem .8rem 5.2rem;margin-top:2.6rem;position:relative}
.aides::before{content:"€";position:absolute;left:1.4rem;top:1.5rem;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--cta);color:var(--ink);font-weight:700;font-size:1.3rem;display:grid;place-items:center}
.aides p{max-width:75ch}

/* FAQ */
.faq details{background:var(--aqua);border-radius:14px;margin:.6em 0;max-width:80ch;padding:0 1.1em}
.faq details[open]{background:#fff;box-shadow:0 0 0 2px var(--aqua-2)}
.faq summary{cursor:pointer;font-weight:700;padding:.9em 2.2em .9em 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1.5em;height:1.5em;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:1em;line-height:1}
.faq details[open] summary::after{content:"–";background:var(--coral)}
.faq details p{margin:0 0 1em}

.cta-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:2.6rem;padding:1.6rem 1.8rem;background:linear-gradient(120deg,var(--brand),#13998f);color:var(--brand-ink);border-radius:24px}
.cta-end p{margin:0;font-weight:700;font-size:1.2rem}

/* Listes de villes / départements */
.city-links,.dep-links{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.city-links a,.dep-links a{display:block;padding:.5em .8em;background:var(--aqua);border-radius:10px;text-decoration:none;font-weight:700}
.city-links a:hover,.dep-links a:hover{background:var(--aqua-2)}
.dep-links span{display:inline-block;min-width:2.4em;color:var(--brand-dark)}
.dep-links small{color:var(--muted);font-weight:400}
.letter h3{color:var(--brand);margin-top:1.2rem}
.steps3{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps3 li{display:flex;flex-direction:column;gap:.3em;padding:22px;border-radius:20px;background:var(--aqua)}
.steps3 li:nth-child(2){background:var(--sun)}
.steps3 li:nth-child(3){background:#ffe9e2}
.step-ico{width:58px;height:58px;border-radius:50%;background:#fff;color:var(--brand);display:grid;place-items:center;margin-bottom:.4em}
.step-ico .ico{width:32px;height:32px}
.steps3 li>span:last-child{color:var(--muted)}

/* Recherche */
.city-search{margin-top:1.4rem;position:relative;max-width:560px}
.city-search label{font-weight:700;display:block;margin-bottom:.4em}
.cs-row{display:flex;gap:8px;background:#fff;padding:6px;border-radius:999px;box-shadow:0 10px 24px -16px rgba(11,90,100,.5)}
.cs-row input{flex:1;font:inherit;padding:.6em 1em;border:0;border-radius:999px;min-width:0;outline:none}
.cs-list{position:absolute;left:0;right:0;top:100%;margin:6px 0 0;padding:6px;list-style:none;background:#fff;border-radius:14px;box-shadow:0 14px 30px -14px rgba(0,0,0,.35);z-index:5}
.cs-list a{display:block;padding:.5em .7em;border-radius:8px;text-decoration:none;color:var(--ink)}
.cs-list a:hover,.cs-list a.on{background:var(--aqua)}

.merci{max-width:70ch}

/* Pied de page */
.foot{margin-top:3.5rem;background:var(--brand-dark);color:#d6efec;font-size:.9rem}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding-top:2.2rem;padding-bottom:2.2rem}
.foot a{color:#fff}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:.3em}
.foot-name{font-weight:700;color:#fff;margin-bottom:.2em}

@media (max-width:920px){
  .hero-in,.map-band{grid-template-columns:1fr}
  .steps3{grid-template-columns:1fr}
  .map{height:300px}
  .fact-grid .wide{grid-column:auto}
  .illus{max-width:420px;margin-inline:auto}
  .illus-city{display:none}
  .map-band{border-radius:0}
}
@media (max-width:520px){
  html{font-size:112.5%}
  .form-card{padding:20px 16px}
  .cs-row{flex-direction:column;border-radius:18px}
  .cs-row .btn{width:100%}
  .top .btn-sm{display:none}
  .aides{padding-left:1.4rem;padding-top:4.4rem}
}

/* Plan de la commune */
.map-box{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.map{width:100%;height:auto;min-height:0}
.map.live{height:400px}
.city-map{display:block;width:100%;height:auto}
.m-bg{fill:#f2faf9}
.m-near{fill:#fff;stroke:#9fd2cc;stroke-width:1.5;transition:fill .15s}
a:hover .m-near{fill:#fff1c9}
.m-main{fill:var(--brand);fill-opacity:.88;stroke:#fff;stroke-width:3}
.l-near,.l-main{font-family:"Atkinson Hyperlegible",sans-serif;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke-linejoin:round}
.l-near{font-size:13px;fill:var(--ink);stroke:#fff;stroke-width:4}
.l-main{font-size:19px;font-weight:700;fill:#fff;stroke:var(--brand-dark);stroke-width:5}
.m-north circle{fill:#fff;stroke:var(--line)}.m-north path{fill:var(--coral)}.m-north text{font:700 11px sans-serif;fill:var(--muted);text-anchor:middle}
.m-scale path{stroke:var(--ink);stroke-width:2;fill:none}.m-scale text{font:12px sans-serif;fill:var(--ink);text-anchor:middle}
.map-live{background:#fff}

/* Photo de la ville */
.city-photo{margin:1.6rem 0 0;max-width:560px}
.city-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:20px;box-shadow:0 18px 30px -18px rgba(11,90,100,.5);border:5px solid #fff}
.city-photo figcaption{font-size:.72rem;color:var(--muted);margin-top:.4em}
.city-photo figcaption a{color:var(--muted)}

/* Exemples de douches */
.ex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.ex-grid figure{margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px var(--line),0 12px 24px -20px rgba(11,90,100,.6)}
.ex-grid svg,.ex-grid img{display:block;width:100%;height:auto;aspect-ratio:300/220;object-fit:cover}
.ex-grid figcaption{padding:12px 16px 16px;font-size:.9rem;color:var(--muted);line-height:1.45}
.ex-grid figcaption b{display:block;color:var(--ink);font-size:1rem;margin-bottom:.2em}

/* Sous-titre et bloc PMR */
.subtitle{font-size:1.15rem;font-weight:700;color:var(--brand-dark);margin:-.2em 0 1em;max-width:34ch}
.pmr-band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;align-items:center;margin-top:2.6rem;padding-top:2.2rem;padding-bottom:2.2rem;background:#fff;border-radius:28px;box-shadow:0 0 0 2px var(--aqua-2)}
.pmr-text h2{display:flex;align-items:center;gap:.5em}
.pmr-text h2::before{content:"";width:1.4em;height:1.4em;border-radius:50%;flex:none;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round'%3E%3Ccircle cx='20' cy='32' r='8'/%3E%3Cpath d='M16 12h6v12h12l4 10M22 18h10'/%3E%3Ccircle cx='20' cy='8' r='2.5'/%3E%3C/svg%3E") center/70% no-repeat}
.pmr-keys{list-style:none;padding:0;margin:1.2em 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pmr-keys li{display:flex;align-items:center;gap:10px;background:var(--aqua);border-radius:12px;padding:.6em .8em;font-size:.92rem;font-weight:700;line-height:1.3}
.pmr-keys .ico{flex:none;color:var(--brand)}
.pmr-plan{width:100%;height:auto;display:block}
@media (max-width:920px){.pmr-band{grid-template-columns:1fr;border-radius:0}.pmr-keys{grid-template-columns:1fr}}

/* ---------- Assistant IA ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#lea{position:fixed;right:18px;bottom:18px;z-index:50;font-size:16px}
.lea-fab{position:relative;width:96px;height:96px;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center}
.lea-ring{position:absolute;inset:0;animation:lea-spin 22s linear infinite}
.lea-ring svg{width:100%;height:100%}
.lea-ring text{font:700 11.5px "Atkinson Hyperlegible",sans-serif;fill:var(--brand-dark);letter-spacing:.06em}
@media (prefers-reduced-motion:reduce){.lea-ring{animation:none}}
@keyframes lea-spin{to{transform:rotate(360deg)}}
.lea-fab .lea-av{width:66px;height:66px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px #fff,0 10px 24px -8px rgba(11,90,100,.55);transition:transform .15s}
.lea-fab:hover .lea-av{transform:scale(1.05)}
.lea-av svg{width:100%;height:100%;display:block}
.lea-badge{position:absolute;top:12px;right:12px;min-width:24px;height:24px;border-radius:12px;background:var(--coral);color:#fff;font:700 13px sans-serif;display:grid;place-items:center;box-shadow:0 0 0 3px #fff}
#lea.is-open .lea-ring{display:none}
.lea-panel{position:absolute;right:0;bottom:104px;width:min(380px,calc(100vw - 24px));height:min(600px,calc(100vh - 140px));background:#fff;border-radius:22px;box-shadow:0 30px 60px -20px rgba(11,60,70,.45),0 0 0 1px rgba(11,122,131,.12);display:flex;flex-direction:column;overflow:hidden}
.lea-panel header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(120deg,var(--brand),#13998f);color:#fff}
.lea-panel header b{display:block;font-size:1.05rem}
.lea-panel header small{display:block;font-size:.78rem;opacity:.9}
.lea-panel header div{flex:1}
.lea-av.sm{width:42px;height:42px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px #fff;flex:none}
.lea-close{background:rgba(255,255,255,.18);border:0;color:#fff;width:34px;height:34px;border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer}
.lea-log{flex:1;overflow-y:auto;padding:14px 12px;background:#f4faf9;display:flex;flex-direction:column;gap:10px}
.lea-msg{display:flex;gap:8px;align-items:flex-end;max-width:92%}
.lea-msg.user{align-self:flex-end;flex-direction:row-reverse}
.lea-av.xs{width:28px;height:28px;border-radius:50%;overflow:hidden;flex:none}
.lea-b{padding:10px 13px;border-radius:16px;line-height:1.45;font-size:.95rem}
.lea-b p{margin:0 0 .5em}.lea-b p:last-child{margin:0}
.lea-b ul{margin:.2em 0 .5em;padding-left:1.1em}
.bot .lea-b{background:#fff;border-bottom-left-radius:4px;box-shadow:0 1px 0 var(--line)}
.user .lea-b{background:var(--brand);color:#fff;border-bottom-right-radius:4px}
.err .lea-b{background:#fdecea;color:var(--err)}
.lea-dots{display:inline-flex;gap:4px}
.lea-dots i{width:7px;height:7px;border-radius:50%;background:var(--brand);opacity:.4;animation:lea-dot 1s infinite}
.lea-dots i:nth-child(2){animation-delay:.15s}.lea-dots i:nth-child(3){animation-delay:.3s}
@keyframes lea-dot{50%{opacity:1;transform:translateY(-3px)}}
.lea-link{font-weight:700}
.lea-chips{display:flex;flex-direction:column;gap:6px;padding:0 12px;background:#f4faf9}
.lea-chips:not(:empty){padding-bottom:10px}
.lea-chips button{text-align:left;background:#fff;border:2px solid var(--aqua-2);color:var(--brand-dark);border-radius:14px;padding:.55em .8em;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer}
.lea-chips button:hover{background:var(--aqua)}
.lea-in{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--line)}
.lea-in textarea{flex:1;resize:none;font:inherit;font-size:.95rem;padding:.6em .8em;border:2px solid var(--line);border-radius:14px;max-height:110px;outline:none}
.lea-in textarea:focus{border-color:var(--brand)}
.lea-in button{width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--cta);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.lea-in button svg{width:20px;height:20px}
.lea-legal{margin:0;padding:0 12px 10px;font-size:.7rem;color:var(--muted);line-height:1.35}
.lea-legal a{color:var(--muted)}
.lea-draft{background:#fff;border:2px solid var(--brand);border-radius:16px;padding:12px;font-size:.9rem}
.lea-draft .t{font-weight:700;margin:0 0 8px;color:var(--brand-dark)}
.lea-draft label{display:block;margin:0 0 8px}
.lea-draft label span{display:block;font-size:.78rem;color:var(--muted);margin-bottom:2px}
.lea-draft input[type=text],.lea-draft input[type=tel]{width:100%;font:inherit;padding:.45em .6em;border:2px solid var(--line);border-radius:10px}
.lea-draft .g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lea-draft .s{font-size:.8rem;color:var(--muted);margin:0 0 8px}
.lea-draft .c{display:flex;gap:8px;font-size:.74rem;line-height:1.35;color:var(--muted)}
.lea-draft .c input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--brand)}
.lea-draft .e{color:var(--err);font-weight:700;margin:0 0 8px;font-size:.85rem}
.lea-draft .go{width:100%;background:var(--cta);border:0;border-radius:999px;padding:.7em;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 3px 0 #e09b00}
.lea-draft .ok{margin:0;color:var(--leaf);font-weight:700}
.lea-nudge{position:absolute;right:96px;bottom:40px;width:220px;background:#fff;border-radius:16px 16px 4px 16px;padding:12px 30px 12px 14px;box-shadow:0 14px 30px -14px rgba(0,0,0,.35);cursor:pointer;font-size:.92rem}
.lea-nudge p{margin:0}
.lea-nudge .x{position:absolute;top:4px;right:6px;border:0;background:none;font-size:1.1rem;color:var(--muted);cursor:pointer}
@media (max-width:520px){
  #lea{right:10px;bottom:10px}
  .lea-fab{width:80px;height:80px}.lea-fab .lea-av{width:56px;height:56px}
  #lea.is-open{inset:0}
  #lea.is-open .lea-fab{display:none}
  .lea-panel{position:fixed;inset:0;width:auto;height:auto;border-radius:0}
  .lea-nudge{right:80px;width:190px}
}
.lea-panel[hidden]{display:none}
.lea-badge[hidden]{display:none}

/* Assistant : bulle compacte avec photo (v3) */
.lea-fab{width:62px;height:62px}
.lea-fab .lea-av{width:62px;height:62px;box-shadow:0 0 0 3px #fff,0 8px 20px -6px rgba(11,60,70,.45)}
.lea-av img{width:100%;height:100%;object-fit:cover;display:block}
.lea-on{position:absolute;right:2px;bottom:4px;width:14px;height:14px;border-radius:50%;background:#2fbf71;box-shadow:0 0 0 3px #fff}
.lea-av.sm{position:relative;overflow:visible}
.lea-av.sm svg,.lea-av.sm img{border-radius:50%}
.lea-av.sm .lea-on{right:-1px;bottom:-1px;width:11px;height:11px;box-shadow:0 0 0 2px var(--brand)}
.lea-panel{bottom:76px;width:min(360px,calc(100vw - 24px));height:min(560px,calc(100vh - 110px))}
.lea-panel header{background:var(--brand-dark)}
.lea-chips{align-items:flex-end}
.lea-chips button{border-radius:999px;border:1.5px solid var(--brand);background:#fff;color:var(--brand-dark);font-weight:700;padding:.45em .95em;text-align:right}
.lea-legal{text-align:center}
.lea-nudge{right:74px;bottom:14px}
@media (max-width:520px){.lea-fab,.lea-fab .lea-av{width:56px;height:56px}.lea-nudge{right:66px}}
.lea-chips{gap:6px}
.lea-chips button{font-size:.86rem;padding:.38em .85em;max-width:85%}
/* Assistant : texte plus petit (v6) */
.lea-panel header b{font-size:.95rem}
.lea-panel header small{font-size:.72rem}
.lea-b{font-size:.84rem;line-height:1.42;padding:8px 11px}
.lea-chips button{font-size:.78rem}
.lea-in textarea{font-size:.85rem}
.lea-legal{font-size:.66rem}
.lea-draft{font-size:.82rem}
.lea-draft input[type=text],.lea-draft input[type=tel]{font-size:.85rem}
.lea-draft .c{font-size:.7rem}
.lea-nudge{font-size:.84rem}

/* Photo principale (en-tête) et photo de la ville dans les repères */
.hero-photo{margin:1.6rem 0 0;max-width:560px}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:24px;border:6px solid #fff;box-shadow:0 22px 40px -22px rgba(11,90,100,.55)}
.facts-in.has-photo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:20px;align-items:start}
.facts-in .city-photo{margin:0;max-width:none}
.facts-in .city-photo img{aspect-ratio:4/3}
.facts-in.has-photo .fact-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
@media (max-width:920px){.facts-in.has-photo{grid-template-columns:1fr}.hero-photo{max-width:440px;margin-inline:auto}}
@media (max-width:920px){.hero-photo.on-city{display:none}}
