#directory-toggle{position:absolute;z-index:650;left:18px;bottom:65px;width:38px;height:38px;border:0;border-radius:50%;padding:9px;background:#fff;color:#20333d;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 7px #0002}#directory-toggle svg{width:21px;height:21px}.culture-dark #directory-toggle{background:#000;color:#fff}
#directory-dialog{--dir-bg:#fff;--dir-card:#f7f9fa;--dir-text:#243641;--dir-muted:#687983;--dir-line:#e1e6e9;--dir-selected:#eaf4fa;--dir-accent:#247b96;position:fixed;inset:0;margin:auto;width:min(980px,calc(100vw - 40px));max-width:980px;height:min(820px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--dir-line);border-radius:19px;background:var(--dir-bg);color:var(--dir-text);box-shadow:0 20px 65px #0005;overflow:hidden}
#directory-dialog[open]{display:flex;flex-direction:column}#directory-dialog::backdrop{background:#0005;backdrop-filter:none}.culture-dark #directory-dialog{--dir-bg:#0b0e10;--dir-card:#141b20;--dir-text:#edf3f6;--dir-muted:#a2b0b8;--dir-line:#2c373e;--dir-selected:#1b3542;--dir-accent:#86cbdc}
.directory-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 15px;border-bottom:1px solid var(--dir-line);flex:none}#directory-dialog h2{font-size:23px;letter-spacing:-.5px;margin:0}#directory-dialog #directory-count{font-size:12px;color:var(--dir-muted);margin:4px 0 0}.directory-close{border:0;background:#000;color:#fff;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;padding:0;font-size:24px;line-height:1;cursor:pointer}.culture-dark .directory-close{background:#34434c}
.directory-tools{padding:14px 24px 16px;border-bottom:1px solid var(--dir-line);flex:none}.directory-tabs{display:flex;gap:8px;margin-bottom:13px}.directory-tabs button,#directory-sort button{font:inherit;background:transparent;color:var(--dir-muted);border:1px solid var(--dir-line);border-radius:9px;padding:8px 17px;cursor:pointer}.directory-tabs button[aria-selected=true],#directory-sort button[aria-pressed=true]{background:var(--dir-selected);color:var(--dir-accent);border-color:var(--dir-accent)}.directory-tabs button{font-size:14px;font-weight:650}#directory-search{width:100%;font:inherit;font-size:14px;padding:11px 14px;border:1px solid var(--dir-line);border-radius:10px;background:var(--dir-card);color:var(--dir-text)}#directory-search::placeholder{color:var(--dir-muted)}.directory-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;color:var(--dir-muted)}#directory-sort{display:flex;gap:5px}#directory-sort button{padding:6px 10px;font-size:12px}.directory-options label{display:flex;align-items:center;gap:6px;cursor:pointer}.directory-options input{accent-color:var(--dir-accent)}
.directory-body{display:flex;min-height:0;flex:1}.directory-alphabet{width:40px;flex:none;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;padding:10px 4px;border-right:1px solid var(--dir-line)}.directory-alphabet button{background:none;border:0;color:var(--dir-accent);font:inherit;font-size:11px;font-weight:700;min-height:24px;padding:4px;cursor:pointer}.directory-alphabet button:hover{background:var(--dir-selected);border-radius:5px}.directory-alphabet.by-sector{width:140px}.directory-alphabet.by-sector button{text-align:left;font-size:10px;font-weight:500;padding:8px 6px;overflow-wrap:anywhere}
#directory-results{flex:1;min-width:0;overflow:auto;scrollbar-width:thin;position:relative;scroll-padding-top:40px}.directory-group{margin:0}#directory-dialog .directory-group h3{position:sticky;top:0;z-index:1;background:var(--dir-bg);border-bottom:1px solid var(--dir-line);margin:0;padding:10px 20px;color:var(--dir-accent);font-size:14px;line-height:20px}.directory-entry{width:100%;display:flex;align-items:center;gap:15px;text-align:left;padding:15px 20px;border:0;border-bottom:1px solid var(--dir-line);background:var(--dir-bg);color:var(--dir-text);font:inherit;cursor:pointer}.directory-entry:hover,.directory-entry:focus-visible{background:var(--dir-selected)}.directory-initials{width:43px;height:43px;flex:none;display:grid;place-items:center;border-radius:11px;background:var(--dir-card);color:var(--dir-accent);font-weight:600;font-size:13px}.directory-entry-body{display:flex;flex-direction:column;gap:4px;min-width:0}.directory-entry strong{font-size:15px;line-height:1.3;font-weight:650}.directory-sector{font-size:12px;color:var(--dir-muted)}.directory-next{font-size:12px;color:var(--dir-accent);line-height:1.4}#directory-dialog .directory-empty{padding:30px;color:var(--dir-muted);font-size:14px}
#directory-selection{pointer-events:auto;background:#fff;color:#20333d;border:0;border-radius:8px;padding:7px 10px;font-size:11px;max-width:260px;text-align:left;cursor:pointer;box-shadow:0 2px 7px #0002}.culture-dark #directory-selection{background:#182b34;color:#d4e9f2}#directory-selection[hidden]{display:none}
@media(max-width:650px){#directory-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.directory-head{padding:15px}.directory-tools{padding:12px}.directory-options{flex-wrap:wrap}.directory-entry{padding:13px 12px;gap:10px}.directory-initials{width:34px;height:34px}.directory-alphabet.by-sector{width:95px}#directory-toggle{left:12px;bottom:62px;width:34px;height:34px;padding:7px}}

.directory-alphabet button{flex-shrink:0}.directory-alphabet.by-sector button{line-height:1.35;min-height:32px;height:auto}

#directory-dialog .directory-close{flex:none;box-sizing:border-box;align-items:center;justify-items:center}#directory-dialog .directory-close svg{display:block;width:20px;height:20px;margin:0;transform:none}.directory-venue{font-size:12px;line-height:1.4;color:var(--dir-muted)}

.directory-entry{flex-direction:column;align-items:stretch;gap:4px}.directory-entry-main{display:flex;align-items:center;gap:15px;width:100%;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.directory-venue-link{align-self:flex-start;margin-left:58px;padding:0;border:0;background:transparent;color:var(--dir-muted);font-family:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--dir-muted) 45%,transparent);text-underline-offset:3px}.directory-venue-link:hover{color:var(--dir-accent);text-decoration-color:currentColor}.directory-entry:focus-within{background:var(--dir-selected)}
@media(max-width:650px){.directory-entry-main{gap:10px}.directory-venue-link{margin-left:44px}}

/* Repères alphabétiques : bandeaux opaques et distincts des fiches. */
#directory-dialog .directory-group h3{display:flex;align-items:center;min-height:46px;box-sizing:border-box;padding:11px 20px;font-size:17px;font-weight:750;line-height:24px;background:#eaf1f5;color:#284e60;border-top:1px solid #cbdbe3;border-bottom:1px solid #cbdbe3;box-shadow:inset 3px 0 #56859b}
.culture-dark #directory-dialog .directory-group h3{background:#20333e;color:#c5e8f4;border-top-color:#3b5665;border-bottom-color:#3b5665;box-shadow:inset 3px 0 #86cbdc}
#directory-results{scroll-padding-top:48px}

.directory-alphabet button[aria-current="true"]{background:var(--dir-selected);color:var(--dir-accent);border-radius:5px;box-shadow:inset 3px 0 var(--dir-accent);font-weight:800}

/* Répertoire élargi, en conservant une marge autour de la fenêtre. */
@media(min-width:651px){#directory-dialog{width:calc(100vw - 64px);max-width:1440px;height:calc(100dvh - 64px);max-height:calc(100dvh - 64px)}}

#directory-sort{flex-wrap:wrap}.directory-options{flex-wrap:wrap}

.directory-alphabet.by-sector{width:220px}.directory-alphabet.by-sector button{font-size:11px;overflow-wrap:normal}
@media(max-width:650px){.directory-alphabet.by-sector{width:140px}}

/* Répertoire plein écran; en-tête compact pour privilégier les résultats. */
#directory-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}
.directory-head{padding:12px 20px 10px}
#directory-dialog h2{font-size:21px}
.directory-tools{padding:10px 20px 12px}
.directory-tabs{margin-bottom:8px}
.directory-tabs button{padding:6px 15px}
#directory-search{padding:9px 12px}
.directory-options{margin-top:8px}
@media(max-width:650px){.directory-head{padding:10px 12px 8px}.directory-tools{padding:8px 12px 10px}}

/* Les séparateurs défilent avec les fiches; seul l’index suit la position. */
#directory-dialog .directory-group h3{position:static;top:auto}
#directory-results{scroll-padding-top:0}

/* La sélection reste distincte du simple survol. */
#directory-dialog .directory-entry.is-selected{background:var(--dir-selected);box-shadow:inset 3px 0 var(--dir-accent)}
#directory-dialog .directory-entry.is-selected strong{color:var(--dir-accent)}

/* Une seule cible interactive couvre toute la fiche, lieu et marges compris. */
#directory-dialog .directory-entry{padding:0;gap:0}
#directory-dialog .directory-entry-main{padding:13px 14px;min-height:80px}

#directory-clear{margin-left:auto;flex-shrink:0;border:0;background:transparent;color:var(--dir-accent);font:inherit;cursor:pointer;padding:6px 0}#directory-clear:disabled{color:var(--dir-muted);opacity:.55;cursor:default}#directory-clear:not(:disabled):hover{text-decoration:underline}

.directory-initials.directory-venue-thumbnail{position:relative;overflow:hidden;width:56px;height:56px;border-radius:10px;color:white;font-size:20px;letter-spacing:.04em;background:radial-gradient(ellipse at 12% 0%,hsl(var(--venue-hue) 48% 48% / .65),transparent 68%),linear-gradient(135deg,hsl(var(--venue-hue) 35% 26%),hsl(calc(var(--venue-hue) + 35) 42% 13%))}
.directory-venue-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.directory-venue-thumbnail.image-ready img{opacity:1;background:#f7f7f5}
.directory-venue-thumbnail.is-logo img{object-fit:contain;padding:5px;box-sizing:border-box}
