/* Dini International School brand and shared layout refinements. */
.inner-page .breadcumb-title,
.inner-page .sec-title,
.inner-page .page-title {
    font-size: 40px !important;
    line-height: 1.2 !important;
}

/* Academic and holiday calendar documents */
.calendar-document-section{padding:90px 0;background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)}
.calendar-document-intro{max-width:720px;margin:14px auto 0;color:var(--body-color)}
.calendar-document-card{max-width:980px;margin:42px auto 0;padding:34px 38px;display:flex;align-items:center;gap:25px;border:1px solid #eaded5;border-radius:20px;background:#fff;box-shadow:0 18px 46px rgba(43,18,20,.09)}
.calendar-document-card.is-available{border-left:5px solid var(--theme-color)}
.calendar-document-icon{width:82px;height:82px;display:grid;place-items:center;flex:0 0 82px;border-radius:18px;background:#fff1b5;color:var(--theme-color);font-size:34px}
.calendar-document-copy{flex:1;min-width:0}
.calendar-document-copy span{display:block;margin-bottom:5px;color:var(--theme-color);font-size:12px;font-weight:800;letter-spacing:.12em}
.calendar-document-copy h3{margin:0 0 7px;font-size:27px}
.calendar-document-copy p{margin:0;color:var(--body-color)}
.calendar-document-actions{display:flex;align-items:center;gap:18px;flex:0 0 auto}
.calendar-document-actions .th-btn{padding:16px 23px}
.calendar-download-link{color:var(--title-color);font-weight:700;white-space:nowrap}
.calendar-download-link:hover{color:var(--theme-color)}
.admin-calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.admin-calendar-card{display:flex;flex-direction:column;gap:22px}
.admin-calendar-current{display:flex;align-items:center;gap:15px;padding:18px;border:1px solid #eaded5;border-radius:14px;background:#fffaf3}
.admin-calendar-current>div{display:flex;flex:1;min-width:0;flex-direction:column}
.admin-calendar-current span{color:#d80812;font-size:11px;font-weight:800;letter-spacing:.1em}
.admin-calendar-current strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-calendar-current small{color:#927f78}
.admin-calendar-form{margin-top:0}
.admin-calendar-links{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto}
.admin-calendar-links>a{color:#d80812;font-weight:700}
.admin-calendar-links form{margin:0}
.admin-calendar-links button{border:0;background:transparent;color:#d80812;font-weight:700}
@media(max-width:991px){.admin-calendar-grid{grid-template-columns:1fr}.calendar-document-section{padding:65px 0}.calendar-document-card{align-items:flex-start;flex-wrap:wrap}.calendar-document-actions{width:100%;padding-left:107px}}
@media(max-width:575px){.calendar-document-section{padding:50px 0}.calendar-document-card{padding:24px 20px;gap:16px}.calendar-document-icon{width:62px;height:62px;flex-basis:62px;font-size:27px}.calendar-document-copy h3{font-size:21px}.calendar-document-actions{padding-left:0;align-items:stretch;flex-direction:column}.calendar-document-actions .th-btn{text-align:center}.admin-calendar-links{align-items:flex-start;flex-direction:column}}

/* Fee structure */
.fee-structure-section {
    padding: 72px 0;
    background: linear-gradient(180deg, #fff 0%, #fffaf1 100%);
}

.fee-structure-intro {
    max-width: 720px;
    margin: 12px auto 0;
}

.fee-table-list {
    display: grid;
    gap: 28px;
}

.fee-table-card {
    overflow: hidden;
    border: 1px solid #eadfd5;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(43, 20, 23, .08);
}
.fee-amount-note{color:var(--theme-color);font-size:14px;font-weight:800;white-space:nowrap}

.fee-table-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 24px;
    background: linear-gradient(100deg, #fff8dc, #fff);
}

.fee-table-heading i {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    place-items: center;
    border-radius: 13px;
    background: var(--theme-color);
    color: #fff;
    font-size: 20px;
}

.fee-table-heading h3 {
    margin: 0;
    color: #191314;
    font-size: 24px;
}

.fee-table-scroll {
    overflow-x: auto;
}

.fee-table-card table {
    width: 100%;
    border-collapse: collapse;
}

.fee-table-card th,
.fee-table-card td {
    padding: 16px 24px;
    text-align: left;
}

.fee-table-card th {
    background: #2b1417;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}

.fee-table-card td {
    border-bottom: 1px solid #eee4dc;
    color: #40383a;
    font-size: 15px;
}

.fee-table-card th:nth-child(1) { width: 50%; }
.fee-table-card th:nth-child(2) { width: 22%; }
.fee-table-card th:nth-child(3) { width: 28%; }

.fee-table-card.has-serial th:nth-child(1) { width: 8%; text-align: center; }
.fee-table-card.has-serial th:nth-child(2) { width: 44%; }
.fee-table-card.has-serial th:nth-child(3) { width: 21%; }
.fee-table-card.has-serial th:nth-child(4) { width: 27%; }
.fee-table-card td.fee-serial { text-align: center; font-weight: 800; color: #d80812; }

.fee-mode {
    display: inline-flex;
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff2b9;
    color: #6b4f00;
    font-size: 13px;
    font-weight: 700;
}

.fee-empty {
    padding: 30px !important;
    text-align: center !important;
    color: #8a7d78 !important;
}

.fee-notes {
    display: grid;
    gap: 8px;
    padding: 16px 24px 20px;
    background: #fff9e6;
}

.fee-notes p {
    margin: 0;
    color: #4f4440;
    font-size: 14px;
}

.fee-notes i {
    margin-right: 7px;
    color: var(--theme-color);
}

.admin-fee-grid {
    align-items: start;
}

.admin-fee-groups {
    display: grid;
    gap: 16px;
}

.admin-fee-groups > section {
    overflow: hidden;
    border: 1px solid #eadfd5;
    border-radius: 14px;
    background: #fffdfa;
}

.admin-fee-groups h3 {
    margin: 0;
    padding: 14px 16px;
    background: #fff4c7;
    color: #2b1417;
    font-size: 16px;
}

.admin-fee-empty {
    margin: 0;
    padding: 14px 16px;
    color: #8a7d78;
    font-size: 14px;
}

.admin-fee-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 16px;
    border-top: 1px solid #eee4dc;
}

.admin-fee-list span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.admin-fee-list strong,
.admin-fee-list small {
    overflow-wrap: anywhere;
}

.admin-fee-list small {
    color: #756a66;
    font-size: 13px;
}

.admin-fee-list form {
    flex: 0 0 auto;
}

.admin-fee-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.admin-fee-actions>a,.admin-fee-actions button{display:grid;width:38px;height:38px;padding:0;place-items:center;border:0;border-radius:10px;box-shadow:none}
.admin-fee-actions>a{background:#eef8f1;color:#118446}
.admin-fee-actions>a:hover{background:#118446;color:#fff}

.admin-fee-list form button {
    display: grid;
    width: 38px;
    height: 38px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 10px;
    background: #fff0f0;
    color: #dc0712;
    box-shadow: none;
}
.admin-form-cancel{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #ded8d2;border-radius:9px;color:#59504c;font-size:12px;font-weight:800}
.admin-form-cancel:hover{border-color:#d80812;color:#d80812}
.admin-row-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.admin-row-actions form{margin:0}
.admin-edit-action{display:grid;width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#eef8f1;color:#118446!important;place-items:center}
.admin-edit-action:hover{background:#118446;color:#fff!important}

/* Consistent edit and delete controls across every admin listing. */
.admin-edit-action,
.admin-fee-actions > a {
    display: grid;
    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #eef8f1;
    color: #118446 !important;
    box-shadow: none;
    font-size: 14px;
    line-height: 1;
    place-items: center;
}

.admin-edit-action:hover,
.admin-fee-actions > a:hover {
    background: #118446;
    color: #fff !important;
}

.admin-delete-action,
.admin-row-actions form button,
.admin-fee-actions form button,
.admin-notice-actions button.delete,
.admin-enquiry-delete {
    display: grid;
    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #fff0f0;
    color: #d80812;
    box-shadow: none;
    font-size: 14px;
    line-height: 1;
    place-items: center;
}

.admin-delete-action:hover,
.admin-row-actions form button:hover,
.admin-fee-actions form button:hover,
.admin-notice-actions button.delete:hover,
.admin-enquiry-delete:hover {
    background: #d80812;
    color: #fff;
}

.admin-row-actions form,
.admin-fee-actions form,
.admin-notice-actions form {
    margin: 0;
}

@media (max-width: 767px) {
    .fee-structure-section { padding: 48px 0; }
    .fee-table-list { gap: 20px; }
    .fee-table-heading { padding: 16px; }
    .fee-table-heading h3 { font-size: 19px; }
    .fee-table-card table { min-width: 680px; }
    .fee-table-card th,
    .fee-table-card td { padding: 14px 16px; }
    .fee-notes { padding: 14px 16px 17px; }
}

/* Keep footer links readable against the dark school footer. */
.footer-default .widget_nav_menu a,
.footer-default .th-widget-contact .box-text a,
.footer-default .footer-links a {
    color: rgba(255, 255, 255, 0.82) !important;
}

.footer-default .widget_nav_menu a:hover,
.footer-default .th-widget-contact .box-text a:hover,
.footer-default .footer-links a:hover {
    color: var(--theme-color2) !important;
}

.footer-default .widget_nav_menu a::before {
    background-color: rgba(255, 255, 255, 0.82) !important;
}

.footer-default .widget_nav_menu a:hover::before {
    background-color: var(--theme-color2) !important;
}

/* Final admin workspace alignment and typography overrides. */
body.admin-dashboard-page .admin-dashboard-main {
    box-sizing: border-box;
    padding-right: 52px !important;
    padding-left: 64px !important;
}
body.admin-dashboard-page .admin-dashboard-main p,
body.admin-dashboard-page .admin-dashboard-main label,
body.admin-dashboard-page .admin-dashboard-main input,
body.admin-dashboard-page .admin-dashboard-main select,
body.admin-dashboard-page .admin-dashboard-main textarea,
body.admin-dashboard-page .admin-dashboard-main table,
body.admin-dashboard-page .admin-dashboard-main th,
body.admin-dashboard-page .admin-dashboard-main td,
body.admin-dashboard-page .admin-dashboard-main small,
body.admin-dashboard-page .admin-dashboard-main button,
body.admin-dashboard-page .admin-dashboard-main .admin-view-public,
body.admin-dashboard-page .admin-dashboard-main .admin-section-title span,
body.admin-dashboard-page .admin-dashboard-main .admin-stat-grid span,
body.admin-dashboard-page .admin-dashboard-main .admin-stat-grid small,
body.admin-dashboard-page .admin-dashboard-main .admin-card-heading p,
body.admin-dashboard-page .admin-dashboard-main .admin-empty-state span,
body.admin-dashboard-page .admin-dashboard-main .admin-module-grid span,
body.admin-dashboard-page .admin-dashboard-main .admin-module-grid p,
body.admin-dashboard-page .admin-dashboard-main .admin-recent-list small,
body.admin-dashboard-page .admin-dashboard-main .admin-notice-row span,
body.admin-dashboard-page .admin-dashboard-main .admin-notice-row small,
body.admin-dashboard-page .admin-dashboard-main .admin-media-admin-row span,
body.admin-dashboard-page .admin-dashboard-main .admin-media-admin-row small,
body.admin-dashboard-page .admin-dashboard-main .admin-contact-message { font-size: 14px !important; }
@media (max-width: 720px) {
    body.admin-dashboard-page .admin-dashboard-main { padding-right: 18px !important; padding-left: 18px !important; }
}

/* Standalone administration login */
.admin-login-page { height: 100vh; height: 100dvh; min-height: 0; margin: 0; overflow: hidden; background: #f8f6f1; color: #1b1b1b; }
.admin-login-shell { display: grid; height: 100%; min-height: 0; grid-template-columns: minmax(430px,1.05fr) minmax(520px,.95fr); }
.admin-login-showcase { position: relative; display: flex; overflow: hidden; min-height: 100vh; padding: 34px 56px; background: url('../../images/campus/image.png') center/cover no-repeat; color: #fff; }
.admin-showcase-overlay { position: absolute; inset: 0; background: linear-gradient(135deg,rgba(20,8,9,.96) 0%,rgba(92,0,7,.87) 58%,rgba(216,8,18,.58) 100%); }
.admin-login-showcase::after { position: absolute; right: -150px; bottom: -150px; width: 430px; height: 430px; border: 55px solid rgba(247,198,0,.16); border-radius: 50%; content: ""; }
.admin-showcase-content { position: relative; z-index: 2; align-self: center; max-width: 610px; }
.admin-brand { display: inline-block; margin-bottom: 15px; padding: 9px 13px; border-radius: 13px; background: #fff; }
.admin-brand img { display: block; width: min(270px,100%); max-height: 78px; object-fit: contain; }
.admin-portal-label { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; color: #ffd62b; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.admin-showcase-content h1 { max-width: 540px; margin-bottom: 13px; color: #fff; font-size: clamp(32px,2.7vw,45px); line-height: 1.12; }
.admin-showcase-content > p { max-width: 560px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.6; }
.admin-security-points { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.admin-security-points span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.08); color: #fff; font-size: 11px; }
.admin-security-points i { color: #ffd62b; font-size: 11px; }
.admin-showcase-footer { position: absolute; z-index: 2; bottom: 25px; left: 48px; color: rgba(255,255,255,.65); font-size: 11px; }
.admin-showcase-footer i { margin-right: 7px; color: #ffd62b; }
.admin-login-area { position: relative; display: flex; align-items: center; overflow: hidden; flex-direction: column; justify-content: center; padding: 30px 6%; background: radial-gradient(circle at 88% 12%,rgba(247,198,0,.15),transparent 27%),radial-gradient(circle at 10% 88%,rgba(216,8,18,.09),transparent 29%),linear-gradient(145deg,#fffdf8 0%,#f8f4ec 100%); }
.admin-login-area::before,.admin-login-area::after { position: absolute; border: 1px solid rgba(216,8,18,.09); border-radius: 50%; content: ""; pointer-events: none; }
.admin-login-area::before { top: -115px; right: -100px; width: 310px; height: 310px; }
.admin-login-area::after { bottom: -145px; left: -125px; width: 360px; height: 360px; border-width: 42px; border-color: rgba(247,198,0,.09); }
.admin-login-box { position: relative; z-index: 1; box-sizing: border-box; width: 100%; max-width: 460px !important; padding: 34px 36px 30px; border: 1px solid rgba(221,213,205,.85); border-radius: 20px; background: rgba(255,255,255,.88); box-shadow: 0 24px 65px rgba(48,32,23,.1); backdrop-filter: blur(8px); }
.admin-mobile-logo { display: none; margin-bottom: 20px; text-align: center; }
.admin-mobile-logo img { max-width: 260px; max-height: 78px; }
.admin-login-heading > span { color: #d80812; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.admin-login-heading h2 { margin: 5px 0 6px; font-size: 34px; }
.admin-login-heading p { margin: 0 0 20px; color: #706b67; font-size: 14px; }
.admin-login-heading-left { margin-bottom: 17px; }
.admin-login-heading-left > span { color: #ffd62b; }
.admin-login-heading-left h2 { color: #fff; font-size: 27px; }
.admin-login-heading-left p { margin-bottom: 0; color: rgba(255,255,255,.78); font-size: 13px; }
.admin-login-heading-mobile { display: none; }
.admin-login-alert { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 22px; padding: 14px 16px; border: 1px solid #ebc56a; border-radius: 12px; background: #fff4ce; color: #6e4b00; font-size: 13px; line-height: 1.5; }
.admin-login-alert i { margin-top: 2px; }
.admin-login-form { display: grid; gap: 12px; }
.admin-field label { display: block; margin-bottom: 6px; color: #24201d; font-size: 12px; font-weight: 700; }
.admin-field > label.visually-hidden { display: none !important; }
.admin-label-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.admin-label-row a { margin-bottom: 8px; color: #d80812; font-size: 12px; font-weight: 700; }
.admin-forgot-link { display: inline-block; margin-top: 7px; color: #d80812; font-size: 11px; font-weight: 700; }
.admin-forgot-link:hover { color: #9f0007; }
.admin-input-wrap { position: relative; }
.admin-input-wrap > i { position: absolute; top: 50%; left: 15px; color: #968d87; font-size: 13px; transform: translateY(-50%); }
.admin-input-wrap input { box-sizing: border-box !important; width: 100% !important; height: 52px !important; min-height: 52px !important; padding: 0 46px 0 40px !important; border: 1px solid #ddd5cd !important; border-radius: 10px !important; outline: none; background: #fff; color: #1d1a18; font-size: 13px !important; line-height: 52px !important; transition: border-color .2s ease,box-shadow .2s ease; }
.admin-input-wrap input:focus { border-color: #d80812; box-shadow: 0 0 0 4px rgba(216,8,18,.08); }
.admin-password-toggle { position: absolute; top: 50%; right: 7px; display: grid; width: 36px; height: 36px; border: 0; background: transparent; color: #706b67; place-items: center; transform: translateY(-50%); }
.admin-remember { display: flex; align-items: center; gap: 9px; color: #645e59; font-size: 12px; cursor: pointer; }
.admin-remember input { position: relative !important; inset: auto !important; display: inline-grid !important; flex: 0 0 17px; width: 17px !important; min-width: 17px !important; max-width: 17px !important; height: 17px !important; min-height: 17px !important; padding: 0 !important; margin: 0 !important; border: 1.5px solid #b7aaa1 !important; border-radius: 4px; opacity: 1 !important; visibility: visible !important; appearance: none; background: #fff; cursor: pointer; place-content: center; }
.admin-remember input::before { width: 9px; height: 9px; border-radius: 2px; background: #d80812; content: ""; transform: scale(0); transition: transform .15s ease; }
.admin-remember input:checked { border-color: #d80812; }
.admin-remember input:checked::before { transform: scale(1); }
.admin-login-button { display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; width: 100%; height: 50px; padding: 0 18px 0 20px; border: 0; border-radius: 10px; background: linear-gradient(135deg,#d80812,#a30008); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .04em; box-shadow: 0 10px 24px rgba(216,8,18,.2); transition: transform .2s ease,box-shadow .2s ease; }
.admin-login-button:hover { transform: translateY(-2px); box-shadow: 0 18px 35px rgba(216,8,18,.3); }
.admin-login-help { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding: 10px 13px; border-radius: 10px; background: #fff2bd; }
.admin-login-help > i { color: #d80812; font-size: 18px; }
.admin-login-help p { margin: 0; color: #70675e; font-size: 11px; line-height: 1.4; }
.admin-login-help strong { color: #24201d; }
.admin-back-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 18px; color: #4e4945; font-size: 11px; font-weight: 700; }
.admin-back-link:hover { color: #d80812; }
.admin-copyright { position: relative; z-index: 1; margin: 14px 0 0; color: #918982; font-size: 10px; text-align: center; }
@media (max-width: 1100px) {
    .admin-login-shell { grid-template-columns: .9fr 1.1fr; }
    .admin-login-showcase { padding: 45px; }
    .admin-showcase-content h1 { font-size: 38px; }
    .admin-showcase-footer { left: 45px; }
}
@media (max-width: 850px) {
    .admin-login-shell { display: block; }
    .admin-login-showcase { display: none; }
    .admin-login-area { min-height: 100vh; padding: 26px 24px; }
    .admin-mobile-logo { display: block; }
    .admin-login-heading-mobile { display: block; }
}
@media (max-width: 480px) {
    .admin-login-area { padding: 22px 18px; }
    .admin-login-heading h2 { font-size: 29px; }
    .admin-login-box { padding: 27px 22px 24px; border-radius: 16px; }
}

/* Single-panel administration login layout */
.admin-login-shell { display: block; height: 100%; min-height: 0; }
.admin-login-showcase { display: none; }
.admin-login-area { box-sizing: border-box; height: 100%; min-height: 0; padding: 18px 20px 30px; background: linear-gradient(135deg,rgba(25,5,7,.9),rgba(128,0,9,.79)),url('../../images/campus/image.png') center/cover fixed no-repeat; }
.admin-login-area::before { top: -160px; right: -130px; width: 430px; height: 430px; border: 55px solid rgba(247,198,0,.1); }
.admin-login-area::after { bottom: -190px; left: -150px; width: 430px; height: 430px; border: 48px solid rgba(255,255,255,.06); }
.admin-login-box { max-width: 440px !important; padding: 30px 34px 27px; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.96); box-shadow: 0 28px 80px rgba(0,0,0,.3); }
.admin-mobile-logo { display: block; margin-bottom: 22px; }
.admin-mobile-logo img { max-width: 255px; max-height: 76px; }
.admin-login-heading-mobile { display: block; }
.admin-copyright { position: absolute; right: 20px; bottom: 8px; left: 20px; margin: 0; color: rgba(255,255,255,.72); }
@media (max-height: 760px) {
    .admin-login-box { padding: 23px 30px 20px; }
    .admin-mobile-logo { margin-bottom: 14px; }
    .admin-mobile-logo img { max-height: 62px; }
    .admin-login-heading h2 { font-size: 28px; }
    .admin-login-heading p { margin-bottom: 15px; }
    .admin-login-form { gap: 9px; }
    .admin-input-wrap input { height: 46px !important; min-height: 46px !important; line-height: 46px !important; }
    .admin-login-button { height: 46px; }
    .admin-back-link { margin-top: 13px; }
}
@media (max-width: 850px) {
    .admin-login-area { height: 100%; min-height: 0; padding: 16px 18px 28px; }
}
@media (max-width: 480px) {
    .admin-login-area { padding: 20px 14px; }
    .admin-login-box { padding: 25px 21px 23px; }
}

/* School administration dashboard */
.admin-dashboard-page { min-height: 100vh; margin: 0; background: #f5f6f8; color: #202020; }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 10; display: flex; flex-direction: column; width: 245px; padding: 28px 20px 22px; background: linear-gradient(180deg,#171315,#280609); color: #fff; }
.admin-sidebar-logo { display: block; margin-bottom: 44px; padding: 10px; border-radius: 12px; background: #fff; }
.admin-sidebar-logo img { display: block; width: 100%; height: 62px; object-fit: contain; }
.admin-sidebar nav { display: grid; gap: 7px; }
.admin-sidebar nav > span { margin: 0 12px 8px; color: rgba(255,255,255,.45); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.admin-sidebar nav a,.admin-logout { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 9px; color: rgba(255,255,255,.7); font-size: 13px; font-weight: 700; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { background: #d80812; color: #fff; }
.admin-sidebar nav i,.admin-logout i { width: 17px; text-align: center; }
.admin-logout { margin-top: auto; border: 1px solid rgba(255,255,255,.12); }
.admin-logout:hover { border-color: #d80812; background: #d80812; color: #fff; }
.admin-dashboard-main { min-height: 100vh; margin-left: 245px; padding: 35px 4%; }
.admin-dashboard-header { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 28px; }
.admin-dashboard-header > div:first-child > span { color: #d80812; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.admin-dashboard-header h1 { margin: 4px 0 0; font-size: 32px; line-height: 1.2; }
.admin-user-chip { display: flex; align-items: center; gap: 10px; padding: 8px 13px 8px 9px; border: 1px solid #e4e0dc; border-radius: 12px; background: #fff; }
.admin-user-chip:hover { color: inherit; transform: translateY(-1px); }
.admin-user-chip > img { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 9px; object-fit: cover; }
.admin-user-chip > i { display: grid; width: 36px; height: 36px; border-radius: 9px; background: #fff0b9; color: #d80812; place-items: center; }
.admin-user-chip small,.admin-user-chip strong { display: block; line-height: 1.25; }
.admin-user-chip small { color: #8a827d; font-size: 9px; }
.admin-user-chip strong { font-size: 12px; }

.admin-profile-layout { display: grid; grid-template-columns: minmax(240px,320px) minmax(0,1fr); gap: 24px; align-items: start; }
.admin-profile-summary { display: flex; flex-direction: column; align-items: center; text-align: center; }
.admin-profile-avatar { display: grid; width: 128px; height: 128px; margin-bottom: 18px; place-items: center; overflow: hidden; border: 6px solid #fff4c7; border-radius: 28px; background: #2b1417; color: #fff; box-shadow: 0 14px 32px rgba(43,20,23,.16); }
.admin-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.admin-profile-avatar i { font-size: 42px; }
.admin-profile-summary h2 { margin: 0 0 3px; font-size: 24px; }
.admin-profile-summary p { margin: 0 0 20px; color: #8a7d78; }
.admin-profile-summary > span { display: flex; width: 100%; align-items: center; gap: 10px; padding: 11px 0; border-top: 1px solid #eee4dc; color: #544b48; text-align: left; overflow-wrap: anywhere; }
.admin-profile-summary > span i { width: 24px; color: #d80812; text-align: center; }
.admin-profile-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.admin-profile-security { margin: 8px 0 0; padding-top: 20px; border-top: 1px solid #eee4dc; }
.admin-profile-security h3 { margin: 0 0 3px; font-size: 19px; }
.admin-profile-security p { margin: 0; color: #8a7d78; }
.admin-password-fields { grid-template-columns: repeat(3,minmax(0,1fr)); }

.admin-profile-form-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: stretch; }
.admin-profile-panel { min-width: 0; }
.admin-profile-form-split *,
.admin-profile-form-split *::before,
.admin-profile-form-split *::after { box-sizing: border-box; }
.admin-profile-photo-row { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 16px; align-items: end; margin-bottom: 20px; }
.admin-profile-photo-preview { display: grid; width: 92px; height: 92px; place-items: center; overflow: hidden; border: 4px solid #fff3c4; border-radius: 20px; background: #2b1417; color: #fff; }
.admin-profile-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.admin-profile-photo-preview i { font-size: 30px; }
.admin-profile-upload { min-width: 0; margin: 0 !important; }
.admin-profile-form-split .admin-profile-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-profile-form-split .admin-password-fields { grid-template-columns: 1fr; }
.admin-profile-form-split label { display: grid; min-width: 0; gap: 7px; margin: 0; font-size: 14px; font-weight: 700; }
.admin-profile-form-split input { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 52px; padding: 0 16px; border: 1px solid #ddd2ca; border-radius: 12px; background: #fffdfb; color: #241b1c; font-size: 14px; }
.admin-profile-form-split input:focus { border-color: #d80812; outline: 0; box-shadow: 0 0 0 3px rgba(216,8,18,.09); }
.admin-profile-form-split .admin-file-field { min-height: 72px; }
.admin-profile-form-split .admin-profile-security { margin: 0 0 20px; padding: 0 0 16px; }
.admin-security-note { display: flex; gap: 10px; margin-top: 20px; padding: 14px; border-radius: 12px; background: #fff7d6; color: #635437; font-size: 14px; line-height: 1.5; }
.admin-security-note i { margin-top: 3px; color: #d80812; }
.admin-profile-actions { grid-column: 1/-1; display: flex; justify-content: flex-end; }
.admin-profile-actions button { display: inline-flex; min-width: 260px; min-height: 54px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 22px; border: 0; border-radius: 13px; background: #d80812; color: #fff; font-weight: 700; box-shadow: 0 12px 24px rgba(216,8,18,.2); }

@media (max-width: 1100px) {
    .admin-profile-layout { grid-template-columns: 1fr; }
    .admin-profile-summary { max-width: none; }
    .admin-profile-form-split { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .admin-profile-fields,
    .admin-password-fields { grid-template-columns: 1fr; }
    .admin-profile-avatar { width: 108px; height: 108px; }
    .admin-profile-form-split .admin-profile-fields { grid-template-columns: 1fr; }
    .admin-profile-photo-row { grid-template-columns: 1fr; align-items: start; }
    .admin-profile-actions button { width: 100%; min-width: 0; }
}
.admin-dashboard-grid { display: grid; grid-template-columns: minmax(320px,.78fr) minmax(480px,1.22fr); gap: 24px; align-items: start; }
.admin-dashboard-card { padding: 25px; border: 1px solid #e7e2dd; border-radius: 18px; background: #fff; box-shadow: 0 12px 35px rgba(33,22,18,.05); }
.admin-card-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.admin-card-heading h2 { margin: 0 0 2px; font-size: 20px; }
.admin-card-heading p { margin: 0; color: #817a75; font-size: 12px; }
.admin-card-icon { display: grid; flex: 0 0 45px; width: 45px; height: 45px; border-radius: 12px; background: #d80812; color: #fff; font-size: 17px; place-items: center; }
.admin-card-icon.light { background: #fff0b9; color: #d80812; }
.admin-faculty-form { display: grid; gap: 14px; }
.admin-faculty-form label { color: #393431; font-size: 11px; font-weight: 800; }
.admin-faculty-form input,.admin-faculty-form select { display: block; width: 100%; height: 46px; margin-top: 6px; padding: 0 13px; border: 1px solid #ded8d2; border-radius: 9px; outline: none; background: #fbfaf9; color: #25211f; font-size: 13px; }
.admin-faculty-form input:focus,.admin-faculty-form select:focus { border-color: #d80812; box-shadow: 0 0 0 3px rgba(216,8,18,.07); }
.admin-faculty-form button { display: flex; align-items: center; justify-content: space-between; height: 48px; margin-top: 3px; padding: 0 17px; border: 0; border-radius: 9px; background: #d80812; color: #fff; font-size: 12px; font-weight: 800; }
.admin-faculty-list { display: grid; gap: 9px; max-height: 565px; overflow: auto; }
.admin-faculty-row { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid #ede8e3; border-radius: 11px; }
.admin-faculty-avatar { display: grid; width: 43px; height: 43px; border-radius: 11px; background: linear-gradient(135deg,#fff0b9,#ffd62b); color: #8d0007; font-weight: 900; place-items: center; }
.admin-faculty-row strong,.admin-faculty-row span,.admin-faculty-row small { display: block; }
.admin-faculty-row strong { margin-bottom: 2px; font-size: 13px; }
.admin-faculty-row span { color: #68615d; font-size: 11px; }
.admin-faculty-row small { margin-top: 2px; color: #9a928c; font-size: 10px; }
.admin-faculty-row form button { display: grid; width: 34px; height: 34px; border: 0; border-radius: 8px; background: #fff1f1; color: #d80812; place-items: center; }
.admin-empty-state { display: grid; min-height: 250px; color: #8c8580; text-align: center; place-content: center; }
.admin-empty-state i { margin-bottom: 12px; color: #d6cdc7; font-size: 42px; }
.admin-empty-state strong { color: #3a3532; font-size: 14px; }
.admin-empty-state span { margin-top: 4px; font-size: 11px; }
.admin-dash-alert { margin-bottom: 20px; padding: 12px 15px; border-radius: 9px; font-size: 12px; font-weight: 700; }
.admin-dash-alert.success { background: #e8f8ec; color: #187331; }
.admin-dash-alert.error { background: #fff0f0; color: #a30008; }
@media (max-width: 1050px) { .admin-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
    .admin-sidebar { position: static; width: 100%; padding: 14px 18px; }
    .admin-sidebar-logo { width: 210px; margin: 0 auto 14px; }
    .admin-sidebar-logo img { height: 45px; }
    .admin-sidebar nav { grid-template-columns: 1fr 1fr; }
    .admin-sidebar nav > span { display: none; }
    .admin-logout { justify-content: center; margin-top: 10px; }
    .admin-dashboard-main { margin-left: 0; padding: 24px 18px; }
    .admin-dashboard-header { align-items: flex-start; flex-direction: column; }
    .admin-dashboard-card { padding: 19px; }
}

/* Enhanced school administration workspace */
.admin-dashboard-page { background: #f6f4ef; font-family: var(--body-font,Arial,sans-serif); }
.admin-sidebar { width: 270px; padding: 22px 18px 20px; background: linear-gradient(165deg,#190f12 0%,#370309 62%,#650009 100%); box-shadow: 12px 0 38px rgba(52,0,5,.13); }
.admin-sidebar::after { position: absolute; right: -65px; bottom: 90px; width: 180px; height: 180px; border: 28px solid rgba(247,198,0,.07); border-radius: 50%; content: ""; pointer-events: none; }
.admin-sidebar-logo { position: relative; z-index: 1; margin-bottom: 13px; padding: 7px 4px; border-radius: 14px; }
.admin-sidebar-logo img { width: 100%; height: 70px; object-fit: contain; }
.admin-sidebar-school { position: relative; z-index: 1; margin-bottom: 30px; text-align: center; }
.admin-sidebar-school strong,.admin-sidebar-school span { display: block; }
.admin-sidebar-school strong { color: #fff; font-size: 13px; }
.admin-sidebar-school span { margin-top: 2px; color: rgba(255,255,255,.48); font-size: 10px; }
.admin-sidebar nav { position: relative; z-index: 1; gap: 4px; overflow-y: auto; padding-right: 3px; }
.admin-sidebar nav > span { margin-bottom: 5px; color: #f4c900; }
.admin-sidebar nav a,.admin-logout { padding: 12px 13px; border-radius: 10px; font-size: 14px; }
.admin-sidebar nav a { position: relative; }
.admin-side-nav details { border-radius: 10px; }
.admin-side-nav summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 13px; border-radius: 10px; color: rgba(255,255,255,.78); font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; transition: background .2s ease,color .2s ease; }
.admin-side-nav summary::-webkit-details-marker { display: none; }
.admin-side-nav summary > span { display: flex; align-items: center; gap: 12px; }
.admin-side-nav summary > span i { width: 17px; text-align: center; }
.admin-side-nav summary > i { width: auto; font-size: 11px; transition: transform .22s ease; }
.admin-side-nav details[open] summary { background: rgba(255,255,255,.075); color: #fff; }
.admin-side-nav details[open] summary > i { transform: rotate(180deg); }
.admin-side-nav details > div { display: grid; gap: 3px; padding: 5px 0 7px 16px; }
.admin-side-nav details > div a { padding: 10px 12px; font-size: 14px; }
.admin-side-nav details > div a::before { display: none; content: none; }
.admin-menu-badge { display: grid; min-width: 21px; height: 21px; margin-left: auto; padding: 0 6px; border-radius: 999px; background: #f7c600; color: #2a1700; font-size: 10px; place-items: center; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { background: linear-gradient(135deg,#df0712,#ad0009); box-shadow: 0 9px 20px rgba(0,0,0,.18); }
.admin-logout { position: relative; z-index: 1; background: rgba(255,255,255,.035); }
.admin-dashboard-main { margin-left: 270px; padding: 28px clamp(24px,3vw,52px) 55px; background: radial-gradient(circle at 100% 0,rgba(247,198,0,.12),transparent 22%),#f6f4ef; }
.admin-dashboard-header { margin-bottom: 22px; }
.admin-dashboard-header > div:first-child > span { color: #d80812; font-size: 9px; letter-spacing: .16em; }
.admin-dashboard-header h1 { margin-top: 3px; font-family: var(--title-font,var(--body-font)); font-size: 29px; }
.admin-dashboard-header > div:first-child > p { margin: 5px 0 0; color: #817a74; font-size: 12px; }
.admin-header-actions { display: flex; align-items: center; gap: 10px; }
.admin-header-actions > a { display: grid; width: 43px; height: 43px; border: 1px solid #e7ded4; border-radius: 12px; background: #fff; color: #d80812; place-items: center; }
.admin-header-actions > a.admin-user-chip { display: flex; width: auto; min-width: 145px; height: 52px; padding: 7px 15px 7px 8px; align-items: center; justify-content: flex-start; gap: 10px; border: 0; border-radius: 13px; color: #251d1e; box-shadow: 0 7px 25px rgba(40,25,18,.06); }
.admin-header-actions > a.admin-user-chip > div { display: block; min-width: 0; text-align: left; }
.admin-header-actions > a.admin-user-chip small,
.admin-header-actions > a.admin-user-chip strong { display: block; width: auto; margin: 0; white-space: nowrap; }
.admin-header-actions > a.admin-user-chip small { margin-bottom: 2px; color: #8a827d; font-size: 10px; font-weight: 400; }
.admin-header-actions > a.admin-user-chip strong { overflow: hidden; max-width: 130px; color: #251d1e; font-size: 13px; line-height: 1.2; text-overflow: ellipsis; }
.admin-welcome-panel { position: relative; display: flex; align-items: center; overflow: hidden; justify-content: space-between; min-height: 190px; margin-bottom: 20px; padding: 30px 36px; border-radius: 22px; background: linear-gradient(120deg,rgba(33,8,10,.97),rgba(145,0,10,.92)),url('../../images/campus/image.png') center/cover; color: #fff; box-shadow: 0 18px 42px rgba(86,0,7,.14); }
.admin-welcome-panel::after { position: absolute; right: -60px; bottom: -95px; width: 245px; height: 245px; border: 35px solid rgba(247,198,0,.18); border-radius: 50%; content: ""; }
.admin-welcome-panel > div:first-child { position: relative; z-index: 1; max-width: 650px; }
.admin-eyebrow { display: inline-flex; align-items: center; gap: 7px; color: #ffd62b; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.admin-welcome-panel h2 { margin: 7px 0 7px; color: #fff; font-size: 29px; }
.admin-welcome-panel p { margin: 0 0 17px; color: rgba(255,255,255,.72); font-size: 12px; }
.admin-welcome-panel a { display: inline-flex; align-items: center; gap: 9px; padding: 9px 15px; border-radius: 9px; background: #f7c600; color: #241b00; font-size: 11px; font-weight: 800; }
.admin-welcome-actions { display: flex; gap: 9px; }
.admin-welcome-panel .admin-welcome-actions .outline { border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); color: #fff; }
.admin-welcome-emblem { position: relative; z-index: 1; display: flex; align-items: center; gap: 16px; padding-right: 26px; }
.admin-welcome-emblem img { width: 94px; height: 94px; object-fit: contain; filter: drop-shadow(0 8px 15px rgba(0,0,0,.22)); }
.admin-welcome-emblem > span { color: #fff; font-size: 38px; font-weight: 900; line-height: .8; text-align: center; }
.admin-welcome-emblem small { display: block; margin-top: 9px; color: #ffd62b; font-size: 10px; letter-spacing: .16em; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-bottom: 28px; }
.admin-stat-grid article { display: flex; align-items: center; gap: 14px; padding: 17px 19px; border: 1px solid #ebe3da; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(38,25,17,.045); }
.admin-stat-icon { display: grid; flex: 0 0 47px; width: 47px; height: 47px; border-radius: 13px; color: #fff; font-size: 18px; place-items: center; }
.admin-stat-icon.red { background: #d80812; }
.admin-stat-icon.gold { background: #f7c600; color: #211b00; }
.admin-stat-icon.dark { background: #24191c; }
.admin-stat-grid span,.admin-stat-grid strong,.admin-stat-grid small { display: block; }
.admin-stat-grid span { color: #7f7771; font-size: 10px; font-weight: 700; }
.admin-stat-grid strong { margin: 1px 0; color: #211d1c; font-size: 22px; line-height: 1; }
.admin-stat-grid small { color: #aaa19a; font-size: 9px; }
.admin-stat-grid .admin-status-text { color: #228847; font-size: 17px; }
.admin-section-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 13px; }
.admin-section-title span { color: #d80812; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.admin-section-title h2 { margin: 2px 0 0; font-size: 21px; }
.admin-section-title p { max-width: 440px; margin: 0; color: #887f79; font-size: 11px; text-align: right; }
.admin-dashboard-grid { grid-template-columns: minmax(300px,.72fr) minmax(480px,1.28fr); gap: 18px; }
.admin-dashboard-card { padding: 22px; border-color: #e8dfd6; border-radius: 17px; box-shadow: 0 12px 32px rgba(37,23,16,.055); }
.admin-card-heading { margin-bottom: 18px; }
.admin-card-heading h2 { font-size: 18px; }
.admin-faculty-form { gap: 11px; }
.admin-faculty-form label { font-size: 10px; }
.admin-faculty-form input,.admin-faculty-form select { box-sizing: border-box; height: 43px; min-height: 43px; margin-top: 4px; border-color: #e4dbd2; background: #fdfcfb; font-size: 12px; }
.admin-faculty-form button { height: 44px; margin-top: 5px; background: linear-gradient(135deg,#df0712,#ad0009); box-shadow: 0 9px 20px rgba(216,8,18,.18); }
.admin-file-field { position: relative; display: flex; align-items: center; gap: 11px; min-height: 62px; margin-top: 4px; padding: 9px 12px; border: 1px dashed #d9c9bc; border-radius: 10px; background: #fffaf0; cursor: pointer; }
.admin-file-field > i { display: grid; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 9px; background: #fff0b9; color: #d80812; font-size: 15px; place-items: center; }
.admin-file-field span,.admin-file-field strong,.admin-file-field small { display: block; }
.admin-file-field strong { color: #312b28; font-size: 11px; }
.admin-file-field small { margin-top: 2px; color: #938b84; font-size: 9px; font-weight: 500; }
.admin-file-field input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.admin-faculty-photo { width: 43px; height: 43px; border: 2px solid #fff0b9; border-radius: 11px; object-fit: cover; box-shadow: 0 4px 12px rgba(43,25,17,.09); }
.admin-empty-state { min-height: 280px; border: 1px dashed #e5dcd4; border-radius: 13px; background: linear-gradient(145deg,#fff,#fbf8f3); }
.admin-empty-state i { color: #e5d6c9; }
.admin-module-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; margin-bottom: 28px; }
.admin-module-grid > a { display: flex; align-items: flex-start; gap: 17px; padding: 23px; border: 1px solid #e8dfd6; border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(37,23,16,.05); transition: transform .2s ease,box-shadow .2s ease; }
.admin-module-grid > a:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(37,23,16,.09); }
.admin-module-icon { display: grid; flex: 0 0 53px; width: 53px; height: 53px; border-radius: 14px; font-size: 20px; place-items: center; }
.admin-module-icon.red { background: #d80812; color: #fff; }
.admin-module-icon.gold { background: #f7c600; color: #251d00; }
.admin-module-icon.dark { background: #24191c; color: #fff; }
@media (max-width: 1250px) { .admin-module-grid { grid-template-columns: 1fr 1fr; } }
.admin-module-grid span { color: #d80812; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.admin-module-grid h3 { margin: 3px 0 5px; color: #211d1c; font-size: 17px; }
.admin-module-grid p { margin: 0 0 10px; color: #817872; font-size: 11px; line-height: 1.55; }
.admin-module-grid strong { color: #d80812; font-size: 10px; }
.admin-recent-panel { padding: 22px; border: 1px solid #e8dfd6; border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(37,23,16,.045); }
.admin-recent-panel > .admin-section-title { margin-bottom: 13px; }
.admin-recent-panel > .admin-section-title > a { color: #d80812; font-size: 10px; font-weight: 800; }
.admin-recent-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }
.admin-recent-list > div { display: grid; grid-template-columns: 39px 1fr auto; align-items: center; gap: 10px; padding: 10px; border-radius: 10px; background: #faf8f5; }
.admin-recent-avatar { display: grid; width: 39px; height: 39px; border-radius: 10px; background: #fff0b9; color: #a30008; font-size: 13px; font-weight: 900; place-items: center; }
.admin-recent-list p { margin: 0; }
.admin-recent-list p strong,.admin-recent-list p small { display: block; }
.admin-recent-list p strong { color: #282321; font-size: 11px; }
.admin-recent-list p small { color: #918880; font-size: 9px; }
.admin-recent-list b { padding: 4px 7px; border-radius: 999px; background: #fff; color: #d80812; font-size: 8px; }
.admin-empty-state.compact { min-height: 145px; }
.admin-enquiry-section { margin-top: 32px; scroll-margin-top: 22px; }
.admin-enquiry-card { padding: 0; overflow: hidden; }
.admin-enquiry-table-wrap { overflow-x: auto; }
.admin-enquiry-table { width: 100%; min-width: 880px; border-collapse: collapse; }
.admin-enquiry-table th { padding: 13px 15px; background: #261619; color: rgba(255,255,255,.75); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.admin-enquiry-table td { padding: 14px 15px; border-bottom: 1px solid #eee7df; color: #6e6660; font-size: 11px; vertical-align: middle; }
.admin-enquiry-table tbody tr:last-child td { border-bottom: 0; }
.admin-enquiry-table tbody tr:hover { background: #fffaf1; }
.admin-enquiry-table td strong,.admin-enquiry-table td small { display: block; }
.admin-enquiry-table td strong { color: #282321; font-size: 12px; }
.admin-enquiry-table td small { margin-top: 3px; color: #968d86; font-size: 9px; }
.admin-enquiry-status select { width: 105px; height: 32px; padding: 0 8px; border: 1px solid #e1d6cc; border-radius: 7px; background: #fff; color: #3e3834; font-size: 10px; }
.admin-enquiry-delete { display: grid; width: 32px; height: 32px; border: 0; border-radius: 7px; background: #fff0f0; color: #d80812; place-items: center; }
.admin-notice-grid { display: grid; grid-template-columns: minmax(320px,.72fr) minmax(500px,1.28fr); gap: 18px; align-items: start; }
.admin-notice-form textarea { display: block; box-sizing: border-box; width: 100%; height: 120px !important; min-height: 120px !important; margin-top: 4px; padding: 11px 13px; border: 1px solid #e4dbd2; border-radius: 9px; outline: none; background: #fdfcfb; color: #25211f; font-size: 14px; line-height: 1.5; resize: vertical; }
.admin-notice-form textarea:focus { border-color: #d80812; box-shadow: 0 0 0 3px rgba(216,8,18,.07); }
.admin-form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.admin-check-row { display: flex; flex-wrap: wrap; gap: 14px; padding: 4px 0; }
.admin-check-row label { display: flex; align-items: center; gap: 7px; font-size: 10px; cursor: pointer; }
.admin-check-row input { width: 15px; height: 15px; min-height: 15px; margin: 0; accent-color: #d80812; }
.admin-notice-list { display: grid; gap: 9px; max-height: 590px; overflow: auto; }
.admin-notice-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 12px; border: 1px solid #ede5dd; border-radius: 11px; background: #fff; }
.admin-notice-symbol { display: grid; width: 42px; height: 42px; border-radius: 10px; background: #fff0b9; color: #d80812; place-items: center; }
.admin-notice-row span,.admin-notice-row strong,.admin-notice-row small { display: block; }
.admin-notice-row span { color: #d80812; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-notice-row span b { margin-left: 6px; padding: 2px 5px; border-radius: 999px; background: #d80812; color: #fff; font-size: 7px; }
.admin-notice-row strong { margin: 2px 0; color: #2c2724; font-size: 12px; }
.admin-notice-row small { overflow: hidden; color: #8c837c; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.admin-notice-actions { display: flex; gap: 5px; }
.admin-notice-actions button { display: grid; width: 31px; height: 31px; border: 0; border-radius: 7px; place-items: center; }
.admin-notice-actions .published { background: #e8f8ec; color: #187331; }
.admin-notice-actions .draft { background: #f2efec; color: #776f69; }
.admin-notice-actions .delete { background: #fff0f0; color: #d80812; }
.admin-media-manager-grid { display: grid; grid-template-columns: minmax(320px,.68fr) minmax(500px,1.32fr); gap: 18px; align-items: start; }
.admin-view-public { display: inline-flex; align-items: center; gap: 7px; color: #d80812; font-size: 11px; font-weight: 800; }
.admin-media-admin-list { display: grid; gap: 9px; max-height: 610px; overflow: auto; }
.admin-media-admin-row { display: grid; grid-template-columns: 76px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 10px; border: 1px solid #ebe2da; border-radius: 11px; }
.admin-media-admin-row > img { width: 76px; height: 58px; border-radius: 8px; object-fit: cover; }
.admin-media-admin-row span,.admin-media-admin-row strong,.admin-media-admin-row small { display: block; }
.admin-media-admin-row span { color: #d80812; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-media-admin-row strong { margin: 2px 0; color: #2b2623; font-size: 12px; }
.admin-media-admin-row small { overflow: hidden; color: #8c837c; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.notice-public-empty { padding: 55px 25px; border: 1px dashed #dfd3c8; border-radius: 18px; background: #fff; text-align: center; }
.notice-public-empty i { color: #d80812; font-size: 34px; }
.notice-public-empty h3 { margin: 12px 0 5px; }
.notice-public-empty p { margin: 0; }
.registration-submit-message { margin-bottom: 18px; padding: 13px 15px; border-radius: 10px; font-size: 14px; font-weight: 700; }
.registration-submit-message.success { background: #e9f8ed; color: #197237; }
.registration-submit-message.error { background: #fff0f0; color: #a30008; }
.resource-empty-state { grid-column: 1/-1; padding: 55px 25px; border: 1px dashed #dfd3c8; border-radius: 18px; background: #fff; text-align: center; }
.resource-empty-state i { color: #d80812; font-size: 34px; }
.resource-empty-state h3 { margin: 12px 0 5px; }
.resource-empty-state p { margin: 0; }
.managed-resource-grid .homework-card > small,.school-form-card > small { display: block; margin-bottom: 5px; color: #d80812; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tc-download-result { display: flex; align-items: center; gap: 18px; margin: 18px 0 24px; padding: 19px; border: 1px solid #bfe4c8; border-radius: 14px; background: #edfaf0; }
.tc-download-result > i { color: #218744; font-size: 38px; }
.tc-download-result span { color: #218744; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.tc-download-result h3 { margin: 3px 0; font-size: 22px; }
.tc-download-result p { margin: 0 0 12px; }
.tc-download-result .th-btn { padding: 12px 19px; }
.tc-lookup-form { margin-top: 20px; }
.admin-notice-row span em { margin-left: 6px; padding: 2px 5px; border-radius: 999px; background: #fff0b9; color: #6d5300; font-size: 7px; font-style: normal; }
@media (max-width: 1100px) {
    .admin-welcome-emblem { display: none; }
    .admin-stat-grid { grid-template-columns: repeat(3,1fr); }
    .admin-dashboard-grid { grid-template-columns: 1fr; }
    .admin-notice-grid { grid-template-columns: 1fr; }
    .admin-media-manager-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .admin-sidebar { width: 100%; }
    .admin-sidebar-school { display: none; }
    .admin-sidebar nav { grid-template-columns: 1fr 1fr; }
    .admin-dashboard-main { margin-left: 0; padding: 22px 16px 42px; }
    .admin-dashboard-header { flex-direction: column; }
    .admin-header-actions { width: 100%; justify-content: space-between; }
    .admin-welcome-panel { min-height: 175px; padding: 25px 22px; }
    .admin-welcome-panel h2 { font-size: 24px; }
    .admin-stat-grid { grid-template-columns: 1fr; }
    .admin-module-grid,.admin-recent-list { grid-template-columns: 1fr; }
    .admin-section-title { align-items: flex-start; flex-direction: column; gap: 5px; }
    .admin-section-title p { text-align: left; }
}

/* School notice board */
.notice-page { padding: 55px 0 70px; background: linear-gradient(135deg,#fffdf7,#f7fbfa); }
.notice-page-head { display: grid; grid-template-columns: 1fr 360px; align-items: center; gap: 40px; margin-bottom: 34px; }
.notice-page-head > div:first-child { max-width: 830px; }
.notice-page-head .sec-title { margin: 10px 0 12px; }
.notice-page-head p { margin: 0; font-size: 16px; line-height: 1.7; }
.notice-office-card { display: flex; align-items: center; gap: 16px; padding: 24px; border-radius: 20px; background: #191919; color: #fff; }
.notice-office-card > i { display: grid; flex: 0 0 58px; width: 58px; height: 58px; border-radius: 16px; background: #f7c600; color: #191919; font-size: 24px; place-items: center; }
.notice-office-card strong, .notice-office-card span, .notice-office-card a { display: block; }
.notice-office-card span { margin: 3px 0; color: rgba(255,255,255,.68); font-size: 13px; }
.notice-office-card a { color: #f7c600; font-weight: 700; }
.notice-board-list { display: grid; gap: 15px; }
.notice-board-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 24px 27px; border: 1px solid #eadfd3; border-radius: 20px; background: #fff; box-shadow: 0 10px 27px rgba(30,20,12,.05); transition: transform .25s ease, box-shadow .25s ease; }
.notice-board-item:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(30,20,12,.09); }
.notice-board-item.priority-notice { border-color: rgba(216,8,18,.25); background: linear-gradient(90deg,#fff8da,#fff); }
.notice-type-icon { display: grid; width: 64px; height: 64px; border-radius: 18px; background: #fff0b5; color: var(--theme-color); font-size: 25px; place-items: center; }
.notice-meta { display: flex; align-items: center; gap: 9px; margin-bottom: 5px; }
.notice-meta span { color: var(--theme-color); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.notice-meta strong { padding: 3px 8px; border-radius: 999px; background: var(--theme-color); color: #fff; font-size: 9px; letter-spacing: .08em; }
.notice-board-copy h3 { margin-bottom: 6px; font-size: 22px; }
.notice-board-copy p { margin: 0; font-size: 15px !important; line-height: 1.6; }
.notice-action { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; color: var(--theme-color); font-size: 12px; font-weight: 800; }
.notice-disclaimer { display: flex; align-items: flex-start; gap: 13px; margin-top: 26px; padding: 20px 23px; border-radius: 16px; background: #fff0b5; }
.notice-disclaimer i { margin-top: 3px; color: var(--theme-color); font-size: 20px; }
.notice-disclaimer p { margin: 0; font-size: 14px !important; line-height: 1.6; }

/* Mandatory public disclosure */
.disclosure-page { padding: 64px 0 72px; background: linear-gradient(145deg,#fffdf8,#f6faf9); }
.disclosure-title { max-width: 850px; margin: 0 auto 34px; }
.disclosure-title .sec-title { margin: 9px 0 12px; font-size: 40px; }
.disclosure-title p { margin: 0; font-size: 16px !important; line-height: 1.7; }
.disclosure-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.disclosure-card { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 18px; min-height: 160px; padding: 28px; border: 1px solid #eadfd4; border-radius: 18px; background: #fff; box-shadow: 0 9px 25px rgba(34,24,15,.05); }
.disclosure-card-icon { display: grid; width: 52px; height: 52px; border-radius: 14px; background: #fff0b9; color: #d80812; font-size: 21px; place-items: center; }
.disclosure-card span { color: #d80812; font-size: 14px; font-weight: 800; letter-spacing: .04em; }
.disclosure-card h3 { margin: 5px 0 11px; font-size: 20px; }
.disclosure-card p { margin: 0; color: #857c75; font-size: 14px !important; line-height: 1.6; }
.disclosure-card.is-empty { background: rgba(255,255,255,.65); box-shadow: none; }
.disclosure-card.is-empty .disclosure-card-icon { background: #f2eeea; color: #9d938b; }
.disclosure-links { display: grid; gap: 7px; }
.disclosure-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 10px; border-top: 1px solid #eee6de; color: #29231f; font-size: 14px; font-weight: 700; line-height: 1.45; }
.disclosure-links a span { color: inherit; font-size: 14px; letter-spacing: 0; }
.disclosure-links a i { color: #d80812; }
.admin-disclosure-list { display: grid; gap: 9px; max-height: 600px; overflow: auto; }
.admin-disclosure-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto auto auto; align-items: center; gap: 9px; padding: 11px; border: 1px solid #ece3dc; border-radius: 11px; }
.admin-disclosure-copy span,.admin-disclosure-copy strong,.admin-disclosure-copy small { display: block; }
.admin-disclosure-copy span { color: #d80812; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.admin-disclosure-copy strong { margin: 2px 0; font-size: 12px; }
.admin-disclosure-copy small { color: #8d837c; font-size: 9px; }
.admin-file-view,.admin-file-delete { display: grid; width: 31px; height: 31px; border: 0; border-radius: 7px; background: #fff0b9; color: #7c6000; place-items: center; }
.admin-file-delete { background: #fff0f0; color: #d80812; }
.admin-replace-form label { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 8px 10px; border-radius: 7px; background: #edf7f4; color: #14725d; font-size: 10px; font-weight: 800; cursor: pointer; }
.admin-replace-form input { display: none; }
.admin-disclosure-page .admin-dashboard-main { padding-left: clamp(42px,4vw,70px); }
.admin-disclosure-page .admin-dashboard-header > div:first-child > p,
.admin-disclosure-page .admin-card-heading p,
.admin-disclosure-page .admin-view-public,
.admin-disclosure-page .admin-faculty-form label,
.admin-disclosure-page .admin-faculty-form input,
.admin-disclosure-page .admin-faculty-form select,
.admin-disclosure-page .admin-faculty-form button,
.admin-disclosure-page .admin-file-field small,
.admin-disclosure-page .admin-disclosure-copy span,
.admin-disclosure-page .admin-disclosure-copy strong,
.admin-disclosure-page .admin-disclosure-copy small,
.admin-disclosure-page .admin-replace-form label { font-size: 14px; }
.admin-disclosure-page .admin-dashboard-header > div:first-child > p { line-height: 1.55; }
.admin-disclosure-page .admin-card-heading p { margin-top: 4px; line-height: 1.45; }
.admin-disclosure-page .admin-section-title span { font-size: 11px; }
.admin-disclosure-page .admin-faculty-form { gap: 15px; }
.admin-disclosure-page .admin-faculty-form input,.admin-disclosure-page .admin-faculty-form select { height: 48px; min-height: 48px; }
.admin-disclosure-page .admin-disclosure-copy strong { margin: 4px 0; }
.admin-disclosure-page .admin-disclosure-copy small { line-height: 1.4; }
.admin-disclosure-page .admin-replace-form label { padding: 10px 12px; white-space: nowrap; }
@media (max-width: 991px){.disclosure-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.admin-disclosure-row{grid-template-columns:42px 1fr auto;}.admin-replace-form{grid-column:2;}}
@media (max-width: 575px){.disclosure-page{padding:42px 0;}.disclosure-grid{grid-template-columns:1fr;}.disclosure-title .sec-title{font-size:32px;}}
@media (max-width: 991px) {
    .notice-page-head { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .notice-page { padding: 42px 0; }
    .notice-board-item { grid-template-columns: auto 1fr; padding: 21px 18px; }
    .notice-action { grid-column: 2; }
}

/* School resource pages */
.resource-page, .video-gallery-page { padding: 55px 0 70px; }
.resource-intro, .rules-intro, .video-gallery-intro { display: grid; grid-template-columns: 1fr 360px; align-items: center; gap: 38px; margin-bottom: 35px; }
.resource-intro > div:first-child, .rules-intro > div:first-child, .video-gallery-intro > div:first-child { max-width: 850px; }
.resource-intro .sec-title, .rules-intro .sec-title, .video-gallery-intro .sec-title { margin: 10px 0 14px; }
.resource-intro p, .rules-intro p, .video-gallery-intro p { margin: 0; font-size: 16px; line-height: 1.7; }
.resource-notice, .video-upload-status { display: flex; align-items: flex-start; gap: 15px; padding: 24px; border-radius: 20px; background: #fff4c7; }
.resource-notice > i, .video-upload-status > i { color: var(--theme-color); font-size: 27px; }
.resource-notice strong, .resource-notice span, .video-upload-status strong, .video-upload-status span { display: block; }
.resource-notice strong, .video-upload-status strong { margin-bottom: 4px; color: var(--title-color); }
.resource-notice span, .video-upload-status span { color: var(--body-color); font-size: 14px; line-height: 1.5; }
.homework-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.homework-filter { display:flex; align-items:center; gap:20px; margin:0 0 30px; padding:20px 24px; border:1px solid #eee0cb; border-radius:20px; background:linear-gradient(135deg,#fff8df,#fff); box-shadow:0 10px 28px rgba(39,26,15,.06); }
.homework-filter-copy { display:flex; min-width:190px; flex-direction:column; }
.homework-filter-copy span { color:var(--theme-color); font-size:11px; font-weight:800; letter-spacing:.08em; }
.homework-filter-copy span i { margin-right:5px; }
.homework-filter-copy strong { margin-top:3px; color:var(--title-color); font-size:18px; }
.homework-filter-select { position:relative; flex:1; max-width:420px; }
.homework-filter-select > i:first-child { position:absolute; z-index:1; top:50%; left:17px; color:var(--theme-color); transform:translateY(-50%); pointer-events:none; }
.homework-filter-select > i:last-child { position:absolute; top:50%; right:17px; color:var(--title-color); font-size:12px; transform:translateY(-50%); pointer-events:none; }
.homework-filter-select select { width:100%; height:52px; padding:0 45px; border:1px solid #e1d5c5; border-radius:13px; outline:0; appearance:none; background:#fff; color:var(--title-color); font-size:15px; font-weight:700; cursor:pointer; }
.homework-filter-select select:focus { border-color:var(--theme-color); box-shadow:0 0 0 4px rgba(216,8,18,.08); }
.homework-filter > a { margin-left:auto; color:var(--theme-color); font-size:14px; font-weight:700; }
.homework-filter > a:hover { color:var(--title-color); }
.homework-filter noscript button { padding:12px 18px; border:0; border-radius:10px; background:var(--theme-color); color:#fff; font-weight:700; }
.homework-card, .school-form-card { height: 100%; padding: 28px 24px; border: 1px solid #eee5d8; border-radius: 22px; background: #fff; box-shadow: 0 12px 32px rgba(30,20,12,.07); }
.resource-card-icon, .school-form-card > span { display: grid; width: 60px; height: 60px; margin-bottom: 20px; border-radius: 17px; background: linear-gradient(145deg,var(--theme-color),#a40008); color: #fff; font-size: 24px; place-items: center; }
.homework-card h3, .school-form-card h3 { margin-bottom: 10px; font-size: 21px; }
.homework-card p, .school-form-card p { font-size: 15px !important; line-height: 1.6; }
.homework-card ul { display: grid; gap: 8px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid #eee; list-style: none; }
.homework-card li { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.homework-card li i { color: var(--theme-color); font-size: 11px; }
.resource-guidance, .forms-help, .rules-note, .video-gallery-note { display: flex; align-items: center; gap: 18px; margin-top: 30px; padding: 24px 28px; border-radius: 20px; background: #191919; color: #fff; }
.resource-guidance > i, .forms-help > i, .rules-note > i, .video-gallery-note > i { flex: 0 0 auto; color: #f7c600; font-size: 29px; }
.resource-guidance h3 { margin: 0 0 5px; color: #fff; font-size: 20px; }
.resource-guidance p, .rules-note p, .video-gallery-note p { margin: 0; color: rgba(255,255,255,.78); font-size: 15px !important; }
.resource-title { max-width: 780px; margin: 0 auto 36px; }
.resource-title p { font-size: 16px; line-height: 1.7; }
.school-forms-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.school-form-card { display: flex; align-items: flex-start; flex-direction: column; }
.school-form-card p { flex-grow: 1; }
.school-form-card > a { color: var(--theme-color); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.school-form-card > a i { margin-left: 5px; }
.forms-help strong, .forms-help span { display: block; }
.forms-help span { color: rgba(255,255,255,.75); }
.forms-help a { color: #f7c600; }
.tc-info-panel, .tc-form-card { height: 100%; padding: 34px; border-radius: 25px; }
.tc-info-panel { background: linear-gradient(145deg,#191919,#3d1114); color: #fff; }
.tc-info-panel .sub-title, .tc-info-panel .sec-title { color: #fff; }
.tc-info-panel .sec-title { margin: 12px 0 16px; }
.tc-info-panel > p { color: rgba(255,255,255,.76); }
.tc-info-panel ul { display: grid; gap: 13px; margin: 24px 0; padding: 0; list-style: none; }
.tc-info-panel li { display: flex; gap: 10px; color: rgba(255,255,255,.86); }
.tc-info-panel li i { margin-top: 5px; color: #f7c600; }
.tc-contact { display: flex; align-items: center; gap: 13px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.15); }
.tc-contact > i { color: #f7c600; font-size: 25px; }
.tc-contact strong, .tc-contact span { display: block; }
.tc-contact span { color: rgba(255,255,255,.68); font-size: 13px; }
.tc-form-card { border: 1px solid #eee3d5; background: #fffaf0; }
.tc-form-card > span { color: var(--theme-color); font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.tc-form-card h2 { margin: 6px 0 4px; font-size: 30px; }
.tc-verification-form { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin-top: 24px; }
.tc-verification-form .full { grid-column: 1/-1; }
.tc-verification-form label { display: block; margin-bottom: 6px; color: var(--title-color); font-size: 13px; font-weight: 700; }
.tc-verification-form input, .tc-verification-form textarea { width: 100%; min-height: 52px; padding: 12px 15px; border: 1px solid #ded6cb; border-radius: 10px; background: #fff; }
.tc-verification-form textarea { min-height: 110px; }
.rules-emblem { display: flex; align-items: center; flex-direction: column; justify-content: center; min-height: 170px; border-radius: 22px; background: #fff1b6; text-align: center; }
.rules-emblem i { margin-bottom: 10px; color: var(--theme-color); font-size: 38px; }
.rules-emblem strong, .rules-emblem span { display: block; }
.rules-emblem strong { font-size: 19px; }
.rules-emblem span { font-size: 12px; }
.official-rules-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.official-rule { display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 17px; padding: 21px 23px; border: 1px solid #eee1d2; border-radius: 18px; background: #fff; }
.official-rule > span { display: grid; width: 52px; height: 52px; border-radius: 15px; background: var(--theme-color); color: #fff; font-weight: 800; place-items: center; }
.official-rule p { margin: 0; font-size: 16px !important; line-height: 1.6; }
.disciplinary-panel { margin-top: 25px; padding: 32px; border-radius: 24px; background: #fff8df; }
.disciplinary-heading { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 24px; }
.disciplinary-heading > span { display: grid; flex: 0 0 62px; width: 62px; height: 62px; border-radius: 18px; background: #191919; color: #f7c600; font-weight: 800; place-items: center; }
.disciplinary-heading h2 { margin-bottom: 7px; font-size: 28px; }
.disciplinary-heading p { margin: 0; }
.disciplinary-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px 20px; }
.disciplinary-grid > div { display: flex; gap: 10px; padding: 13px 15px; border-radius: 12px; background: #fff; }
.disciplinary-grid i { margin-top: 5px; color: var(--theme-color); font-size: 11px; }
.fee-rules-panel{margin-bottom:25px;padding:30px;border-radius:24px;background:linear-gradient(135deg,#301114,#160b0c);color:#fff}
.fee-rules-heading{display:flex;align-items:center;gap:17px;margin-bottom:22px}
.fee-rules-heading>span{display:grid;width:58px;height:58px;flex:0 0 58px;border-radius:16px;background:#f7c600;color:#241415;font-size:23px;place-items:center}
.fee-rules-heading small{display:block;color:#f7c600;font-size:11px;font-weight:800;letter-spacing:.12em}
.fee-rules-heading h2{margin:2px 0 0;color:#fff;font-size:28px}
.fee-rules-list{display:grid;gap:12px}
.fee-rules-list article{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:15px;padding:15px 17px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.06)}
.fee-rules-list b{display:grid;width:38px;height:38px;border-radius:11px;background:var(--theme-color);color:#fff;place-items:center}
.fee-rules-list p{margin:0;color:rgba(255,255,255,.86);font-size:15px!important;line-height:1.55}

/* School uniform and hostel items */
.uniform-page{padding:70px 0;background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)}
.uniform-page-title{max-width:800px;margin-right:auto;margin-left:auto}
.uniform-page-title p,.hostel-items-heading p{font-size:16px;line-height:1.7}
.uniform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:38px}
.uniform-card{overflow:hidden;border:1px solid #eadfd2;border-radius:24px;background:#fff;box-shadow:0 15px 38px rgba(35,18,15,.08)}
.uniform-card-heading{display:flex;align-items:center;gap:16px;padding:25px 28px;background:linear-gradient(135deg,#351316,#170b0c);color:#fff}
.uniform-card.girls .uniform-card-heading{background:linear-gradient(135deg,#d80812,#8e0007)}
.uniform-card-heading>span{display:grid;width:58px;height:58px;flex:0 0 58px;border-radius:16px;background:#f7c600;color:#1d1011;font-size:24px;place-items:center}
.uniform-card-heading small{color:#f7c600;font-size:11px;font-weight:800;letter-spacing:.12em}
.uniform-card-heading h3{margin:2px 0 0;color:#fff;font-size:25px}
.uniform-card ul,.hostel-items-card ul{display:grid;gap:0;margin:0;padding:12px 28px 25px;list-style:none}
.uniform-card li,.hostel-items-card li{display:flex;align-items:flex-start;gap:11px;padding:11px 0;border-bottom:1px solid #eee5da;color:var(--title-color);font-weight:600}
.uniform-card li:last-child,.hostel-items-card li:last-child{border-bottom:0}
.uniform-card li i,.hostel-items-card li i{margin-top:5px;color:var(--theme-color);font-size:11px}
.uniform-winter-note{display:flex;align-items:center;gap:17px;margin:24px 0 75px;padding:22px 26px;border-radius:18px;background:#fff0b2}
.uniform-winter-note>i{color:var(--theme-color);font-size:30px}
.uniform-winter-note strong{display:block;font-size:18px}
.uniform-winter-note p{margin:2px 0 0}
.hostel-items-heading{max-width:780px;margin-bottom:30px}
.hostel-items-heading .sec-title{margin:10px 0}
.hostel-items-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:25px}
.hostel-items-card{position:relative;overflow:hidden;padding:30px;border:1px solid #eadfd2;border-radius:24px;background:#fff;box-shadow:0 15px 38px rgba(35,18,15,.07)}
.hostel-items-card.winter{background:#fff9e4}
.hostel-items-icon{display:grid;width:62px;height:62px;margin-bottom:18px;border-radius:17px;background:var(--theme-color);color:#fff;font-size:25px;place-items:center}
.hostel-items-card.winter .hostel-items-icon{background:#f7c600;color:#221314}
.hostel-items-card h3{margin-bottom:4px;font-size:26px}
.hostel-items-card ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;padding:8px 0 0}
.hostel-items-card.winter ul{grid-template-columns:1fr}
.hostel-reminder{display:flex;gap:9px;margin-top:20px;padding:15px;border-radius:13px;background:#fff;color:var(--body-color);font-size:14px;line-height:1.5}
.hostel-reminder i{margin-top:4px;color:var(--theme-color)}

/* Examination and unit test schedule */
.examination-page{padding:70px 0;background:linear-gradient(180deg,#fff 0%,#fffaf1 100%)}
.examination-intro{display:grid;grid-template-columns:1fr 330px;align-items:center;gap:36px;margin-bottom:38px}
.examination-intro>div:first-child{max-width:850px}
.examination-intro .sec-title{margin:10px 0 14px}
.examination-intro p{margin:0;font-size:16px;line-height:1.7}
.examination-intro-badge{display:flex;min-height:175px;align-items:center;flex-direction:column;justify-content:center;padding:24px;border-radius:22px;background:#fff1b6;text-align:center}
.examination-intro-badge i{margin-bottom:10px;color:var(--theme-color);font-size:39px}
.examination-intro-badge strong,.examination-intro-badge span{display:block}.examination-intro-badge strong{font-size:20px}.examination-intro-badge span{max-width:230px;font-size:13px;line-height:1.45}
.examination-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.examination-card{position:relative;display:grid;grid-template-columns:58px 68px 1fr;align-items:center;gap:18px;padding:25px;border:1px solid #eadfd2;border-radius:21px;background:#fff;box-shadow:0 12px 32px rgba(38,20,14,.07)}
.examination-number{color:#c9bab4;font-size:21px;font-weight:800}
.examination-icon{display:grid;width:64px;height:64px;border-radius:17px;background:linear-gradient(145deg,var(--theme-color),#980008);color:#fff;font-size:24px;place-items:center}
.examination-copy span{color:var(--theme-color);font-size:11px;font-weight:800;letter-spacing:.1em}
.examination-copy h3{margin:4px 0 6px;font-size:22px}.examination-copy p{margin:0;color:var(--body-color);font-weight:600}.examination-copy p i{margin-right:6px;color:#f0b900}
.monthly-test-panel{display:flex;align-items:center;gap:22px;margin-top:24px;padding:30px 34px;border-radius:22px;background:linear-gradient(135deg,#311114,#170b0c);color:#fff}
.monthly-test-icon{display:grid;width:72px;height:72px;flex:0 0 72px;border-radius:19px;background:#f7c600;color:#251314;font-size:29px;place-items:center}
.monthly-test-panel span{color:#f7c600;font-size:11px;font-weight:800;letter-spacing:.12em}.monthly-test-panel h3{margin:3px 0;color:#fff;font-size:25px}.monthly-test-panel p{margin:0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.6}
.examination-note{display:flex;align-items:flex-start;gap:13px;margin-top:22px;padding:18px 21px;border:1px solid #eadfd2;border-radius:15px;background:#fff}.examination-note i{margin-top:4px;color:var(--theme-color)}.examination-note p{margin:0;font-size:14px;line-height:1.6}
.video-gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.video-gallery-card { overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 14px 35px rgba(30,20,12,.09); }
.video-gallery-thumb { position: relative; overflow: hidden; }
.video-gallery-thumb img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; filter: brightness(.78); transition: transform .4s ease; }
.video-gallery-card:hover img { transform: scale(1.05); }
.video-play-button { position: absolute; top: 50%; left: 50%; display: grid; width: 64px; height: 64px; border: 2px solid #fff; border-radius: 50%; background: rgba(216,8,18,.9); color: #fff; place-items: center; transform: translate(-50%,-50%); }
.video-gallery-thumb small { position: absolute; top: 15px; left: 15px; padding: 6px 11px; border-radius: 999px; background: #f7c600; color: #191919; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.video-gallery-copy { padding: 22px 24px; }
.video-gallery-copy h3 { margin-bottom: 6px; font-size: 21px; }
.video-gallery-copy p { margin: 0; font-size: 13px !important; }
.video-gallery-copy p i { margin-right: 5px; color: var(--theme-color); }
@media (max-width: 991px) {
    .resource-intro, .rules-intro, .video-gallery-intro { grid-template-columns: 1fr; }
    .homework-grid, .school-forms-grid, .video-gallery-grid { grid-template-columns: repeat(2,1fr); }
    .hostel-items-grid{grid-template-columns:1fr}
    .examination-intro{grid-template-columns:1fr}.examination-intro-badge{min-height:150px}
}
@media (max-width: 767px) {
    .resource-page, .video-gallery-page { padding: 42px 0; }
    .homework-grid, .school-forms-grid, .official-rules-list, .disciplinary-grid, .video-gallery-grid { grid-template-columns: 1fr; }
    .uniform-grid{grid-template-columns:1fr}.uniform-page{padding:48px 0}.uniform-winter-note{margin-bottom:50px}.hostel-items-card ul{grid-template-columns:1fr}
    .examination-page{padding:48px 0}.examination-timeline{grid-template-columns:1fr}.examination-card{grid-template-columns:46px 56px 1fr;padding:20px 16px;gap:12px}.examination-icon{width:54px;height:54px}.examination-copy h3{font-size:19px}.monthly-test-panel{align-items:flex-start;padding:24px 20px}.monthly-test-icon{width:58px;height:58px;flex-basis:58px}
    .tc-info-panel, .tc-form-card, .disciplinary-panel { padding: 26px 22px; }
    .tc-verification-form { grid-template-columns: 1fr; }
    .tc-verification-form .full { grid-column: auto; }
    .resource-guidance, .forms-help, .rules-note, .video-gallery-note { align-items: flex-start; }
}

/* Photo, video, event and media gallery pages */
.school-gallery-intro, .school-events-page, .school-media-page { padding: 55px 0 70px; }
.school-gallery-intro .title-area { max-width: 820px; margin: 0 auto 36px; }
.school-gallery-intro .title-area p, .gallery-section-head p, .gallery-title-row p, .media-intro-panel p { font-size: 16px; line-height: 1.7; }
.school-photo-grid { display: grid; grid-auto-rows: 245px; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.school-photo-card { position: relative; overflow: hidden; border-radius: 20px; color: #fff; box-shadow: 0 12px 32px rgba(25,20,15,.1); }
.school-photo-card.is-large { grid-column: span 2; grid-row: span 2; }
.school-photo-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.school-photo-shade { position: absolute; inset: 35% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.78)); }
.school-photo-card > div { position: absolute; z-index: 2; right: 20px; bottom: 17px; left: 20px; }
.school-photo-card small { color: #ffd52b; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.school-photo-card h3 { margin: 3px 0 0; color: #fff; font-size: 19px; }
.school-photo-card > i { position: absolute; z-index: 3; top: 16px; right: 16px; display: grid; width: 43px; height: 43px; border-radius: 50%; background: var(--theme-color); color: #fff; opacity: 0; place-items: center; transition: opacity .3s ease; }
.school-photo-card:hover img { transform: scale(1.06); }
.school-photo-card:hover > i { opacity: 1; }
.school-video-gallery { padding: 60px 0 70px; background: linear-gradient(135deg,#fff8df,#f3fbf9); }
.gallery-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.gallery-section-head > div { max-width: 720px; }
.gallery-section-head .sec-title { margin-bottom: 12px; }
.gallery-status { display: inline-flex; align-items: center; gap: 9px; padding: 11px 17px; border-radius: 999px; background: #fff; color: var(--theme-color); font-weight: 700; box-shadow: 0 8px 24px rgba(25,20,15,.08); }
.school-video-card { height: 100%; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 14px 38px rgba(25,20,15,.1); }
.school-video-thumb { position: relative; overflow: hidden; }
.school-video-thumb img { width: 100%; aspect-ratio: 16/10; object-fit: cover; filter: brightness(.78); }
.school-play-icon { position: absolute; top: 50%; left: 50%; display: grid; width: 65px; height: 65px; border: 2px solid #fff; border-radius: 50%; background: rgba(216,8,18,.88); color: #fff; place-items: center; transform: translate(-50%,-50%); }
.school-video-thumb small { position: absolute; top: 15px; left: 15px; padding: 5px 10px; border-radius: 999px; background: #f7c600; color: #191919; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.school-video-info { padding: 22px 24px; }
.school-video-info h3 { margin-bottom: 4px; font-size: 21px; }
.school-video-info p { margin: 0; font-size: 14px !important; }
.gallery-title-row { margin-bottom: 34px; }
.gallery-title-row .sec-title { margin-bottom: 0; }
.school-events-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.school-event-card { display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; border: 1px solid #eee5da; border-radius: 24px; background: #fff; box-shadow: 0 14px 35px rgba(30,20,12,.07); }
.school-event-card > a { min-height: 290px; overflow: hidden; }
.school-event-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.school-event-card:hover img { transform: scale(1.05); }
.school-event-content { display: flex; align-items: flex-start; flex-direction: column; justify-content: center; padding: 27px; }
.school-event-content > span { margin-bottom: 9px; color: var(--theme-color); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.school-event-content h3 { margin-bottom: 12px; font-size: 24px; }
.school-event-content p { font-size: 15px !important; line-height: 1.65; }
.school-text-link { margin-top: 6px; color: var(--theme-color); font-size: 12px; font-weight: 800; }
.school-media-page { background: #faf9f6; }
.media-intro-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; margin-bottom: 36px; padding: 38px 42px; border-radius: 26px; background: linear-gradient(120deg,#191919,#351012); color: #fff; }
.media-intro-panel .sub-title, .media-intro-panel .sec-title { color: #fff; }
.media-intro-panel .sub-title { display: flex; align-items: center; gap: 9px; }
.media-intro-panel .sec-title { margin: 10px 0 12px; }
.media-intro-panel p { max-width: 790px; margin: 0; color: rgba(255,255,255,.76); }
.media-intro-mark { display: flex; align-items: center; flex-direction: column; justify-content: center; width: 185px; height: 150px; border-radius: 22px; background: #f7c600; color: #191919; text-align: center; }
.media-intro-mark i { margin-bottom: 10px; font-size: 34px; }
.media-intro-mark strong { font-size: 17px; }
.media-intro-mark small { font-size: 11px; }
.school-media-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.school-media-card { overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 12px 32px rgba(30,20,12,.08); }
.school-media-card.lead-story { grid-column: span 2; }
.school-media-image { position: relative; overflow: hidden; }
.school-media-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform .4s ease; }
.school-media-card.lead-story .school-media-image img { aspect-ratio: 2.08/1; }
.school-media-card:hover img { transform: scale(1.05); }
.school-media-image span { position: absolute; left: 18px; bottom: 17px; padding: 6px 11px; border-radius: 999px; background: var(--theme-color); color: #fff; font-size: 11px; font-weight: 800; }
.school-media-content { padding: 23px 24px 25px; }
.school-media-content small { color: #7b6d65; font-size: 12px; }
.school-media-content small i { margin-right: 5px; color: var(--theme-color); }
.school-media-content h3 { margin: 10px 0; font-size: 22px; }
.school-media-content p { margin: 0; font-size: 15px !important; line-height: 1.65; }

/* Uniform gallery and newspaper clipping grids */
.school-photo-grid{grid-auto-rows:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.school-photo-card,.school-photo-card.is-large{grid-column:auto;grid-row:auto;aspect-ratio:4/3;border-radius:15px}
.school-media-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.school-media-card,.school-media-card.lead-story{grid-column:auto;border:1px solid #e8ded4;border-radius:10px;background:#fdfcf8;box-shadow:0 12px 28px rgba(38,27,20,.09);transform:rotate(-.25deg)}
.school-media-card:nth-child(even){transform:rotate(.25deg)}
.school-media-image{display:block;padding:9px 9px 0;background:#f5f0e8}
.school-media-image img,.school-media-card.lead-story .school-media-image img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border:1px solid #ddd3c8;filter:saturate(.92) contrast(1.02)}
.school-media-image>i{position:absolute;z-index:3;top:20px;right:20px;display:grid;width:39px;height:39px;border-radius:50%;background:#df0712;color:#fff;opacity:0;place-items:center;transition:.25s ease}.school-media-card:hover .school-media-image>i{opacity:1}
.school-media-image span{left:18px;bottom:12px}.school-media-content{padding:18px 19px 21px;border-top:1px dashed #d7c9bc}.school-media-content h3{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.25}.school-media-content p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-family:Georgia,'Times New Roman',serif;font-size:14px!important}
@media(max-width:1199px){.school-photo-grid,.school-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991px){.school-photo-grid,.school-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.school-photo-grid,.school-media-grid{grid-template-columns:1fr}.school-photo-card{aspect-ratio:4/3}.school-media-card,.school-media-card:nth-child(even){transform:none}}
@media (max-width: 991px) {
    .school-photo-grid { grid-template-columns: repeat(2,1fr); }
    .school-events-grid, .school-media-grid { grid-template-columns: 1fr 1fr; }
    .school-event-card { grid-template-columns: 1fr; }
    .school-event-card > a { min-height: 230px; }
    .media-intro-panel { grid-template-columns: 1fr; }
    .media-intro-mark { width: 100%; height: auto; padding: 22px; }
}
@media (max-width: 767px) {
    .school-gallery-intro, .school-events-page, .school-media-page, .school-video-gallery { padding: 42px 0; }
    .school-photo-grid { grid-auto-rows: 230px; grid-template-columns: 1fr; }
    .school-photo-card.is-large { grid-column: auto; grid-row: auto; }
    .gallery-section-head { align-items: flex-start; flex-direction: column; }
    .school-events-grid, .school-media-grid { grid-template-columns: 1fr; }
    .school-media-card.lead-story { grid-column: auto; }
    .school-media-card.lead-story .school-media-image img { aspect-ratio: 16/10; }
    .media-intro-panel { padding: 28px 24px; }
}

/* Individual school facility pages */
.facility-detail-hero { padding: 55px 0; }
.facility-detail-image { overflow: hidden; border: 6px solid #fff; border-radius: 28px; box-shadow: 0 20px 55px rgba(40, 28, 16, .14); }
.facility-detail-image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.facility-detail-copy { padding-left: 24px; }
.facility-detail-copy .sub-title { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px !important; }
.facility-detail-copy .sub-title i { display: grid; width: 38px; height: 38px; border-radius: 10px; background: #fff3bd; color: var(--theme-color); place-items: center; }
.facility-detail-copy .sec-title { margin: 0 0 18px !important; }
.facility-detail-copy p { margin-bottom: 16px; color: var(--body-color); font-size: 16px; line-height: 1.75; }
.facility-detail-copy .facility-lead { color: var(--title-color); font-weight: 600; }
.facility-gallery-section { padding: 0 0 60px; }
.facility-gallery-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 28px; }
.facility-gallery-heading .sub-title { margin-bottom: 8px; }
.facility-gallery-heading .sec-title { margin: 0; }
.facility-gallery-arrows { display: flex; flex: 0 0 auto; gap: 12px; }
.facility-gallery-arrows .slider-arrow { position: static; margin: 0; transform: none; }
.facility-gallery-item { position: relative; display: block; overflow: hidden; border-radius: 22px; background: #eee; box-shadow: 0 12px 32px rgba(30, 20, 14, .1); }
.facility-gallery-item::after { position: absolute; inset: 55% 0 0; content: ""; background: linear-gradient(transparent, rgba(0,0,0,.38)); opacity: 0; transition: opacity .3s ease; }
.facility-gallery-item img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .4s ease; }
.facility-gallery-item span { position: absolute; z-index: 2; right: 18px; bottom: 18px; display: grid; width: 46px; height: 46px; border-radius: 50%; background: var(--theme-color); color: #fff; opacity: 0; place-items: center; transform: translateY(8px); transition: opacity .3s ease, transform .3s ease; }
.facility-gallery-item:hover img { transform: scale(1.05); }
.facility-gallery-item:hover::after, .facility-gallery-item:hover span { opacity: 1; }
.facility-gallery-item:hover span { transform: translateY(0); }
.facility-detail-benefits { padding: 55px 0 60px; background: linear-gradient(135deg, #fff9e7 0%, #f6fbfa 55%, #fff 100%); }
.facility-detail-benefits .title-area { margin-bottom: 34px; }
.facility-detail-card { position: relative; height: 100%; min-height: 245px; padding: 30px 26px 25px; overflow: hidden; border: 1px solid rgba(216, 8, 18, .1); border-radius: 22px; background: #fff; box-shadow: 0 14px 35px rgba(38, 25, 16, .07); transition: transform .25s ease, box-shadow .25s ease; }
.facility-detail-card:hover { transform: translateY(-7px); box-shadow: 0 20px 42px rgba(38, 25, 16, .12); }
.facility-detail-card > span { display: grid; width: 62px; height: 62px; margin-bottom: 22px; border-radius: 18px; background: linear-gradient(145deg, var(--theme-color), #a60008); color: #fff; font-size: 25px; place-items: center; }
.facility-detail-card h3 { margin-bottom: 12px; font-size: 21px; }
.facility-detail-card p { margin: 0; font-size: 16px; line-height: 1.65; }
.facility-detail-note { padding: 55px 0 65px; }
.facility-note-panel { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 25px; padding: 34px 38px; border-radius: 26px; background: #191919; color: #fff; }
.facility-note-icon { display: grid; width: 78px; height: 78px; border-radius: 20px; background: #f7c600; color: #191919; font-size: 31px; place-items: center; }
.facility-note-panel span { color: #f7c600; font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.facility-note-panel h2 { margin: 5px 0 7px; color: #fff; font-size: 28px; }
.facility-note-panel p { max-width: 760px; margin: 0; color: rgba(255,255,255,.78); font-size: 16px; line-height: 1.65; }
@media (max-width: 991px) {
    .facility-detail-copy { padding-left: 0; }
    .facility-note-panel { grid-template-columns: auto 1fr; }
    .facility-note-panel .th-btn { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 767px) {
    .facility-detail-hero, .facility-detail-benefits, .facility-detail-note { padding: 42px 0; }
    .facility-gallery-section { padding: 0 0 42px; }
    .facility-gallery-heading { align-items: flex-start; flex-direction: column; }
    .facility-detail-card { min-height: 0; }
    .facility-note-panel { grid-template-columns: 1fr; padding: 28px 24px; }
    .facility-note-panel .th-btn { grid-column: auto; }
}

.inner-page #smooth-content section p {
    font-size: 16px !important;
}

.header-logo {
    padding-top: 5px;
    padding-bottom: 1px;
}

.header-layout1 .main-menu > ul > li > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.header-layout1 .main-menu > ul > li > a .nav-menu-icon {
    color: var(--theme-color);
    font-size: 15px;
    transition: color .2s ease, transform .2s ease;
}

.header-layout1 .main-menu > ul > li > a:hover .nav-menu-icon,
.header-layout1 .main-menu > ul > li.active > a .nav-menu-icon {
    color: var(--theme-color);
    transform: translateY(-1px);
}

.header-layout1 .main-menu > ul > li > a.nav-home-link {
    width: 42px;
    height: 42px;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(216, 8, 18, .12);
    border-radius: 50%;
    background: #fff6d8;
    color: var(--theme-color);
    font-size: 18px;
}

.header-layout1 .main-menu > ul > li > a.nav-home-link:hover,
.header-layout1 .main-menu > ul > li.active > a.nav-home-link {
    border-color: var(--theme-color);
    background: var(--theme-color);
    color: #fff;
}

.th-mobile-menu > ul > li > a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 48px;
    padding: 11px 36px 11px 0;
    line-height: 1.35;
}

.th-mobile-menu > ul > li > a::before,
.th-mobile-menu > ul > li.menu-item-has-children > a::after {
    display: none;
}

.th-mobile-menu > ul > li > a .nav-menu-icon {
    flex: 0 0 21px;
    width: 21px;
    color: var(--theme-color);
    font-size: 15px;
    text-align: center;
}

.th-mobile-menu > ul > li.menu-item-has-children > a .th-mean-expand {
    right: 0;
    margin-top: -13px;
    width: 26px;
    height: 26px;
    line-height: 26px;
}

.th-mobile-menu > ul > li > ul > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 14px;
}

.th-mobile-menu > ul > li > a.nav-home-link {
    width: 42px;
    height: 42px;
    min-height: 42px;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
    background: #fff6d8;
    color: var(--theme-color);
    font-size: 18px;
}

/* Soft school-brand surface for the header after it becomes sticky. */
.header-layout1 .sticky-wrapper.sticky {
    background: #fff8e8 !important;
    border-bottom: 1px solid rgba(216, 8, 18, 0.10);
    box-shadow: 0 8px 28px rgba(53, 25, 12, 0.10);
    filter: none;
}

/* Show the complete 1920x450 breadcrumb artwork without cropping. */
.breadcumb-wrapper {
    display: flex;
    align-items: center;
    width: 100%;
    /* The shared header sits outside ScrollSmoother's content layer. Keep the
       breadcrumb below it instead of allowing its top half to be covered. */
    margin-top: 150px;
    aspect-ratio: 1920 / 450;
    min-height: 0;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
}

.breadcumb-wrapper > .container,
.breadcumb-wrapper > .container > .row {
    width: 100%;
    height: 100%;
}

.breadcumb-wrapper > .container {
    display: flex;
    align-items: center;
}

.breadcumb-wrapper > .container > .row {
    align-items: center;
}

.breadcumb-wrapper .breadcumb-content {
    padding: 0 !important;
}

.breadcumb-menu li::after {
    content: "\f101";
    margin-right: 7px;
    margin-left: 9px;
    color: var(--theme-color);
    font-family: var(--icon-font);
    font-size: 13px;
    font-weight: 400;
}

.breadcumb-menu a[href="index.php"] {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 0 !important;
    line-height: 1;
    vertical-align: middle;
}

.breadcumb-menu a[href="index.php"]::before {
    content: "\f015";
    font-family: var(--icon-font);
    font-size: 17px;
    font-weight: 400;
}

@media (max-width: 767px) {
    .breadcumb-wrapper {
        margin-top: 126px;
        aspect-ratio: auto;
        min-height: 250px;
        background-color: #fff8e1;
        background-size: contain !important;
    }
}

/* About page: one clean campus image beside the existing content. */
.about-single-image {
    overflow: hidden;
    width: 100%;
    border-radius: 28px;
    box-shadow: 0 18px 45px rgba(30, 30, 30, .13);
}

.about-single-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
}

.about-image-tagline {
    margin: 18px 8px 0;
    color: var(--title-color);
    font-size: 20px;
    font-weight: 600;
    font-style: italic;
    line-height: 1.5;
    text-align: center;
}

#about-sec .sec-title {
    font-size: 40px;
    line-height: 1.12;
}

/* Keep the transition below the About block compact. */
#about-sec + .space-top {
    padding-top: 50px !important;
}

/* About page educational approach: balanced spacing between major sections. */
.school-approach-section {
    padding-top: 60px;
    padding-bottom: 60px;
}

.school-approach-section .title-area {
    margin-bottom: 38px;
}

.school-approach-section .feature-card {
    height: 100%;
}

@media (max-width: 767px) {
    .about-single-image { border-radius: 20px; }
    .about-image-tagline {
        margin-top: 14px;
        font-size: 17px;
    }
    #about-sec .sec-title {
        font-size: 30px;
        line-height: 1.18;
    }

    .school-approach-section {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .school-approach-section .title-area {
        margin-bottom: 28px;
    }
}

/* Campus gallery */
.mission-vision-section {
    padding: 65px 0;
    background: linear-gradient(135deg, #fffdf6 0%, #fff 45%, #fff6f6 100%);
}

.mission-vision-section .title-area {
    max-width: 850px;
    margin: 0 auto 42px;
}

.mission-vision-section .sec-title {
    font-size: 44px;
    line-height: 1.15;
}

.mission-vision-card {
    position: relative;
    height: 100%;
    min-height: 335px;
    padding: 45px 42px;
    overflow: hidden;
    border: 1px solid rgba(227, 6, 19, .12);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(31, 31, 31, .08);
    transition: transform .3s ease, box-shadow .3s ease;
}

.mission-vision-card::after {
    position: absolute;
    right: -60px;
    bottom: -70px;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: rgba(227, 6, 19, .055);
    content: "";
}

.mission-vision-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(31, 31, 31, .13);
}

.mission-vision-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin-bottom: 25px;
    border-radius: 20px;
    background: var(--theme-color);
    color: #fff;
    font-size: 31px;
}

.vision-card .mission-vision-icon {
    background: #ffc400;
    color: #1f1f1f;
}

.mission-vision-label {
    display: block;
    margin-bottom: 7px;
    color: var(--theme-color);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.mission-vision-card h3 {
    margin-bottom: 16px;
    font-size: 34px;
}

.mission-vision-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--body-color);
    font-size: 18px;
    line-height: 1.75;
}

@media (max-width: 767px) {
    .mission-vision-section { padding: 45px 0; }
    .mission-vision-section .title-area { margin-bottom: 30px; }
    .mission-vision-section .sec-title { font-size: 32px; }
    .mission-vision-card {
        min-height: 0;
        padding: 32px 26px;
        border-radius: 22px;
    }
    .mission-vision-card h3 { font-size: 28px; }
    .mission-vision-card p { font-size: 16px; }
}

/* Campus gallery */
.leadership-message-section {
    padding: 65px 0;
    background: linear-gradient(135deg, #fff 0%, #fffdf4 55%, #fff7f7 100%);
}

.leadership-message-wrap {
    padding: 38px;
    border: 1px solid rgba(227, 6, 19, .1);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(30, 30, 30, .08);
}

.leadership-portrait {
    overflow: hidden;
    border-radius: 24px;
    background: #f7f7f7;
}

.leadership-portrait img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.leadership-identity {
    position: relative;
    width: calc(100% - 36px);
    margin: -42px auto 0;
    padding: 20px 25px;
    border-radius: 18px;
    background: var(--theme-color);
    color: #fff;
    text-align: center;
    box-shadow: 0 12px 30px rgba(227, 6, 19, .22);
}

.leadership-identity h3,
.leadership-identity p {
    margin: 0;
    color: #fff;
}

.leadership-identity h3 { font-size: 25px; }
.leadership-identity p { margin-top: 3px; font-size: 15px; }

.leadership-copy .page-title {
    margin: 12px 0 18px;
    font-size: 43px;
}

.leadership-copy blockquote {
    margin: 0 0 24px;
    padding: 20px 24px;
    border-left: 5px solid #ffc400;
    border-radius: 0 14px 14px 0;
    background: #fff9df;
    color: var(--title-color);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.55;
}

.leadership-copy blockquote::before {
    content: none;
}

.leadership-copy .page-text {
    margin-bottom: 16px;
    font-size: 17px;
    line-height: 1.75;
}

.leadership-signoff {
    display: flex;
    flex-direction: column;
    margin-top: 26px;
    padding-top: 20px;
    border-top: 1px solid #ececec;
}

.leadership-signoff strong { color: var(--theme-color); font-size: 20px; }
.leadership-signoff span { margin-top: 3px; color: var(--body-color); }

@media (max-width: 767px) {
    .leadership-message-section { padding: 45px 0; }
    .leadership-message-wrap { padding: 22px; border-radius: 22px; }
    .leadership-copy .page-title { font-size: 34px; }
    .leadership-copy blockquote { font-size: 17px; }
    .leadership-copy .page-text { font-size: 16px; }
}

/* Campus gallery */
.academic-programmes-section {
    padding: 65px 0;
    background: linear-gradient(140deg, #fffdf5 0%, #fff 48%, #fff5f5 100%);
}

.academic-programmes-intro {
    max-width: 900px;
    margin: 0 auto 44px;
}

.academic-programmes-intro .sec-title {
    margin-bottom: 16px;
    font-size: 46px;
}

.academic-programmes-intro > p {
    margin: 0 auto;
    color: var(--body-color);
    font-size: 18px;
    line-height: 1.7;
}

.academic-programme-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
}

.academic-programme-card {
    position: relative;
    grid-column: span 2;
    min-height: 100%;
    padding: 34px 30px;
    overflow: hidden;
    border: 1px solid rgba(227, 6, 19, .1);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(30, 30, 30, .07);
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.academic-programme-card:nth-child(4) { grid-column: 2 / span 2; }
.academic-programme-card:nth-child(5) { grid-column: 4 / span 2; }

.academic-programme-card:hover {
    transform: translateY(-7px);
    border-color: rgba(227, 6, 19, .35);
    box-shadow: 0 22px 50px rgba(30, 30, 30, .12);
}

.academic-programme-number {
    position: absolute;
    top: 22px;
    right: 25px;
    color: rgba(227, 6, 19, .09);
    font-size: 62px;
    font-weight: 800;
    line-height: 1;
}

.academic-programme-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    margin-bottom: 24px;
    border-radius: 18px;
    background: var(--theme-color);
    color: #fff;
    font-size: 27px;
}

.academic-programme-card:nth-child(even) .academic-programme-icon {
    background: #ffc400;
    color: #1f1f1f;
}

.academic-programme-classes {
    color: var(--theme-color);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.academic-programme-card h3 {
    margin: 7px 0 13px;
    font-size: 27px;
}

.academic-programme-card p {
    min-height: 104px;
    margin-bottom: 20px;
    color: var(--body-color);
    font-size: 16px;
    line-height: 1.65;
}

.academic-programme-card ul { margin: 0; padding: 18px 0 0; border-top: 1px solid #eee; list-style: none; }
.academic-programme-card li { display: flex; gap: 9px; margin-top: 9px; color: var(--title-color); font-size: 15px; }
.academic-programme-card li i { margin-top: 4px; color: var(--theme-color); }

.academic-pillars-section { padding: 60px 0; background: #f8f9fa; }
.academic-pillars-section .sec-title { margin-bottom: 18px; font-size: 42px; }
.academic-pillars-section p { font-size: 17px; line-height: 1.7; }
.academic-pillar-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.academic-pillar-list div { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(30,30,30,.05); font-weight: 600; }
.academic-pillar-list i { color: var(--theme-color); font-size: 22px; }

.academic-programme-cta { padding: 50px 0; }
.academic-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px 45px; border-radius: 25px; background: linear-gradient(110deg, #d90412, #a6000a); color: #fff; }
.academic-cta-inner span { font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.academic-cta-inner h2 { max-width: 720px; margin: 8px 0 0; color: #fff; font-size: 36px; }
.academic-cta-inner .th-btn { flex: none; background: #ffc400; color: #1f1f1f; }

.campus-page-intro { padding: 65px 0; }
.campus-page-feature { overflow: hidden; border-radius: 28px; box-shadow: 0 18px 48px rgba(30,30,30,.12); }
.campus-page-feature img { display: block; width: 100%; height: auto; }
.campus-page-intro .sec-title { margin-bottom: 18px; font-size: 44px; }
.campus-page-intro p { font-size: 17px; line-height: 1.75; }
.campus-highlight-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 25px; }
.campus-highlight-list span,
.campus-highlight-list a { display: flex; align-items: center; gap: 10px; min-height: 62px; padding: 12px 14px; border: 1px solid rgba(227,6,19,.08); border-radius: 12px; background: #fff7dc; color: var(--title-color); font-size: 15px; font-weight: 600; line-height: 1.3; transition: transform .25s ease, background-color .25s ease, color .25s ease; }
.campus-highlight-list span:hover,
.campus-highlight-list a:hover { transform: translateY(-3px); background: #fff0bd; color: var(--theme-color); }
.campus-highlight-list i { flex: 0 0 23px; width: 23px; color: var(--theme-color); font-size: 18px; text-align: center; }

.campus-page-gallery { padding: 60px 0 70px; background: linear-gradient(135deg, #f5fbf9, #fff8ea); }
.campus-page-gallery .title-area { margin-bottom: 38px; }
.campus-masonry-grid { display: grid; grid-auto-rows: 250px; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.campus-page-card { position: relative; overflow: hidden; border-radius: 22px; color: #fff; box-shadow: 0 14px 35px rgba(30,30,30,.11); }
.campus-page-card-tall { grid-row: span 2; }
.campus-page-card::after { position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.78)); content: ""; }
.campus-page-card img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .45s ease; }
.campus-page-card span { position: absolute; z-index: 2; right: 22px; bottom: 20px; left: 22px; color: #fff; font-size: 20px; font-weight: 700; }
.campus-page-card > i { position: absolute; z-index: 3; top: 18px; right: 18px; display: grid; width: 43px; height: 43px; border-radius: 50%; background: var(--theme-color); color: #fff; opacity: 0; place-items: center; transition: opacity .3s ease; }
.campus-page-card:hover img { transform: scale(1.06); }
.campus-page-card:hover > i { opacity: 1; }

/* Management committee */
.management-committee-section { padding: 72px 0; background: linear-gradient(135deg, #fff 0%, #fff9ed 100%); }
.management-committee-section .title-area { max-width: 780px; margin-right: auto; margin-left: auto; }
.management-committee-section .title-area p { margin: 0; font-size: 17px; line-height: 1.7; }
.management-table-wrap { overflow-x: auto; border: 1px solid #eadfd7; border-radius: 22px; background: #fff; box-shadow: 0 20px 50px rgba(42,23,16,.09); }
.management-table { width: 100%; border-collapse: collapse; }
.management-table th { padding: 19px 24px; background: #351317; color: #fff; font-size: 16px; text-align: left; }
.management-table th:first-child, .management-table td:first-child { width: 110px; text-align: center; }
.management-table td { padding: 18px 24px; border-bottom: 1px solid #eee4dc; color: var(--body-color); font-size: 16px; }
.management-table tbody tr:last-child td { border-bottom: 0; }
.management-table tbody tr:nth-child(even) { background: #fffaf0; }
.management-table td strong { color: var(--title-color); }
.management-table .management-empty { padding: 42px 20px; color: #7e736d; text-align: center; }

@media (max-width: 991px) {
    .management-committee-section { padding: 60px 0; }
}

@media (max-width: 767px) {
    .management-committee-section { padding: 45px 0; }
    .management-committee-section .title-area { margin-bottom: 28px; }
    .management-table th, .management-table td { padding: 14px 16px; font-size: 14px; }
    .management-table th:first-child, .management-table td:first-child { width: 78px; }
}

/* Shared campus location map */
.school-map-section { padding: 70px 0; background: #fff; }
.campus-map-section { background: linear-gradient(135deg, #fff 0%, #fff9ed 100%); }
.contact-map-block { margin-top: 42px; }
.school-map-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.school-map-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 8px; color: var(--theme-color); font-size: 14px; font-weight: 800; letter-spacing: .1em; }
.school-map-kicker i { font-size: 17px; }
.school-map-heading h2 { margin: 0 0 6px; font-size: 38px; line-height: 1.2; }
.school-map-heading p { margin: 0; color: var(--body-color); font-size: 16px; }
.school-map-frame { overflow: hidden; border: 1px solid #eadfd7; border-radius: 24px; background: #fff; box-shadow: 0 20px 50px rgba(42,23,16,.12); }
.school-map-frame iframe { display: block; width: 100%; height: 450px; border: 0; }

@media (max-width: 991px) {
    .academic-programme-grid { grid-template-columns: repeat(2, 1fr); }
    .academic-programme-card,
    .academic-programme-card:nth-child(4),
    .academic-programme-card:nth-child(5) { grid-column: auto; }
    .academic-programme-card:last-child { grid-column: 1 / -1; }
    .academic-cta-inner { align-items: flex-start; flex-direction: column; }
    .campus-masonry-grid { grid-template-columns: repeat(2, 1fr); }
    .campus-highlight-list { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .header-layout1 .header-top { display: none !important; min-height: 0 !important; padding: 0 !important; }
    .academic-programmes-section,
    .campus-page-intro { padding: 45px 0; }
    .academic-programmes-intro .sec-title,
    .campus-page-intro .sec-title { font-size: 32px; }
    .academic-programme-grid,
    .academic-pillar-list,
    .campus-highlight-list { grid-template-columns: 1fr; }
    .academic-programme-card:last-child { grid-column: auto; }
    .academic-programme-card p { min-height: 0; }
    .academic-cta-inner { padding: 30px 25px; }
    .academic-cta-inner h2 { font-size: 28px; }
    .campus-page-gallery { padding: 45px 0; }
    .campus-masonry-grid { grid-auto-rows: 230px; grid-template-columns: 1fr; }
    .campus-page-card-tall { grid-row: span 1; }
    .school-map-section { padding: 48px 0; }
    .school-map-heading { align-items: flex-start; flex-direction: column; margin-bottom: 18px; }
    .school-map-heading h2 { font-size: 30px; }
    .school-map-frame { border-radius: 18px; }
    .school-map-frame iframe { height: 340px; }
}

/* Campus gallery */
.curriculum-intro-section,
.teaching-intro-section { padding: 60px 0; }
.curriculum-intro-image {
    position: relative;
    overflow: visible;
    padding: 12px;
    border: 2px solid rgba(227, 6, 19, .14);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(30,30,30,.11);
}
.curriculum-intro-image::before {
    position: absolute;
    z-index: -1;
    right: -18px;
    bottom: -18px;
    width: 58%;
    height: 42%;
    border-radius: 24px;
    background: #ffc400;
    content: "";
}
.curriculum-intro-image img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    border-radius: 20px;
    object-fit: cover;
    object-position: center;
}
.curriculum-intro-section .sec-title { margin-bottom: 18px; }
.curriculum-intro-section p { margin-bottom: 14px; line-height: 1.75; }
.curriculum-focus-points { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 24px; }
.curriculum-focus-points span { display: flex; align-items: center; gap: 9px; padding: 12px 14px; border-radius: 11px; background: #fff6d9; color: var(--title-color); font-weight: 600; }
.curriculum-focus-points i { color: var(--theme-color); }

.curriculum-areas-section,
.teaching-methods-section { padding: 60px 0; background: linear-gradient(135deg, #fff9e8, #fff 52%, #fff3f4); }
.curriculum-areas-section .title-area,
.teaching-methods-section .title-area { margin-bottom: 38px; }
.curriculum-area-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.curriculum-area-card { padding: 28px 24px; border: 1px solid rgba(227,6,19,.1); border-radius: 20px; background: #fff; box-shadow: 0 12px 32px rgba(30,30,30,.06); transition: transform .3s ease, box-shadow .3s ease; }
.curriculum-area-card:hover { transform: translateY(-6px); box-shadow: 0 20px 42px rgba(30,30,30,.11); }
.curriculum-area-icon,
.teaching-method-icon { display: grid; width: 60px; height: 60px; margin-bottom: 20px; border-radius: 17px; background: var(--theme-color); color: #fff; font-size: 24px; place-items: center; }
.curriculum-area-card:nth-child(even) .curriculum-area-icon,
.teaching-method-card:nth-child(even) .teaching-method-icon { background: #ffc400; color: #1f1f1f; }
.curriculum-area-card h3,
.teaching-method-card h3 { margin-bottom: 10px; font-size: 22px; }
.curriculum-area-card p,
.teaching-method-card p { margin: 0; line-height: 1.6; }

.curriculum-stages-section { padding: 60px 0; }
.curriculum-stages-section .title-area { margin-bottom: 38px; }
.curriculum-stage-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.curriculum-stage-card { position: relative; padding: 30px 25px; overflow: hidden; border-radius: 20px; background: #1f1f1f; color: #fff; }
.curriculum-stage-card:nth-child(even) { background: var(--theme-color); }
.curriculum-stage-number { position: absolute; top: 16px; right: 18px; color: rgba(255,255,255,.14); font-size: 55px; font-weight: 800; }
.curriculum-stage-card small { color: #ffc400; font-size: 14px; font-weight: 700; text-transform: uppercase; }
.curriculum-stage-card h3 { margin: 12px 0; color: #fff; font-size: 24px; }
.curriculum-stage-card p { margin: 0; color: rgba(255,255,255,.82); line-height: 1.6; }

.teaching-intro-panel { display: grid; grid-template-columns: 1.45fr .75fr; gap: 45px; align-items: center; padding: 42px; border: 1px solid rgba(227,6,19,.1); border-radius: 28px; background: #fff; box-shadow: 0 16px 45px rgba(30,30,30,.07); }
.teaching-intro-panel .sec-title { margin-bottom: 17px; }
.teaching-intro-panel > div > p { margin: 0; line-height: 1.75; }
.teaching-intro-quote { padding: 28px; border-radius: 20px; background: var(--theme-color); color: #fff; }
.teaching-intro-quote i { margin-bottom: 15px; color: #ffc400; font-size: 32px; }
.teaching-intro-quote p { margin: 0; color: #fff; font-size: 19px !important; font-weight: 600; line-height: 1.55; }
.teaching-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.teaching-method-card { min-height: 245px; padding: 28px 25px; border-radius: 20px; background: #fff; box-shadow: 0 12px 32px rgba(30,30,30,.07); }

.assessment-cycle-section { padding: 60px 0; }
.assessment-cycle-section .sec-title { margin-bottom: 16px; }
.assessment-cycle-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.assessment-cycle-grid article { position: relative; padding: 25px 23px 23px 72px; border-radius: 17px; background: #f8f9fa; }
.assessment-cycle-grid article > span { position: absolute; top: 24px; left: 22px; display: grid; width: 36px; height: 36px; border-radius: 50%; background: var(--theme-color); color: #fff; font-weight: 700; place-items: center; }
.assessment-cycle-grid h3 { margin: 0 0 7px; font-size: 21px; }
.assessment-cycle-grid p { margin: 0; line-height: 1.55; }

@media (max-width: 991px) {
    .curriculum-area-grid,
    .curriculum-stage-grid { grid-template-columns: repeat(2, 1fr); }
    .teaching-intro-panel { grid-template-columns: 1fr; }
    .teaching-method-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .curriculum-intro-section,
    .curriculum-areas-section,
    .curriculum-stages-section,
    .teaching-intro-section,
    .teaching-methods-section,
    .assessment-cycle-section { padding: 45px 0; }
    .curriculum-area-grid,
    .curriculum-stage-grid,
    .teaching-method-grid,
    .assessment-cycle-grid,
    .curriculum-focus-points { grid-template-columns: 1fr; }
    .teaching-intro-panel { gap: 25px; padding: 25px; border-radius: 20px; }
    .teaching-method-card { min-height: 0; }
}

/* Campus gallery */
.admission-welcome-section { padding: 60px 0; }
.admission-welcome-panel { display: grid; grid-template-columns: 1.15fr .85fr; overflow: hidden; border: 1px solid rgba(227,6,19,.1); border-radius: 30px; background: #fff; box-shadow: 0 18px 50px rgba(30,30,30,.09); }
.admission-welcome-copy { padding: 45px; }
.admission-open-badge { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 24px; padding: 9px 15px; border-radius: 30px; background: #fff1c3; color: #8c6000; font-size: 14px; font-weight: 700; }
.admission-welcome-copy .sec-title { margin-bottom: 18px; }
.admission-welcome-copy > p { margin-bottom: 13px; line-height: 1.72; }
.admission-eligibility-note { display: flex; gap: 12px; margin-top: 20px; padding: 16px 18px; border-left: 4px solid var(--theme-color); border-radius: 0 13px 13px 0; background: #fff7da; color: var(--title-color); font-size: 15px; line-height: 1.55; }
.admission-eligibility-note > i { margin-top: 4px; color: var(--theme-color); font-size: 19px; }
.admission-welcome-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 27px; }
.admission-call-link { display: flex; align-items: center; gap: 11px; color: var(--title-color); }
.admission-call-link > i { display: grid; width: 45px; height: 45px; border-radius: 50%; background: var(--theme-color); color: #fff; place-items: center; }
.admission-call-link span { display: flex; flex-direction: column; font-size: 13px; }
.admission-call-link strong { margin-top: 2px; font-size: 16px; }
.admission-welcome-image { position: relative; min-height: 100%; }
.admission-welcome-image > img { width: 100%; height: 100%; object-fit: cover; }
.admission-welcome-image > div { position: absolute; right: 22px; bottom: 22px; display: flex; flex-direction: column; padding: 17px 22px; border-radius: 15px; background: rgba(255,255,255,.94); box-shadow: 0 10px 28px rgba(0,0,0,.14); }
.admission-welcome-image strong { color: var(--theme-color); font-size: 14px; text-transform: uppercase; }
.admission-welcome-image span { margin-top: 2px; color: var(--title-color); font-size: 20px; font-weight: 700; }

.admission-process-section { padding: 60px 0; background: linear-gradient(135deg, #fff9e7, #fff 50%, #fff3f4); }
.admission-process-section .title-area { max-width: 800px; margin: 0 auto 40px; }
.admission-process-section .title-area > p { margin: 0; }
.admission-process-grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 18px; }
.admission-process-card { position: relative; grid-column: span 2; min-height: 270px; padding: 28px 22px; overflow: hidden; border: 1px solid rgba(227,6,19,.1); border-radius: 21px; background: #fff; box-shadow: 0 12px 32px rgba(30,30,30,.06); transition: transform .3s ease, box-shadow .3s ease; }
.admission-process-card:hover { transform: translateY(-6px); box-shadow: 0 20px 42px rgba(30,30,30,.11); }
.admission-step-number { position: absolute; top: 18px; right: 18px; color: rgba(227,6,19,.1); font-size: 50px; font-weight: 800; line-height: 1; }
.admission-step-icon { display: grid; width: 58px; height: 58px; margin-bottom: 22px; border-radius: 17px; background: var(--theme-color); color: #fff; font-size: 23px; place-items: center; }
.admission-process-card:nth-child(even) .admission-step-icon { background: #ffc400; color: #1f1f1f; }
.admission-process-card h3 { margin-bottom: 10px; font-size: 21px; }
.admission-process-card p { margin: 0; line-height: 1.6; }

.admission-information-section { padding: 60px 0; }
.admission-info-card,
.admission-hostel-card { height: 100%; padding: 38px; border-radius: 25px; }
.admission-info-card { border: 1px solid #eee; background: #fff; box-shadow: 0 14px 38px rgba(30,30,30,.07); }
.admission-info-card .sec-title { margin-bottom: 14px; }
.admission-info-card > p { line-height: 1.7; }
.admission-document-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px 20px; margin: 25px 0 0; padding: 22px 0 0; border-top: 1px solid #eee; list-style: none; }
.admission-document-list li { display: flex; gap: 9px; color: var(--title-color); font-size: 15px; line-height: 1.45; }
.admission-document-list i { margin-top: 4px; color: var(--theme-color); }
.admission-hostel-card { background: linear-gradient(145deg, #1f1f1f, #380004); color: #fff; }
.admission-hostel-icon { display: grid; width: 67px; height: 67px; margin-bottom: 24px; border-radius: 19px; background: #ffc400; color: #1f1f1f; font-size: 27px; place-items: center; }
.admission-hostel-card > span { color: #ffc400; font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.admission-hostel-card h2 { margin: 9px 0 15px; color: #fff; font-size: 35px; }
.admission-hostel-card p { color: rgba(255,255,255,.8); line-height: 1.7; }
.admission-hostel-card .th-btn { margin-top: 13px; }

.admission-help-section { padding: 0 0 60px; }
.admission-help-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 38px 42px; border-radius: 24px; background: var(--theme-color); color: #fff; }
.admission-help-inner span { font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.admission-help-inner h2 { margin: 7px 0; color: #fff; font-size: 32px; }
.admission-help-inner p { max-width: 800px; margin: 0; color: rgba(255,255,255,.84); }
.admission-help-actions { display: flex; flex: none; flex-direction: column; align-items: center; gap: 12px; }
.admission-help-actions .th-btn { border: 2px solid #ffc400; background: #ffc400; color: #1f1f1f; box-shadow: 0 10px 24px rgba(30,0,0,.18); }
.admission-help-actions .th-btn::after { background: #ffc400; }
.admission-help-actions .th-btn:hover { border-color: #fff; background: #fff; color: #b00009; }
.admission-help-actions .th-btn:hover::after { background: #fff; }
.academic-cta-inner .th-btn::after,.facility-note-panel .th-btn::after { background: #ffc400; }
.academic-cta-inner .th-btn:hover,.facility-note-panel .th-btn:hover { background: #fff; color: #b00009; }
.admin-contact-message { display: block; min-width: 260px; max-width: 430px; color: #5f5752; font-size: 12px; line-height: 1.55; }

/* Keep all administration screens comfortably readable. */
.admin-dashboard-main p,
.admin-dashboard-main label,
.admin-dashboard-main input,
.admin-dashboard-main select,
.admin-dashboard-main textarea,
.admin-dashboard-main table,
.admin-dashboard-main th,
.admin-dashboard-main td,
.admin-dashboard-main small,
.admin-dashboard-main .admin-view-public,
.admin-dashboard-main .admin-section-title span,
.admin-dashboard-main .admin-stat-grid span,
.admin-dashboard-main .admin-stat-grid small,
.admin-dashboard-main .admin-card-heading p,
.admin-dashboard-main .admin-empty-state span,
.admin-dashboard-main .admin-module-grid span,
.admin-dashboard-main .admin-module-grid p,
.admin-dashboard-main .admin-recent-list small,
.admin-dashboard-main .admin-notice-row span,
.admin-dashboard-main .admin-notice-row small,
.admin-dashboard-main .admin-media-admin-row span,
.admin-dashboard-main .admin-media-admin-row small,
.admin-dashboard-main .admin-disclosure-copy span,
.admin-dashboard-main .admin-disclosure-copy small,
.admin-dashboard-main .admin-contact-message,
.admin-dashboard-main button { font-size: 14px; }
.admin-dashboard-main p,
.admin-dashboard-main .admin-card-heading p,
.admin-dashboard-main .admin-module-grid p,
.admin-dashboard-main .admin-contact-message { line-height: 1.55; }

/* Contact page: balanced information and enquiry columns */
.contact-split-section { padding-top:80px !important; padding-bottom:80px !important; background: linear-gradient(135deg,#fff 0%,#fff9ed 100%); }
.contact-split-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); overflow:hidden; border:1px solid #eadfd7; border-radius:28px; background:#fff; box-shadow:0 24px 65px rgba(42,23,16,.10); }
.contact-info-panel { position:relative; padding:52px; color:#fff; background:linear-gradient(145deg,rgba(47,6,11,.96),rgba(197,0,18,.92)),url('../../images/campus/image.png') center/cover; }
.contact-info-panel:after { content:""; position:absolute; right:-85px; bottom:-105px; width:250px; height:250px; border:34px solid rgba(255,193,7,.18); border-radius:50%; }
.contact-eyebrow { display:block; margin-bottom:10px; color:var(--theme-color); font-size:14px; font-weight:800; letter-spacing:.12em; }
.contact-info-panel .contact-eyebrow { color:#ffd34e; }
.contact-info-panel h2 { margin-bottom:14px; color:#fff; font-size:40px; }
.contact-info-panel > p { max-width:540px; margin-bottom:30px; color:rgba(255,255,255,.82); font-size:16px; line-height:1.75; }
.contact-info-list { display:grid; gap:12px; }
.contact-info-list > a,.contact-info-list > div { display:flex; align-items:center; gap:16px; padding:15px 17px; border:1px solid rgba(255,255,255,.14); border-radius:15px; color:#fff; background:rgba(255,255,255,.07); transition:.25s ease; }
.contact-info-list > a:hover { border-color:rgba(255,211,78,.6); background:rgba(255,255,255,.12); }
.contact-info-list i { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:12px; color:#5b1116; background:#ffd34e; font-size:18px; }
.contact-info-list span { min-width:0; }
.contact-info-list small,.contact-info-list strong { display:block; }
.contact-info-list small { margin-bottom:2px; color:rgba(255,255,255,.66); font-size:13px; }
.contact-info-list strong { color:#fff; font-size:15px; line-height:1.4; }
.contact-affiliation { position:relative; z-index:1; display:flex; align-items:center; gap:10px; margin-top:25px; padding-top:22px; border-top:1px solid rgba(255,255,255,.16); }
.contact-affiliation i { color:#ffd34e; font-size:22px; }.contact-affiliation span{color:rgba(255,255,255,.72)}.contact-affiliation strong{color:#fff}
.contact-split-grid .contact-page-form-wrap { padding:46px 50px; }
.contact-split-grid .contact-page-form { padding:0; box-shadow:none; border:0; }
.contact-split-grid .form-title { margin-bottom:8px; font-size:34px; }
.contact-split-grid .form-control { min-height:58px; }
.contact-split-grid textarea.form-control { min-height:135px; }
.contact-split-grid .th-btn { width:100%; justify-content:center; }
.contact-location-banner { display:flex; align-items:center; gap:18px; margin-top:42px; padding:24px 30px; border-radius:20px; color:#fff; background:linear-gradient(120deg,#3b080d,#b90716); box-shadow:0 18px 42px rgba(75,12,18,.16); }
.contact-location-banner > i { display:grid; flex:0 0 54px; width:54px; height:54px; place-items:center; border-radius:15px; color:#5b1116; background:#ffd34e; font-size:23px; }
.contact-location-banner div { flex:1; }.contact-location-banner span,.contact-location-banner strong{display:block}.contact-location-banner span{margin-bottom:3px;color:#ffd34e;font-size:12px;font-weight:800;letter-spacing:.12em}.contact-location-banner strong{color:#fff;font-size:17px}
.contact-location-banner a { padding:13px 19px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#fff; font-size:13px; font-weight:800; }.contact-location-banner a:hover{color:#541017;background:#fff}
@media(max-width:991px){.contact-split-grid{grid-template-columns:1fr}.contact-info-panel,.contact-split-grid .contact-page-form-wrap{padding:38px}.contact-info-panel h2{font-size:34px}}
@media(max-width:575px){.contact-split-section{padding-top:55px !important;padding-bottom:55px !important}.contact-info-panel,.contact-split-grid .contact-page-form-wrap{padding:28px 22px}.contact-info-panel h2{font-size:30px}.contact-split-grid .form-title{font-size:29px}.contact-info-list strong{font-size:14px}.contact-location-banner{align-items:flex-start;flex-wrap:wrap;padding:22px}.contact-location-banner a{width:100%;text-align:center}}
.admin-dashboard-main .admin-dashboard-header > div:first-child > span,
.admin-dashboard-main .admin-eyebrow { font-size: 12px; }
.admin-dashboard-main .admin-stat-grid strong { font-size: 24px; }
.admission-help-actions > a:last-child { color: #fff; font-size: 14px; }
.admission-help-actions > a:last-child i { margin-right: 7px; }

@media (max-width: 1199px) {
    .admission-process-grid { grid-template-columns: repeat(6, 1fr); }
    .admission-process-card { grid-column: span 2; }
    .admission-process-card:nth-child(4) { grid-column: 2 / span 2; }
}

@media (max-width: 991px) {
    .admission-welcome-panel { grid-template-columns: 1fr; }
    .admission-welcome-image { min-height: 430px; }
    .admission-process-grid { grid-template-columns: repeat(2, 1fr); }
    .admission-process-card,
    .admission-process-card:nth-child(4) { grid-column: auto; }
    .admission-process-card:last-child { grid-column: 1 / -1; }
    .admission-help-inner { align-items: flex-start; flex-direction: column; }
    .admission-help-actions { align-items: flex-start; }
}

@media (max-width: 767px) {
    .admission-welcome-section,
    .admission-process-section,
    .admission-information-section { padding: 45px 0; }
    .admission-welcome-copy { padding: 28px 24px; }
    .admission-welcome-image { min-height: 300px; }
    .admission-process-grid,
    .admission-document-list { grid-template-columns: 1fr; }
    .admission-process-card:last-child { grid-column: auto; }
    .admission-process-card { min-height: 0; }
    .admission-info-card,
    .admission-hostel-card { padding: 28px 24px; }
    .admission-help-section { padding-bottom: 45px; }
    .admission-help-inner { padding: 30px 24px; }
}

/* Campus gallery */
.registration-page-section,
.hostel-intro-section,
.admission-faq-section { padding: 60px 0; }
.registration-page-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 35px; align-items: start; }
.registration-page-intro { position: sticky; top: 120px; padding: 38px; border-radius: 25px; background: linear-gradient(145deg, #fff8dd, #fff); box-shadow: 0 15px 40px rgba(30,30,30,.07); }
.registration-page-intro .sec-title { margin-bottom: 16px; }
.registration-page-intro > p { line-height: 1.72; }
.registration-info-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 25px; }
.registration-info-list > div { display: flex; align-items: center; gap: 11px; padding: 14px; border-radius: 12px; background: #fff; }
.registration-info-list i { color: var(--theme-color); font-size: 19px; }
.registration-info-list span { display: flex; flex-direction: column; font-size: 14px; }
.registration-info-list strong { color: var(--title-color); }
.registration-next-links { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 22px; }
.registration-next-links a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 25px; background: var(--theme-color); color: #fff; font-size: 14px; font-weight: 600; }
.registration-form-card { padding: 38px; border: 1px solid rgba(227,6,19,.1); border-radius: 25px; background: #fff; box-shadow: 0 16px 45px rgba(30,30,30,.08); }
.registration-form-heading { margin-bottom: 27px; }
.registration-form-heading > span { color: var(--theme-color); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.registration-form-heading h2 { margin: 7px 0; font-size: 32px; }
.registration-form-heading p { margin: 0; }
.registration-enquiry-form label { display: block; margin-bottom: 7px; color: var(--title-color); font-size: 14px; font-weight: 600; }
.registration-enquiry-form .form-control,
.registration-enquiry-form .form-select { height: 54px; border: 1px solid #e3e3e3; border-radius: 10px; background: #fafafa; }
.registration-enquiry-form textarea.form-control { height: auto; min-height: 120px; padding-top: 15px; }

.hostel-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 45px; align-items: center; }
.hostel-intro-image { position: relative; overflow: hidden; border-radius: 27px; box-shadow: 0 18px 45px rgba(30,30,30,.11); }
.hostel-intro-image > img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.hostel-intro-image > span { position: absolute; right: 18px; bottom: 18px; left: 18px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 15px; border-radius: 13px; background: rgba(227,6,19,.94); color: #fff; font-weight: 700; }
.hostel-intro-grid .sec-title { margin-bottom: 16px; }
.hostel-intro-grid p { line-height: 1.72; }
.hostel-notice { display: flex; gap: 11px; margin: 22px 0; padding: 16px 18px; border-radius: 13px; background: #fff6d4; color: var(--title-color); line-height: 1.55; }
.hostel-notice i { margin-top: 4px; color: var(--theme-color); }
.hostel-features-section { padding: 60px 0; background: linear-gradient(135deg, #fff9e8, #fff 50%, #fff3f4); }
.hostel-features-section .title-area { margin-bottom: 38px; }
.hostel-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.hostel-feature-card { padding: 28px 25px; border-radius: 20px; background: #fff; box-shadow: 0 12px 32px rgba(30,30,30,.06); }
.hostel-feature-card > div { display: grid; width: 58px; height: 58px; margin-bottom: 20px; border-radius: 17px; background: var(--theme-color); color: #fff; font-size: 23px; place-items: center; }
.hostel-feature-card:nth-child(even) > div { background: #ffc400; color: #1f1f1f; }
.hostel-feature-card h3 { margin-bottom: 9px; font-size: 22px; }
.hostel-feature-card p { margin: 0; line-height: 1.6; }
.hostel-process-section { padding: 60px 0; }
.hostel-process-inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 35px; padding: 38px; border-radius: 25px; background: #1f1f1f; color: #fff; }
.hostel-process-inner > div:first-child > span { color: #ffc400; font-size: 13px; font-weight: 700; }
.hostel-process-inner h2 { margin: 8px 0; color: #fff; font-size: 32px; }
.hostel-process-inner p { margin: 0; color: rgba(255,255,255,.78); }
.hostel-process-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.hostel-process-steps span { display: flex; align-items: center; gap: 10px; padding: 14px; border-radius: 12px; background: rgba(255,255,255,.08); }
.hostel-process-steps b { display: grid; flex: 0 0 32px; height: 32px; border-radius: 50%; background: var(--theme-color); color: #fff; place-items: center; }

.admission-faq-header { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; margin-bottom: 38px; }
.admission-faq-header .sec-title { margin-bottom: 12px; }
.admission-faq-header p { margin: 0; }
.admission-faq-contact { display: grid; grid-template-columns: auto 1fr; gap: 5px 12px; align-items: center; min-width: 300px; padding: 20px; border-radius: 17px; background: #fff6d4; }
.admission-faq-contact > i { grid-row: span 2; display: grid; width: 48px; height: 48px; border-radius: 50%; background: var(--theme-color); color: #fff; place-items: center; }
.admission-faq-contact span { display: flex; flex-direction: column; font-size: 13px; }
.admission-faq-contact strong { color: var(--title-color); font-size: 16px; }
.admission-faq-contact > a { color: var(--theme-color); font-size: 14px; font-weight: 700; }
.admission-faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; align-items: start; }
.admission-faq-item { overflow: hidden; border: 1px solid #e9e9e9; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(30,30,30,.04); }
.admission-faq-item summary { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 19px 20px; color: var(--title-color); font-size: 17px; font-weight: 700; cursor: pointer; list-style: none; }
.admission-faq-item summary::-webkit-details-marker { display: none; }
.admission-faq-item summary > span { color: var(--theme-color); font-size: 13px; }
.admission-faq-item summary > i { color: var(--theme-color); transition: transform .25s ease; }
.admission-faq-item[open] summary > i { transform: rotate(45deg); }
.admission-faq-item[open] summary { background: #fff8df; }
.admission-faq-item > div { padding: 0 20px 20px 48px; background: #fff8df; }
.admission-faq-item p { margin: 0; line-height: 1.65; }

@media (max-width: 991px) {
    .registration-page-grid,
    .hostel-intro-grid,
    .hostel-process-inner { grid-template-columns: 1fr; }
    .registration-page-intro { position: static; }
    .hostel-intro-image > img { aspect-ratio: 3 / 2; }
    .hostel-feature-grid { grid-template-columns: repeat(2, 1fr); }
    .admission-faq-header { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .registration-page-section,
    .hostel-intro-section,
    .hostel-features-section,
    .hostel-process-section,
    .admission-faq-section { padding: 45px 0; }
    .registration-page-intro,
    .registration-form-card { padding: 25px; }
    .registration-info-list,
    .hostel-feature-grid,
    .hostel-process-steps,
    .admission-faq-grid { grid-template-columns: 1fr; }
    .hostel-process-inner { padding: 27px 23px; }
    .admission-faq-contact { min-width: 0; }
}

/* Campus gallery */
.campus-life-section .project-card.campus-gallery-open {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: center;
    cursor: zoom-in;
}

.campus-life-section .project-card .box-img {
    display: block;
    height: 420px;
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(44, 32, 0, .12);
}

.campus-life-section .swiper-wrapper {
    align-items: center;
}

/* Original template composition: oval, arch, tall rectangle and short landscape. */
.campus-life-section .swiper-slide:nth-child(4n + 1) .box-img {
    height: 500px;
    border-radius: 50% / 28%;
}

.campus-life-section .swiper-slide:nth-child(4n + 2) .box-img {
    height: 425px;
    border-radius: 180px 180px 28px 28px;
}

.campus-life-section .swiper-slide:nth-child(4n + 3) .box-img {
    height: 500px;
    border-radius: 24px;
}

.campus-life-section .swiper-slide:nth-child(4n + 4) .box-img {
    height: 300px;
    border-radius: 24px;
}

.campus-life-section .project-card .box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.campus-life-section .project-card:hover .box-img img,
.campus-life-section .project-card:focus-visible .box-img img {
    transform: scale(1.045);
}

.campus-life-section .project-card .box-content {
    display: block;
    padding: 18px 8px 0;
}

.campus-life-section .project-card .box-title {
    display: block;
    margin: 0;
    color: var(--title-color);
    font-family: var(--title-font);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
}

.campus-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}

.campus-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}

.campus-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 8, 8, .9);
    backdrop-filter: blur(6px);
}

.campus-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: min(1180px, 94vw);
    height: min(780px, 88vh);
}

.campus-lightbox__figure {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 100%;
    margin: 0;
}

.campus-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: calc(100% - 64px);
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 15px 55px rgba(0, 0, 0, .42);
    opacity: 1;
    transform: translateX(0);
    transition: opacity .18s ease, transform .18s ease;
}

.campus-lightbox__image.is-changing-next {
    opacity: 0;
    transform: translateX(-24px);
}

.campus-lightbox__image.is-changing-prev {
    opacity: 0;
    transform: translateX(24px);
}

.campus-lightbox__figure figcaption {
    display: flex;
    gap: 18px;
    align-items: center;
    padding-top: 15px;
    color: #fff;
}

.campus-lightbox__title {
    font-family: var(--title-font);
    font-size: 20px;
    font-weight: 700;
}

.campus-lightbox__counter {
    color: rgba(255, 255, 255, .7);
    font-size: 14px;
}

.campus-lightbox__close,
.campus-lightbox__nav {
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    background: rgba(216, 8, 18, .92);
    color: #fff;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

.campus-lightbox__close:hover,
.campus-lightbox__nav:hover {
    transform: scale(1.08);
    background: #f7c600;
    color: #171717;
}

.campus-lightbox__close {
    position: absolute;
    top: -4px;
    right: 0;
    z-index: 2;
    width: 46px;
    height: 46px;
    font-size: 30px;
    line-height: 1;
}

.campus-lightbox__nav {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    margin: 0 18px;
    font-size: 22px;
}

body.campus-lightbox-open {
    overflow: hidden;
}

/* Keep the Campus Life controls close to the gallery and distinguish them from the red site controls. */
.campus-life-section .slider-area > .slider-arrow {
    top: 50%;
    width: 48px;
    height: 48px;
    border-color: #0a8f68;
    background: #0a8f68;
    color: #fff;
    box-shadow: 0 8px 22px rgba(10, 143, 104, .28);
}

.campus-life-section .slider-area > .slider-prev { left: 18px; }
.campus-life-section .slider-area > .slider-next { right: 18px; }

.campus-life-section .slider-area > .slider-arrow:hover {
    border-color: #f7c600;
    background: #f7c600;
    color: #171717;
}

/* Student achievement showcase */
.student-achievements-section .event-card {
    align-items: center;
    min-height: 270px;
}

.student-achievements-section {
    padding-top: 70px;
    padding-bottom: 70px;
}

.school-counter-section {
    padding-top: 60px;
    padding-bottom: 60px;
    background: #fff;
}

/* Template-style progress navigation for the achievements carousel. */
.achievement-slider-wrap .slider-pagination-wrap {
    display: flex;
    align-items: center;
    gap: 30px;
}

.achievement-slider-wrap .slider-pagination {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: 1 1 auto;
    width: auto !important;
    height: 2px !important;
    overflow: hidden;
    border-radius: 999px;
    background: #cfd9d7;
}

.achievement-slider-wrap .slider-pagination::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--achievement-progress, 33.333%);
    border-radius: inherit;
    background: var(--theme-color);
    content: "";
    transition: width .45s ease;
}

.student-achievements-section .title-area {
    margin-bottom: 42px;
}

.student-achievements-section .event-card .box-img {
    flex: 0 0 42%;
    width: 42%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-left: 20px;
    border-radius: 18px;
}

.student-achievements-section .event-card .box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.student-achievements-section .event-card .box-content {
    flex: 1;
    min-width: 0;
    padding: 28px 22px;
}

.student-achievements-section .event-card .box-title {
    margin-bottom: 18px;
    font-size: 24px;
    line-height: 1.2;
}

.student-selection-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.student-selection-label {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    margin-bottom: 7px;
    color: var(--theme-color);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.student-selection-course {
    display: block;
    margin-bottom: 16px;
    color: var(--title-color);
    font-family: var(--title-font);
    font-size: 17px;
    line-height: 1.35;
}

.student-selection-institute {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding-top: 14px;
    border-top: 1px solid #e3e8e6;
    color: var(--body-color);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
}

.student-selection-institute i {
    margin-top: 3px;
    color: #0a8f68;
}

@media (max-width: 575px) {
    .school-counter-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .student-achievements-section {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .student-achievements-section .event-card { align-items: stretch; }
    .student-achievements-section .event-card .box-img {
        width: calc(100% - 40px);
        margin: 20px 20px 0;
    }
}

.achievement-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(10, 143, 104, .14);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(28, 47, 42, .09);
    transition: transform .25s ease, box-shadow .25s ease;
}

.achievement-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 42px rgba(28, 47, 42, .15);
}

.achievement-card__photo {
    position: relative;
    height: 285px;
    overflow: hidden;
    background: #eef4f2;
}

.achievement-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform .35s ease;
}

.achievement-card:hover .achievement-card__photo img { transform: scale(1.035); }

.achievement-card__badge {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: inline-flex;
    gap: 7px;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: #f7c600;
    color: #171717;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.achievement-card__content { padding: 24px 24px 26px; }

.achievement-card__content h3 {
    margin: 0 0 15px;
    font-size: 25px;
}

.achievement-card__institution {
    min-height: 63px;
    margin: 0 0 16px;
    color: var(--title-color);
    font-family: var(--title-font);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
}

.achievement-card__institution span {
    display: block;
    margin-bottom: 3px;
    color: #0a8f68;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.achievement-card__course {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 0;
    padding-top: 15px;
    border-top: 1px solid #e8eceb;
    color: var(--body-color);
    font-size: 15px;
    font-weight: 600;
}

.achievement-card__course i { color: var(--theme-color); }

.achievement-selected {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    color: #0a8f68;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.achievement-selection-detail span {
    display: flex;
    gap: 7px;
    align-items: center;
    margin-bottom: 5px;
    color: var(--theme-color);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.achievement-selection-detail strong {
    display: block;
    min-height: 48px;
    color: var(--title-color);
    font-family: var(--title-font);
    font-size: 16px;
    line-height: 1.35;
}

.achievement-course-detail {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-top: 15px;
    padding-top: 14px;
    border-top: 1px solid #e8eceb;
    color: var(--body-color);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.achievement-course-detail i { margin-top: 3px; color: #0a8f68; }

@media (max-width: 767px) {
    .campus-life-section .swiper-slide .project-card .box-img {
        height: 360px;
        border-radius: 28px;
    }
    .campus-lightbox { padding: 12px; }
    .campus-lightbox__dialog { width: 100%; height: 86vh; }
    .campus-lightbox__nav {
        position: absolute;
        z-index: 2;
        top: 50%;
        width: 44px;
        height: 44px;
        margin: 0;
        transform: translateY(-50%);
    }
    .campus-lightbox__nav:hover { transform: translateY(-50%) scale(1.06); }
    .campus-lightbox__prev { left: 4px; }
    .campus-lightbox__next { right: 4px; }
    .campus-lightbox__close { top: 4px; right: 4px; }
    .campus-lightbox__title { font-size: 16px; }
    .campus-life-section .slider-area > .slider-prev { left: 8px; }
    .campus-life-section .slider-area > .slider-next { right: 8px; }
    .achievement-card__photo { height: 320px; }
}

/* Homepage about section: modern two-image composition */
#about-sec {
    padding-top: 50px;
    padding-bottom: 50px;
}

.dini-about-gallery {
    position: relative;
    min-height: 620px;
    margin: 0 55px 25px 0;
}

.dini-about-image {
    position: absolute;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 24px 60px rgba(31, 24, 18, .16);
}

.dini-about-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s ease;
}

.dini-about-image:hover img {
    transform: scale(1.045);
}

.dini-about-image-main {
    inset: 0 110px 70px 0;
    border-radius: 30px 90px 30px 30px;
}

.dini-about-image-accent {
    right: 0;
    bottom: 0;
    width: 48%;
    height: 48%;
    padding: 9px;
    border: 2px solid rgba(216, 8, 18, .12);
    border-radius: 26px;
    background: #fff;
}

.dini-about-image-accent img {
    border-radius: 17px;
}

.dini-about-since {
    position: absolute;
    top: 30px;
    right: 8px;
    z-index: 2;
    display: flex;
    width: 150px;
    height: 150px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 6px solid #fff;
    border-radius: 50%;
    background: var(--theme-color2);
    color: var(--title-color);
    box-shadow: 0 16px 35px rgba(31, 24, 18, .16);
    text-align: center;
}

.dini-about-since span {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dini-about-since strong {
    color: var(--theme-color);
    font-family: var(--title-font);
    font-size: 30px;
    line-height: 1.1;
}

.dini-about-dots {
    position: absolute;
    left: -24px;
    bottom: 35px;
    width: 110px;
    height: 110px;
    z-index: -1;
    opacity: .7;
    background-image: radial-gradient(var(--theme-color2) 3px, transparent 3px);
    background-size: 16px 16px;
}

@media (max-width: 1399px) {
    .dini-about-gallery {
        min-height: 560px;
        margin-right: 35px;
    }
}

@media (max-width: 1199px) {
    .dini-about-gallery {
        min-height: 620px;
        max-width: 760px;
        margin: 0 auto 25px;
    }
}

@media (max-width: 767px) {
    .dini-about-gallery {
        min-height: 460px;
    }

    .dini-about-image-main {
        inset: 0 55px 55px 0;
        border-radius: 22px 55px 22px 22px;
    }

    .dini-about-image-accent {
        width: 52%;
        height: 44%;
        padding: 6px;
        border-radius: 18px;
    }

    .dini-about-image-accent img {
        border-radius: 12px;
    }

    .dini-about-since {
        top: 16px;
        right: 0;
        width: 82px;
        height: 82px;
        border-width: 4px;
    }

    .dini-about-since span {
        font-size: 7px;
    }

    .dini-about-since strong {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .dini-about-gallery {
        min-height: 390px;
    }
}

/* Homepage school facilities */
.school-facilities {
    padding-top: 50px;
    padding-bottom: 50px;
}

/* Admission process spacing */
.admission-process-section {
    padding-top: 50px;
    padding-bottom: 50px;
}

/* School information sidebar */
.sidebar-school-logo {
    margin-bottom: 20px !important;
    padding-bottom: 22px !important;
    border-bottom: 1px solid #ece3d8;
}

.sidebar-school-logo .about-logo {
    margin-bottom: 0;
}

.dini-notice-widget {
    overflow: hidden;
    padding: 0 !important;
    border: 1px solid rgba(216, 8, 18, .12);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(31, 24, 18, .1);
}

.dini-notice-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 22px;
    background: linear-gradient(135deg, #d80812, #9f0008);
    color: #fff;
}

.dini-notice-kicker {
    display: block;
    margin-bottom: 2px;
    color: #f7c600;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dini-notice-heading h3 {
    margin: 0;
    color: #fff;
    font-size: 24px;
}

.dini-notice-bell {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
    background: #f7c600;
    color: #171717;
    font-size: 19px;
}

.dini-notice-list {
    padding: 8px 18px;
}

.dini-notice-item {
    display: grid;
    grid-template-columns: 38px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 15px 0;
    color: var(--title-color);
}

.dini-notice-item:not(:last-child) {
    border-bottom: 1px dashed #ddcec2;
}

.dini-notice-item > span:nth-child(2) {
    min-width: 0;
}

.dini-notice-item strong,
.dini-notice-item small {
    display: block;
}

.dini-notice-item strong {
    margin-bottom: 3px;
    font-size: 14px;
    line-height: 1.35;
}

.dini-notice-item small {
    color: var(--body-color);
    font-size: 11px;
    line-height: 1.45;
}

.dini-notice-item > i {
    color: var(--theme-color);
    transition: transform .2s ease;
}

.dini-notice-item:hover > i {
    transform: translateX(4px);
}

.dini-notice-icon,
.dini-notice-label {
    display: grid !important;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 10px;
    background: rgba(216, 8, 18, .08);
    color: var(--theme-color);
}

.dini-notice-label {
    background: #f7c600;
    color: #171717;
    font-size: 9px;
    font-weight: 900;
}

.dini-notice-info {
    grid-template-columns: 38px 1fr;
}

.dini-notice-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 4px 18px 18px;
    padding: 12px 16px;
    border-radius: 12px;
    background: #171717;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.dini-notice-cta:hover {
    background: var(--theme-color);
    color: #fff;
}

/* Fixed social links */
.dini-social-rail {
    position: fixed;
    top: 50%;
    left: 0;
    z-index: 90;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transform: translateY(-50%);
}

.dini-social-rail a {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 0 12px 12px 0;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .2);
    transition: transform .2s ease, border-radius .2s ease;
}

.dini-social-rail a:hover {
    color: #fff;
    border-radius: 0 16px 16px 0;
    transform: translateX(4px);
}

.dini-social-rail .instagram { background: linear-gradient(145deg, #7b2ff7, #f10776, #ff9a00); }
.dini-social-rail .facebook { background: #1877f2; }
.dini-social-rail .telegram { background: #229ed9; }
.dini-social-rail .youtube { background: #ff0000; }
.dini-social-rail .whatsapp { background: #25d366; }
.dini-social-rail .x-twitter { background: #050505; font-family: Arial, sans-serif; font-weight: 700; }

@media (max-width: 767px) {
    .dini-social-rail { gap: 3px; }
    .dini-social-rail a { width: 38px; height: 38px; border-width: 1px; border-radius: 0 9px 9px 0; font-size: 16px; }
}

/* School-specific Why Choose Us section */
.school-why-section {
    padding-top: 50px;
    padding-bottom: 50px;
}

/* Campus life showcase */
.campus-life-section {
    padding-top: 58px;
    padding-bottom: 58px;
    background: #fff;
}

.school-why-section .why-img-box1,
.school-why-section .why-img-box1 .img1 {
    height: 100%;
    min-height: 560px;
}

.school-why-section .why-img-box1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 1199px) {
    .school-why-section .why-img-box1,
    .school-why-section .why-img-box1 .img1 {
        min-height: 460px;
    }
}

.school-facilities .title-area .sec-text {
    max-width: 760px;
    margin: 18px auto 0;
}

.facility-grid > div {
    display: flex;
}

.facility-card {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 0;
    gap: 14px;
    align-items: flex-start;
    padding: 24px 18px;
    overflow: hidden;
    border: 1px solid rgba(216, 8, 18, .08);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(31, 24, 18, .06);
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.facility-card::after {
    position: absolute;
    right: -35px;
    bottom: -35px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(247, 198, 0, .16);
    content: "";
    transition: transform .3s ease;
}

.facility-card:hover {
    transform: translateY(-7px);
    border-color: rgba(216, 8, 18, .28);
    box-shadow: 0 20px 42px rgba(31, 24, 18, .12);
}

.facility-card:focus-visible {
    outline: 3px solid rgba(216, 8, 18, .3);
    outline-offset: 4px;
    transform: translateY(-4px);
}

.facility-card:hover::after {
    transform: scale(1.25);
}

.facility-card .box-icon {
    position: relative;
    z-index: 1;
    display: grid;
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    place-items: center;
    border-radius: 18px;
    background: rgba(216, 8, 18, .08);
    color: var(--theme-color);
    font-size: 28px;
    transition: background .3s ease, color .3s ease;
}

.facility-card:hover .box-icon {
    background: var(--theme-color);
    color: #fff;
}

.facility-card .box-content {
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 0;
}

.facility-card .box-title {
    margin: 1px 0 8px;
    overflow: hidden;
    font-size: 16px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--title-color);
}

.facility-card p {
    display: -webkit-box;
    min-height: 67px;
    overflow: hidden;
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    color: var(--body-color);
}

@media (max-width: 575px) {
    .facility-card {
        min-height: 0;
        padding: 22px 20px;
    }

    .facility-card .box-icon {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
        font-size: 23px;
    }

    .facility-card .box-title {
        font-size: 15px;
    }
}

.header-layout1 .header-top,
.header-layout1 .header-top a,
.header-layout1 .header-top li {
    font-size: 14px;
}

.dini-hero {
    position: relative;
    overflow: hidden;
    background: #f5f5f5;
}

.dini-hero-slider,
.dini-hero-slide {
    display: block;
    width: 100%;
}

.dini-hero-slider {
    position: relative;
    width: 100%;
    aspect-ratio: 2066 / 761;
    overflow: hidden;
}

.dini-hero-track,
.dini-hero-item {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.dini-hero-item {
    z-index: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .9s ease, visibility .9s ease;
}

.dini-hero-item.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
}

.dini-hero-slide {
    overflow: visible;
}

.dini-hero-slide img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    transform: none;
}

.dini-hero .dini-hero-item.is-active .dini-hero-slide img {
    animation: diniHeroZoom 5.8s ease-out both;
}

.dini-hero-pagination {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 18px;
    left: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.dini-hero-pagination button {
    width: 11px;
    height: 11px;
    margin: 0 !important;
    border: 2px solid #fff;
    background: rgba(0, 0, 0, .35);
    padding: 0;
    opacity: 1;
    cursor: pointer;
    transition: width .2s ease, border-radius .2s ease, background-color .2s ease;
}

.dini-hero-pagination button.is-active {
    width: 30px;
    border-radius: 999px;
    background: var(--theme-color);
}

@keyframes diniHeroZoom {
    from {
        opacity: .82;
    }

    to {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dini-hero .dini-hero-item.is-active .dini-hero-slide img {
        animation: none;
        transform: none;
    }
}

@media (min-width: 1200px) {
    .header-layout1 .main-menu ul.sub-menu {
        padding-top: 0;
        padding-bottom: 0;
    }

    .header-layout1 .main-menu ul.sub-menu>li:not(:last-child) {
        border-bottom: 1px solid rgba(216, 8, 18, .16);
    }

    .header-layout1 .main-menu ul.sub-menu>li>a {
        display: block;
        position: relative;
        padding-left: 0;
        padding-top: 10px;
        padding-bottom: 10px;
        line-height: 1.45;
        font-family: var(--title-font);
        font-size: 15px;
        font-weight: 600;
        transition: color .18s ease, padding-left .18s ease, background-color .18s ease;
    }

    .header-layout1 .main-menu ul.sub-menu>li>a::before {
        display: none !important;
        content: none !important;
    }

    .header-layout1 .main-menu ul.sub-menu>li:hover>a {
        padding-left: 12px;
        color: var(--theme-color);
        background: linear-gradient(90deg, rgba(247, 198, 0, .18), rgba(255, 255, 255, 0));
    }

    .header-layout1 .main-menu ul.sub-menu>li:hover {
        border-bottom-color: rgba(216, 8, 18, .38);
    }

    .header-layout1 .main-menu ul.sub-menu,
    .header-layout1 .main-menu ul.mega-menu {
        transition: opacity .16s ease, visibility .16s ease, transform .16s ease !important;
        will-change: opacity, transform;
    }

    .header-layout1 .menu-area .row {
        flex-wrap: nowrap;
    }

    .header-layout1 .menu-area {
        padding-top: 2px;
        padding-bottom: 2px;
    }

    .header-layout1 .header-logo img {
        width: 270px !important;
        max-height: 100px !important;
    }

    .header-layout1 .main-menu>ul>li {
        margin: 0 7px;
    }

    .header-layout1 .main-menu>ul>li>a {
        font-size: 15px;
        font-weight: 700;
    }
}

/* Compact desktop treatment for common 14-inch laptop viewports. */
@media (min-width: 1200px) and (max-width: 1399px) {
    .header-layout1 .header-logo img {
        width: 225px !important;
    }

    .header-layout1 .main-menu > ul > li {
        margin: 0 4px;
    }

    .header-layout1 .main-menu > ul > li > a {
        font-size: 14px;
    }

    .header-layout1 .main-menu > ul > li > a .nav-menu-icon {
        margin-right: 5px;
    }

    .main-menu ul.dini-mega-menu {
        width: min(1040px, calc(100vw - 36px));
    }

    .main-menu ul.dini-mega-menu > li {
        padding-right: 8px;
        padding-left: 8px;
    }

    .main-menu ul.dini-mega-menu > li.dini-mega-highlight {
        padding: 20px;
    }

    .dini-mega-highlight strong {
        font-size: 17px;
    }
}

.school-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    width: min(760px,100%);
    margin: 24px auto 0;
}
.school-search-form input {
    min-height: 52px;
    padding: 0 18px;
    border: 1px solid #dfd7cf;
    border-radius: 12px;
    background: #fff;
    color: var(--title-color);
}
@media (max-width: 575px) {
    .school-search-form { grid-template-columns: 1fr; }
    .school-search-form .th-btn { justify-content: center; }
}

/* Final cross-site consistency and responsive quality pass. */
.inner-page .th-btn {
    border-color: #d80812;
    background: #d80812;
    color: #fff;
}
.inner-page .th-btn::after { background: #8f0007; }
.inner-page .th-btn:hover {
    border-color: #f7c600;
    background: #f7c600;
    color: #1f1f1f;
}
.inner-page .th-btn:hover::after { background: #f7c600; }
.inner-page section { scroll-margin-top: 115px; }
.inner-page .sec-title { overflow-wrap: anywhere; }
.inner-page img { max-width: 100%; }

body.admin-dashboard-page .admin-dashboard-main { max-width: none; overflow-x: hidden; }
body.admin-dashboard-page .admin-dashboard-card,
body.admin-dashboard-page .admin-stat-grid > article,
body.admin-dashboard-page .admin-module-grid > a { min-width: 0; }
body.admin-dashboard-page .admin-faculty-form textarea {
    min-height: 110px !important;
    max-height: 180px;
    resize: vertical;
}
body.admin-dashboard-page .admin-enquiry-table-wrap { overflow-x: auto; }
body.admin-dashboard-page .admin-enquiry-table { min-width: 780px; }
body.admin-dashboard-page button,
body.admin-dashboard-page a { text-underline-offset: 3px; }

@media (max-width: 991px) {
    .inner-page .breadcumb-title,
    .inner-page .sec-title,
    .inner-page .page-title { font-size: 34px !important; }
    .inner-page #smooth-content section p { line-height: 1.7; }
    body.admin-dashboard-page .admin-dashboard-grid,
    body.admin-dashboard-page .admin-media-manager-grid,
    body.admin-dashboard-page .admin-notice-grid,
    body.admin-dashboard-page .admin-module-grid,
    body.admin-dashboard-page .admin-stat-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) {
    .breadcumb-wrapper { min-height: 190px; }
    .breadcumb-wrapper .breadcumb-content { padding-inline: 4px !important; }
    .inner-page .breadcumb-title,
    .inner-page .sec-title,
    .inner-page .page-title { font-size: 30px !important; line-height: 1.18 !important; }
    .inner-page .sub-title { line-height: 1.45; }
    .inner-page #smooth-content section p { font-size: 16px !important; }
    .inner-page .breadcumb-wrapper + section,
    .inner-page .breadcumb-wrapper + .space-top { padding-top: 36px !important; }
    .inner-page .th-btn { min-height: 46px; padding: 12px 20px; }
    body.admin-dashboard-page .admin-sidebar { max-height: none; }
    body.admin-dashboard-page .admin-side-nav { grid-template-columns: 1fr !important; }
    body.admin-dashboard-page .admin-dashboard-main { padding: 20px 16px 38px !important; }
    body.admin-dashboard-page .admin-dashboard-header { gap: 14px; }
    body.admin-dashboard-page .admin-dashboard-header h1 { font-size: 26px; }
    body.admin-dashboard-page .admin-header-actions { width: 100%; justify-content: flex-end; }
    body.admin-dashboard-page .admin-dashboard-card { padding: 18px; }
    body.admin-dashboard-page .admin-form-two { grid-template-columns: 1fr; }
}

/* Keep every dropdown link typographically identical despite template defaults. */
@media (min-width: 1200px) {

    .header-layout1 .main-menu ul.sub-menu>li>a,
    .header-layout1 .main-menu ul.dini-mega-menu>li>ul>li>a {
        font-family: var(--title-font) !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.45 !important;
        color: var(--body-color) !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    .header-layout1 .main-menu ul.sub-menu>li:hover>a,
    .header-layout1 .main-menu ul.dini-mega-menu>li>ul>li>a:hover {
        color: var(--theme-color) !important;
    }
}

@media (max-width: 575px) {
    .header-layout1 .menu-area {
        padding-top: 4px;
        padding-bottom: 4px;
    }

    .header-layout1 .header-logo img {
        width: 220px !important;
        max-height: 76px !important;
    }
}

/* Frontend mobile layout pass: compact, readable and consistently aligned. */
@media (max-width: 767px) {
    :root {
        --section-space-mobile: 52px;
    }

    .breadcumb-wrapper {
        min-height: 148px !important;
        height: 148px;
        margin-top: 126px;
        aspect-ratio: auto;
        background-position: center !important;
        background-size: 100% 100% !important;
        text-align: left !important;
    }

    .breadcumb-wrapper > .container,
    .breadcumb-wrapper > .container > .row,
    .breadcumb-wrapper .breadcumb-content {
        height: 100%;
    }

    .breadcumb-wrapper .breadcumb-content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 0 4px !important;
    }

    .inner-page .breadcumb-title {
        margin: 0 !important;
        font-size: 28px !important;
        line-height: 1.15 !important;
    }

    .breadcumb-menu {
        margin: 10px 0 0 !important;
    }

    .breadcumb-menu li,
    .breadcumb-menu a,
    .breadcumb-menu span {
        font-size: 14px !important;
        line-height: 1.4;
    }

    #about-sec,
    .school-facilities,
    .admission-process-section,
    .campus-life-section,
    .student-achievements-section {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }

    .dini-about-gallery {
        min-height: 360px;
        margin-bottom: 18px;
    }

    .school-facilities .title-area,
    .admission-process-section .title-area,
    .campus-life-section .title-area,
    .student-achievements-section .title-area {
        margin-bottom: 28px;
    }

    .facility-grid {
        --bs-gutter-y: 16px;
    }

    .facility-card {
        gap: 12px;
        padding: 18px 16px;
        border-radius: 18px;
    }

    .admission-process-card {
        padding: 22px 20px;
        border-radius: 18px;
    }

    .admission-step-icon {
        width: 52px;
        height: 52px;
        margin-bottom: 16px;
    }

    .campus-life-section .swiper-slide .project-card .box-img {
        height: 310px;
    }

    .student-achievements-section .event-card .box-content {
        padding: 22px 20px;
    }

    .widget-area {
        padding-top: 52px;
        padding-bottom: 24px;
    }

    .homework-filter { align-items:stretch; flex-direction:column; gap:14px; padding:19px; }
    .homework-filter-copy { min-width:0; }
    .homework-filter-select { width:100%; max-width:none; }
    .homework-filter > a { margin-left:0; align-self:flex-start; }
}

@media (max-width: 420px) {
    .dini-about-gallery {
        min-height: 330px;
    }

    .inner-page .breadcumb-title {
        font-size: 27px !important;
    }
}

@media (min-width: 1200px) {
    .main-menu ul.dini-mega-menu {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0;
        width: min(1080px, calc(100vw - 80px));
        max-width: 1080px;
        padding: 10px;
        overflow: visible;
        border-top: 4px solid var(--theme-color);
        border-radius: 0 0 18px 18px;
        box-shadow: 0 24px 55px rgba(20, 10, 5, .18);
    }

    .main-menu ul.dini-mega-menu>li {
        min-width: 0;
        padding: 4px 10px;
        border-right: 1px solid #eadfce;
    }

    .main-menu ul.dini-mega-menu>li:first-child {
        padding-left: 10px;
    }

    .main-menu ul.dini-mega-menu>li.dini-mega-facilities {
        grid-column: span 2;
    }

    .main-menu ul.dini-mega-menu>li.dini-mega-facilities>ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 22px;
    }

    .main-menu ul.dini-mega-menu>li>a {
        display: flex;
        align-items: center;
        gap: 9px;
        color: var(--title-color);
        font-family: var(--title-font);
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0;
    }

    .main-menu ul.dini-mega-menu>li>a i {
        color: var(--theme-color);
        font-size: 18px;
    }

    .main-menu ul.dini-mega-menu>li>ul {
        position: static;
        width: auto;
        min-width: 0;
        padding: 0;
        margin: 0;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background: transparent;
    }

    .main-menu ul.dini-mega-menu>li>ul li {
        width: 100%;
    }

    .main-menu ul.dini-mega-menu>li>ul li:not(:last-child) {
        border-bottom: 1px solid rgba(216, 8, 18, .14);
    }

    .main-menu ul.dini-mega-menu>li>ul a {
        display: block;
        padding: 5px 0;
        color: var(--body-color);
        font-family: var(--title-font);
        font-size: 15px;
        font-weight: 600;
        line-height: 1.55;
        transition: color .18s ease, padding-left .18s ease, background-color .18s ease;
    }

    .main-menu ul.dini-mega-menu>li>ul a:hover {
        color: var(--theme-color);
        padding-left: 10px;
        background: linear-gradient(90deg, rgba(247, 198, 0, .16), rgba(255, 255, 255, 0));
    }

    .main-menu ul.dini-mega-menu>li.dini-mega-highlight {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 12px;
        margin: -10px -10px -10px -10px !important;
        height: calc(100% + 24px);
        width: calc(100% + 10px);
        transform: translateX(10px);
        padding: 26px;
        border: 0;
        border-bottom: 3px solid var(--theme-color);
        border-radius: 0 0 14px 0;
        background: linear-gradient(145deg, #fff4b5 0%, #f7c600 100%);
        color: #171717;
    }

    .dini-mega-highlight .dini-mega-badge {
        padding: 5px 10px;
        border-radius: 999px;
        background: var(--theme-color);
        color: #fff;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .1em;
    }

    .dini-mega-highlight strong {
        font-size: 18px;
        line-height: 1.35;
    }

    .dini-mega-highlight small {
        font-size: 12px;
        font-weight: 700;
    }

    .main-menu ul.dini-mega-menu .dini-mega-highlight .dini-mega-cta {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 16px;
        border-radius: 999px;
        background: #171717;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
    }

    .main-menu ul.dini-mega-menu .dini-mega-highlight .dini-mega-cta::before,
    .main-menu ul.dini-mega-menu .dini-mega-highlight .dini-mega-cta::after {
        display: none;
    }
}
/* Careers */
.careers-page{background:linear-gradient(180deg,#fff 0,#fffaf1 100%)}
.careers-intro{max-width:760px;margin:0 auto;color:#667085;font-size:17px;line-height:1.75}
.career-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:30px;align-items:start;margin-top:45px}
.career-section-heading{margin-bottom:18px}.career-section-heading span,.career-form-kicker{display:block;color:#df0712;font-size:13px;font-weight:800;letter-spacing:.12em}.career-section-heading h3,.career-application-card h3{margin:5px 0 0;font-size:30px}
.career-vacancies{display:grid;gap:18px}.career-job-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;padding:25px;border:1px solid #eee2d6;border-radius:18px;background:#fff;box-shadow:0 14px 35px rgba(40,25,16,.07)}
.career-job-icon{display:grid;width:58px;height:58px;border-radius:15px;background:#fff1ba;color:#df0712;font-size:23px;place-items:center}.career-job-top{display:flex;justify-content:space-between;gap:20px}.career-job-top span{color:#df0712;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.career-job-top h4{margin:3px 0 0;font-size:23px}.career-job-top em{height:max-content;padding:6px 11px;border-radius:999px;background:#fff5d3;color:#5b4500;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}
.career-job-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:15px 0;color:#667085;font-size:13px}.career-job-meta i{margin-right:7px;color:#df0712}.career-job-content>p{margin:0;color:#667085;line-height:1.7}.career-job-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid #f0e7df}.career-job-footer small{color:#867b72}.career-job-footer a{color:#df0712;font-weight:800}.career-job-footer a i{margin-left:6px}
.career-application-card{position:sticky;top:120px;padding:30px;border-radius:20px;background:#281417;color:#fff;box-shadow:0 18px 45px rgba(40,20,23,.18)}.career-application-card h3{color:#fff}.career-application-card>p{color:#d7cfd0}.career-form{display:grid;gap:15px;margin-top:22px}.career-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.career-form label{color:#fff;font-size:13px;font-weight:700}.career-form input,.career-form select,.career-form textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:#fff;color:#272224;font-size:14px}.career-form textarea{resize:vertical}.career-file-field{position:relative;display:flex!important;align-items:center;gap:13px;margin-top:7px;padding:14px;border:1px dashed rgba(255,255,255,.35);border-radius:10px;background:rgba(255,255,255,.08)}.career-file-field i{font-size:22px;color:#ffd54a}.career-file-field span{display:block}.career-file-field strong,.career-file-field small{display:block}.career-file-field small{color:#d7cfd0;font-weight:400}.career-file-field input{position:absolute;inset:0;opacity:0;cursor:pointer}.career-empty{padding:50px 25px;border:1px dashed #e2d5c9;border-radius:18px;background:#fff;text-align:center}.career-empty i{font-size:40px;color:#df0712}.career-empty h4{margin:14px 0 5px}
body.admin-dashboard-page .admin-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}body.admin-dashboard-page .admin-inline-check{display:flex!important;align-items:center;gap:9px}body.admin-dashboard-page .admin-inline-check input{width:17px!important;height:17px!important;min-height:17px!important;margin:0!important}.admin-career-applications{margin-top:20px}.admin-career-applications .admin-enquiry-table{min-width:1050px}
@media(max-width:991px){.career-layout{grid-template-columns:1fr}.career-application-card{position:static}.career-job-card{grid-template-columns:48px minmax(0,1fr)}.career-job-icon{width:48px;height:48px}}
@media(max-width:575px){.career-layout{margin-top:28px}.career-job-card{display:block;padding:20px}.career-job-icon{margin-bottom:14px}.career-job-top,.career-job-footer{align-items:flex-start;flex-direction:column}.career-form-grid,body.admin-dashboard-page .admin-field-pair{grid-template-columns:1fr}.career-application-card{padding:22px}.career-section-heading h3,.career-application-card h3{font-size:25px}}

/* Class-wise syllabus */
.syllabus-page{background:linear-gradient(180deg,#fff 0,#fffaf2 100%)}.syllabus-intro{max-width:700px;margin:0 auto;color:#667085;font-size:16px}.syllabus-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:13px;margin:35px 0 22px;padding:15px 18px;border:1px solid #eee2d6;border-radius:13px;background:#fff}.syllabus-toolbar label{margin:0;color:#30282a;font-weight:800}.syllabus-toolbar label i{margin-right:7px;color:#df0712}.syllabus-toolbar select{width:230px;height:45px;padding:0 13px;border:1px solid #ded4ca;border-radius:9px;background:#fff;color:#30282a}.syllabus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.syllabus-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:17px;padding:22px;border:1px solid #eadfd5;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(44,29,20,.06)}.syllabus-card[hidden]{display:none}.syllabus-card-icon{display:grid;width:58px;height:58px;border-radius:14px;background:#fff1b8;color:#df0712;font-size:23px;place-items:center}.syllabus-card span{color:#df0712;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.syllabus-card h3{margin:3px 0;font-size:20px}.syllabus-card small{color:#877d76}.syllabus-actions{display:flex;align-items:center;gap:8px}.syllabus-actions a{display:grid;min-height:42px;padding:0 15px;border-radius:9px;background:#df0712;color:#fff;font-size:12px;font-weight:800;place-items:center}.syllabus-actions a:last-child{width:42px;padding:0;background:#281417}.syllabus-empty{grid-column:1/-1;padding:60px 25px;border:1px dashed #ddd0c4;border-radius:16px;background:#fff;text-align:center}.syllabus-empty i{font-size:42px;color:#df0712}.syllabus-empty h3{margin:14px 0 6px}
@media(max-width:991px){.syllabus-grid{grid-template-columns:1fr}}@media(max-width:575px){.syllabus-toolbar{align-items:stretch;flex-direction:column}.syllabus-toolbar select{width:100%}.syllabus-card{grid-template-columns:48px minmax(0,1fr);padding:18px}.syllabus-card-icon{width:48px;height:48px}.syllabus-actions{grid-column:1/-1}.syllabus-actions a:first-child{flex:1}}

/* Board result table */
.board-results-page{background:linear-gradient(180deg,#fff,#fffaf2)}.board-results-intro{max-width:700px;margin:0 auto;color:#667085;font-size:16px}.board-results-table-wrap{overflow:hidden;margin-top:38px;border:1px solid #e7dbd0;border-radius:16px;background:#fff;box-shadow:0 15px 38px rgba(42,28,20,.08)}.board-results-table{width:100%;border-collapse:collapse}.board-results-table th{padding:17px 20px;background:#281417;color:#fff;font-size:13px;text-align:left}.board-results-table td{padding:18px 20px;border-bottom:1px solid #eee5dc;color:#625b56}.board-results-table tbody tr:last-child td{border-bottom:0}.board-results-table tbody tr:hover{background:#fffaf0}.result-class-badge{display:inline-block;padding:6px 11px;border-radius:999px;background:#fff1ba;color:#8b050b;font-size:12px;font-weight:800}.result-file-actions{display:flex;align-items:center;gap:7px}.result-file-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:0 13px;border-radius:8px;background:#df0712;color:#fff;font-size:12px;font-weight:800}.result-file-actions a:last-child{width:39px;padding:0;background:#281417}.board-results-empty{padding:60px!important;text-align:center}.board-results-empty i,.board-results-empty strong{display:block}.board-results-empty i{margin-bottom:12px;color:#df0712;font-size:40px}
@media(max-width:767px){.board-results-table thead{display:none}.board-results-table,.board-results-table tbody,.board-results-table tr,.board-results-table td{display:block;width:100%}.board-results-table tr{padding:13px 18px;border-bottom:1px solid #eee5dc}.board-results-table td{display:grid;grid-template-columns:115px 1fr;gap:12px;padding:8px 0;border:0}.board-results-table td:before{content:attr(data-label);color:#281417;font-size:12px;font-weight:800}.board-results-table .board-results-empty{display:block}.board-results-table .board-results-empty:before{display:none}}

/* Final admin action normalization: identical controls across all modules. */
.admin-dashboard-main .admin-edit-action,.admin-dashboard-main .admin-fee-actions>a{display:grid;width:38px;height:38px;min-width:38px;padding:0;border:0;border-radius:10px;background:#eef8f1;color:#118446!important;box-shadow:none;font-size:14px;line-height:1;place-items:center}
.admin-dashboard-main .admin-edit-action:hover,.admin-dashboard-main .admin-fee-actions>a:hover{background:#118446;color:#fff!important}
.admin-dashboard-main .admin-delete-action,.admin-dashboard-main .admin-row-actions form button,.admin-dashboard-main .admin-fee-actions form button,.admin-dashboard-main .admin-notice-actions button.delete,.admin-dashboard-main .admin-enquiry-delete,.admin-dashboard-main .admin-calendar-links .admin-delete-action{display:grid;width:38px;height:38px;min-width:38px;padding:0;border:0;border-radius:10px;background:#fff0f0;color:#d80812;box-shadow:none;font-size:14px;line-height:1;place-items:center}
.admin-dashboard-main .admin-delete-action:hover,.admin-dashboard-main .admin-row-actions form button:hover,.admin-dashboard-main .admin-fee-actions form button:hover,.admin-dashboard-main .admin-notice-actions button.delete:hover,.admin-dashboard-main .admin-enquiry-delete:hover,.admin-dashboard-main .admin-calendar-links .admin-delete-action:hover{background:#d80812;color:#fff}
.admin-dashboard-main .admin-row-actions form,.admin-dashboard-main .admin-fee-actions form,.admin-dashboard-main .admin-notice-actions form{margin:0}

/* Public-disclosure shortcut beside the CBSE affiliation number. */
.dini-topbar-actions{display:flex!important;align-items:center;gap:14px}
.dini-topbar-actions>li{display:flex!important;align-items:center}
.dini-topbar-actions>li+li{margin-left:0!important;padding-left:0!important;border-left:0!important}
.dini-disclosure-button{display:inline-flex!important;align-items:center;gap:7px;padding:7px 13px;border:1px solid #ffd54a;border-radius:999px;background:#ffd54a;color:#2b1719!important;font-size:12px!important;font-weight:800;line-height:1.1;white-space:nowrap;animation:diniDisclosurePulse 1.35s ease-in-out infinite}
.dini-disclosure-button i{margin:0!important;color:#d80812!important}
.dini-disclosure-button:hover{background:#fff;color:#d80812!important}
@keyframes diniDisclosurePulse{0%,100%{box-shadow:0 0 0 0 rgba(255,213,74,.2);transform:scale(1)}50%{box-shadow:0 0 0 6px rgba(255,213,74,.12);transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.dini-disclosure-button{animation:none}}
@media(max-width:1199px){.dini-topbar-actions{gap:9px}.dini-disclosure-button{padding:7px 10px;font-size:11px!important}}

.th-menu-wrapper .mobile-logo-affiliation{max-width:255px;margin:8px auto 0;color:#3a3032;font-size:11px;font-weight:700;line-height:1.35;text-align:center}

/* Keep inner-page mobile headers compact and match the breadcrumb offset to
   the real header height. This removes the previous empty 126px spacer. */
@media(max-width:767px){
    .inner-page .header-layout1 .sticky-wrapper .container{padding-right:14px;padding-left:14px}
    .inner-page .header-layout1 .menu-area{min-height:72px;padding-top:0!important;padding-bottom:0!important}
    .inner-page .header-layout1 .menu-area>.row{min-height:72px}
    .inner-page .header-layout1 .header-logo{padding:3px 0}
    .inner-page .header-layout1 .header-logo img{width:185px!important;max-height:58px!important}
    .inner-page .header-layout1 .th-menu-toggle{width:46px;height:46px;min-width:46px;padding:0;font-size:19px}
    .inner-page .breadcumb-wrapper{margin-top:72px!important}
}
