/* search.css — propriétaire : decouverte (ordre de chargement = ordre de la cascade, voir index.html) */
/* ============================ Search ============================ */
.s-head{position:sticky;top:0;z-index:6;background:var(--c-bg);padding-bottom:8px}
.s-head.shadow{box-shadow:0 1px 0 var(--c-line)}
.s-input{display:flex;align-items:center;gap:8px;height:52px;margin:8px var(--gutter) 0;padding:0 4px 0 14px;background:var(--c-sunken);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow var(--dur-fast),background var(--dur-fast)}
.s-input:focus-within{background:var(--c-surface);box-shadow:inset 0 0 0 2px var(--c-primary)}
.s-input input{flex:1;min-width:0;border:0;background:none;outline:none;height:100%;font-size:16px}
.s-input input::placeholder{color:var(--c-ink-2)}
.s-input .iconbtn{width:44px;height:44px}
.s-row{display:flex;align-items:center;gap:8px;padding:8px var(--gutter) 0}
.s-row .seg{flex:1}
.s-count{padding:12px var(--gutter) 4px;display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm);color:var(--c-ink-2)}
.s-count b{color:var(--c-ink)}
.mapwrap{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--c-map-land);touch-action:none}
.mapcanvas{position:absolute;left:0;top:0;width:640px;height:960px;will-change:transform;cursor:grab}
.mapcanvas.drag{cursor:grabbing}
.mapcanvas svg{position:absolute;inset:0;width:640px;height:960px}
.m-label{font-family:var(--font-display);font-weight:700;font-size:13px;fill:var(--c-ink-3);letter-spacing:.02em}
.m-label.big{font-size:15px;fill:var(--c-ink-2)}
.pin{position:absolute;transform:translate(-50%,-100%);width:40px;height:46px;display:grid;justify-items:center;transition:transform var(--dur-base) var(--ease-spring);z-index:2}
.pin .pb{width:38px;height:36px;border-radius:14px 14px 6px 6px;display:grid;place-items:center;box-shadow:var(--sh-2);border:2px solid var(--c-surface)}
.pin .pb .ic{width:18px;height:18px}
.pin::after{content:"";width:0;height:0;border:6px solid transparent;border-top:7px solid var(--c-surface);margin-top:-1px}
.pin.s .pb{background:var(--c-primary);color:var(--c-on-primary)}
.pin.o .pb{background:var(--c-mimoza);color:var(--c-on-mimoza)}
.pin.sel{transform:translate(-50%,-100%) scale(1.22);z-index:3}
.pin.sel .pb{box-shadow:0 0 0 3px var(--c-ink),var(--sh-2)}
.pin .pl{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);background:var(--c-ink);color:var(--c-bg);font-size:12px;font-weight:700;padding:3px 8px;border-radius:8px;white-space:nowrap;opacity:0;transition:opacity var(--dur-fast);pointer-events:none}
.pin.sel .pl{opacity:1}
.me-dot{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--c-info);border:4px solid var(--c-surface);box-shadow:var(--sh-2);z-index:2}
.me-dot::before{content:"";position:absolute;inset:-26px;border-radius:50%;background:var(--c-info);opacity:.14;animation:halo 2.4s var(--ease-out) infinite}
@keyframes halo{0%{transform:scale(.5);opacity:.3}100%{transform:scale(1.4);opacity:0}}
.map-tools{position:absolute;right:12px;top:12px;display:grid;gap:8px;z-index:4}
.map-zone{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:4;box-shadow:var(--sh-2);background:var(--c-surface);color:var(--c-ink)}
.map-note{position:absolute;left:12px;top:70px;z-index:4;font-size:11px;font-weight:600;color:var(--c-ink-2);background:var(--c-surface);padding:4px 8px;border-radius:8px;box-shadow:var(--sh-1);display:flex;gap:6px;align-items:center}
.map-note i{width:14px;height:14px;border-radius:50%;background:var(--c-primary);opacity:.25;border:1.5px dashed var(--c-primary)}
.msheet{position:absolute;left:0;right:0;top:0;height:100%;background:var(--c-surface);border-radius:var(--r-sheet);box-shadow:0 -6px 24px -6px rgb(var(--c-ink-rgb) / .2);z-index:5;display:flex;flex-direction:column;transition:transform var(--dur-slow) var(--ease-sheet);will-change:transform}
.msheet-grab{flex:none;padding:8px var(--gutter) 6px;cursor:grab;touch-action:none;user-select:none}
.msheet-grab .handle{width:36px;height:4px;border-radius:2px;background:var(--c-line-strong);margin:0 auto 10px}
.msheet-grab .row{justify-content:space-between}
.msheet-list{flex:1;min-height:0;overflow-y:hidden;overscroll-behavior:contain;padding-bottom:24px}
.det-dots{display:flex;gap:4px}.det-dots i{width:6px;height:6px;border-radius:50%;background:var(--c-line)}.det-dots i.on{background:var(--c-primary)}
/* ============================ Découverte — recherche, filtres, carte ============================ */
.dec-qbtns{display:flex;flex:none}
.dec-fbtn .badge{top:4px;left:24px}
.dec-modeseg{flex:none!important;width:124px}
.dec-recent{padding:12px var(--gutter) 0}.dec-recent .row{margin-bottom:8px}
.dec-recent .chips{padding:0}
.dec-sort{position:relative;display:flex;align-items:center;gap:4px;min-height:44px;font-weight:600;color:var(--c-ink)}
.dec-sort select{appearance:none;-webkit-appearance:none;border:0;background:none;font-weight:600;font-size:var(--fs-sm);color:inherit;min-height:44px;padding-right:4px;cursor:pointer}
.dec-sort:focus-within{box-shadow:var(--ring);border-radius:8px}
#results.dec-stale{opacity:.5;transition:opacity var(--dur-fast)}
.dec-off-btn{opacity:.55}
.map-note.dec-geon{max-width:calc(100% - 80px);background:var(--c-mimoza-soft);color:var(--c-ink)}
.dec-lq{margin:0}
.dec-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;list-style:none;margin:8px 0 0;padding:0}
.dec-days li{display:grid;justify-items:center;padding:4px 0;border-radius:8px;font-size:11px;color:var(--c-ink-2)}
.dec-days li b{font-size:var(--fs-sm);color:var(--c-ink)}
.dec-days li.on{background:var(--c-primary-soft)}
.dec-days li.off{background:var(--c-sunken);text-decoration:line-through;opacity:.7}
.dec-availf{align-items:flex-start}.dec-availf .grow{min-width:0}
