/* TiKamp — refonte graphique 2026-10 : styles d'ORIGINE de la page « carte ».
   FICHIER PRODUIT par scripts/refonte-feuille-origine.js — NE PAS MODIFIER À LA MAIN.
   Il reprend, sous la garde html[data-refonte], les règles de la page d'origine et
   celles que ses scripts posent eux-mêmes. L'habillage refondu est écrit à la main
   dans tk-refonte-public.css (chargée après). */

/* ── carte.html — <style> n° 1 ── */
html[data-refonte] .page-carte .poi-dot { width:12px; height:12px; border-radius:50%; background:#9AA7A0; border:2px solid #fff; box-shadow:0 1px 3px rgba(10,15,10,.3); }
html[data-refonte] .page-carte .poi-dot.com { background:#0F7C3C; }
html[data-refonte] .page-carte .poi-cluster { border-radius:50%; display:grid; place-items:center; color:#fff; font-weight:700; background:#B65A28; border:3px solid #fff; box-shadow:0 0 0 1.5px #B65A28,0 3px 10px rgba(35,20,10,.5); font-family:'Arial Narrow',system-ui,sans-serif; letter-spacing:.02em; }
html[data-refonte] .page-carte .camp-cluster { border-radius:50%; display:grid; place-items:center; color:#fff; font-weight:700; background:#0F7C3C; border:3px solid #fff; box-shadow:0 0 0 1.5px #0F7C3C,0 3px 10px rgba(10,31,20,.5); font-family:'Arial Narrow',system-ui,sans-serif; letter-spacing:.02em; }
html[data-refonte] .page-carte .leaflet-tooltip.route-badge { background:#974819; color:#fff; border:2px solid #fff; border-radius:999px; padding:.2rem .6rem; font-weight:700; font-size:.82rem; box-shadow:0 2px 8px rgba(35,20,10,.45); white-space:nowrap; font-family:inherit; }
html[data-refonte] .page-carte .leaflet-tooltip.route-badge.calc { background:#6B5E45; }
html[data-refonte] .page-carte .leaflet-tooltip.route-badge::before { display:none; }

/* ── carte.html — <style> n° 2 ── */
html[data-refonte] body.page-carte { --surface-2:#F4F3EE; --muted:#5F6A62; --border-strong:#D4D8D1; --danger:#E84747; --danger-soft:#FEECEC; --shadow-sm:0 1px 2px rgba(10,15,10,.04); --shadow:0 1px 3px rgba(10,15,10,.06), 0 8px 24px rgba(10,15,10,.04); --shadow-lg:0 4px 12px rgba(10,15,10,.08), 0 24px 48px rgba(10,15,10,.06) }
html[data-refonte] .page-carte *:not(.site-header *, .site-footer *, .site-menu *, .skip-link) { box-sizing:border-box; }
html[data-refonte],
html[data-refonte] body.page-carte { height:100%; margin:0; }
html[data-refonte] body.page-carte { position:fixed; inset:0; height:100dvh; overflow:hidden; overscroll-behavior:none; font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; font-feature-settings:'cv11','ss01'; }
html[data-refonte] .page-carte a:not(.site-header *, .site-footer *, .site-menu *, .skip-link) { color:var(--primary); text-decoration:none; }
html[data-refonte] .page-carte a:hover:not(.site-header *, .site-footer *, .site-menu *, .skip-link) { color:var(--primary-hover); }
html[data-refonte] .page-carte button:not(.site-header *, .site-footer *, .site-menu *, .skip-link) { font-family:inherit; cursor:pointer; }
html[data-refonte] .page-carte :not(.site-header *, .site-footer *, .site-menu *, .skip-link)::selection { background:var(--primary); color:#fff; }
html[data-refonte] .page-carte :focus-visible:not(.site-header *, .site-footer *, .site-menu *, .skip-link) { outline:2px solid var(--ink); outline-offset:3px; border-radius:6px; }
html[data-refonte] .page-carte .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html[data-refonte] .page-carte .carte-barre { position:absolute; top:0; left:0; right:0; z-index:600; background:rgba(250,250,247,.92); backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px); border-bottom:1px solid var(--border); padding:.7rem 1.2rem; padding-top:calc(.7rem + env(safe-area-inset-top)); padding-left:max(1.2rem, env(safe-area-inset-left)); padding-right:max(1.2rem, env(safe-area-inset-right)); display:flex; align-items:center; gap:1rem; }
html[data-refonte] .page-carte .carte-barre .tk-logo { flex:none; }
html[data-refonte] .page-carte .header-mid { flex:1; min-width:0; }
html[data-refonte] .page-carte .header-title { font-size:.95rem; color:var(--ink-2); font-weight:500; padding-left:.85rem; border-left:1px solid var(--border-strong); }
@media (max-width:680px) {
  html[data-refonte] .page-carte .header-title { display:none; }
}
html[data-refonte] .page-carte .map-search { display:flex; align-items:center; gap:.45rem; background:var(--surface); border:1px solid var(--border-strong); border-radius:10px; padding:.35rem .7rem; max-width:340px; min-height:44px; box-shadow:var(--shadow-sm); position:relative; }
html[data-refonte] .page-carte .map-search svg { width:15px; height:15px; color:var(--ink-3); flex:none; }
html[data-refonte] .page-carte .map-search input { border:0; outline:0; background:transparent; flex:1; min-width:0; font-size:.88rem; color:var(--ink); font-family:inherit; }
html[data-refonte] .page-carte .map-search input::placeholder { color:var(--ink-3); }
@media (max-width:560px) {
  html[data-refonte] .page-carte .map-search { padding:.3rem .55rem; max-width:none; }
}
html[data-refonte] .page-carte .btn-geo { background:var(--ink); color:var(--bg); border:0; padding:.55rem 1rem; border-radius:8px; min-height:44px; font-size:.85rem; font-weight:600; transition:background .15s, transform .12s; display:inline-flex; align-items:center; justify-content:center; gap:.45rem; white-space:nowrap; box-shadow:var(--shadow-sm); }
html[data-refonte] .page-carte .btn-geo:hover { background:#1F2A22; transform:translateY(-1px); }
html[data-refonte] .page-carte .btn-geo svg { width:16px; height:16px; flex:none; }
@media (max-width:560px) {
  html[data-refonte] .page-carte .carte-barre { gap:.5rem; padding-left:max(.8rem,env(safe-area-inset-left)); padding-right:max(.8rem,env(safe-area-inset-right)); }
  html[data-refonte] .page-carte .btn-geo { min-width:44px; min-height:44px; padding:.55rem; border-radius:12px; }
  html[data-refonte] .page-carte .btn-geo .btn-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  html[data-refonte] .page-carte .btn-geo svg { width:20px; height:20px; }
}
html[data-refonte] .page-carte .conditions { position:absolute; top:64px; left:1.2rem; z-index:550; background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:.6rem .85rem; font-size:.82rem; color:var(--ink-2); display:none; align-items:center; gap:.5rem; box-shadow:var(--shadow); }
html[data-refonte] .page-carte .conditions .date { font-weight:600; color:var(--ink); }
html[data-refonte] .page-carte .conditions .sep { color:var(--border-strong); }
html[data-refonte] .page-carte .conditions .heat { background:var(--danger-soft); color:var(--danger); padding:.1rem .5rem; border-radius:999px; font-size:.7rem; font-weight:600; }
@media (max-width:560px) {
  html[data-refonte] .page-carte .conditions { top:58px; left:.7rem; padding:.45rem .65rem; font-size:.72rem; }
}
html[data-refonte] .page-carte #map { position:absolute; top:0; left:0; right:0; bottom:0; background:var(--bg); }
@media (min-width:768px) {
  html[data-refonte] body.page-carte.tv-panel-open #map { right:min(420px, 46vw); }
}
html[data-refonte] .page-carte .leaflet-container { font-family:inherit; }
html[data-refonte] .page-carte .leaflet-popup-content-wrapper { background:var(--surface); color:var(--ink); border-radius:12px; border:1px solid var(--border); box-shadow:var(--shadow-lg); padding:.4rem; }
html[data-refonte] .page-carte .leaflet-popup-tip { background:var(--surface); border:1px solid var(--border); }
html[data-refonte] .page-carte .leaflet-popup-content { margin:.6rem .8rem; font-family:inherit; min-width:200px; font-size:.92rem; }
html[data-refonte] .page-carte .leaflet-popup-content .pop-name { font-size:1.02rem; font-weight:600; color:var(--ink); margin-bottom:.15rem; line-height:1.2; letter-spacing:-.012em; }
html[data-refonte] .page-carte .leaflet-popup-content .pop-cp { font-size:.78rem; color:var(--ink-3); margin-bottom:.7rem; }
html[data-refonte] .page-carte .leaflet-popup-content .pop-dispo { display:inline-flex; align-items:center; gap:.35rem; padding:.22rem .6rem; margin-bottom:.7rem; font-size:.78rem; font-weight:600; border-radius:999px; }
html[data-refonte] .page-carte .leaflet-popup-content .pop-dispo::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
html[data-refonte] .page-carte .leaflet-popup-content .pop-dispo.ok { background:var(--primary-soft); color:var(--primary-hover); }
html[data-refonte] .page-carte .leaflet-popup-content .pop-dispo.low { background:var(--accent-soft); color:#7A4D0A; }
html[data-refonte] .page-carte .leaflet-popup-content .pop-dispo.full { background:var(--danger-soft); color:var(--danger); }
html[data-refonte] .page-carte .leaflet-popup-content .pop-dispo.unknown { background:var(--surface-2); color:var(--ink-3); }
html[data-refonte] .page-carte .leaflet-popup-content a.pop-cta { display:flex; align-items:center; justify-content:center; padding:.75rem 1rem; min-height:46px; background:var(--ink); color:var(--bg); text-align:center; text-decoration:none; border-radius:10px; font-size:.9rem; font-weight:600; transition:background .15s; }
@media (max-width:560px) {
  html[data-refonte] .page-carte .leaflet-popup-content { min-width:230px; }
  html[data-refonte] .page-carte .poi-card { max-width:none; }
}
html[data-refonte] .page-carte .leaflet-popup-content a.pop-cta:hover { background:#1F2A22; color:var(--bg); }
html[data-refonte] .page-carte .leaflet-control-zoom { border:1px solid var(--border) !important; border-radius:10px !important; overflow:hidden; box-shadow:var(--shadow) !important; }
html[data-refonte] .page-carte .leaflet-control-zoom a { background:var(--surface) !important; color:var(--ink) !important; border-color:var(--border) !important; font-size:1.2rem !important; font-weight:300 !important; }
html[data-refonte] .page-carte .leaflet-control-zoom a:hover { background:var(--surface-2) !important; }
html[data-refonte] .page-carte .leaflet-control-attribution { background:rgba(250,250,247,.92) !important; color:var(--ink-3) !important; font-family:inherit; font-size:.7rem !important; padding:.15rem .5rem !important; }
html[data-refonte] .page-carte .leaflet-control-attribution a { color:var(--ink-2) !important; }
html[data-refonte] .page-carte .leaflet-top.leaflet-right { top:calc(64px + env(safe-area-inset-top)); right:max(0px,env(safe-area-inset-right)); }
@media (max-width:760px) {
  html[data-refonte] .page-carte .leaflet-bottom.leaflet-right { bottom:170px; left:0; right:auto; z-index:450; }
  html[data-refonte] .page-carte .leaflet-top.leaflet-left { z-index:450; }
  html[data-refonte] .page-carte .leaflet-control-attribution { font-size:.6rem !important; line-height:1.25; max-width:calc(100vw - 96px); border-radius:0 8px 0 0; }
}
@media (max-width:560px) {
  html[data-refonte] .page-carte .leaflet-top.leaflet-right { top:calc(58px + env(safe-area-inset-top)); right:max(0px,env(safe-area-inset-right)); }
  html[data-refonte] .page-carte .leaflet-control-zoom a { width:44px !important; height:44px !important; line-height:44px !important; }
}
html[data-refonte] .page-carte .leaflet-marker-icon.tk-repere { border-radius:50%; }
html[data-refonte] .page-carte .tk-repere-dessin { position:absolute; display:block; pointer-events:none; }
html[data-refonte] .page-carte .tk-repere-dessin svg { display:block; width:100%; height:100%; overflow:visible; }
html[data-refonte] .page-carte .tk-repere-dessin[data-selectionne="1"] svg > circle:first-child,
html[data-refonte] .page-carte .tk-repere-dessin[data-selectionne="1"] svg > circle:first-child + circle { animation:tk-halo .2s ease-out; }
@keyframes tk-halo { from { opacity:0; } to { opacity:1; } }
html[data-refonte] .page-carte .leaflet-marker-icon.tk-repere:focus { outline:none; }
html[data-refonte] .page-carte .leaflet-marker-icon.tk-repere:focus-visible { outline:3px solid #174B38; outline-offset:0; border-radius:50%; box-shadow:0 0 0 2px #fff; }
html[data-refonte] .page-carte .leaflet-top.leaflet-left { top:calc(64px + env(safe-area-inset-top)); left:max(0px,env(safe-area-inset-left)); }
html[data-refonte] .page-carte .leaflet-left .tk-legende.leaflet-control { margin:12px 0 0 12px; }
html[data-refonte] .page-carte .tk-legende { background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); color:var(--ink); font-size:.8125rem; line-height:1.3; max-width:calc(100vw - 96px); }
html[data-refonte] .page-carte .tk-legende-bascule { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:44px; padding:0 12px; border:0; border-radius:12px; background:transparent; color:#174B38; font:600 .8125rem/1 inherit; }
html[data-refonte] .page-carte .tk-legende.sous-bulle { visibility:hidden; }
html[data-refonte] .page-carte .tk-legende-bascule:hover { background:rgba(23,75,56,.06); }
html[data-refonte] .page-carte .tk-legende-bascule:focus-visible { outline:2px solid #174B38; outline-offset:-2px; border-radius:12px; }
html[data-refonte] .page-carte .tk-legende-chevron { width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(2px) rotate(225deg); transition:transform .2s ease; }
html[data-refonte] .page-carte .tk-legende.repliee .tk-legende-chevron { transform:translateY(-2px) rotate(45deg); }
html[data-refonte] .page-carte .tk-legende-liste { list-style:none; margin:0; padding:0 12px 8px 8px; display:grid; gap:0; }
html[data-refonte] .page-carte .tk-legende-liste li { display:flex; align-items:center; gap:4px; min-height:32px; }
html[data-refonte] .page-carte .tk-legende-liste[hidden],
html[data-refonte] .page-carte .tk-legende-liste li[hidden] { display:none; }
html[data-refonte] .page-carte .tk-legende-icone { flex:none; width:32px; height:32px; display:grid; place-items:center; }
html[data-refonte] .page-carte .tk-legende-icone svg { width:32px; height:32px; display:block; }
html[data-refonte] .page-carte .tk-legende-tk .tk-legende-icone svg { width:20px; height:20px; }
@media (max-width:560px) {
  html[data-refonte] .page-carte .leaflet-top.leaflet-left { top:calc(58px + env(safe-area-inset-top)); }
  html[data-refonte] .page-carte .leaflet-left .tk-legende.leaflet-control { margin:8px 0 0 8px; }
  html[data-refonte] .page-carte .tk-legende { font-size:.75rem; }
  html[data-refonte] .page-carte .tk-legende-liste li { min-height:28px; }
  html[data-refonte] .page-carte .tk-legende-icone,
  html[data-refonte] .page-carte .tk-legende-icone svg { width:28px; height:28px; }
  html[data-refonte] .page-carte .tk-legende-tk .tk-legende-icone svg { width:18px; height:18px; }
}
html[data-refonte] .page-carte .fab { position:absolute; bottom:calc(var(--sheet-visible-px, 128px) + 14px); right:max(1rem,env(safe-area-inset-right)); z-index:550; width:48px; height:48px; border-radius:50%; background:var(--surface); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); transition:transform .12s, bottom .3s cubic-bezier(.4,0,.2,1); }
html[data-refonte] .page-carte .fab:hover { transform:translateY(-2px); }
html[data-refonte] .page-carte .fab svg { width:20px; height:20px; color:var(--ink); }
html[data-refonte] .page-carte .sheet { position:absolute; bottom:0; left:0; right:0; z-index:500; background:var(--surface); border-top:1px solid var(--border); border-radius:20px 20px 0 0; box-shadow:0 -8px 24px rgba(10,15,10,.06); height:88vh; overflow:hidden; padding-bottom:env(safe-area-inset-bottom); transition:transform .3s cubic-bezier(.4,0,.2,1); transform:translateY(var(--sheet-y, calc(100% - 128px - env(safe-area-inset-bottom)))); display:flex; flex-direction:column; touch-action:none; }
html[data-refonte] .page-carte .sheet.dragging { transition:none; }
html[data-refonte] .page-carte .sheet .results { touch-action:pan-y; }
html[data-refonte] .page-carte .sheet-handle { padding:.85rem 1rem .6rem; cursor:grab; user-select:none; flex:none; text-align:center; min-height:30px; touch-action:none; }
html[data-refonte] .page-carte .sheet-handle:active { cursor:grabbing; }
html[data-refonte] .page-carte .sheet-handle::before { content:''; display:inline-block; width:40px; height:5px; background:var(--border-strong); border-radius:999px; }
html[data-refonte] .page-carte .sheet-header { flex:none; padding:.3rem 1.4rem 1rem; display:flex; align-items:baseline; justify-content:space-between; gap:1rem; touch-action:none; }
html[data-refonte] .page-carte .sheet-header h2 { margin:0; font-size:1.1rem; font-weight:600; letter-spacing:-.018em; color:var(--ink); }
html[data-refonte] .page-carte .sheet-header .count { font-size:.82rem; color:var(--ink-3); font-feature-settings:'tnum' 1; flex:none; min-width:11ch; text-align:right; }
html[data-refonte] .page-carte .filters { padding:0 1.4rem .8rem; display:flex; gap:.5rem; flex-wrap:wrap; flex:none; align-items:center; }
html[data-refonte] .page-carte .filter-row { display:contents; }
html[data-refonte] .page-carte .filter-chip { flex:none; padding:.5rem .9rem; min-height:40px; display:inline-flex; align-items:center; border:1px solid var(--border); background:var(--surface); font-size:.83rem; font-weight:500; color:var(--ink-2); border-radius:999px; white-space:nowrap; transition:background .15s, border-color .15s, color .15s; }
html[data-refonte] .page-carte .filter-chip[hidden] { display:none; }
html[data-refonte] .page-carte .filter-chip:hover { background:var(--surface-2); }
html[data-refonte] .page-carte .filter-chip.active { background:var(--primary); color:#fff; border-color:var(--primary); }
html[data-refonte] .page-carte .pref-chip { border-color:var(--accent); color:var(--ink); font-weight:600; }
html[data-refonte] .page-carte .pref-chip.active { background:var(--accent); border-color:var(--accent); color:#0A0F0A; }
html[data-refonte] .page-carte .filter-reset { flex:none; border:0; background:transparent; color:var(--ink-3); font-size:.8rem; font-weight:600; text-decoration:underline; padding:.5rem .3rem; min-height:40px; }
html[data-refonte] .page-carte .filter-more { flex-basis:100%; }
html[data-refonte] .page-carte .filter-more > summary { cursor:pointer; list-style:none; display:inline-flex; align-items:center; gap:.3rem; font-size:.83rem; font-weight:600; color:var(--ink-2); padding:.4rem .2rem; min-height:40px; }
html[data-refonte] .page-carte .filter-more > summary::-webkit-details-marker { display:none; }
html[data-refonte] .page-carte .filter-more > summary::after { content:'▾'; font-size:.7rem; }
html[data-refonte] .page-carte .filter-more[open] > summary::after { content:'▴'; }
html[data-refonte] .page-carte .filter-more-list { display:flex; gap:.5rem; flex-wrap:wrap; padding-top:.5rem; }
@media (min-width:900px) {
  html[data-refonte] .page-carte .fab { bottom:24px; }
  html[data-refonte] .page-carte .sheet { top:68px; bottom:0; left:0; right:auto; width:400px; height:auto; max-height:none; border-radius:0; border-top:0; border-right:1px solid var(--border); box-shadow:4px 0 20px rgba(10,15,10,.05); transform:none !important; }
  html[data-refonte] .page-carte .sheet-handle { display:none; }
  html[data-refonte] .page-carte #map { left:400px; }
  html[data-refonte] .page-carte .conditions { left:calc(400px + 1.2rem); }
  html[data-refonte] .page-carte #trip-fab { left:auto !important; right:max(1rem,env(safe-area-inset-right)) !important; bottom:24px !important; }
}
html[data-refonte] .page-carte .results { flex:1; overflow-y:auto; padding:.3rem 1rem 5rem; }
html[data-refonte] .page-carte .results .empty { text-align:center; padding:2.5rem 1rem; color:var(--ink-3); font-size:.92rem; }
html[data-refonte] .page-carte .results .empty strong { color:var(--ink); display:block; margin-bottom:.4rem; font-size:1.02rem; }
html[data-refonte] .page-carte .camp-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; gap:.75rem; align-items:center; padding:.85rem .8rem; cursor:pointer; border-radius:10px; transition:background .15s; }
html[data-refonte] .page-carte .camp-row + .camp-row { border-top:1px solid var(--border); border-radius:0; }
html[data-refonte] .page-carte .camp-row:hover { background:var(--surface-2); }
html[data-refonte] .page-carte .camp-row .dot { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:.95rem; flex:none; }
html[data-refonte] .page-carte .camp-row .name { font-weight:600; font-size:.98rem; color:var(--ink); letter-spacing:-.012em; line-height:1.2; }
html[data-refonte] .page-carte .camp-row .meta { font-size:.78rem; color:var(--ink-3); margin-top:.2rem; }
html[data-refonte] .page-carte .camp-row .chev { color:var(--muted); }
html[data-refonte] .page-carte .camp-row .dot.repere { width:48px; height:48px; border-radius:0; background:none; }
html[data-refonte] .page-carte .camp-row .dot.repere svg { width:48px; height:48px; display:block; }
html[data-refonte] .page-carte .camp-row .statut { font-size:.8125rem; font-weight:500; color:#174B38; margin-top:.15rem; line-height:1.3; }
html[data-refonte] .page-carte .camp-row .statut span { white-space:nowrap; }
html[data-refonte] .page-carte .camp-row.active { background:rgba(23,75,56,.08); }
html[data-refonte] .page-carte .camp-row:focus-visible { outline:2px solid #174B38; outline-offset:-2px; border-radius:10px; }
html[data-refonte] .page-carte .pop-type { font-size:.78rem; font-weight:600; color:#174B38; margin:.1rem 0 .2rem; }
html[data-refonte] .page-carte .filter-chip.filtre-statut { margin-left:.5rem; }
html[data-refonte] .page-carte .row-fav { flex:none; background:transparent; border:0; font-size:1.3rem; line-height:1; color:var(--accent); cursor:pointer; min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; }
html[data-refonte] .page-carte .poi-card { min-width:218px; max-width:268px; font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; }
html[data-refonte] .page-carte .poi-card .badges { display:flex; flex-wrap:wrap; gap:.3rem; margin-bottom:.4rem; }
html[data-refonte] .page-carte .poi-badge { font-family:'Oswald','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.07em; font-size:.62rem; font-weight:700; padding:.16rem .5rem; border-radius:999px; line-height:1.3; }
html[data-refonte] .page-carte .poi-badge.camp { background:#E2EFE4; color:#0A5F2D; }
html[data-refonte] .page-carte .poi-badge.aire { background:#F6E3D2; color:#974819; }
html[data-refonte] .page-carte .poi-badge.muni { background:#E2EFE4; color:#0F7C3C; border:1px solid #BFE0C5; }
html[data-refonte] .page-carte .poi-badge.free { background:#0F7C3C; color:#fff; }
html[data-refonte] .page-carte .poi-badge.classe { background:#F6E7C2; color:#7A5A12; border:1px solid #E3CB8E; }
html[data-refonte] .page-carte .poi-card .poi-title { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; font-weight:560; font-size:1.12rem; line-height:1.12; letter-spacing:-.012em; color:#231C14; margin:0 0 .15rem; }
html[data-refonte] .page-carte .poi-card .poi-loc { font-size:.76rem; color:#6B5E45; margin-bottom:.5rem; }
html[data-refonte] .page-carte .poi-card .poi-desc { font-size:.82rem; color:#3A453F; line-height:1.4; margin:.1rem 0 .55rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
html[data-refonte] .page-carte .poi-chips { display:flex; flex-wrap:wrap; gap:.32rem; margin-bottom:.55rem; }
html[data-refonte] .page-carte .poi-chip { display:inline-flex; align-items:center; gap:.28rem; font-size:.74rem; color:#544835; background:#F4EDDE; border:1px solid #DDCFB4; border-radius:8px; padding:.2rem .45rem; line-height:1.3; }
html[data-refonte] .page-carte .poi-card .poi-contacts { display:flex; flex-direction:column; gap:.18rem; margin-bottom:.55rem; }
html[data-refonte] .page-carte .poi-card .poi-contacts a { font-size:.78rem; color:#974819; font-weight:600; }
html[data-refonte] .page-carte .poi-card .poi-contacts a:hover { color:#B65A28; }
html[data-refonte] .page-carte .poi-actions { display:flex; flex-direction:column; gap:.4rem; }
html[data-refonte] .page-carte .poi-btn { display:flex; align-items:center; justify-content:center; gap:.4rem; text-decoration:none; font-family:'Oswald','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:.85rem; font-weight:500; padding:.7rem .9rem; min-height:44px; border-radius:10px; border:0; width:100%; transition:transform .12s, background .15s; cursor:pointer; }
html[data-refonte] .page-carte .poi-btn.primary { background:#B65A28; color:#fff; box-shadow:0 3px 10px rgba(151,72,25,.22); }
html[data-refonte] .page-carte .poi-btn.primary:hover { background:#974819; transform:translateY(-1px); color:#fff; }
html[data-refonte] .page-carte .poi-btn.ghost { background:#FFFDF8; color:#974819; border:1.5px solid #DDCFB4; }
html[data-refonte] .page-carte .poi-btn.ghost:hover { background:#F4EDDE; transform:translateY(-1px); }
html[data-refonte] .page-carte .poi-card .poi-src { font-size:.66rem; color:#8A7B5E; margin-top:.45rem; text-align:right; }
html[data-refonte] .page-carte .fiche-overlay { position:fixed; inset:0; z-index:1200; background:rgba(35,20,10,.42); backdrop-filter:blur(2px); display:none; opacity:0; transition:opacity .22s; }
html[data-refonte] .page-carte .fiche-overlay.open { display:block; opacity:1; }
html[data-refonte] .page-carte .fiche { position:absolute; top:0; right:0; bottom:0; width:min(460px,100%); background:#FFFDF8; box-shadow:-12px 0 40px rgba(35,20,10,.18); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .28s cubic-bezier(.4,0,.2,1); font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; }
html[data-refonte] .page-carte .fiche-overlay.open .fiche { transform:translateX(0); }
@media (max-width:560px) {
  html[data-refonte] .page-carte .fiche { width:100%; }
}
html[data-refonte] .page-carte .fiche-head { position:relative; flex:none; padding:1.4rem 1.4rem 1.5rem; padding-top:calc(1.4rem + env(safe-area-inset-top)); color:#fff; background:linear-gradient(135deg,#0F7C3C 0%,#15663a 50%,#B65A28 135%); }
html[data-refonte] .page-carte .fiche-head::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:16px; background:radial-gradient(13px 16px at 11px 0,#FFFDF8 0 12px,transparent 13px) repeat-x; background-size:22px 16px; }
html[data-refonte] .page-carte .fiche-head .badges { margin-bottom:.5rem; }
html[data-refonte] .page-carte .fiche-head .poi-badge { background:rgba(255,253,248,.22); color:#fff; }
html[data-refonte] .page-carte .fiche-head .poi-badge.free { background:#fff; color:#0A5F2D; }
html[data-refonte] .page-carte .fiche-head h2 { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; font-weight:560; font-size:1.55rem; line-height:1.08; letter-spacing:-.015em; margin:0; }
html[data-refonte] .page-carte .fiche-head .loc { font-size:.82rem; opacity:.92; margin-top:.3rem; }
html[data-refonte] .page-carte .fiche-close { position:absolute; top:calc(.85rem + env(safe-area-inset-top)); right:.85rem; width:44px; height:44px; border-radius:50%; background:rgba(255,253,248,.18); border:0; color:#fff; font-size:1.5rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s; }
html[data-refonte] .page-carte .fiche-close:hover { background:rgba(255,253,248,.32); }
html[data-refonte] .page-carte .fiche-body { flex:1; overflow-y:auto; padding:1.3rem 1.4rem; padding-bottom:calc(1.3rem + env(safe-area-inset-bottom)); }
html[data-refonte] .page-carte .fiche-body h3 { font-family:'Oswald','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; font-weight:700; color:#544835; margin:1.3rem 0 .6rem; }
html[data-refonte] .page-carte .fiche-body h3:first-child { margin-top:0; }
html[data-refonte] .page-carte .fiche-body .desc { font-size:.92rem; line-height:1.55; color:#3A453F; }
html[data-refonte] .page-carte .fiche-services { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; }
html[data-refonte] .page-carte .fiche-services .svc { display:flex; align-items:center; gap:.45rem; font-size:.85rem; color:#231C14; background:#F4EDDE; border:1px solid #DDCFB4; border-radius:10px; padding:.5rem .65rem; }
html[data-refonte] .page-carte .fiche-meta { display:flex; flex-direction:column; gap:.4rem; font-size:.86rem; color:#3A453F; }
html[data-refonte] .page-carte .fiche-meta .row { display:flex; gap:.5rem; }
html[data-refonte] .page-carte .fiche-meta .row .k { color:#6B5E45; min-width:92px; font-weight:600; }
html[data-refonte] .page-carte .fiche-meta a { color:#974819; font-weight:600; }
html[data-refonte] .page-carte .fiche-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.5rem; position:sticky; bottom:0; z-index:1; padding:.8rem 0 calc(.4rem + env(safe-area-inset-bottom)); background:linear-gradient(to top, #FFFDF8 62%, rgba(255,253,248,0)); }
html[data-refonte] .page-carte .fiche-actions .poi-btn { width:auto; flex:1; min-width:140px; min-height:48px; }
html[data-refonte] .page-carte .tk-ac { position:absolute;top:100%;z-index:1200;left:0;right:0;margin:4px 0 0;padding:4px;list-style:none;background:var(--surface,#fff);border:1px solid var(--border,#E8EBE6);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:320px;overflow:auto }
html[data-refonte] .page-carte .tk-ac-opt { display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:1rem;color:var(--ink,#0A0F0A) }
html[data-refonte] .page-carte .tk-ac-opt.active,
html[data-refonte] .page-carte .tk-ac-opt:hover { background:var(--primary-soft,#E6F4EB) }
html[data-refonte] .page-carte .tk-ac-ic { width:18px;text-align:center;flex:none }
html[data-refonte] .page-carte .tk-ac-empty { padding:10px;color:var(--ink-2,#3A453F);font-size:1rem }

/* ── carte.html — <style> n° 3 ── */
@media (max-width:760px) {
  html[data-refonte] .page-carte #toast-wrap { bottom:auto !important; top:70px !important; transform:translateX(-50%) !important; }
}
@media (max-width:760px) {
  html[data-refonte] .page-carte .sheet { margin-top:0; border-top-color:transparent; }
  html[data-refonte] .page-carte .sheet::before { content:''; display:block; position:absolute; top:-4px; left:0; right:0; height:8px; background:var(--surface); border-radius:20px 20px 0 0; }
}
@media (max-width:680px) {
  html[data-refonte] .page-carte #trip-fab { width:52px; height:52px; padding:0 !important; gap:0 !important; border-radius:50% !important; justify-content:center; position:fixed; font-size:0 !important; }
  html[data-refonte] .page-carte #trip-fab::before { content:'🧭'; font-size:23px; line-height:1; }
  html[data-refonte] .page-carte #trip-fab .c { position:absolute; top:-3px; right:-3px; min-width:20px; height:20px; padding:0 5px !important; border-radius:999px; font-size:.72rem; line-height:20px; box-shadow:0 0 0 2px #0F7C3C; }
  html[data-refonte] .page-carte #trip-fab.empty { width:46px; height:46px; opacity:.92; }
  html[data-refonte] .page-carte #trip-fab.empty::before { font-size:20px; }
  html[data-refonte] .page-carte #trip-fab.empty .c { display:none; }
  html[data-refonte] .page-carte .sheet { transform:translateY(var(--sheet-y, calc(100% - 92px - env(safe-area-inset-bottom)))); }
  html[data-refonte] .page-carte .sheet-handle { padding:.55rem 1rem .45rem; min-height:0; line-height:5px; font-size:0; position:relative; }
  html[data-refonte] .page-carte .sheet-handle::after { content:''; position:absolute; left:0; right:0; top:0; height:44px; }
  html[data-refonte] .page-carte .sheet-header { padding:.15rem 1.1rem .45rem; }
  html[data-refonte] .page-carte .sheet-header h2 { font-size:1rem; }
  html[data-refonte] .page-carte .sheet-header .count { font-size:.76rem; }
  html[data-refonte] .page-carte .filters { padding:0 1.1rem .5rem; gap:.35rem .4rem; }
  html[data-refonte] .page-carte .filter-row { display:flex; gap:.4rem; flex-basis:100%; min-width:0; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding-bottom:2px; }
  html[data-refonte] .page-carte .filter-row::-webkit-scrollbar { display:none; }
  html[data-refonte] .page-carte .filter-chip { min-height:38px; padding:.4rem .8rem; font-size:.8rem; }
  html[data-refonte] .page-carte .filter-reset,
  html[data-refonte] .page-carte .filter-more { flex-basis:100%; }
  html[data-refonte] .page-carte .filter-reset { font-size:.76rem; font-weight:500; text-align:left; padding:.35rem .2rem; min-height:34px; }
  html[data-refonte] .page-carte .filter-more > summary { font-size:.8rem; min-height:34px; padding:.3rem .2rem; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-refonte] .page-carte *:not(.site-header *, .site-footer *, .site-menu *, .skip-link),
  html[data-refonte] .page-carte *:not(.site-header *, .site-footer *, .site-menu *, .skip-link)::before,
  html[data-refonte] .page-carte *:not(.site-header *, .site-footer *, .site-menu *, .skip-link)::after { transition:none !important; animation:none !important; }
}

/* ── css/tk-pied-legal.css ── */
html[data-refonte] .page-carte .tk-pied-legal { text-align:center; padding:1.1rem 1rem 1.4rem; margin:0; font-size:.8rem; line-height:1.5; color:#6B7670; font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; }
html[data-refonte] .page-carte .tk-pied-legal a { display:inline-block; padding:.3rem .1rem; color:#3A453F; text-decoration:underline; text-underline-offset:.2em; }
html[data-refonte] .page-carte .tk-pied-legal a:hover { color:#0F7C3C; }
html[data-refonte] .page-carte .tk-pied-legal--panneau { flex:none; padding:.55rem .8rem .7rem; border-top:1px solid #E8EBE6; font-size:.76rem; }

/* ── js/ui-toast.js — feuille posée par le script (n° 1) ── */
html[data-refonte] .page-carte #toast-wrap { position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none }
html[data-refonte] .page-carte .toast { max-width:90vw;padding:.7rem 1.1rem;border-radius:10px;font:500 .9rem/1.4 -apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;color:#fff;box-shadow:0 8px 28px rgba(10,15,10,.22);opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s;pointer-events:auto }
html[data-refonte] .page-carte .toast.in { opacity:1;transform:none }
html[data-refonte] .page-carte .toast.err { background:#E84747 }
html[data-refonte] .page-carte .toast.ok { background:#0F7C3C }
html[data-refonte] .page-carte .toast.info { background:#0A0F0A }

/* ── js/carte.js — feuille posée par le script (n° 1) ── */
html[data-refonte] .page-carte .geohelp-ov { position:fixed;inset:0;z-index:3200;background:rgba(10,15,10,.42);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .18s ease }
html[data-refonte] .page-carte .geohelp-ov.open { opacity:1 }
@media(min-width:560px) {
  html[data-refonte] .page-carte .geohelp-ov { align-items:center }
}
html[data-refonte] .page-carte .geohelp { background:var(--surface,#fff);width:100%;max-width:420px;border-radius:16px 16px 0 0;padding:1.1rem 1.1rem calc(1.1rem + env(safe-area-inset-bottom));box-shadow:0 -8px 40px rgba(10,15,10,.2);font-family:Inter,-apple-system,sans-serif;transform:translateY(12px);transition:transform .2s ease }
html[data-refonte] .page-carte .geohelp-ov.open .geohelp { transform:none }
@media(min-width:560px) {
  html[data-refonte] .page-carte .geohelp { border-radius:16px }
}
html[data-refonte] .page-carte .geohelp h3 { margin:0 0 .2rem;font-size:1.02rem;color:var(--ink,#0A0F0A) }
html[data-refonte] .page-carte .geohelp p { margin:0 0 .8rem;font-size:.85rem;color:var(--ink-3,#6B7670);line-height:1.5 }
html[data-refonte] .page-carte .geohelp ol { margin:0 0 1rem;padding-left:1.1rem;color:var(--ink-2,#3A453F);font-size:.88rem;line-height:1.6 }
html[data-refonte] .page-carte .geohelp .row { display:flex;gap:.6rem;justify-content:flex-end }
html[data-refonte] .page-carte .geohelp button { min-height:44px;border-radius:10px;padding:.6rem 1rem;font:600 .9rem/1 inherit;cursor:pointer;border:1px solid var(--border,#E8EBE6);background:var(--surface,#fff);color:var(--ink,#0A0F0A) }
html[data-refonte] .page-carte .geohelp button.primary { background:var(--primary,#0F7C3C);border-color:var(--primary,#0F7C3C);color:#fff }
html[data-refonte] .page-carte .geohelp button:focus-visible { outline:2px solid var(--primary,#0F7C3C);outline-offset:2px }
@media (prefers-reduced-motion:reduce) {
  html[data-refonte] .page-carte .geohelp-ov,
  html[data-refonte] .page-carte .geohelp { transition:none }
}

/* ── js/nav-chooser.js — feuille posée par le script (n° 1) ── */
html[data-refonte] .page-carte .navch-ov { position:fixed;inset:0;z-index:3000;background:rgba(35,20,10,.46);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .18s ease }
html[data-refonte] .page-carte .navch-ov.show { opacity:1 }
@media(min-width:560px) {
  html[data-refonte] .page-carte .navch-ov { align-items:center }
}
html[data-refonte] .page-carte .navch { background:#FAFAF7;width:100%;max-width:420px;border-radius:18px 18px 0 0;padding:1.1rem 1.1rem calc(1.1rem + env(safe-area-inset-bottom));box-shadow:0 -8px 40px rgba(35,20,10,.22);transform:translateY(14px);transition:transform .2s ease;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif }
@media(min-width:560px) {
  html[data-refonte] .page-carte .navch { border-radius:18px;transform:scale(.97) }
}
html[data-refonte] .page-carte .navch-ov.show .navch { transform:none }
html[data-refonte] .page-carte .navch h3 { margin:0 0 .15rem;font-size:1.05rem;color:#231C14;font-weight:700 }
html[data-refonte] .page-carte .navch .navch-sub { margin:0 0 .8rem;font-size:.82rem;color:#7a6a58 }
html[data-refonte] .page-carte .navch-list { display:flex;flex-direction:column;gap:.4rem }
html[data-refonte] .page-carte .navch-item { display:flex;align-items:center;gap:.7rem;width:100%;border:1px solid #e7dcc8;background:#fff;border-radius:12px;padding:.7rem .9rem;font-size:.95rem;color:#231C14;cursor:pointer;text-align:left;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s }
html[data-refonte] .page-carte .navch-item:hover,
html[data-refonte] .page-carte .navch-item:focus-visible { background:#F4EDDE;border-color:#B65A28;outline:none }
html[data-refonte] .page-carte .navch-item .ic { font-size:1.25rem;line-height:1 }
html[data-refonte] .page-carte .navch-close { margin-top:.7rem;width:100%;border:0;background:transparent;color:#7a6a58;font-size:.9rem;padding:.6rem;cursor:pointer;font-weight:600 }
html[data-refonte] .page-carte .navch-close:hover { color:#231C14 }
html[data-refonte] .page-carte .navch-more { margin-top:.2rem }
html[data-refonte] .page-carte .navch-more>summary { cursor:pointer;list-style:none;padding:.7rem .2rem;font-size:.9rem;font-weight:600;color:#7a6a58;min-height:44px;display:flex;align-items:center }
html[data-refonte] .page-carte .navch-more>summary::-webkit-details-marker { display:none }
html[data-refonte] .page-carte .navch-more>summary::before { content:"▸";margin-right:.5rem }
html[data-refonte] .page-carte .navch-more[open]>summary::before { content:"▾" }
html[data-refonte] .page-carte .navch-list--nested { margin-top:.3rem }

/* ── js/itineraire.js — feuille posée par le script (n° 1) ── */
html[data-refonte] .page-carte #trip-fab { position:fixed;left:max(12px,env(safe-area-inset-left));bottom:calc(18px + var(--sheet-visible-px, 0px) + env(safe-area-inset-bottom));transition:bottom .3s cubic-bezier(.4,0,.2,1);z-index:1100;background:#0F7C3C;color:#fff;border:0;border-radius:30px;padding:.7rem 1rem;font:600 .92rem/1 'Inter',-apple-system,sans-serif;box-shadow:0 6px 22px rgba(35,20,10,.28);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;min-height:44px }
html[data-refonte] .page-carte #trip-fab.empty { background:#fff;color:#3A453F;border:1px solid #E8EBE6;box-shadow:0 2px 10px rgba(10,15,10,.1) }
html[data-refonte] .page-carte #trip-fab .c { background:#fff;color:#0F7C3C;border-radius:20px;padding:.05rem .45rem;font-weight:700 }
html[data-refonte] .page-carte #trip-fab.empty .c { background:#F4F3EE;color:#3A453F }
html[data-refonte] .page-carte .tv-ov { position:fixed;inset:0;z-index:3000;display:flex;align-items:flex-end;justify-content:center;background:rgba(10,15,10,0);opacity:0;transition:opacity .2s ease;--tv-bg:#FAFAF7;--tv-surface:#FFFFFF;--tv-ink:#0A0F0A;--tv-ink2:#3A453F;--tv-ink3:#6B7670;--tv-border:#E8EBE6;--tv-primary:#0F7C3C;--tv-primary-h:#0A5F2D;--tv-soft:#E6F4EB;--tv-soft-b:#D3EBDC;--tv-accent:#F3A724;--tv-danger:#B3261E;--tv-r:14px;--tv-r-sm:10px;--tv-r-lg:20px }
html[data-refonte] .page-carte .tv-ov.show { opacity:1 }
html[data-refonte] .page-carte .tv-ov [hidden] { display:none!important }
html[data-refonte] .page-carte .tv-ov,
html[data-refonte] .page-carte .tv-ov * { box-sizing:border-box;font-family:"Inter",-apple-system,system-ui,sans-serif }
html[data-refonte] .page-carte .tv-shell :focus-visible { outline:2px solid var(--tv-accent);outline-offset:2px;border-radius:6px }
@media (prefers-reduced-motion:reduce) {
  html[data-refonte] .page-carte .tv-ov,
  html[data-refonte] .page-carte .tv-shell { transition:none }
}
html[data-refonte] .page-carte .tv-shell { position:relative;display:flex;flex-direction:column;width:100%;height:92%;max-height:100%;background:var(--tv-surface);color:var(--tv-ink);border-radius:var(--tv-r-lg) var(--tv-r-lg) 0 0;box-shadow:0 -10px 30px rgba(10,15,10,.18);overflow:hidden;transform:translateY(16px);transition:transform .22s ease }
html[data-refonte] .page-carte .tv-ov.show .tv-shell { transform:none }
html[data-refonte] .page-carte .tv-map { display:none }
html[data-refonte] .page-carte .tv-panel { display:flex;flex-direction:column;min-width:0;min-height:0;flex:1 }
html[data-refonte] .page-carte .tv-grab { display:flex;justify-content:center;padding:.55rem 0 .3rem;flex:none }
html[data-refonte] .page-carte .tv-grab span { width:38px;height:4px;border-radius:2px;background:var(--tv-border) }
html[data-refonte] .page-carte .tv-head { flex:none;padding:.2rem 1.1rem .9rem;border-bottom:1px solid var(--tv-border) }
html[data-refonte] .page-carte .tv-top { display:flex;align-items:center;justify-content:space-between;gap:.6rem }
html[data-refonte] .page-carte .tv-top h2 { margin:0;font-size:1.05rem;font-weight:800;color:var(--tv-ink) }
html[data-refonte] .page-carte .tv-close { flex:none;width:44px;height:44px;border-radius:50%;background:var(--tv-bg);border:0;display:flex;align-items:center;justify-content:center;color:var(--tv-ink2);cursor:pointer;transition:background .15s ease }
html[data-refonte] .page-carte .tv-close:hover { background:var(--tv-border) }
html[data-refonte] .page-carte .tv-stats { display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin-top:.6rem;font-size:.8rem;color:var(--tv-ink2) }
html[data-refonte] .page-carte .tv-stats b { color:var(--tv-ink);font-weight:700 }
html[data-refonte] .page-carte .tv-sync { margin:.5rem 0 0;font-size:.75rem;color:var(--tv-ink3);line-height:1.45 }
html[data-refonte] .page-carte .tv-sync a { display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;margin:.15rem 0 -.25rem -.5rem;padding:.25rem .5rem;border-radius:8px;color:var(--tv-primary);font-weight:700;text-decoration:underline;transition:background .15s ease }
html[data-refonte] .page-carte .tv-sync a:hover { background:var(--tv-soft) }
html[data-refonte] .page-carte .tv-sync a:focus-visible { outline:2px solid var(--tv-primary);outline-offset:2px }
html[data-refonte] .page-carte .tv-body { flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem 1.1rem 1.2rem }
html[data-refonte] .page-carte .depart-card { background:var(--tv-soft);border:1px solid var(--tv-soft-b);border-radius:var(--tv-r);padding:.9rem 1rem;margin:0 0 1.1rem }
html[data-refonte] .page-carte .depart-card .lbl { margin:0 0 .5rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tv-primary-h);font-weight:700 }
html[data-refonte] .page-carte .depart-opts { display:flex;flex-direction:column;gap:.5rem }
html[data-refonte] .page-carte .depart-opt { display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;background:var(--tv-surface);border:1.5px solid var(--tv-border);border-radius:var(--tv-r-sm);padding:.65rem .8rem;font-size:.85rem;font-weight:600;color:var(--tv-ink2);min-height:48px;cursor:pointer;transition:border-color .15s ease,color .15s ease }
html[data-refonte] .page-carte .depart-opt:hover { border-color:var(--tv-primary) }
html[data-refonte] .page-carte .depart-opt[aria-checked="true"] { border-color:var(--tv-primary);color:var(--tv-primary-h) }
html[data-refonte] .page-carte .depart-opt .radio { flex:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--tv-border);position:relative }
html[data-refonte] .page-carte .depart-opt[aria-checked="true"] .radio { border-color:var(--tv-primary) }
html[data-refonte] .page-carte .depart-opt[aria-checked="true"] .radio::after { content:"";position:absolute;inset:3px;border-radius:50%;background:var(--tv-primary) }
html[data-refonte] .page-carte .depart-opt .ol { flex:1 1 auto;min-width:0;overflow-wrap:anywhere }
html[data-refonte] .page-carte .depart-addr { position:relative;margin:.55rem 0 0 }
html[data-refonte] .page-carte .depart-addr input { width:100%;min-height:48px;border:1.5px solid var(--tv-border);border-radius:var(--tv-r-sm);padding:.6rem .75rem;font-size:1rem;color:var(--tv-ink);background:var(--tv-surface) }
html[data-refonte] .page-carte .depart-addr input:focus { border-color:var(--tv-primary);outline:none }
html[data-refonte] .page-carte .depart-hint { margin:.4rem 0 0;font-size:.74rem;color:var(--tv-ink3);line-height:1.45 }
html[data-refonte] .page-carte .tv-trajet { display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 1rem }
html[data-refonte] .page-carte .tv-seg { display:inline-flex;border:1px solid var(--tv-border);border-radius:999px;overflow:hidden;background:var(--tv-surface) }
html[data-refonte] .page-carte .tv-seg button { border:0;background:transparent;padding:.5rem .95rem;font:700 .82rem/1 inherit;color:var(--tv-ink2);cursor:pointer;min-height:44px;transition:background .15s ease }
html[data-refonte] .page-carte .tv-seg button:hover { background:var(--tv-soft) }
html[data-refonte] .page-carte .tv-seg button[aria-pressed="true"] { background:var(--tv-primary);color:#fff }
html[data-refonte] .page-carte .tv-toll { display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--tv-border);background:var(--tv-surface);border-radius:999px;padding:.4rem .9rem;font-size:.82rem;font-weight:600;color:var(--tv-ink2);cursor:pointer;user-select:none;min-height:44px }
html[data-refonte] .page-carte .tv-toll input { width:auto;margin:0;accent-color:var(--tv-primary) }
html[data-refonte] .page-carte .steps { list-style:none;margin:0;padding:0 }
html[data-refonte] .page-carte .step { position:relative;padding:0 0 1.1rem 2rem }
html[data-refonte] .page-carte .step::before { content:"";position:absolute;left:9px;top:26px;bottom:-6px;width:2px;background:var(--tv-border) }
html[data-refonte] .page-carte .step:last-child::before { display:none }
html[data-refonte] .page-carte .step-num { position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--tv-primary);color:#fff;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center }
html[data-refonte] .page-carte .step.is-start .step-num { background:var(--tv-ink2) }
html[data-refonte] .page-carte .step-card { background:var(--tv-surface);border:1px solid var(--tv-border);border-radius:var(--tv-r);padding:.85rem .9rem;transition:box-shadow .15s ease,border-color .15s ease }
html[data-refonte] .page-carte .step-card:hover { border-color:#CFE4D6;box-shadow:0 4px 14px rgba(10,15,10,.08) }
html[data-refonte] .page-carte .step.dragging .step-card { opacity:.45 }
html[data-refonte] .page-carte .step.drag-over .step-card { border-color:var(--tv-primary);box-shadow:0 0 0 2px rgba(15,124,60,.25) }
html[data-refonte] .page-carte .step-card .top { display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;align-items:flex-start }
html[data-refonte] .page-carte .step-card .top>.tt { flex:1 1 11rem;min-width:0 }
html[data-refonte] .page-carte .step-card .top>.step-ctrls { display:flex;gap:.3rem;align-items:center;margin-left:auto;flex:none }
html[data-refonte] .page-carte .step-card h3 { margin:0;font-size:.92rem;font-weight:700;color:var(--tv-ink);overflow-wrap:anywhere }
html[data-refonte] .page-carte .step-card .commune { margin:.1rem 0 0;font-size:.78rem;color:var(--tv-ink3);overflow-wrap:anywhere }
html[data-refonte] .page-carte .step-drag { flex:none;width:44px;height:44px;border-radius:9px;background:var(--tv-bg);border:0;color:var(--tv-ink3);display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none }
html[data-refonte] .page-carte .step-drag:hover { background:var(--tv-soft);color:var(--tv-primary-h) }
html[data-refonte] .page-carte .step-drag:active { cursor:grabbing }
html[data-refonte] .page-carte .step-reorder { display:flex;gap:.3rem;flex:none }
html[data-refonte] .page-carte .step-reorder button { width:44px;height:44px;border-radius:8px;background:var(--tv-bg);border:1px solid var(--tv-border);color:var(--tv-ink2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease }
html[data-refonte] .page-carte .step-reorder button:hover:not(:disabled) { background:var(--tv-soft);border-color:var(--tv-primary);color:var(--tv-primary-h) }
html[data-refonte] .page-carte .step-reorder button:disabled { opacity:.4;cursor:not-allowed }
html[data-refonte] .page-carte .step-actions { display:flex;gap:.5rem;margin-top:.7rem }
html[data-refonte] .page-carte .step-actions .a { flex:1;display:flex;align-items:center;justify-content:center;gap:.35em;min-height:44px;border-radius:var(--tv-r-sm);font-size:.79rem;font-weight:700;border:1px solid var(--tv-border);background:var(--tv-bg);color:var(--tv-ink2);cursor:pointer;text-decoration:none;transition:background .15s ease }
html[data-refonte] .page-carte .step-actions .a:hover { background:#F0F2EE }
html[data-refonte] .page-carte .step-actions .a.go { background:var(--tv-soft);border-color:var(--tv-soft-b);color:var(--tv-primary-h) }
html[data-refonte] .page-carte .step-actions .a.go:hover { background:var(--tv-soft-b) }
html[data-refonte] .page-carte .step-actions .a.rm { color:var(--tv-danger) }
html[data-refonte] .page-carte .leg-dist { display:flex;align-items:flex-start;gap:.4rem;margin:.3rem 0 .3rem 2rem;font-size:.74rem;color:var(--tv-ink3);line-height:1.45 }
html[data-refonte] .page-carte .leg-dist svg { flex:none;width:13px;height:13px;margin-top:.15rem }
html[data-refonte] .page-carte .leg-dist .toll { color:#9A6100;font-weight:700 }
html[data-refonte] .page-carte .tv-empty { text-align:center;padding:1.6rem .5rem }
html[data-refonte] .page-carte .tv-empty svg { color:var(--tv-ink3);opacity:.55 }
html[data-refonte] .page-carte .tv-empty h3 { margin:.7rem 0 .3rem;font-size:.98rem;font-weight:700;color:var(--tv-ink) }
html[data-refonte] .page-carte .tv-empty p { margin:0 auto;max-width:34ch;font-size:.84rem;color:var(--tv-ink3);line-height:1.5 }
html[data-refonte] .page-carte .tv-skel { height:12px;border-radius:6px;background:linear-gradient(90deg,#EEF1ED 25%,#F7F9F6 50%,#EEF1ED 75%);background-size:200% 100%;animation:tvsk 1.2s ease-in-out infinite }
@keyframes tvsk { 0%{background-position:200% 0}100%{background-position:-200% 0} }
@media (prefers-reduced-motion:reduce) {
  html[data-refonte] .page-carte .tv-skel { animation:none }
}
html[data-refonte] .page-carte .add-step { width:100%;display:flex;align-items:center;justify-content:center;gap:.5em;margin-top:.3rem;border:1.5px dashed var(--tv-border);border-radius:var(--tv-r);padding:.85rem;color:var(--tv-ink2);font-weight:600;font-size:.86rem;background:none;min-height:48px;cursor:pointer;transition:border-color .15s ease,background .15s ease }
html[data-refonte] .page-carte .add-step:hover { border-color:var(--tv-primary);color:var(--tv-primary-h);background:var(--tv-soft) }
html[data-refonte] .page-carte .honest-note { margin:.9rem 0 0;font-size:.72rem;color:var(--tv-ink3);line-height:1.5;max-width:70ch }
html[data-refonte] .page-carte .tv-foot { flex:none;border-top:1px solid var(--tv-border);padding:.85rem 1.1rem calc(.85rem + env(safe-area-inset-bottom));display:flex;gap:.6rem;background:var(--tv-surface) }
html[data-refonte] .page-carte .tv-btn { display:inline-flex;align-items:center;justify-content:center;gap:.4em;border-radius:999px;padding:.75rem 1rem;font-weight:700;font-size:.86rem;text-decoration:none;border:0;min-height:48px;cursor:pointer;flex:1;transition:background .15s ease }
html[data-refonte] .page-carte .tv-btn-primary { background:var(--tv-primary);color:#fff }
html[data-refonte] .page-carte .tv-btn-primary:hover { background:var(--tv-primary-h) }
html[data-refonte] .page-carte .tv-btn-ghost { background:var(--tv-bg);border:1px solid var(--tv-border);color:var(--tv-ink) }
html[data-refonte] .page-carte .tv-btn-ghost:hover { background:#F0F2EE }
html[data-refonte] .page-carte .tv-btn-ghost.danger { color:var(--tv-danger) }
html[data-refonte] .page-carte .depart-addr .tk-ac { position:absolute;top:100%;left:0;right:0;z-index:3200 }
@media (min-width:768px) {
  html[data-refonte] .page-carte .tv-ov { align-items:stretch;justify-content:flex-end;pointer-events:none;background:none }
  html[data-refonte] .page-carte .tv-shell { pointer-events:auto;width:420px;max-width:46vw;height:100%;border-radius:0;border-left:1px solid var(--tv-border);box-shadow:0 12px 36px rgba(10,15,10,.16);transform:translateX(16px) }
  html[data-refonte] .page-carte .tv-ov.show .tv-shell { transform:none }
  html[data-refonte] .page-carte .tv-grab { display:none }
  html[data-refonte] .page-carte .tv-head { padding:1.2rem 1.3rem 1rem }
  html[data-refonte] .page-carte .tv-top h2 { font-size:1.15rem }
  html[data-refonte] .page-carte .tv-body { padding:1.1rem 1.3rem 1.3rem }
  html[data-refonte] .page-carte .depart-opts { flex-direction:row;flex-wrap:wrap }
  html[data-refonte] .page-carte .depart-opt { width:auto;max-width:260px;border-radius:var(--tv-r-lg);padding:.5rem .9rem;font-size:.82rem;min-height:44px }
  html[data-refonte] .page-carte .tv-foot { padding:1rem 1.3rem }
}
@media (min-width:1200px) {
  html[data-refonte] .page-carte .tv-head { padding:1.3rem 1.5rem 1rem }
  html[data-refonte] .page-carte .tv-top h2 { font-size:1.2rem }
  html[data-refonte] .page-carte .tv-body { padding:1.1rem 1.5rem 1.3rem }
  html[data-refonte] .page-carte .tv-foot { padding:1rem 1.5rem;justify-content:flex-end }
  html[data-refonte] .page-carte .tv-btn { flex:0 0 auto;padding:.7rem 1.2rem;min-height:44px }
  html[data-refonte] .page-carte .tv-close,
  html[data-refonte] .page-carte .step-drag,
  html[data-refonte] .page-carte .step-reorder button { width:36px;height:36px }
}
html[data-refonte] .page-carte .tv-ov.tv-embed { position:static;inset:auto;display:block;opacity:1;z-index:auto;background:none;padding:0;pointer-events:auto }
html[data-refonte] .page-carte .tv-ov.tv-embed .tv-shell { position:static;width:100%;max-width:none;height:auto;min-height:0;transform:none;overflow:visible;border:1px solid var(--tv-border);border-left:1px solid var(--tv-border);border-radius:var(--tv-r);box-shadow:0 1px 3px rgba(10,15,10,.06) }
html[data-refonte] .page-carte .tv-ov.tv-embed .tv-grab { display:none }
html[data-refonte] .page-carte .tv-ov.tv-embed .tv-body { overflow:visible;min-height:0 }
html[data-refonte] .page-carte .tv-ov.tv-embed .tv-head { padding-top:1.1rem }
html[data-refonte] .page-carte .tv-ov.tv-embed .tv-foot { padding-bottom:.85rem;border-radius:0 0 var(--tv-r) var(--tv-r) }
@media (min-width:1200px) {
  html[data-refonte] .page-carte .tv-ov.tv-embed .tv-shell { display:grid;grid-template-columns:1.1fr 1fr;height:auto;min-height:520px;align-items:start }
  html[data-refonte] .page-carte .tv-ov.tv-embed .tv-map { display:block;position:sticky;top:1rem;align-self:start;height:min(68vh,600px);border-radius:var(--tv-r) 0 0 var(--tv-r);background-color:var(--tv-bg);background-image:linear-gradient(rgba(15,124,60,.35) 1.5px,transparent 1.5px),linear-gradient(90deg,rgba(15,124,60,.35) 1.5px,transparent 1.5px);background-size:34px 34px;overflow:hidden }
  html[data-refonte] .page-carte .tv-ov.tv-embed .tv-map svg.trace { position:absolute;inset:0;width:100%;height:100% }
  html[data-refonte] .page-carte .tv-ov.tv-embed .tv-map-cap { position:absolute;left:1.1rem;bottom:1.1rem;background:rgba(255,255,255,.92);border-radius:999px;padding:.4rem .85rem;font-size:.78rem;font-weight:600;color:var(--tv-ink2) }
  html[data-refonte] .page-carte .tv-ov.tv-embed .tv-map-empty { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;font-size:.84rem;color:var(--tv-ink2) }
}
html[data-refonte] .page-carte .trip-confirm-ov { position:fixed;inset:0;z-index:3100;background:rgba(35,20,10,.5);display:flex;align-items:center;justify-content:center;padding:1rem }
html[data-refonte] .page-carte .trip-confirm { background:#fff;border-radius:14px;padding:1.1rem;max-width:340px;width:100%;font-family:'Inter',-apple-system,sans-serif }
html[data-refonte] .page-carte .trip-confirm p { margin:0 0 1rem;color:#231C14;font-size:.92rem }
html[data-refonte] .page-carte .trip-confirm .row { display:flex;gap:.6rem;justify-content:flex-end }
html[data-refonte] .page-carte .trip-confirm button { border-radius:8px;padding:.55rem 1rem;font-weight:600;cursor:pointer;border:1px solid #e7dcc8;background:#fff;min-height:40px }
html[data-refonte] .page-carte .trip-confirm button.danger { background:#a23;color:#fff;border-color:#a23 }
