/* ==========================================================================
   tm-locations.css — carte et fiches des douze villes ([tm_locations]), liste des villes ([tm_villes])
   tagemage-etoile.com · refonte du 10 octobre 2026 · révision 2
   Destination : wp-content/uploads/tagemage-refonte-20261010/css/tm-locations.css
   Chargée par mu-plugins/tagemage-locations-20261010.php, tenue hors de « Remove Unused CSS » de WP Rocket
   (les états .is-active, .tm-loc__media--vide et [hidden] sont posés par tm-locations.js).

   Couleurs et polices : jetons de tm-brand.css (--tm-prune, --tm-orange, --tm-jaune, --tm-bleu, --tm-police-titre,
   --tm-police-texte, --tm-entete-h) ; les valeurs du kit écrites ici servent tant que cette feuille n'est pas chargée.

   Spécificité : chaque sélecteur part de la racine suivie de :not(#tm-a):not(#tm-b). Ces deux négations sont toujours
   vraies et valent deux identifiants : aucune règle de Divi, de tm-brand.css ni de tm-pages.css ne passe devant,
   et la feuille n'emploie aucun !important. La règle « [class*=tm-loc__]{font:inherit} » rétablit l'héritage que
   tm-pages.css coupe en fixant corps, interligne et graisse sur tout élément dont la classe commence par « tm- ».

   Fichier généré par design\locations\scratch\r2\build2.py à partir de scratch\r2\src\tm-locations.src.css :
   les positions des repères viennent de scratch\geo.py, ne pas les modifier à la main.
   ========================================================================== */

/* --- Racine -------------------------------------------------------------- */
.tm-loc:not(#tm-a):not(#tm-b){--tm-loc-prune:var(--tm-prune,#2B193D);--tm-loc-orange:var(--tm-orange,#E76A34);--tm-loc-jaune:var(--tm-jaune,#FDC03A);--tm-loc-bleu:var(--tm-bleu,#0477BF);--tm-loc-texte:#40324B;--tm-loc-filet:#E2DAE9;--tm-loc-titres:var(--tm-police-titre,'Commissioner','Georama','Mona Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif);--tm-loc-courant:var(--tm-police-texte,'Mona Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif);--tm-loc-entete:var(--tm-entete-h,112px);box-sizing:border-box;width:100%;margin:0 auto;padding:0;color:var(--tm-loc-prune);font-family:var(--tm-loc-courant);font-size:16px;font-weight:400;line-height:1.6;letter-spacing:0;text-align:left;isolation:isolate;scroll-margin-top:calc(var(--tm-loc-entete) + 24px)}
.tm-loc:not(#tm-a):not(#tm-b) *,.tm-loc:not(#tm-a):not(#tm-b) *::before,.tm-loc:not(#tm-a):not(#tm-b) *::after{box-sizing:border-box}
.tm-loc:not(#tm-a):not(#tm-b) [class*="tm-loc__"]{font:inherit;letter-spacing:inherit;text-transform:none}

/* --- En-tête facultatif (head="1") et phrase d'introduction -------------- */
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__head{max-width:720px;margin:0 auto 14px;padding:0;text-align:center}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__eyebrow{margin:0 0 10px;padding:0;color:var(--tm-loc-bleu);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;text-align:center}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__title{margin:0;padding:0;color:var(--tm-loc-prune);font-family:var(--tm-loc-titres);font-size:40px;font-weight:600;line-height:1.1;letter-spacing:-.01em;text-align:center;text-wrap:balance;overflow-wrap:anywhere}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__intro{max-width:720px;margin:0 auto 32px;padding:0;color:var(--tm-loc-texte);font-size:16.5px;font-weight:400;line-height:1.65;text-align:center;text-wrap:pretty;overflow-wrap:anywhere}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__intro a{color:var(--tm-loc-prune);font-weight:600;text-decoration:underline;text-decoration-color:var(--tm-loc-orange);text-decoration-thickness:2px;text-underline-offset:3px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__intro a:hover{color:var(--tm-loc-prune);text-decoration-color:var(--tm-loc-prune)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__intro a:focus-visible{outline:3px solid var(--tm-loc-bleu);outline-offset:2px;border-radius:3px}

/* --- Grille : carte à gauche, fiches à droite ----------------------------- */
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:40px;align-items:stretch}

/* --- Panneau de la carte -------------------------------------------------- */
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__panel{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;margin:0;padding:20px 20px 16px;border-radius:24px;background-color:var(--tm-loc-prune);background-image:radial-gradient(120% 85% at 28% 18%,#3C2754 0,rgba(60,39,84,0) 62%);color:#fff;forced-color-adjust:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__map{position:relative;width:100%;max-width:560px;margin:0 auto;padding:0}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__land{display:block;width:100%;max-width:none;height:auto;margin:0;overflow:visible}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__land path{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.66);stroke-width:1.2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__land .tm-loc__voisin{fill:rgba(255,255,255,.03);stroke:rgba(255,255,255,.42)}

/* Repères : chaque <li> est posé sur le point géographique ; le lien y centre son point */
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pins{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;list-style:none;line-height:1}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pins li{position:absolute;width:0;height:0;margin:0;padding:0;list-style:none}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pins li:hover{z-index:2}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin{position:absolute;left:-12px;top:-12px;display:block;width:24px;height:24px;margin:0;padding:0;border-radius:50%;color:#fff;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin:focus:not(:focus-visible){outline:0}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin:focus-visible{outline:2px solid var(--tm-loc-jaune);outline-offset:2px;border-radius:50%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__dot{position:absolute;left:50%;top:50%;display:block;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background-color:var(--tm-loc-orange);box-shadow:0 0 0 2px #fff,0 0 0 6px rgba(231,106,52,.32);transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__name{position:absolute;display:block;margin:0;padding:1px 3px;border-radius:4px;color:#fff;font-size:14px;font-weight:600;line-height:14px;white-space:nowrap;text-shadow:0 1px 2px rgba(43,25,61,.9),0 0 6px rgba(43,25,61,.7);transition:color .15s ease}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin--r .tm-loc__name{left:100%;top:50%;margin-left:4px;transform:translateY(-50%)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin--l .tm-loc__name{right:100%;top:50%;margin-right:4px;transform:translateY(-50%)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin--t .tm-loc__name{left:50%;bottom:100%;margin-bottom:4px;transform:translateX(-50%)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin--b .tm-loc__name{left:50%;top:100%;margin-top:4px;transform:translateX(-50%)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin:hover .tm-loc__dot{background-color:var(--tm-loc-jaune);box-shadow:0 0 0 2px #fff,0 0 0 8px rgba(253,192,58,.36);transform:scale(1.15)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin:hover .tm-loc__name{color:var(--tm-loc-jaune)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin:active .tm-loc__dot{transform:scale(.95)}
/* Ville affichée dans les fiches (classe posée par tm-locations.js) */
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin.is-active .tm-loc__dot{background-color:var(--tm-loc-jaune);box-shadow:0 0 0 2px #fff,0 0 0 9px rgba(253,192,58,.42)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin.is-active .tm-loc__name{color:var(--tm-loc-jaune);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

/* Positions : point géographique de chaque ville, en % de la boîte de la carte (viewBox 576 × 563) */
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--paris{left:46.94%;top:28.40%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--lyon{left:62.24%;top:56.96%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--lille{left:51.28%;top:12.02%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--toulouse{left:41.35%;top:76.91%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--bordeaux{left:28.89%;top:65.51%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--aix-marseille{left:65.99%;top:77.60%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--montpellier{left:56.32%;top:76.84%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--strasbourg{left:80.19%;top:31.01%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--nice{left:77.17%;top:75.93%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--nantes{left:22.90%;top:43.52%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--bruxelles{left:59.25%;top:9.98%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__at--geneve{left:70.28%;top:52.90%}

.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__legend{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 0;padding:0;color:rgba(255,255,255,.88);font-size:13px;font-weight:400;line-height:1.4;text-align:center}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__legend .tm-loc__dot{position:static;flex:none;width:10px;height:10px;margin:0 2px;transform:none}

/* --- Fiches : une bande à défilement horizontal, une fiche par cran ------- */
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__viewer{position:relative;display:flex;flex-direction:column;min-width:0;margin:0;padding:0}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__track{position:relative;flex:1 1 auto;display:flex;margin:0;padding:0 0 10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#B9AAC6 transparent;border-radius:24px 24px 6px 6px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__track:focus:not(:focus-visible){outline:0}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__track:focus-visible{outline:3px solid var(--tm-loc-bleu);outline-offset:3px;border-radius:24px 24px 6px 6px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__slides{display:flex;flex:1 0 100%;gap:16px;width:100%;margin:0;padding:0;list-style:none;line-height:1.6}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__slide{display:flex;flex:0 0 100%;min-width:0;margin:0;padding:0;list-style:none;scroll-snap-align:start;scroll-margin-top:calc(var(--tm-loc-entete) + 24px)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__card{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid var(--tm-loc-filet);border-radius:24px;background:#fff;color:var(--tm-loc-prune)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__media{position:relative;flex:none;width:100%;aspect-ratio:3/2;margin:0;padding:0;overflow:hidden;background-color:var(--tm-loc-prune);background-image:radial-gradient(120% 95% at 22% 12%,#4A3166 0,rgba(74,49,102,0) 64%);forced-color-adjust:none}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__media-name{position:absolute;left:28px;right:28px;bottom:24px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;padding:0 0 0 22px;color:#fff;font-family:var(--tm-loc-titres);font-size:34px;font-weight:600;line-height:1.1;letter-spacing:-.01em;overflow-wrap:anywhere}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__media-name::before{content:"";position:absolute;left:0;top:.42em;width:10px;height:10px;border-radius:50%;background-color:var(--tm-loc-orange);box-shadow:0 0 0 2px #fff}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__photo{position:absolute;top:0;left:0;display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;object-fit:cover;color:transparent;font-size:0}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__body{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;min-width:0;margin:0;padding:22px 28px 26px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__num{margin:0 0 8px;padding:0;color:var(--tm-loc-bleu);font-size:12.5px;font-weight:600;line-height:1.4;letter-spacing:.1em}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__city{margin:0 0 10px;padding:0;color:var(--tm-loc-prune);font-family:var(--tm-loc-titres);font-size:30px;font-weight:600;line-height:1.15;letter-spacing:-.005em;text-align:left;overflow-wrap:anywhere}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__address{margin:0 0 4px;padding:0;color:var(--tm-loc-prune);font-size:16.5px;font-weight:600;line-height:1.5;font-style:normal;text-align:left;overflow-wrap:anywhere}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__note{margin:0 0 20px;padding:0;color:var(--tm-loc-texte);font-size:14.5px;font-weight:400;line-height:1.6;text-align:left;overflow-wrap:anywhere}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__link{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:44px;margin:auto 0 0;padding:9px 18px;border:2px solid var(--tm-loc-prune);border-radius:24px;background-color:#fff;color:var(--tm-loc-prune);font-size:14.5px;font-weight:600;line-height:1.35;text-align:left;text-decoration:none;transition:background-color .15s ease,color .15s ease}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__link::after{content:"";flex:none;width:7px;height:7px;margin:0 2px 0 0;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__link:hover{background-color:var(--tm-loc-prune);color:#fff;text-decoration:none}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__link:active{background-color:#412A59;color:#fff}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__link:focus-visible{outline:3px solid var(--tm-loc-bleu);outline-offset:2px;border-radius:24px}

/* Boutons « précédente / suivante » : imprimés masqués, révélés par tm-locations.js, posés sur la photo */
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__nav{position:absolute;top:14px;right:14px;z-index:2;display:flex;gap:8px;margin:0;padding:0}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__nav[hidden]{display:none}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn{position:relative;display:block;width:44px;height:44px;min-width:0;margin:0;padding:0;border:0;border-radius:50%;background-color:#fff;color:var(--tm-loc-prune);box-shadow:0 2px 10px rgba(43,25,61,.28);cursor:pointer;font-size:0;line-height:0;-webkit-appearance:none;appearance:none;transition:background-color .15s ease}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-top:2.5px solid currentColor;border-right:2.5px solid currentColor}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn--prev::before{transform:translate(-30%,-50%) rotate(-135deg)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn--next::before{transform:translate(-70%,-50%) rotate(45deg)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn:hover{background-color:var(--tm-loc-jaune);color:var(--tm-loc-prune)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn:active{background-color:#F2B020}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn:focus-visible{outline:3px solid var(--tm-loc-bleu);outline-offset:2px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 2px 10px rgba(43,25,61,.28)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn:disabled{background-color:rgba(255,255,255,.72);color:#8E8198;box-shadow:none;cursor:default}

/* --- Liste des villes ([tm_villes]) : maillage des pages ville ------------ */
.tm-villes:not(#tm-a):not(#tm-b){--tm-loc-prune:var(--tm-prune,#2B193D);--tm-loc-orange:var(--tm-orange,#E76A34);--tm-loc-bleu:var(--tm-bleu,#0477BF);--tm-loc-texte:#40324B;--tm-loc-filet:#E2DAE9;--tm-loc-titres:var(--tm-police-titre,'Commissioner','Georama','Mona Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif);--tm-loc-courant:var(--tm-police-texte,'Mona Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif);box-sizing:border-box;display:block;width:100%;margin:0 auto;padding:0;color:var(--tm-loc-prune);font-family:var(--tm-loc-courant);font-size:16px;font-weight:400;line-height:1.6;letter-spacing:0;text-align:left}
.tm-villes:not(#tm-a):not(#tm-b) *,.tm-villes:not(#tm-a):not(#tm-b) *::before,.tm-villes:not(#tm-a):not(#tm-b) *::after{box-sizing:border-box}
.tm-villes:not(#tm-a):not(#tm-b) [class*="tm-villes__"]{font:inherit;letter-spacing:inherit;text-transform:none}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__title{margin:0 0 18px;padding:0;color:var(--tm-loc-prune);font-family:var(--tm-loc-titres);font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.005em;text-align:left;text-wrap:balance;overflow-wrap:anywhere}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0;padding:0;list-style:none;line-height:1.4}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__item{display:flex;margin:0;padding:0;list-style:none}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__lien,.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__ici,.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__sans{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:66px;margin:0;padding:12px 16px;border:1px solid var(--tm-loc-filet);border-radius:14px;background-color:#fff;color:var(--tm-loc-prune);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__nom{display:block;margin:0;padding:0;color:var(--tm-loc-prune);font-size:16px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__adresse{display:block;margin:0;padding:0;color:var(--tm-loc-texte);font-size:13.5px;font-weight:400;line-height:1.4;overflow-wrap:anywhere}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__lien:hover{border-color:var(--tm-loc-prune);box-shadow:0 0 0 1px var(--tm-loc-prune);color:var(--tm-loc-prune);text-decoration:none}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__lien:hover .tm-villes__nom{text-decoration:underline;text-decoration-color:var(--tm-loc-orange);text-decoration-thickness:2px;text-underline-offset:3px}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__lien:focus-visible{outline:3px solid var(--tm-loc-bleu);outline-offset:2px;border-radius:14px}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__ici{border-color:var(--tm-loc-prune);background-color:#F7F3F9}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__sans{border-style:dashed}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__carte{margin:16px 0 0;padding:0;color:var(--tm-loc-texte);font-size:15px;font-weight:400;line-height:1.5;text-align:left}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__carte a{color:var(--tm-loc-prune);font-weight:600;text-decoration:underline;text-decoration-color:var(--tm-loc-orange);text-decoration-thickness:2px;text-underline-offset:3px}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__carte a:hover{color:var(--tm-loc-prune);text-decoration-color:var(--tm-loc-prune)}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__carte a:focus-visible{outline:3px solid var(--tm-loc-bleu);outline-offset:2px;border-radius:3px}

/* --- Largeurs ------------------------------------------------------------- */
@media (max-width:1180px){
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__title{font-size:34px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__grid{gap:28px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__panel{padding:16px 16px 14px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__name{font-size:13px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__body{padding:20px 22px 22px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__city{font-size:27px}
}
/* 980 px : seuil tablette de Divi, une seule colonne */
@media (max-width:980px){
.tm-loc:not(#tm-a):not(#tm-b){padding:8px 0 32px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__title{font-size:32px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__intro{margin-bottom:26px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__grid{grid-template-columns:minmax(0,1fr);gap:24px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__panel,.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__viewer{width:100%;max-width:600px;margin:0 auto}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__panel{padding:20px 20px 16px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__name{font-size:14px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__media{aspect-ratio:16/9}
}
@media (max-width:767px){
.tm-loc:not(#tm-a):not(#tm-b){padding:8px 16px 32px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__title{font-size:26px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__intro{font-size:16px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__media-name{left:20px;right:20px;bottom:18px;font-size:28px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__body{padding:18px 20px 22px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__city{font-size:25px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__address{font-size:16px}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__title{font-size:24px}
}
/* Téléphone : une fiche par cran, la suivante dépasse à droite jusqu'au bord de l'écran ; pas de boutons, le geste suffit */
@media (max-width:600px){
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__viewer{width:auto;max-width:none;margin:0 -16px 0 0}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__track{padding-bottom:6px;border-radius:20px 0 0 6px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__slides{gap:12px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__slides::after{content:"";flex:0 0 4px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__slide{flex-basis:86%}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__card{border-radius:20px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__nav{display:none}
}
@media (max-width:480px){
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__panel{padding:12px 10px;border-radius:20px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__name{font-size:13px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin .tm-loc__dot{width:10px;height:10px;margin:-5px 0 0 -5px;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(231,106,52,.32)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin:hover .tm-loc__dot{box-shadow:0 0 0 2px #fff,0 0 0 5px rgba(253,192,58,.4)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin.is-active .tm-loc__dot{box-shadow:0 0 0 2px #fff,0 0 0 6px rgba(253,192,58,.46)}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__legend{margin-top:10px}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:400px){
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__name{font-size:12px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__link{padding:9px 16px;font-size:14px}
}
@media (max-width:374px){
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin{left:-10px;top:-10px;width:20px;height:20px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__body{padding:16px 16px 20px}
}

/* --- Préférences et impression -------------------------------------------- */
@media (prefers-reduced-motion:reduce){
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__dot,.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__name,.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__link,.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn{transition:none}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin:hover .tm-loc__dot,.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__pin:active .tm-loc__dot{transform:none}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__lien{transition:none}
}
@media (forced-colors:active){
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__card,.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__link{border-color:ButtonText}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn{border:1px solid ButtonText}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__track:focus-visible,.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__link:focus-visible,.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__btn:focus-visible,.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__intro a:focus-visible{outline-color:Highlight}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__lien,.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__ici,.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__sans{border-color:ButtonText}
.tm-villes:not(#tm-a):not(#tm-b) .tm-villes__lien:focus-visible{outline-color:Highlight}
}
@media print{
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__nav{display:none}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__track{overflow:visible;padding:0}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__slides{flex-wrap:wrap;gap:12px}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__slide{flex:0 0 calc(33.333% - 8px);break-inside:avoid}
.tm-loc:not(#tm-a):not(#tm-b) .tm-loc__grid{grid-template-columns:minmax(0,1fr)}
}
