.destination-directory { padding-bottom: 108px; }
.directory-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 44px; padding-top: 72px; }
.directory-heading-copy { max-width: 700px; }
.directory-heading h2 { margin-bottom: 14px; font-size: clamp(1.95rem, 4vw, 3.2rem); }
.directory-heading p:last-child { max-width: 620px; margin-bottom: 0; }
.directory-summary { margin: 0 2px 5px; color: var(--muted); text-align: right; line-height: 1.15; }
.directory-summary strong { display: block; color: var(--ink); font-size: 2.5rem; letter-spacing: -.07em; }
.directory-summary span { font-size: .82rem; }
.directory-filters { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px; margin-top: 38px; padding: 22px; border: 1px solid var(--ink); border-radius: 22px; background: var(--ink); box-shadow: 0 18px 34px rgba(22,49,40,.14); }
.directory-filter-fields { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(180px, .7fr); gap: 12px; }
.directory-filters label { color: #d6e7dc; }
.directory-filters input, .directory-filters select { border-color: transparent; }
.directory-filter-actions { display: flex; align-items: center; gap: 10px; }
.directory-apply { background: var(--mint); color: var(--ink); }
.directory-apply:hover { background: #e1f7df; }
.directory-clear { border-color: rgba(255,255,255,.35); color: #fff; }
.directory-apply, .directory-clear { white-space: nowrap; }
.directory-results-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-top: 26px; }
.directory-count { margin: 0 2px; font-size: .88rem; }
.directory-results-note { color: var(--muted); font-size: .78rem; }
.directory-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.directory-group { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 8px 22px rgba(22,49,40,.035); }
.directory-group-heading { display: flex; align-items: center; gap: 12px; padding: 16px 17px 14px; border-bottom: 1px solid var(--line); }
.directory-group-heading h3 { margin: 0 0 2px; font-size: 1.08rem; }
.directory-group-heading div > span { color: var(--muted); font-size: .74rem; }
.directory-country-mark { display: grid; flex: 0 0 34px; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: #e6f3e5; color: var(--mint-deep); font-size: .92rem; font-weight: 850; }
.directory-city-list { padding: 4px 8px 8px; }
.destination-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 9px 9px; border-radius: 10px; color: var(--ink); text-decoration: none; font-size: .9rem; transition: background .16s ease, color .16s ease; }
.destination-row small { color: var(--muted); font-size: .72rem; white-space: nowrap; }
.destination-row:hover { background: #edf6ed; color: var(--mint-deep); }
.destination-row-arrow { color: var(--mint-deep); font-size: 1.08rem; line-height: 1; opacity: .6; }
.directory-empty { grid-column: 1 / -1; margin-top: 22px; padding: 64px 28px; border: 1px dashed #aec1b4; border-radius: var(--radius); background: #f1f7f1; text-align: center; }
.directory-empty h2 { margin-bottom: 8px; font-size: 2rem; }
.directory-empty p:not(.eyebrow) { margin-left: auto; margin-right: auto; }
@media (max-width: 980px) { .directory-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) { .directory-heading { display: block; padding-top: 42px; }.directory-summary { margin-top: 26px; text-align: left; }.directory-summary strong { display: inline; margin-right: 5px; font-size: 1.8rem; }.directory-filters { grid-template-columns: 1fr; }.directory-filter-actions { justify-content: flex-start; }.directory-results-heading { display: block; }.directory-results-note { display: block; margin-top: 5px; }.directory-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .directory-filter-fields { grid-template-columns: 1fr; }.directory-filter-actions { flex-wrap: wrap; }.directory-groups { grid-template-columns: 1fr; }.directory-group-heading { padding: 14px 15px 12px; } }
