.embed-body { margin: 0; height: 100dvh; overflow: hidden; }
.embed-shell { display: flex; flex-direction: column; height: 100%; min-height: 180px; }
.embed-map-stage { position: relative; flex: 1; min-height: 0; }
#embedMap { width: 100%; height: 100%; background: #aad3df; }
.embed-pin { background: transparent; border: 0; }
.embed-pin svg { display: block; filter: drop-shadow(0 2px 2px rgba(24, 32, 28, .55)); }
.embed-status { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); z-index: 500; background: #fff; color: var(--ink); border-radius: 10px; border: 1px solid var(--line); padding: 9px 13px; margin: 0; width: max-content; max-width: calc(100% - 32px); box-shadow: var(--shadow); font-size: .85rem; text-align: center; }
.embed-status[hidden] { display: none; }
.embed-fit { position: absolute; top: 12px; left: 12px; z-index: 450; background: #fff; border: 1px solid var(--line); border-radius: 8px; color: var(--green); font: inherit; font-weight: 800; padding: 9px 12px; cursor: pointer; min-height: 40px; }
.embed-fit:disabled { opacity: .6; cursor: default; }
.embed-credit { position: absolute; left: 12px; bottom: 24px; z-index: 450; display: flex; align-items: center; gap: 7px; min-height: 44px; padding: 5px 11px 5px 7px; border: 1px solid var(--line); border-radius: 999px; background: #fff; box-shadow: var(--shadow); text-decoration: none; }
.embed-credit img { flex-shrink: 0; object-fit: contain; }
.embed-credit span { display: grid; gap: 1px; }
.embed-credit strong { color: var(--green); font-size: .78rem; line-height: 1.2; }
.embed-credit small { color: var(--muted); font-size: .65rem; line-height: 1.2; }
.embed-credit:hover { background: var(--field); }
.embed-credit:focus-visible { outline: 3px solid var(--brand-blue); outline-offset: 3px; }
.embed-popup { display: grid; gap: 5px; max-width: 240px; overflow-wrap: anywhere; }
.embed-popup strong { font-size: 1rem; }
.embed-popup a { display: block; margin-top: 4px; }
