/* =============================================================================
   admission.css — the six school Admission pages. Semantic HTML on tokens +
   the shared components (video facade, gallery/lightbox). Mirrors the original
   Elementor design faithfully (exact colours pulled from the generated per-post
   CSS) while fixing its negatives: fluid type, responsive columns that stack on
   mobile, click-to-play videos instead of many auto-loaded iframes, real focus
   states and no horizontal overflow.

   Palette (from post-*.css):
     teal   #45ACAF   student-achievements band, dividers, instagram icon
     coral  #EA4E5C   curriculum band
     gold   #EBA82F   explore-campuses band
     tan    #BB927E   hero title + section dividers
     red    #DD3131   contact heading  (divider #CC3636)
   ============================================================================= */
.kk-adm { --kk-adm-max: 1200px; color: #2e2e2e; overflow-x: clip; }
.kk-adm img { max-width: 100%; height: auto; }

/* Boxed inner wrapper reused by every section */
.kk-adm__inner { max-width: var(--kk-adm-max); margin: 0 auto; padding: 0 20px; box-sizing: border-box; }

/* Full-bleed colour band (edge-to-edge regardless of the main column width) */
.kk-adm__band { width: 100vw; margin-inline: calc(50% - 50vw); padding: 48px 0; }
.kk-adm__band--coral { background: #EA4E5C; }
.kk-adm__band--teal  { background: #45ACAF; }
.kk-adm__band--gold  { background: #EBA82F; }

/* Shared section headings + dividers ---------------------------------------- */
.kk-adm__heading {
    font-family: "Montserrat", var(--kk-font-heading);
    font-size: clamp(22px, 3.2vw, 25px); font-weight: 800; line-height: 1.25;
    color: #444; text-align: center; margin: 0 0 14px;
}
.kk-adm__heading--poppins { font-family: "Poppins", var(--kk-font-heading); font-weight: 700; }
.kk-adm__heading--light { color: #fff; }
.kk-adm__rule { width: 46%; max-width: 520px; height: 0; border: 0; border-top: 2px solid #BB927E; margin: 0 auto 20px; }
.kk-adm__rule--light { border-top-color: #fff; }
.kk-adm__lede {
    max-width: 900px; margin: 0 auto; text-align: center;
    font-family: var(--kk-font-body); font-size: 16px; line-height: 1.7; color: #3f3f3f;
}
.kk-adm__lede--light { color: #fff; }

/* Prose (text-editor content) ----------------------------------------------- */
.kk-adm__prose { font-family: "Montserrat", var(--kk-font-body); font-size: 15px; line-height: 1.7; }
.kk-adm__prose p { margin: 0 0 14px; }
.kk-adm__prose ul { margin: 0 0 14px; padding-left: 20px; }
.kk-adm__prose li { margin: 0 0 6px; }

/* 1. Hero: intro copy + enquiry form ---------------------------------------- */
.kk-adm__intro { padding: 48px 0; }
.kk-adm__intro .kk-adm__inner {
    display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start;
}
.kk-adm__intro-title {
    font-family: "Montserrat", var(--kk-font-heading);
    font-size: clamp(24px, 4vw, 30px); line-height: 1.4; font-weight: 600;
    text-transform: uppercase; color: #BB927E; margin: 0 0 18px;
}
.kk-adm__intro-text { font-family: var(--kk-font-body); font-size: 16px; line-height: 1.7; color: #3f3f3f; }
.kk-adm__intro-text p { margin: 0 0 14px; }
.kk-adm__intro-text ul { margin: 0 0 14px; padding-left: 20px; }
.kk-adm__intro-text li { margin: 0 0 6px; }

/* 2. People (principal / faculty / achievers) — video + name + role --------- */
.kk-adm__people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px 15px; margin-top: 28px; }
.kk-adm__people--solo { grid-template-columns: minmax(0, 420px); justify-content: center; }
.kk-adm__people--pair { grid-template-columns: repeat(2, minmax(0, 300px)); justify-content: center; }
/* Photo faculty (portrait headshots) instead of video facades */
.kk-adm__person-img { width: 100%; max-width: 260px; aspect-ratio: 5 / 6; object-fit: cover; border-radius: var(--kk-radius-md); display: block; margin: 0 auto; }
.kk-adm__person-name {
    font-family: "Montserrat", var(--kk-font-heading);
    font-size: 16px; font-weight: 700; color: #1c1c1c; margin: 12px 0 4px;
}
.kk-adm__person-role {
    font-family: "Montserrat", var(--kk-font-body);
    font-size: 13px; font-weight: 500; line-height: 1.5; color: #777; margin: 0;
}

/* 3. Curriculum band (coral) ------------------------------------------------ */
.kk-adm__curriculum .kk-adm__inner {
    display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center;
}
.kk-adm__pill {
    display: inline-block; align-self: flex-start;
    font-family: "Montserrat", var(--kk-font-heading);
    font-size: 14px; font-weight: 600; text-transform: uppercase; color: #fff;
    background: rgba(255, 255, 255, .13); border: 2px solid #fff; border-radius: 7px;
    padding: 3px 20px; margin: 0 0 16px;
}
.kk-adm__cur-title {
    font-family: "Montserrat", var(--kk-font-heading);
    font-size: 20px; font-weight: 800; line-height: 1.3; color: #fff; margin: 0 0 12px;
}
.kk-adm__curriculum .kk-adm__prose { color: #fff; }
.kk-adm__readmore {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: "Montserrat", var(--kk-font-heading);
    font-size: 14px; font-weight: 600; color: #fff; text-decoration: none; margin-top: 6px;
}
.kk-adm__readmore:hover { color: #fff; text-decoration: underline; }
.kk-adm__cur-images { display: grid; gap: 16px; }
.kk-adm__cur-images img { border-radius: var(--kk-radius-md); width: 100%; }

/* 4. Social corner — icon + heading + link, centred on one row -------------- */
.kk-adm__social { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; padding: 40px 0; }
.kk-adm__social-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border: 2px solid #45ACAF; border-radius: 8px; color: #45ACAF;
}
.kk-adm__social-icon svg { width: 18px; height: 18px; fill: currentColor; }
.kk-adm__social-title {
    font-family: "Montserrat", var(--kk-font-heading);
    font-size: clamp(17px, 2.4vw, 20px); font-weight: 800; color: #181818; margin: 0;
}
.kk-adm__social-link {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: "Montserrat", var(--kk-font-heading);
    font-size: 14px; font-weight: 600; color: #131313; text-decoration: none;
}
.kk-adm__social-link:hover { color: #45ACAF; }

/* 5. Explore campuses band (gold) ------------------------------------------- */
.kk-adm__campuses .kk-adm__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; }
.kk-adm__campuses .kk-adm__heading { text-align: left; }
.kk-adm__campuses .kk-adm__rule { margin-left: 0; }
.kk-adm__campuses .kk-adm__lede { text-align: left; margin-left: 0; color: #fff; }
.kk-adm__campus-list { list-style: none; margin: 0; padding: 0; }
.kk-adm__campus-list li {
    display: flex; align-items: center; gap: 12px; padding: 12px 0;
    font-family: "Ubuntu", var(--kk-font-body); font-size: 15px; font-weight: 600; color: #fff;
    border-top: 1px solid rgba(255, 255, 255, .35);
}
.kk-adm__campus-list li:first-child { border-top: 0; }
.kk-adm__campus-list svg { flex: 0 0 auto; width: 20px; height: 20px; fill: #fff; }

/* 6. Contact — white card floating over the gold band ----------------------- */
.kk-adm__contact { padding: 0 0 48px; }
.kk-adm__contact-card {
    max-width: var(--kk-adm-max); margin: -48px auto 0; box-sizing: border-box;
    background: #fff; border-radius: 14px; box-shadow: 0 12px 34px rgba(0, 0, 0, .12);
    padding: 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: stretch;
}
.kk-adm__contact-heading {
    font-family: "Montserrat", var(--kk-font-heading);
    font-size: clamp(22px, 3vw, 25px); font-weight: 800; color: #DD3131; margin: 0 0 12px;
}
.kk-adm__contact-rule { width: 35%; max-width: 200px; height: 0; border: 0; border-top: 1px solid #CC3636; margin: 0 0 20px; }
.kk-adm__contact-item { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 4px; }
.kk-adm__contact-item svg { flex: 0 0 auto; width: 18px; height: 18px; fill: #000; margin-top: 3px; }
.kk-adm__contact-label { font-family: "Montserrat", var(--kk-font-heading); font-size: 17px; font-weight: 700; color: #000; }
.kk-adm__contact-val { font-family: "Montserrat", var(--kk-font-body); font-size: 15px; font-weight: 500; color: #2e2e2e; margin: 0 0 16px 28px; line-height: 1.6; }
.kk-adm__contact-val a { color: #2e2e2e; word-break: break-word; }
.kk-adm__map { min-height: 300px; }
.kk-adm__map iframe { width: 100%; height: 100%; min-height: 300px; border: 0; border-radius: var(--kk-radius-md); display: block; }

/* Responsive ---------------------------------------------------------------- */
@media (max-width: 900px) {
    .kk-adm__intro .kk-adm__inner,
    .kk-adm__curriculum .kk-adm__inner,
    .kk-adm__campuses .kk-adm__inner,
    .kk-adm__contact-card { grid-template-columns: 1fr; }
    .kk-adm__people { grid-template-columns: repeat(2, 1fr); }
    .kk-adm__contact-card { margin-top: -32px; }
}
@media (max-width: 560px) {
    .kk-adm__people { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
}
