/*
Theme Name: SITL Institutional Theme
Theme URI: https://sitl.sureshinternationalcollege.in/
Author: SITL
Description: Custom WordPress theme for Suresh International Institute, based on the existing SITL website design with upgraded institutional styling.
Version: 1.7.0
Text Domain: sitl
*/

/* WordPress compatibility additions */
body.admin-bar .menu-sticky.sticky { top: 32px; }
@media (max-width:782px){ body.admin-bar .menu-sticky.sticky { top:46px; } }
.wp-block-image img, .sii-content-section img { max-width:100%; height:auto; }
.sitl-page-content > *:first-child { margin-top:0; }
.sitl-page-content > *:last-child { margin-bottom:0; }
.sitl-course-meta { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 28px; }
.sitl-course-meta span { background:#f8f1f1; border-left:4px solid #0F4C81; padding:10px 14px; font-weight:600; }
.sitl-course-subjects table { width:100%; border-collapse:collapse; margin-top:20px; }
.sitl-course-subjects th, .sitl-course-subjects td { border:1px solid #ddd; padding:10px 12px; text-align:left; }
.sitl-course-subjects th { background:#0F4C81; color:#fff; }
.sitl-course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.sitl-course-card { background:#fff; border:1px solid #eee; box-shadow:0 5px 18px rgba(0,0,0,.06); padding:22px; height:100%; }
.sitl-course-card h3 { margin:0 0 12px; font-size:20px; line-height:1.35; }
.sitl-course-card .course-code { font-weight:700; color:#0F4C81; }
.sitl-course-card a { color:inherit; }
.sitl-pagination { margin-top:35px; }
@media(max-width:991px){ .sitl-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:600px){ .sitl-course-grid{grid-template-columns:1fr;} }


/* =========================================================
   SITL v1.1 visual upgrade: Navy + Gold, motion, modern footer
   ========================================================= */
:root {
    --sitl-primary: #0F4C81;
    --sitl-primary-dark: #0A3155;
    --sitl-primary-soft: #EAF2F8;
    --sitl-accent: #E7B43C;
    --sitl-footer: #071D33;
    --sitl-footer-alt: #0B2F52;
    --sitl-card-shadow: 0 16px 36px rgba(10,49,85,.12);
}

/* Clearer premium institutional treatment */
.rs-header .menu-area,
.home1 .menu-area,
.rs-toolbar { background: var(--sitl-primary-dark) !important; }
.rs-toolbar .apply-btn,
#scrollUp,
.home1 .right-bar-icon .rs-search,
.home1 .right-bar-icon .nav-expander,
.sl-get-started-btn,
.readon,
.readon2,
.apply-btn,
.rs-calltoaction .cta-button { background: var(--sitl-primary) !important; }
.rs-toolbar .apply-btn:hover,
#scrollUp:hover,
.home1 .right-bar-icon .rs-search:hover,
.home1 .right-bar-icon .nav-expander:hover,
.sl-get-started-btn:hover,
.rs-calltoaction .cta-button:hover { background: var(--sitl-primary-dark) !important; }
.rs-toolbar .welcome-message i,
.rs-header .rs-header-top .header-contact .widget-text i,
.home1 .menu-area .rs-menu > ul > li > a:hover,
.home1 .menu-area .rs-menu li.current_page_item > a,
.rs-header .menu-area .rs-menu li.current-menu-item > a { color: var(--sitl-accent) !important; }
.site-brand span { color: var(--sitl-primary-dark) !important; }

/* Subtle active-menu underline */
.home1 .menu-area .rs-menu > ul > li > a { position: relative; }
.home1 .menu-area .rs-menu > ul > li > a:after {
    content:""; position:absolute; left:50%; bottom:18px; width:0; height:2px;
    background:var(--sitl-accent); transform:translateX(-50%); transition:width .28s ease;
}
.home1 .menu-area .rs-menu > ul > li > a:hover:after,
.home1 .menu-area .rs-menu > ul > li.current-menu-item > a:after,
.home1 .menu-area .rs-menu > ul > li.current_page_item > a:after { width:28px; }

/* Card polish */
.services-item,
.cource-item,
.sitl-course-card,
.sii-card { transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease; }
.services-item:hover,
.cource-item:hover,
.sitl-course-card:hover,
.sii-card:hover { transform: translateY(-7px); box-shadow: var(--sitl-card-shadow); border-color: rgba(15,76,129,.22); }
.cource-img img,
.about-img img { transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.cource-item:hover .cource-img img,
.about-img:hover img { transform: scale(1.045); }

/* Hero motion */
#home-slider .owl-item.active .item > img { animation: sitlHeroZoom 9s ease-out both; }
@keyframes sitlHeroZoom { from { transform:scale(1); } to { transform:scale(1.055); } }

/* Scroll reveal; classes are attached only when JS is available */
.sitl-reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay:var(--sitl-delay,0ms); }
.sitl-reveal.sitl-in-view { opacity:1; transform:none; }

/* Page/card color refresh */
.sii-page-hero { background: linear-gradient(135deg, var(--sitl-primary-dark) 0%, var(--sitl-primary) 65%, #2F78B7 100%) !important; }
.sii-card h2, .sii-card h3 { color:var(--sitl-primary-dark) !important; }
.sii-simple-table th,
.sitl-course-subjects th { background:var(--sitl-primary) !important; }
.sitl-course-meta span { background:var(--sitl-primary-soft); border-left-color:var(--sitl-primary); }
.sitl-course-card .course-code { color:var(--sitl-primary); }

/* Modern footer v2 */
.rs-footer.sitl-footer-v2 { background:var(--sitl-footer) !important; color:#dce7f0; position:relative; overflow:hidden; }
.rs-footer.sitl-footer-v2:before {
    content:""; position:absolute; width:380px; height:380px; border-radius:50%;
    background:rgba(231,180,60,.07); right:-160px; top:160px; pointer-events:none;
}
.sitl-footer-cta { background:linear-gradient(100deg,var(--sitl-primary),#236EAA); padding:32px 0; position:relative; z-index:1; }
.sitl-footer-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.sitl-footer-kicker { display:block; color:#ffe9ae; text-transform:uppercase; letter-spacing:1.4px; font-size:12px; font-weight:800; margin-bottom:5px; }
.sitl-footer-cta h3 { margin:0; color:#fff; font-size:27px; line-height:1.3; }
.sitl-footer-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.sitl-footer-btn { display:inline-flex; align-items:center; gap:8px; padding:12px 18px; border-radius:6px; font-weight:700; text-decoration:none !important; transition:transform .25s ease, box-shadow .25s ease, background .25s ease; }
.sitl-footer-btn:hover { transform:translateY(-2px); box-shadow:0 9px 24px rgba(0,0,0,.16); }
.sitl-footer-btn-light { background:#fff; color:var(--sitl-primary-dark) !important; }
.sitl-footer-btn-gold { background:var(--sitl-accent); color:#17212b !important; }
.sitl-footer-main { padding:70px 0 45px; position:relative; z-index:1; }
.sitl-footer-v2 .sitl-footer-brand { display:flex; align-items:center; gap:13px; margin-bottom:18px; }
.sitl-footer-v2 .sitl-footer-brand img { width:62px; height:62px; object-fit:contain; background:#fff; border-radius:50%; padding:5px; }
.sitl-footer-v2 .sitl-footer-brand strong { display:block; color:#fff; font-size:18px; line-height:1.25; }
.sitl-footer-v2 .sitl-footer-brand small { color:#9fb6c9; }
.sitl-footer-about { color:#b7c8d7; line-height:1.75; margin:0 0 18px; }
.sitl-footer-badges { display:flex; gap:8px; flex-wrap:wrap; }
.sitl-footer-badge { border:1px solid rgba(255,255,255,.16); border-radius:30px; padding:6px 10px; color:#d7e3ed; font-size:12px; }
.sitl-footer-heading { color:#fff; font-size:16px; font-weight:800; letter-spacing:.3px; margin:5px 0 20px; position:relative; padding-bottom:11px; }
.sitl-footer-heading:after { content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; background:var(--sitl-accent); border-radius:4px; }
.sitl-footer-links { list-style:none; margin:0; padding:0; }
.sitl-footer-links li { margin:0 0 10px; }
.sitl-footer-links a { color:#b7c8d7 !important; text-decoration:none; transition:color .2s ease, padding-left .2s ease; }
.sitl-footer-links a:hover { color:#fff !important; padding-left:5px; }
.sitl-footer-links i { color:var(--sitl-accent); width:14px; }
.sitl-footer-contact-list { list-style:none; margin:0; padding:0; }
.sitl-footer-contact-list li { display:flex; align-items:flex-start; gap:11px; color:#b7c8d7; margin-bottom:14px; line-height:1.55; }
.sitl-footer-contact-list i { color:var(--sitl-accent); font-size:16px; margin-top:4px; width:17px; }
.sitl-footer-contact-list a { color:#dce7f0 !important; }
.sitl-footer-contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:40px; padding-top:34px; border-top:1px solid rgba(255,255,255,.1); }
.sitl-footer-contact-card { display:flex; align-items:center; gap:13px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:16px; transition:background .25s ease, transform .25s ease; }
.sitl-footer-contact-card:hover { background:rgba(255,255,255,.075); transform:translateY(-3px); }
.sitl-footer-contact-icon { width:42px; height:42px; min-width:42px; border-radius:9px; display:flex; align-items:center; justify-content:center; background:rgba(231,180,60,.14); color:var(--sitl-accent); font-size:18px; }
.sitl-footer-contact-card small { display:block; color:#90a9bc; font-size:11px; text-transform:uppercase; letter-spacing:.7px; margin-bottom:2px; }
.sitl-footer-contact-card strong,
.sitl-footer-contact-card a { color:#fff !important; font-size:14px; line-height:1.45; }
.sitl-footer-bottom-v2 { border-top:1px solid rgba(255,255,255,.09); background:#051727; padding:19px 0; position:relative; z-index:1; }
.sitl-footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.sitl-footer-bottom-inner p { color:#92aabe; margin:0; font-size:13px; }
.sitl-footer-bottom-inner strong { color:#fff; }
.sitl-footer-mini-links { display:flex; gap:18px; flex-wrap:wrap; }
.sitl-footer-mini-links a { color:#afc1cf !important; font-size:13px; }
.sitl-footer-mini-links a:hover { color:var(--sitl-accent) !important; }

@media (max-width:991px) {
    .sitl-footer-cta-inner { align-items:flex-start; flex-direction:column; }
    .sitl-footer-contact-grid { grid-template-columns:1fr; }
    .sitl-footer-v2 .row > div { margin-bottom:28px; }
}
@media (max-width:767px) {
    .sitl-footer-cta { padding:26px 0; }
    .sitl-footer-cta h3 { font-size:22px; }
    .sitl-footer-main { padding:52px 0 28px; }
    .sitl-footer-bottom-inner { align-items:flex-start; flex-direction:column; }
    .home1 .menu-area .rs-menu > ul > li > a:after { display:none; }
}
@media (prefers-reduced-motion:reduce) {
    *, *:before, *:after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
    .sitl-reveal { opacity:1 !important; transform:none !important; }
}


/* =========================================================
   SITL v1.2: navigation, off-canvas and course catalogue
   ========================================================= */

/* Desktop menu: one controlled row instead of wrapping into a second row. */
@media (min-width:1200px) {
    .home1 .menu-area .container,
    .rs-header .menu-area .container {
        width:calc(100% - 48px) !important;
        max-width:1680px !important;
    }
    .home1 .menu-area .main-menu .row,
    .rs-header .menu-area .main-menu .row { margin-left:0; margin-right:0; }
    .home1 .menu-area .rs-menu,
    .rs-header .menu-area .rs-menu { padding-right:96px; }
    .home1 .menu-area .rs-menu > ul.nav-menu,
    .rs-header .menu-area .rs-menu > ul.nav-menu {
        display:flex !important;
        align-items:center;
        flex-wrap:nowrap;
        width:100%;
        margin:0;
        padding:0;
        white-space:nowrap;
    }
    .home1 .menu-area .rs-menu > ul.nav-menu > li,
    .rs-header .menu-area .rs-menu > ul.nav-menu > li {
        float:none !important;
        display:block;
        flex:0 0 auto;
        margin:0 !important;
    }
    .home1 .menu-area .rs-menu > ul.nav-menu > li > a,
    .rs-header .menu-area .rs-menu > ul.nav-menu > li > a {
        height:64px !important;
        line-height:64px !important;
        padding:0 9px !important;
        font-size:12.5px !important;
        letter-spacing:0 !important;
    }
    .home1 .menu-area .right-bar-icon,
    .rs-header .menu-area .right-bar-icon { height:64px; display:flex; align-items:stretch; }
    .home1 .right-bar-icon a,
    .rs-header .right-bar-icon a { height:64px !important; line-height:64px !important; }
    .home1 .menu-area .rs-menu > ul > li > a:after { bottom:12px; }
}
@media (min-width:1200px) and (max-width:1450px) {
    .home1 .menu-area .container,
    .rs-header .menu-area .container { width:calc(100% - 24px) !important; }
    .home1 .menu-area .rs-menu,
    .rs-header .menu-area .rs-menu { padding-right:92px; }
    .home1 .menu-area .rs-menu > ul.nav-menu > li > a,
    .rs-header .menu-area .rs-menu > ul.nav-menu > li > a {
        padding:0 5px !important;
        font-size:11.5px !important;
    }
}

/* Off-canvas is explicitly closed until the user opens it. */
nav.right_menu_togle {
    width:min(340px, 92vw) !important;
    right:-370px !important;
    background:linear-gradient(180deg,var(--sitl-primary-dark),#061d32) !important;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    box-shadow:-18px 0 45px rgba(0,0,0,.22);
    transition:right .3s ease, opacity .25s ease, visibility .3s ease !important;
}
body.nav-expanded nav.right_menu_togle {
    right:0 !important;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
}
body.nav-expanded { overflow:hidden; }
.sitl-offcanvas-backdrop {
    position:fixed;
    inset:0;
    background:rgba(3,18,31,.48);
    z-index:1990;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease, visibility .25s ease;
}
body.nav-expanded .sitl-offcanvas-backdrop { opacity:1; visibility:visible; pointer-events:auto; }
.right_menu_togle .close-btn { padding:22px 22px 8px !important; min-height:58px; }
.right_menu_togle #nav-close {
    appearance:none;
    border:2px solid rgba(255,255,255,.75);
    background:transparent;
    color:#fff;
    width:38px;
    height:38px;
    line-height:30px;
    border-radius:50%;
    float:right;
    font-size:25px;
    cursor:pointer;
}
.right_menu_togle #nav-close:hover { border-color:var(--sitl-accent); color:var(--sitl-accent); }
.right_menu_togle .canvas-logo { padding:8px 28px 12px !important; text-align:left; }
.right_menu_togle .canvas-logo img { width:112px !important; height:112px !important; max-width:112px !important; object-fit:contain; display:block; }
.right_menu_togle .offcanvas-text { padding:0 28px 18px; margin:0 !important; }
.right_menu_togle .offcanvas-text strong { display:block; color:#fff !important; font-size:18px; line-height:1.35; }
.right_menu_togle .offcanvas-text span { display:block; margin-top:4px; color:#9fc0da !important; font-size:12px; text-transform:uppercase; letter-spacing:1px; }
.right_menu_togle .canvas-contact { padding:0 16px !important; }
.right_menu_togle .canvas-contact ul { margin:0; padding:0; list-style:none; }
.right_menu_togle .canvas-contact li { margin:0 !important; border-bottom:1px solid rgba(255,255,255,.09); }
.right_menu_togle .canvas-contact li a {
    display:block;
    padding:12px 12px !important;
    color:#e8f1f8 !important;
    font-size:14px;
    font-weight:600;
    text-decoration:none !important;
}
.right_menu_togle .canvas-contact li a:hover { color:var(--sitl-accent) !important; padding-left:17px !important; }
.sitl-offcanvas-support { margin:22px 28px 32px; padding:17px; border-radius:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); }
.sitl-offcanvas-support small { display:block; color:#9fc0da; text-transform:uppercase; letter-spacing:.8px; font-size:10px; margin-bottom:8px; }
.sitl-offcanvas-support a { display:block; color:#fff !important; margin-top:7px; font-weight:700; }
.sitl-offcanvas-support a i { width:20px; color:var(--sitl-accent); }

/* Course archive: compact three-column cards, no legacy empty table columns. */
.sitl-course-archive-hero { padding:58px 0 !important; }
.sitl-course-hero-kicker { display:inline-block; margin-bottom:8px; color:#ffe6a0; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1.6px; }
.sitl-course-catalogue { background:#f7f9fc !important; padding:54px 0 70px !important; }
.sitl-course-catalogue-container { max-width:1640px; }
.sitl-course-toolbar {
    display:grid;
    grid-template-columns:minmax(260px,1.25fr) minmax(240px,.85fr) auto;
    gap:14px;
    align-items:end;
    padding:18px;
    margin-bottom:18px;
    background:#fff;
    border:1px solid #e2e8ef;
    border-radius:10px;
    box-shadow:0 8px 24px rgba(10,49,85,.06);
}
.sitl-course-filter label { display:block; margin:0 0 7px; color:#21384d; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; }
.sitl-course-search-box { position:relative; }
.sitl-course-search-box i { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#6f8292; }
.sitl-course-search-box input,
.sitl-course-filter select {
    width:100%;
    height:46px;
    border:1px solid #d4dde6;
    border-radius:6px;
    background:#fff;
    color:#263746;
    outline:none;
    box-shadow:none;
}
.sitl-course-search-box input { padding:0 14px 0 40px; }
.sitl-course-filter select { padding:0 36px 0 12px; }
.sitl-course-search-box input:focus,
.sitl-course-filter select:focus { border-color:var(--sitl-primary); box-shadow:0 0 0 3px rgba(15,76,129,.10); }
.sitl-course-reset {
    height:46px;
    padding:0 17px;
    border:1px solid var(--sitl-primary);
    border-radius:6px;
    background:#fff;
    color:var(--sitl-primary);
    font-weight:800;
    cursor:pointer;
}
.sitl-course-reset:hover { background:var(--sitl-primary-soft); }
.sitl-course-results-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0 2px 20px; color:#627485; }
.sitl-course-results-head strong { color:var(--sitl-primary-dark); font-size:20px; margin-right:5px; }
.sitl-course-results-note { font-size:13px; }
.sitl-course-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    align-items:stretch;
}
.sitl-course-card {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-width:0;
    min-height:218px;
    padding:25px 27px;
    margin:0 !important;
    background:#fff;
    border:1px solid #dde5ed;
    border-radius:2px;
    box-shadow:0 9px 24px rgba(10,49,85,.05);
}
.sitl-course-card[hidden] { display:none !important; }
.sitl-course-card h3 { margin:0 0 18px; font-size:20px; line-height:1.45; font-weight:800; color:#172c3d; }
.sitl-course-card h3 a { color:#172c3d !important; text-decoration:none !important; }
.sitl-course-card h3 a:hover { color:var(--sitl-primary) !important; }
.sitl-course-card .course-code,
.sitl-course-card .course-duration { margin-top:7px; color:#34495a; font-size:15px; }
.sitl-course-card .course-code { color:var(--sitl-primary) !important; font-weight:800; }
.sitl-course-card .course-code span,
.sitl-course-card .course-duration span { font-weight:800; }
.sitl-course-details-link { display:inline-flex; align-items:center; gap:7px; margin-top:18px; color:#263746 !important; text-decoration:none !important; font-weight:600; width:max-content; }
.sitl-course-details-link span { transition:transform .2s ease; }
.sitl-course-details-link:hover { color:var(--sitl-primary) !important; }
.sitl-course-details-link:hover span { transform:translateX(4px); }
.sitl-course-load-more-wrap { text-align:center; margin-top:34px; }
.sitl-course-load-more {
    min-width:205px;
    height:48px;
    padding:0 24px;
    border:0;
    border-radius:6px;
    background:var(--sitl-primary);
    color:#fff;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(15,76,129,.18);
}
.sitl-course-load-more:hover { background:var(--sitl-primary-dark); }
.sitl-course-load-more[hidden] { display:none !important; }
.sitl-course-empty { padding:55px 24px; text-align:center; border:1px dashed #cbd5df; background:#fff; border-radius:8px; }
.sitl-course-empty i { font-size:30px; color:#94a5b4; margin-bottom:12px; }
.sitl-course-empty h3 { margin:0 0 8px; color:var(--sitl-primary-dark); }
.sitl-course-empty p { margin:0; color:#6a7c8c; }

@media (max-width:1100px) {
    .sitl-course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sitl-course-toolbar { grid-template-columns:1fr 1fr; }
    .sitl-course-toolbar-action { grid-column:1 / -1; }
    .sitl-course-reset { width:100%; }
}
@media (max-width:767px) {
    .sitl-course-catalogue { padding:38px 0 52px !important; }
    .sitl-course-toolbar { grid-template-columns:1fr; padding:14px; }
    .sitl-course-toolbar-action { grid-column:auto; }
    .sitl-course-results-head { align-items:flex-start; flex-direction:column; gap:5px; }
    .sitl-course-grid { grid-template-columns:1fr; gap:14px; }
    .sitl-course-card { min-height:0; padding:21px; }
    .sitl-course-card h3 { font-size:19px; }
    .sitl-course-results-note { display:none; }
}


/* =========================================================
   SITL v1.3: mobile-menu first-paint fix + unique equal cards
   ========================================================= */

/* The responsive primary menu must be closed before JS runs.
   The legacy menu script only toggles the class on the button;
   this CSS makes that state deterministic from first paint. */
@media (max-width: 991px) {
    .rs-header .menu-area a.rs-menu-toggle + nav.rs-menu,
    .home1 .menu-area a.rs-menu-toggle + nav.rs-menu {
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: max-height .28s ease, opacity .2s ease, visibility .2s ease !important;
    }
    .rs-header .menu-area a.rs-menu-toggle.rs-menu-toggle-open + nav.rs-menu,
    .home1 .menu-area a.rs-menu-toggle.rs-menu-toggle-open + nav.rs-menu {
        height: auto !important;
        max-height: 1100px !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    .rs-header .menu-area nav.rs-menu.rs-menu-close,
    .home1 .menu-area nav.rs-menu.rs-menu-close {
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
    }
    .rs-header .menu-area a.rs-menu-toggle.rs-menu-toggle-open + nav.rs-menu.rs-menu-close,
    .home1 .menu-area a.rs-menu-toggle.rs-menu-toggle-open + nav.rs-menu.rs-menu-close {
        height: auto !important;
        max-height: 1100px !important;
        overflow: visible !important;
    }
}

/* Homepage feature cards: one retained set, four distinct institutional colors,
   and consistent top/bottom alignment regardless of title wrapping. */
.sitl-home-highlights .row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.sitl-home-highlights .row > [class*="col-"] {
    display: flex;
    align-items: stretch;
    margin-bottom: 0;
}
.sitl-home-highlights .sitl-feature-card {
    width: 100%;
    min-height: 205px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 44px 22px 24px !important;
    border-radius: 4px;
    box-shadow: 0 10px 24px rgba(9, 32, 50, .14) !important;
    top: -30px;
}
.sitl-home-highlights .sitl-feature-card .services-desc {
    width: 100%;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: 6px;
}
.sitl-home-highlights .sitl-feature-card .services-title {
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}
.sitl-home-highlights .sitl-feature-card .services-desc p {
    margin: 0;
    color: rgba(255,255,255,.88) !important;
}
.sitl-home-highlights .sitl-feature-card .services-icon {
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
}

.sitl-home-highlights .sitl-feature-blue,
.sitl-home-highlights .sitl-feature-blue .services-icon,
.sitl-home-highlights .sitl-feature-blue:hover,
.sitl-home-highlights .sitl-feature-blue:hover .services-icon { background: #0F4C81 !important; }

.sitl-home-highlights .sitl-feature-teal,
.sitl-home-highlights .sitl-feature-teal .services-icon,
.sitl-home-highlights .sitl-feature-teal:hover,
.sitl-home-highlights .sitl-feature-teal:hover .services-icon { background: #147D7E !important; }

.sitl-home-highlights .sitl-feature-purple,
.sitl-home-highlights .sitl-feature-purple .services-icon,
.sitl-home-highlights .sitl-feature-purple:hover,
.sitl-home-highlights .sitl-feature-purple:hover .services-icon { background: #6D4C8F !important; }

.sitl-home-highlights .sitl-feature-orange,
.sitl-home-highlights .sitl-feature-orange .services-icon,
.sitl-home-highlights .sitl-feature-orange:hover,
.sitl-home-highlights .sitl-feature-orange:hover .services-icon { background: #B65D27 !important; }

.sitl-home-highlights .sitl-feature-card:hover {
    transform: translateY(-7px);
    filter: brightness(1.04);
}

@media (max-width: 991px) {
    .sitl-home-highlights .row > [class*="col-"] { margin-bottom: 44px; }
    .sitl-home-highlights .sitl-feature-card { min-height: 205px; }
}
@media (max-width: 767px) {
    .sitl-home-highlights { padding-top: 48px; }
    .sitl-home-highlights .row > [class*="col-"] { margin-bottom: 56px; }
    .sitl-home-highlights .row > [class*="col-"]:last-child { margin-bottom: 14px; }
    .sitl-home-highlights .sitl-feature-card { min-height: 190px; }
}

/* =========================================================
   SITL v1.4: structured course directory + mobile menu repair
   ========================================================= */

/* The v1.3 search/filter catalogue is intentionally retired. */
.sitl-course-toolbar,
.sitl-course-results-head,
.sitl-course-load-more-wrap { display:none !important; }

.sitl-course-directory {
    background:#f7f9fc !important;
    padding:42px 0 72px !important;
}
.sitl-course-directory-container { max-width:1640px; }

/* Compact division summary tables: no unused spacer columns/gaps. */
.sitl-division-summaries {
    display:grid;
    gap:28px;
    margin-bottom:52px;
}
.sitl-division-summary {
    background:#fff;
    border:1px solid #dde4eb;
    border-radius:9px;
    overflow:hidden;
    box-shadow:0 9px 25px rgba(10,49,85,.055);
}
.sitl-division-summary > h2 {
    margin:0;
    padding:17px 20px;
    background:var(--sitl-primary-dark);
    color:#fff;
    font-size:19px;
    line-height:1.3;
    text-transform:uppercase;
}
.sitl-summary-table-wrap { overflow-x:auto; }
.sitl-summary-table {
    width:100%;
    table-layout:auto;
    margin:0;
    border-collapse:collapse;
    background:#fff;
}
.sitl-summary-table th,
.sitl-summary-table td {
    padding:13px 16px;
    border:0;
    border-bottom:1px solid #e6ebf0;
    text-align:left;
    vertical-align:middle;
}
.sitl-summary-table th {
    background:#f5f8fb;
    color:var(--sitl-primary-dark);
    font-weight:800;
}
.sitl-summary-table tbody tr:last-child td { border-bottom:0; }
.sitl-summary-table tbody tr:hover { background:#fbfdff; }
.sitl-summary-table .sitl-summary-sl { width:64px; }
.sitl-summary-table .sitl-summary-count { width:105px; }
.sitl-summary-table .sitl-summary-details { width:105px; }
.sitl-summary-table td:nth-child(1),
.sitl-summary-table td:nth-child(3),
.sitl-summary-table td:nth-child(4) { white-space:nowrap; }
.sitl-summary-table td:nth-child(2) { width:auto; }
.sitl-summary-table a { color:#263746 !important; text-decoration:none !important; }
.sitl-summary-table td:nth-child(2) a:hover { color:var(--sitl-primary) !important; }
.sitl-summary-view { color:var(--sitl-primary) !important; font-weight:800; }

/* Category sections + approved 3-column course cards. */
.sitl-category-course-sections { display:grid; gap:50px; }
.sitl-category-section {
    scroll-margin-top:105px;
    padding-top:2px;
}
.sitl-category-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
    padding-bottom:13px;
    border-bottom:3px solid var(--sitl-primary);
}
.sitl-category-heading span {
    display:block;
    margin-bottom:3px;
    color:#6c7f90;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.9px;
}
.sitl-category-heading h2 {
    margin:0;
    color:var(--sitl-primary-dark);
    font-size:25px;
    line-height:1.25;
}
.sitl-category-heading > strong {
    flex:0 0 auto;
    padding:7px 11px;
    border-radius:4px;
    background:var(--sitl-primary-soft);
    color:var(--sitl-primary);
    font-size:14px;
}
.sitl-category-course-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    align-items:stretch;
}
.sitl-category-course-grid .sitl-course-card {
    min-height:218px;
    height:100%;
}
.sitl-category-back-top {
    display:inline-flex;
    margin-top:15px;
    color:var(--sitl-primary) !important;
    font-size:13px;
    font-weight:700;
    text-decoration:none !important;
}
.sitl-category-empty {
    margin:0;
    padding:22px;
    background:#fff;
    border:1px solid #e1e7ee;
}

/* WordPress uses jQuery.noConflict(); the repaired rsmenu script now receives
   jQuery explicitly. These states guarantee a deterministic mobile menu. */
@media (max-width:991px) {
    .rs-header .menu-area .rs-menu-toggle { cursor:pointer; }
    .rs-header .menu-area .rs-menu {
        overflow:hidden !important;
    }
    .rs-header .menu-area .rs-menu-toggle.rs-menu-toggle-close + .rs-menu,
    .rs-header .menu-area .rs-menu.rs-menu-close {
        height:0 !important;
        max-height:0 !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }
    .rs-header .menu-area .rs-menu-toggle.rs-menu-toggle-open + .rs-menu {
        height:auto !important;
        max-height:1200px !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        overflow:visible !important;
    }
}

@media (max-width:1100px) {
    .sitl-category-course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
    .sitl-course-directory { padding:30px 0 52px !important; }
    .sitl-division-summaries { gap:20px; margin-bottom:38px; }
    .sitl-division-summary > h2 { font-size:16px; padding:14px; }
    .sitl-summary-table th,
    .sitl-summary-table td { padding:11px 10px; font-size:13px; }
    .sitl-summary-table .sitl-summary-sl { width:44px; }
    .sitl-summary-table .sitl-summary-count,
    .sitl-summary-table .sitl-summary-details { width:70px; }
    .sitl-category-course-sections { gap:38px; }
    .sitl-category-heading { align-items:flex-start; flex-direction:column; gap:8px; }
    .sitl-category-heading h2 { font-size:21px; }
    .sitl-category-course-grid { grid-template-columns:1fr; gap:14px; }
    .sitl-category-course-grid .sitl-course-card { min-height:0; }
}

/* =========================================================
   SITL v1.5: boxed course directory + table-only catalogue
   ========================================================= */

/* Course pages use a boxed content body while header/hero/footer remain full width. */
.post-type-archive-sitl_course .sitl-course-directory-container,
.single-sitl_course .sii-content-section > .container {
    width: calc(100% - 48px) !important;
    max-width: 1620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Keep the archive compact: remove the excessive vertical break before course data. */
.post-type-archive-sitl_course .sitl-course-directory {
    padding-top: 30px !important;
}
.post-type-archive-sitl_course .sitl-division-summaries {
    gap: 20px !important;
    margin-bottom: 26px !important;
}

/* Division count tables are intentionally compact so Count/View sit near the division name. */
.post-type-archive-sitl_course .sitl-division-summary {
    width: 100%;
}
.post-type-archive-sitl_course .sitl-summary-table-wrap {
    padding: 0;
    overflow-x: auto;
}
.post-type-archive-sitl_course .sitl-summary-table {
    width: min(100%, 920px) !important;
    min-width: 720px;
    table-layout: fixed !important;
}
.post-type-archive-sitl_course .sitl-summary-table .sitl-summary-sl,
.post-type-archive-sitl_course .sitl-summary-table th:nth-child(1),
.post-type-archive-sitl_course .sitl-summary-table td:nth-child(1) {
    width: 64px !important;
}
.post-type-archive-sitl_course .sitl-summary-table th:nth-child(2),
.post-type-archive-sitl_course .sitl-summary-table td:nth-child(2) {
    width: 590px !important;
}
.post-type-archive-sitl_course .sitl-summary-table .sitl-summary-count,
.post-type-archive-sitl_course .sitl-summary-table th:nth-child(3),
.post-type-archive-sitl_course .sitl-summary-table td:nth-child(3) {
    width: 115px !important;
    text-align: center;
}
.post-type-archive-sitl_course .sitl-summary-table .sitl-summary-details,
.post-type-archive-sitl_course .sitl-summary-table th:nth-child(4),
.post-type-archive-sitl_course .sitl-summary-table td:nth-child(4) {
    width: 115px !important;
    text-align: center;
}

/* Table-only course catalogue. Cards are no longer used on /courses/. */
.post-type-archive-sitl_course .sitl-category-course-sections {
    display: block !important;
}
.post-type-archive-sitl_course .sitl-category-section {
    margin: 0 0 30px !important;
    padding: 0 !important;
    scroll-margin-top: 105px;
}
.post-type-archive-sitl_course .sitl-course-table-box {
    overflow: hidden;
    background: #fff;
    border: 1px solid #dde4eb;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(10,49,85,.055);
}
.post-type-archive-sitl_course .sitl-course-table-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 20px;
    background: var(--sitl-primary-dark);
    color: #fff;
}
.post-type-archive-sitl_course .sitl-course-table-title h2 {
    margin: 0;
    color: #fff;
    font-size: 19px;
    line-height: 1.35;
    text-transform: uppercase;
}
.post-type-archive-sitl_course .sitl-course-table-title > span {
    flex: 0 0 auto;
    padding: 5px 9px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 4px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}
.post-type-archive-sitl_course .sitl-category-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.post-type-archive-sitl_course .sitl-category-table {
    width: 100%;
    min-width: 760px;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}
.post-type-archive-sitl_course .sitl-category-table th,
.post-type-archive-sitl_course .sitl-category-table td {
    padding: 13px 16px;
    border: 0;
    border-right: 1px solid #e3e8ed;
    border-bottom: 1px solid #e3e8ed;
    text-align: left;
    vertical-align: middle;
}
.post-type-archive-sitl_course .sitl-category-table th:last-child,
.post-type-archive-sitl_course .sitl-category-table td:last-child {
    border-right: 0;
}
.post-type-archive-sitl_course .sitl-category-table tbody tr:last-child td {
    border-bottom: 0;
}
.post-type-archive-sitl_course .sitl-category-table thead th {
    background: #f6f1e8;
    color: var(--sitl-primary-dark);
    font-weight: 800;
}
.post-type-archive-sitl_course .sitl-category-table tbody tr:nth-child(even) {
    background: #fcfbf8;
}
.post-type-archive-sitl_course .sitl-category-table tbody tr:hover {
    background: #f4f8fc;
}
.post-type-archive-sitl_course .sitl-category-table .sitl-col-sl {
    width: 80px;
}
.post-type-archive-sitl_course .sitl-category-table .sitl-col-code {
    width: 190px;
}
.post-type-archive-sitl_course .sitl-category-table .sitl-col-duration {
    width: 200px;
}
.post-type-archive-sitl_course .sitl-category-table td:nth-child(1),
.post-type-archive-sitl_course .sitl-category-table td:nth-child(2),
.post-type-archive-sitl_course .sitl-category-table td:nth-child(4) {
    white-space: nowrap;
}
.post-type-archive-sitl_course .sitl-category-table td:nth-child(3) a {
    color: var(--sitl-primary) !important;
    font-weight: 600;
    text-decoration: none !important;
}
.post-type-archive-sitl_course .sitl-category-table td:nth-child(3) a:hover {
    color: var(--sitl-primary-dark) !important;
    text-decoration: underline !important;
}
.post-type-archive-sitl_course .sitl-category-back-top {
    margin-top: 7px !important;
    margin-left: 4px;
}

/* Remove legacy archive card/grid presentation if cached CSS is still present. */
.post-type-archive-sitl_course .sitl-category-course-grid,
.post-type-archive-sitl_course .sitl-category-heading,
.post-type-archive-sitl_course .sitl-course-card {
    display: none !important;
}

/* Course detail table stays boxed and readable. */
.single-sitl_course .sii-content-section {
    background: #f7f9fc;
}
.single-sitl_course .sitl-course-meta,
.single-sitl_course .sitl-course-subjects {
    background: #fff;
}
.single-sitl_course .sitl-course-subjects {
    padding: 0;
}
.single-sitl_course .sitl-course-subjects > h2 {
    margin: 0;
    padding: 14px 18px;
    background: var(--sitl-primary-dark);
    color: #fff;
    font-size: 20px;
}
.single-sitl_course .sitl-subject-table-wrap {
    overflow-x: auto;
}
.single-sitl_course .sitl-subject-table {
    margin: 0 !important;
}

@media (max-width: 767px) {
    .post-type-archive-sitl_course .sitl-course-directory-container,
    .single-sitl_course .sii-content-section > .container {
        width: calc(100% - 24px) !important;
    }
    .post-type-archive-sitl_course .sitl-summary-table {
        width: 760px !important;
        min-width: 760px !important;
    }
    .post-type-archive-sitl_course .sitl-course-table-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
        padding: 13px 14px;
    }
    .post-type-archive-sitl_course .sitl-course-table-title h2 {
        font-size: 16px;
    }
    .post-type-archive-sitl_course .sitl-category-table th,
    .post-type-archive-sitl_course .sitl-category-table td {
        padding: 11px 10px;
        font-size: 13px;
    }
}


/* =========================================================
   SITL v1.6: compact boxed course tables / zero horizontal scroll
   ========================================================= */

/* Course archive body only: centered box instead of an ultra-wide canvas. */
.post-type-archive-sitl_course .sitl-course-directory-container {
    width: calc(100% - 64px) !important;
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Remove horizontal sliders completely from the course archive. */
.post-type-archive-sitl_course .sitl-summary-table-wrap,
.post-type-archive-sitl_course .sitl-category-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    overflow-x: visible !important;
    -webkit-overflow-scrolling: auto !important;
}

/* Division summary: use the whole compact box with purposeful columns. */
.post-type-archive-sitl_course .sitl-summary-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    table-layout: fixed !important;
}
.post-type-archive-sitl_course .sitl-summary-table th:nth-child(1),
.post-type-archive-sitl_course .sitl-summary-table td:nth-child(1) {
    width: 6% !important;
}
.post-type-archive-sitl_course .sitl-summary-table th:nth-child(2),
.post-type-archive-sitl_course .sitl-summary-table td:nth-child(2) {
    width: 68% !important;
}
.post-type-archive-sitl_course .sitl-summary-table th:nth-child(3),
.post-type-archive-sitl_course .sitl-summary-table td:nth-child(3) {
    width: 12% !important;
    text-align: center !important;
}
.post-type-archive-sitl_course .sitl-summary-table th:nth-child(4),
.post-type-archive-sitl_course .sitl-summary-table td:nth-child(4) {
    width: 14% !important;
    text-align: center !important;
}
.post-type-archive-sitl_course .sitl-summary-table td,
.post-type-archive-sitl_course .sitl-summary-table th {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

/* Course tables: compact fixed columns with Course Name consuming useful space. */
.post-type-archive-sitl_course .sitl-category-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}
.post-type-archive-sitl_course .sitl-category-table .sitl-col-sl,
.post-type-archive-sitl_course .sitl-category-table th:nth-child(1),
.post-type-archive-sitl_course .sitl-category-table td:nth-child(1) {
    width: 6% !important;
}
.post-type-archive-sitl_course .sitl-category-table .sitl-col-code,
.post-type-archive-sitl_course .sitl-category-table th:nth-child(2),
.post-type-archive-sitl_course .sitl-category-table td:nth-child(2) {
    width: 15% !important;
}
.post-type-archive-sitl_course .sitl-category-table th:nth-child(3),
.post-type-archive-sitl_course .sitl-category-table td:nth-child(3) {
    width: 61% !important;
}
.post-type-archive-sitl_course .sitl-category-table .sitl-col-duration,
.post-type-archive-sitl_course .sitl-category-table th:nth-child(4),
.post-type-archive-sitl_course .sitl-category-table td:nth-child(4) {
    width: 18% !important;
}
.post-type-archive-sitl_course .sitl-category-table td,
.post-type-archive-sitl_course .sitl-category-table th {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Tighter spacing so the boxed layout reads like the original catalogue tables. */
.post-type-archive-sitl_course .sitl-division-summaries {
    gap: 16px !important;
    margin-bottom: 22px !important;
}
.post-type-archive-sitl_course .sitl-category-section {
    margin-bottom: 24px !important;
}
.post-type-archive-sitl_course .sitl-summary-table th,
.post-type-archive-sitl_course .sitl-summary-table td,
.post-type-archive-sitl_course .sitl-category-table th,
.post-type-archive-sitl_course .sitl-category-table td {
    padding: 11px 13px !important;
}

@media (max-width: 767px) {
    .post-type-archive-sitl_course .sitl-course-directory-container {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }
    .post-type-archive-sitl_course .sitl-summary-table,
    .post-type-archive-sitl_course .sitl-category-table {
        width: 100% !important;
        min-width: 0 !important;
    }
    .post-type-archive-sitl_course .sitl-summary-table th,
    .post-type-archive-sitl_course .sitl-summary-table td,
    .post-type-archive-sitl_course .sitl-category-table th,
    .post-type-archive-sitl_course .sitl-category-table td {
        padding: 7px 5px !important;
        font-size: 11px !important;
        line-height: 1.3;
    }
    .post-type-archive-sitl_course .sitl-summary-table th:nth-child(1),
    .post-type-archive-sitl_course .sitl-summary-table td:nth-child(1) { width: 9% !important; }
    .post-type-archive-sitl_course .sitl-summary-table th:nth-child(2),
    .post-type-archive-sitl_course .sitl-summary-table td:nth-child(2) { width: 57% !important; }
    .post-type-archive-sitl_course .sitl-summary-table th:nth-child(3),
    .post-type-archive-sitl_course .sitl-summary-table td:nth-child(3) { width: 15% !important; }
    .post-type-archive-sitl_course .sitl-summary-table th:nth-child(4),
    .post-type-archive-sitl_course .sitl-summary-table td:nth-child(4) { width: 19% !important; }

    .post-type-archive-sitl_course .sitl-category-table th:nth-child(1),
    .post-type-archive-sitl_course .sitl-category-table td:nth-child(1) { width: 9% !important; }
    .post-type-archive-sitl_course .sitl-category-table th:nth-child(2),
    .post-type-archive-sitl_course .sitl-category-table td:nth-child(2) { width: 20% !important; }
    .post-type-archive-sitl_course .sitl-category-table th:nth-child(3),
    .post-type-archive-sitl_course .sitl-category-table td:nth-child(3) { width: 49% !important; }
    .post-type-archive-sitl_course .sitl-category-table th:nth-child(4),
    .post-type-archive-sitl_course .sitl-category-table td:nth-child(4) { width: 22% !important; }
}
