/* Shared country map: original Andorra list/map pattern, responsive and scoped. */
.directory-map{--map-ink:#243e4e;--map-muted:#64717b;--map-border:#e1e5e5;color:var(--map-ink);width:100%;max-width:1600px;margin:0 auto;font-family:inherit}
.directory-map *{box-sizing:border-box}.directory-map [hidden]{display:none!important}
.directory-map button,.directory-map select,.directory-map input{font:inherit}
.directory-map button{cursor:pointer;color:var(--map-ink);background:white;border:1px solid var(--map-border);border-radius:9px;padding:10px 13px;font-size:13px;font-weight:650;min-height:42px}
.directory-map button:disabled{opacity:.45;cursor:default}.directory-map button:hover:not(:disabled){border-color:#ac833c;background:#fff9ed}
.directory-map :is(button,input,select,a):focus-visible{outline:3px solid #b48231;outline-offset:3px}
.directory-map-filters{display:grid;grid-template-columns:1fr 1fr .8fr 1.5fr auto;gap:12px;align-items:end;padding:18px;border:1px solid var(--map-border);border-bottom:0;border-radius:16px 16px 0 0;background:#faf9f6}
.directory-map-filters label{display:grid;gap:7px;min-width:0}.directory-map-filters label>span{font-size:12px;font-weight:700}
.directory-map-filters select,.directory-map-filters input{width:100%;min-width:0;height:44px;border:1px solid #d6dcdd;background:white;border-radius:8px;padding:0 11px;color:var(--map-ink);font-size:14px}
.directory-map-workspace{display:grid;grid-template-columns:minmax(330px,38%) minmax(0,62%);height:clamp(540px,75vh,820px);border:1px solid var(--map-border);border-radius:0 0 16px 16px;overflow:hidden;background:white;box-shadow:0 14px 35px #243e4e0c}
.directory-map-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.directory-map-results-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--map-border);font-size:13px}
.directory-map-results-head label{display:flex;align-items:center;gap:6px}.directory-map-results-head select{max-width:130px;border:1px solid var(--map-border);border-radius:6px;padding:5px;background:#fff}
.directory-map-list{flex:1;overflow:auto;overscroll-behavior:contain;padding:6px 14px}
.directory-map-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;padding:17px 0;margin:0;border-bottom:1px solid var(--map-border);background:white;text-align:start}
.directory-map-card:not(:has(>img)){grid-template-columns:1fr}.directory-map-card>img{width:100%;height:100px;object-fit:cover;border-radius:10px}
.directory-map-card.is-active{background:#fff7e8;outline:2px solid #bb943e;outline-offset:-2px}
.directory-map-card-content{min-width:0}.directory-map-card small{display:block;font-size:11px;line-height:1.4;color:var(--map-muted)}
.directory-map-card h2{font-size:18px;line-height:1.25;margin:5px 0 7px;font-weight:750;letter-spacing:-.01em;color:var(--map-ink)}
.directory-map-card h2 a{color:inherit;text-decoration:none}.directory-map-card h2 a:hover{text-decoration:underline}
.directory-map-card p{font-size:13px;line-height:1.5;margin:0 0 12px;color:var(--map-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.directory-map-actions{display:flex;flex-wrap:wrap;gap:6px}.directory-map-actions button{font-size:11px;min-height:34px;padding:6px 9px}.directory-map-actions button:first-child{background:#f4efdf;border-color:#e7d8ad}
.directory-map-actions button[aria-pressed=true]{background:#ece4ce;border-color:#b48231}
.directory-map-pagination{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--map-border);font-size:12px;background:white}
.directory-map-stage{position:relative;min-width:0;min-height:0;background:#e8e8e1;border-left:1px solid var(--map-border);isolation:isolate}
.directory-map-map{width:100%;height:100%;min-height:300px;z-index:0}
.directory-map-options{position:absolute;left:60px;right:12px;top:12px;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}
.directory-map-options>*{pointer-events:auto;background:#fff;border:1px solid var(--map-border);border-radius:8px;box-shadow:0 3px 15px #0001}
.directory-map-options label{font-size:12px;padding:10px;display:flex;gap:7px;align-items:center}.directory-map-options input{accent-color:#a6792f}
.directory-map-options button{font-size:12px}.directory-map-status{position:absolute;top:65px;left:12px;right:12px;z-index:500;padding:10px;background:#fff8e2;border-radius:8px;font-size:13px}
.directory-map-legend{position:absolute;bottom:24px;right:12px;display:flex;gap:12px;z-index:500;background:#fff;padding:9px 12px;border-radius:9px;font-size:11px;box-shadow:0 3px 15px #0001}
.directory-map-legend span{display:flex;align-items:center;gap:5px}.directory-map-legend i{width:9px;height:9px;background:#b48231;border-radius:50%}.directory-map-legend .restaurant{background:#bf5948}.directory-map-legend .hotel{background:#3674a2}
.directory-map-popup-image{display:block;width:100%;height:120px;object-fit:cover;border-radius:8px;margin-bottom:10px}.directory-map .leaflet-popup-content strong{font-size:16px;line-height:1.3;display:block}.directory-map .leaflet-popup-content p{margin:8px 0}.directory-map-empty{padding:24px;line-height:1.6}
@media(max-width:1000px){.directory-map-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-map-search{grid-column:span 2}.directory-map-workspace{grid-template-columns:minmax(290px,42%) minmax(0,58%)}.directory-map-options{left:54px;right:8px;flex-wrap:wrap}.directory-map-options>*{font-size:11px}.directory-map-card{grid-template-columns:72px minmax(0,1fr);gap:10px}.directory-map-card>img{height:80px}}
@media(max-width:700px){main.tsh-map-directory{padding:24px 14px 50px}.tsh-map-intro{display:block!important}.tsh-map-summary{min-width:0!important;margin-top:18px}.directory-map-filters{grid-template-columns:1fr 1fr;padding:12px;gap:10px}.directory-map-search{grid-column:auto}.directory-map-filters>button{grid-column:span 2}.directory-map-workspace{display:flex;flex-direction:column;height:auto;max-height:none}.directory-map-stage{order:-1;height:390px;flex:none;border-left:0;border-bottom:1px solid var(--map-border)}.directory-map-sidebar{height:620px}.directory-map-card{grid-template-columns:84px minmax(0,1fr)}.directory-map-options label{padding:9px 7px}.directory-map-options{gap:6px}.directory-map-legend{font-size:10px}.directory-map-results-head{padding:12px}.directory-map-results-head select{max-width:110px}.directory-map-card h2{font-size:17px}}
