/**
 * Mausam Breaking — Unified page alignment v12.2.1
 * Homepage .mb-container is the single source of truth.
 */
:root {
    --mb-container: 1280px;
    --mb-layout-width: 1280px;
    --mb-desktop-layout-width: 1280px;
    --mb-unified-max-width: 1280px;
    --mb-unified-gutter: 16px;
}

/* One page-width controller for header, homepage, archives, singles and footer. */
.mb-container {
    width: min(calc(100% - (2 * var(--mb-unified-gutter))), var(--mb-unified-max-width)) !important;
    max-width: var(--mb-unified-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Inner layout classes control columns only; they must not create another page gutter. */
:where(
    .mb-home-section,
    .mb-inner-layout,
    .mb-pro-archive-layout,
    .mb-pro-search-layout,
    .mb-pro-single-layout,
    .mb-tv9-single-layout,
    .mb-content-area,
    .mb-tv9-content-area,
    .mb-weather-page-layout,
    .mb-video-archive-shell
) {
    min-width: 0;
    box-sizing: border-box;
}

/* Standalone layout wrappers receive the master width only when no .mb-container is present. */
:where(
    .mb-tv9-single-layout,
    .mb-pro-single-layout,
    .mb-video-archive-shell
):not(.mb-container) {
    width: min(calc(100% - (2 * var(--mb-unified-gutter))), var(--mb-unified-max-width)) !important;
    max-width: var(--mb-unified-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* A layout class combined with .mb-container must not override the container. */
.mb-container.mb-inner-layout,
.mb-container.mb-pro-archive-layout,
.mb-container.mb-pro-search-layout,
.mb-container.mb-pro-single-layout,
.mb-container.mb-tv9-single-layout,
.mb-container.mb-video-archive-shell {
    width: min(calc(100% - (2 * var(--mb-unified-gutter))), var(--mb-unified-max-width)) !important;
    max-width: var(--mb-unified-max-width) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}

/* Avoid a second horizontal gutter inside video archive pages. */
.mb-video-archive-main {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.mb-video-archive-shell.mb-container {
    width: min(calc(100% - (2 * var(--mb-unified-gutter))), var(--mb-unified-max-width)) !important;
    max-width: var(--mb-unified-max-width) !important;
}

@media (max-width: 1024px) {
    :root {
        --mb-unified-gutter: 14px;
    }
}

@media (max-width: 768px) {
    :root {
        --mb-unified-gutter: 10px;
    }

    .mb-container,
    :where(
        .mb-tv9-single-layout,
        .mb-pro-single-layout,
        .mb-video-archive-shell
    ):not(.mb-container) {
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .mb-video-archive-main {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    :where(
        .mb-tv9-entry-content,
        .mb-entry-content,
        .mb-weather-content,
        .mb-pro-archive-feed,
        .mb-liveblog-archive-timeline
    ) {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}

/**
 * Alignment cleanup v12.2.2
 * Remove secondary gutters and width constraints from inner grid columns.
 */
:where(
    .mb-template-content-area,
    .mb-template-sidebar-area,
    .mb-inner-main,
    .mb-inner-sidebar,
    .mb-tv9-main-column,
    .mb-tv9-sidebar,
    .mb-content-area,
    .mb-sidebar-area,
    .mb-sidebar,
    .mb-tv9-content-area
) {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Homepage outer wrappers are full bleed; only child .mb-container creates gutters. */
:where(
    .mb-home-main,
    .mb-weather-home,
    .mb-premium-weather-home,
    .mb-main-content,
    .mb-home-wrapper
) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Weather pages already carry .mb-container; do not create another width system. */
.mb-weather-page.mb-weather-page-layout.mb-container {
    width: min(calc(100% - (2 * var(--mb-unified-gutter))), var(--mb-unified-max-width)) !important;
    max-width: var(--mb-unified-max-width) !important;
    margin-inline: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Liveblog shells are content blocks, not independent page containers. */
.mb-container .mb-liveblog-shell,
.mb-container .mb-liveblog-archive-shell,
.mb-liveblog-archive-timeline-page .mb-liveblog-archive-shell {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Full-width single keeps the page edge aligned; readable prose may remain constrained inside. */
.single .mb-pro-single-layout.mb-pro-single-fullwidth,
.single .mb-pro-single-layout.mb-pro-single-fullwidth .mb-content-area {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.single .mb-pro-single-layout.mb-pro-single-fullwidth :where(.mb-pro-entry-content, .mb-entry-content) {
    width: 100% !important;
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Prevent nested archive/single layouts from producing an extra horizontal inset. */
.mb-container > :where(
    .mb-inner-layout,
    .mb-pro-archive-layout,
    .mb-pro-search-layout,
    .mb-pro-single-layout,
    .mb-tv9-single-layout
) {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 768px) {
    :where(
        .mb-template-content-area,
        .mb-template-sidebar-area,
        .mb-inner-main,
        .mb-inner-sidebar,
        .mb-tv9-main-column,
        .mb-tv9-sidebar,
        .mb-content-area,
        .mb-sidebar-area,
        .mb-sidebar,
        .mb-tv9-content-area
    ) {
        width: 100% !important;
        max-width: 100% !important;
    }

    .mb-weather-page.mb-weather-page-layout.mb-container {
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
    }
}

/* Compact desktop navigation search — v12.19.2 */
@media (min-width: 769px) {
    .mb-nav-search {
        flex-basis: 245px;
        min-width: 165px;
        height: 34px;
        border-radius: 4px;
        transition: border-color .18s ease, box-shadow .18s ease;
    }

    .mb-nav-search:focus-within {
        border-color: #aeb9c7;
        box-shadow: 0 0 0 2px rgba(15, 23, 42, .05);
    }

    .mb-nav-search input {
        padding-inline: 9px;
        font-size: 13px;
    }

    .mb-nav-search button {
        width: 34px;
        min-width: 34px;
    }

    .mb-nav-search .mb-svg {
        width: 15px;
        height: 15px;
    }
}
