/* Directory occupies the existing street scene; no extra block above the scene. */
.ov-town.is-at-directory [data-world]{visibility:hidden}
.ov-directory{position:absolute;z-index:4;inset:18px 58px 52px;max-width:640px;margin-inline:auto;display:flex;flex-direction:column;min-width:0;padding:13px 17px;background:#fff9e9;border:6px solid #a47b4f;border-radius:12px;box-shadow:0 5px 0 #79634633;color:#274f44}
.ov-directory[hidden]{display:none}
.ov-directory::before,.ov-directory::after{content:'';position:absolute;top:calc(100% + 6px);height:32px;width:13px;background:#a47b4f;border-radius:0 0 3px 3px}
.ov-directory::before{left:18px}.ov-directory::after{right:18px}
.ov-directory h2{flex:0 0 auto;margin:0 0 8px;padding:7px 5px;text-align:center;background:#2c6858;color:#fff;border-radius:5px;font-size:20px;line-height:1.4}
.ov-directory-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0;padding:0 0 0 1.8em;font-size:17px;line-height:1.6;scrollbar-gutter:stable}
.ov-directory-list li{padding:3px 0 4px 2px;border-bottom:1px solid #dbcdb6;overflow-wrap:anywhere}
.ov-directory-list li::marker{color:#8d663d;font-weight:700}
.ov-directory-note{flex:0 0 auto;text-align:center;margin:9px 0 0;font-size:12px;line-height:1.5;color:#527163}
.ov-directory-empty{margin:auto;text-align:center;line-height:1.8;font-size:18px}
@media(max-width:760px){
 .ov-directory{inset:10px 51px 36px;padding:8px 10px;border-width:5px;border-radius:9px}
 .ov-town.is-at-directory .ov-walk-arrow-left{left:4px}
 .ov-town.is-at-directory .ov-walk-arrow-right{right:4px}
 .ov-directory h2{font-size:15px;margin-bottom:5px;padding:5px 2px}
 .ov-directory-list{font-size:13px;line-height:1.5;padding-left:1.65em}
 .ov-directory-list li{padding:3px 0}
 .ov-directory-note{font-size:11px;margin-top:6px}
 .ov-directory-empty{font-size:15px}
 .ov-directory::before,.ov-directory::after{top:calc(100% + 5px);height:24px;width:10px}
 .ov-town.is-at-directory .ov-controls.ov-town-actions>[data-enter-shop]{font-size:12px;line-height:1.35}
}
@media(min-width:761px){.ov-directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;align-content:start}}

/* 2026-10-24: readable directions at the foot of the directory. */
.ov-directory .ov-directory-note {
 margin-top:12px;padding:10px 12px;border:2px solid #dfa328;
 border-radius:10px;background:#fff0bf;color:#643b0b;
 font-size:22px;font-weight:800;line-height:1.5;
 overflow-wrap:anywhere;
}
.ov-directory .ov-directory-note::after {
 content:"→";display:inline-block;margin-left:.3em;color:#a64709;
 font-size:1.3em;line-height:1;vertical-align:-.04em;
}
@media(max-width:760px){
 .ov-directory .ov-directory-note {
  margin-top:8px;padding:7px 5px;border-radius:8px;font-size:16px;line-height:1.5;
 }
 .ov-directory .ov-directory-note>span{display:block}
 .ov-directory .ov-directory-note::after{content:none}
 .ov-directory .ov-directory-note-lead::after{content:"→";display:inline-block;margin-left:.3em;color:#a64709;font-size:1.3em;line-height:1;vertical-align:-.04em}
}
@media(max-width:390px){
 .ov-directory .ov-directory-note{font-size:14px;padding:6px 4px}
}
@media(max-width:350px){.ov-directory .ov-directory-note-detail{font-size:13px}}

/* 2026-10-24: let the mobile sign grow so every company name is visible. */
@media(max-width:760px){
 .ov-town.ov-town-compact.is-at-directory .ov-viewport {
  height:auto!important;min-height:300px!important;max-height:none!important;
  padding:10px 51px 36px;box-sizing:border-box;
 }
 .ov-town.is-at-directory .ov-directory {
  position:relative;inset:auto;width:100%;max-width:none;min-height:244px;
  margin:0;box-sizing:border-box;
 }
 .ov-town.is-at-directory .ov-directory-list {
  flex:1 0 auto;overflow:visible;max-height:none;scrollbar-gutter:auto;
 }
}
