/*
   Reversible zoom-safe layer
   --------------------------
   Keeps layouts stable when browser zoom or operating-system display scaling
   reduces the effective CSS viewport. Remove the link from _Layout.cshtml to
   roll this layer back without touching component styles.
*/

html {
    overflow-x: clip;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    min-width: 320px;
    overflow-x: clip;
}

/* Keep a consistent desktop content column at compact desktop widths.
   No CSS zoom is applied: at a 1280px viewport this remains a real 1140px
   container, rather than 1140px multiplied by a visual scale factor. */
@media (min-width: 1200px) and (max-width: 1365.98px) {
    .container {
        max-width: 1140px !important;
    }
    .w-80px {
        width: 60px;
    }
    .fs-4-5 {
        font-size:1rem !important;
    }
    .p-30 {
        padding: 29px;
    }
}

/* At the compact desktop container width, prevent vacancy-card action buttons
   from flex-shrinking their labels into multiple lines. */
@media (min-width: 1200px) and (max-width: 1365.98px) {
    #openingsTabsContent .press-release-card .mt-auto {
        flex-wrap: nowrap;
        gap: 12px !important;
    }

    #openingsTabsContent .press-release-card .btn {
        flex: 0 0 auto;
        padding-right: 16px !important;
        padding-left: 16px !important;
        white-space: nowrap !important;
    }
    .swiper-button-prev, .swiper-button-next {
        width: 50px !important;
        height: 90px !important;
    }
    .swiper-button-prev {
        top: 26% !important;
    }
    .w-80OT{
        width:80%;
    }
    .w-75OT {
        width: 70%;
    }
   
        .h4, h4 {
            font-size: 1.4rem;
        }
    .mega-top {
        gap: 10px;
    }
    .driver-card .driver-title {
        font-size: 12px !important;
    }
    .driver-title.focus-header {
        font-size: 15px !important;
    }
   
    .font14px {
        font-size: 13px !important;
    }
    .max4line1280 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        overflow: hidden;
    }
 
.fs-3-5 {
    font-size: 1.8rem !important;
}
}

/* Impact Stories listing: keep image tiles compact below the 1300px layout. */
@media (max-width: 1299.98px) {
    .impact-story-listing-image,
    body:has(#story-focus-button) .annual-report-image {
        height: 200px !important;
        max-height: 200px !important;
    }
}

/* Work With Us opening tiles retain the Press Releases highlight, with a
   subtle lift and the application action emphasized on hover. */
#openingsTabsContent .press-release-card:hover {
    transform: scale(1.02);
}

#openingsTabsContent .press-release-card:hover .opening-card__apply {
    background-color: #ed1c24 !important;
    border-color: #ed1c24 !important;
    color: #fff !important;
}

img,
video,
canvas,
iframe,
svg {
    max-width: 100%;
}

/* Flex and grid children may shrink instead of forcing a horizontal overflow. */
.row > *,
.d-flex > *,
.swiper,
.swiper-wrapper,
.swiper-slide,
.content-slider,
.content-slider__shell,
.content-slider__card,
.content-slider__media {
    min-width: 0;
}

/* Long editorial titles, URLs and labels must wrap inside their containers. */
h1, h2, h3, h4, h5, h6,
p,
a,
button,
td,
th,
.line-hover {
    overflow-wrap: break-word;
}

table {
    display: block;
    width: max-content;
    max-width: 100%;
    overflow-x: auto;
}

/* Media always preserves its source ratio; portraits are cropped from the top, not through the face. */
.content-slider__media > img:first-child,
.impact-slide-img,
.annual-report-image,
.npd-gallery__slide > img,
.dementia-channel-card__image,
.dementia-editorial-image {
    object-fit: cover;
    object-position: center top;
}

/* At effective mid-size widths (including 110–125% browser zoom), let media cards grow with content. */
@media (max-width: 1599.98px) {
    .content-slider__card--media,
    .content-slider__card--media .row,
    .content-slider__card--media .content-slider__media {
        min-height: 0;
    }

    .content-slider__card--media .row.h-100 {
        height: auto !important;
    }

    .content-slider__media {
        aspect-ratio: 16 / 9;
    }

    .content-slider__media > img:first-child {
        width: 100%;
        height: 100%;
    }
}

/* Narrow layouts: no fixed content-card height that can clip enlarged text. */
@media (max-width: 991.98px) {
/*    .content-slider__card,
    .annual-report-card,
    .home-voice-card {
        height: auto !important;
    }*/

    .content-slider__card .p-30 {
        min-width: 0;
    }
}
