/*!
 * IDDS NEXUS FIX — loaded LAST (after leaders.css)
 * Logo visibility · slider/content alignment · leader photo crop
 */

/* ---- Logo always visible on light masthead ---- */
body.skin-magz .firstbar .brand__mark {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    background: #fff !important;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 14%, #e2e8f0) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .08) !important;
    overflow: visible !important;
}
body.skin-magz .firstbar .brand__logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    background: transparent !important;
}
/* Keep a logo in nav as safety (mobile / if masthead fails) */
@media (max-width: 991.98px) {
    body.skin-magz .firstbar--aether ~ nav.menu > .container > .brand {
        display: flex !important;
        align-items: center;
    }
    body.skin-magz .firstbar--aether ~ nav.menu > .container > .brand img {
        display: block !important;
        height: 36px !important;
        width: auto !important;
        max-width: 42px !important;
        object-fit: contain !important;
        filter: brightness(0) invert(1);
    }
}

/* ---- Slider + content same width rhythm ---- */
body.skin-magz .home--nexus .nx-container,
body.skin-magz .home--nexus .nx-hero__frame,
body.skin-magz .home--nexus .nx-inner {
    width: 100%;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}
body.skin-magz .home--nexus .nx-hero {
    padding: .55rem 0 .15rem;
}
body.skin-magz .home--nexus .nx-hero__frame .home-compose__slider-frame,
body.skin-magz .home--nexus .nx-hero__frame .hz-slider,
body.skin-magz .home--nexus .nx-hero__frame .hz-slider__frame,
body.skin-magz .home--nexus .nx-hero__frame .hero-carousel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 16px !important;
}
/* Banner welcome: show full graphic, no head/crop cut */
body.skin-magz .home--nexus .hero-carousel--fit-banner .hero-carousel__img,
body.skin-magz .home--nexus .hero-carousel--fit-banner .carousel-item img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}
body.skin-magz .home--nexus .hero-carousel--fit-banner .carousel-item,
body.skin-magz .home--nexus .hero-carousel--fit-banner .hero-carousel__media {
    overflow: hidden !important;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--hz-primary) 6%, #f8fafc),
        color-mix(in srgb, var(--hz-accent) 8%, #fff)) !important;
}
/* Legacy fit-cover class — same no-crop policy as fit-banner */
body.skin-magz .home--nexus .hero-carousel--fit-cover .hero-carousel__img,
body.skin-magz .home--nexus .hero-carousel--fit-cover .carousel-item img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}
body.skin-magz .home--nexus .hero-carousel--fit-cover .carousel-item,
body.skin-magz .home--nexus .hero-carousel--fit-cover .hero-carousel__media {
    overflow: hidden !important;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--hz-primary) 6%, #f8fafc),
        color-mix(in srgb, var(--hz-accent) 8%, #fff)) !important;
}

/* Featured news — don't dwarf the page vs slider */
body.skin-magz .home--nexus #featured article.featured {
    aspect-ratio: 16 / 9 !important;
    max-height: 320px !important;
    min-height: 200px !important;
    width: 100% !important;
    border-radius: 14px !important;
}
body.skin-magz .home--nexus .ads,
body.skin-magz .home--nexus .advertisement,
body.skin-magz .home--nexus [id*="ads"],
body.skin-magz .home--nexus .banner-ads {
    display: none !important;
}

/* Equal card heights in news grids */
body.skin-magz .home--nexus .home-compose__main .row > [class*="col-"] {
    display: flex;
}
body.skin-magz .home--nexus .home-compose__main .row > [class*="col-"] > .article {
    width: 100%;
    display: flex;
    flex-direction: column;
}
body.skin-magz .home--nexus .article:not(.main-article) .inner {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
body.skin-magz .home--nexus .article:not(.main-article) .inner .padding {
    flex: 1 1 auto;
}
body.skin-magz .home--nexus .article:not(.main-article) .inner p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---- Leaders: never crop heads ---- */
body.skin-magz .home--nexus .leader-card,
body.skin-magz .home--horizon .leader-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
body.skin-magz .home--nexus .leader-card__photo,
body.skin-magz .home--horizon .leader-card__photo {
    height: 300px !important;
    flex: 0 0 300px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: linear-gradient(180deg, #f1f5f9, #e2e8f0) !important;
}
body.skin-magz .home--nexus .leader-card__photo img,
body.skin-magz .home--horizon .leader-card__photo img {
    width: auto !important;
    max-width: 92% !important;
    height: 96% !important;
    max-height: 96% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: block !important;
    background: transparent !important;
}
body.skin-magz .home--nexus .leader-card--lg .leader-card__photo,
body.skin-magz .home--horizon .leader-card--lg .leader-card__photo {
    height: 320px !important;
    flex-basis: 320px !important;
}
/* Officer circles — favor face */
body.skin-magz .home--nexus .hz-officer__photo img,
body.skin-magz .home--horizon .hz-officer__photo img {
    object-fit: cover !important;
    object-position: center 18% !important;
    border-radius: 50% !important;
}

/* Capitol panels tighter, professional */
body.skin-magz .home-arch--capitol .nx-panel {
    margin-bottom: .85rem;
    padding: .95rem 1rem;
}
body.skin-magz .home-arch--capitol .nx-identity {
    margin-bottom: .65rem;
}

/* Footer logo readable */
body.skin-magz footer.footer .footer-brand__logo img,
body.skin-magz footer.footer .foot-logo img {
    display: block !important;
    max-height: 56px !important;
    width: auto !important;
    object-fit: contain !important;
    opacity: 1 !important;
    filter: none !important;
}
