/**
 * The Lost Era — 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;
    }
}

/* Mobile footer mega grid: 2 columns × 4 rows — v12.20.2 */
@media (max-width: 768px) {
    .mb-footer-mega .mb-container.mb-footer-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 16px !important;
        align-items: start !important;
    }

    .mb-footer-mega .mb-footer-grid > .mb-footer-column {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .mb-footer-mega .mb-footer-column h2,
    .mb-footer-mega .mb-footer-column h3,
    .mb-footer-mega .mb-footer-column h4 {
        margin: 0 0 10px !important;
        font-size: 15px !important;
        line-height: 1.3 !important;
    }

    .mb-footer-mega .mb-footer-column ul {
        margin: 0 !important;
        padding: 0 !important;
    }

    .mb-footer-mega .mb-footer-column li,
    .mb-footer-mega .mb-footer-column a,
    .mb-footer-mega .mb-footer-column p {
        font-size: 13px !important;
        line-height: 1.55 !important;
        overflow-wrap: anywhere !important;
    }
}

/* Footer about typography enhancement — v12.20.5 */
.mb-footer-top .mb-footer-about strong {
    font-size: 18px !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
}

.mb-footer-top .mb-footer-about p {
    max-width: 760px !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    font-weight: 500 !important;
}

@media (max-width: 768px) {
    .mb-footer-top .mb-footer-about strong {
        font-size: 16px !important;
        line-height: 1.35 !important;
    }

    .mb-footer-top .mb-footer-about p {
        max-width: 100% !important;
        font-size: 14px !important;
        line-height: 1.7 !important;
    }
}

/* Footer about alignment fix — v12.20.6 */
.mb-footer-top .mb-footer-actions .mb-footer-about {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.mb-footer-top .mb-footer-about strong {
    display: block !important;
    width: 100% !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    text-align: left !important;
}

.mb-footer-top .mb-footer-about p {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

@media (max-width: 768px) {
    .mb-footer-top .mb-footer-actions .mb-footer-about,
    .mb-footer-top .mb-footer-about strong,
    .mb-footer-top .mb-footer-about p {
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
    }
}

/* Footer about centered block with justified copy — v12.20.7 */
.mb-footer-top .mb-footer-actions .mb-footer-about {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.mb-footer-top .mb-footer-about strong {
    text-align: center !important;
}

.mb-footer-top .mb-footer-about p {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: justify !important;
    text-align-last: center !important;
}

@media (max-width: 768px) {
    .mb-footer-top .mb-footer-actions .mb-footer-about {
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .mb-footer-top .mb-footer-about strong {
        text-align: center !important;
    }

    .mb-footer-top .mb-footer-about p {
        max-width: 100% !important;
        text-align: justify !important;
        text-align-last: center !important;
    }
}

/* Footer about full action-width alignment — v12.20.8 */
.mb-footer-top .mb-footer-actions {
    width: 100% !important;
    min-width: 0 !important;
}

.mb-footer-top .mb-footer-actions .mb-footer-about {
    flex: 1 0 100% !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.mb-footer-top .mb-footer-actions .mb-footer-about strong,
.mb-footer-top .mb-footer-actions .mb-footer-about p {
    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;
}

.mb-footer-top .mb-footer-actions .mb-footer-about strong {
    text-align: center !important;
}

.mb-footer-top .mb-footer-actions .mb-footer-about p {
    text-align: justify !important;
    text-align-last: center !important;
}

@media (max-width: 768px) {
    .mb-footer-top .mb-footer-actions,
    .mb-footer-top .mb-footer-actions .mb-footer-about,
    .mb-footer-top .mb-footer-actions .mb-footer-about strong,
    .mb-footer-top .mb-footer-actions .mb-footer-about p {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Performance: skip paint/layout work for sections well below the viewport. */
@supports (content-visibility:auto) {
  .mb-home-section,
  .mb-footer-main,
  .mb-related-section,
  .mb-template-pages-state-group,
  .mb-sidebar-widget {
    content-visibility: auto;
    contain-intrinsic-size: auto 620px;
  }
}

/* Reserve media geometry to prevent image-driven layout shifts. */
img[width][height] { height: auto; }
.mb-home-featured-media img,
.mb-wp-thumb img,
.wp-post-image { object-fit: cover; }


/* The Lost Era: restore inner-page sidebar while preserving the original design. */
@media (min-width: 901px) {
    .mb-container.mb-inner-layout,
    .mb-container.mb-pro-archive-layout,
    .mb-container.mb-pro-search-layout,
    .mb-container.mb-tv9-single-layout,
    .mb-container.mb-pro-single-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 330px !important;
        align-items: start !important;
        gap: 28px !important;
    }
    .mb-template-sidebar-area,
    .mb-inner-sidebar {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .mb-inner-sidebar {
        position: sticky;
        top: 92px;
    }
}
@media (max-width: 900px) {
    .mb-container.mb-inner-layout,
    .mb-container.mb-pro-archive-layout,
    .mb-container.mb-pro-search-layout,
    .mb-container.mb-tv9-single-layout,
    .mb-container.mb-pro-single-layout {
        display: block !important;
    }
    .mb-template-sidebar-area,
    .mb-inner-sidebar {
        display: block !important;
        width: 100% !important;
        margin-top: 24px !important;
    }
}
.mb-sidebar-widget,
.mb-sidebar-category-grid a,
.mb-sidebar-news-thumb,
.mb-sidebar-news-thumb img {
    border-radius: 6px !important;
}
