/* Jeph Jacquet — feuille de style unique
   Harsain Technology, aout 2026
   Palette : dusty blue (bleu poussiereux), neutres froids, accent laiton.
   Aucune ressource externe : polices systeme, aucun appel a googleapis. */

:root{
  --bleu:#447AA8;        /* dusty blue, bordures et aplats */
  --bleu-clair:#8BA9BE;  /* dusty blue clair, filets et fonds */
  --bleu-voile:#EDF2F5;  /* voile bleute des sections claires */
  --bleu-fonce:#35526A;  /* dusty blue profond, titres, liens, pied */
  --encre:#27353D;
  --papier:#FBFCFD;
  --surface:#FFFFFF;
  --gris:#6B7780;
  --ligne:#DFE6EB;
  --accent:#B4804C;
  --max:1120px;
  --texte:1.0625rem;
  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--papier);color:var(--encre);
  font-family:var(--sans);font-size:var(--texte);line-height:1.65;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--bleu-fonce);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.2;color:var(--bleu-fonce);margin:0 0 .6em}
h1{font-size:clamp(2rem,5vw,3rem)}
h2{font-size:clamp(1.5rem,3.2vw,2.125rem)}
h3{font-size:1.25rem}
p{margin:0 0 1.1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.etroit{max-width:720px}

/* --- accessibilite --- */
.saut{position:absolute;left:-9999px;top:0;background:var(--bleu-fonce);color:#fff;padding:12px 18px;z-index:100}
.saut:focus{left:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* --- entete --- */
.entete{background:var(--surface);border-bottom:1px solid var(--ligne);position:sticky;top:0;z-index:50}
.entete .wrap{display:flex;align-items:center;gap:24px;min-height:76px;flex-wrap:wrap}
.marque{display:inline-flex;align-items:center;gap:11px;font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--bleu-fonce);text-decoration:none;line-height:1.2}
.marque img{height:38px;width:auto;flex:0 0 auto;mix-blend-mode:multiply}
@media(max-width:520px){.marque img{height:32px}.marque .mot{font-size:1.05rem}}
.marque .mot span{display:block;font-family:var(--sans);font-size:.75rem;font-weight:400;color:var(--gris);letter-spacing:.02em}
.nav{margin-left:auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.nav a{color:var(--encre);text-decoration:none;font-size:.9375rem}
.nav a:hover,.nav a[aria-current="page"]{color:var(--bleu-fonce);text-decoration:underline}
.langue{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);border-left:1px solid var(--ligne);padding-left:20px}
.langue a{color:var(--gris);text-decoration:none}
.langue a:hover{color:var(--accent)}
.bascule{display:none;margin-left:auto;background:none;border:1px solid var(--ligne);border-radius:4px;padding:8px 12px;font:inherit;font-size:.875rem;color:var(--encre);cursor:pointer}
@media(max-width:860px){
  .bascule{display:block}
  .nav{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:14px;padding:8px 0 20px}
  .nav.ouvert{display:flex}
  .langue{border-left:0;padding-left:0}
}

/* --- sections --- */
.section{padding:72px 0}
.section+.section{border-top:1px solid var(--ligne)}
.section.clair{background:var(--bleu-voile)}
.oeil{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .8em;font-weight:600}

/* --- hero --- */
.hero{background:linear-gradient(180deg,var(--bleu-voile),var(--surface));border-bottom:1px solid var(--ligne);padding:64px 0 72px}
.hero-grille{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
@media(max-width:860px){.hero-grille{grid-template-columns:1fr;gap:32px}}
.hero .titre-poste{color:var(--gris);font-size:1rem;margin:0 0 1.4em}
.fil{font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,1.6rem);color:var(--bleu-fonce);line-height:1.35;border-left:3px solid var(--accent);padding-left:20px;margin:0 0 1.4em}
.portrait{border-radius:16px;border:3px solid #fff;box-shadow:0 16px 44px rgba(53,82,106,.22)}
@media(max-width:860px){.portrait{border-width:2px;border-radius:12px}}

/* --- boutons --- */
.bouton{display:inline-block;background:var(--bleu-fonce);color:#fff;padding:14px 26px;border-radius:3px;text-decoration:none;font-size:.9375rem;font-weight:600;border:1px solid var(--bleu-fonce)}
.bouton:hover{background:var(--bleu);color:#fff;border-color:var(--bleu)}
.bouton:focus-visible{outline:3px solid var(--bleu-clair);outline-offset:2px}
.bouton.creux{background:transparent;color:var(--bleu-fonce)}
.bouton.creux:hover{background:var(--bleu-fonce);color:#fff}

/* --- grilles --- */
.grille{display:grid;gap:28px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}

.carte{background:var(--surface);border:1px solid var(--ligne);border-radius:3px;padding:28px}
.carte h3{margin-bottom:.4em}
.carte p:last-child{margin-bottom:0}
.preuve{border-top:3px solid var(--bleu-clair);padding-top:20px}
.preuve h3{font-size:1.0625rem}
.preuve p{font-size:.9375rem;color:var(--gris);margin-bottom:0}

/* --- sujets de conference --- */
.sujet{border-left:3px solid var(--ligne);padding:4px 0 4px 26px;margin:0 0 36px}
.sujet:hover{border-left-color:var(--accent)}
.sujet .socle{font-size:.875rem;color:var(--gris);font-style:italic;margin-bottom:0}

/* --- evenements --- */
.evt{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--ligne)}
.evt:last-child{border-bottom:0}
.evt .quand{font-size:.875rem;color:var(--accent);font-weight:600;letter-spacing:.02em}
.evt h3{font-size:1.0625rem;margin-bottom:.25em}
.evt .ou{font-size:.9375rem;color:var(--gris);margin:0}
@media(max-width:640px){.evt{grid-template-columns:1fr;gap:6px}}
.vide{color:var(--gris);font-style:italic}

/* --- episodes --- */
.episode{background:var(--surface);border:1px solid var(--ligne);border-radius:3px;overflow:hidden}
.episode .vignette{aspect-ratio:16/9;background:var(--ligne);display:flex;align-items:center;justify-content:center;color:var(--gris);font-size:.8125rem}
.episode .corps{padding:20px}
.episode h3{font-size:1rem;margin-bottom:.3em}

/* --- formulaire --- */
.formulaire{background:var(--surface);border:1px solid var(--ligne);border-radius:3px;padding:36px}
.champ{margin-bottom:20px}
.champ label{display:block;font-size:.875rem;font-weight:600;margin-bottom:6px;color:var(--bleu-fonce)}
.champ .aide{font-size:.8125rem;color:var(--gris);font-weight:400;display:block;margin-top:2px}
.champ input,.champ select,.champ textarea{
  width:100%;padding:11px 13px;border:1px solid var(--ligne);border-radius:3px;
  font:inherit;font-size:.9375rem;background:var(--papier);color:var(--encre)
}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--bleu);background:#fff}
.champ textarea{min-height:120px;resize:vertical}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:640px){.duo{grid-template-columns:1fr}}
.mention{font-size:.8125rem;color:var(--gris);margin-top:18px}

/* --- blog --- */
.theme{margin-bottom:52px}
.theme>h2{border-bottom:1px solid var(--ligne);padding-bottom:.35em}
.article h3{margin-bottom:.3em}
.article p{color:var(--gris);font-size:.9375rem;margin-bottom:.5em}

/* --- pied --- */
.pied{background:var(--bleu-fonce);color:#D8E0E6;padding:56px 0 32px;margin-top:0}
.pied a{color:#fff}
.pied h4{color:#fff;font-family:var(--sans);font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin-bottom:8px;font-size:.9375rem}
.pied .bas{border-top:1px solid rgba(255,255,255,.16);margin-top:40px;padding-top:22px;font-size:.8125rem;color:#A9B8C2;display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}

/* --- marqueur de fait a confirmer, RETIRE AVANT MISE EN LIGNE --- */
.tbd{border-bottom:2px dotted var(--accent);background:rgba(180,128,76,.09);padding:0 2px;cursor:help}

/* --- page de texte long --- */
.texte h2{margin-top:2em}
.texte h3{margin-top:1.6em}
.texte ul{padding-left:22px}
.texte li{margin-bottom:.5em}

/* --- figures --- */
figure{margin:0 0 24px}
figure img{border-radius:3px;width:100%}
figcaption{font-size:.8125rem;color:var(--gris);margin-top:8px;line-height:1.45}
.fig-large{margin:32px 0 28px}
.fig-cote{float:none;width:auto;max-width:400px;margin:30px auto 34px}
.fig-cote img{border-radius:3px}
.fig-cote figcaption{margin-top:10px;font-size:.8125rem;color:var(--gris);text-align:center}


/* --- reference publiee --- */
.publication{background:var(--surface);border:1px solid var(--ligne);border-left:3px solid var(--accent);
  border-radius:3px;padding:22px 26px;margin:0 0 24px}
.publication .revue{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 8px}
.publication p{margin:0 0 6px}
.publication .auteurs{font-size:.875rem;color:var(--gris);margin:0}

/* Phrase de bascule dans Mon histoire : plus grande, sans bordure, respirante */
.texte .accroche{font-family:var(--serif);font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.4;color:var(--bleu-fonce);margin:1.6em 0;font-style:italic}

/* Jalons dates de Mon histoire : la ligne du temps que le lecteur suit */
.texte .jalon{font-size:.78rem;letter-spacing:.13em;color:var(--accent);font-weight:700;margin:3em 0 0}
.texte .jalon + h2{margin-top:.15em}

/* --- lecteur video, 16:9 fluide ------------------------------------- */
.video{position:relative;width:100%;aspect-ratio:16/9;margin:32px 0 8px;
  background:var(--bleu-fonce);border-radius:3px;overflow:hidden;
  box-shadow:0 14px 40px rgba(53,82,106,.18)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* --- bandeau photo large -------------------------------------------- */
.bandeau{margin:0;position:relative}
.bandeau img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 40%;
  border-radius:3px;box-shadow:0 14px 40px rgba(53,82,106,.16)}
.bandeau figcaption{margin-top:10px;font-size:.875rem;color:var(--gris)}
@media(max-width:640px){.bandeau img{aspect-ratio:4/3}}

/* --- galerie d'affiches --------------------------------------------- */
.affiches{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}
@media(max-width:960px){.affiches{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.affiches{grid-template-columns:repeat(2,1fr)}}
.affiches figure{margin:0;background:var(--surface);border:1px solid var(--ligne);
  border-radius:3px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.affiches figure:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(53,82,106,.16)}
.affiches img{width:100%;aspect-ratio:1/1;object-fit:contain;background:var(--bleu-voile);padding:10px;border-bottom:1px solid var(--ligne)}
.affiches figcaption{padding:12px 14px;font-size:.8125rem;line-height:1.4;color:var(--gris)}
.affiches figcaption b{display:block;color:var(--bleu-fonce);font-weight:600;margin-bottom:2px}

/* --- logos des reseaux ---------------------------------------------- */
.reseau{display:inline-flex;align-items:center;gap:9px;text-decoration:none}
.reseau svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto;opacity:.9}
.reseau span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.reseau:hover svg{opacity:1}

/* --- pastilles illustrees -------------------------------------------- */
.carte.illustree{padding:0;overflow:hidden;display:flex;flex-direction:column}
.carte.illustree .vig{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--ligne)}
.carte.illustree h3{margin:20px 22px .4em}
.carte.illustree p{margin:0 22px 22px}

/* --- blog : image par sujet et boutons de partage --------------------- */
.theme-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px;
  margin:0 0 22px;background:var(--ligne)}
.partage{display:flex;align-items:center;gap:12px;margin:.4em 0 0;
  font-size:.8125rem;color:var(--gris)}
.partage span{letter-spacing:.02em}
.partage .reseau svg{width:17px;height:17px}
.partage .reseau{color:var(--gris)}
.partage .reseau:hover{color:var(--accent)}

/* --- Mon histoire : les figures flottantes ne debordent plus sur les titres */


/* --- cartes de format : image + texte, hauteur egale ------------------ */
.carte.illustree.format .vig{aspect-ratio:4/3}
.carte.illustree.format h3{margin:16px 18px .3em;font-size:1.0625rem}
.carte.illustree.format p{margin:0 18px 18px;font-size:.9375rem;color:var(--gris)}

/* --- six episodes : lecteurs en grille -------------------------------- */
.episodes .video{margin:0;aspect-ratio:16/9;box-shadow:none;
  border:1px solid var(--ligne);background:var(--bleu-fonce)}

/* --- page Contact ------------------------------------------------------ */
.contact-grille{display:grid;grid-template-columns:1.35fr .65fr;gap:52px;align-items:start}
@media(max-width:900px){.contact-grille{grid-template-columns:1fr;gap:40px}}
.contact-grille h2{font-size:1.35rem;margin-bottom:.7em}
.rail{background:var(--bleu-voile);border:1px solid var(--ligne);border-radius:3px;padding:28px}
.voie{display:flex;align-items:center;gap:14px;padding:14px 0;text-decoration:none;
  color:var(--encre);border-bottom:1px solid var(--ligne)}
.voie:first-of-type{padding-top:4px}
.voie svg{width:22px;height:22px;fill:var(--bleu);flex:0 0 auto}
.voie span{display:flex;flex-direction:column;font-size:.875rem;color:var(--gris);line-height:1.35}
.voie b{font-family:var(--sans);font-size:.9375rem;font-weight:600;color:var(--bleu-fonce);
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.voie:hover b{color:var(--accent)}
.voie:hover svg{fill:var(--accent)}
.rail-note{margin:22px 0 16px;font-size:.9375rem;color:var(--gris)}
.rail .bouton.creux{display:block;text-align:center}


/* --- taille maximale d'affichage des figures ---------------------------
   Les photos sources tournent autour de 1000 px : au-dela de ces largeurs
   elles s'etirent et deviennent molles. On borne l'affichage plutot que
   d'agrandir des fichiers qui n'ont pas la matiere. */
.fig-large img{max-width:660px;margin-left:auto;margin-right:auto}
.fig-large figcaption{max-width:660px;margin-left:auto;margin-right:auto}
.bandeau img{max-width:660px;margin-left:auto;margin-right:auto}
.theme-img{max-width:660px}


/* --- ancres : l'en-tete est collante, la cible ne doit pas passer dessous */
html{scroll-behavior:smooth}
[id]{scroll-margin-top:96px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* --- pastilles des derniers episodes ---------------------------------- */
[data-episodes]{margin-top:32px}
[data-episodes] .episode a{display:block;text-decoration:none;color:inherit}
[data-episodes] .episode img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--ligne)}
[data-episodes] .episode .corps{display:block;padding:16px 18px}
[data-episodes] .episode .titre{display:block;font-family:var(--serif);font-size:1rem;
  color:var(--bleu-fonce);line-height:1.3}
[data-episodes] .episode .quand{display:block;margin-top:6px;font-size:.8125rem;color:var(--gris)}
[data-episodes] .episode:hover .titre{color:var(--accent)}
.pied .bas .signature{color:#A9B8C2}
.pied .bas .signature a{color:#D8E0E6}

/* ---------------------------------------------- formulaires, envoi et retour */
/* Piege a robots : un champ que personne ne voit et que les automates
   remplissent. Il est retire de l'accessibilite par aria-hidden dans le HTML. */
.piege{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* Avis affiche au retour de envoi.php quand quelque chose a echoue. */
.avis-envoi{margin:0 0 24px;padding:14px 18px;border-left:3px solid var(--accent);
  background:var(--bleu-voile);color:var(--encre);font-size:.9375rem;line-height:1.5;border-radius:2px}
.avis-envoi a{color:var(--bleu-fonce)}

/* Rangee compacte de reseaux sociaux, sous les voies de la page Contact. */
.reseaux-rangee{display:flex;gap:14px;margin:18px 0 0;padding:0}
.reseaux-rangee a{display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border:1px solid var(--ligne);border-radius:50%;
  color:var(--bleu-fonce);background:var(--surface);transition:border-color .15s,color .15s}
.reseaux-rangee a:hover{border-color:var(--bleu);color:var(--bleu)}
.reseaux-rangee svg{width:18px;height:18px;fill:currentColor}

/* ------------------------------------------------ coupures de presse */
.coupure{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--ligne)}
.coupure:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.coupure .source{margin:0 0 6px;font-size:.8125rem;letter-spacing:.02em;color:var(--gris);text-transform:uppercase}
.coupure h2{margin:0 0 10px;font-size:1.25rem;line-height:1.35}
.coupure h2 a{color:var(--bleu-fonce);text-decoration:none;border-bottom:1px solid var(--bleu-clair)}
.coupure h2 a:hover{color:var(--bleu);border-bottom-color:var(--bleu)}
.coupure p:last-child{margin:0;color:var(--encre)}

/* ============================================================ en pharmacie */

/* --- reperes du haut de page --- */
.reperes{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.reperes li{background:var(--surface);border:1px solid var(--ligne);border-radius:3px;padding:11px 17px;font-size:.9375rem;color:var(--gris)}
.reperes b{color:var(--bleu-fonce);font-weight:700}

/* --- les deux formes de contrat --- */
.offre{background:var(--surface);border:1px solid var(--ligne);border-top:3px solid var(--bleu);border-radius:3px;padding:28px;display:flex;flex-direction:column}
.offre .role{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 .5em}
.offre h3{font-size:1.125rem;margin-bottom:.9em}
.offre ul{margin:0 0 24px;padding-left:20px}
.offre li{margin-bottom:.55em}
.offre li:last-child{margin-bottom:0}
.offre .cadre{font-size:.875rem;color:var(--gris);border-top:1px solid var(--ligne);padding-top:16px;margin:auto 0 0}

/* --- tableau des tarifs --- */
.tarifs{width:100%;border-collapse:collapse;margin-top:28px;font-size:var(--texte)}
.tarifs th,.tarifs td{text-align:left;vertical-align:top;padding:17px 0;border-bottom:1px solid var(--ligne)}
.tarifs th{width:180px;padding-right:28px;color:var(--bleu-fonce);font-weight:600}
.tarifs tr:last-child th,.tarifs tr:last-child td{border-bottom:0}
@media(max-width:640px){
  .tarifs th,.tarifs td{display:block;width:auto;padding:0;border-bottom:0}
  .tarifs th{padding-top:18px}
  .tarifs td{padding:4px 0 18px;border-bottom:1px solid var(--ligne)}
  .tarifs tr:last-child td{border-bottom:0}
}

/* --- calculateur d'estimation --- */
.calc{background:var(--surface);border:1px solid var(--ligne);border-radius:3px;padding:32px}
/* align-items:end : un champ dont l'etiquette porte une ligne d'aide reste
   aligne sur les autres par le bas, donc les trois cases sont sur une ligne. */
.calc .champs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:end}
@media(max-width:640px){.calc .champs{grid-template-columns:1fr;gap:0}}
.calc .champ{margin-bottom:0}
.calc .total{margin-top:30px;border-top:1px solid var(--ligne);padding-top:14px}
.calc .ligne{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:9px 0;font-size:.9375rem}
.calc .ligne b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.calc .ligne.nul{color:var(--gris)}
.calc .ligne.nul b{font-weight:400}
.calc .ligne.somme{border-top:1px solid var(--ligne);margin-top:8px;padding-top:16px;font-size:1.125rem;color:var(--bleu-fonce)}
.calc .ligne.somme b{font-weight:700}
.calc .mention{margin-top:20px}

/* --- calendrier des disponibilites --- */
.mois-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.mois h3{font-size:.9375rem;text-align:center;color:var(--bleu-fonce);margin-bottom:.9em;font-family:var(--sans);letter-spacing:.01em}
.mois table{width:100%;border-collapse:collapse;table-layout:fixed}
.mois th{font-size:.6875rem;color:var(--gris);font-weight:600;padding-bottom:8px;text-transform:uppercase}
.mois td{padding:2px;text-align:center}
.mois .jour{display:block;padding:7px 0;border-radius:3px;font-size:.8125rem;color:var(--gris);font-variant-numeric:tabular-nums}
.mois .jour.libre{background:var(--bleu-fonce);color:#fff;font-weight:700}
.mois .jour[title]{cursor:help}
.legende{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;align-items:center;margin-top:24px;font-size:.875rem;color:var(--gris)}
.legende[hidden]{display:none}
.legende span{display:inline-flex;align-items:center;gap:9px}
.legende i{width:15px;height:15px;border-radius:3px;background:var(--bleu-fonce);display:inline-block}
@media(max-width:720px){.mois table{max-width:380px;margin:0 auto}}

/* ============================================== menu a deux niveaux */
.menu{position:relative}
.tete{background:none;border:0;margin:0;padding:0;font:inherit;font-size:.9375rem;line-height:1.4;color:var(--encre);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.tete:hover,.tete.actif{color:var(--bleu-fonce);text-decoration:underline}
.tete .fleche{width:10px;height:6px;flex:0 0 auto;transition:transform .16s ease}
.menu.ouvert .tete{color:var(--bleu-fonce)}
.menu.ouvert .tete .fleche{transform:rotate(180deg)}
.sous{list-style:none;margin:0;padding:0}
/* Sans JavaScript les sous-menus restent deployes : mieux vaut un menu long
   qu'un menu dont la moitie des pages devient inatteignable. La classe js est
   posee dans l'entete du document, donc rien ne clignote au chargement. */
.js .sous{display:none;position:absolute;top:calc(100% + 18px);left:-18px;min-width:238px;background:var(--surface);border:1px solid var(--ligne);border-radius:3px;box-shadow:0 14px 34px rgba(39,53,61,.14);padding:8px 0;z-index:60}
.js .menu.ouvert .sous{display:block}
.sous li{margin:0}
.sous a{display:block;padding:10px 22px;font-size:.9375rem;color:var(--encre);text-decoration:none;white-space:nowrap}
.sous a:hover,.sous a[aria-current="page"]{background:var(--bleu-voile);color:var(--bleu-fonce);text-decoration:none}

/* --- selecteur de langue, les deux toujours visibles --- */
.langue{display:inline-flex;align-items:center;gap:8px}
.langue .globe{width:15px;height:15px;flex:0 0 auto;opacity:.7}
.langue .sep{opacity:.45}
.langue .actuelle{color:var(--bleu-fonce);font-weight:700}

@media(max-width:860px){
  .nav .menu{width:100%}
  .tete{font-weight:600;color:var(--bleu-fonce);cursor:default;text-decoration:none}
  .tete:hover{text-decoration:none}
  .tete .fleche{display:none}
  .js .sous{display:block;position:static;min-width:0;background:none;border:0;box-shadow:none;padding:4px 0 0}
  .sous a{padding:8px 0 8px 18px;color:var(--gris)}
  .sous a:hover,.sous a[aria-current="page"]{background:none;color:var(--bleu-fonce)}
}

/* --- pied, les six reseaux sur deux colonnes --- */
.pied .reseaux{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:20px}
.evt .quand .heure{display:block;font-weight:400;color:var(--gris);font-size:.8125rem;letter-spacing:0}
