/* Layout robustness for real (longer) CBC headlines in .media cards */

/* Desktop / tablet: fixed image column, text fills the rest and wraps normally */
@media (min-width: 768px) {
    .media { display: flex; align-items: flex-start; width: 100%; }
    .media > a { flex: 0 0 38%; max-width: 38%; }
    .media > a img { width: 100%; height: auto; }
    .media .media-body {
        flex: 1 1 auto;
        min-width: 0;           /* let the text wrap instead of collapsing to one word */
        display: block;
        margin-left: 15px;
    }
}

/* Phones: stack image on top, text below — both full width */
@media (max-width: 767px) {
    .media { display: block; }
    .media > a, .media > a img { display: block; width: 100%; max-width: 100%; }
    .media .media-body { display: block; margin-left: 0; margin-top: 12px; }
}

/* Never break words mid-letter; just wrap normally */
.title-medium-dark, .title-medium-light, .title-regular-light,
.title-semibold-dark { overflow-wrap: break-word; word-break: normal; }

/* Sun Herald logo sizing */
.logo-area img { max-height: 58px; width: auto; }
.offcanvas-menu .widget img[alt="logo"], .footer-area-top img[alt="logo"] { max-height: 70px; width: auto; }

/* Sun Herald preloader (replaces the old NewsEdge splash) */
#preloader {
    background: #ffffff url(../img/logo-dark.svg) center 40% no-repeat !important;
    background-size: 240px auto !important;
}
#preloader::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 60%;
    width: 34px;
    height: 34px;
    margin-left: -17px;
    border: 3px solid #f0a830;
    border-top-color: transparent;
    border-radius: 50%;
    animation: sh-spin 0.8s linear infinite;
}
@keyframes sh-spin { to { transform: rotate(360deg); } }
