/* Cabinet du Dr Pascal Guillemin · les pages intérieures (22/10/2026)
   Même langage que l'accueil (version C) : dégradé blanc vers bleu ciel en tête, repères à cheval, photos arrondies,
   bande marine des étapes, cartes qui montent au survol avec un léger rebond, motif du filetage de l'implant. */

/* ---------- Couleurs et polices pour le moteur des conseils et des fiches ---------- */
:root{
  --bl-fond:#fff; --bl-fond-2:var(--brume); --bl-surface:#fff;
  --bl-texte:var(--encre); --bl-texte-doux:var(--gris); --bl-titre:var(--marine);
  --bl-accent:var(--marine); --bl-accent-texte:var(--ciel-fonce); --bl-accent-doux:var(--ciel-doux); --bl-sur-accent:#fff;
  --bl-ligne:var(--ligne);
  --bl-police-titre:var(--titres); --bl-police-texte:var(--texte); --bl-graisse-titre:500;
  --bl-rayon:var(--r); --bl-rayon-petit:14px; --bl-ombre:var(--ombre); --bl-largeur:1288px; --bl-haut-entete:96px;
  --il-trait:#2c3e52; --il-email:#fff; --il-dentine:#f4ecdc; --il-pulpe:#f0b9ae; --il-gencive:#f3c9c2; --il-gencive-rouge:#e59a8c;
  --il-os:#eef2f6; --il-os-trait:#c3cfdb; --il-metal:#c5ccd3; --il-metal-clair:#e3e7eb; --il-metal-fonce:#7d8893;
  --il-accent:var(--ciel-fonce); --il-accent-texte:var(--ciel-fonce); --il-doux:var(--ciel-doux);
  --il-texte:var(--encre); --il-fond:#fff; --il-ligne:var(--ligne);
}
body.bl-page .bl-h1 em,body.bl-page .bl-h2-section em{color:var(--ciel-fonce)}

/* ---------- Menu : le sous-menu des soins ---------- */
.menu > li{position:relative}
.menu a[aria-current="page"]::after,.menu .a-sous.actif > a::after{transform:scaleX(1)}
.a-sous > a{display:inline-flex;align-items:center;gap:6px}
.a-sous > a svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .3s var(--courbe)}
.a-sous:hover > a svg,.a-sous:focus-within > a svg{transform:rotate(180deg)}
.sous-menu{position:absolute;top:calc(100% + 14px);left:-28px;width:560px;display:grid;grid-template-columns:1.25fr 1fr;gap:6px 28px;padding:24px 26px 22px;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);box-shadow:var(--ombre-forte);opacity:0;visibility:hidden;translate:0 10px;transition:opacity .3s,translate .45s var(--rebond),visibility 0s .3s;z-index:20}
.sous-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.a-sous:hover .sous-menu,.a-sous:focus-within .sous-menu{opacity:1;visibility:visible;translate:0 0;transition:opacity .3s,translate .45s var(--rebond),visibility 0s}
.sous-menu p{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gris-2);margin:0 0 6px}
.sous-menu ul{display:grid;gap:2px}
.sous-menu a{display:block;padding:6px 10px;margin:0 -10px;border-radius:10px;font-size:14.5px;font-weight:600;color:var(--marine);transition:background .25s,color .25s,translate .35s var(--rebond)}
.sous-menu a::after{display:none}
.sous-menu a:hover{background:var(--ciel-doux);color:var(--ciel-fonce);translate:3px 0}
.sous-menu .tout{margin-top:10px;color:var(--ciel-fonce);font-weight:700}
.menu-mobile .menu-mobile-sous{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 14px;border-bottom:1px solid var(--ligne)}
.menu-mobile .menu-mobile-sous a{font-family:var(--texte);font-size:14px;font-weight:700;padding:7px 12px;border:1px solid var(--ligne);border-radius:999px}

/* ---------- Tête des pages intérieures ---------- */
.page-tete{position:relative;background:linear-gradient(180deg,#fff 0%,var(--ciel-doux) 100%);padding:40px 0 132px;overflow:hidden;overflow:clip}
.page-tete--courte{padding-bottom:70px}
.page-tete-grille{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(32px,5vw,76px);align-items:center}
.page-tete--simple .page-tete-grille{grid-template-columns:minmax(0,1fr)}
.page-tete--simple .page-tete-texte{max-width:760px}
.fil{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13.5px;font-weight:600;color:var(--gris-2);margin-bottom:22px}
.fil a{color:var(--gris);border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.fil a:hover{color:var(--marine);border-color:currentColor}
.fil .sep{width:5px;height:5px;background:var(--ciel);transform:rotate(45deg);opacity:.7}
.t1--page{font-size:clamp(36px,4.2vw,58px);text-wrap:balance}
.page-tete .chapeau{font-size:18px;margin-top:20px}
.page-tete .hero-boutons{margin-top:28px}
.page-tete .coches{margin-top:22px}
.page-tete-photo{position:relative;margin:0}
.page-tete-photo picture,.page-tete-photo > img{display:block;border-radius:var(--r-grand);overflow:hidden;box-shadow:var(--ombre-forte);aspect-ratio:1.14/1;background:var(--brume-2)}
.page-tete-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--courbe)}
.page-tete-photo:hover img{transform:scale(1.03)}
.page-tete-photo .carte-flottante{left:-30px;bottom:30px;animation:flotte 6s ease-in-out infinite}
.page-tete-photo .carte-flottante--haut{left:auto;right:-18px;bottom:auto;top:26px;animation-delay:1.2s}
.page-tete .filets--hero{top:24px}
.filets--page{right:-40px;bottom:40px;width:150px;opacity:.35}
.reperes-zone--page{margin-top:-82px}
.reperes--3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- Parties ---------- */
.section--brume{background:var(--brume)}
.section--serree{padding:clamp(56px,6vw,84px) 0}
.section-tete{max-width:760px;margin-bottom:40px}
.section-tete .t2{max-width:none}
.section-tete > p:not(.surtitre){margin-top:16px;font-size:18px;color:var(--gris)}
.section-tete--centre{margin-left:auto;margin-right:auto;text-align:center}
.section-tete--centre .surtitre{justify-content:center}
.prose{font-size:17px;color:var(--gris)}
.prose > * + *{margin-top:14px}
.prose strong{color:var(--marine);font-weight:700}
.prose a{color:var(--ciel-fonce);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose h3{font-size:21px;margin-top:26px;letter-spacing:-.01em}

/* Texte et image côte à côte */
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(34px,5.5vw,84px);align-items:center}
.duo--inverse .duo-media{order:-1}
.duo-texte .t2{max-width:16ch}
.duo-texte .prose{margin-top:20px}
.duo-media{position:relative;margin:0}
.duo-media picture{display:block;border-radius:var(--r-grand);overflow:hidden;box-shadow:var(--ombre-forte);aspect-ratio:4/3.25}
.duo-media picture img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--courbe)}
.duo-media:hover picture img{transform:scale(1.04)}
.duo-media figcaption{margin-top:12px;font-size:13px;color:var(--gris-2)}
.duo-media .carte-flottante{right:-18px;bottom:-22px;left:auto}
.carte-schema{background:#fff;border:1px solid var(--ligne);border-radius:var(--r-grand);padding:clamp(18px,2.4vw,30px);box-shadow:var(--ombre)}
.carte-schema .il-bloc{margin:0}
.carte-schema figcaption{margin-top:14px;font-size:14px;color:var(--gris);text-align:center}
.liste-coches{display:grid;gap:12px;margin-top:22px}
.liste-coches li{display:flex;gap:12px;font-size:16.5px;color:var(--encre);line-height:1.5}
.liste-coches li::before{content:"";width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--ciel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.6 2.6L12 5.6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;flex:none}
.duo-texte .hero-boutons{margin-top:28px}

/* Cartes d'information (pour qui, avantages, raisons) */
.cartes-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cartes-info--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cartes-info--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.carte-info{position:relative;display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:26px 24px 26px;transition:translate .5s var(--rebond),box-shadow .45s,border-color .3s}
.carte-info:hover{translate:0 -6px;box-shadow:var(--ombre-forte);border-color:transparent}
.section--brume .carte-info{border-color:transparent;box-shadow:var(--ombre)}
.carte-info .icone{width:46px;height:46px;border-radius:14px;background:var(--ciel-doux);display:grid;place-items:center;margin-bottom:4px}
.carte-info .icone svg{width:24px;height:24px;fill:none;stroke:var(--ciel-fonce);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.carte-info h3{font-size:20px;line-height:1.25;letter-spacing:-.01em}
.carte-info p{font-size:15.5px;color:var(--gris);line-height:1.6}
.carte-info .num{font-family:var(--titres);font-size:40px;font-weight:200;line-height:1;color:var(--ciel)}

/* Encadré « bon à savoir » */
.encadre{display:flex;gap:16px;align-items:flex-start;background:var(--ciel-doux);border:1px solid rgba(59,178,247,.25);border-radius:var(--r);padding:22px 26px;color:var(--marine);margin-top:34px}
.encadre-icone{width:34px;height:34px;border-radius:50%;background:var(--ciel);color:#fff;display:grid;place-items:center;flex:none;font-family:var(--titres);font-weight:600}
.encadre strong{display:block;font-family:var(--titres);font-weight:600;font-size:18px;margin-bottom:4px}
.encadre p{font-size:15.5px;line-height:1.6;color:var(--encre)}
.encadre--attention{background:#fff7ed;border-color:#f6d9b3}
.encadre--attention .encadre-icone{background:#d9822b}

/* Tableau comparatif */
.comparatif{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--ombre);font-size:15.5px}
.comparatif th,.comparatif td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ligne)}
.comparatif thead th{background:var(--marine);color:#fff;font-family:var(--titres);font-weight:500;font-size:17px}
.comparatif tbody th{font-weight:700;color:var(--marine);width:24%}
.comparatif td{color:var(--gris)}
.comparatif tr:last-child th,.comparatif tr:last-child td{border-bottom:0}
.tableau-glisse{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r)}

/* Étapes : la bande marine de l'accueil, en 3 à 5 temps */
.etapes--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.etapes--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.traitement .section-tete .t2{color:#fff}
.traitement .section-tete .t2 em{color:var(--ciel-pale)}
.traitement .section-tete > p:not(.surtitre){color:rgba(255,255,255,.74)}

/* Questions fréquentes */
.faq-grille{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,80px);align-items:start}
.faq-grille .t2{max-width:12ch}
.faq-grille .tete-aide{margin-top:18px;color:var(--gris);font-size:16px}
.faq-grille .tete-aide a{color:var(--ciel-fonce);font-weight:700}
.faq{border-top:1px solid var(--ligne)}
.faq details{border-bottom:1px solid var(--ligne)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;font-family:var(--titres);font-weight:500;font-size:19px;line-height:1.35;color:var(--marine);transition:color .25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--ciel-fonce)}
.faq summary::after{content:"";width:34px;height:34px;flex:none;border-radius:50%;border:1px solid var(--ligne);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5v9M3.5 8h9' fill='none' stroke='%23172c42' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .45s var(--rebond),background-color .3s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:var(--ciel-doux)}
.faq details > div{padding:0 54px 24px 0;color:var(--gris);font-size:16.5px}
.faq details[open] > div{animation:deplie .45s var(--courbe)}
@keyframes deplie{from{opacity:0;transform:translateY(-6px)}}

/* Soins liés, fiches liées */
.liens-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;grid-auto-rows:250px}
.liens-grille .carte-soin strong{font-size:21px}
.carte-lien{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:var(--r);background:#fff;border:1px solid var(--ligne);transition:translate .5s var(--rebond),box-shadow .45s,border-color .3s}
.carte-lien:hover{translate:0 -4px;box-shadow:var(--ombre-forte);border-color:transparent}
.carte-lien .icone{width:44px;height:44px;border-radius:14px;background:var(--ciel-doux);display:grid;place-items:center;flex:none}
.carte-lien .icone svg{width:22px;height:22px;fill:none;stroke:var(--ciel-fonce);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.carte-lien strong{display:block;font-family:var(--titres);font-weight:500;font-size:18px;color:var(--marine);line-height:1.25}
.carte-lien small{display:block;font-size:13.5px;color:var(--gris);margin-top:2px}
.carte-lien .fleche{margin-left:auto;color:var(--ciel-fonce);font-weight:700;transition:transform .35s var(--rebond)}
.carte-lien:hover .fleche{transform:translateX(4px)}
.liens-fiches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}

/* ---------- Page « Les soins » ---------- */
.groupe-soins + .groupe-soins{margin-top:70px}
.groupe-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:26px}
.groupe-tete h2{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.025em}
.groupe-tete p{max-width:44ch;color:var(--gris)}
.bento--soins{grid-auto-rows:250px}

/* ---------- Le cabinet : la galerie ---------- */
.galerie{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:150px;gap:14px}
.galerie button{position:relative;padding:0;border:0;border-radius:var(--r);overflow:hidden;background:var(--brume-2);cursor:zoom-in;box-shadow:var(--ombre);transition:translate .5s var(--rebond),box-shadow .45s}
.galerie button:hover{translate:0 -5px;box-shadow:var(--ombre-forte)}
.galerie img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--courbe)}
.galerie button:hover img{transform:scale(1.05)}
.galerie .legende{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--marine);font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px}
.g-a{grid-column:span 7;grid-row:span 3}.g-b{grid-column:span 5;grid-row:span 2}.g-c{grid-column:span 5;grid-row:span 1}
.g-d{grid-column:span 4;grid-row:span 2}.g-e{grid-column:span 4;grid-row:span 2}.g-f{grid-column:span 4;grid-row:span 2}
.visionneuse{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);max-height:92vh;overflow:visible}
.visionneuse::backdrop{background:rgba(13,27,42,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.visionneuse[open]{animation:fenetre .45s var(--courbe)}
.visionneuse img{max-width:100%;max-height:82vh;border-radius:var(--r);display:block;margin:0 auto}
.visionneuse p{color:#fff;text-align:center;margin-top:12px;font-weight:600}
.visionneuse-fermer{position:absolute;top:-16px;right:-16px;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--marine);font-size:24px;line-height:1;box-shadow:var(--ombre-forte)}
.visionneuse-nav{position:absolute;top:50%;translate:0 -50%;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--marine);font-size:20px;box-shadow:var(--ombre-forte);transition:scale .35s var(--rebond)}
.visionneuse-nav:hover{scale:1.08}
.visionneuse-nav--prec{left:-22px}.visionneuse-nav--suiv{right:-22px}

/* Pièces du cabinet, en liste numérotée sur fond marine */
.pieces{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.piece{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--ombre);transition:translate .5s var(--rebond),box-shadow .45s}
.piece:hover{translate:0 -6px;box-shadow:var(--ombre-forte)}
.piece picture{display:block;aspect-ratio:4/3;overflow:hidden}
.piece img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--courbe)}
.piece:hover img{transform:scale(1.05)}
.piece div{padding:18px 20px 22px}
.piece span{font-family:var(--titres);font-size:13px;color:var(--ciel-fonce);font-weight:600}
.piece h3{font-size:19px;margin-top:4px}
.piece p{font-size:14.5px;color:var(--gris);margin-top:6px}

/* ---------- L'équipe ---------- */
.portrait-grille{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(34px,5.5vw,84px);align-items:center}
.portrait{position:relative;margin:0}
.portrait picture{display:block;border-radius:var(--r-grand);overflow:hidden;box-shadow:var(--ombre-forte);aspect-ratio:4/4.6}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.portrait .carte-flottante{right:-22px;bottom:34px}
.fiche-identite{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}
.fiche-identite div{background:var(--brume);border-radius:16px;padding:14px 16px}
.fiche-identite dt{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-2)}
.fiche-identite dd{margin:4px 0 0;font-family:var(--titres);font-size:17px;font-weight:500;color:var(--marine)}
.portrait-grille .prose{margin-top:18px}
.bande-photo-lien{margin-top:30px}
.fiche-lien{margin-top:22px}
.carte-praticien .lien-fleche{margin-top:6px;font-size:14.5px}
.citation-site{margin-top:26px;padding-left:20px;border-left:3px solid var(--ciel);font-family:var(--titres);font-size:21px;line-height:1.45;color:var(--marine)}
.citation-site cite{display:block;margin-top:8px;font-family:var(--texte);font-style:normal;font-size:13.5px;color:var(--gris-2)}
.equipe-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}

/* ---------- Venir ---------- */
.horaires{display:grid;gap:0;margin-top:22px;background:#fff;border-radius:var(--r);box-shadow:var(--ombre);overflow:hidden}
.horaires li{display:flex;justify-content:space-between;gap:16px;padding:13px 20px;border-bottom:1px solid var(--ligne);font-size:15.5px}
.horaires li:last-child{border-bottom:0}
.horaires li span:first-child{font-weight:700;color:var(--marine)}
.horaires li.ferme span:last-child{color:var(--gris-2)}
.horaires li.aujourdhui{background:var(--ciel-doux)}
.horaires li.aujourdhui span:first-child::after{content:"aujourd’hui";margin-left:10px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ciel-fonce)}
.communes-liens{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.communes-liens a{border:1px solid var(--ligne);background:#fff;border-radius:999px;padding:8px 15px;font-size:14.5px;font-weight:700;color:var(--marine);transition:background .25s,border-color .25s,translate .4s var(--rebond)}
.communes-liens a span{font-weight:600;color:var(--ciel-fonce);margin-left:4px}
.communes-liens a:hover{background:var(--ciel-doux);border-color:var(--ciel-pale);translate:0 -2px}
.trajet-grand{display:flex;align-items:baseline;gap:12px;margin-top:6px}
.trajet-grand strong{font-family:var(--titres);font-size:clamp(64px,7vw,96px);font-weight:200;line-height:1;color:var(--marine);letter-spacing:-.04em}
.trajet-grand span{font-weight:700;color:var(--ciel-fonce)}

/* ---------- Rendez-vous ---------- */
.rdv-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:stretch}
.rdv-tel{display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:clamp(30px,4vw,48px);border-radius:var(--r-grand);background:radial-gradient(80% 120% at 100% 0%,rgba(59,178,247,.35),transparent 60%),linear-gradient(150deg,var(--marine-2),var(--marine));color:#fff;box-shadow:var(--ombre-forte);transition:translate .5s var(--rebond)}
.rdv-tel:hover{translate:0 -6px}
.rdv-tel span{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ciel-pale)}
.rdv-tel strong{font-family:var(--titres);font-weight:300;font-size:clamp(44px,5vw,68px);letter-spacing:-.03em;line-height:1}
.rdv-tel p{color:rgba(255,255,255,.78)}

/* ---------- Pages de texte (mentions légales) ---------- */
.texte-long{max-width:780px}
.texte-long h2{font-size:26px;letter-spacing:-.02em;margin:44px 0 12px}
.texte-long h2:first-child{margin-top:0}
.texte-long p,.texte-long li{color:var(--gris);font-size:16.5px}
.texte-long p + p{margin-top:10px}
.texte-long ul{margin-top:10px;display:grid;gap:6px;padding-left:20px;list-style:disc}
.texte-long a{color:var(--ciel-fonce);font-weight:700}

/* ---------- 404 ---------- */
.erreur-num{font-family:var(--titres);font-weight:200;font-size:clamp(90px,14vw,180px);line-height:1;color:var(--ciel);letter-spacing:-.05em}

/* ---------- Pied de page du site complet ---------- */
.pied-liens{display:grid;gap:7px;font-size:14.5px}
.pied-liens a{color:rgba(255,255,255,.72);transition:color .25s,translate .35s var(--rebond)}
.pied-liens a:hover{color:#fff;translate:3px 0}
.pied-communes a{color:rgba(255,255,255,.72)}
.pied-communes a:hover{color:#fff;text-decoration:underline}

/* ---------- Apparition de la tête de page (rien ne part d'une opacité nulle) ---------- */
html.anime .page-tete-photo picture{animation:tete-photo 1.4s var(--courbe) both}
@keyframes tete-photo{from{transform:scale(.97);filter:saturate(.7)}}

/* ---------- Tablettes ---------- */
@media (max-width:1100px){
  .sous-menu{display:none}
  .page-tete{padding-bottom:110px}
  .page-tete-grille,.duo,.faq-grille,.portrait-grille,.rdv-grille{grid-template-columns:minmax(0,1fr)}
  .page-tete-photo{max-width:640px}
  .page-tete-photo .carte-flottante{left:16px;bottom:16px}
  .page-tete-photo .carte-flottante--haut{display:none}
  .duo--inverse .duo-media{order:0}
  .duo-media .carte-flottante{right:14px;bottom:14px}
  .cartes-info,.cartes-info--4{grid-template-columns:1fr 1fr}
  .reperes--3{grid-template-columns:1fr}
  .reperes--3 li{border-right:0;border-bottom:1px solid var(--ligne)}
  .reperes--3 li:last-child{border-bottom:0}
  .etapes--3,.etapes--5{grid-template-columns:1fr 1fr}
  .liens-grille{grid-template-columns:1fr 1fr}
  .pieces{grid-template-columns:1fr 1fr}
  .galerie{grid-template-columns:repeat(6,minmax(0,1fr))}
  .g-a{grid-column:span 6;grid-row:span 3}.g-b,.g-c,.g-d,.g-e,.g-f{grid-column:span 3;grid-row:span 2}
  .portrait{max-width:520px}
}
@media (max-width:640px){
  .lien-fleche{white-space:normal}
  .page-tete{padding:0 0 96px}
  .page-tete-grille{gap:26px}
  .page-tete-photo{order:-1;margin:0 -24px}
  .page-tete-photo picture{border-radius:0;aspect-ratio:4/3;box-shadow:none}
  .page-tete-photo .carte-flottante{display:none}
  .page-tete--simple{padding-top:34px}
  .t1--page{font-size:clamp(32px,9vw,40px)}
  .page-tete .chapeau{font-size:16.5px}
  .cartes-info,.cartes-info--4,.cartes-info--2,.liens-grille,.pieces,.liens-fiches,.equipe-duo,.fiche-identite{grid-template-columns:1fr}
  .etapes--3,.etapes--5{grid-template-columns:1fr}
  .faq summary{font-size:17.5px}
  .faq details > div{padding-right:0}
  .galerie{grid-template-columns:1fr 1fr;grid-auto-rows:130px}
  .g-a{grid-column:span 2;grid-row:span 2}.g-b,.g-c,.g-d,.g-e,.g-f{grid-column:span 1;grid-row:span 1}
  .galerie .legende{display:none}
  .groupe-tete{flex-direction:column;align-items:flex-start;gap:10px}
  .comparatif{min-width:620px}
  .visionneuse-nav--prec{left:6px}.visionneuse-nav--suiv{right:6px}
  .visionneuse-fermer{top:-52px;right:6px}
}

/* =====================================================================================================================
   23/10/2026 : retours du Dr Guillemin (rubriques de son site, diaporama, équipe sans portrait, arrondissement de Brest)
   ===================================================================================================================== */

/* ---------- Le menu de son site : quatre sous-menus ---------- */
.menu{gap:22px}
.menu{align-items:center}
.menu > li > a{white-space:nowrap;display:inline-flex;align-items:center}
.sous-menu{width:310px;grid-template-columns:minmax(0,1fr);left:-22px}
.sous-menu--deux{width:580px}
.sous-menu--deux ul{grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,auto);grid-auto-flow:column;column-gap:26px}
.sous-menu--large{width:420px;left:auto;right:-150px}
.sous-menu a[aria-current="page"]{background:var(--ciel-doux);color:var(--ciel-fonce)}
.sous-menu .tout{margin-top:8px}
.bandeau-urgence{color:#fff;font-weight:700;opacity:.8;transition:opacity .25s}
.bandeau-urgence:hover{opacity:1;text-decoration:underline}
.menu-mobile{max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
/* Avec les six rubriques de son site, le bouton téléphone ne tient plus dans l'en-tête : le numéro reste dans le bandeau
   juste au-dessus et dans le premier écran. Rien ne se tasse : ni le logo, ni le bouton de rendez-vous. */
.entete .bouton--tel{display:none}
.entete-ligne > .bouton,.entete-ligne > .menu-bouton,.logo{flex:none}
.logo-texte strong{white-space:nowrap}
@media (min-width:1101px) and (max-width:1260px){
  .menu{gap:15px;font-size:14px}
  .logo-texte small{display:none}
}
@media (max-width:640px){ .bandeau-urgence{display:none} }

/* ---------- Le diaporama de l'accueil : ses six photos, en fondu ---------- */
.diaporama{background:#e9edf2}
.diaporama img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.diaporama img:first-child{opacity:1}
html.anime .diaporama img{animation:diapo 36s linear infinite;animation-delay:calc(var(--k) * 6s - 1s)}
@keyframes diapo{0%{opacity:0}2.8%{opacity:1}16.7%{opacity:1}19.5%{opacity:0}100%{opacity:0}}

/* ---------- L'équipe sans portrait : des cartes de texte ---------- */
.monogramme{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--marine);color:#fff;
  font-family:var(--titres);font-weight:400;font-size:22px;letter-spacing:.04em;margin-bottom:10px;box-shadow:0 0 0 6px var(--ciel-doux)}
.monogramme--grand{width:86px;height:86px;font-size:30px}
.equipe-grille--texte{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}
.carte-praticien--texte{grid-template-columns:1fr;border:1px solid var(--ligne);box-shadow:none}
.carte-praticien--texte .carte-praticien-texte{padding:32px 30px}
.carte-membre--texte{border:1px solid var(--ligne);box-shadow:none}
.carte-membre--texte div{padding:32px 28px}
.equipe-duo .carte-membre--texte{background:#fff;border-radius:var(--r)}
.portrait-grille--texte{align-items:start}
.carte-identite{background:#fff;border:1px solid var(--ligne);border-radius:var(--r-grand);padding:clamp(26px,3vw,40px);box-shadow:var(--ombre)}
.carte-identite h3{font-size:clamp(26px,2.4vw,32px);letter-spacing:-.02em;margin:4px 0 18px}
.carte-identite .fiche-identite{margin-top:0}

/* ---------- Les recommandations : quatre cartes ---------- */
.conseils-grille--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.conseils-grille--4 .carte-conseil strong{font-size:19.5px}

/* ---------- Le cabinet dentaire : listes de liens ---------- */
.liste-liens{display:grid;gap:8px;margin-top:22px}
.liste-liens a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border:1px solid var(--ligne);border-radius:14px;background:#fff;
  font-weight:700;color:var(--marine);transition:translate .4s var(--rebond),border-color .25s,background .25s}
.liste-liens a span{color:var(--ciel-fonce);transition:transform .35s var(--rebond)}
.liste-liens a:hover{translate:3px 0;border-color:var(--ciel-pale);background:var(--ciel-doux)}
.liste-liens a:hover span{transform:translateX(4px)}

/* ---------- Visitez le cabinet : une galerie par partie ---------- */
.galerie--visite{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto}
.galerie--visite > button{grid-column:auto;grid-row:auto;aspect-ratio:4/3}

/* ---------- Contact ---------- */
.contact-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.contact-carte{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;gap:8px}
.contact-carte .icone{width:44px;height:44px;border-radius:14px;background:var(--ciel-doux);display:grid;place-items:center;margin-bottom:4px}
.contact-carte .icone svg{width:22px;height:22px;fill:none;stroke:var(--ciel-fonce);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.contact-carte h3{font-size:19px}
.contact-carte p{font-size:15px;color:var(--gris);line-height:1.55}
.contact-carte .petit{font-size:13.5px}
.contact-tel{font-family:var(--titres);font-size:22px;color:var(--marine);font-weight:500}

/* ---------- Toutes les communes de l'arrondissement ---------- */
.groupes-communes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:8px}
.groupe-communes{background:#fff;border-radius:var(--r);padding:22px 20px;box-shadow:var(--ombre)}
.groupe-communes h3{font-size:16.5px;line-height:1.3;margin-bottom:12px;color:var(--marine)}
.groupe-communes ul{display:grid;gap:2px}
.groupe-communes li{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:5px 0;border-bottom:1px solid var(--ligne);color:var(--encre)}
.groupe-communes li:last-child{border-bottom:0}
.groupe-communes li span{color:var(--ciel-fonce);font-weight:700;white-space:nowrap}
.groupe-communes li a{color:var(--marine);font-weight:700;text-decoration:underline;text-decoration-color:var(--ciel-pale);text-underline-offset:3px}

/* ---------- La carte : la zone (arrondissement de Brest) ressort, le reste s'efface ---------- */
.carte .mer{fill:#edf4fa}
.carte .commune:not(.zone){fill:#fbfcfd;stroke:#e6ebf1;stroke-width:1}
.carte .commune.zone{fill:#d3e6f5;stroke:#fff;stroke-width:1.2}
.carte .commune.zone.active:hover,.carte .commune.zone.active.allume,.carte .commune.zone.active:focus-visible{fill:#9fd0f2}
.carte .commune.zone.ici{fill:var(--ciel)}

@media (max-width:1100px){
  .equipe-grille--texte,.conseils-grille--4{grid-template-columns:1fr 1fr}
  .equipe-grille--texte .carte-praticien--texte{grid-column:span 2}
  .contact-grille{grid-template-columns:1fr 1fr}
  .groupes-communes{grid-template-columns:1fr 1fr}
  .galerie--visite{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .equipe-grille--texte,.conseils-grille--4,.contact-grille,.groupes-communes,.galerie--visite{grid-template-columns:minmax(0,1fr)}
  .equipe-grille--texte .carte-praticien--texte{grid-column:auto}
}

/* ---------- Pages de soins reprises de son site (29/10/2026) : illustration + carte, vidéos au clic ---------- */
.ancien .int{display:grid;gap:clamp(22px,2.6vw,34px);max-width:1120px}
.ancien-etape{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:clamp(22px,3vw,44px);align-items:center}
.ancien-ill{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:16px;box-shadow:var(--ombre)}
.ancien-ill picture{display:block}
.ancien-ill img{width:auto;max-width:100%;max-height:340px;border-radius:12px}
.ancien-ill figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:var(--gris);text-align:center;max-width:34ch}
.ancien-carte{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:clamp(22px,2.6vw,34px);box-shadow:var(--ombre)}
.ancien-carte p,.ancien-titre p{color:var(--encre);font-size:16.5px;line-height:1.7}
.ancien-carte p+p,.ancien-titre p+p{margin-top:12px}
.ancien-h{font-size:clamp(21px,1.9vw,25px);line-height:1.25;letter-spacing:-.01em;font-weight:600;margin-bottom:12px}
.ancien-seul .ancien-carte{max-width:none}
.ancien-cartes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,26px);align-items:start}
.ancien-cartes--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ancien-titre{max-width:820px;padding-top:10px}
.ancien-titre .t2{margin-bottom:16px}
.ancien-galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(16px,2vw,24px)}
.ancien-galerie .ancien-ill{justify-content:flex-start}
.ancien-puces{display:grid;gap:12px;margin-top:14px}
.ancien-puces li{display:flex;gap:12px;font-size:16.5px;line-height:1.65}
.ancien-puces li::before{content:"";width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--ciel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.6 2.6L12 5.6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;flex:none}
.ancien-puces li > div,.ancien-puces li > p{flex:1}
.ancien-puces li p+p{margin-top:10px}
.ancien-bande{background:var(--marine);color:#fff;overflow:hidden;overflow:clip;position:relative}
.ancien-bande-int{max-width:900px}
.ancien-bande .t2{color:#fff;margin-bottom:18px}
.ancien-bande .t2 em{color:var(--ciel-pale)}
.ancien-bande p,.ancien-bande li{color:rgba(255,255,255,.86);font-size:16.5px;line-height:1.7}
.ancien-bande strong{color:#fff}
.ancien-bande .ancien-puces{gap:22px;margin-top:20px}
.videos{display:grid;grid-template-columns:minmax(0,760px);justify-content:center;gap:clamp(18px,2vw,28px)}
.videos--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.video{margin:0}
.video-lecture,.video iframe{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:var(--r);overflow:hidden;background:var(--marine-3);box-shadow:var(--ombre-forte)}
.video-lecture picture,.video-lecture img{width:100%;height:100%;object-fit:cover}
.video-lecture img{transition:transform 1.2s var(--courbe),opacity .4s}
.video-lecture:hover img{transform:scale(1.03);opacity:.9}
.video-bouton{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);transition:transform .45s var(--rebond)}
.video-lecture:hover .video-bouton{transform:scale(1.08)}
.video-bouton svg{width:30px;height:30px;fill:var(--marine);margin-left:4px}
.video figcaption{margin-top:12px;font-size:14.5px;color:var(--gris);line-height:1.5}
.video figcaption small{display:block;font-size:12.5px;color:var(--gris-2)}
@media (max-width:900px){
  .ancien-etape,.ancien-cartes,.ancien-cartes--3,.videos--2{grid-template-columns:minmax(0,1fr)}
  .ancien-ill img{max-height:260px}
}
