.ec-map-preview{position:relative;margin:0;overflow:hidden;border-radius:18px;background:#dce6e9;isolation:isolate;min-height:260px}
.ec-map-preview>img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover;filter:blur(1px) brightness(.9);transition:filter .2s}
.ec-map-preview figcaption,.ec-map-preview-link{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:24px;color:#fff;background:rgba(30,19,38,.25);font:600 20px/1.5 Manrope,Arial,sans-serif}
.ec-map-preview figcaption a,.ec-map-preview-link span{display:inline-block;padding:10px 16px;border-radius:8px;background:#fff;color:#6b167b;margin:4px;font-size:16px}
.ec-map-guest:hover>img,.ec-map-guest:focus-within>img{filter:blur(12px) brightness(.45)}
.ec-map-preview a:focus-visible{outline:3px solid #dbafef;outline-offset:4px}
.ec-place-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding:20px;border:1px solid #e5dce9;border-radius:16px;margin:24px 0;align-items:end}
.ec-place-legend{display:flex;gap:16px;flex-wrap:wrap;padding:16px 0}
.ec-place-legend span{display:inline-flex;align-items:center;gap:8px}
.ec-place-dot{display:inline-block;border:2px solid #fff;box-shadow:0 1px 4px #3337;border-radius:50%;width:17px;height:17px}
.ec-place-marker{display:grid;place-items:center;width:34px;height:34px;color:white;border:2px solid white;border-radius:50%;box-shadow:0 2px 6px #3336;font-size:18px}
#ec-place-map{width:100%;height:520px;border-radius:18px;overflow:hidden;background:#edf1f2;display:none}
#ec-place-position{height:300px;display:none;margin:18px 0}
.ec-google-gate{padding:20px;border:1px solid #ded5e4;border-radius:14px;margin-bottom:18px}
.ec-place-photo{max-width:100%;width:240px;max-height:180px;object-fit:cover;border-radius:12px;margin:0 12px 12px 0}
#ec-place-dialog{position:fixed;inset:0;margin:auto;width:min(560px,92vw);max-height:85vh;overflow:auto;border:0;border-radius:18px;padding:24px;color:#211b27}
#ec-place-dialog::backdrop{background:#211528aa}
#ec-place-dialog>.ec-button{margin-bottom:16px;min-height:44px}
#ec-place-dialog .ec-card{padding:0;border:0;box-shadow:none}
.ec-place-table .ec-record{gap:14px}
.ec-place-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;max-height:420px;overflow:auto;padding:12px}.ec-place-media img{width:100px;height:80px;object-fit:contain}.ec-place-media label{display:flex;flex-direction:column;font-size:12px;overflow-wrap:anywhere}
.ec-place-list-card h2{font-size:28px}.ec-place-list-card .ec-place-photo{width:100%;height:140px}
@media(max-width:600px){#ec-place-map{height:420px}.ec-place-filters{grid-template-columns:1fr 1fr;padding:12px}.ec-place-filters>div{grid-column:1/-1}.ec-place-table .ec-record{display:flex;flex-direction:column;align-items:flex-start}.ec-map-preview figcaption{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ec-map-preview>img{transition:none}}
.ec-map-preview-v2{border-radius:26px;border:1px solid #dbe5e7;box-shadow:0 16px 45px #30213f15;background:#d2e8f0;aspect-ratio:8/5;min-height:260px}
.ec-map-preview-v2>img{width:100%;height:100%;object-fit:cover;filter:none;transition:filter .35s,transform .45s}
.ec-map-preview-v2.ec-map-member .ec-map-preview-link{justify-content:flex-end;align-items:flex-start;background:linear-gradient(transparent 55%,#2b143660);padding:28px}
.ec-map-preview-v2.ec-map-member .ec-map-preview-link span{background:#fff;color:#72207f;border-radius:100px;padding:12px 22px;box-shadow:0 4px 16px #25113022}
.ec-map-preview-v2.ec-map-member:hover>img,.ec-map-preview-v2.ec-map-member:focus-within>img{transform:scale(1.025);filter:saturate(1.08)}
.ec-map-preview-v2.ec-map-guest>img{filter:blur(1.5px) saturate(.85)}
.ec-map-preview-v2.ec-map-guest figcaption{background:linear-gradient(#30213b06,#30213b50);text-shadow:0 1px 8px #23102e60;transition:background .3s;gap:16px}
.ec-map-preview-v2.ec-map-guest:hover>img,.ec-map-preview-v2.ec-map-guest:focus-within>img{filter:blur(6px) brightness(.75)}
.ec-map-preview-v2.ec-map-guest:hover figcaption,.ec-map-preview-v2.ec-map-guest:focus-within figcaption{background:#2f183c55}
.ec-map-preview-v2 figcaption strong{max-width:430px;font-size:clamp(18px,2.3vw,28px);line-height:1.3}
@media(prefers-reduced-motion:reduce){.ec-map-preview-v2>img,.ec-map-preview-v2 figcaption{transition:none}.ec-map-preview-v2.ec-map-member:hover>img{transform:none}}
.ec-map-preview-v2{width:100%;max-width:100%}
