﻿/* =========================================================
   LAHORE OVERRIDES
   Loaded last (after page stylesheets) by _Inner and _LayoutCUIWebMain.

   Section headings: the template caps each heading block at 650-760px,
   which forces long headings onto two lines. Let the heading use the full
   container width, keep the intro paragraph at a readable measure, and
   balance the lines when a heading still has to wrap on small screens.
========================================================= */

:is(
    .office-head,
    .section-heading-center,
    .academics-overview-heading,
    .academic-departments-heading,
    .admission-snapshot-header,
    .admissions-options-heading,
    .admission-glance-heading,
    .admission-timeline-heading,
    .admissions-help-heading,
    .admission-test-info-heading,
    .admissions-alumni-heading,
    .affiliated-section-heading,
    .campus-sports-heading,
    .campus-societies-heading,
    .faq-heading,
    .health-care-stats-heading,
    .health-services-heading,
    .health-awareness-heading,
    .islamabad-section-header,
    .leadership-section-header,
    .services-section-header,
    .useful-links-header,
    .testimonials-header,
    .contact-section-header,
    .spring-profile-heading,
    .rector-team-heading,
    .rector-powers-heading,
    .rector-leadership-heading,
    .research-output-heading,
    .student-services-heading,
    .transport-fee-heading,
    .transport-schedule-heading,
    .transport-team-heading,
    .tp-section-heading,
    .video-faq-heading
) {
    max-width: none;
}

    /* Keep intro copy at the original readable width; centred blocks stay centred
       because the paragraph inherits the block's auto margins. */
    :is(
        .office-head,
        .section-heading-center,
        .academics-overview-heading,
        .academic-departments-heading,
        .admission-snapshot-header,
        .admissions-options-heading,
        .admission-glance-heading,
        .admission-timeline-heading,
        .admissions-help-heading,
        .admission-test-info-heading,
        .admissions-alumni-heading,
        .affiliated-section-heading,
        .campus-sports-heading,
        .campus-societies-heading,
        .faq-heading,
        .health-care-stats-heading,
        .health-services-heading,
        .health-awareness-heading,
        .islamabad-section-header,
        .leadership-section-header,
        .services-section-header,
        .useful-links-header,
        .testimonials-header,
        .contact-section-header,
        .spring-profile-heading,
        .rector-team-heading,
        .rector-powers-heading,
        .rector-leadership-heading,
        .research-output-heading,
        .student-services-heading,
        .transport-fee-heading,
        .transport-schedule-heading,
        .transport-team-heading,
        .tp-section-heading,
        .video-faq-heading
    ) > p {
        max-width: 760px;
        margin-left: inherit;
        margin-right: inherit;
    }

/* Even line breaks wherever a heading still wraps (tablets, phones, side columns) */
main h2,
section h2 {
    text-wrap: balance;
}


/* =========================================================
   PAGE-SPECIFIC HERO BACKGROUNDS
   Pages that had their own banner on the legacy site set --hero-image inline.
   The overlay is lighter than the default so the photo stays recognisable.
========================================================= */

.inner-page-hero.has-hero-image {
    background:
        linear-gradient(100deg, rgba(4,32,45,.94) 0%, rgba(6,52,66,.82) 45%, rgba(6,67,80,.55) 100%),
        var(--hero-image) var(--hero-position, center) / cover no-repeat;
}


/* Admissions: side-column heading was forced onto 3 lines (50px + span on its own line) */
.admissions-welcome-section h2 {
    font-size: clamp(30px, 3.2vw, 42px);
}

    .admissions-welcome-section h2 span {
        display: inline;
    }


/* Hero titles: the 850px cap wrapped long page names ("Information Technology & Services") */
.inner-page-hero-content {
    max-width: none;
}

    .inner-page-hero-content > p {
        max-width: 850px;
    }

.inner-page-hero h1 {
    text-wrap: balance;
}


/* =========================================================
   HOMEPAGE LEADERSHIP CARDS: template text was 6-10.5px, too small to read
========================================================= */

.leadership-card .photo-role {
    padding: 7px 11px;
    font-size: 10px;
    letter-spacing: 1.2px;
}

.leadership-card .photo-name h3 {
    font-size: 24px;
}

.leadership-card .photo-name span {
    font-size: 13px;
}

.leadership-card .leadership-content {
    padding: 22px 24px 24px;
}

.leadership-card .leadership-label {
    font-size: 11px;
    letter-spacing: 1.4px;
}

.leadership-card .leadership-quote {
    width: 38px;
    height: 38px;
    font-size: 14px;
}

.leadership-card .leadership-message p {
    font-size: 15px;
    line-height: 1.75;
    color: rgba(255,255,255,.78);
}

.leadership-card .leadership-link {
    padding-top: 16px;
    font-size: 13px;
}

@media (max-width: 767px) {
    .leadership-card .photo-name h3 {
        font-size: 20px;
    }

    .leadership-card .photo-name span {
        font-size: 12px;
    }

    .leadership-card .leadership-content {
        padding: 18px;
    }

    .leadership-card .leadership-message p {
        font-size: 14px;
    }
}

/* Director card shares the "campus-card" class with the navbar campus picker
   (navbar-magamenu.css / style.css), which added 13px padding, a white/light
   background and a different hover. Reset it to match the Rector card. */
.leadership-card.campus-card {
    height: 100%;
    padding: 0;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 16px;
    background: rgba(255,255,255,.055);
    box-shadow: 0 15px 35px rgba(0,0,0,.14);
    cursor: default;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

    .leadership-card.campus-card:hover {
        background: rgba(255,255,255,.055);
        border-color: rgba(99,196,199,.28);
        box-shadow: 0 22px 45px rgba(0,0,0,.20);
        transform: translateY(-5px);
    }

    .leadership-card.campus-card:hover .leadership-photo img {
        transform: scale(1.035);
    }

/* Role text comes from the database in mixed case; keep both badges uppercase */
.leadership-card .photo-role {
    text-transform: uppercase;
}

/* Homepage services: Transport card shows three items (14 Buses, 06 Coasters, City-wide Coverage) */
.service-highlight {
    flex-wrap: wrap;
    row-gap: 6px;
}

/* Homepage Upcoming Events: empty state inherited dark grey on the teal panel */
.events-empty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin: 6px 0 18px;
}

    .events-empty i {
        color: #e5b83d;
        font-size: 30px;
    }

    .events-empty p {
        margin: 0;
        color: rgba(255,255,255,.88);
        font-size: 16px;
        font-weight: 600;
    }
