.vtl-directory-heading { padding: 1rem; border: 1px solid #ded5ef; border-radius: 12px; background: #f5f0fc; }
.vtl-directory-heading h2 { margin: 0; color: #21163b; font-size: clamp(1.35rem, 4vw, 1.85rem); }
.vtl-directory-heading p { margin: .25rem 0 0; color: #504460; }
.vtl-zone-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-block: .9rem; }
.vtl-zone-filter { padding: .32rem .7rem; border-radius: .65rem; background: #efe5fc; color: #552198; font-weight: 700; }
.vtl-zone-filter[aria-current="true"] { outline: 2px solid currentColor; outline-offset: -3px; }
.vtl-signal-help { margin-inline-start: auto; font-size: .86rem; }
.vtl-search-options { margin-bottom: 1rem; }
.vtl-search-options summary { cursor: pointer; }
.vtl-search-options .vtl-filter { margin-top: .6rem; }
.vtl-result-count { margin: .65rem 0; }
.vtl-directory .vtl-results { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.vtl-directory .vtl-card { display: grid; grid-template-columns: clamp(78px, 20vw, 120px) minmax(0, 1fr); gap: .8rem; align-items: center; border: 0; border-radius: 0; border-bottom: 1px solid #e8e2f0; padding: .6rem 0; }
.vtl-directory .vtl-card img, .vtl-row-placeholder { width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: .5rem; object-fit: cover; }
.vtl-row-placeholder { display: grid; place-items: center; background: #eee8fa; color: #5728a1; }
.vtl-directory .vtl-card-body { padding: 0; }
.vtl-directory .vtl-card h3 { margin: .2rem 0; font-size: clamp(.94rem, 2.8vw, 1.15rem); line-height: 1.4; }

.vtl-stay-hero{background:linear-gradient(90deg,#20182bea,#21182e44),url('stay-hero.jpg') center 54%/cover;color:white;border-radius:16px;padding:clamp(22px,4vw,42px);margin-bottom:18px}
.vtl-stay-hero a,.vtl-stay-hero h2{color:white}.vtl-stay-hero h2{margin:10px 0;font-size:clamp(28px,5vw,44px)}.vtl-stay-hero p{margin:0;color:white}
.vtl-stay-grid{display:grid;grid-template-columns:205px minmax(0,1fr);gap:22px}.vtl-stay-main{min-width:0}
.vtl-stay-filter fieldset{border:0;background:#f5f3f8;border-radius:12px;margin:0 0 12px;padding:12px}.vtl-stay-filter legend{float:left;width:100%;font-weight:750;margin-bottom:8px}.vtl-stay-filter label{clear:both;display:flex;align-items:center;gap:8px;margin:6px 0}.vtl-stay-filter input[type=radio]{width:auto;appearance:auto;accent-color:#c70061}
.vtl-stay-sort{display:flex;align-items:center;gap:8px;margin-bottom:12px}.vtl-stay-sort .vtl-result-count{margin:0 auto 0 0}.vtl-stay-sort select{width:auto;margin:0}.vtl-stay-sort button,.vtl-stay-filter button{background:#c70061;color:#fff;border:0;border-radius:9px;padding:8px 12px}
.vtl-stay .vtl-card{display:grid;grid-template-columns:minmax(110px,29%) minmax(0,1fr);gap:16px;padding:12px 0}.vtl-stay .vtl-card>img,.vtl-stay .vtl-row-placeholder{width:100%;height:clamp(95px,14vw,155px);object-fit:cover;border-radius:12px}
@media(max-width:650px){.vtl-stay-grid{grid-template-columns:1fr;gap:14px}.vtl-stay-filter fieldset{display:inline-block;width:calc(50% - 5px);vertical-align:top}.vtl-stay .vtl-card{gap:10px}}

.vtl-food-hero{padding:clamp(16px,3vw,28px);background:#f6f1ff;border-radius:16px;color:#18132b}
.vtl-food-hero h2{margin:0 0 4px;font-size:clamp(24px,4vw,35px)}
.vtl-food-hero p{margin:0 0 14px}
.vtl-food-hero nav{display:flex;flex-wrap:wrap;gap:7px}
.vtl-food-hero nav a{display:inline-block;border:1px solid #e4d9f8;border-radius:999px;background:#fff;color:#252039;font-size:14px;font-weight:700;padding:6px 13px}
.vtl-food-hero nav a[aria-current=true]{background:#6028c8;color:#fff;border-color:#6028c8}
.vtl-food-toolbar{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid #e9e5f0}
.vtl-food-toolbar .vtl-result-count{margin:0}
.vtl-food-toolbar summary{cursor:pointer;font-weight:700}
.vtl-food-toolbar details a{display:block}
.vtl-food .vtl-card{display:grid;grid-template-columns:clamp(92px,22vw,160px) minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid #eeeaf4}
.vtl-food .vtl-card>img,.vtl-food .vtl-row-placeholder{width:100%;height:clamp(80px,16vw,130px);object-fit:cover;border-radius:10px}
.vtl-food-layout .vtl-stay-hero{background-image:linear-gradient(90deg,#20182bf2,#21182e35),url("food-hero.jpg");background-position:center 57%}
