/* Page « Ils nous font confiance » */
.page-head .hero-talk{max-width:360px}
.proofs{padding-top:20px}

/* Filtres */
.map-fake{display:inline-block;margin:0 0 18px;font-size:1rem}

/* Carte */
.map-layout{display:grid;gap:22px;align-items:start;margin-top:56px}
.map-layout > *{min-width:0}
@media (min-width:940px){.map-layout{grid-template-columns:1.75fr 1fr}}
.map-panel-wrap{position:relative}
.map-panel{position:relative;z-index:1;padding:14px}
.map-peek{position:absolute;right:36px;top:-50px;z-index:0;width:84px;height:78px}
.map-peek svg{display:block}
.skip-map{position:absolute;left:12px;top:12px;z-index:5;background:var(--soleil);border:2px solid var(--nuit);border-radius:12px;padding:6px 12px;font-weight:600;font-size:1rem;transform:translateY(-200%);opacity:0;pointer-events:none}
.skip-map:focus{transform:none;opacity:1;pointer-events:auto}
.map-box{position:relative}
.map-svg{display:block;width:100%;height:auto}
.map-dot{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:3px solid var(--nuit);background:var(--feuille);padding:0;cursor:pointer;z-index:1;transition:transform .15s ease}
.map-dot::before{content:"";position:absolute;inset:-7px;border-radius:50%}
.map-dot:hover{transform:scale(1.2)}
.map-dot:hover,.map-dot:focus-visible{z-index:4}
.map-dot[aria-pressed="true"]{background:var(--soleil);transform:scale(1.35);z-index:3;box-shadow:0 0 0 4px var(--blanc)}
.map-dot:focus-visible{outline:3px solid var(--nuit);outline-offset:4px;border-radius:50%}
/* Mobile (brief du 08/11/2026) : points plus petits, pour qu'ils ne se chevauchent plus (écart minimal entre deux écoles ≈ 12 px sur un téléphone). La zone tactile reste plus large que le point. */
@media (max-width:599px){.map-dot{width:10px;height:10px;margin:-5px 0 0 -5px;border-width:2px}.map-dot::before{inset:-6px}.map-dot[aria-pressed="true"]{transform:scale(1.6);box-shadow:0 0 0 2px var(--blanc)}}
@media (prefers-reduced-motion:reduce){.map-dot{transition:none}.map-dot:hover{transform:none}}
.map-tip{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--nuit);color:var(--creme);font:500 .85rem/1.35 var(--font-texte);padding:6px 10px;border-radius:10px;text-align:left;pointer-events:none}
.map-dot:hover .map-tip,.map-dot:focus-visible .map-tip{display:block}
.tip-left .map-tip{left:auto;right:-8px;transform:none}
.tip-right .map-tip{left:-8px;transform:none}
.tip-below .map-tip{bottom:auto;top:calc(100% + 10px)}
.map-panel .map-legend{margin:8px 4px 2px}

/* Détails */
.map-details{min-height:180px}
@media (min-width:940px){.map-details{position:sticky;top:96px}}
.map-details h3{font-size:1.5rem;margin:0 0 .2em}
.map-details .eyebrow{font-size:.9rem;margin:0}
.map-empty{margin:0;color:var(--nuit-70);font-size:1rem}
.map-commune{margin:0 0 12px;font-size:1rem}
.map-visits{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}
.map-visits li{display:grid;gap:2px;border-left:6px solid var(--feuille);padding:4px 0 4px 12px;font-size:1rem}
.map-year{font:600 .9rem var(--font-titre);color:var(--nuit-70)}
.map-count{margin:0 0 12px;font:600 1.05rem var(--font-titre)}
.map-missions{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.map-visits .map-missions li{display:block;border:0;padding:0}
.map-fake-note{margin:0;font-size:.9rem;color:var(--nuit-70);font-style:italic}

/* Liste des écoles */
.list-title{margin:36px 0 12px;font-size:1.5rem}
.table-scroll{overflow-x:auto;background:var(--blanc);border:3px solid var(--nuit);border-radius:var(--radius)}
.schools{width:100%;min-width:640px;border-collapse:collapse;font-size:1rem}
.schools th,.schools td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:2px dashed rgba(31,42,68,.15)}
.schools thead th{font:600 .95rem var(--font-titre);text-transform:uppercase;letter-spacing:.05em;background:var(--feuille-50);border-bottom:3px solid var(--nuit)}
.schools tbody tr:last-child > *{border-bottom:0}
.schools tbody th{font-weight:600;white-space:nowrap}
.schools ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.schools .dept{color:var(--nuit-70)}

/* Avis */
.review-sum{display:flex;align-items:center;gap:14px;background:var(--blanc);border:4px solid var(--blanc);box-shadow:var(--shadow-sticker);border-radius:22px;padding:10px 16px;max-width:360px;transform:rotate(1.5deg)}
.review-sum b{font:700 2.4rem/1 var(--font-titre);white-space:nowrap}
.review-sum small{font-size:1.1rem}
.review-sum > span{font-size:.95rem}
.reviews-all{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.reviews-all > li{min-width:0}
@media (min-width:700px){.reviews-all{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.reviews-all{grid-template-columns:repeat(3,1fr)}}
.stars--empty{color:var(--nuit-70)}

/* Dessins */
.merci-head{align-items:flex-end}
.merci-head .carousel-ctrl{flex:none}
.drawings{list-style:none;margin:0 -8px;padding:14px 8px 18px;display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin}
.drawings > li{min-width:0;scroll-snap-align:start}
.drawings:focus-visible{outline-offset:2px}
@media (min-width:600px){.drawings{grid-auto-columns:calc((100% - 22px) / 2)}}
@media (min-width:960px){.drawings{grid-auto-columns:calc((100% - 60px) / 3);gap:30px}}
.drawing{margin:0;background:var(--blanc);border:4px solid var(--blanc);box-shadow:var(--shadow-sticker);border-radius:18px;padding:10px 10px 14px;transform:rotate(var(--r));transition:transform .25s ease}
.drawing svg,.drawing img{display:block;width:100%;height:auto}
.drawing img{aspect-ratio:200/170;object-fit:contain;background:var(--creme);border-radius:8px}
.drawing figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin-top:10px;font-size:1rem}
.drawing figcaption b{font-family:var(--font-titre);font-size:1.1rem}
.drawing .sticker{font-size:.8rem;padding:1px 10px}
@media (prefers-reduced-motion:no-preference){.drawing:hover{transform:rotate(0) scale(1.02)}}
.drawings-note{margin-top:26px;display:grid;gap:10px;max-width:760px}
.drawings-note p{margin:0}
.map-levels{font-size:.9rem;color:var(--nuit-70)}
