/* idsortie : Recherche, phase 3 : le plan (aperçu). Valeurs de la maquette « Recherche ». */
.idspl{position:relative;width:100%;height:100%;overflow:hidden;background:#e8efef;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#10191d;-webkit-font-smoothing:antialiased}
.idspl *{box-sizing:border-box}
.idspl button{font-family:inherit;margin:0;text-transform:none;letter-spacing:0;line-height:1.2}
.idspl-cv{position:absolute;inset:0}
.idspl .maplibregl-ctrl-attrib{font-size:11px}
.idspl [hidden]{display:none!important}

/* ---- PC : panneau à droite de la liste ---- */
html.idspl-pc .cts-explore .finder-listings,html.idspl-pc #c27-explore-listings #finderListings{top:var(--idspl-top,218px)!important;left:0!important;right:auto!important;width:59%!important;bottom:0!important;height:auto!important}
html.idspl-pc .cts-explore .finder-listings .results-view,html.idspl-pc .cts-explore .ids-rv-tri{max-width:none!important}
html.idspl-pc .cts-explore .finder-listings .results-view{width:auto!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:18px!important}
@media (max-width:1240px){html.idspl-pc .cts-explore .finder-listings .results-view{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.idspl-pcp{position:absolute;right:0;bottom:0;top:var(--idspl-top,218px);width:41%;padding:16px 20px 20px 0;z-index:10}
.idspl-pcp .idspl{border-radius:28px;box-shadow:inset 0 0 0 1px rgba(16,25,29,.06),0 4px 20px rgba(20,30,40,.08)}
html.idspl-mob .idspl-pcp{display:none}
html.idspl-on .explore-mobile-nav{display:none!important}

/* ---- Mobile : plan plein écran, bouton Plan / Liste ---- */
.idspl-m{position:fixed;inset:0;z-index:9990;background:#e8efef;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s linear .3s}
html.idspl-open .idspl-m{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s}
html.idspl-pc .idspl-m{display:none}
html.idspl-open,html.idspl-open body{overflow:hidden!important}
.idspl-tog{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9995;min-height:44px;border:none;border-radius:999px;background:#10191d;color:#fff;padding:0 18px;display:flex;gap:7px;align-items:center;font:800 14px/1 'Plus Jakarta Sans',system-ui,sans-serif;box-shadow:0 10px 24px rgba(16,25,29,.3);cursor:pointer;transition:bottom .3s cubic-bezier(.2,.8,.2,1),transform .15s;text-transform:none;letter-spacing:0;margin:0}
.idspl-tog .ti{font-size:18px}
.idspl-tog:active{transform:translateX(-50%) scale(.94)}
html.idspl-open .idspl-tog{bottom:var(--idspl-car,92px)}
html.idspl-pc .idspl-tog{display:none}

/* Haut du plan (mobile) */
.idspl-top{display:none}
.idspl.mob .idspl-top{position:absolute;left:16px;right:16px;top:16px;display:flex;gap:8px;align-items:center;z-index:8}
.idspl-r{flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.95);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 24px rgba(16,25,29,.12);color:#10191d;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;padding:0}
.idspl-r .ti{font-size:21px}
.idspl-r .bd{position:absolute;right:-2px;top:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#1fb0c0;color:#10191d;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.idspl-lieu{flex:1;min-width:0;min-height:52px;border-radius:999px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.95);box-shadow:0 10px 24px rgba(16,25,29,.12);padding:0 16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;cursor:pointer;color:#10191d;text-align:left}
.idspl-lieu .l1{font-size:14px;font-weight:800;display:flex;gap:5px;align-items:center;max-width:100%;white-space:nowrap;overflow:hidden}
.idspl-lieu .l1 b{overflow:hidden;text-overflow:ellipsis;font-weight:800}
.idspl-lieu .l1 .ti{font-size:15px;color:#0a7684;flex:0 0 auto}
.idspl-lieu .l2{font-size:12px;color:#5d6a70;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-weight:600}

/* Note du plan (PC) */
.idspl-note{position:absolute;left:16px;top:16px;z-index:7;background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border:1px solid rgba(255,255,255,.95);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;color:#4a565b;display:flex;gap:5px;align-items:center;max-width:calc(100% - 90px);white-space:nowrap;overflow:hidden}
.idspl-note .ti{font-size:14px;color:#0a7684}
.idspl.mob .idspl-note{display:none}

/* Boutons du milieu */
.idspl-mid{position:absolute;left:50%;top:64px;transform:translateX(-50%);z-index:9;max-width:calc(100% - 120px)}
.idspl.mob .idspl-mid{top:80px;max-width:calc(100% - 92px);left:calc(50% - 22px)}
.idspl-pill{min-height:40px;border:none;border-radius:999px;background:#fff;color:#10191d;padding:0 14px;display:flex;gap:6px;align-items:center;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(16,25,29,.15);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.idspl-pill .ti{font-size:16px;color:#0a7684;flex:0 0 auto}
.idspl-pill[disabled]{cursor:default;color:#4a565b}
.idspl .spin,.idspl-c .spin{animation:idsplSpin .8s linear infinite}
@keyframes idsplSpin{to{transform:rotate(360deg)}}

/* Contrôles */
.idspl-ctl{position:absolute;right:16px;top:16px;bottom:16px;display:flex;flex-direction:column;justify-content:space-between;z-index:8;pointer-events:none}
.idspl-ctl button{pointer-events:auto;width:40px;height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.95);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;color:#10191d;cursor:pointer;padding:0;box-shadow:0 4px 14px rgba(16,25,29,.08)}
.idspl-ctl button .ti{font-size:19px}
.idspl-ctl button[data-a="zin"]{margin-top:auto;margin-bottom:6px}
.idspl.mob .idspl-ctl{top:80px;bottom:auto;justify-content:flex-start;gap:6px}
.idspl.mob .idspl-ctl button{width:44px;height:44px}
.idspl.mob .idspl-ctl button[data-a="zin"]{margin:0}

/* Cartes d'information */
.idspl-geo,.idspl-vide{position:absolute;z-index:13;background:#fff;border-radius:20px;padding:12px 12px 12px 14px;display:flex;gap:10px;align-items:flex-start;box-shadow:0 12px 28px rgba(16,25,29,.2)}
.idspl-geo{left:16px;right:72px;top:64px}
.idspl.mob .idspl-geo{top:80px;right:72px}
.idspl-geo .ic,.idspl-vide .ic{width:36px;height:36px;border-radius:12px;background:#fde3d3;color:#a2401a;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.idspl-vide .ic{width:44px;height:44px;border-radius:14px;background:rgba(31,176,192,.14);color:#0a7684}
.idspl-geo .ic .ti{font-size:19px}.idspl-vide .ic .ti{font-size:22px}
.idspl-geo .tx,.idspl-vide .tx{flex:1;display:flex;flex-direction:column;gap:2px;line-height:1.35}
.idspl-geo b,.idspl-vide b{font-size:14px;font-weight:800}
.idspl-geo .tx span,.idspl-vide .tx span{font-size:13px;color:#4a565b}
.idspl-geo button{width:32px;height:32px;border:none;border-radius:50%;background:#eef2f2;color:#10191d;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;padding:0}
.idspl-vide{left:16px;bottom:16px;width:360px;max-width:calc(100% - 80px);align-items:center;border-radius:24px}
.idspl.mob .idspl-vide{right:16px;width:auto;max-width:none;bottom:96px}
.idspl-ligne{position:absolute;left:16px;bottom:16px;z-index:8;min-height:36px;border:none;border-radius:999px;background:#fff;color:#10191d;padding:0 12px;display:flex;gap:6px;align-items:center;font-size:12px;font-weight:800;box-shadow:0 6px 16px rgba(16,25,29,.14);cursor:pointer}
.idspl-ligne .ti{font-size:15px;color:#0a7684}
.idspl.mob .idspl-ligne{bottom:auto;top:132px}
.idspl-toast{position:absolute;left:50%;top:112px;transform:translateX(-50%);z-index:20;display:flex;align-items:center;background:#10191d;color:#fff;border-radius:18px;padding:12px 16px;box-shadow:0 14px 30px rgba(16,25,29,.3);font-size:14px;font-weight:700;white-space:nowrap;animation:idsplIn .3s ease both}
.idspl.mob .idspl-toast{bottom:auto;top:132px}
@keyframes idsplIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}

/* ---- Repères ---- */
.idspl-pin{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:4px;-webkit-tap-highlight-color:transparent;transition:opacity .2s;outline:none}
.idspl-pin .b{position:relative;display:flex;gap:6px;align-items:center;background:#fff;color:#10191d;border:2px solid #fff;padding:3px;border-radius:999px;box-shadow:0 6px 14px rgba(16,25,29,.22);white-space:nowrap;font-family:'Unbounded','Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;transition:transform .15s}
.idspl-pin.wt .b{padding:3px 10px 3px 3px}
.idspl-pin .ic{position:relative;z-index:2;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.idspl-pin .ic .ti{font-size:18px;-webkit-text-stroke:.6px currentColor}
.idspl-pin .ic2{position:relative;z-index:1;width:30px;height:30px;margin-left:-16px;border-radius:50%;border:2px solid #fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.idspl-pin .ic2 .ti{font-size:15px}
.idspl-pin .n{padding:0 6px 0 0}
.idspl-pin .tx{max-width:120px;overflow:hidden;text-overflow:ellipsis;padding-right:2px}
.idspl-pin .tx.auj{color:#0a7684}
.idspl-pin .tl{width:10px;height:10px;background:#fff;transform:rotate(45deg);margin-top:-6px;border-radius:2px;clip-path:polygon(100% 0,100% 100%,0 100%)}
.idspl-pin .tag{position:absolute;left:50%;top:-12px;transform:translateX(-50%);font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:800;padding:1px 6px;border-radius:999px;border:1.5px solid #fff;white-space:nowrap;line-height:1.35}
.idspl-pin .tag.cmp{background:#5d6a70;color:#fff}
.idspl-pin .tag.of{display:flex;gap:3px;align-items:center;background:#ffd84d;color:#10191d;padding:1px 7px 1px 5px;transform:translateX(-50%) rotate(-3deg)}
.idspl-pin .tag.of .ti{font-size:11px}
.idspl-pin .tag.zv{background:#fff;color:#0a7684;border-color:#1fb0c0}
.idspl-pin .tag.top{background:#ffd84d;color:#10191d}
.idspl-pin .tag.nv{background:#fff;color:#10191d;border-color:rgba(16,25,29,.16);box-shadow:0 2px 6px rgba(16,25,29,.12)}
.idspl-pin.top .b{transform:scale(1.08)}
.idspl-pin.cmp{opacity:.55}
.idspl-pin.grp.same .b{border-color:#1fb0c0}
.idspl-pin.on{z-index:9!important;opacity:1}
.idspl-pin.on .b{background:#10191d;color:#fff;border-color:#10191d;transform:scale(1.15)}
.idspl-pin.on .tl{background:#10191d}
.idspl-pin.on .ic2{border-color:#10191d}
.idspl-pin:hover{z-index:8!important}
.idspl-pin:focus-visible .b{box-shadow:0 0 0 3px rgba(31,176,192,.6),0 6px 14px rgba(16,25,29,.22)}
.idspl-ctr{width:18px;height:18px;border-radius:50%;background:#1fb0c0;border:3px solid #fff;box-shadow:0 0 0 6px rgba(31,176,192,.25);pointer-events:none}

/* ---- Carrousel (mobile) : fiches compactes, photo 80 px ---- */
.idspl-car{position:absolute;left:0;right:0;bottom:24px;z-index:8;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 16px 8px;scroll-padding:0 16px;transition:transform .3s cubic-bezier(.3,.8,.3,1)}
.idspl-car::-webkit-scrollbar{display:none}
.idspl.car-off .idspl-car{transform:translateY(calc(100% + 40px));pointer-events:none}
.idspl-c{flex:0 0 300px;max-width:calc(100vw - 56px);scroll-snap-align:start;display:flex;flex-direction:column;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(16,25,29,.12);border:2px solid transparent;transition:border-color .2s;color:#10191d;text-decoration:none}
.idspl-c:hover,.idspl-c:focus{color:#10191d;text-decoration:none}
.idspl-c.on{border-color:#10191d;box-shadow:0 14px 30px rgba(16,25,29,.22)}
.idspl-c .ph{position:relative;height:80px;flex:0 0 auto;background:#d6f5f8;overflow:hidden}
.idspl-c .ph img{width:100%;height:100%;object-fit:cover;display:block}
.idspl-c .ph.aff{background:#10191d}.idspl-c .ph.aff .fd{position:absolute;left:-10%;top:-10%;width:120%;height:120%;filter:blur(18px) saturate(1.5);opacity:.75}.idspl-c .ph.aff .af{position:relative;z-index:1;object-fit:contain;padding:6px;box-sizing:border-box}
.idspl-c.cmp .ph img{filter:grayscale(.85) brightness(.95)}
.idspl-c .nph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.idspl-c .nph .ti{font-size:34px}
.idspl-c .cat{position:absolute;left:8px;bottom:8px;display:flex;gap:6px;align-items:center;max-width:calc(100% - 16px);background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(18px) saturate(1.8);backdrop-filter:blur(18px) saturate(1.8);border:1px solid rgba(255,255,255,.95);box-shadow:0 4px 14px rgba(16,25,29,.18);padding:3px 10px 3px 3px;border-radius:999px;white-space:nowrap}
.idspl-c .cat>span{width:20px;height:20px;border-radius:50%;background:#10191d;color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.idspl-c .cat .ti{font-size:12px}
.idspl-c .cat b{font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis}
.idspl-c .stt{position:absolute;left:8px;top:8px;background:#5d6a70;color:#fff;font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px}
.idspl-c .idsc-vote{top:-4px;right:-2px}
.idspl-c .tx{display:flex;flex-direction:column;gap:3px;padding:10px 14px 12px;min-width:0}
.idspl-c .t{font-size:15px;font-weight:800;line-height:1.25;letter-spacing:-.2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}
.idspl-c .w{display:flex;gap:5px;align-items:center;font-size:13px;color:#4a565b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.idspl-c .w .ti{font-size:15px;flex:0 0 auto}
.idspl-c .w.u1 .ti{color:#0a7684}
.idspl-c .w.u2,.idspl-c .w.u1{font-weight:800;color:#10191d}
.idspl-c .w .pa{background:#ffd84d;color:#10191d;border-radius:6px;padding:0 5px;font-weight:800}
.idspl-c .w .x{color:#5d6a70;font-weight:700;font-size:12px}
.idspl-c .lv{width:15px;height:15px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.idspl-c .lv span{width:8px;height:8px;border-radius:50%;background:#1fb0c0;animation:idsplPulse 2s ease-out infinite}
@keyframes idsplPulse{0%{box-shadow:0 0 0 0 rgba(31,176,192,.45)}70%{box-shadow:0 0 0 6px rgba(31,176,192,0)}100%{box-shadow:0 0 0 0 rgba(31,176,192,0)}}
.idspl-c .soft{display:flex;gap:4px;align-items:center;font-size:12px;font-weight:700;color:#8a5a00;white-space:nowrap;overflow:hidden}.idspl-c .soft .ti{font-size:13px}
.idspl-c .l{display:flex;gap:6px;align-items:center;white-space:nowrap;min-width:0;font-size:13px;color:#4a565b}
.idspl-c .l .v{min-width:0;overflow:hidden;text-overflow:ellipsis}
.idspl-c .l .dot{color:#b9c6ca}
.idspl-c .l .p{flex:0 0 auto;color:#10191d;font-weight:800}.idspl-c .l .p.inc{color:#5d6a70;font-weight:600}
.idspl-c .idsc-tr{flex:0 0 auto;display:flex;gap:3px;align-items:center;font-weight:600;color:#4a565b}
.idspl-c .idsc-tr .ti{font-size:14px}
.idspl-c .idsc-tr.pres{color:#0a5f6a;font-weight:800;background:rgba(31,176,192,.16);padding:2px 8px 2px 6px;border-radius:999px}
.idspl-c .idsc-tr.loin{color:#5d6a70;font-weight:500}
.idspl-carshow{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:9;min-height:48px;border:none;border-radius:999px;background:#fff;color:#10191d;padding:0 18px;display:flex;gap:8px;align-items:center;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(16,25,29,.18);white-space:nowrap}
.idspl-carshow .ti{font-size:17px;color:#0a7684}
.idspl.mob .maplibregl-ctrl-bottom-left{bottom:calc(var(--idspl-car,84px) - 30px)}
.idspl.mob.car-off .maplibregl-ctrl-bottom-left{bottom:0}
.idspl:not(.mob) .maplibregl-ctrl-bottom-left{left:auto;right:60px}

/* ---- Liste (PC) liée au plan ---- */
.cts-explore .idsc.idspl-hl{box-shadow:0 0 0 2px #10191d;border-radius:24px}
.cts-explore .idsc.idspl-hv{box-shadow:0 0 0 2px #1fb0c0;border-radius:24px}
.cts-explore .results-view .grid-item{transition:opacity .25s}
.cts-explore .results-view.idspl-dim .grid-item:not(.idspl-in){opacity:.3}

/* ---- Menu « Où ? » ouvert depuis le plan (mobile) ---- */
html.idspl-ou .cts-explore{z-index:9996!important;background:transparent!important}
html.idspl-ou .cts-explore>*:not(.ids-explore-topbar),html.idspl-ou .ids-explore-topbar>*:not(.ids-bar-row){visibility:hidden!important}
html.idspl-ou .ids-explore-topbar{background:transparent!important;border-color:transparent!important}
html.idspl-ou .ids-bar-row{position:fixed!important;left:16px;right:16px;top:16px;margin:0!important;z-index:9997}

/* Accessibilité (vague 2) : focus clavier visible */
.idspl button:focus-visible,.idspl-tog:focus-visible,.idspl-pin:focus-visible,.idspl-c:focus-visible{outline:2px solid #1fb0c0;outline-offset:2px}
/* Icônes Font Awesome des catégories (ids-icones.php, aperçu) */
.idspl-pin .ic .ids-fa{height:16px}.idspl-pin .ic2 .ids-fa{height:13px}.idspl-c .cat .ids-fa{height:11px}.idspl-c .nph .ids-fa{height:30px}
