/**
 * Gedhoru admin responsive layout foundation (django-unfold).
 *
 * Breakpoint tokens align with Tailwind: sm 640, md 768, lg 1024, xl 1280.
 * Prefer container queries on panels; viewport tokens are coarse fallbacks only.
 */
:root {
    --gedhoru-bp-sm: 40rem;
    --gedhoru-bp-md: 48rem;
    --gedhoru-bp-lg: 64rem;
    --gedhoru-bp-xl: 80rem;
    --gedhoru-map-height-sm: clamp(220px, 32vh, 300px);
    --gedhoru-map-height-md: clamp(280px, 38vh, 400px);
    --gedhoru-map-height-lg: clamp(320px, 42vh, 480px);
    --gedhoru-stack-gap: 16px;
}

/* Prevent grid/flex children from forcing horizontal overflow in admin content. */
#content .gedhoru-responsive-stack > *,
#content .gedhoru-responsive-split > *,
#content [class*="gedhoru-responsive"] > * {
    min-width: 0;
}

.gedhoru-responsive-stack {
    display: grid;
    gap: var(--gedhoru-stack-gap);
    grid-template-columns: 1fr;
}

.gedhoru-responsive-split {
    container-type: inline-size;
    display: grid;
    gap: var(--gedhoru-stack-gap);
    grid-template-columns: 1fr;
}

.gedhoru-map-viewport {
    width: 100%;
    height: var(--gedhoru-map-height-md);
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.gedhoru-map-viewport--sm {
    height: var(--gedhoru-map-height-sm);
}

.gedhoru-map-viewport--lg {
    height: var(--gedhoru-map-height-lg);
}

.gedhoru-map-viewport .leaflet-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
