/* Distributeur de billets — l'app. Tout part du bleu #046bd2 du logo. */
@font-face{font-family:"Saira";src:url(fonts/saira-400-700.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Saira Condensed";src:url(fonts/saira-condensed-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Saira Condensed";src:url(fonts/saira-condensed-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}

/* Base (remplace celle d'Astra, retirée) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0}
img,svg,video{max-width:100%}
img{height:auto;border:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
p,ul,ol,figure,blockquote,dl{margin:0 0 1em}
ul,ol{padding-left:1.3em}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-weight:700}
a{text-decoration-thickness:1px;text-underline-offset:2px}
table{border-collapse:collapse}
input[type=text],input[type=email],input[type=search],input[type=number],textarea,select{border:1px solid var(--ligne);border-radius:8px;padding:8px 10px;background:#fff;max-width:100%}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.wp-block-image img{border-radius:12px}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.pub{min-height:280px;margin:24px 0;display:grid;place-items:center;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(213,223,234,.25) 8px,rgba(213,223,234,.25) 16px);border-radius:12px;overflow:hidden}
.pub ins{width:100%}
.contact .wrap{padding-top:24px;padding-bottom:60px}
.contact h1{font-size:clamp(32px,4vw,46px);text-transform:uppercase;margin:0 0 20px}
.contact-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:start;margin-bottom:30px}
@media (max-width:921px){.contact-grille{grid-template-columns:1fr}.pub{min-height:250px}}
.wpcf7 form>p{margin:0 0 12px}.wpcf7 br{display:none}
.wpcf7 .wpcf7-form-control-wrap{display:block}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{width:100%;border:1.5px solid var(--ligne);border-radius:10px;padding:12px 14px;background:var(--carte);font:500 16px/1.4 var(--f);color:var(--texte);transition:border-color .15s,box-shadow .15s}
.wpcf7 textarea{min-height:150px;resize:vertical}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:0;border-color:var(--bleu);box-shadow:0 0 0 3px var(--brume)}
.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:var(--doux)}
.wpcf7 input[type=submit]{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:0;border-radius:9px;cursor:pointer;background:var(--bleu);color:#fff;font:700 16px/1.2 var(--f);box-shadow:3px 3px 0 var(--plaque);transition:transform .1s,box-shadow .1s,background .15s}
.wpcf7 input[type=submit]:hover{background:var(--bleu-h)}.wpcf7 input[type=submit]:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--plaque)}
.wpcf7 .wpcf7-not-valid{border-color:var(--ko)}.wpcf7 .wpcf7-not-valid-tip{color:var(--ko);font-size:13.5px;margin-top:4px}
.wpcf7 .wpcf7-spinner{display:block;margin:10px auto 0}

:root{
  --bleu:#046bd2;--bleu-h:#045cb4;--nuit:#062A52;--plaque:#A9D2FF;--brume:#EAF3FD;
  --fond:#F3F6FA;--carte:#fff;--texte:#0D1B2E;--doux:#55657A;--ligne:#D5DFEA;--ligne-f:#E8EEF5;
  --ok:#0B8A5F;--ok-f:#E3F5EE;--warn:#8A5F00;--warn-f:#FFF4D6;--ko:#C62F37;--ko-f:#FDE8E9;
  --it:#062A52;--ip:#A9D2FF;
  --f-t:"Saira Condensed","Arial Narrow",system-ui,sans-serif;--f:"Saira",system-ui,-apple-system,"Segoe UI",sans-serif;--f-m:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --hh:64px;--tab:64px;--r:12px;
}
[hidden]{display:none!important}
html{scroll-padding-top:84px}
body{background:var(--fond);color:var(--texte);font:400 16px/1.6 var(--f);max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important}
body,button,input,select,textarea{font-family:var(--f)}
#page.site,.hfeed.site{max-width:none!important;margin:0!important;box-shadow:none!important}
h1,h2,h3,h4,h5,h6{font-family:var(--f-t);color:var(--nuit);text-wrap:balance;line-height:1.12}
a{color:var(--bleu)}
.ic{width:24px;height:24px;flex:none;display:inline-block;vertical-align:middle}
.ic-s{width:18px;height:18px}.ic-xl{width:44px;height:44px}
.screen-reader-text:focus{clip:auto!important;background:#fff;padding:8px;z-index:100}
:focus-visible{outline:3px solid var(--bleu);outline-offset:2px}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.ddb-app .site-content>.ast-container,.ddb-app .ast-container{max-width:none!important;padding:0!important;display:block!important;margin:0!important}
.ddb-app #content{padding:0}
#ddb-main{width:100%;float:none}

/* Astra met ses couleurs sur les boutons au survol : on les neutralise partout chez nous */
#page button:not(.btn):hover,#page button:not(.btn):focus{color:inherit;background-color:inherit}

/* ── en-tête ── */
.dh{position:sticky;top:0;z-index:50;background:var(--carte);border-bottom:1px solid var(--ligne)}
.dh-in{max-width:1320px;margin:0 auto;height:var(--hh);display:grid;grid-template-columns:1fr minmax(0,600px) 1fr;align-items:center;gap:20px;padding:0 max(20px,env(safe-area-inset-left))}
.dh-logo{display:flex;justify-self:start}.dh-logo img{height:46px;width:auto;display:block}
.dh-srch{position:relative;display:flex;align-items:center;gap:8px;border:2px solid var(--nuit);border-radius:10px;padding:0 5px 0 13px;height:46px;background:var(--carte);width:100%}
.dh-srch input{flex:1;min-width:0;border:0!important;background:transparent!important;font:500 16px var(--f);color:var(--texte);outline:none;height:100%;padding:0!important;box-shadow:none!important}
.dh-nav{display:flex;gap:2px;justify-self:end;align-items:center}
.dh-nav>a,.dd-btn{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--texte)!important;font:600 15px var(--f);padding:9px 11px;border-radius:8px;border:0;background:none!important;cursor:pointer}
.dh-nav>a:hover,.dh-nav>a[aria-current],.dd-btn:hover,.dd-btn[aria-current],.dd-btn[aria-expanded=true]{background:var(--brume)!important;color:var(--nuit)!important}
.dd{position:relative}
.dd-fl{width:10px;height:6px;transition:transform .15s}.dd-btn[aria-expanded=true] .dd-fl{transform:rotate(180deg)}
.dd-menu{position:absolute;right:0;top:calc(100% + 8px);width:300px;background:var(--carte);border:1px solid var(--ligne);border-radius:12px;box-shadow:0 22px 50px -20px rgba(6,42,82,.4);padding:8px;z-index:60}
.dd-menu a{display:flex;gap:12px;align-items:center;padding:10px;border-radius:8px;text-decoration:none;color:var(--texte)}
.dd-menu a:hover{background:var(--brume)}
.dd-menu b{display:block;font:700 15px/1.2 var(--f);color:var(--nuit)}.dd-menu small{display:block;font-size:13px;color:var(--doux)}
.sugg,.sugg-in{background:var(--carte);border:1px solid var(--ligne);border-radius:12px;box-shadow:0 22px 50px -20px rgba(6,42,82,.4);padding:6px;max-height:min(70vh,520px);overflow:auto}
.sugg{position:absolute;left:-2px;right:-2px;top:calc(100% + 8px);z-index:60}
.sugg-in{margin-top:8px}
.sg-t{font:600 11px var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--doux);padding:8px 10px 4px}
.sg-i{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:9px 10px;border-radius:8px;font:500 15px/1.3 var(--f);color:var(--texte)!important;text-decoration:none;cursor:pointer}
.sg-i:hover,.sg-i[aria-selected=true]{background:var(--brume)!important}
.sg-i span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg-i small{color:var(--doux);font-size:12.5px;white-space:nowrap}
.sg-vide{padding:12px;color:var(--doux);font-size:14px}

/* ── boutons, puces ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font:700 15px/1.2 var(--f);text-decoration:none!important;border-radius:9px;padding:12px 18px;min-height:46px;
  background:var(--bleu)!important;color:#fff!important;box-shadow:3px 3px 0 var(--plaque);transition:transform .1s,box-shadow .1s,background .15s;--it:#fff;--ip:rgba(255,255,255,.32)}
.btn:hover{background:var(--bleu-h)!important}.btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--plaque)}
.btn.sec{background:var(--carte)!important;color:var(--nuit)!important;border:2px solid var(--nuit);padding:10px 16px;--it:#062A52;--ip:#A9D2FF}
.btn.sec:hover{background:var(--brume)!important}
.btn.sm{font-size:14px;padding:8px 13px;min-height:40px}
.btn.big{font-size:17px;padding:15px 22px;min-height:56px;width:100%}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--ligne);background:var(--carte)!important;color:var(--texte)!important;border-radius:999px;padding:6px 13px;font:600 14px var(--f);cursor:pointer;white-space:nowrap;text-decoration:none!important;min-height:36px}
.chip:hover{border-color:var(--bleu)}
.chip[aria-pressed=true]{border-color:var(--bleu);background:var(--brume)!important;color:var(--nuit)!important}
.chip em{font-style:normal;font:500 12px var(--f-m);color:var(--doux)}
.pill{display:inline-flex;align-items:center;gap:6px;font:700 13px var(--f);border-radius:999px;padding:4px 11px 4px 9px;white-space:nowrap}
.pill-ok{background:var(--ok-f);color:var(--ok);--it:var(--ok);--ip:#BFE8D7}.pill-ko{background:var(--ko-f);color:var(--ko);--it:var(--ko);--ip:#F6C6C9}.pill-info{background:var(--brume);color:var(--nuit)}
.badge{display:inline-flex;align-items:center;gap:5px;font:600 12px var(--f);border-radius:4px;padding:2px 7px;white-space:nowrap}
.b-ok{background:var(--ok-f);color:var(--ok)}.b-warn{background:var(--warn-f);color:var(--warn)}.b-info{background:var(--brume);color:var(--nuit)}
.note{font-size:14px;color:var(--doux);margin:0}
.lbl{font:700 12px var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--doux);margin:18px 0 8px}
.kick{font:600 12px var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--bleu);margin:0 0 6px}
.lo{width:44px;height:44px;flex:none;border-radius:9px;background:#fff;border:1px solid var(--ligne);display:grid;place-items:center;overflow:hidden}
.lo img{width:34px;height:34px;object-fit:contain}
.lo.ini,.lo-xs.ini{font:800 13px var(--f-t);color:var(--nuit)}
.lo-l{width:58px;height:58px}.lo-l img{width:46px;height:46px}
.lo-xl{width:78px;height:78px;border-radius:14px}.lo-xl img{width:62px;height:62px}.lo-xl.ini{font-size:20px}
.lo-xs{width:20px;height:20px;display:inline-grid;place-items:center}.lo-xs img{width:20px;height:20px;object-fit:contain}.lo-xs.ini{font-size:9px}
.cadre{position:relative;border:3px solid var(--bleu);border-radius:6px;padding:30px 22px 22px;background:var(--carte);margin-top:16px}
.cadre>.fente{position:absolute;top:-15px;left:18px;background:var(--carte);padding:0 10px;display:flex;align-items:center;gap:8px;height:28px;font:800 15px var(--f-t);color:var(--bleu);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;--it:var(--bleu)}
.card{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:22px;min-width:0}
.h-card{font-size:20px!important;text-transform:uppercase;margin:0 0 12px!important;display:flex;gap:8px;align-items:center}
.h-sec{font-size:clamp(24px,2.6vw,30px)!important;margin:0 0 16px!important;text-transform:none}
.ariane{display:flex;gap:7px;flex-wrap:wrap;font-size:14px;color:var(--doux);align-items:center;margin:0 0 12px}
.ariane a{color:var(--doux);text-decoration:none}.ariane a:hover{color:var(--bleu);text-decoration:underline}
.ariane span[aria-hidden]{color:var(--ligne)}
.sous{font:500 17px/1.4 var(--f)!important;color:var(--doux)!important;margin:8px 0 0!important;text-transform:none!important}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px}
.acts{display:flex;gap:10px;flex-wrap:wrap}
.prose{max-width:74ch}
.prose h2{font-size:clamp(24px,2.6vw,30px);margin:38px 0 12px;text-transform:none}
.prose h3{font-size:21px;margin:24px 0 8px}
.prose p,.prose li{font-size:17px;line-height:1.75;color:#24364D}
.prose p{margin:0 0 16px}
.bar{display:grid;grid-template-columns:140px minmax(0,1fr) 40px;gap:10px;align-items:center;font-size:14px;margin:7px 0}
.bar a{color:var(--nuit);font-weight:600;text-decoration:none}.bar a:hover{color:var(--bleu)}
.bar i{display:block;height:12px;background:var(--bleu);border-radius:3px;box-shadow:2px 2px 0 var(--plaque)}
.bar b{font:700 15px var(--f-t);text-align:right}

/* ── cartes (MapLibre) ── */
.carte{width:100%;height:100%;min-height:300px;background:#EEF1F4;border-radius:var(--r);z-index:1}
.mk{display:grid;justify-items:center;cursor:pointer}
.mk b{display:grid;place-items:center;min-width:30px;height:28px;padding:0 5px;border-radius:7px;background:var(--bleu);color:#fff;font:800 14px var(--f-t);border:2px solid #fff;box-shadow:0 3px 8px rgba(6,42,82,.35)}
.mk::after{content:"";width:0;height:0;border:6px solid transparent;border-top:8px solid var(--bleu);margin-top:-2px}
.mk.sel b{background:var(--nuit)}.mk.sel::after{border-top-color:var(--nuit)}
.mk-dab b{min-width:42px;height:34px;font-size:12px;letter-spacing:.04em}
.mk-moi{width:22px;height:22px;border-radius:50%;background:var(--bleu);border:4px solid #fff;box-shadow:0 0 0 8px rgba(4,107,210,.2),0 2px 8px rgba(0,0,0,.3)}
.pt-ville i{display:block;border-radius:50%;background:#046bd2;opacity:.82;border:1.5px solid #fff;cursor:pointer}
.pt-ville:hover i{opacity:1}
.maplibregl-popup-content{border-radius:12px!important;box-shadow:0 18px 40px -16px rgba(6,42,82,.5)!important;padding:14px 16px!important;font:500 14px/1.45 var(--f)!important;min-width:220px}
.maplibregl-popup-close-button{font-size:20px;width:28px;height:28px;color:var(--doux)}
.pp b{display:block;font:700 15px/1.25 var(--f);color:var(--nuit);padding-right:18px}
.pp small{display:block;color:var(--doux);margin:2px 0 10px}
.pp .acts{gap:6px}.pp .btn{min-height:36px;padding:7px 11px;font-size:13.5px}
.maplibregl-ctrl-attrib{font-size:10px}

/* ── ACCUEIL ── */
.app{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);height:calc(100vh - var(--hh) - 1px);height:calc(100dvh - var(--hh) - 1px);min-height:600px;background:var(--carte);border-bottom:1px solid var(--ligne)}
.app-side{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--ligne);min-width:0}
.app-head{padding:20px 22px 14px;border-bottom:1px solid var(--ligne-f)}
.app-head h1{font-size:26px;font-weight:800;margin:0}
.app-where{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;font:500 14px/1.4 var(--f);color:var(--doux)}
.app-where b{color:var(--nuit)}
.mabanque{display:flex;align-items:center;gap:8px;margin-top:12px;background:var(--brume);border-radius:9px;padding:7px 10px;font:600 14px var(--f);color:var(--nuit)}
[data-mabanque]{flex:1;min-width:0;font:600 14px var(--f);color:var(--nuit);border:1px solid var(--ligne);border-radius:7px;background:var(--carte);padding:7px 8px;height:auto}
.app-start{padding:20px 22px;overflow:auto}
.app-start .note{margin-top:10px}
.filtres{display:flex;gap:6px;overflow-x:auto;padding:10px 22px;border-bottom:1px solid var(--ligne-f);scrollbar-width:thin;flex:none}
.res-list{list-style:none;margin:0;padding:4px 0;overflow:auto;flex:1;min-height:0}
.res{display:grid;grid-template-columns:30px 44px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 22px;cursor:pointer;border-left:4px solid transparent;text-decoration:none;color:inherit}
.res:hover,.res.sel{background:var(--brume);border-left-color:var(--bleu)}
.res .rg{font:800 21px var(--f-t);color:var(--doux);text-align:right}
.res.sel .rg{color:var(--bleu)}
.res b{display:block;font:700 15px/1.25 var(--f);color:var(--nuit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.res .ad{display:block;font-size:13.5px;color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.res .tg{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}
.res .ds,.ds{text-align:right}
.ds strong{display:block;font:700 18px var(--f-t);color:var(--nuit)}
.ds span{font-size:12px;color:var(--doux);white-space:nowrap}
.app-vide{padding:20px 22px}
.app-map{position:relative;min-width:0}
.app-map .carte{position:absolute;inset:0;border-radius:0}
.bande{background:var(--nuit);color:#C9D9EC;padding-block:44px}
.etapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.etapes>div{position:relative;padding:22px 22px 22px 22px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r);--it:#fff;--ip:#1D5596}
.etapes h3{color:#fff;font-size:24px;margin:12px 0 6px;text-transform:uppercase}
.etapes p{margin:0;font-size:15.5px}
.et-n{position:absolute;right:18px;top:12px;font:800 46px/1 var(--f-t);color:rgba(169,210,255,.22)}
.sec{padding-block:64px}
.sec-alt{background:var(--carte);border-block:1px solid var(--ligne)}
.sec-tete{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.sec-tete h2{font-size:clamp(28px,3.4vw,40px);margin:0;text-transform:uppercase}
.v-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px}
.v-card{position:relative;display:grid;gap:2px;padding:16px 18px 18px;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);text-decoration:none;color:inherit;overflow:hidden;transition:border-color .15s,transform .15s,box-shadow .15s}
.v-card:hover{border-color:var(--bleu);transform:translateY(-2px);box-shadow:0 12px 26px -16px rgba(6,42,82,.45)}
.vc-n{font:800 22px/1.1 var(--f-t);color:var(--nuit);text-transform:uppercase}
.vc-d{font-size:13px;color:var(--doux)}
.vc-c{font-size:14px;color:var(--texte);margin-top:6px}.vc-c b{font:800 20px var(--f-t);color:var(--bleu)}
.vc-bar{position:absolute;left:0;bottom:0;height:4px;background:var(--bleu)}
.b-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px}
.b-card{display:flex;gap:14px;align-items:center;padding:14px 16px;background:var(--fond);border:1px solid var(--ligne);border-radius:var(--r);text-decoration:none;color:inherit;transition:border-color .15s}
.b-card:hover{border-color:var(--bleu);background:var(--brume)}
.b-card b{display:block;font:700 16px var(--f);color:var(--nuit)}.b-card small{color:var(--doux);font-size:13px}
.guide{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:start}
.guide-nav{position:sticky;top:calc(var(--hh) + 20px);background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:6px 18px 16px}
.guide-nav ol{margin:0;padding:0 0 0 18px;display:grid;gap:8px;font-size:14.5px}
.guide-nav a{color:var(--nuit);text-decoration:none}.guide-nav a:hover{color:var(--bleu)}
.guide-txt h2{border-top:1px solid var(--ligne);padding-top:30px}
.guide-txt h2:first-of-type{border-top:0;padding-top:0}
.auteur{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
.auteur img{width:220px;height:220px;object-fit:cover;border-radius:50%;border:6px solid var(--brume)}
.auteur h2{font-size:clamp(26px,3vw,34px);margin:0 0 8px}
.auteur h3{font-size:20px;color:var(--bleu);margin:0 0 12px}
.yt{margin:20px 0;max-width:680px}
.yt button{position:relative;display:block;width:100%;padding:0;border:0;border-radius:var(--r);overflow:hidden;cursor:pointer;background:#000!important;aspect-ratio:16/9}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.85}
.yt span{position:absolute;right:16px;bottom:16px;display:flex;gap:8px;align-items:center;background:var(--bleu);color:#fff;font:700 15px var(--f);padding:10px 16px;border-radius:9px;--it:#fff;--ip:rgba(255,255,255,.3)}
.yt iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r)}

/* ── HERO des pages liste (ville, banque, index) ── */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px;max-width:1240px;margin:0 auto;padding:22px max(20px,env(safe-area-inset-left)) 34px;align-items:stretch}
.hero-plein{grid-template-columns:1fr}
.hero-txt{display:flex;flex-direction:column;gap:14px;justify-content:center;min-width:0}
.hero-txt>*{margin:0}
.hero-titre{display:flex;gap:16px;align-items:center}
.hero h1{font-size:clamp(32px,4.4vw,52px);font-weight:800;text-transform:uppercase;margin:0;letter-spacing:.005em}
.hero-intro{font-size:17.5px;line-height:1.6;color:#24364D;max-width:56ch}
.hero-txt>.btn.big{max-width:420px}
.hero-stats{display:flex;gap:10px;flex-wrap:wrap}
.hero-stats span{background:var(--carte);border:1px solid var(--ligne);border-radius:999px;padding:6px 14px;font-size:14px;color:var(--doux)}
.hero-stats b{font:800 18px var(--f-t);color:var(--nuit);margin-right:3px}
.hero-carte{min-height:420px;position:relative}
.hero-carte .carte{position:absolute;inset:0;border:1px solid var(--ligne);box-shadow:0 24px 50px -30px rgba(6,42,82,.5)}
.reponse{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;background:var(--ok-f);border:2px solid var(--ok);border-radius:var(--r);padding:14px 16px;max-width:520px}
.reponse .r-t{font:600 12px var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--ok)}
.reponse b{display:block;font:700 17px/1.25 var(--f);color:var(--nuit)}
.reponse .r-d{font:800 22px var(--f-t);color:var(--nuit)}
.reponse .acts{grid-column:1/-1}
.champ{display:flex;align-items:center;gap:10px;border:2px solid var(--nuit);border-radius:10px;padding:0 14px;height:54px;background:var(--carte);max-width:520px}
.champ input{flex:1;border:0!important;background:transparent!important;font:500 17px var(--f);outline:none;padding:0!important;box-shadow:none!important;min-width:0}
.corps{display:grid;gap:44px;padding-top:10px;padding-bottom:60px}
.bloc{min-width:0}
.ens-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}
.ens{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;background:var(--carte)!important;border:1px solid var(--ligne);border-radius:var(--r);cursor:pointer;text-align:left;color:var(--texte)!important}
.ens:hover{border-color:var(--bleu)}
.ens b{display:block;font:700 15px var(--f);color:var(--nuit);margin-bottom:6px}
.ens i{display:block;height:6px;border-radius:3px;background:var(--bleu)}
.ens em{font:800 22px var(--f-t);color:var(--nuit);font-style:normal}
.liste-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.liste-tete .h-sec{margin:0!important}
.rail{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px;scrollbar-width:thin}
.v-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:10px}
.v-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--ligne);border-radius:var(--r);padding:12px 14px;background:var(--carte);position:relative;transition:border-color .15s,box-shadow .15s}
.v-item:hover{border-color:var(--bleu);box-shadow:0 10px 24px -18px rgba(6,42,82,.5)}
.v-item.top{border:2px solid var(--ok)}
.v-item h2{font:700 15px/1.3 var(--f)!important;margin:0!important;text-transform:none;color:var(--nuit)}
.v-item h2 a{color:inherit;text-decoration:none}
.v-item h2 a::after{content:"";position:absolute;inset:0}
.v-item p{font-size:13px;color:var(--doux);margin:2px 0 0}
.v-item .fl{color:var(--doux)}
.pager{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}
.pager .page-numbers{min-width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--ligne);border-radius:9px;font:700 16px var(--f-t);text-decoration:none;color:var(--nuit);padding:0 12px;background:var(--carte)}
.pager .current{background:var(--bleu);border-color:var(--bleu);color:#fff;box-shadow:3px 3px 0 var(--plaque)}
.pager .dots{border:0;background:none}
.frais-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin-bottom:14px}
.fcard{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:18px;display:grid;gap:6px;align-content:start}
.fcard b{font:800 19px var(--f-t);text-transform:uppercase;color:var(--nuit)}
.fcard p{margin:0;color:var(--doux);font-size:15px}
.fcard-ok{background:var(--ok-f);border-color:#BFE8D7;--it:var(--ok);--ip:#BFE8D7}
.fcard ul,.plaf{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fcard li,.plaf li{display:flex;justify-content:space-between;gap:10px;font-size:14.5px;border-bottom:1px dashed var(--ligne);padding-bottom:5px;margin:0}
.fcard li strong,.plaf li strong{font:700 16px var(--f-t);color:var(--nuit);white-space:nowrap}
.texte{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:28px 30px}
.texte p{font-size:17px;line-height:1.75;color:#24364D;max-width:80ch;margin:0 0 14px}
.faq details{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:0 20px;margin-bottom:10px}
.faq summary{cursor:pointer;font:700 17px/1.35 var(--f);color:var(--nuit);padding:16px 0;list-style-position:outside}
.faq details p{margin:0 0 16px;color:#24364D;font-size:16px}

/* index villes / banques */
.outils-liste{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.outils-liste .rail{flex:1;min-width:0;flex-wrap:wrap;margin:0}
.tri{display:flex;align-items:center;gap:8px;font:600 14px var(--f);color:var(--doux)}
.tri select{border:1px solid var(--ligne);border-radius:7px;padding:7px 8px;font:600 14px var(--f);color:var(--nuit);background:var(--carte)}
.v-cards-full{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.vide{padding:20px 0}
.bq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px;align-items:start}
.bq{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);overflow:hidden;transition:border-color .15s}
.bq:hover{border-color:var(--bleu)}
.bq-tete{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;text-decoration:none;color:inherit}
.bq-tete h2{font:800 22px/1.1 var(--f-t)!important;margin:0!important;text-transform:uppercase;color:var(--nuit)}
.bq-tete small{color:var(--doux);font-size:13.5px}
.bq-tete .fl{color:var(--bleu)}
.bq-frais{display:flex;gap:8px;align-items:center;margin:0;padding:9px 18px;background:var(--fond);border-top:1px solid var(--ligne-f);font-size:13.5px;color:var(--doux)}
.bq-res{list-style:none;margin:0;padding:6px 18px 12px;border-top:1px solid var(--ligne-f)}
.bq-res li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;margin:0;font-size:14px}
.bq-res a{color:var(--nuit);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bq-res a:hover{color:var(--bleu);text-decoration:underline}
.bq-res em{font:500 12px var(--f-m);color:var(--doux);font-style:normal}
.bq-plus{padding:0 0 4px}.bq-plus summary{cursor:pointer;padding:6px 18px;font:600 13.5px var(--f);color:var(--bleu)}
.autres{display:flex;flex-wrap:wrap;gap:8px}

/* ── FICHE : une carte principale, puis avis et proximité ── */
.fiche>.wrap{padding-top:18px;padding-bottom:56px}
.ft{margin-bottom:18px;max-width:980px}
.ft-marque{display:flex;align-items:center;gap:10px;font:700 15px var(--f);color:var(--nuit);margin-bottom:10px}
.ft-n{font:500 12px var(--f-m);color:var(--doux);background:var(--carte);border:1px solid var(--ligne);border-radius:999px;padding:2px 9px}
.ft h1{font:700 clamp(24px,2.6vw,32px)/1.2 var(--f-t)!important;margin:0;text-transform:none;letter-spacing:0}
.ft .sous{font-size:15.5px!important}
.fp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:var(--carte);border:1px solid var(--ligne);border-radius:16px;overflow:hidden;box-shadow:0 20px 44px -34px rgba(6,42,82,.45)}
.fp-info{padding:22px 24px;display:grid;gap:18px;align-content:start}
.fp-adr{display:flex;gap:16px;align-items:flex-start}
.photo-mini{flex:none;width:92px;height:92px;border-radius:12px;border:1.5px dashed var(--ligne);background:var(--fond);display:grid;place-items:center;align-content:center;gap:2px;text-align:center;font:600 10.5px/1.15 var(--f);color:var(--doux);--ip:var(--brume)}
.photo-mini .ic-xl{width:34px;height:34px}
.adr{font:700 21px/1.3 var(--f);color:var(--nuit);margin:0 0 10px}.adr span{font-weight:500;color:var(--doux);font-size:17px}
.fp-adr .pill{text-decoration:none}
.fp-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn-app{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:12px;border:1.5px solid var(--ligne);background:var(--carte);text-decoration:none!important;color:var(--nuit)!important;min-height:56px;transition:border-color .15s,box-shadow .15s}
.btn-app:hover{border-color:var(--bleu);box-shadow:0 8px 20px -14px rgba(6,42,82,.6)}
.btn-app small{display:block;font-size:11.5px;color:var(--doux);line-height:1.1}
.btn-app b{display:block;font:700 16px/1.15 var(--f)}
.appi{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none}
.appi svg{width:22px;height:22px}
.appi-gmaps{background:#fff;border:1px solid var(--ligne)}.appi-gmaps svg{fill:#EA4335}
.appi-waze{background:#33CCFF}.appi-waze svg{fill:#fff}
.appi-apple{background:linear-gradient(160deg,#5FD068,#2E9BF0)}.appi-apple svg{fill:#fff}
.fp-outils{display:flex;gap:8px;flex-wrap:wrap}
.ico-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ligne);background:var(--carte)!important;color:var(--nuit)!important;border-radius:999px;padding:7px 14px;font:600 14px var(--f);cursor:pointer}
.ico-btn:hover{border-color:var(--bleu)}
.ico-btn svg{width:17px;height:17px}
.fav svg{fill:none;stroke:var(--nuit);stroke-width:2;stroke-linejoin:round}
.fav[aria-pressed=true]{border-color:#E0A800;background:#FFF8E1!important}.fav[aria-pressed=true] svg{fill:#F2B705;stroke:#B98900}
.fp-banque{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;background:var(--fond);font-size:14px;color:var(--doux)}
.fp-banque .pv-txt{flex:1;min-width:150px}.fp-banque b{color:var(--nuit)}
.fp-banque select{flex:0 1 190px;padding:6px 8px}
.fp-banque.v-ok{background:var(--ok-f)}.fp-banque.v-ok b{color:var(--ok)}
.fp-banque.v-warn{background:var(--warn-f)}.fp-banque.v-warn b{color:var(--warn)}
.fp-carte{position:relative;min-height:360px;border-left:1px solid var(--ligne)}
.fp-carte .carte{position:absolute;inset:0;border-radius:0}
.fs{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;margin-top:34px;align-items:start}
.fs-t{font:800 22px var(--f-t)!important;text-transform:uppercase;margin:0 0 10px!important;color:var(--nuit)}
.avis-titre{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font:600 15.5px var(--f);color:var(--nuit);margin:0 0 4px}
.vote{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.vb{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border:1.5px solid var(--ligne);border-radius:12px;background:var(--carte)!important;cursor:pointer;font:700 15.5px var(--f);color:var(--nuit)!important;min-height:54px;transition:border-color .15s,background .15s}
.vb-ok{--it:var(--ok);--ip:#BFE8D7}.vb-ko{--it:var(--ko);--ip:#F6C6C9}
.vb-ok:hover,.vb-ok.choisi{border-color:var(--ok);background:var(--ok-f)!important;color:var(--ok)!important}
.vb-ko:hover,.vb-ko.choisi{border-color:var(--ko);background:var(--ko-f)!important;color:var(--ko)!important}
.vb[disabled]:not(.choisi){opacity:.4;cursor:default}
.avis-form{display:grid;gap:8px;margin-top:12px;padding:14px;border-radius:12px;background:var(--carte);border:1px solid var(--ligne)}
.merci{margin:0 0 4px;font:600 15px var(--f);color:var(--ok)}
.avis-form label{font:600 14px var(--f);color:var(--nuit)}.avis-form small{color:var(--doux);font-weight:400}
.avis-form textarea,.signal-form textarea,.af-bas input[type=text]{width:100%;border:1px solid var(--ligne)!important;border-radius:9px!important;padding:10px 12px!important;font:500 15px var(--f)!important;background:var(--carte)!important;color:var(--texte)!important}
.af-bas{display:flex;gap:8px}.af-bas input{flex:1}
.piege{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.feed{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:0}
.feed-it{border-top:1px solid var(--ligne);padding:12px 0;margin:0}
.fi-tete{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px}
.fi-tete b{color:var(--nuit)}.fi-tete time{color:var(--doux);font:500 12px var(--f-m)}
.feed p{margin:6px 0 0;font-size:15px;color:#24364D}
.feed-rep{list-style:none;margin:10px 0 0 6px;padding:0 0 0 14px;border-left:3px solid var(--brume);display:grid;gap:8px}
.feed-rep li{margin:0}
.lien-rep{border:0;background:none!important;color:var(--bleu)!important;font:600 13px var(--f);padding:4px 0;cursor:pointer}
.rep-form{display:flex;gap:8px;margin-top:8px}.rep-form input{flex:1;border:1px solid var(--ligne);border-radius:8px;padding:8px 10px;font:500 14px var(--f)}
.signal{margin-top:10px;border-top:1px solid var(--ligne);padding-top:4px}
.signal-btn{display:flex;gap:8px;align-items:center;border:0;background:none!important;color:var(--doux)!important;font:600 14px var(--f);cursor:pointer;padding:8px 0;--it:var(--doux)}
.signal-btn:hover{color:var(--ko)!important;--it:var(--ko)}
.signal-form{display:grid;gap:10px;background:var(--carte);border:1px solid var(--ligne);border-radius:12px;padding:16px}
.signal-form fieldset{border:0;margin:0;padding:0;display:grid;gap:6px}
.signal-form legend{font:700 15px var(--f);color:var(--nuit);margin-bottom:6px}
.signal-form label{font-size:15px;display:flex;gap:8px;align-items:center}
.fs-side{display:grid;gap:18px}
.vois{list-style:none;margin:0;padding:0}
.vois li{margin:0;border-bottom:1px solid var(--ligne)}.vois li:last-child{border:0}
.vois a{display:grid;grid-template-columns:18px 34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;text-decoration:none;color:inherit}
.vois a:hover b{color:var(--bleu)}
.vois .rg{font:800 15px var(--f-t);color:var(--doux)}
.lo-s{width:34px;height:34px;border-radius:8px}.lo-s img{width:26px;height:26px}.lo-s.ini{font-size:11px}
.vt{min-width:0}
.vt b{display:block;font:700 14.5px/1.25 var(--f);color:var(--nuit)}
.vt>span{display:block;font-size:13px;color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vois .ds strong{font:700 15px var(--f-t);white-space:nowrap}
.frais-d{border:1px solid var(--ligne);border-radius:12px;background:var(--carte);padding:0 16px}
.frais-d summary{cursor:pointer;display:flex;gap:8px;align-items:center;padding:13px 0;font:700 15px var(--f);color:var(--nuit)}
.frais-d[open]{padding-bottom:14px}
.plaf{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.plaf li{display:flex;justify-content:space-between;gap:10px;font-size:14.5px;border-bottom:1px dashed var(--ligne);padding-bottom:5px;margin:0}
.plaf li strong{font:700 15px var(--f-t);color:var(--nuit);white-space:nowrap}
.guide-fiche{margin-top:52px;padding-top:30px;border-top:1px solid var(--ligne);max-width:760px}
.guide-fiche h2{font:700 clamp(21px,2.2vw,25px)/1.25 var(--f-t)!important;margin:28px 0 10px!important;text-transform:none}
.guide-fiche h2:first-child{margin-top:0!important}
.guide-fiche p{font-size:16.5px;line-height:1.75;color:#33445A;margin:0 0 14px}

/* ── CALCULATRICE ── */
.caisse{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start;padding-bottom:40px}
.caisse-saisie{display:grid;gap:20px;min-width:0}
.tiroir-bloc{background:var(--carte);border:1px solid var(--ligne);border-radius:16px;padding:20px 22px}
.tb-tete{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.tb-tete h2,.tb-tete h3{margin:0!important;font-size:24px;text-transform:uppercase}
.tb-st{font:500 13px var(--f-m);color:var(--doux)}
.tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:12px;margin-top:10px}
.tuiles-p{grid-template-columns:repeat(auto-fill,minmax(min(100%,128px),1fr));margin-top:14px}
.tuile{display:grid;gap:8px;justify-items:center;padding:12px;border:2px solid var(--ligne-f);border-radius:14px;background:var(--fond);transition:border-color .15s}
.tuile.on{border-color:var(--bleu);background:var(--brume)}
.billet{position:relative;width:100%;aspect-ratio:2/1;border:0;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:#fff!important;box-shadow:inset 0 0 0 3px rgba(255,255,255,.25),0 3px 8px -4px rgba(0,0,0,.4);transition:transform .08s}
.billet:active{transform:scale(.96)}
.billet::before{content:"";position:absolute;inset:6px;border:1px dashed rgba(255,255,255,.35);border-radius:4px}
.billet .bv{font:800 30px/1 var(--f-t)}.billet .be{font:600 10px var(--f-m);letter-spacing:.14em;opacity:.85}
.b5{background:linear-gradient(135deg,#8E9AA8,#6C7886)!important}.b10{background:linear-gradient(135deg,#D9585E,#B23A40)!important}.b20{background:linear-gradient(135deg,#4F86CC,#2D5E9E)!important}
.b50{background:linear-gradient(135deg,#F09440,#C9661A)!important}.b100{background:linear-gradient(135deg,#3DB06C,#22844C)!important}.b200{background:linear-gradient(135deg,#D9B13E,#A8801A)!important}.b500{background:linear-gradient(135deg,#9C7BC0,#6D4E92)!important}
.piece{width:64px;height:64px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;font:800 15px var(--f-t);color:#3D2A05!important;box-shadow:inset 0 0 0 4px rgba(255,255,255,.35),0 3px 6px -3px rgba(0,0,0,.5);transition:transform .08s}
.piece:active{transform:scale(.92)}
.piece.or{background:radial-gradient(circle at 35% 30%,#F3DA8B,#C49A2E)!important}
.piece.jaune{background:radial-gradient(circle at 35% 30%,#F0D77A,#BF9B37)!important;width:56px;height:56px}
.piece.cuivre{background:radial-gradient(circle at 35% 30%,#EDB088,#A85B2E)!important;width:50px;height:50px;color:#fff!important}
.stepper{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;width:100%;border:1px solid var(--ligne);border-radius:9px;overflow:hidden;background:var(--carte)}
.stepper button{border:0;background:var(--brume)!important;font:700 20px var(--f);color:var(--nuit)!important;cursor:pointer;padding:0;min-height:40px}
.stepper input{border:0!important;text-align:center;font:800 20px var(--f-t)!important;padding:6px 0!important;min-width:0;width:100%;-moz-appearance:textfield;background:transparent!important;color:var(--nuit)!important}
.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.paquet{border:0;background:none!important;color:var(--bleu)!important;font:600 12.5px var(--f);cursor:pointer;padding:2px}
.st{font:500 12px var(--f-m);color:var(--doux)}
.caisse-total{position:sticky;top:calc(var(--hh) + 16px);display:grid;gap:14px;background:var(--carte);border:1px solid var(--ligne);border-radius:16px;padding:18px}
.ecran-caisse{background:var(--nuit);border-radius:12px;padding:18px 20px;color:#BFE0FF;box-shadow:inset 0 0 0 3px #0B3E7A}
.ec-lbl{margin:0;font:600 11px var(--f-m);letter-spacing:.14em;text-transform:uppercase}
.ec-total{margin:6px 0 4px;font:800 clamp(40px,4.4vw,54px)/1 var(--f-t);color:#fff;font-variant-numeric:tabular-nums}
.ec-det{margin:0;font:500 13px var(--f-m)}
.fond{display:flex;justify-content:space-between;align-items:center;gap:10px;font:600 14px var(--f);color:var(--nuit)}
.fond span{display:flex;align-items:center;gap:6px}.fond input{width:110px;border:1px solid var(--ligne)!important;border-radius:8px!important;padding:8px!important;font:700 16px var(--f-t)!important;text-align:right}
.depot{margin:0;padding:10px 12px;border-radius:9px;background:var(--ok-f);color:var(--ok);font:700 15px var(--f)}
.bord{font:500 12.5px/1.7 var(--f-m);color:var(--doux);border-top:1px dashed var(--ligne);padding-top:10px;white-space:pre-wrap;max-height:220px;overflow:auto}
.lien-raz{border:0;background:none!important;color:var(--ko)!important;font:600 13.5px var(--f);cursor:pointer;padding:6px 0}
.histo ol{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.histo li{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;margin:0}.histo li b{font:700 15px var(--f-t);color:var(--nuit)}
.histo button{border:0;background:none!important;color:var(--bleu)!important;font:600 13px var(--f);cursor:pointer;padding:0}
.outil-texte{padding:20px 0 56px}

/* ── pages légales ── */
.legal .wrap{padding-top:24px;padding-bottom:60px}
.legal h1{font-size:clamp(32px,4vw,46px);text-transform:uppercase;margin:0 0 6px}

/* ── 404 ── */
.e404{display:grid;justify-items:center;text-align:center;gap:20px;padding:60px 20px}
.e404 .ecran{background:#0B3E7A;border:4px solid #5BA6F5;border-radius:12px;padding:30px 34px;color:#D6EBFF;max-width:520px;font:500 16px/1.6 var(--f-m);--it:#fff;--ip:#1D5596}
.e404 h1{color:#fff;font-size:36px;text-transform:uppercase;letter-spacing:.06em;margin:10px 0}
.e404 .acts{justify-content:center}

/* ── pied de page ── */
.df{background:var(--nuit);color:#C9D9EC}
.df-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding:52px max(20px,env(safe-area-inset-left)) 34px}
.df-logo img{height:48px;width:auto;filter:brightness(0) invert(1);display:block;margin-bottom:16px}
.df-marque p{margin:0 0 10px;font-size:15px;line-height:1.6;max-width:42ch}
.df-chiffre strong{font:800 22px var(--f-t);color:#fff}
.df-cta{margin-top:8px;box-shadow:3px 3px 0 #1D5596!important}
.df-titre{font:800 16px var(--f-t);letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:4px 0 14px}
.df ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.df li{margin:0}
.df a{color:#C9D9EC;text-decoration:none}.df a:hover{color:#fff;text-decoration:underline}
.df-2{grid-template-columns:1fr 1fr}
.df-plus{display:inline-block;margin-top:12px;font-weight:700;color:#fff!important}
.df-bas{border-top:1px solid rgba(255,255,255,.12)}
.df-bas{max-width:none}
.df-bas>*{max-width:1240px}
.df-bas{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px max(20px,calc((100vw - 1200px)/2)) 26px;font-size:13.5px;color:#8FA6C0}
.df-bas p{margin:0}
.df-bas nav{display:flex;gap:18px;flex-wrap:wrap}
.tabbar{display:none}

/* ── articles (blog, gabarit Astra) ── */
body:not(.ddb-app) .site-content{padding-top:24px}
body:not(.ddb-app) .entry-title{font-size:clamp(28px,3.4vw,40px)}

/* ── responsive ── */
@media (max-width:1100px){.dh-nav>a,.dd-btn{padding:9px 8px;font-size:14px}.dh-geo span{display:none}}
@media (max-width:921px){
  :root{--hh:112px}
  .dh-in{grid-template-columns:auto 1fr;height:auto;gap:10px;padding-block:10px}
  .dh-nav{display:none}
  .dh-logo img{height:38px}
  .dh-srch{grid-column:1/-1;height:46px}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--carte);border-top:1px solid var(--ligne);padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a{display:grid;justify-items:center;gap:2px;padding:8px 0 9px;text-decoration:none;font:600 11.5px var(--f);color:var(--doux)}
  .tabbar a[aria-current]{color:var(--bleu);--it:var(--bleu)}
  body{padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom))!important}
  .app{display:flex;flex-direction:column;height:auto;min-height:0}
  .app-side{display:contents}
  .app-head{order:1}.app-start{order:2}.app-map{order:3;height:46vh;min-height:280px}.filtres{order:4}.res-list{order:5}.app-vide{order:5}
  .res-list{overflow:visible}
  .hero{grid-template-columns:1fr}
  .hero-carte{min-height:300px;order:2}
  .fp,.fs,.caisse,.guide,.auteur{grid-template-columns:1fr}
  .fp-carte{min-height:260px;border-left:0;border-top:1px solid var(--ligne)}
  .fs{gap:28px}
  .guide-nav{position:static}
  .caisse-total{position:static;order:-1}
  .etapes{grid-template-columns:1fr}
  .df-in{grid-template-columns:1fr 1fr}
  .df-marque{grid-column:1/-1}
}
@media (max-width:600px){
  .lo-xl{width:58px;height:58px}.lo-xl img{width:46px;height:46px}
  .vote{grid-template-columns:1fr}
  .partager{margin-left:0}
  .res{padding:11px 16px;grid-template-columns:24px 40px minmax(0,1fr) auto;gap:9px}
  .app-head,.app-start,.filtres{padding-left:16px;padding-right:16px}
  .g-card{grid-template-columns:1fr;padding:20px}
  .texte{padding:20px}
  .df-in{grid-template-columns:1fr}
  .bar{grid-template-columns:100px minmax(0,1fr) 34px}
  .auteur img{width:150px;height:150px}
}
@media print{.dh,.df,.tabbar,.caisse-saisie,.acts,.hero{display:none!important}.caisse{display:block}}
.piece span{white-space:nowrap;font-size:14px;letter-spacing:-.01em}
.piece.cuivre span{font-size:13px}
@media (max-width:600px){.hero h1{font-size:26px}.sous{font-size:15px!important}.fp-info{padding:18px}.photo-mini{width:72px;height:72px}.btn-app{padding-right:8px}.btn-app b{font-size:14.5px}}
@media (max-width:600px){.adr{font-size:18px}.adr span{font-size:15px}.ft h1{font-size:23px!important}.fp-nav{gap:8px}}

/* ── fiche : favori, photo, résumé des avis, visionneuse, barre d'actions mobile ── */
#page{overflow-x:clip}
.ft{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;max-width:none}
.ft-txt{max-width:980px;min-width:0}
.fav-haut{display:flex;flex-direction:column;align-items:center;gap:3px;border:1.5px solid var(--ligne);background:var(--carte)!important;border-radius:14px;padding:10px 14px;cursor:pointer;font:700 12px var(--f);color:var(--nuit)!important;min-width:72px}
.fav-haut svg{width:26px;height:26px}
.fav-haut:hover{border-color:#E0A800}
.photo{position:relative;flex:none;width:150px;height:118px;border-radius:12px;border:1.5px dashed var(--ligne);background:var(--fond)!important;display:grid;place-items:center;align-content:center;gap:4px;cursor:zoom-in;padding:0;overflow:hidden;font:600 12px var(--f);color:var(--doux)!important;--ip:var(--brume)}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo:hover{border-color:var(--bleu)}
.photo-fs{position:absolute;right:6px;bottom:6px;width:28px;height:28px;border-radius:8px;background:rgba(6,42,82,.78);color:#fff;display:grid;place-items:center}
.photo-fs svg{width:16px;height:16px}
.avis-resume{display:grid;gap:10px}
.ar-etat{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:14px}
.ar-etat b{display:block;font:800 22px/1.1 var(--f-t);text-transform:uppercase}
.ar-etat span{font-size:14px;color:var(--doux)}
.ar-ok{background:var(--ok-f);--it:var(--ok);--ip:#BFE8D7}.ar-ok b{color:var(--ok)}
.ar-ko{background:var(--ko-f);--it:var(--ko);--ip:#F6C6C9}.ar-ko b{color:var(--ko)}
p.ar-ok{display:flex;gap:8px;align-items:center;margin:0;padding:0;background:none;font:600 14px var(--f);color:var(--ok)}
.ar-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--ligne-f)}
.ar-bar i{display:block;height:100%}.b-okb{background:var(--ok)}.b-kob{background:var(--ko)}
.ar-leg{display:flex;gap:16px;flex-wrap:wrap;margin:0;font-size:13.5px;color:var(--doux)}
.ar-leg span{display:flex;align-items:center;gap:6px}.ar-leg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.pt-ok{background:var(--ok)}.pt-ko{background:var(--ko)}.ar-90{margin-left:auto;font:500 12px var(--f-m)}
.visio{border:0;padding:0;border-radius:16px;max-width:min(92vw,900px);width:100%;background:var(--carte);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.visio::backdrop{background:rgba(3,14,28,.78)}
.visio-x{position:absolute;right:10px;top:10px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92)!important;color:var(--nuit)!important;font-size:26px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.visio-c{min-height:min(60vh,520px);display:grid;place-items:center;background:var(--fond)}
.visio-c img{width:100%;max-height:80vh;object-fit:contain;display:block}
.visio-vide{display:grid;justify-items:center;gap:10px;text-align:center;padding:40px 24px;color:var(--doux);max-width:420px}
.visio-vide b{font:800 24px var(--f-t);text-transform:uppercase;color:var(--nuit)}
.visio-vide .ic{width:90px;height:90px}
.visio-l{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin:0;padding:9px 16px;font:500 13.5px var(--f);color:var(--nuit);border-top:1px solid var(--ligne)}
.vl-a{min-width:0}
.vl-cr{font-size:11px;color:var(--doux)}.vl-cr a{color:inherit}
.visio-l{flex-wrap:nowrap;overflow:hidden;white-space:nowrap}.vl-a{overflow:hidden;text-overflow:ellipsis}.vl-cr{flex:none}
.vl-ko{position:absolute;left:10px;top:10px;z-index:2;border:0;border-radius:20px;padding:7px 12px;background:rgba(6,42,82,.72)!important;color:#fff!important;font:600 12px var(--f);cursor:pointer}
.vl-ko[disabled]{background:rgba(6,42,82,.55)!important}
.vl-ko[disabled]{text-decoration:none;cursor:default}
.actbar{display:none}
@media (max-width:921px){
  .actbar{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;left:0;right:0;bottom:0;z-index:56;background:var(--carte);border-top:1px solid var(--ligne);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px -18px rgba(6,42,82,.5)}
  .actbar>*{display:grid;justify-items:center;gap:3px;padding:6px 0;border:0;background:none!important;text-decoration:none;font:600 11.5px var(--f);color:var(--nuit)!important;cursor:pointer}
  .actbar .ic{width:22px;height:22px}
  .actbar .act-go{background:var(--bleu)!important;color:#fff!important;border-radius:14px;margin:-18px 2px 0;padding:12px 0 8px;box-shadow:0 8px 18px -8px rgba(4,107,210,.8);--it:#fff;--ip:rgba(255,255,255,.3);font-size:12.5px}
  .actbar .act-go .ic{width:26px;height:26px}
}
@media (max-width:600px){
  .ft{grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .fav-haut{min-width:0;padding:8px 10px}.fav-haut span{display:none}
  .photo{width:112px;height:96px}
  .fp-adr{gap:12px}
}
.photo-fs{top:6px;right:6px;bottom:auto}
.photo span{padding:0 8px;line-height:1.2}
#ast-scroll-top,.ast-scroll-top-icon{display:none!important}
.actbar>button{box-shadow:none!important}
.visio-x{display:grid;place-items:center;padding:0}

/* ── fiche v4 : favori long, état sobre, avis calmes ── */
.ft-marque{flex-wrap:wrap}
.fav-long{margin-left:auto;display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ligne);background:var(--carte)!important;color:var(--nuit)!important;border-radius:999px;padding:5px 12px 5px 16px;font:700 13.5px var(--f);cursor:pointer;height:34px}
.fav-long svg{width:18px;height:18px}
.fav-long:hover{border-color:#E0A800}
.etat-mini{display:inline-flex;align-items:center;gap:7px;font:500 14px var(--f);color:var(--doux);text-decoration:none}
.etat-mini u{text-decoration:underline;text-underline-offset:3px;color:var(--bleu)}
.pt{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}
.pt-ok{background:var(--ok)}.pt-ko{background:#D97757}.pt-gris{background:var(--ligne)}
.av-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.av-tete .fs-t{margin:0!important}
.av-stat{display:grid;gap:4px;justify-items:end;font:500 12.5px var(--f-m);color:var(--doux)}
.av-stat .ar-bar{width:120px;height:5px}
.b-kob{background:#D97757!important}
.av-res{margin:4px 0 0;display:grid;gap:4px;font-size:14.5px}
.av-res div{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.av-res dt{color:var(--doux);min-width:150px}
.av-res dd{margin:0;display:flex;align-items:center;gap:7px;color:var(--nuit);font-weight:600}
.av-ini{width:26px;height:26px;border-radius:50%;background:var(--brume);color:var(--nuit);display:grid;place-items:center;font:800 13px var(--f-t);flex:none}
.fi-e{font:600 12.5px var(--f);padding-left:14px;position:relative}
.fi-e::before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%)}
.fi-ok{color:var(--ok)}.fi-ok::before{background:var(--ok)}
.fi-ko{color:#B0583A}.fi-ko::before{background:#D97757}
.feed p{margin-left:34px}
.feed .lien-rep{margin-left:34px}
.feed-rep{margin-left:40px}
.vb-ko{--it:#B0583A;--ip:#F3D3C6}
.vb-ko:hover,.vb-ko.choisi{border-color:#D97757;background:#FBEEE8!important;color:#9A4A2F!important}
.app{height:min(calc(100vh - var(--hh) - 1px),720px)}
@media (max-width:600px){.fav-long{margin-left:0}.av-res dt{min-width:0}}

/* ── BLOG : liste et article ── */
.blog-hero{background:var(--carte);border-bottom:1px solid var(--ligne);padding:22px 0 30px}
.blog-hero h1,.a-tete h1{font-size:clamp(32px,4.4vw,52px);font-weight:800;text-transform:uppercase;margin:4px 0 10px}
.blog-hero .hero-intro{margin:0 0 16px}
.blog-corps{padding-top:30px;padding-bottom:60px;display:grid;gap:34px}
.b-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px}
.b-grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.b-card{display:flex;flex-direction:column;background:var(--carte);border:1px solid var(--ligne);border-radius:16px;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}
.b-card:hover{border-color:var(--bleu);box-shadow:0 16px 34px -24px rgba(6,42,82,.6);transform:translateY(-2px)}
.b-img{display:block;aspect-ratio:16/9;background:var(--brume);overflow:hidden}
.b-img img{width:100%;height:100%;object-fit:cover;display:block}
.b-img-vide{display:grid;place-items:center;height:100%}
.b-txt{padding:16px 18px 18px;display:grid;gap:8px;align-content:start;flex:1}
.b-cat{justify-self:start;font:700 11.5px var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--bleu);background:var(--brume);border-radius:999px;padding:3px 10px;text-decoration:none}
.b-card h2{font:700 20px/1.25 var(--f-t)!important;margin:0!important;text-transform:none}
.b-card h2 a{color:var(--nuit);text-decoration:none}.b-card h2 a:hover{color:var(--bleu)}
.b-card p{margin:0;font-size:15px;color:#3B4C61;line-height:1.55}
.b-card .b-meta{font-size:13px;color:var(--doux);margin-top:auto}
.b-une{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr}
.b-une .b-img{aspect-ratio:auto;min-height:320px}
.b-une h2{font-size:clamp(24px,2.6vw,32px)!important}
.b-une .b-txt{padding:28px;align-content:center}
.cta-app{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--nuit);color:#C9D9EC;border-radius:16px;padding:22px 24px;--it:#fff;--ip:#1D5596}
.cta-app>div{flex:1;min-width:220px}
.cta-app p{margin:0;font-size:15px}.cta-app .cta-t{font:800 22px var(--f-t);color:#fff;text-transform:uppercase;margin-bottom:4px}
.article>.wrap{padding-top:20px;padding-bottom:60px}
.a-tete{max-width:900px}
.a-meta{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;font-size:14px;color:var(--doux)}
.a-meta img{border-radius:50%}
.a-meta a{color:var(--nuit);font-weight:600;text-decoration:none}
.a-img{margin:24px 0 0;border-radius:18px;overflow:hidden;max-height:520px}
.a-img img{width:100%;height:100%;max-height:520px;object-fit:cover;display:block}
.a-grille{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;margin-top:34px;align-items:start}
.a-txt{max-width:74ch}
.a-txt h2{scroll-margin-top:90px}
.a-txt img{border-radius:12px;height:auto}
.a-txt table{width:100%;border-collapse:collapse;font-size:15px;margin:18px 0}
.a-txt th,.a-txt td{border:1px solid var(--ligne);padding:8px 10px;text-align:left}
.a-txt th{background:var(--brume)}
.a-txt blockquote{border-left:4px solid var(--bleu);margin:20px 0;padding:6px 18px;background:var(--carte);border-radius:0 10px 10px 0}
.a-cote{position:sticky;top:calc(var(--hh) + 20px);display:grid;gap:16px}
.a-cote .cta-app{flex-direction:column;align-items:flex-start}
.a-som{background:var(--carte);border:1px solid var(--ligne);border-radius:14px;padding:4px 18px 16px}
.a-som ol{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14px}
.a-som a{color:var(--nuit);text-decoration:none}.a-som a:hover{color:var(--bleu)}
.a-auteur{display:flex;gap:20px;align-items:center;background:var(--carte);border:1px solid var(--ligne);border-radius:16px;padding:22px;margin-top:40px;max-width:900px}
.a-auteur img{border-radius:50%;flex:none}
.a-auteur p{margin:0;color:#3B4C61}.a-nom{font:800 22px var(--f-t);color:var(--nuit)!important;text-transform:uppercase}
.a-lies{margin-top:48px}
@media (max-width:921px){.b-une{grid-template-columns:1fr}.b-une .b-img{min-height:0;aspect-ratio:16/9}.a-grille{grid-template-columns:1fr}.a-cote{position:static}}

/* ── barres du bas mobiles : stables sur Safari iOS ── */
@media (max-width:921px){
  .tabbar,.actbar{bottom:0!important;transform:translate3d(0,calc(0px - var(--vvoff,0px)),0);transition:transform .22s ease;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}
  .tabbar.bas-cache,.actbar.bas-cache{transform:translate3d(0,calc(100% + 24px),0)}
  .tabbar.bas-clavier,.actbar.bas-clavier{display:none}
}
.fiche .ft{display:block}
.a-tete h1{font:700 clamp(28px,3.4vw,42px)/1.15 var(--f-t)!important;text-transform:none!important;margin:8px 0 14px}
.a-meta img,.a-meta .av-ini{width:40px;height:40px}
.av-ini.av-40{font-size:17px}.av-ini.av-96{width:96px;height:96px;font-size:40px}
.a-auteur img{width:96px;height:96px}

/* ── v6 : mobile d'abord ── */
.cta-bas{display:none}
.appi-plans{background:none;overflow:hidden;border-radius:10px}.appi-plans svg{width:38px;height:38px}
.fav-long{height:auto;padding:2px 8px 2px 10px;font:600 12px var(--f-m);gap:5px;border-width:1px}
.fav-long svg{width:13px;height:13px}
.etat-mini{white-space:nowrap;flex-wrap:nowrap;max-width:100%;overflow:hidden}
.etat-mini span,.etat-mini u{white-space:nowrap}
.fiche-pied{margin-top:44px;padding-top:20px;border-top:1px solid var(--ligne);display:grid;gap:10px}
.fiche-pied .ariane{margin:0}
.maj{margin:0;font-size:13px;color:var(--doux)}
.fiche-pied .signal{border:0;margin:0;padding:0}
@media (max-width:921px){
  :root{--hh:62px}
  .dh-in{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:8px max(12px,env(safe-area-inset-left));height:var(--hh)}
  .dh-logo img{height:30px}
  .dh-srch{grid-column:auto;height:42px;padding-left:10px;border-radius:9px}
  .dh-srch input{font-size:15px}
  .dh-srch>.ic{display:none}
  .dh-geo{padding:6px 9px;min-height:32px}
  .tabbar{display:none!important}
  .cta-bas{display:block;position:fixed;left:0;right:0;bottom:0;z-index:55;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(243,246,250,1) 60%,rgba(243,246,250,0))}
  .cta-bas .btn{width:100%;min-height:52px;font-size:16px;box-shadow:0 10px 24px -10px rgba(4,107,210,.7)}
  .cta-bas{transform:translate3d(0,calc(0px - var(--vvoff,0px)),0);transition:transform .22s ease;will-change:transform}
  .cta-bas.bas-cache{transform:translate3d(0,calc(100% + 24px),0)}
  .cta-bas.bas-clavier{display:none}
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
  /* accueil */
  .app-head{padding:16px 16px 12px}
  .app-head h1{font-size:23px}
  .app-head .kick{display:none}
  .app-start{padding:14px 16px 16px}
  .app-start .lbl{margin-top:14px}
  .app-map{height:42vh;min-height:260px}
  .chips-ligne{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px 6px;scrollbar-width:none}
  .chips-ligne::-webkit-scrollbar{display:none}
  .chips-ligne .chip{flex:none}
  .v-ligne{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,62%);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:4px 20px 10px;scrollbar-width:none}
  .v-ligne::-webkit-scrollbar{display:none}
  .v-ligne .v-card{scroll-snap-align:start}
  .bande{padding-block:26px}
  .etapes{grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 6px;gap:12px;scrollbar-width:none}
  .etapes>div{scroll-snap-align:start;padding:16px}
  .etapes h3{font-size:20px;margin:6px 0 4px}
  .sec{padding-block:36px}
  .sec-tete h2{font-size:26px}
  .b-cards{grid-template-columns:1fr 1fr;gap:8px}
  .b-card{padding:10px;gap:10px}
  .b-card .lo-l{width:40px;height:40px}.b-card .lo-l img{width:32px;height:32px}
  .b-card b{font-size:14px}
  .guide{gap:16px}
  .guide-nav summary{cursor:pointer;margin:12px 0}
  .auteur{gap:18px;justify-items:start}
  /* fiche */
  .fiche>.wrap{padding-top:14px}
  .fp-info{padding:16px}
}
@media (max-width:600px){
  .hero-txt>.btn.big{max-width:none}
  .fs-t{font-size:20px!important}
}
@media (max-width:921px){.cta-bas.cta-off{opacity:0;pointer-events:none;transform:translate3d(0,100%,0)}.etat-mini{font-size:13px;gap:5px}}
.aut-tete{display:flex;gap:18px;align-items:center;margin:6px 0 12px}
.aut-tete img,.aut-tete .av-ini{width:96px;height:96px;border-radius:50%;flex:none;object-fit:cover}
.aut-tete h1{margin:2px 0 6px!important}
.aut-faits{font-size:14px;color:var(--doux);margin:0 0 8px}
.maj a{color:inherit}
/* Accueil : un seul bloc pour trouver (autour de moi, ou une adresse) */
.trouve{display:grid;gap:10px;margin-top:16px}
.trouve .btn.big{font-size:19px}
.trouve .ou{display:flex;align-items:center;gap:12px;margin:0;font:600 13px var(--f);color:var(--doux);text-transform:uppercase;letter-spacing:.08em}
.trouve .ou::before,.trouve .ou::after{content:"";flex:1;height:1px;background:var(--ligne)}
.tr-srch{position:relative;display:flex;align-items:center;gap:10px;border:2px solid var(--nuit);border-radius:10px;padding:0 14px;height:56px;background:var(--carte)}
.tr-srch:focus-within{border-color:var(--bleu,#046bd2);box-shadow:0 0 0 3px rgba(4,107,210,.18)}
.tr-srch input{flex:1;min-width:0;border:0!important;background:transparent!important;font:500 17px var(--f);color:var(--texte);outline:none;height:100%;padding:0!important;box-shadow:none!important}
.trouve .note{margin:0;font-size:13px}
.app-where:not([hidden]){margin-top:14px}
.mabanque[hidden]{display:none!important}
@media (max-width:921px){
  .home .dh-srch{display:none}
  .app-start{overflow:visible}
}
/* Réponse immédiate : le plus proche, puis la carte et la liste */
.proche{margin-top:14px;display:grid;gap:10px}
.proche .lbl{margin:0}
.pr-l{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:2px solid var(--bleu,#046bd2);border-radius:12px;background:var(--carte);color:inherit;text-decoration:none}
.pr-l b{display:block;font-size:17px}
.pr-l .ad{display:block;font-size:14px;color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-l .ds{text-align:right;font-size:13px;color:var(--doux)}
.pr-l .ds strong{display:block;font-size:20px;color:var(--nuit)}
.proche .acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.proche .acts .btn{justify-content:center}
.a-ok .trouve{display:flex;gap:8px;margin-top:12px}
.a-ok .trouve .ou,.a-ok .trouve .note{display:none}
.a-ok .tr-srch{flex:1;order:1;min-width:0}
.a-ok .trouve .btn.big{order:2;width:auto;flex:none;padding:0 16px}
.a-ok .trouve .btn .tx{display:none}
.a-ok .app-where{margin-top:10px}
.home .dh-srch{display:none}
@media (max-width:921px){ .filtres{flex-wrap:wrap;overflow:visible} }
@media (max-width:921px){
  .app{height:auto!important;min-height:0}
  .app-map{flex:none}
  .etapes{display:grid;grid-auto-flow:row;grid-template-columns:1fr;overflow:visible;margin:0 auto;padding:0 16px;gap:0}
  .etapes>div{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:start;padding:14px 0;border:0;border-radius:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .etapes>div:last-child{border-bottom:0}
  .etapes>div>.ic{grid-row:1/3;width:40px;height:40px}
  .etapes h3{margin:2px 0 2px;font-size:18px}
  .etapes p{font-size:14.5px}
  .et-n{display:none}
}
@media (max-width:921px){ .app-map{height:44vh;min-height:300px;overflow:hidden} .app-map .carte{min-height:0;height:100%} }
/* Pages ville et banque : même bloc de recherche que l'accueil */
.liste .trouve{margin-top:18px;max-width:560px}
.liste .proche{max-width:560px}
.trouve.ok{display:flex;gap:8px;margin-top:14px}
.trouve.ok .ou,.trouve.ok .note{display:none}
.trouve.ok .tr-srch{flex:1;order:1;min-width:0}
.trouve.ok .btn.big{order:2;width:auto;flex:none;padding:0 16px}
.trouve.ok .btn .tx{display:none}
.pr-suite{list-style:none;margin:2px 0 0;padding:0;border:1px solid var(--ligne);border-radius:12px;background:var(--carte);overflow:hidden}
.pr-suite li+li{border-top:1px solid var(--ligne-f)}
.pr-suite a{display:grid;grid-template-columns:22px auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;color:inherit;text-decoration:none;font-size:14.5px}
.pr-suite .rg{font:700 13px var(--f-m,monospace);color:var(--doux)}
.pr-suite .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--doux)}
.pr-suite .nm b{color:var(--nuit)}
.pr-suite .d{font-weight:700;color:var(--nuit)}
.pr-pied{display:flex;flex-wrap:wrap;gap:6px 18px;margin:2px 0 0;font-size:14px}
.lien{background:none;border:0;padding:0;font:600 14px var(--f);color:var(--bleu,#046bd2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (max-width:921px){ body:has(.liste .trouve) .dh-srch{display:none} }
.legal .prose blockquote{border-left:4px solid var(--bleu,#046bd2);margin:22px 0;padding:10px 20px;background:var(--carte);border-radius:0 12px 12px 0;font-size:1.08em;font-style:italic;color:var(--nuit)}
@media (max-width:640px){ .visio-l .vl-a{display:none} .visio-c{min-height:0} .vl-long{display:none} .vl-aut{display:inline-block;max-width:8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom} .visio-l{padding-inline:12px} }
/* Envoi d'une photo par un visiteur */
.envoi{display:grid;justify-items:center;gap:10px;text-align:center;padding:30px 22px;max-width:440px;margin:0 auto;color:var(--doux)}
.envoi .ic{width:64px;height:64px}
.envoi b{font:800 22px var(--f-t);text-transform:uppercase;color:var(--nuit)}
.envoi p{margin:0}
.envoi-f{display:block;width:100%;padding:14px;border:2px dashed var(--bleu,#046bd2);border-radius:12px;color:var(--bleu,#046bd2);font-weight:700;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.envoi-f input{position:absolute;opacity:0;width:1px;height:1px}
.envoi input[name=prenom]{width:100%;height:46px;border:1.5px solid var(--ligne);border-radius:10px;padding:0 12px;font:500 15px var(--f)}
.envoi-ok{display:flex;gap:8px;align-items:flex-start;text-align:left;font-size:13px}
.envoi .btn{width:100%}
.envoi .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.envoi [data-envoi-msg]:empty{display:none}
/* Listes ville et banque : miniature de la photo quand on l'a */
.v-item.a-photo{grid-template-columns:96px minmax(0,1fr) auto;padding:10px 14px 10px 10px}
.v-ph{position:relative;display:block;width:96px;height:64px;border-radius:9px;overflow:hidden;background:var(--fond)}
.v-ph img{width:100%;height:100%;object-fit:cover;display:block}
.v-ph>span{position:absolute;left:4px;bottom:4px;width:34px;height:22px;border-radius:5px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3);padding:2px;display:grid;place-items:center}
.v-ph>span img{width:100%;height:100%;object-fit:contain}
@media (max-width:640px){ .v-item.a-photo{grid-template-columns:84px minmax(0,1fr) auto} .v-ph{width:84px;height:56px} }
/* Petites miniatures : DAB à proximité, suite des résultats */
.v-ph.v-ph-s{width:60px;height:40px;border-radius:7px}
.v-ph.v-ph-s>span{width:24px;height:16px;left:3px;bottom:3px;padding:1px;border-radius:4px}
.vois a{grid-template-columns:18px auto minmax(0,1fr) auto}
.vois a>.lo{width:34px}
.res .v-ph{width:72px;height:48px}
.pr-l .v-ph{width:84px;height:56px}
.res{grid-template-columns:30px auto minmax(0,1fr) auto}
.res>.lo{width:44px}
@media (max-width:921px){ .res{grid-template-columns:24px auto minmax(0,1fr) auto} .res>.lo{width:40px} .res .v-ph{width:64px;height:43px} }
.maj.src{margin-top:-6px;font-size:12px}
