/* =========================================================
   NewsOS / iReport Mobile Shell v6
   Targets the active .newsos-* public frontend.
   ========================================================= */

html,body{max-width:100%;overflow-x:hidden}
.newsos-shell,.newsos-shell *{box-sizing:border-box}
.newsos-shell img,.newsos-shell video,.newsos-shell iframe{max-width:100%;height:auto}
.newsos-card,.newsos-article,.newsos-side-story,.newsos-list-item{min-width:0}

.newsos-shell a:focus-visible,
.newsos-shell button:focus-visible,
.newsos-shell input:focus-visible{
    outline:3px solid currentColor;
    outline-offset:3px
}

@supports(content-visibility:auto){
    .newsos-section,.newsos-site-footer{
        content-visibility:auto;
        contain-intrinsic-size:auto 650px
    }
}

@media(max-width:820px){
    .newsos-site-header{
        position:fixed;
        top:0;
        left:0;
        right:0;
        width:100%;
        z-index:1000
    }
    body.admin-bar .newsos-site-header{top:46px}
    .newsos-header-inner,
    .newsos-main,
    .newsos-footer-inner,
    .newsos-single-pro,
    .newsos-archive-pro,
    .newsos-search-pro{
        width:calc(100% - 30px);
        max-width:none
    }
    .newsos-brand-row{
        grid-template-columns:1fr;
        gap:10px;
        padding:12px 0 10px
    }
    .newsos-logo{font-size:34px}
    .newsos-search-form{
        width:100%;
        min-width:0;
        display:grid;
        grid-template-columns:minmax(0,1fr) auto
    }
    .newsos-search-form input{
        min-width:0;
        height:46px;
        font-size:16px
    }
    .newsos-search-form button{
        min-width:46px;
        min-height:46px
    }
    .newsos-nav-row{
        margin:0 -15px;
        padding:10px 15px;
        gap:20px;
        overflow-x:auto;
        overscroll-behavior-x:contain;
        -webkit-overflow-scrolling:touch;
        scroll-snap-type:x proximity
    }
    .newsos-nav-row a{
        min-height:44px;
        display:inline-flex;
        align-items:center;
        scroll-snap-align:start
    }
    .newsos-hero-grid{display:block}
    .newsos-hero-main,
    .newsos-hero-main>a{
        min-height:clamp(390px,68vh,520px)
    }
    .newsos-hero-content{padding:24px}
    .newsos-hero-content h1{
        font-size:clamp(32px,9vw,48px);
        line-height:1.04;
        overflow-wrap:anywhere
    }
    .newsos-side-column{
        grid-template-columns:1fr;
        gap:14px;
        margin-top:14px
    }
    .newsos-side-story,
    .newsos-side-story>a{min-height:240px}
    .newsos-grid-3,.newsos-grid-4,
    .newsos-carousel,.newsos-latest-grid,
    .newsos-related .newsos-grid-3{
        grid-template-columns:1fr
    }
    .newsos-card-image{aspect-ratio:16/9}
    .newsos-single-pro .newsos-single-layout,
    .newsos-single-layout{grid-template-columns:1fr;gap:32px}
    .newsos-single-title,
    .newsos-single-pro .newsos-single-title{
        font-size:clamp(31px,9vw,44px);
        line-height:1.07;
        overflow-wrap:anywhere
    }
    .newsos-single-deck,
    .newsos-single-pro .newsos-single-deck{
        font-size:18px;
        line-height:1.55
    }
    .newsos-single-content{
        font-size:18px;
        line-height:1.72;
        overflow-wrap:anywhere
    }
    .newsos-single-content iframe{
        width:100%;
        aspect-ratio:16/9;
        height:auto
    }
    .newsos-single-content table{
        display:block;
        width:100%;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch
    }
    .newsos-single-content .alignwide,
    .newsos-single-content .alignfull{
        width:100%;
        max-width:100%;
        margin-left:0;
        margin-right:0
    }
    .newsos-footer-grid{grid-template-columns:1fr;gap:28px}
    .newsos-footer-links a{
        min-height:44px;
        display:inline-flex;
        align-items:center
    }
}

@media(max-width:520px){
    .newsos-header-inner,
    .newsos-main,
    .newsos-footer-inner,
    .newsos-single-pro,
    .newsos-archive-pro,
    .newsos-search-pro{
        width:calc(100% - 24px)
    }
    .newsos-nav-row{margin:0 -12px;padding-left:12px;padding-right:12px}
    .newsos-breaking{
        display:flex;
        align-items:center;
        gap:12px;
        overflow:hidden
    }
    .newsos-breaking-label{flex:0 0 auto}
    .newsos-breaking-items{
        display:flex;
        overflow-x:auto;
        gap:18px;
        scrollbar-width:none
    }
    .newsos-breaking-items a{
        display:block!important;
        flex:0 0 78vw;
        white-space:normal;
        line-height:1.35
    }
    .newsos-hero-main,
    .newsos-hero-main>a{min-height:390px}
    .newsos-side-story,
    .newsos-side-story>a{min-height:220px}
    .newsos-single-content{font-size:17px}
}

@media(max-width:360px){
    .newsos-logo{font-size:30px}
    .newsos-hero-content{padding:18px}
    .newsos-hero-content h1,
    .newsos-single-title,
    .newsos-single-pro .newsos-single-title{font-size:30px}
}

@media(hover:none) and (pointer:coarse){
    .newsos-card:hover img,
    .newsos-hero-main:hover img,
    .newsos-side-story:hover img{transform:none}
}

@media(prefers-reduced-motion:reduce){
    .newsos-shell *,
    .newsos-shell *::before,
    .newsos-shell *::after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important
    }
}

/* =========================================================
   NewsOS / iReport Mobile Shell v7
   SINGLE ARTICLE + RELATED STORIES + READING UX
   ========================================================= */

/* Article text measure remains readable on larger phones/tablets. */
.newsos-single-content{
    max-width:100%;
}

.newsos-single-content p,
.newsos-single-content li{
    text-wrap:pretty;
}

.newsos-single-content figure,
.newsos-single-content .wp-block-image,
.newsos-single-content .wp-block-video,
.newsos-single-content .wp-block-embed{
    max-width:100%;
    margin-left:0;
    margin-right:0;
}

.newsos-single-content figcaption{
    font-size:13px;
    line-height:1.45;
    opacity:.72;
    margin-top:8px;
}

.newsos-single-content blockquote{
    margin-left:0;
    margin-right:0;
    padding-left:20px;
    border-left:4px solid currentColor;
}

@media(max-width:820px){

    /* Reading-first article layout. */
    .newsos-single-pro{
        padding-top:22px;
    }

    .newsos-single-meta,
    .newsos-article-meta{
        display:flex;
        flex-wrap:wrap;
        gap:7px 12px;
        font-size:13px;
        line-height:1.45;
    }

    .newsos-single-content p{
        margin:0 0 1.25em;
    }

    .newsos-single-content h2{
        font-size:clamp(24px,6.8vw,31px);
        line-height:1.15;
        margin:1.55em 0 .65em;
    }

    .newsos-single-content h3{
        font-size:22px;
        line-height:1.2;
        margin:1.4em 0 .6em;
    }

    .newsos-single-content ul,
    .newsos-single-content ol{
        padding-left:1.25em;
    }

    .newsos-single-content li{
        margin-bottom:.55em;
    }

    .newsos-single-content blockquote{
        padding-left:16px;
        font-size:1.04em;
        line-height:1.62;
    }

    /* Keep lead/featured media visually stable. */
    .newsos-single-featured,
    .newsos-single-featured img,
    .newsos-article-featured,
    .newsos-article-featured img{
        width:100%;
        max-width:100%;
    }

    .newsos-single-featured img,
    .newsos-article-featured img{
        display:block;
        aspect-ratio:16/9;
        object-fit:cover;
    }

    /*
     * Related news becomes a real mobile feed.
     * Large enough image for scanning, text gets remaining width.
     */
    .newsos-related{
        margin-top:42px;
    }

    .newsos-related .newsos-section-title,
    .newsos-related h2{
        font-size:26px;
        line-height:1.1;
        margin-bottom:18px;
    }

    .newsos-related .newsos-grid-3,
    .newsos-related-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:0;
    }

    .newsos-related .newsos-card,
    .newsos-related-grid .newsos-card{
        display:grid;
        grid-template-columns:118px minmax(0,1fr);
        gap:14px;
        align-items:start;
        padding:15px 0;
        border-bottom:1px solid rgba(0,0,0,.10);
    }

    .newsos-related .newsos-card-image,
    .newsos-related-grid .newsos-card-image{
        width:118px;
        aspect-ratio:4/3;
        border-radius:8px;
        overflow:hidden;
    }

    .newsos-related .newsos-card-image img,
    .newsos-related-grid .newsos-card-image img{
        width:100%;
        height:100%;
        object-fit:cover;
    }

    .newsos-related .newsos-card h3,
    .newsos-related-grid .newsos-card h3{
        margin:0 0 6px;
        font-size:17px;
        line-height:1.25;
        overflow-wrap:anywhere;
    }

    /* Source/author boxes must never become wider than viewport. */
    .newsos-source-box,
    .newsos-author-box,
    .newsos-article-sources{
        max-width:100%;
        overflow-wrap:anywhere;
    }

    .newsos-source-box a,
    .newsos-author-box a,
    .newsos-article-sources a{
        min-height:36px;
        display:inline-flex;
        align-items:center;
    }

    /* Sharing controls: comfortable thumb targets. */
    .newsos-share,
    .newsos-share-links,
    .newsos-single-actions{
        display:flex;
        flex-wrap:wrap;
        gap:10px;
    }

    .newsos-share a,
    .newsos-share button,
    .newsos-share-links a,
    .newsos-single-actions a,
    .newsos-single-actions button{
        min-width:44px;
        min-height:44px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }
}

@media(max-width:430px){

    .newsos-single-content{
        font-size:17px;
        line-height:1.74;
    }

    .newsos-related .newsos-card,
    .newsos-related-grid .newsos-card{
        grid-template-columns:100px minmax(0,1fr);
        gap:12px;
    }

    .newsos-related .newsos-card-image,
    .newsos-related-grid .newsos-card-image{
        width:100px;
    }

    .newsos-related .newsos-card h3,
    .newsos-related-grid .newsos-card h3{
        font-size:16px;
    }
}



/* =========================================================
   NewsOS Frontend v27 â€” QA hardening
   ========================================================= */
.newsos-mega-menu[aria-hidden="true"]{
    visibility:hidden;
}

.newsos-mega-menu.is-open{
    visibility:visible;
}

.newsos-shell img{
    max-width:100%;
}

@media(max-width:820px){
    .newsos-menu-toggle,
    .newsos-menu-close{
        min-width:44px;
        min-height:44px;
        touch-action:manipulation;
    }

    .newsos-mega-menu{
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }
}

/* =========================================================
   NewsOS Frontend v30 â€” Mobile menu + hero polish
   ========================================================= */

:root{
    --ireport-brand-navy:#0B122F;
    --ireport-brand-red:#E41004;
}

/* Match the approved client palette. */
.newsos-shell,
.newsos-mega-menu{
    --nr-ink:var(--ireport-brand-navy);
}

.newsos-mega-heading i,
.newsos-breaking-dot,
.newsos-breaking-badge{
    background:var(--ireport-brand-red) !important;
}

@media(max-width:820px){

    /*
     * Burger menu: give the top controls breathing room below phone chrome
     * and make the menu feel designed for mobile rather than desktop stacked.
     */
    .newsos-mega-menu{
        padding-top:max(20px, env(safe-area-inset-top));
    }

    .newsos-mega-menu-top{
        padding-top:18px;
        padding-left:24px;
        padding-right:24px;
        padding-bottom:20px;
    }

    .newsos-mega-menu-inner{
        padding-left:24px;
        padding-right:24px;
    }

    .newsos-mega-grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:22px;
        row-gap:0;
    }

    .newsos-mega-column{
        min-width:0;
        padding:0;
        margin:0;
    }

    .newsos-mega-featured{
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
        margin-bottom:16px;
        padding-bottom:16px;
        border-bottom:1px solid rgba(11,18,47,.12);
    }

    /*
     * "ÎŒÎ»ÎµÏ‚ Î¿Î¹ Î•Î¹Î´Î®ÏƒÎµÎ¹Ï‚" no longer wraps awkwardly.
     * Category labels remain large but not oversized.
     */
    .newsos-mega-heading{
        display:flex;
        align-items:center;
        gap:9px;
        min-height:52px;
        margin:0;
        padding:8px 0;
        font-size:clamp(20px,5.4vw,26px);
        line-height:1.08;
        letter-spacing:-.03em;
        overflow-wrap:normal;
        word-break:normal;
    }

    .newsos-mega-featured .newsos-mega-heading{
        font-size:clamp(19px,5vw,24px);
    }

    .newsos-mega-heading i{
        flex:0 0 7px;
        width:7px;
        height:7px;
        border-radius:50%;
    }

    .newsos-mega-submenu{
        padding-bottom:10px;
    }

    /*
     * Burger footer: centered, visually separate, and less like another
     * navigation column.
     */
    .newsos-mega-bottom{
        margin-top:26px;
        padding:30px 18px max(30px, env(safe-area-inset-bottom));
        text-align:center;
        align-items:center;
    }

    .newsos-mega-bottom-brand,
    .newsos-mega-bottom-links{
        width:100%;
        max-width:560px;
        margin-left:auto;
        margin-right:auto;
        text-align:center;
    }

    .newsos-mega-bottom-logo{
        justify-content:center;
        text-align:center;
    }

    .newsos-mega-bottom-brand p{
        margin-left:auto;
        margin-right:auto;
        max-width:430px;
    }

    .newsos-mega-bottom-links{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:4px;
    }

    .newsos-mega-bottom-links a{
        justify-content:center;
        text-align:center;
    }

    /*
     * Hero title clipping fix:
     * reserve a clean content zone and reduce headline size before it gets
     * cropped by the image/card bounds.
     */
    .newsos-hero-main,
    .newsos-hero-main>a{
        min-height:0 !important;
    }

    .newsos-hero-main>a{
        display:grid;
        grid-template-rows:minmax(280px,52vh) auto;
        background:var(--ireport-brand-navy);
    }

    .newsos-hero-main>a>img{
        position:relative !important;
        inset:auto !important;
        width:100% !important;
        height:100% !important;
        min-height:280px;
        max-height:52vh;
        object-fit:cover;
    }

    .newsos-hero-main>a::after{
        display:none !important;
    }

    .newsos-hero-content{
        position:relative !important;
        inset:auto !important;
        z-index:2;
        padding:20px 22px 24px !important;
        background:var(--ireport-brand-navy);
    }

    .newsos-hero-content h1{
        margin:7px 0 10px !important;
        font-size:clamp(28px,7.4vw,38px) !important;
        line-height:1.08 !important;
        letter-spacing:-.035em;
        text-wrap:balance;
        overflow:visible !important;
    }

    .newsos-hero-content p{
        font-size:16px;
        line-height:1.55;
    }
}

@media(max-width:520px){
    .newsos-mega-menu-top,
    .newsos-mega-menu-inner{
        padding-left:20px;
        padding-right:20px;
    }

    .newsos-mega-grid{
        column-gap:16px;
    }

    .newsos-mega-heading{
        font-size:clamp(18px,5.8vw,23px);
        min-height:48px;
    }

    .newsos-hero-main>a{
        grid-template-rows:minmax(245px,44vh) auto;
    }

    .newsos-hero-main>a>img{
        min-height:245px;
        max-height:44vh;
    }

    .newsos-hero-content h1{
        font-size:clamp(27px,7.8vw,34px) !important;
    }
}

@media(max-width:380px){
    .newsos-mega-grid{
        grid-template-columns:1fr;
    }

    .newsos-mega-featured{
        grid-template-columns:1fr 1fr;
    }
}

/* NewsOS Frontend v31 â€” mobile header only */
@media(max-width:820px){
    .newsos-brand-row{
        display:grid !important;
        grid-template-columns:auto 1fr !important;
        grid-template-areas:
            "menu logo"
            "search search" !important;
        align-items:center !important;
        column-gap:16px !important;
        row-gap:16px !important;
    }

    .newsos-menu-toggle{
        grid-area:menu !important;
        justify-self:start !important;
        align-self:center !important;
    }

    .newsos-logo{
        grid-area:logo !important;
        justify-self:end !important;
        align-self:center !important;
        margin:0 !important;
        text-align:right !important;
    }

    .newsos-header-actions{
        grid-area:search !important;
        width:100% !important;
        min-width:0 !important;
    }
}

/* NewsOS Frontend v32 â€” desktop hero title fit only */
@media(min-width:821px){
 .newsos-hero-main .newsos-hero-content h1{font-size:clamp(42px,3.35vw,64px)!important;line-height:1.04!important;letter-spacing:-.035em!important;max-width:96%!important;overflow:visible!important;text-wrap:balance;}
}
@media(min-width:821px) and (max-width:1180px){
 .newsos-hero-main .newsos-hero-content h1{font-size:clamp(38px,4.25vw,52px)!important;line-height:1.05!important;}
}

/* =========================================================
   NewsOS Frontend v33 â€” Date + Athens weather top bar
   ========================================================= */
.newsos-top-info-v33{
    width:100%;
    background:#fff;
    border-bottom:1px solid rgba(11,18,47,.10);
    color:#475167;
    font-size:12px;
    line-height:1.2;
}

.newsos-top-info-inner-v33{
    width:min(1440px,calc(100% - 40px));
    min-height:34px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.newsos-top-date-v33{
    white-space:nowrap;
}

.newsos-top-weather-v33{
    display:inline-flex;
    align-items:center;
    gap:5px;
    white-space:nowrap;
    color:#0B122F;
}

.newsos-top-weather-v33 strong{
    font-weight:800;
}

@media(max-width:820px){
    .newsos-top-info-inner-v33{
        width:calc(100% - 32px);
        min-height:32px;
        font-size:11px;
        gap:10px;
    }
}

@media(max-width:430px){
    .newsos-top-info-inner-v33{
        width:calc(100% - 24px);
    }

    .newsos-top-date-v33{
        max-width:62%;
        overflow:hidden;
        text-overflow:ellipsis;
    }
}

/* =========================================================
   NewsOS Frontend v34 â€” Stronger Date + Weather Top Bar
   ========================================================= */
.newsos-top-info-v33{
    background:#f7f8fb !important;
    border-bottom:1px solid rgba(11,18,47,.16) !important;
    color:#0B122F !important;
    font-size:13px !important;
    font-weight:700 !important;
}

.newsos-top-info-inner-v33{
    min-height:40px !important;
}

.newsos-top-date-v33{
    color:#0B122F !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
}

.newsos-top-weather-v33{
    color:#0B122F !important;
    font-size:14px !important;
    font-weight:700 !important;
}

.newsos-top-weather-v33 strong{
    font-size:15px !important;
    font-weight:900 !important;
}

@media(max-width:820px){
    .newsos-top-info-v33{
        font-size:12px !important;
    }

    .newsos-top-info-inner-v33{
        min-height:36px !important;
    }

    .newsos-top-weather-v33{
        font-size:12px !important;
    }

    .newsos-top-weather-v33 strong{
        font-size:13px !important;
    }
}

/* =========================================================
   NewsOS Frontend v36 â€” Production mobile/performance guard
   ========================================================= */

/* Prevent long Greek/foreign headlines or URLs from widening the viewport. */
.newsos-shell,
.newsos-shell *{
    box-sizing:border-box;
}

.newsos-shell img,
.newsos-shell video,
.newsos-shell iframe{
    max-width:100%;
}

.newsos-shell img{
    height:auto;
}

/* Stable media geometry reduces layout shift while images load. */
.newsos-card img,
.newsos-hero-main img,
.newsos-hero-side img{
    display:block;
    width:100%;
    object-fit:cover;
}

/* Emergency wrapping for exceptionally long words/names/URLs. */
.newsos-shell h1,
.newsos-shell h2,
.newsos-shell h3,
.newsos-shell p,
.newsos-shell a{
    overflow-wrap:anywhere;
}

/* Touch targets: keep interactive header controls comfortably tappable. */
@media(max-width:820px){
    .newsos-menu-toggle{
        min-width:44px !important;
        min-height:44px !important;
    }

    .newsos-shell input,
    .newsos-shell button{
        max-width:100%;
    }

    body{
        overflow-x:hidden;
    }
}

/* =========================================================
   NewsOS Frontend v37 â€” Mobile newsroom header/search
   Burger left Â· logo centered Â· search icon right
   ========================================================= */

.newsos-mobile-search-toggle,
.newsos-mobile-search-close{
    display:none;
}

@media(max-width:820px){

    .newsos-brand-row{
        position:relative !important;
        display:grid !important;
        grid-template-columns:56px 1fr 56px !important;
        grid-template-areas:"menu logo search" !important;
        align-items:center !important;
        width:100% !important;
        min-height:82px !important;
        padding:14px 18px !important;
        column-gap:8px !important;
        row-gap:0 !important;
    }

    .newsos-menu-toggle{
        grid-area:menu !important;
        justify-self:start !important;
        align-self:center !important;
        margin:0 !important;
    }

    .newsos-logo{
        grid-area:logo !important;
        justify-self:center !important;
        align-self:center !important;
        margin:0 !important;
        text-align:center !important;
    }

    .newsos-logo img{
        display:block;
        max-width:190px !important;
        max-height:52px !important;
        width:auto !important;
        height:auto !important;
        margin:0 auto !important;
    }

    .newsos-mobile-search-toggle{
        grid-area:search !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        justify-self:end !important;
        width:46px !important;
        height:46px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        color:#0B122F !important;
        cursor:pointer !important;
        touch-action:manipulation;
    }

    .newsos-search-icon{
        position:relative;
        display:block;
        width:25px;
        height:25px;
        border:4px solid currentColor;
        border-radius:50%;
    }

    .newsos-search-icon::after{
        content:"";
        position:absolute;
        width:11px;
        height:4px;
        right:-8px;
        bottom:-4px;
        border-radius:999px;
        background:currentColor;
        transform:rotate(45deg);
        transform-origin:center;
    }

    .newsos-header-actions{
        display:none !important;
        grid-area:auto !important;
    }

    .newsos-header-actions.is-mobile-open{
        position:relative !important;
        display:flex !important;
        align-items:center !important;
        gap:10px !important;
        width:calc(100% - 32px) !important;
        margin:0 16px 14px !important;
        padding:10px 58px 10px 12px !important;
        background:#fff !important;
        border:1px solid rgba(11,18,47,.12) !important;
        border-radius:18px !important;
        box-shadow:0 8px 24px rgba(11,18,47,.08) !important;
    }

    .newsos-header-actions.is-mobile-open form{
        display:flex !important;
        align-items:center !important;
        width:100% !important;
        margin:0 !important;
    }

    .newsos-header-actions.is-mobile-open input{
        width:100% !important;
        min-height:48px !important;
        padding:0 12px !important;
        border:0 !important;
        outline:0 !important;
        box-shadow:none !important;
        font-size:18px !important;
        background:transparent !important;
    }

    .newsos-header-actions.is-mobile-open button[type="submit"]{
        display:none !important;
    }

    .newsos-mobile-search-close{
        position:absolute !important;
        top:50% !important;
        right:16px !important;
        transform:translateY(-50%) !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:40px !important;
        height:40px !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        color:#0B122F !important;
        font-size:38px !important;
        font-weight:300 !important;
        line-height:1 !important;
        cursor:pointer !important;
    }
}

@media(max-width:430px){
    .newsos-brand-row{
        grid-template-columns:50px 1fr 50px !important;
        min-height:76px !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .newsos-logo img{
        max-width:165px !important;
        max-height:48px !important;
    }

    .newsos-header-actions.is-mobile-open{
        width:calc(100% - 24px) !important;
        margin-left:12px !important;
        margin-right:12px !important;
    }
}

/* =========================================================
   NewsOS Frontend v38 â€” Mobile header/search reference match
   ========================================================= */
@media(max-width:820px){

    /* Clean newsroom header row */
    .newsos-brand-row{
        display:grid !important;
        grid-template-columns:56px 1fr 56px !important;
        grid-template-areas:"menu logo search" !important;
        align-items:center !important;
        min-height:76px !important;
        padding:10px 18px !important;
        margin:0 !important;
        border-bottom:0 !important;
        background:#fff !important;
    }

    .newsos-menu-toggle{
        grid-area:menu !important;
        justify-self:start !important;
        align-self:center !important;
        margin:0 !important;
        width:44px !important;
        height:44px !important;
    }

    .newsos-logo{
        grid-area:logo !important;
        justify-self:center !important;
        align-self:center !important;
        margin:0 !important;
        text-align:center !important;
    }

    .newsos-logo img{
        width:auto !important;
        height:auto !important;
        max-width:176px !important;
        max-height:48px !important;
        margin:0 auto !important;
        display:block !important;
    }

    .newsos-mobile-search-toggle{
        grid-area:search !important;
        justify-self:end !important;
        align-self:center !important;
        width:44px !important;
        height:44px !important;
        margin:0 !important;
        padding:0 !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
        color:#0B122F !important;
    }

    /* Search panel is fully hidden until opened */
    .newsos-header-actions{
        display:none !important;
    }

    /*
     * Reference behavior:
     * one compact horizontal search bar directly below the header,
     * not a floating card and no detached giant close button.
     */
    .newsos-header-actions.is-mobile-open{
        position:relative !important;
        display:flex !important;
        align-items:center !important;
        width:100% !important;
        min-height:76px !important;
        margin:0 !important;
        padding:12px 64px 12px 20px !important;
        background:#eef1f4 !important;
        border:0 !important;
        border-top:1px solid rgba(11,18,47,.08) !important;
        border-bottom:1px solid rgba(11,18,47,.08) !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    .newsos-header-actions.is-mobile-open form{
        position:relative !important;
        display:flex !important;
        align-items:center !important;
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
    }

    .newsos-header-actions.is-mobile-open form::before{
        content:"";
        position:absolute;
        left:18px;
        top:50%;
        width:20px;
        height:20px;
        border:3px solid #0B122F;
        border-radius:50%;
        transform:translateY(-56%);
        z-index:2;
        pointer-events:none;
    }

    .newsos-header-actions.is-mobile-open form::after{
        content:"";
        position:absolute;
        left:36px;
        top:50%;
        width:9px;
        height:3px;
        border-radius:10px;
        background:#0B122F;
        transform:translateY(6px) rotate(45deg);
        z-index:2;
        pointer-events:none;
    }

    .newsos-header-actions.is-mobile-open input{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        height:52px !important;
        margin:0 !important;
        padding:0 18px 0 54px !important;
        border:1px solid rgba(11,18,47,.18) !important;
        border-radius:28px !important;
        outline:0 !important;
        background:#fff !important;
        color:#0B122F !important;
        box-shadow:0 2px 8px rgba(11,18,47,.05) !important;
        font-size:17px !important;
        line-height:1 !important;
    }

    .newsos-header-actions.is-mobile-open input::placeholder{
        color:#8b93a3 !important;
        opacity:1 !important;
    }

    /* Hide desktop submit button on mobile panel. */
    .newsos-header-actions.is-mobile-open button[type="submit"]{
        display:none !important;
    }

    /* Close lives inside/right edge of the search area. */
    .newsos-mobile-search-close{
        position:absolute !important;
        top:50% !important;
        right:22px !important;
        transform:translateY(-50%) !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:40px !important;
        height:40px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        border-radius:50% !important;
        background:transparent !important;
        color:#0B122F !important;
        box-shadow:none !important;
        font-size:36px !important;
        font-weight:300 !important;
        line-height:1 !important;
        z-index:4 !important;
    }

    /* Don't leave extra empty height below header when search is closed. */
    .newsos-site-header{
        padding-bottom:0 !important;
    }
}

@media(max-width:430px){
    .newsos-brand-row{
        grid-template-columns:50px 1fr 50px !important;
        min-height:72px !important;
        padding:8px 14px !important;
    }

    .newsos-logo img{
        max-width:158px !important;
        max-height:44px !important;
    }

    .newsos-header-actions.is-mobile-open{
        min-height:70px !important;
        padding:9px 58px 9px 14px !important;
    }

    .newsos-header-actions.is-mobile-open input{
        height:50px !important;
        font-size:16px !important;
    }

    .newsos-mobile-search-close{
        right:16px !important;
    }
}

/* =========================================================
   NewsOS Frontend v39 â€” EXACT approved mobile search layout
   ========================================================= */
@media(max-width:820px){

    /* Main mobile header */
    .newsos-brand-row{
        display:grid !important;
        grid-template-columns:56px 1fr 56px !important;
        grid-template-areas:"menu logo search" !important;
        align-items:center !important;
        min-height:84px !important;
        padding:12px 18px !important;
        margin:0 !important;
        background:#fff !important;
        border:0 !important;
    }

    .newsos-menu-toggle{
        grid-area:menu !important;
        justify-self:start !important;
        width:46px !important;
        height:46px !important;
        margin:0 !important;
    }

    .newsos-logo{
        grid-area:logo !important;
        justify-self:center !important;
        margin:0 !important;
    }

    .newsos-logo img{
        display:block !important;
        width:auto !important;
        height:auto !important;
        max-width:180px !important;
        max-height:50px !important;
        margin:0 auto !important;
    }

    .newsos-mobile-search-toggle{
        grid-area:search !important;
        justify-self:end !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:46px !important;
        height:46px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        color:#0B122F !important;
        box-shadow:none !important;
    }

    .newsos-search-icon{
        width:26px !important;
        height:26px !important;
        border-width:4px !important;
    }

    /* Search panel: hidden until magnifier is tapped. */
    .newsos-header-actions{
        display:none !important;
    }

    /*
     * Approved layout:
     * full-width muted strip + one centered white pill.
     */
    .newsos-header-actions.is-mobile-open{
        position:relative !important;
        display:block !important;
        width:100% !important;
        min-height:124px !important;
        margin:0 !important;
        padding:24px 28px !important;
        background:#dfe2e6 !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    .newsos-header-actions.is-mobile-open form{
        position:relative !important;
        display:grid !important;
        grid-template-columns:42px minmax(0,1fr) 44px 44px !important;
        align-items:center !important;
        width:100% !important;
        height:70px !important;
        margin:0 !important;
        padding:0 12px 0 14px !important;
        background:#fff !important;
        border:1px solid rgba(11,18,47,.16) !important;
        border-radius:36px !important;
        box-shadow:0 8px 22px rgba(11,18,47,.12) !important;
        overflow:hidden !important;
    }

    /* Magnifier inside the white pill. */
    .newsos-header-actions.is-mobile-open form::before{
        content:"";
        position:relative !important;
        grid-column:1 !important;
        justify-self:center !important;
        width:20px !important;
        height:20px !important;
        border:3px solid #0B122F !important;
        border-radius:50% !important;
        inset:auto !important;
        transform:none !important;
        pointer-events:none !important;
    }

    .newsos-header-actions.is-mobile-open form::after{
        content:"";
        position:absolute !important;
        left:38px !important;
        top:39px !important;
        width:9px !important;
        height:3px !important;
        border-radius:999px !important;
        background:#0B122F !important;
        transform:rotate(45deg) !important;
        pointer-events:none !important;
    }

    .newsos-header-actions.is-mobile-open input{
        grid-column:2 !important;
        width:100% !important;
        min-width:0 !important;
        height:66px !important;
        margin:0 !important;
        padding:0 8px !important;
        border:0 !important;
        border-radius:0 !important;
        outline:0 !important;
        background:transparent !important;
        color:#0B122F !important;
        box-shadow:none !important;
        font-size:18px !important;
        line-height:1.2 !important;
    }

    .newsos-header-actions.is-mobile-open input::placeholder{
        color:#8d95a4 !important;
        opacity:1 !important;
    }

    /*
     * Close button is visually INSIDE the pill.
     */
    .newsos-mobile-search-close{
        position:absolute !important;
        z-index:5 !important;
        top:50% !important;
        right:76px !important;
        transform:translateY(-50%) !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:40px !important;
        height:40px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        color:#0B122F !important;
        font-size:34px !important;
        font-weight:300 !important;
        line-height:1 !important;
        box-shadow:none !important;
    }

    /*
     * Reuse the existing submit button as the right-arrow button,
     * matching the approved reference.
     */
    .newsos-header-actions.is-mobile-open button[type="submit"]{
        position:absolute !important;
        z-index:5 !important;
        top:50% !important;
        right:30px !important;
        transform:translateY(-50%) !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:40px !important;
        height:40px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        color:#5b6370 !important;
        box-shadow:none !important;
        font-size:0 !important;
        line-height:1 !important;
        cursor:pointer !important;
    }

    .newsos-header-actions.is-mobile-open button[type="submit"]::before{
        content:"â†’" !important;
        display:block !important;
        font-size:36px !important;
        font-weight:300 !important;
        line-height:1 !important;
    }

    .newsos-site-header{
        padding-bottom:0 !important;
    }
}

@media(max-width:430px){
    .newsos-brand-row{
        grid-template-columns:50px 1fr 50px !important;
        min-height:78px !important;
        padding:10px 14px !important;
    }

    .newsos-logo img{
        max-width:158px !important;
        max-height:46px !important;
    }

    .newsos-header-actions.is-mobile-open{
        min-height:108px !important;
        padding:19px 14px !important;
    }

    .newsos-header-actions.is-mobile-open form{
        grid-template-columns:40px minmax(0,1fr) 40px 40px !important;
        height:66px !important;
        border-radius:34px !important;
    }

    .newsos-header-actions.is-mobile-open form::after{
        left:36px !important;
        top:37px !important;
    }

    .newsos-header-actions.is-mobile-open input{
        height:62px !important;
        font-size:17px !important;
    }

    .newsos-mobile-search-close{
        right:59px !important;
    }

    .newsos-header-actions.is-mobile-open button[type="submit"]{
        right:18px !important;
    }
}

/* =========================================================
   NewsOS Frontend v40 â€” MOBILE SEARCH REBUILT FROM SCRATCH
   ========================================================= */

.newsos-mobile-search-panel-v40{
    display:none;
}

@media(max-width:820px){

    /* Header: simple three-column mobile row. */
    .newsos-brand-row{
        display:grid !important;
        grid-template-columns:56px 1fr 56px !important;
        grid-template-areas:"menu logo search" !important;
        align-items:center !important;
        min-height:78px !important;
        padding:10px 18px !important;
        margin:0 !important;
        background:#fff !important;
    }

    .newsos-menu-toggle{
        grid-area:menu !important;
        justify-self:start !important;
        align-self:center !important;
        width:44px !important;
        height:44px !important;
        margin:0 !important;
    }

    .newsos-logo{
        grid-area:logo !important;
        justify-self:center !important;
        align-self:center !important;
        margin:0 !important;
    }

    .newsos-logo img{
        display:block !important;
        width:auto !important;
        height:auto !important;
        max-width:168px !important;
        max-height:46px !important;
        margin:0 auto !important;
    }

    .newsos-mobile-search-toggle{
        grid-area:search !important;
        justify-self:end !important;
        align-self:center !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:44px !important;
        height:44px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        color:#0B122F !important;
        box-shadow:none !important;
    }

    /* Desktop search must never participate in mobile layout. */
    .newsos-header-actions{
        display:none !important;
    }

    /*
     * Dedicated search row.
     * This is independent of the desktop search and therefore cannot inherit
     * conflicting desktop form/button styles.
     */
    .newsos-mobile-search-panel-v40[hidden]{
        display:none !important;
    }

    .newsos-mobile-search-panel-v40.is-open{
        display:block !important;
        width:100% !important;
        margin:0 !important;
        padding:18px 20px !important;
        background:#d9dde2 !important;
        border-top:1px solid rgba(11,18,47,.07) !important;
        border-bottom:1px solid rgba(11,18,47,.08) !important;
    }

    .newsos-mobile-search-form-v40{
        display:grid !important;
        grid-template-columns:42px minmax(0,1fr) 42px 42px !important;
        align-items:center !important;
        width:100% !important;
        height:62px !important;
        margin:0 !important;
        padding:0 10px 0 14px !important;
        background:#fff !important;
        border:1px solid rgba(11,18,47,.20) !important;
        border-radius:32px !important;
        box-shadow:0 4px 14px rgba(11,18,47,.10) !important;
        overflow:hidden !important;
    }

    .newsos-mobile-search-form-icon-v40{
        position:relative !important;
        display:block !important;
        justify-self:center !important;
        width:22px !important;
        height:22px !important;
        border:3px solid #0B122F !important;
        border-radius:50% !important;
        box-sizing:border-box !important;
    }

    .newsos-mobile-search-form-icon-v40::after{
        content:"" !important;
        position:absolute !important;
        width:9px !important;
        height:3px !important;
        right:-7px !important;
        bottom:-4px !important;
        border-radius:999px !important;
        background:#0B122F !important;
        transform:rotate(45deg) !important;
    }

    .newsos-mobile-search-input-v40{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        height:58px !important;
        margin:0 !important;
        padding:0 10px !important;
        border:0 !important;
        outline:0 !important;
        background:transparent !important;
        color:#0B122F !important;
        font-size:18px !important;
        line-height:1.2 !important;
        box-shadow:none !important;
        appearance:none !important;
        -webkit-appearance:none !important;
    }

    .newsos-mobile-search-input-v40::placeholder{
        color:#8a92a0 !important;
        opacity:1 !important;
    }

    .newsos-mobile-search-input-v40::-webkit-search-cancel-button{
        display:none !important;
        -webkit-appearance:none !important;
    }

    .newsos-mobile-search-close-v40,
    .newsos-mobile-search-submit-v40{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:40px !important;
        height:40px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        line-height:1 !important;
        cursor:pointer !important;
    }

    .newsos-mobile-search-close-v40{
        color:#0B122F !important;
        font-size:34px !important;
        font-weight:300 !important;
    }

    .newsos-mobile-search-submit-v40{
        color:#5d6571 !important;
        font-size:34px !important;
        font-weight:300 !important;
    }
}

@media(max-width:430px){
    .newsos-brand-row{
        grid-template-columns:50px 1fr 50px !important;
        min-height:74px !important;
        padding:8px 14px !important;
    }

    .newsos-logo img{
        max-width:154px !important;
        max-height:44px !important;
    }

    .newsos-mobile-search-panel-v40.is-open{
        padding:14px 12px !important;
    }

    .newsos-mobile-search-form-v40{
        grid-template-columns:38px minmax(0,1fr) 38px 38px !important;
        height:58px !important;
        border-radius:30px !important;
    }

    .newsos-mobile-search-input-v40{
        height:54px !important;
        font-size:17px !important;
    }

    .newsos-mobile-search-close-v40,
    .newsos-mobile-search-submit-v40{
        width:36px !important;
        height:36px !important;
        font-size:30px !important;
    }
}

/* =========================================================
   NewsOS Frontend v41 â€” Mobile navigation simplification
   Hide horizontal category row on mobile.
   Navigation remains available through the burger menu.
   ========================================================= */
@media(max-width:820px){
    .newsos-nav-row{
        display:none !important;
    }
}


/* v43.3.3 â€” Mobile header hairline cleanup only.
   Remove the 1px light separator inherited by the sticky site header.
   Keep the existing red accent line and BREAKING bar untouched. */
@media (max-width:820px){
    .newsos-site-header{
        border-bottom:0 !important;
    }
}


/* =========================================================
   NewsOS Frontend v43.3.12 â€” Mobile hero full-image fit
   Keep the first homepage hero image fully visible on phones.
   Desktop, cards, carousel and article images remain unchanged.
   ========================================================= */
@media (max-width:820px){
    .newsos-home .newsos-hero-main > a{
        grid-template-rows:auto auto !important;
    }

    .newsos-home .newsos-hero-main > a > img{
        position:relative !important;
        inset:auto !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        aspect-ratio:auto !important;
        object-fit:contain !important;
        object-position:center center !important;
        display:block !important;
        background:var(--ireport-brand-navy) !important;
    }
}

/* =========================================================
   NewsOS Frontend v43.3.19 â€” RELATED ARTICLES MOBILE GRID FIX
   The .newsos-card contains ONE direct child (<a>). The older
   mobile rule applied the two-column grid to the <article>,
   which squeezed the entire link/title into the 100â€“118px
   image column. Apply the grid to the link itself instead.
   Scope: related articles on mobile only.
   ========================================================= */
@media (max-width:820px){

    .newsos-related .newsos-card,
    .newsos-related-grid .newsos-card{
        display:block !important;
        padding:15px 0 !important;
        border-bottom:1px solid rgba(255,255,255,.16) !important;
        min-width:0 !important;
    }

    .newsos-related .newsos-card > a,
    .newsos-related-grid .newsos-card > a{
        display:grid !important;
        grid-template-columns:118px minmax(0,1fr) !important;
        column-gap:14px !important;
        row-gap:6px !important;
        align-items:start !important;
        width:100% !important;
        min-width:0 !important;
    }

    .newsos-related .newsos-card-image,
    .newsos-related-grid .newsos-card-image{
        grid-column:1 !important;
        grid-row:1 / span 5 !important;
        width:118px !important;
        aspect-ratio:4 / 3 !important;
        margin:0 !important;
        border-radius:8px !important;
        overflow:hidden !important;
    }

    .newsos-related .newsos-card .newsos-label,
    .newsos-related .newsos-card h2,
    .newsos-related .newsos-card h3,
    .newsos-related .newsos-card p,
    .newsos-related .newsos-card time,
    .newsos-related-grid .newsos-card .newsos-label,
    .newsos-related-grid .newsos-card h2,
    .newsos-related-grid .newsos-card h3,
    .newsos-related-grid .newsos-card p,
    .newsos-related-grid .newsos-card time{
        grid-column:2 !important;
        min-width:0 !important;
        width:auto !important;
        max-width:100% !important;
    }

    .newsos-related .newsos-card h2,
    .newsos-related .newsos-card h3,
    .newsos-related-grid .newsos-card h2,
    .newsos-related-grid .newsos-card h3{
        margin:0 !important;
        font-size:17px !important;
        line-height:1.22 !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
        hyphens:auto;
    }

    .newsos-related .newsos-card p,
    .newsos-related-grid .newsos-card p{
        margin:3px 0 0 !important;
        font-size:13px !important;
        line-height:1.4 !important;
    }

    .newsos-related .newsos-card time,
    .newsos-related-grid .newsos-card time{
        margin-top:2px !important;
        font-size:11px !important;
    }
}

@media (max-width:430px){

    .newsos-related .newsos-card > a,
    .newsos-related-grid .newsos-card > a{
        grid-template-columns:100px minmax(0,1fr) !important;
        column-gap:12px !important;
    }

    .newsos-related .newsos-card-image,
    .newsos-related-grid .newsos-card-image{
        width:100px !important;
    }

    .newsos-related .newsos-card h2,
    .newsos-related .newsos-card h3,
    .newsos-related-grid .newsos-card h2,
    .newsos-related-grid .newsos-card h3{
        font-size:16px !important;
    }
}

/* =========================================================
   NewsOS Frontend v43.3.20 â€” RELATED SECTION SINGLE DIVIDER
   Mobile only: remove the extra TOP divider from "Î£Ï‡ÎµÏ„Î¹ÎºÎ¬ Î¬ÏÎ¸ÏÎ±".
   Keep the existing divider under the section heading unchanged.
   ========================================================= */
@media (max-width:820px){
    .newsos-related{
        border-top:0 !important;
        padding-top:0 !important;
    }
}


/* Related cards: retain the desktop image-above-text order on phones too. */
@media (max-width: 820px) {
    .newsos-related .newsos-card > a,
    .newsos-related-grid .newsos-card > a {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .newsos-related .newsos-card-image,
    .newsos-related-grid .newsos-card-image {
        grid-column: 1 !important;
        grid-row: auto !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
    }

    .newsos-related .newsos-card-image img,
    .newsos-related-grid .newsos-card-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
    }

    .newsos-related .newsos-card .newsos-label,
    .newsos-related .newsos-card h2,
    .newsos-related .newsos-card h3,
    .newsos-related .newsos-card p,
    .newsos-related .newsos-card time,
    .newsos-related-grid .newsos-card .newsos-label,
    .newsos-related-grid .newsos-card h2,
    .newsos-related-grid .newsos-card h3,
    .newsos-related-grid .newsos-card p,
    .newsos-related-grid .newsos-card time {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}