/*
==============================================================================
SavvyGreat M3 newsroom v6 layout repair
- Keeps the news page in normal flow below the sticky context bar.
- Places the title-only marquee immediately before the hero.
- Reduces hero and carousel height across expanded, medium and compact layouts.
==============================================================================
*/

body[data-sgcv-controller="News"][data-sgcv-action="NationalNews"] .sgcv-m3-main,
body[data-sgcv-controller="News"][data-sgcv-action="InternationalNews"] .sgcv-m3-main {
    min-height: 0;
    padding-top: 0 !important;
    overflow: visible;
}

body[data-sgcv-controller="News"][data-sgcv-action="NationalNews"] .sgcv-m3-main > .sgcv-m3-page,
body[data-sgcv-controller="News"][data-sgcv-action="InternationalNews"] .sgcv-m3-main > .sgcv-m3-page {
    padding-top: 0 !important;
    overflow: visible;
}

.sgnews-m3-page-v3 {
    --sgnews-context-overlap: 0px;
    position: relative;
    margin-top: var(--sgnews-context-overlap);
    padding-top: clamp(12px, 1.4vw, 20px) !important;
    overflow: visible;
}

.sgnews-m3-page-v3 > .sgnews-m3-breaking-v4 {
    position: relative !important;
    inset: auto !important;
    z-index: 1;
    display: block !important;
    width: 100%;
    margin: 0 0 clamp(10px, 1.3vw, 16px);
}

.sgnews-m3-v4-breaking-shell {
    display: none !important;
}

.sgnews-m3-hero-v3 {
    min-height: 0;
    padding: clamp(18px, 2.6vw, 34px);
}

.sgnews-m3-hero-v3 h1 {
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.04;
}

.sgnews-m3-hero-v3 p {
    max-width: 62ch;
    margin-top: 12px;
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.5;
}

.sgnews-m3-hero-v3 .sgnews-m3-section-switcher {
    min-width: min(100%, 220px);
}

.sgnews-m3-featured-v3 {
    margin-top: clamp(20px, 3vw, 34px);
}

.sgnews-m3-featured-v3 .sgnews-m3-section-heading {
    margin-bottom: 8px;
}

.sgnews-m3-featured-v3 .sgnews-m3-carousel-viewport,
.sgnews-m3-featured-v3 .sgnews-m3-carousel-track {
    min-height: clamp(330px, 33vw, 450px);
    height: clamp(330px, 33vw, 450px);
}

.sgnews-m3-featured-v3 .sgnews-m3-carousel-card[data-sgnews-slot="0"] {
    --sgnews-card-width: min(56%, 700px);
}

.sgnews-m3-featured-v3 .sgnews-m3-carousel-content {
    gap: 9px;
    max-width: min(78%, 610px);
    padding: clamp(18px, 2.7vw, 30px);
}

.sgnews-m3-featured-v3 .sgnews-m3-carousel-content h3 {
    display: -webkit-box;
    max-width: 29ch;
    margin: 0;
    overflow: hidden;
    font: 600 clamp(21px, 2.35vw, 32px)/1.14 var(--m3-font-brand, "Segoe UI", sans-serif);
    letter-spacing: -.02em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sgnews-m3-featured-v3 .sgnews-m3-carousel-preview-title {
    -webkit-line-clamp: 2;
}

@media (max-width: 839px) {
    .sgnews-m3-page-v3 {
        padding-top: 12px !important;
    }

    .sgnews-m3-hero-v3 {
        padding: 20px;
    }

    .sgnews-m3-featured-v3 .sgnews-m3-carousel-viewport,
    .sgnews-m3-featured-v3 .sgnews-m3-carousel-track {
        min-height: clamp(340px, 58vw, 410px);
        height: clamp(340px, 58vw, 410px);
    }

    .sgnews-m3-featured-v3 .sgnews-m3-carousel-card[data-sgnews-slot="0"] {
        --sgnews-card-width: 76%;
    }
}

@media (max-width: 599px) {
    .sgnews-m3-page-v3 {
        padding-top: 8px !important;
    }

    .sgnews-m3-hero-v3 {
        padding: 18px 16px;
    }

    .sgnews-m3-hero-v3 h1 {
        font-size: clamp(31px, 10vw, 42px);
    }

    .sgnews-m3-featured-v3 .sgnews-m3-carousel-viewport,
    .sgnews-m3-featured-v3 .sgnews-m3-carousel-track {
        min-height: 360px;
        height: 360px;
    }

    .sgnews-m3-featured-v3 .sgnews-m3-carousel-card[data-sgnews-slot="0"] {
        --sgnews-card-width: 90%;
    }

    .sgnews-m3-featured-v3 .sgnews-m3-carousel-content {
        padding: 17px;
    }

    .sgnews-m3-featured-v3 .sgnews-m3-carousel-content h3 {
        max-width: 24ch;
        font-size: clamp(19px, 6.4vw, 27px);
    }
}
