/* Analysis page — mobile scroll safety (desktop unchanged) */

@media (max-width: 768px) {
    .analysis-page .analysis-graph-wrap,
    .analysis-page .analysis-map-wrapper,
    .analysis-page .analysis-graph-wrap .js-plotly-plot,
    .analysis-page .analysis-graph-wrap .plotly,
    .analysis-page .analysis-map-wrapper .leaflet-container {
        touch-action: pan-y;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
    }

  /* Prevent global mobile flex rules from reflowing graph card headers */
    .analysis-page div[style*="marginBottom"] {
        display: block;
        flex-wrap: unset;
        gap: unset;
    }

    /* Restore stable graph heights overridden by generic plotly mobile rules */
    .analysis-page .analysis-graph-wrap {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .analysis-page .analysis-graph-wrap > div,
    .analysis-page .analysis-graph-wrap .js-plotly-plot,
    .analysis-page .analysis-graph-wrap .plotly {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    .analysis-page .analysis-map-wrapper {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        border-radius: 8px;
    }

    .analysis-page .analysis-map-wrapper .leaflet-container {
        pointer-events: none;
    }
}
