/* MAIA, feuille de style du site public et de la console. Couleurs et typographie du kit de marque MAIA v1.0. */
@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/polices/fraunces-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/polices/fraunces-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/polices/fraunces-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/polices/fraunces-latin-600-italic.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url(/polices/hanken-grotesk-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(/polices/hanken-grotesk-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url(/polices/hanken-grotesk-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/polices/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/polices/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

:root{
  --serif:Fraunces,Georgia,serif;--sans:"Hanken Grotesk",system-ui,-apple-system,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;
  --vert-900:#07261F;--vert-800:#0B3B34;--vert-700:#0F4A41;--vert-600:#0B6B5D;--vert-500:#12897A;--vert-200:#8FD4C4;--vert-050:#E6F4F0;
  --laiton-700:#8A6D18;--laiton-600:#A8841E;--laiton-500:#C9A227;--laiton-300:#EED289;
  --fond:#FFFDF9;--surface:#F5EFE2;--surface-2:#EFE7D8;--trait:#D9CBB0;--trait-doux:#E4D9C6;
  --texte:#12181D;--texte-courant:#3A342F;--texte-2:#565049;--titre:#0B3B34;--accent:#0B6B5D;--accent-survol:#12897A;--etiquette:#715811;--em:#8A6D18;--bouton:#0B6B5D;--bouton-survol:#0F4A41;
  --carte:#FFFDF9;--inverse:#0B3B34;--sur-inverse:#FFFDF9;--sur-inverse-2:#C2E8DE;--chiffre-inverse:#EED289;
  --ok:#1F7A4C;--alerte:#8A5A06;--erreur:#B3261E;
  /* Anneau de focus : au moins 3:1 sur chaque fond (vert profond sur les fonds clairs, laiton clair sur les fonds sombres). */
  --focus:#0B3B34;
  --ombre:0 1px 2px rgba(18,24,29,.05),0 12px 32px -12px rgba(18,24,29,.14);--rayon:16px;--rayon-s:10px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --fond:#0E1A17;--surface:#13241F;--surface-2:#172B25;--trait:#2B4A42;--trait-doux:#22392F;
  --texte:#F2EDE3;--texte-courant:#DCD5C8;--texte-2:#B4AC9E;--titre:#F6EFE0;--accent:#3FA795;--accent-survol:#6BC2B0;--etiquette:#E0BC4E;--em:#E0BC4E;--bouton:#0B6B5D;--bouton-survol:#12897A;
  --carte:#13241F;--inverse:#07261F;--sur-inverse:#FFFDF9;--sur-inverse-2:#C2E8DE;--chiffre-inverse:#EED289;
  --ok:#4CAF7D;--alerte:#E0A23C;--erreur:#E5544B;--ombre:0 1px 2px rgba(0,0,0,.3);--focus:#EED289;color-scheme:dark}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .probleme img{filter:invert(1) sepia(.35) brightness(1.05)}}
:root[data-theme="dark"] .probleme img{filter:invert(1) sepia(.35) brightness(1.05)}
:root[data-theme="dark"]{
  --fond:#0E1A17;--surface:#13241F;--surface-2:#172B25;--trait:#2B4A42;--trait-doux:#22392F;
  --texte:#F2EDE3;--texte-courant:#DCD5C8;--texte-2:#B4AC9E;--titre:#F6EFE0;--accent:#3FA795;--accent-survol:#6BC2B0;--etiquette:#E0BC4E;--em:#E0BC4E;--bouton:#0B6B5D;--bouton-survol:#12897A;
  --carte:#13241F;--inverse:#07261F;--ok:#4CAF7D;--alerte:#E0A23C;--erreur:#E5544B;--focus:#EED289;color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--fond);color:var(--texte-courant);font:400 17px/1.62 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
a:hover{color:var(--accent-survol)}
h1,h2,h3{font-family:var(--serif);color:var(--titre);font-weight:600;line-height:1.08;margin:0;text-wrap:balance}
h1{font-size:clamp(2.5rem,5.4vw,4.8rem);letter-spacing:-.025em}
h2{font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.015em}
h3{font-size:1.45rem;line-height:1.2}
h1 em,h2 em{font-style:italic;font-weight:400;color:var(--em)}
p{margin:0 0 1em;max-width:68ch}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.section--sombre,.heros--photo,.appel,.pied,.fiche,.jours .actif,.profil--vedette{--focus:#EED289}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.aller{position:absolute;left:16px;top:-60px;background:var(--accent);color:#fff;padding:10px 14px;z-index:100}
.aller:focus{top:12px}
.cadre{width:min(1120px,calc(100% - 32px));margin:0 auto}
.etiquette{display:block;font:500 12px/1.4 var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--etiquette);margin-bottom:14px}
.etiquette::before{content:"\25C6";font-size:8px;margin-right:9px;vertical-align:2px}
.chapeau{font:italic 400 1.25rem/1.5 var(--serif);color:var(--texte-2);max-width:60ch}
.section{padding:clamp(64px,9vw,120px) 0;position:relative}
.section--papier{background:var(--surface)}
.section--sable{background:var(--surface-2)}
.section--sombre{background:radial-gradient(80% 60% at 85% 0%,rgba(201,162,39,.14),transparent 60%),linear-gradient(165deg,var(--vert-800),var(--vert-900));color:var(--sur-inverse-2)}
.section--sombre h2,.section--sombre h3{color:var(--sur-inverse)}
.section--sombre .etiquette{color:var(--laiton-300)}
.section--sombre a{color:var(--laiton-300)}
.intro{max-width:720px;margin-bottom:44px}
.intro h2{margin-bottom:14px}

/* Boutons */
.bouton{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 22px;border:1.5px solid var(--bouton);background:var(--bouton);color:#FFFDF9;font:600 16px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s;border-radius:999px}
.bouton:hover{background:var(--bouton-survol);border-color:var(--bouton-survol);color:#FFFDF9;transform:translateY(-1px)}
.nav .bouton,.nav .bouton:hover{color:#FFFDF9;text-decoration:none}
.bouton--fantome{background:transparent;color:var(--accent);border-color:var(--accent)}
.bouton--fantome:hover{color:#FFFDF9}
.bouton--laiton{background:var(--laiton-500);border-color:var(--laiton-500);color:#0B3B34}
.bouton--laiton:hover{background:var(--laiton-300);border-color:var(--laiton-300);color:#0B3B34}
.bouton--clair{background:transparent;border-color:rgba(255,253,249,.55);color:#FFFDF9}
.bouton--clair:hover{background:rgba(255,253,249,.12);border-color:#FFFDF9;color:#FFFDF9}
.bouton[disabled],.bouton[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
.bouton--petit{min-height:38px;padding:7px 14px;font-size:14px}

/* En-tête */
.entete{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--fond) 93%,transparent);border-bottom:1px solid var(--trait-doux);backdrop-filter:blur(10px)}
.entete .cadre{display:flex;align-items:center;gap:20px;min-height:72px}
.logo img{width:160px;height:auto}
:root[data-theme="dark"] .logo .clair,.logo .sombre{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo .clair{display:none}:root:not([data-theme="light"]) .logo .sombre{display:block}}
:root[data-theme="dark"] .logo .sombre{display:block}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{color:var(--texte-courant);text-decoration:none;font-size:15px;padding:10px 10px}
.nav a:hover,.nav a[aria-current="page"]{color:var(--accent)}
.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--laiton-500)}
.langue{font:500 13px var(--mono);letter-spacing:.08em}
/* Menu des petits écrans : <details>, ouvert et fermé sans JavaScript. */
.menu-mobile{display:none}
.menu-bouton{display:inline-flex;align-items:center;cursor:pointer;list-style:none;background:none;border:1px solid var(--trait);color:var(--titre);min-height:44px;padding:8px 14px;font:600 15px var(--sans)}
.menu-bouton::-webkit-details-marker{display:none}
.menu-bouton .fermer,.menu-mobile[open] .menu-bouton .ouvrir{display:none}
.menu-mobile[open] .menu-bouton .fermer{display:inline}
@media (max-width:980px){
  .nav--large{display:none}
  .menu-mobile{display:block;margin-left:auto}
  .nav--mobile{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--fond);border-bottom:1px solid var(--trait);padding:8px 16px 18px;box-shadow:0 18px 30px -18px rgba(18,24,29,.25)}
  .nav--mobile a{padding:12px 4px;border-bottom:1px solid var(--trait-doux)}
  .nav--mobile .bouton{margin-top:10px;justify-content:center}
}

/* Accueil */
.heros{padding:clamp(56px,9vw,120px) 0 clamp(56px,8vw,96px);background:radial-gradient(70% 90% at 100% 0%,var(--surface-2),transparent 70%),var(--fond)}
.heros .recit h1{font-size:clamp(2.3rem,4.2vw,3.7rem)}
.heros-grille{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,6vw,80px);align-items:center}
.heros h1{margin:6px 0 22px}
.heros .sous{font:400 1.22rem/1.6 var(--sans);color:var(--texte-2);max-width:58ch}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 18px}
.micro{font:400 13px/1.6 var(--mono);color:var(--texte-2)}
.heros--photo{position:relative;isolation:isolate;overflow:hidden;background:var(--vert-900);color:#E6F4F0;padding:clamp(64px,10vw,136px) 0 0}
.heros-fond{position:absolute;inset:0;z-index:-1}
.heros-fond img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.heros-fond::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,38,31,.92) 0%,rgba(7,38,31,.7) 48%,rgba(7,38,31,.25) 100%),linear-gradient(0deg,rgba(7,38,31,.96) 0%,transparent 42%)}
.heros--photo h1{color:#FFFDF9}
.heros--photo h1 em{color:var(--laiton-300)}
.heros--photo .etiquette{color:var(--laiton-300)}
.heros--photo .sous{color:#D3E6DF}
.heros--photo .micro{color:#A9C9BF}
.heros--photo .bouton--laiton{color:#07261F}
.fiche{background:var(--vert-800);color:#E6F4F0;padding:30px;border-top:3px solid var(--laiton-500);border-radius:var(--rayon);box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
.heros--photo .fiche{background:rgba(11,59,52,.62);border:1px solid rgba(238,210,137,.28);border-top:3px solid var(--laiton-500);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.fiche .etiquette{color:var(--vert-200)}
.fiche h2,.fiche h3{color:#FFFDF9;font-size:1.8rem;margin:6px 0 4px}
.fiche .secteur{color:var(--vert-200);margin-bottom:22px;font-size:15px}
.fiche dl{margin:0;border-top:1px solid rgba(194,232,222,.22)}
.fiche dl div{padding:12px 0;border-bottom:1px solid rgba(194,232,222,.22)}
.fiche dt{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vert-200)}
.fiche dd{margin:4px 0 0;font-size:16px;color:#FFFDF9}
.fiche footer{font:400 13px var(--mono);padding-top:18px;color:var(--laiton-300)}
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(56px,8vw,96px);border-top:1px solid rgba(255,253,249,.16)}
.chiffres div{padding:30px 22px 36px 0}
.chiffres div+div{padding-left:22px;border-left:1px solid rgba(255,253,249,.12)}
.chiffres strong{display:block;color:var(--laiton-300);font:600 clamp(2.4rem,4.4vw,3.6rem)/1 var(--serif);font-variant-numeric:tabular-nums}
.chiffres span{display:block;margin-top:10px;font:500 12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#C2E8DE}
.deux-temps{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,88px);align-items:start}
.intro--colle{position:sticky;top:110px;margin-bottom:0}
.intro--colle .photo-arrondie{margin-top:28px;height:240px}
.photo-arrondie{width:100%;object-fit:cover;border-radius:var(--rayon)}
.problemes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.problemes li{background:var(--carte);border:1px solid var(--trait-doux);border-radius:var(--rayon);padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--ombre)}
.problemes img{width:28px;height:28px}
.problemes .num{font:500 12px var(--mono);color:var(--etiquette);letter-spacing:.1em}
.problemes p{font:400 1.16rem/1.4 var(--serif);color:var(--titre);margin:0}
.frise{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.frise li{position:relative;padding-top:64px}
.frise li::before{content:"";position:absolute;top:22px;left:44px;right:-28px;height:1px;background:linear-gradient(90deg,var(--laiton-500),var(--trait))}
.frise li:last-child::before{display:none}
.frise .pastille{position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--fond);border:1.5px solid var(--laiton-500);font:600 1.1rem var(--serif);color:var(--titre)}
.frise h3{font-size:1.3rem;margin-bottom:10px}
.frise p{font-size:15.5px;margin:0}
.lien-fleche{margin-top:auto;font-weight:600;text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.lien-fleche::after{content:"\2192";transition:transform .2s}
.lien-fleche:hover::after{transform:translateX(4px)}
.section .carte.profil--vedette{background:var(--vert-800);border-color:var(--vert-800);color:#D3E6DF}
.profil--vedette h3{color:#FFFDF9}
.profil--vedette .prix{color:var(--laiton-300)!important}
.profil--vedette .lien-fleche{color:var(--laiton-300)}
.appel{padding:clamp(64px,9vw,112px) 0;text-align:center;color:#D3E6DF;background:radial-gradient(60% 120% at 50% 0%,rgba(201,162,39,.22),transparent 60%),var(--vert-900)}
.appel h2{color:#FFFDF9;max-width:22ch;margin:0 auto 16px}
.appel p{margin:0 auto;max-width:56ch}
.appel .actions{justify-content:center}
.appel .bouton--laiton{color:#07261F}
.grille-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grille-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.grille-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.carte{background:var(--carte);padding:28px;box-shadow:var(--ombre);border:1px solid var(--trait-doux);border-radius:var(--rayon)}
.section--papier .carte,.section--sable .carte{background:var(--fond)}
.carte h3{margin-bottom:10px}
.carte .num{font:500 13px var(--mono);color:var(--etiquette)}
.jours .actif .num{color:var(--laiton-300)}
.probleme{display:flex;flex-direction:column;gap:18px}
.probleme img{width:40px;height:40px}
.probleme p{font:400 1.2rem/1.38 var(--serif);color:var(--titre);margin:0}
.jours .actif{background:var(--vert-800);border-color:var(--vert-800);color:#E6F4F0}
.jours .actif h3{color:#FFFDF9}
.profil{display:flex;flex-direction:column;gap:12px}
.profil .prix{font:600 1.7rem/1.1 var(--serif);color:var(--titre)}
.profil .bouton{margin-top:auto;align-self:flex-start}
.recit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,80px);align-items:center}
.recit img{width:100%;height:clamp(260px,40vw,480px);object-fit:cover;border-radius:var(--rayon)}
.liste{list-style:none;padding:0;margin:18px 0 0}
.liste li{padding:12px 0 12px 28px;border-top:1px solid var(--trait-doux);position:relative}
.liste li::before{content:"";position:absolute;left:4px;top:22px;width:10px;height:2px;background:var(--laiton-500)}
.section--sombre .liste li{border-color:#2b6258}
.garantie{margin-top:28px;padding:20px 22px;border:1px solid var(--laiton-500);border-radius:var(--rayon-s);font:400 15px/1.6 var(--mono);color:var(--texte-courant);background:var(--fond)}
.section--sombre .garantie{background:transparent;color:#E6F4F0}
.sponsor{display:flex;gap:18px;align-items:flex-start}
.sponsor .marque{flex:none;width:56px;height:56px;display:grid;place-items:center;background:var(--surface-2);font:600 20px var(--serif);color:var(--titre);border-radius:14px}
.sponsor .marque img{width:40px;height:40px}
.sponsor h3{font-size:1.3rem}
.faq-grille{display:grid;grid-template-columns:.8fr 1.4fr;gap:clamp(28px,5vw,72px);align-items:start}
.faq-grille h2{margin:0}
.faq details{border-top:1px solid var(--trait);max-width:860px}
.faq details:last-child{border-bottom:1px solid var(--trait)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font:400 1.3rem/1.35 var(--serif);color:var(--titre)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.6rem/1 var(--sans);color:var(--accent)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 20px}

/* Offres */
.offres{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
.offre{background:var(--carte);padding:32px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--ombre);border:1px solid var(--trait-doux);border-top:3px solid var(--trait);border-radius:var(--rayon)}
.offre--vedette{border-top-color:var(--laiton-500)}
.offre .prix{font:600 2.4rem/1 var(--serif);color:var(--titre);font-variant-numeric:tabular-nums}
.offre .prix small{font:500 13px var(--mono);letter-spacing:.06em;color:var(--texte-2);margin-left:6px}
.offre .tva{font-size:14px;color:var(--texte-2);margin:0}
.offre .restantes{font:500 13px var(--mono);color:var(--accent)}
.offre .restantes.complet{color:var(--erreur)}
.offre .liste{margin-top:0}
.offre .bouton{margin-top:auto;align-self:flex-start}
.puces{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 0}
.puces li{background:var(--fond);border:1px solid var(--trait);padding:6px 14px;font-size:14px;border-radius:999px}
table{width:100%;border-collapse:collapse}
th{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-2);text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--trait)}
td{padding:12px 12px 12px 0;border-bottom:1px solid var(--trait-doux);vertical-align:top;font-size:15px}
.defile{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}

.offre--resume{max-width:860px;margin:24px 0}
.note{margin-top:12px}
.titre-carte{font-size:1.4rem;margin-bottom:10px}

/* Formulaires */
.formulaire{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 28px;max-width:860px}
.formulaire .large{grid-column:1/-1}
.champ{display:flex;flex-direction:column;gap:6px}
.champ label,.champ legend{font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--texte-2)}
.champ input,.champ select,.champ textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--trait);background:var(--fond);color:var(--texte);font:400 16px/1.4 var(--sans);border-radius:var(--rayon-s)}
.champ textarea{min-height:110px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--accent);outline:3px solid var(--focus);outline-offset:1px}
.case{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.case input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--accent)}
.radio{display:flex;flex-direction:column;gap:10px}
.piege{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.message{padding:16px 18px;border-left:3px solid var(--accent);background:var(--surface);margin-bottom:24px;max-width:860px;border-radius:0 var(--rayon-s) var(--rayon-s) 0}
.message--erreur{border-color:var(--erreur)}
.section--sombre .champ label{color:var(--vert-200)}
.section--sombre .champ input,.section--sombre .champ select,.section--sombre .champ textarea{background:#0b2f29;border-color:#3f746a;color:#FFFDF9}
.section--sombre .message{background:#0b2f29;color:#FFFDF9}

/* Pied */
.pied{padding:64px 0 44px;background:var(--vert-900);color:#C2E8DE;border-top:1px solid rgba(238,210,137,.18)}
.pied .cadre{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
.pied img{width:170px;margin-bottom:14px}
.pied p{color:#D3E6DF}
.pied nav{display:flex;flex-direction:column;gap:4px}
.pied a{color:#DCEAE5;text-decoration:none;font-size:15px;padding:5px 0}
.pied a:hover{color:var(--laiton-300)}
.pied small{display:block;font:400 13px/1.6 var(--mono);color:#9FC2B7;margin-top:14px}
.pied .titre-col{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--laiton-300);margin-bottom:8px}

/* Pages de texte (légal, journal) */
.texte{max-width:760px}
.texte h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:24px}
.texte h2{font-size:1.6rem;margin:36px 0 12px}
.texte ul{padding-left:20px}

@media (max-width:900px){
  .heros-grille,.recit,.grille-2,.deux-temps,.faq-grille{grid-template-columns:1fr}
  .recit.inverse>div{order:0}
  .grille-3,.grille-4,.chiffres,.frise{grid-template-columns:1fr 1fr}
  .chiffres div:nth-child(3){padding-left:0;border-left:0}
  .chiffres div:nth-child(n+3){border-top:1px solid rgba(255,253,249,.12)}
  .frise li::before{display:none}
  .intro--colle{position:static}
  .pied .cadre{grid-template-columns:1fr 1fr}
  .pied .cadre>div:first-child{grid-column:1/-1}
}
@media (max-width:560px){
  body{font-size:16px}
  .grille-3,.grille-4,.formulaire,.problemes,.frise{grid-template-columns:1fr}
  .chiffres div{padding:22px 12px 24px 0}
  .chiffres div+div{padding-left:12px}
  .chiffres div:nth-child(3){padding-left:0}
  .fiche{padding:22px}
  .actions .bouton{width:100%;justify-content:center}
  .heros .sous{font-size:1.08rem}
  .pied .cadre{grid-template-columns:1fr}
  .intro--colle .photo-arrondie{display:none}
  .problemes{gap:10px}
  .problemes li{display:grid;grid-template-columns:28px 1fr;gap:4px 14px;padding:18px}
  .problemes .num{display:none}
  .problemes p{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Console d'administration */
.admin{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.admin-nav{background:var(--vert-900);color:#C2E8DE;padding:20px 14px;display:flex;flex-direction:column;gap:2px}
.admin-nav img{width:120px;margin:0 0 18px 8px}
.admin-nav a{color:#C2E8DE;text-decoration:none;padding:9px 10px;font-size:15px;border-radius:2px}
.admin-nav a:hover,.admin-nav a[aria-current="page"]{background:#0F4A41;color:#FFFDF9}
.admin-nav .bouton--fantome{color:#C2E8DE;border-color:#3f746a}
.admin-nav .qui{margin-top:auto;font:400 12px var(--mono);padding:10px;color:var(--vert-200);word-break:break-all}
.admin-corps{padding:28px clamp(16px,3vw,36px);min-width:0}
.admin-corps h1{font-size:2rem;margin-bottom:6px}
.admin-corps h2{font-size:1.35rem;margin:28px 0 12px}
.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0}
.tuile{background:var(--carte);box-shadow:var(--ombre);padding:16px}
.tuile b{display:block;font:600 1.7rem/1.1 var(--serif);color:var(--titre);font-variant-numeric:tabular-nums}
.tuile span{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--texte-2)}
.etat{display:inline-block;padding:2px 9px;font:500 12px var(--mono);border:1px solid currentColor;border-radius:2px;white-space:nowrap}
.etat--fait,.etat--ok{color:var(--ok)}
.etat--a_faire,.etat--attente{color:var(--alerte)}
.etat--bloquant,.etat--erreur{color:var(--erreur)}
.ligne-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ligne-actions form{display:inline}
.admin .champ{max-width:560px}
.carte-agent{background:var(--carte);box-shadow:var(--ombre);padding:18px;display:flex;flex-direction:column;gap:8px}
.carte-agent h3{font-size:1.15rem}
.jauge{height:8px;background:var(--surface-2);position:relative}
.jauge i{position:absolute;inset:0 auto 0 0;background:var(--accent);width:0}.jauge .j0{width:0%}.jauge .j1{width:10%}.jauge .j2{width:20%}.jauge .j3{width:30%}.jauge .j4{width:40%}.jauge .j5{width:50%}.jauge .j6{width:60%}.jauge .j7{width:70%}.jauge .j8{width:80%}.jauge .j9{width:90%}.jauge .j10{width:100%}
pre.contrat{white-space:pre-wrap;background:var(--surface);padding:16px;font:14px/1.6 var(--mono);max-height:420px;overflow:auto}
@media (max-width:900px){.admin{grid-template-columns:minmax(0,1fr)}.admin-nav{flex-direction:row;flex-wrap:wrap;gap:4px;padding:10px}.admin-nav img{display:none}.admin-nav .bouton--fantome{color:#C2E8DE;border-color:#3f746a}
.admin-nav .qui{margin:0;width:100%}}

/* Grille de l'édition : le programme d'un exposant, créneau par créneau */
.grille-edition{margin:0 0 56px}
.grille-jours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.4vw,28px)}
.grille-jour h3{font-size:1.15rem;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--trait)}
.grille-jour ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.creneau{display:flex;align-items:baseline;gap:12px;padding:9px 12px;background:var(--bouton);color:#FFFDF9;font-size:14px}
.creneau time{font:500 13px/1 var(--mono);font-variant-numeric:tabular-nums;min-width:3.2em}
.creneau--libre{background:transparent;color:var(--texte-2);outline:1.5px dashed var(--laiton-500);outline-offset:-1.5px}
.grille-edition figcaption{margin-top:16px;font-size:14px;color:var(--texte-2);max-width:70ch}
.sous-titre{margin:0 0 20px}

/* Étapes : une vraie séquence, numérotée */
.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px;counter-reset:etape}
.etapes li{counter-increment:etape;border-top:2px solid var(--titre);padding-top:16px}
.etapes li::before{content:counter(etape);display:block;font:600 2.2rem/1 var(--serif);color:var(--em);margin-bottom:10px}
.etapes h4{font:600 1.1rem/1.3 var(--sans);color:var(--titre);margin:0 0 6px}
.etapes p{font-size:15px;margin:0}
.etapes--compact{margin-bottom:40px}

/* Registre : ce que le client engage, ligne par ligne */
.registre{margin:0;padding:0;border-top:1px solid var(--trait)}
.registre div{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--trait)}
.registre dt{font-weight:600;color:var(--titre)}
.registre dd{margin:0}
.registre .fort dd{font:600 1.15rem/1.3 var(--mono);color:var(--titre);word-break:break-all}
.recit--registre{align-items:start}
.par-rdv{font:500 14px/1.4 var(--sans);color:var(--accent);margin:-4px 0 0}
.encart{background:var(--carte);border-left:3px solid var(--laiton-500);padding:20px 24px;margin:24px 0;max-width:72ch;box-shadow:var(--ombre)}
.encart h2{font-size:1.5rem;margin-bottom:10px}

/* Dossier imprimable et bon de commande */
.dossier h2{font-size:1.7rem;margin:44px 0 18px}
.dossier-offres{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.dossier-offre{background:var(--carte);padding:24px;border-top:3px solid var(--laiton-500)}
.dossier-offre .prix{font:600 2rem/1 var(--serif);color:var(--titre);margin:8px 0}
.bon .registre{margin:24px 0}

/* Programme personnel et critères */
.cases{border:0;padding:0;margin:0}
.cases legend{font-weight:600;color:var(--titre);margin-bottom:10px}
.cases-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 18px}
.cases-jour{display:grid;gap:4px;align-content:start}
.programme{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid var(--trait)}
.programme li{display:grid;grid-template-columns:4.2em 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--trait)}
.programme .heure{font:500 14px var(--mono);color:var(--accent)}
.tuile--alerte{border-color:var(--erreur)}
.tuile--alerte b{color:var(--erreur)}

@media (max-width:720px){
  .grille-jours{grid-template-columns:1fr}
  .registre div{grid-template-columns:1fr;gap:2px}
}
@media print{
  .entete,.pied,.non-imprime,.imprimer,[data-imprimer]{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .section{padding:12pt 0}
  .section--papier{background:#fff}
  .creneau{background:#0B3B34!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .creneau--libre{background:#fff!important;color:#000!important}
  .dossier h2{break-after:avoid}
  .grille-edition,.dossier-offre{break-inside:avoid}
}
.liste li,.encart,.registre dd{overflow-wrap:anywhere}
.recit--registre h2{margin-bottom:18px}
.creneau--session{margin-top:14px}
.offre .par-rdv{margin:-6px 0 0}
.cases .case,.champ .case{font:400 15px/1.4 var(--sans);text-transform:none;letter-spacing:0;color:var(--texte-courant);align-items:center}
.cases-jour strong{font:600 15px var(--sans);color:var(--titre);margin-bottom:4px}
.bloc-programme{margin:28px 0 56px}
.bloc-programme{margin:36px 0 56px}.bloc-programme h2{margin-bottom:16px}.bloc-programme h3{margin:28px 0 8px}

/* Page « Installer l'application » (src/pages/publiques.ts) et guide posé par public/installer-app.js. */
.inst-heros{align-items:start}
.inst-guide{--installer-accent:var(--bouton);--installer-texte-accent:#FFFDF9;--installer-bord:var(--trait);--installer-fond:var(--carte);min-height:120px}
.inst-badges{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0}
.inst-badges li{padding:6px 12px;border:1px solid var(--trait);border-radius:999px;font-size:.9rem;color:var(--texte-2)}
.inst-sans-script{display:grid;gap:16px}
.inst-sans-script h3{font-size:1.05rem;margin:0 0 6px}
.inst-sans-script ol{margin:0;padding-left:20px}
.inst-atouts{display:grid;gap:16px}
@media (min-width:760px){.inst-atouts{grid-template-columns:repeat(2,1fr)}}
.inst-atout{padding:20px;border:1px solid var(--trait);border-radius:16px;background:var(--carte)}
.inst-atout h3{margin:0 0 8px;font-size:1.1rem}
.inst-atout p{margin:0}
.admin-installer{margin-top:auto}
.creneau{border-radius:6px}
tbody th{font:600 15px/1.35 var(--sans);letter-spacing:0;text-transform:none;color:var(--titre);border-bottom:1px solid var(--trait-doux)}
td{font-variant-numeric:tabular-nums}
@media (max-width:560px){th,td{font-size:14px;padding-right:10px}thead th{font-size:11px;letter-spacing:.06em}}
.menu-bouton{border-radius:999px;padding:8px 18px}

/* Cartes d'offres alignées : titre, accroche, bloc prix (prix, TVA, prix par rendez-vous, places), inclus, pied. */
.offres{align-items:stretch}
.offres .offre{display:grid;grid-template-rows:subgrid;grid-row:span 5;gap:16px;align-content:start}
.offre .accroche{margin:0}
.offre-prix{display:flex;flex-direction:column;gap:6px}
.offre-prix p{margin:0}
.offre .offre-prix .par-rdv{margin:2px 0 0}
.offre-prix .restantes{margin-top:6px}
.offre-pied{display:flex;flex-direction:column;gap:14px;align-self:end}
.offre-pied .bouton{margin-top:0}
.offre--resume .prix{margin-bottom:6px}
/* Le déroulé : trois jours de rendez-vous, puis le départ. */
.depart{margin:22px 0 0;font:400 15px/1.6 var(--mono);color:var(--texte-2)}
@media (min-width:561px){.grille-3.jours{grid-template-columns:repeat(3,1fr)}}
/* Le lieu, sans photo : rien n'est montré tant que l'établissement n'est pas confirmé. */
.recit--lieu{align-items:start}
.recit--lieu .garantie{margin-top:0}
.recit--lieu p{color:#E6F4F0}
/* Le lien entre MAIA et ses partenaires principaux, dit en une ligne. */
.lien-fondateur{margin:18px 0 0;max-width:80ch}
.logo img{width:160px;height:auto}
.pied img{width:160px;height:auto}
.recit--lieu h2{margin-bottom:12px}

/* ==========================================================================
   Refonte d'octobre 2026 : « le carnet de rendez-vous ».
   Le produit, ce sont des rendez-vous programmés : l'accueil s'ouvre sur un programme d'exposant (exemple), la photo
   du golfe passe en pleine largeur, les titres prennent un Caslon d'invitation (Libre Caslon Display), le texte et les
   petites indications restent en Hanken Grotesk (plus de capitales espacées ni de chasse fixe sur le site public).
   Couleurs de marque inchangées (vert maquis et laiton du logo) ; fonds clairs rafraîchis, plus frais que le crème.
   ========================================================================== */
@font-face{font-family:"Libre Caslon Display";font-style:normal;font-weight:400;font-display:swap;src:url(/polices/libre-caslon-display-latin-400-normal.woff2) format("woff2")}
:root{--affiche:"Libre Caslon Display",Georgia,"Times New Roman",serif;--fond:#FBFBF8;--surface:#EEF2EE;--surface-2:#E3EAE5;--trait:#C9D3CC;--trait-doux:#DDE4DF;--carte:#FFFFFF;--texte-courant:#2B3733;--texte-2:#4F5D57;--etiquette:#76590F;--em:#76590F;--rayon:10px;--rayon-s:6px;--ombre:0 1px 2px rgba(11,59,52,.06),0 18px 40px -24px rgba(11,59,52,.28)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--fond:#0D1916;--surface:#12221E;--surface-2:#162924;--carte:#12221E;--etiquette:#E0BC4E;--em:#E0BC4E}}
:root[data-theme="dark"]{--fond:#0D1916;--surface:#12221E;--surface-2:#162924;--carte:#12221E;--etiquette:#E0BC4E;--em:#E0BC4E}

h1,h2{font-family:var(--affiche);font-weight:400;letter-spacing:-.012em;line-height:1.04}
h1{font-size:clamp(2.6rem,6vw,5.4rem)}
h2{font-size:clamp(2rem,4.2vw,3.3rem)}
h3{font:600 1.18rem/1.3 var(--sans);letter-spacing:-.005em}
h1 em,h2 em{font-style:normal;font-weight:400;color:inherit}
.etiquette{font:600 14px/1.4 var(--sans);letter-spacing:0;text-transform:none;margin:0 0 16px}
.etiquette::before{content:none}
.chapeau{font:400 1.15rem/1.6 var(--sans);color:var(--texte-2)}
.bouton{border-radius:var(--rayon-s);font-weight:600;letter-spacing:.005em}
.bouton:hover{transform:none}
.bouton--petit{min-height:40px}
.menu-bouton{border-radius:var(--rayon-s)}
.langue{font:600 13px var(--sans);letter-spacing:.04em}

/* En-tête : l'application à installer, visible sur chaque page. */
.nav a.nav-app{display:inline-flex;align-items:center;gap:6px;color:var(--titre);border:1px solid var(--trait);border-radius:var(--rayon-s);padding:7px 11px;margin:0 6px 0 8px;font-size:14px;font-weight:600}
.nav a.nav-app:hover{border-color:var(--accent);color:var(--accent)}
.nav a.nav-app svg{flex:none}
@media (max-width:980px){.nav--mobile a.nav-app{margin:10px 0 0;justify-content:center;border:1px solid var(--trait);padding:12px}}

/* Accueil : le carnet */
.heros--carnet{padding:clamp(48px,7vw,96px) 0 clamp(56px,7vw,104px);background:var(--fond);overflow:hidden;isolation:isolate}
.heros--carnet .heros-grille{grid-template-columns:1.08fr .92fr;align-items:center}
.heros--carnet h1{margin:0 0 24px;max-width:13ch;color:var(--titre)}
.heros--carnet .sous{font-size:1.18rem;max-width:52ch}
.heros--carnet .actions{margin:30px 0 22px}
ul.micro{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;font:500 14px/1.5 var(--sans);color:var(--texte-2)}
ul.micro li{display:inline-flex;align-items:center;gap:8px}
ul.micro li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--laiton-500);flex:none}
.carnet{position:relative;background:var(--carte);border:1px solid var(--trait);border-radius:4px;padding:26px 0 8px;box-shadow:0 2px 4px rgba(11,59,52,.05),0 38px 70px -34px rgba(7,38,31,.45)}
.carnet::before{content:"";position:absolute;inset:14px -14px -14px 14px;z-index:-1;background:var(--surface-2);border:1px solid var(--trait);border-radius:4px;transform:rotate(2.2deg)}
.carnet::after{content:"";position:absolute;top:0;bottom:0;left:92px;width:1px;background:color-mix(in srgb,var(--laiton-500) 55%,transparent)}
.carnet-tete{padding:0 26px 18px 112px;border-bottom:1px solid var(--trait)}
.carnet-tete p{margin:0;font:600 13px/1.4 var(--sans);color:var(--texte-2)}
.carnet-tete .carnet-jour{font:400 1.7rem/1.2 var(--affiche);color:var(--titre);margin-top:2px}
.carnet-liste{list-style:none;margin:0;padding:0}
.carnet-rdv{display:grid;grid-template-columns:92px 1fr;border-bottom:1px solid var(--trait-doux)}
.carnet-rdv:last-child{border-bottom:0}
.carnet-rdv time{padding:16px 0 0 22px;font:600 15px/1.3 var(--sans);font-variant-numeric:tabular-nums;color:var(--accent)}
.carnet-rdv>div{padding:15px 26px 15px 20px;min-width:0}
.carnet-qui{margin:0;font:600 15.5px/1.35 var(--sans);color:var(--titre)}
.carnet-quoi{margin:2px 0 0;font-size:14.5px;color:var(--texte-2)}
.carnet-rdv--ouvert{background:linear-gradient(90deg,color-mix(in srgb,var(--laiton-300) 34%,transparent),color-mix(in srgb,var(--laiton-300) 10%,transparent))}
.carnet-rdv--ouvert h2{font:400 1.75rem/1.15 var(--affiche);color:var(--titre);margin:0}
.carnet-rdv--ouvert .secteur{margin:2px 0 12px;font-size:14.5px;color:var(--texte-2)}
.carnet-rdv--ouvert dl{margin:0;display:grid;gap:8px}
.carnet-rdv--ouvert dl div{display:grid;grid-template-columns:7.5em 1fr;gap:10px;align-items:baseline}
.carnet-rdv--ouvert dt{font:500 13.5px/1.4 var(--sans);color:var(--texte-2)}
.carnet-rdv--ouvert dd{margin:0;font:600 15px/1.4 var(--sans);color:var(--titre)}
.carnet-brief{margin:12px 0 0;font:500 13.5px/1.4 var(--sans);color:var(--etiquette)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .carnet-rdv--ouvert{background:color-mix(in srgb,var(--laiton-500) 11%,transparent)}}
:root[data-theme="dark"] .carnet-rdv--ouvert{background:color-mix(in srgb,var(--laiton-500) 11%,transparent)}

/* La photo du golfe en pleine largeur, avec les chiffres de l'édition. */
.bandeau-golfe{position:relative;isolation:isolate;min-height:clamp(380px,44vw,600px);display:flex;align-items:flex-end;background:var(--vert-900);color:#E6F4F0;--focus:#EED289}
.bandeau-golfe>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-2}
.bandeau-golfe::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,38,31,.94) 0%,rgba(7,38,31,.55) 38%,rgba(7,38,31,0) 70%)}
.bandeau-golfe .chiffres{margin-top:0;border-top:1px solid rgba(255,253,249,.28)}
.chiffres strong{font:400 clamp(2.6rem,5vw,4.2rem)/1 var(--affiche);color:#FFFDF9}
.chiffres span{font:500 14px/1.45 var(--sans);letter-spacing:0;text-transform:none;color:#D3E6DF;max-width:20ch}

/* Pourquoi MAIA : une liste sobre, sans cartes ni numéros (ce n'est pas une suite). */
.problemes{gap:0 36px}
.problemes li{background:none;border:0;border-top:1px solid var(--trait);border-radius:0;box-shadow:none;padding:22px 0;display:grid;grid-template-columns:28px 1fr;gap:16px;align-items:start}
.problemes p{font:500 1.12rem/1.45 var(--sans);color:var(--titre)}
.intro--colle h2{margin-bottom:16px}

/* La méthode (une vraie suite) et le déroulé. */
.frise .pastille{font:400 1.25rem var(--affiche);background:var(--surface-2)}
.frise h3{font-size:1.15rem}
.jours{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(20px,3vw,40px)}
.jours li{border-top:2px solid var(--titre);padding-top:18px}
.jours h3{font:400 2.2rem/1.1 var(--affiche);color:var(--titre);margin:0 0 10px}
.jours p{margin:0}
.depart{font:500 15px/1.6 var(--sans)}

/* Les quatre façons de venir : des colonnes, pas des cartes. */
.grille-4 .carte.profil{background:none;border:0;border-top:1px solid var(--trait);border-radius:0;box-shadow:none;padding:22px 0 0}
.section .grille-4 .carte.profil--vedette{background:none;border-color:var(--laiton-500);border-top-width:3px;color:var(--texte-courant)}
.grille-4 .profil--vedette h3{color:var(--titre)}
.grille-4 .profil--vedette .prix{color:var(--titre)!important}
.grille-4 .profil--vedette .lien-fleche{color:var(--accent)}
.profil .prix{font:400 1.6rem/1.2 var(--affiche);text-wrap:balance}
.grille-4{gap:clamp(20px,3vw,36px)}

/* Offres et prix */
.offre{border-radius:var(--rayon);box-shadow:none;border:1px solid var(--trait);border-top:4px solid var(--trait)}
.offre--vedette{border-top-color:var(--laiton-500);box-shadow:var(--ombre)}
.offre .prix{font:400 2.7rem/1 var(--affiche)}
.offre .prix small,.offre .restantes{font-family:var(--sans);font-weight:600;letter-spacing:0}
.offre h3{font-size:1.3rem}

/* Petites indications : plus de chasse fixe ni de capitales espacées sur le site public. */
.micro,.garantie,.pied small,.fiche footer,.programme .heure,.creneau time{font-family:var(--sans)}
.garantie{font-size:15.5px}
.pied .titre-col,th,.champ label,.champ legend,.fiche dt{font-family:var(--sans);font-weight:600;letter-spacing:0;text-transform:none;font-size:14px}
.faq summary{font:500 1.12rem/1.4 var(--sans)}
.carte{box-shadow:none}
.problemes img,.probleme img{opacity:.9}
.appel h2{max-width:20ch}
.lien-fondateur{font-size:14px;color:var(--texte-2)}

@media (max-width:900px){
  .heros--carnet .heros-grille{grid-template-columns:1fr}
  .carnet{margin-right:14px}
  .jours{grid-template-columns:1fr;gap:28px}
  .bandeau-golfe .chiffres div:nth-child(n+3){border-top:1px solid rgba(255,253,249,.2)}
}
@media (max-width:560px){
  .carnet::after{left:70px}
  .carnet-rdv{grid-template-columns:70px 1fr}
  .carnet-rdv time{padding-left:14px;font-size:14px}
  .carnet-rdv>div{padding:14px 16px 14px 14px}
  .carnet-tete{padding:0 16px 16px 84px}
  .carnet-rdv--ouvert dl div{grid-template-columns:1fr;gap:0}
  .problemes li{grid-template-columns:28px 1fr;padding:18px 0}
  .bandeau-golfe{min-height:460px}
  .chiffres span{font-size:13px}
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .problemes img{filter:invert(1) sepia(.35) brightness(1.05)}}
:root[data-theme="dark"] .problemes img{filter:invert(1) sepia(.35) brightness(1.05)}

/* Vendeur du site : « Une question ? » (public/vendeur.js). Une page du carnet, avec sa marge laiton : sobre, au coin
   de l'écran, en feuille du bas sur téléphone. Aucun mouvement quand le système demande moins d'animations. */
.vendeur{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--sans)}
.vendeur-bouton{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:11px 18px 11px 15px;border:1px solid var(--vert-900);border-radius:var(--rayon-s);background:var(--vert-800);color:#FFFDF9;font:600 15px/1.2 var(--sans);cursor:pointer;box-shadow:0 1px 2px rgba(7,38,31,.18),0 14px 30px -14px rgba(7,38,31,.55);--focus:#EED289}
.vendeur-bouton:hover{background:var(--vert-700)}
.vendeur-puce{width:9px;height:9px;background:var(--laiton-500);transform:rotate(45deg);flex:none}
.vendeur[data-ouvert="oui"] .vendeur-bouton{background:var(--carte);color:var(--titre);border-color:var(--trait);--focus:#0B3B34}
.vendeur-fenetre{position:relative;width:min(392px,calc(100vw - 32px));max-height:min(620px,calc(100dvh - 112px));display:flex;flex-direction:column;background:var(--carte);color:var(--texte-courant);border:1px solid var(--trait);border-radius:4px;box-shadow:0 2px 4px rgba(11,59,52,.06),0 34px 64px -30px rgba(7,38,31,.5);overflow:hidden;transform-origin:100% 100%;animation:vendeur-ouvre .16s ease-out}
.vendeur-fenetre[hidden]{display:none}
.vendeur-fenetre::before{content:"";position:absolute;top:0;bottom:0;left:30px;width:1px;background:color-mix(in srgb,var(--laiton-500) 55%,transparent);pointer-events:none}
@keyframes vendeur-ouvre{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.vendeur-tete{position:relative;padding:18px 52px 14px 46px;border-bottom:1px solid var(--trait)}
.vendeur-titre{font:400 1.45rem/1.15 var(--affiche);color:var(--titre);letter-spacing:-.005em;margin:0 0 6px}
.vendeur-ia{margin:0;font-size:13.5px;line-height:1.45;color:var(--texte-2)}
.vendeur-fermer{position:absolute;top:10px;right:10px;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--rayon-s);background:transparent;color:var(--texte-2);cursor:pointer}
.vendeur-fermer:hover{background:var(--surface);color:var(--titre)}
.vendeur-fil{flex:1 1 auto;min-height:120px;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 6px 46px;display:flex;flex-direction:column;gap:10px}
.vendeur-idees{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.vendeur-idees button{width:100%;text-align:left;min-height:44px;padding:10px 12px;border:1px solid var(--trait);border-radius:var(--rayon-s);background:transparent;color:var(--titre);font:500 15px/1.35 var(--sans);cursor:pointer}
.vendeur-idees button:hover{border-color:var(--accent);color:var(--accent)}
.vendeur-msg p{margin:0;font-size:15px;line-height:1.5;max-width:none}
.vendeur-msg--visiteur{align-self:flex-end;max-width:88%;background:var(--surface-2);border-radius:var(--rayon-s);padding:9px 12px;color:var(--texte)}
.vendeur-msg--assistant{position:relative;max-width:100%}
.vendeur-msg--assistant::before{content:"";position:absolute;left:-20px;top:.55em;width:7px;height:7px;background:var(--laiton-500);transform:rotate(45deg)}
.vendeur-attente p{color:var(--texte-2);font-style:italic}
.vendeur-msg--erreur p{color:var(--texte)}
.vendeur-etapes{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px!important}
.vendeur-etape{display:inline-flex;align-items:center;min-height:36px;padding:6px 11px;border:1px solid var(--accent);border-radius:var(--rayon-s);color:var(--accent);font:600 13.5px/1.25 var(--sans);text-decoration:none}
.vendeur-etape:hover{background:var(--accent);color:#FFFDF9}
.vendeur-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px 46px;border-top:1px solid var(--trait-doux)}
.vendeur-form textarea{flex:1;min-width:0;min-height:44px;max-height:132px;resize:none;padding:10px 12px;border:1px solid var(--trait);border-radius:var(--rayon-s);background:var(--fond);color:var(--texte);font:400 16px/1.4 var(--sans)}
.vendeur-form textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
.vendeur-form .bouton{min-height:44px}
@media (max-width:600px){
  .vendeur[data-ouvert="oui"]{left:0;right:0;bottom:0;gap:0}
  .vendeur-bouton{min-height:44px;padding:9px 14px 9px 12px;font-size:14px}
  body{padding-bottom:64px}
  .vendeur[data-ouvert="oui"] .vendeur-bouton{display:none}
  .vendeur-fenetre{width:100%;max-height:86dvh;border-radius:12px 12px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
}
@media (prefers-reduced-motion:reduce){.vendeur-fenetre{animation:none}}
@media print{.vendeur{display:none}}
