.hym-map [hidden],
.hym-editor-map [hidden] { display: none !important; }
.hym-api-stage {
    position: relative;
    width: 100%;
    height: 360px;
    background: #292824;
    overflow: hidden;
}
.hym-api-canvas { width: 100%; height: 100%; }
.hym-editor-map .hym-api-stage { height: 410px; border-radius: 4px; }
.hym-map-compact .hym-api-stage { height: 280px; }
.hym-api-pin {
    width: 44px;
    height: 48px;
    transform: translate(-50%, -100%);
    cursor: default;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.hym-api-pin-draggable { cursor: grab; }
.hym-api-pin-draggable:active { cursor: grabbing; }
.hym-api-pin > span {
    display: block;
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    margin-top: 6px;
    background: #b49a75;
    border: 2px solid #f1ebe3;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    box-shadow: -3px 3px 12px rgba(0, 0, 0, 0.35);
}
.hym-api-pin > span::after {
    content: '';
    position: absolute;
    width: 9px;
    height: 9px;
    top: 10px;
    left: 10px;
    border-radius: 50%;
    background: #292824;
}
.hym-api-controls { position: absolute; top: 12px; right: 12px; display: grid; gap: 4px; }
.hym-api-stage .hym-api-controls button,
.hym-api-stage .hym-api-fallback {
    box-sizing: border-box;
    min-height: 44px;
    padding: 6px 12px;
    border: 1px solid #b49a75;
    border-radius: 4px;
    background: #292824;
    color: #f1ebe3;
    font-family: inherit;
    font-weight: 500;
    cursor: pointer;
}
.hym-api-stage .hym-api-controls button { width: 44px; font-size: 22px; line-height: 1; }
.hym-api-stage .hym-api-fallback { position: absolute; top: 12px; left: 12px; font-size: 12px; }
.hym-api-stage button:hover { background: #514a3e; }
.hym-api-stage button:focus-visible { outline: 2px solid #f1ebe3; outline-offset: 2px; }
@media (max-width: 767px) { .hym-api-stage { height: 300px; } }
@media (max-width: 782px) { .hym-editor-map .hym-api-stage { height: 320px; } }
