/* The Zonal Map (Views/ZonalMap). Page-scoped, loaded from that view's Styles section. */

/* The map's check boxes, a row of their own across every column of the header's filters, starting under the boxes
   (past .gc-page-filter's 8.5rem label column and its 0.5rem gap). */
.gc-zm-options {
    grid-column: 1 / -1;
    padding-left: 9rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.gc-zm-slider-row {
    display: flex;
    align-items: center;
    gap: 1rem;
}

#zmPeriod {
    flex: 1 1 auto;
}

/* Fixed, so the slider keeps its length as the text changes. */
.gc-zm-period {
    flex: 0 0 auto;
    min-width: 22rem;
}

/* The map beside the grids, both the height zonalMap.js fits to the window; one above the other when narrow. */
.gc-zm-body {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: 1rem;
}

.gc-zm-map-column {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#zmMap {
    flex: 1 1 auto;
    min-height: 360px;
}

.gc-zm-side-column {
    overflow-y: auto;
    min-height: 0;
}

@media (max-width: 991.98px) {
    .gc-zm-body {
        grid-template-columns: minmax(0, 1fr);
        height: auto !important;
    }

    #zmMap {
        height: 70vh !important;
    }
}

.gc-zm-legend {
    padding-top: 0.5rem;
}

.gc-zm-scale-caption {
    font-weight: bold;
    margin-bottom: 0.25rem;
}

.gc-zm-scale {
    height: 0.75rem;
    border-radius: 0.25rem;
    max-width: 24rem;
}

.gc-zm-scale-ends {
    display: flex;
    justify-content: space-between;
    max-width: 24rem;
    font-size: 0.875em;
}

.gc-zm-swatch-line {
    display: inline-block;
    width: 1.5rem;
    height: 3px;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.gc-zm-figures {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0 1rem;
    margin: 0.25rem 0;
}

.gc-zm-tip {
    text-align: left;
    line-height: 1.5;
}

.gc-zm-tip-title {
    font-weight: bold;
    margin-bottom: 0.25rem;
}

.gc-zm-tip-label {
    opacity: 0.75;
}
