map-widget {

    .offcanvas {
        height: 100% !important;

        .map-container {
            height: 80%;
            position: relative;
        }
    }

    .map-loading {
        position: absolute;
        z-index: 99999999;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;

        background: rgba(255, 255, 255, 0.6);
        backdrop-filter: blur(2px);

        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease;
    }

    .map-container.is-loading .map-loading {
        opacity: 1;
        pointer-events: all;
    }
}

.spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #ccc;
    border-top-color: #007cbf;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}