.wp-block-tech42-map,
.tech42-map-block {
    --tech42-map-primary: var(--wp--preset--color--primary, #1d4ed8);
    --tech42-map-surface: var(--wp--preset--color--surface, #ffffff);
    --tech42-map-contrast: var(--wp--preset--color--contrast, #111827);
    color: var(--tech42-map-contrast);
}
.tech42-map-block__header { margin-bottom: 1rem; }
.tech42-map-block__eyebrow { margin: 0 0 .35rem; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tech42-map-block__header h2 { margin: 0; }
.tech42-map-block__canvas { width: 100%; min-height: 320px; overflow: hidden; border-radius: var(--wp--custom--radius--lg, 18px); background: #e5e7eb; }
.tech42-map-block__empty,
.tech42-map-editor__empty { display: grid; box-sizing: border-box; width: 100%; place-items: center; padding: 2rem; border: 1px dashed #9ca3af; border-radius: var(--wp--custom--radius--lg, 18px); background: #f3f4f6; color: #4b5563; text-align: center; }
.tech42-map-block__empty { height: 100%; margin: 0; }
.tech42-map-editor__canvas { width: 100%; min-height: 320px; overflow: hidden; border: 1px solid #d1d5db; border-radius: var(--wp--custom--radius--lg, 18px); background: #e5e7eb; }
.tech42-map-editor__reset { margin-left: .5rem; }
.tech42-map-marker { display: block; width: 42px; height: 49px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.tech42-map-marker img { display: block; width: 100%; height: 100%; filter: drop-shadow(0 5px 5px rgba(15, 23, 42, .3)); }
.tech42-map-marker:focus-visible { outline: 3px solid var(--tech42-map-contrast); outline-offset: 3px; border-radius: 999px; }
.tech42-map-popup { min-width: 190px; color: #111827; }
.tech42-map-popup > img { display: block; width: calc(100% + 20px); max-width: none; height: 120px; margin: -10px -10px 10px; object-fit: cover; }
.tech42-map-popup strong { font-size: 1rem; }
.tech42-map-popup p { margin: .35rem 0 0; }
.tech42-map-popup a { font-weight: 700; }
@media (max-width: 700px) { .tech42-map-block__canvas { min-height: 380px; } }
