/* =========================================================
   GLOBAL FUTURE — RESPONSIVE SYSTEM
   ========================================================= */

:root {
    --blue: #0b3b7a;
    --blue-2: #2563eb;
    --text: #0f2748;
    --muted: #64748b;
    --green: #0f6b3c;
    --border: #e2e8f0;
    --shadow: 0 12px 35px rgba(15, 23, 42, .10);
}

html { scroll-behavior: smooth; overflow-x: hidden; }
body { width: 100%; min-width: 0; max-width: 100%; margin: 0 !important; overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img, svg, video { max-width: 100%; }
button, input, select, textarea { max-width: 100%; font: inherit; }
h1, h2, h3, h4, p { overflow-wrap: anywhere; }
[id] { scroll-margin-top: 90px; }

/* Header */
header > section {
    width: 100% !important;
    max-width: none !important;
    min-height: 60px;
    height: 60px;
    padding-block: 5px !important;
    padding-inline: clamp(16px, 4vw, 48px) !important;
}

.mobile-nav-root { display: none; }

/* =========================================================
   HERO + SEARCH
   Desktop: search overlaps the lower part of hero.
   Mobile: hero ends first, search becomes a separate block.
   ========================================================= */

body > section.relative.w-full {
    width: 100%;
    height: 490px !important;
    min-height: 490px;
    margin-top: 60px !important;
    overflow: hidden;
}

body > section.relative.w-full > div.absolute.left-\[5\%\] {
    max-width: min(1180px, 90%);
}

.search-area {
    position: relative;
    z-index: 60;
    width: 100%;
    margin-top: -90px; /* searchbox martion fixting css here */
    margin-bottom: 0;
}

#studySearch {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
}

#studySearch > div {
    width: 100% !important;
    max-width: 1180px !important;
    margin-inline: auto;
}

#studySearch > div > div {
    width: 100%;
}

#studySearch select { min-width: 0; }
#studySearch button { min-width: 0; }

/* Keep search above hero decorations */
#studySearch, #studySearch * { position: relative; }
#studySearch > div > div { z-index: 2; }

/* Search results */
.search-results-section {
    display: none;
    padding: 56px clamp(16px, 4vw, 48px) 70px;
}
.search-results-section.is-visible { display: block; }
.search-results-inner { width: 100%; max-width: 1180px; margin-inline: auto; }
.search-results-header { margin-bottom: 28px; }
.search-results-kicker {
    margin: 0;
    color: var(--blue-2);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.search-results-header h2 { margin: 5px 0 0; color: #0f172a; font-size: clamp(26px, 4vw, 34px); line-height: 1.15; }
.search-results-count { margin: 7px 0 0; color: var(--muted); font-size: 14px; }
.search-results-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.search-results-grid article { min-width: 0; }
.search-results-grid article > div:first-child { min-height: 180px; }
.search-results-grid article img { max-width: 100%; max-height: 100%; object-fit: contain; }
.search-results-grid article h3,
.search-results-grid article p,
.search-results-grid article span { overflow-wrap: anywhere; }
.no-results-card {
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 55px 20px;
    text-align: center;
    box-shadow: var(--shadow);
}
.no-results-icon {
    width: 56px; height: 56px; margin: auto; display: grid; place-items: center;
    border-radius: 50%; background: #f1f5f9; color: #64748b; font-size: 28px;
}
.no-results-card h2 { margin: 15px 0 5px; font-size: 25px; }
.no-results-card p { margin: 0; color: var(--muted); }
.show-more-wrap { padding-top: 34px; text-align: center; }
.show-more-results {
    min-height: 50px;
    padding: 12px 25px;
    border: 0;
    border-radius: 12px;
    background: var(--blue);
    color: white;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(11,59,122,.20);
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.show-more-results:hover { transform: translateY(-2px); background: #0756a8; box-shadow: 0 12px 26px rgba(11,59,122,.25); }
.show-more-results span { margin-left: 8px; opacity: .85; }
.show-more-hint { margin: 9px 0 0; color: #94a3b8; font-size: 12px; }
.all-results-message { padding-top: 30px; text-align: center; color: #94a3b8; font-size: 13px; }


/* =========================================================
   PROFESSIONAL SEARCH RESULT CARDS
   ========================================================= */
.result-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(15,23,42,.065);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.result-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(15,23,42,.11); border-color: #cbd5e1; }
.result-card-logo { position: relative; display: flex; align-items: center; justify-content: center; min-height: 132px; padding: 14px; background: linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%); border-bottom: 1px solid #e2e8f0; }
.result-logo-frame { display: flex; align-items: center; justify-content: center; width: 100%; height: 92px; }
.result-logo-frame img { max-width: 88%; max-height: 82px; width: auto; height: auto; object-fit: contain; }
.result-logo-fallback { display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 15px; background: #dbeafe; color: #2563eb; font-size: 23px; font-weight: 800; }
.result-country-pill { position: absolute; left: 12px; bottom: 10px; padding: 4px 8px; border: 1px solid #e2e8f0; border-radius: 999px; background: rgba(255,255,255,.94); color: #475569; font-size: 11px; font-weight: 800; box-shadow: 0 3px 10px rgba(15,23,42,.06); }
.result-card-body { padding: 14px; }
.result-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 9px; }
.result-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 7px; border-radius: 999px; font-size: 9px; line-height: 1.15; font-weight: 800; }
.result-badge-blue { background:#eff6ff; color:#1d4ed8; }
.result-badge-purple { background:#faf5ff; color:#7e22ce; }
.result-badge-green { background:#ecfdf5; color:#047857; }
.result-badge-amber { background:#fffbeb; color:#b45309; }
.result-badge-rose { background:#fff1f2; color:#be123c; }
.result-badge-slate { background:#f1f5f9; color:#475569; }
.result-badge-indigo { background:#eef2ff; color:#4338ca; }
.result-university-name { margin: 0; color:#0f172a; font-size:16px; line-height:1.3; font-weight:800; }
.result-program-name { margin: 5px 0 0; color:#475569; font-size:12px; line-height:1.55; font-weight:600; }
.result-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }
.result-meta-item { display:flex; gap:8px; min-width:0; padding:7px; border:1px solid #edf1f5; border-radius:10px; background:#f8fafc; }
.result-meta-icon { flex:0 0 auto; font-size:13px; line-height:1.2; }
.result-meta-item div { min-width:0; }
.result-meta-item small { display:block; margin-bottom:2px; color:#94a3b8; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.result-meta-item strong { display:block; color:#334155; font-size:10.5px; line-height:1.3; font-weight:700; overflow-wrap:anywhere; }
.result-intakes { margin-top:11px; padding-top:10px; border-top:1px solid #f1f5f9; }
.result-intakes-title { margin-bottom:8px; color:#64748b; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.result-intake-list { display:flex; flex-wrap:wrap; gap:6px; }
.result-intake-chip { display:inline-flex; padding:4px 6px; border-radius:7px; background:#f8fafc; border:1px solid #e2e8f0; color:#334155; font-size:9px; font-weight:700; }
.result-muted { color:#94a3b8; font-size:12px; }
.result-card-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:11px; padding-top:10px; border-top:1px solid #f1f5f9; }
.result-chance { color:#475569; font-size:9.5px; line-height:1.35; }
.result-chance b { color:#334155; }
.result-application-status { color:#047857; font-size:9px; font-weight:800; text-align:right; }

/* =========================================================
   COMMON SECTION HEADINGS
   ========================================================= */
#universitysection,
#studydestinationsection,
#ourservicesection,
#howItWorksHeading {
    width: 100%;
    max-width: 1500px;
    margin-inline: auto;
    padding-inline: clamp(16px, 5vw, 70px);
    gap: 24px;
}
#universitysection > div:first-child,
#studydestinationsection > div:first-child,
#ourservicesection > div:first-child,
#howItWorksHeading > div:first-child { min-width: 0; margin-left: 0 !important; }
#universitysection > div:last-child,
#studydestinationsection > div:last-child,
#ourservicesection > div:last-child,
#howItWorksHeading > div:last-child { margin-right: 0 !important; }

/* University cards */
#ourUniversityPartnerSection {
    width: 100%; max-width: 1500px; margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px !important;
    padding: 30px clamp(16px, 5vw, 70px) !important;
}
#ourUniversityPartnerSection > div { width: 100% !important; max-width: none !important; min-width: 0; }
#ourUniversityPartnerSection > div > div:first-child { height: 200px; }
#ourUniversityPartnerSection img { max-width: 100%; }

/* Destination cards */
#destinationCards {
    width: 100%; max-width: 1500px; margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 20px !important;
    padding: 30px clamp(16px, 5vw, 70px) 70px !important;
}
#destinationCards > div { width: 100% !important; max-width: none !important; min-width: 0; }
#destinationCards > div > img { width: 100%; height: 280px !important; object-fit: cover; }
#destinationCards > div > div.absolute { bottom: -55px !important; z-index: 5; }
#destinationCards > div > div.absolute button { min-height: 48px; }

/* Services */
#serviceCards { width: 100%; padding: 30px clamp(16px, 5vw, 70px) 70px !important; }
#serviceCards > div {
    width: 100% !important; max-width: 1500px; margin-inline: auto;
    display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px !important; padding: 0 !important;
}
#serviceCards > div > div { width: 100%; min-width: 0; height: 180px !important; }

/* How it works */
#howItWorksCards { width: 100%; padding: 30px clamp(16px, 5vw, 70px) 80px !important; }
#howItWorksCards > div { width: 100% !important; max-width: 1500px; margin-inline: auto; padding: 0 !important; }
#howItWorksCards > div > div { min-width: 0; }

/* Footer */
#successtoriessection {
    width: 100%; max-width: 1500px; margin-inline: auto !important;
    padding-inline: clamp(16px, 4vw, 60px) !important;
}
#successtoriessection > div { min-width: 0; }
#storyText, #storyName, #storyUniversity { overflow-wrap: anywhere; }
#consultationSection { width: 100%; }
#consultationSection > div { width: 100%; max-width: 1500px; }
#consultationSection > div > div { min-width: 0; }

/* =========================================================
   TABLET 768–1023
   ========================================================= */
@media (min-width: 768px) and (max-width: 1023px) {
    header > section { padding-inline: 20px !important; }
    header > section > div:nth-child(2) { display: none !important; }
    header > section > div:last-child { margin-right: 55px; }
    .mobile-nav-root { display: block; }

    .mobile-menu-toggle {
        position: fixed; right: 20px; top: 11px; z-index: 1005;
        width: 40px; height: 40px; border: 1px solid #dbe5f2; border-radius: 10px;
        background: white; display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 8px;
        box-shadow: 0 5px 18px rgba(15,23,42,.10);
    }
    .mobile-menu-toggle span { height: 2px; width: 100%; background: var(--blue); border-radius: 99px; transition: .2s; }
    .mobile-menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .mobile-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
    .mobile-menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .mobile-menu { position: fixed; top: 62px; right: 20px; width: min(320px, calc(100vw - 40px)); z-index: 1004; display:flex; flex-direction:column; padding:8px; background:white; border:1px solid var(--border); border-radius:16px; box-shadow:0 20px 45px rgba(15,23,42,.18); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.2s; }
    .mobile-menu.is-open { opacity:1; visibility:visible; transform:none; }
    .mobile-menu a { padding:13px 14px; border-radius:10px; color:#334155; text-decoration:none; font-weight:600; }
    .mobile-menu a:hover { background:#eff6ff; color:var(--blue); }

    body > section.relative.w-full { height: 650px !important; min-height: 650px; }
    body > section.relative.w-full > div.absolute.left-\[5\%\] { position:relative !important; left:auto !important; top:auto !important; width:min(720px,100%); padding:45px 30px 0 !important; }
    body > section.relative.w-full > div.absolute.left-\[5\%\] h1 { font-size:44px !important; }
    body > section.relative.w-full > div.absolute.right-\[20\%\], body > section.relative.w-full > div.absolute.flex.right-\[18\%\] { display:none !important; }

    .search-area { margin-top: -260px; padding-inline: 24px; }
    #studySearch > div { padding:0 !important; }
    #universitySearch, #courseSearch, #scholarshipSearch { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    #universitySearch > button, #courseSearch > button, #scholarshipSearch > button { grid-column:1/-1; }

    #statisticsSection { height:auto !important; }
    #statisticsSection > div > div { display:grid !important; grid-template-columns:repeat(3,1fr); }
    #statisticsSection > div > div > div { min-height:100px; padding:12px; border-right:1px solid #e5e7eb; }
    #statisticsSection > div > div > div:nth-child(3n) { border-right:0; }

    #ourUniversityPartnerSection { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #destinationCards { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:70px !important; }
    #serviceCards > div { grid-template-columns:repeat(3,minmax(0,1fr)); }
    #howItWorksCards > div { grid-template-columns:repeat(3,minmax(0,1fr)) !important; row-gap:45px; }
    #howItWorksCards > div > div:nth-child(3) > div.absolute, #howItWorksCards > div > div:nth-child(6) > div.absolute { display:none; }
    #successtoriessection { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    #consultationSection > div { grid-template-columns:1fr !important; }
    #consultationSection > div > div { margin-left:0 !important; }
}

/* =========================================================
   MOBILE <=767
   ========================================================= */
@media (max-width: 767px) {
    header > section {
        position: fixed !important; top:0; left:0; right:0; height:56px; min-height:56px;
        padding:6px 12px !important; z-index:1000;
    }
    header > section > div:nth-child(2) { display:none !important; }
    header > section > div:last-child { margin-left:auto; margin-right:48px; }
    header > section > div:last-child button { height:36px; padding:6px 9px !important; font-size:11px !important; white-space:nowrap; }
    header > section > div:first-child img { width:128px !important; max-width:128px !important; }

    .mobile-nav-root { display:block; }
    .mobile-menu-toggle {
        position:fixed; top:9px; right:12px; z-index:1005; width:39px; height:39px; padding:8px;
        border:1px solid #dbe5f2; border-radius:10px; background:#fff; display:flex; flex-direction:column; justify-content:center; gap:5px;
        box-shadow:0 5px 18px rgba(15,23,42,.10); cursor:pointer;
    }
    .mobile-menu-toggle span { display:block; width:100%; height:2px; background:var(--blue); border-radius:99px; transition:.2s; }
    .mobile-menu-toggle.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .mobile-menu-toggle.is-open span:nth-child(2) { opacity:0; }
    .mobile-menu-toggle.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
    .mobile-menu {
        position:fixed; top:56px; left:10px; right:10px; z-index:1004; display:flex; flex-direction:column;
        padding:8px; border:1px solid var(--border); border-radius:16px; background:rgba(255,255,255,.98);
        box-shadow:0 20px 45px rgba(15,23,42,.18); opacity:0; visibility:hidden; transform:translateY(-10px); transition:.2s;
    }
    .mobile-menu.is-open { opacity:1; visibility:visible; transform:none; }
    .mobile-menu a { padding:13px 14px; border-radius:10px; color:#334155; text-decoration:none; font-size:14px; font-weight:600; }
    .mobile-menu a:active, .mobile-menu a:hover { background:#eff6ff; color:var(--blue); }

    /* Main hero ends BEFORE search. */
    body > section.relative.w-full {
        height:auto !important; min-height:430px !important; margin-top:66px !important; overflow:hidden !important;
        padding-bottom:38px;
    }
    body > section.relative.w-full > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:68% center; opacity:.25; }
    body > section.relative.w-full > div.absolute.left-\[5\%\] {
        position:relative !important; left:auto !important; top:auto !important; width:100% !important; max-width:none !important;
        padding:38px 14px 0 !important;
    }
    body > section.relative.w-full > div.absolute.left-\[5\%\] h1 { font-size:clamp(33px,9vw,45px) !important; line-height:1.07 !important; }
    body > section.relative.w-full > div.absolute.left-\[5\%\] br { display:none; }
    body > section.relative.w-full > div.absolute.left-\[5\%\] > p { max-width:520px; font-size:14px !important; line-height:1.55 !important; }
    body > section.relative.w-full > img.absolute.bottom-0 { display:none !important; }
    body > section.relative.w-full > div.absolute.right-\[20\%\], body > section.relative.w-full > div.absolute.flex.right-\[18\%\] { display:none !important; }

    /* SEARCH IS NOW A SIBLING OF HERO — FULL WIDTH MOBILE */
    .search-area {
        width:100%; margin:0 !important; padding:22px 12px 10px; background:#f8fbff; z-index:10;
    }
    #studySearch { width:100% !important; max-width:none !important; margin:0 !important; }
    #studySearch > div { width:100% !important; max-width:none !important; padding:0 !important; }
    #studySearch > div > div { border-radius:16px !important; box-shadow:0 12px 32px rgba(15,23,42,.13) !important; }
    #studySearch > div > div > div:first-child { display:flex !important; width:100%; }
    #universityTab, #courseTab, #scholarshipTab {
        height:58px !important; min-width:0 !important; padding:5px 4px !important; font-size:11px !important;
        line-height:1.2 !important; white-space:normal !important; text-align:center;
    }
    #universityUnderline, #courseUnderline, #scholarshipUnderline { left:7px !important; right:7px !important; }
    #studySearch .p-4, #studySearch .sm\:p-5 { padding:11px !important; }
    #universitySearch, #courseSearch, #scholarshipSearch { width:100% !important; grid-template-columns:1fr !important; gap:9px !important; }
    #universitySearch > *, #courseSearch > *, #scholarshipSearch > * { width:100% !important; min-width:0 !important; }
    #studySearch select { width:100% !important; height:52px !important; min-height:52px; font-size:14px !important; }
    #studySearch button[type="button"] { width:100% !important; height:52px !important; min-height:52px; }
    #studySearch > div > div.mt-3 { display:flex !important; flex-wrap:wrap !important; gap:6px !important; }
    #studySearch > div > div.mt-3 button { padding:6px 9px !important; font-size:11px !important; }

    /* Remove old duplicate popular row that used to sit inside hero. */
    body > section.relative.w-full > div.absolute.left-\[5\%\] > div.flex.items-center.gap-2.mt-6 { display:none !important; }

    /* Search results mobile */
    .search-results-section { padding:38px 12px 55px; }
    .search-results-grid { grid-template-columns:1fr; gap:16px; }
    .search-results-grid article > div:first-child { min-height:170px; }
    .search-results-header h2 { font-size:28px; }

    /* Stats: 2 x 2 + one full-width final item */
    #statisticsSection { height:auto !important; margin:28px 0 35px !important; }
    #statisticsSection > div { padding:0 8px !important; }
    #statisticsSection > div > div { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
    #statisticsSection > div > div > div { min-width:0; min-height:100px; padding:10px 7px !important; gap:7px !important; border-right:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb; }
    #statisticsSection > div > div > div:nth-child(2n) { border-right:0; }
    #statisticsSection > div > div > div:last-child { grid-column:1/-1; border-right:0; border-bottom:0; }
    #statisticsSection img { width:35px !important; height:35px !important; flex-shrink:0; }
    #statisticsSection p:first-child { font-size:20px !important; }
    #statisticsSection p:last-child { font-size:10px !important; line-height:1.35 !important; }

    /* Headings: text left, View all right — never overlap */
    #universitysection, #studydestinationsection, #ourservicesection, #howItWorksHeading {
        width:100% !important; max-width:none !important; display:flex !important; flex-direction:row !important;
        align-items:flex-start !important; justify-content:space-between !important; gap:12px !important;
        padding:0 14px !important; margin-top:58px !important;
    }
    #universitysection > div:first-child, #studydestinationsection > div:first-child, #ourservicesection > div:first-child, #howItWorksHeading > div:first-child { flex:1 1 auto !important; width:auto !important; min-width:0; }
    #universitysection > div:last-child, #studydestinationsection > div:last-child, #ourservicesection > div:last-child { flex:0 0 auto !important; max-width:42%; }
    #universitysection h1, #studydestinationsection h1, #ourservicesection h1, #howItWorksHeading h1 { font-size:clamp(27px,8vw,36px) !important; line-height:1.1 !important; }
    #universitysection h3, #studydestinationsection h3, #ourservicesection h3, #howItWorksHeading h3 { font-size:14px !important; line-height:1.5 !important; margin-top:7px; }
    #universitysection > div:last-child h1, #studydestinationsection > div:last-child h1, #ourservicesection > div:last-child h1 { font-size:16px !important; line-height:1.2 !important; text-align:right; }
    #universitysection > div:last-child img, #studydestinationsection > div:last-child img, #ourservicesection > div:last-child img { height:32px !important; width:auto !important; margin-right:0 !important; }
    #howItWorksHeading > div:last-child { display:none !important; }

    /* Universities */
    #ourUniversityPartnerSection { width:100% !important; max-width:none !important; grid-template-columns:1fr !important; gap:18px !important; padding:28px 14px !important; }
    #ourUniversityPartnerSection > div { width:100% !important; max-width:none !important; }
    #ourUniversityPartnerSection > div > div:first-child { height:170px !important; }
    #ourUniversityPartnerSection h1 { font-size:18px !important; }

    /* Destinations */
    #destinationCards { width:100% !important; max-width:none !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:65px 9px !important; padding:28px 12px 65px !important; }
    #destinationCards > div > img { height:210px !important; }
    #destinationCards > div > div:last-child { height:55px !important; padding:0 7px !important; }
    #destinationCards > div > div:last-child button { font-size:13px !important; }
    #destinationCards > div > div.absolute { width:90% !important; bottom:-51px !important; }
    #destinationCards > div > div.absolute button { min-height:47px !important; padding:6px 5px !important; font-size:10px !important; line-height:1.25 !important; }

    /* Services */
    #serviceCards { width:100% !important; padding:25px 12px 65px !important; }
    #serviceCards > div { width:100% !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; padding:0 !important; }
    #serviceCards > div > div { width:100% !important; height:150px !important; padding:10px !important; }
    #serviceCards img { width:50px !important; height:50px !important; margin-bottom:9px !important; }
    #serviceCards h3 { font-size:13px !important; line-height:1.35 !important; }

    /* How it works vertical */
    #howItWorksCards { width:100% !important; padding:25px 14px 70px !important; }
    #howItWorksCards > div { width:100% !important; grid-template-columns:1fr !important; gap:30px !important; padding:0 !important; }
    #howItWorksCards > div > div > div.absolute { display:none !important; }

    /* Success stories */
    #successtoriessection { width:100% !important; max-width:none !important; grid-template-columns:1fr !important; gap:35px !important; padding:0 12px !important; margin:0 !important; }
    #successtoriessection .flex.h-\[250px\] { height:auto !important; min-height:250px; padding:18px !important; }
    #successtoriessection .flex.w-full.items-center.gap-5 { gap:14px !important; }
    #storyImage { width:75px !important; height:75px !important; }
    #storyText { font-size:13px !important; line-height:1.55 !important; }
    #successtoriessection article { width:100%; height:auto !important; min-height:88px; }
    #successtoriessection article img { width:78px !important; flex-shrink:0; }

    /* CTA */
    #consultationSection { padding:28px 12px !important; }
    #consultationSection > div { display:grid !important; grid-template-columns:1fr !important; gap:14px !important; }
    #consultationSection > div > div { width:100% !important; height:auto !important; min-height:180px; margin-left:0 !important; padding:20px !important; }
    #consultationSection > div > div:first-child { flex-direction:column !important; align-items:flex-start !important; justify-content:center !important; gap:17px; }
    #consultationSection > div > div:first-child h2 { font-size:22px !important; }
    #consultationSection > div > div:first-child a { margin-left:0 !important; padding:11px 18px !important; }
    #consultationSection > div > div:nth-child(2) { overflow:hidden; }
    #consultationSection > div > div:nth-child(2) > img { width:110px !important; height:110px !important; flex-shrink:0; }
    #consultationSection > div > div:nth-child(2) h1 { font-size:26px !important; line-height:1.12 !important; }

    /* Final footer */
    footer footer section { padding:40px 14px !important; }
    footer footer section > div { grid-template-columns:1fr !important; gap:30px !important; }
    footer footer section > div > div:last-child { height:210px !important; }
}

/* Small phones */
@media (max-width: 479px) {
    header > section > div:first-child img { width:125px !important; max-width:125px !important; }
    header > section > div:last-child button { max-width:140px; overflow:hidden; text-overflow:ellipsis; }
    body > section.relative.w-full > div.absolute.left-\[5\%\] { padding:32px 12px 0 !important; }
    body > section.relative.w-full > div.absolute.left-\[5\%\] h1 { font-size:32px !important; }
    .search-area { padding-inline:10px; }
    #universityTab, #courseTab, #scholarshipTab { height:54px !important; font-size:10px !important; }
    #statisticsSection > div { padding-inline:5px !important; }
    #statisticsSection > div > div > div { padding-inline:5px !important; }
    #statisticsSection img { width:30px !important; height:30px !important; }
    #statisticsSection p:first-child { font-size:18px !important; }
    #statisticsSection p:last-child { font-size:9px !important; }
    #destinationCards > div > img { height:190px !important; }
    #serviceCards > div > div { height:142px !important; }
    #serviceCards img { width:44px !important; height:44px !important; }
    #serviceCards h3 { font-size:12px !important; }
    #universitysection > div:last-child, #studydestinationsection > div:last-child, #ourservicesection > div:last-child { max-width:39%; }
    #universitysection > div:last-child h1, #studydestinationsection > div:last-child h1, #ourservicesection > div:last-child h1 { font-size:14px !important; }
}

@media (max-width: 767px) and (orientation: landscape) {
    body > section.relative.w-full { min-height:370px !important; }
    body > section.relative.w-full > div.absolute.left-\[5\%\] { padding-top:24px !important; }
    body > section.relative.w-full > div.absolute.left-\[5\%\] h1 { font-size:30px !important; }
    #universitySearch, #courseSearch, #scholarshipSearch { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    #universitySearch > button, #courseSearch > button, #scholarshipSearch > button { grid-column:1/-1; }
}

@media (hover:none) and (pointer:coarse) {
    button, select, a { -webkit-tap-highlight-color:transparent; }
    button, select { min-height:44px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}


/* =========================================================
   FINAL SEARCH VISIBILITY GUARD
========================================================= */
#searchResults.is-visible {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
#searchResults .search-results-grid {
    width: 100%;
}
#searchResults article {
    min-width: 0;
    overflow: hidden;
}
@media (max-width: 767px) {
    #searchResults {
        position: relative;
        z-index: 20;
        width: 100%;
        margin: 0;
    }
}


@media (max-width: 640px) {
    .result-meta-grid { grid-template-columns: 1fr; }
    .result-card-logo { min-height: 125px; }
    .result-card-body { padding: 13px; }
    .result-university-name { font-size: 18px; }
    .result-card-footer { align-items: flex-start; flex-direction: column; }
    .result-application-status { text-align:left; }
}

/* =========================================================
   SEARCH UX POLISH
========================================================= */
#studySearch { height: auto !important; min-height: 0 !important; }
#studySearch > div { height: auto !important; }
#studySearch > div > div { height: auto !important; }
#studySearch .p-4, #studySearch .sm\:p-5 { padding-top: 14px !important; padding-bottom: 18px !important; }
#studySearch input, #studySearch select { line-height: 1.2; }
#universityProgram, #courseSubject { text-overflow: ellipsis; }
#universityProgram::placeholder, #courseSubject::placeholder { color: #64748b; opacity: 1; }

#universityTab, #courseTab, #scholarshipTab {
    border: 0;
    outline: none;
    color: #64748b;
    background: transparent;
}
#universityTab:hover, #courseTab:hover, #scholarshipTab:hover { background: #f8fafc; }
#universityTab.is-active { color:#2563eb !important; background:#eff6ff; }
#courseTab.is-active { color:#7c3aed !important; background:#faf5ff; }
#scholarshipTab.is-active { color:#059669 !important; background:#ecfdf5; }
#universityTab:focus-visible, #courseTab:focus-visible, #scholarshipTab:focus-visible { box-shadow: inset 0 0 0 2px rgba(37,99,235,.25); }

/* Better searchable programme field */
#universityProgram { padding-right: 44px !important; }
#courseSubject { padding-right: 44px !important; }

/* Professional logo fallback: never show a random letter */
.result-logo-fallback {
    width: 84px; height: 84px; border-radius: 22px;
    display:flex; align-items:center; justify-content:center;
    background: linear-gradient(145deg,#eff6ff,#dbeafe);
    color:#1d4ed8;
    border:1px solid #bfdbfe;
}
.result-logo-fallback svg { width: 52px; height: 52px; }

/* Card typography hierarchy */
.result-card { border-radius: 16px; }
.result-card-logo { min-height: 125px; }
.result-card-body { padding: 13px; }
.result-university-name { font-size: 18px; font-weight: 800; letter-spacing: -.01em; }
.result-program-name { margin-top: 7px; color:#1e3a5f; font-size:14px; font-weight:700; line-height:1.55; }
.result-meta-item { background:#fbfdff; border-color:#e8eef5; }
.result-meta-item strong { color:#1f3552; font-weight:700; }
.result-meta-item small { color:#7b8ba1; }
.result-intakes-title { color:#53657c; }
.result-country-pill { color:#1e3a5f; }

@media (min-width: 1024px) {
    #studySearch .p-4 { padding: 14px 20px 18px !important; }
}
@media (max-width: 1279px) {
    .search-results-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
    #studySearch { height:auto !important; }
    .search-area { margin-top: -50px; }
}

/* =========================================================
   FINAL SEARCH UX POLISH
   ========================================================= */

/* Keep every search control vertically centered and identical in height. */
#universitySearch,
#courseSearch,
#scholarshipSearch {
    align-items: center !important;
    width: 100%;
}

#studySearch .search-control,
#studySearch select,
#studySearch input,
#studySearch > div > div > div > button {
    min-height: 56px;
}

#universitySearch > div,
#courseSearch > div,
#scholarshipSearch > div {
    min-width: 0;
    align-self: center;
}

#universitySearch > button,
#courseSearch > button,
#scholarshipSearch > button {
    align-self: center !important;
    height: 56px !important;
    min-height: 56px !important;
}

/* One calm brand treatment for the three tabs instead of three competing colours. */
#universityTab,
#courseTab,
#scholarshipTab {
    color: #475569 !important;
    background: transparent;
    border: 0;
    border-bottom: 1px solid transparent;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

#universityTab:hover,
#courseTab:hover,
#scholarshipTab:hover {
    color: #0b3b7a !important;
    background: #f8fbff;
}

#universityTab.is-active,
#courseTab.is-active,
#scholarshipTab.is-active {
    color: #0b3b7a !important;
    background: #eff6ff;
    font-weight: 700 !important;
    box-shadow: inset 0 -1px 0 #dbeafe;
}

#universityUnderline,
#courseUnderline,
#scholarshipUnderline {
    background: #2563eb !important;
    height: 3px !important;
}

/* Professional autocomplete dropdown for programmes/courses. */
.program-suggestions {
    position: absolute !important;
    z-index: 200 !important;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    max-height: 310px;
    overflow-y: auto;
    padding: 7px;
    border: 1px solid #dbe3ee;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .16);
}

.program-suggestion-item {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    min-height: 48px !important;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 0 !important;
    border-radius: 10px;
    background: transparent !important;
    color: #334155 !important;
    text-align: left;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    box-shadow: none !important;
    transform: none !important;
}

.program-suggestion-item:hover,
.program-suggestion-item.is-highlighted {
    background: #eff6ff !important;
    color: #0b3b7a !important;
}

.program-suggestion-icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #f1f5f9;
    color: #2563eb;
    font-size: 15px;
    font-weight: 700;
}

.program-suggestion-item span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.program-suggestion-empty {
    padding: 16px 12px;
    color: #64748b;
    font-size: 13px;
    text-align: center;
}

/* Give the search fields area a little more breathing room without moving it. */
#studySearch > div > div > div.p-4,
#studySearch > div > div > div.sm\:p-5 {
    position: relative;
}

@media (max-width: 1023px) {
    #universitySearch,
    #courseSearch,
    #scholarshipSearch {
        align-items: stretch !important;
    }

    #universitySearch > button,
    #courseSearch > button,
    #scholarshipSearch > button {
        width: 100%;
    }
}

/* =========================================================
   FINAL COMPACT RESULT CARDS + KEYBOARD PROGRAM FILTER
   ========================================================= */
@media (min-width: 1280px) {
    .search-results-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
}
@media (min-width: 768px) and (max-width: 1279px) {
    .search-results-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}

.result-card {
    border-radius: 15px !important;
    box-shadow: 0 4px 16px rgba(15,23,42,.06) !important;
}
.result-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(15,23,42,.10) !important;
}
.result-card-logo {
    min-height: 118px !important;
    padding: 12px !important;
}
.result-logo-frame { height: 78px !important; }
.result-logo-frame img { max-height: 70px !important; max-width: 82% !important; }
.result-logo-fallback {
    width: 52px !important;
    height: 52px !important;
    border-radius: 14px !important;
}
.result-logo-fallback svg { width: 34px !important; height: 34px !important; }
.result-country-pill {
    left: 10px !important;
    bottom: 8px !important;
    padding: 3px 7px !important;
    font-size: 9px !important;
}
.result-card-body { padding: 12px !important; }
.result-badges { gap: 4px !important; margin-bottom: 7px !important; }
.result-badge { min-height: 20px !important; padding: 3px 6px !important; font-size: 8.5px !important; }
.result-university-name {
    font-size: 15px !important;
    line-height: 1.3 !important;
}
.result-program-name {
    margin-top: 5px !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}
.result-meta-grid { gap: 6px !important; margin-top: 11px !important; }
.result-meta-item {
    gap: 6px !important;
    padding: 6px !important;
    border-radius: 9px !important;
}
.result-meta-icon { font-size: 11px !important; }
.result-meta-item small { font-size: 8px !important; }
.result-meta-item strong { font-size: 9.5px !important; line-height: 1.25 !important; }
.result-intakes { margin-top: 9px !important; padding-top: 8px !important; }
.result-intakes-title { margin-bottom: 6px !important; font-size: 8px !important; }
.result-intake-list { gap: 4px !important; }
.result-intake-chip { padding: 3px 5px !important; font-size: 8.5px !important; }
.result-card-footer { gap: 6px !important; margin-top: 9px !important; padding-top: 8px !important; }
.result-chance { font-size: 8.5px !important; }
.result-application-status { font-size: 8px !important; }

/* Keyboard-friendly autocomplete: clear focus and active-row treatment. */
.program-suggestions {
    max-height: 280px !important;
    padding: 5px !important;
    border-radius: 12px !important;
}
.program-suggestion-item {
    min-height: 42px !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
}
.program-suggestion-item.is-highlighted,
.program-suggestion-item:hover {
    background: #eef5ff !important;
    color: #0b3b7a !important;
}
.program-suggestion-item:focus-visible {
    outline: 2px solid #2563eb !important;
    outline-offset: -2px;
}
.program-suggestion-icon {
    width: 25px !important;
    height: 25px !important;
    flex-basis: 25px !important;
    font-size: 13px !important;
}
.program-match {
    background: #dbeafe;
    color: #0b3b7a;
    border-radius: 3px;
    padding: 0 1px;
}

@media (max-width: 640px) {
    .search-results-grid { grid-template-columns: 1fr; gap: 14px; }
    .result-card-logo { min-height: 112px !important; }
    .result-university-name { font-size: 16px !important; }
    .result-program-name { font-size: 12px !important; }
}


/* =========================================================
   STUDENT-FRIENDLY PROGRAMME POPUP
   Show a short, understandable programme title while the
   original programme name remains available for searching.
   ========================================================= */
.program-suggestions {
    width: min(650px, calc(100vw - 32px)) !important;
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 8px !important;
    background: #ffffff !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 40px rgba(15,23,42,.14) !important;
    scrollbar-width: thin;
}

.program-suggestion-item {
    min-height: 58px !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 10px 11px !important;
    border-radius: 10px !important;
}

.program-suggestion-text {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
    overflow: visible !important;
    white-space: normal !important;
}

.program-suggestion-text strong {
    display: block !important;
    width: 100% !important;
    color: #183b66 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.38 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.program-suggestion-text small {
    display: block !important;
    color: #94a3b8 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.program-suggestion-item:hover strong,
.program-suggestion-item.is-highlighted strong {
    color: #0b3b7a !important;
}

.program-suggestion-item:hover small,
.program-suggestion-item.is-highlighted small {
    color: #64748b !important;
}

@media (max-width: 767px) {
    .program-suggestions {
        width: calc(100vw - 28px) !important;
        max-height: 300px !important;
    }
    .program-suggestion-item {
        min-height: 56px !important;
        padding: 9px 10px !important;
    }
    .program-suggestion-text strong {
        font-size: 13px !important;
    }
}

/* =========================================================
   FINAL PROGRAMME POPUP — NO CLIPPING / STUDENT FRIENDLY
   The popup is moved to <body> by JS and positioned with fixed
   coordinates, so search-card overflow can never hide it.
   ========================================================= */
.program-suggestions {
    position: fixed !important;
    z-index: 99999 !important;
    width: auto !important;
    min-width: 320px;
    max-width: 560px;
    max-height: 390px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    padding: 8px !important;
    background: #fff !important;
    border: 1px solid #d8e2ef !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 45px rgba(15,23,42,.18) !important;
}

.program-popup-header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px 9px;
    margin: -2px -2px 4px;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid #eef2f7;
    color: #334155;
    font-size: 11px;
    font-weight: 700;
}

.program-popup-header span:last-child {
    color: #94a3b8;
    font-weight: 600;
    white-space: nowrap;
}

.program-suggestion-item {
    display: flex !important;
    width: 100% !important;
    min-height: 58px !important;
    height: auto !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 10px 11px !important;
    margin: 2px 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    text-align: left !important;
    cursor: pointer !important;
}

.program-suggestion-item:hover,
.program-suggestion-item.is-highlighted,
.program-suggestion-item:focus-visible {
    background: #eff6ff !important;
    outline: none !important;
}

.program-suggestion-text {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
    overflow: visible !important;
    white-space: normal !important;
}

.program-suggestion-text strong {
    display: block !important;
    width: 100% !important;
    color: #173b67 !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    font-weight: 600 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
}

.program-suggestion-text small {
    color: #94a3b8 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.program-suggestion-icon {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    margin-top: 2px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 8px !important;
    background: #f1f5f9 !important;
    color: #2563eb !important;
}

.program-match {
    background: #dbeafe !important;
    color: #0b3b7a !important;
    border-radius: 3px;
    padding: 0 2px;
}

@media (max-width: 700px) {
    .program-suggestions {
        min-width: 0 !important;
        max-width: calc(100vw - 24px) !important;
        max-height: 330px !important;
        border-radius: 12px !important;
    }
    .program-suggestion-text strong { font-size: 13px !important; }
    .program-suggestion-item { min-height: 54px !important; padding: 9px 10px !important; }
}


/* =========================================================
   FINAL PROGRAMME CATALOGUE — TRUE FULL LIST / VIRTUAL SCROLL
   The popup represents the complete unique programme catalogue.
   Only visible rows are rendered, keeping the large dataset fast.
   ========================================================= */
.program-suggestions {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 8px !important;
}

.program-popup-header {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    margin: -1px 0 5px !important;
    padding: 7px 8px 9px !important;
}

.program-virtual-list {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.program-virtual-inner {
    position: relative !important;
    width: 100% !important;
}

.program-virtual-list .program-suggestion-item {
    box-sizing: border-box !important;
    min-height: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    border-radius: 9px !important;
    padding: 9px 10px !important;
}

.program-virtual-list .program-suggestion-text strong {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    line-height: 1.32 !important;
}

.program-virtual-list .program-suggestion-text small {
    margin-top: 2px !important;
}

@media (max-width: 700px) {
    .program-suggestions {
        max-width: calc(100vw - 20px) !important;
    }
    .program-virtual-list .program-suggestion-item {
        height: 68px !important;
        min-height: 68px !important;
        padding: 8px !important;
    }
}

/* FINAL FIX: allow the shared .hidden utility to actually close the popup. */
.program-suggestions.hidden {
    display: none !important;
}


/* =========================================================
   FINAL PROFESSIONAL RESULT CARDS + COUNTRY BROWSE
========================================================= */
.search-results-section { background:#f7f9fc !important; border-top:1px solid #e8edf5; }
.search-results-inner { max-width:1240px !important; }
.search-results-header { padding:4px 2px 2px; }
.search-results-kicker { color:#2563eb !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.12em; text-transform:uppercase; }
.search-results-header h2 { color:#0b1f3a !important; font-size:clamp(25px,3vw,32px) !important; font-weight:800 !important; letter-spacing:-.02em; }
.search-results-count { color:#64748b !important; }
.search-results-grid { gap:18px !important; }
.result-card {
    position:relative;
    overflow:hidden;
    background:#fff !important;
    border:1px solid #e4eaf2 !important;
    border-radius:18px !important;
    box-shadow:0 6px 20px rgba(15,23,42,.055) !important;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.result-card::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,#2563eb,#60a5fa); z-index:2; }
.result-card:hover { transform:translateY(-3px) !important; box-shadow:0 14px 30px rgba(15,23,42,.10) !important; border-color:#d4deec !important; }
.result-card-logo {
    min-height:118px !important;
    padding:15px !important;
    background:linear-gradient(180deg,#f8fbff 0%,#f3f6fa 100%) !important;
    border-bottom:1px solid #edf1f6 !important;
}
.result-logo-frame { width:78px !important; height:78px !important; border-radius:16px !important; background:#fff !important; border:1px solid #e7edf5 !important; box-shadow:0 4px 14px rgba(15,23,42,.07) !important; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.result-logo-frame img { max-width:68px !important; max-height:68px !important; object-fit:contain !important; }
.result-logo-fallback { width:52px !important; height:52px !important; color:#1d4ed8 !important; }
.result-country-pill { top:10px !important; right:10px !important; padding:5px 9px !important; border:1px solid #dbe7f5 !important; background:#fff !important; color:#31547b !important; border-radius:999px !important; font-size:10px !important; font-weight:700 !important; box-shadow:0 2px 8px rgba(15,23,42,.05); }
.result-card-body { padding:13px !important; }
.result-badges { gap:5px !important; margin-bottom:7px !important; }
.result-badge { border-radius:999px !important; padding:4px 7px !important; font-size:9px !important; font-weight:800 !important; }
.result-university-name { color:#0f2747 !important; font-size:15px !important; line-height:1.3 !important; font-weight:800 !important; letter-spacing:-.01em !important; }
.result-program-name { color:#2563eb !important; font-size:12px !important; line-height:1.45 !important; font-weight:700 !important; margin-top:5px !important; }
.result-meta-grid { gap:6px !important; margin-top:10px !important; }
.result-meta-item { min-height:48px !important; padding:7px !important; border:1px solid #edf1f5 !important; background:#fafbfd !important; border-radius:10px !important; }
.result-meta-icon { font-size:12px !important; }
.result-meta-item small { color:#94a3b8 !important; font-size:9px !important; text-transform:uppercase; letter-spacing:.04em; font-weight:700; }
.result-meta-item strong { color:#334155 !important; font-size:10.5px !important; line-height:1.25 !important; font-weight:700 !important; }
.result-intakes { margin-top:9px !important; padding-top:8px !important; border-top:1px solid #eef2f6 !important; }
.result-intakes-title { color:#64748b !important; font-size:9px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:800; }
.result-intake-chip { padding:4px 7px !important; border:1px solid #dbeafe !important; background:#eff6ff !important; color:#1d4ed8 !important; border-radius:999px !important; font-size:9px !important; font-weight:700 !important; }
.result-card-footer { margin-top:8px !important; padding-top:8px !important; border-top:1px solid #eef2f6 !important; }
.result-chance, .result-application-status { font-size:9px !important; color:#64748b !important; }
.country-pagination { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:30px; flex-wrap:wrap; }
.country-page-numbers { display:flex; align-items:center; gap:5px; }
.country-page-btn, .country-page-nav { min-height:38px; border:1px solid #dbe3ee; background:#fff; color:#334155; border-radius:10px; padding:0 12px; font-size:13px; font-weight:700; cursor:pointer; transition:.18s ease; }
.country-page-btn:hover, .country-page-nav:hover:not(:disabled) { border-color:#93c5fd; color:#1d4ed8; background:#f8fbff; }
.country-page-btn.is-active { border-color:#2563eb; background:#2563eb; color:#fff; box-shadow:0 4px 12px rgba(37,99,235,.18); }
.country-page-nav:disabled { opacity:.4; cursor:not-allowed; }
.country-page-ellipsis { color:#94a3b8; padding:0 2px; }
.country-pagination-summary { margin:10px 0 0; text-align:center; color:#64748b; font-size:12px; }
.country-browse-results .search-results-grid { margin-top:4px; }

/* Destination cards: cleaner, more premium overlay and typography */
#destinationCards > div { border:1px solid rgba(226,232,240,.9) !important; background:#fff !important; box-shadow:0 10px 28px rgba(15,23,42,.10) !important; }
#destinationCards > div > img { filter:saturate(.96); transition:transform .45s ease, filter .3s ease; }
#destinationCards > div:hover > img { transform:scale(1.035); filter:saturate(1.04); }
#destinationCards .destination-country-action { background:linear-gradient(135deg,#0f2f57,#164e83) !important; border:1px solid rgba(255,255,255,.14); border-radius:14px !important; box-shadow:0 10px 24px rgba(15,47,87,.25) !important; letter-spacing:.01em; }
#destinationCards .destination-country-action:hover { background:linear-gradient(135deg,#1d4ed8,#2563eb) !important; }
#destinationCards .destination-country-action span:first-child { font-size:12px !important; line-height:1.45 !important; font-weight:800 !important; text-align:center; }
#destinationCards .destination-country-action span:last-child { font-size:16px !important; }
#destinationCards .absolute.bottom-0 { background:linear-gradient(180deg,rgba(255,255,255,.96),#fff) !important; border-top:1px solid #edf1f5; }
#destinationCards .absolute.bottom-0 > button:first-child { color:#0f2747 !important; font-size:17px !important; font-weight:800 !important; }

/* =========================================================
   STUDENT-FIRST UNIVERSITY RESULT CARDS — FINAL VISUAL SYSTEM
   ========================================================= */
#resultsGrid,
.results-grid,
#searchResults,
.search-results-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch;
}

.result-card {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  background: #ffffff !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .075) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.result-card:hover {
  transform: translateY(-3px) !important;
  border-color: #bfd2ea !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .11) !important;
}
.result-card-topline {
  height: 4px !important;
  flex: 0 0 4px !important;
  background: linear-gradient(90deg, #0b4f8a 0%, #2b78c5 55%, #6aa8dc 100%) !important;
}
.result-card-header {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 13px !important;
  padding: 15px 16px 10px !important;
  align-items: start !important;
}
.result-logo-frame {
  width: 72px !important;
  height: 72px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.result-logo-frame img {
  width: 58px !important;
  height: 58px !important;
  object-fit: contain !important;
  display: block !important;
}
.result-logo-fallback {
  width: 50px !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0b4f8a !important;
}
.result-logo-fallback svg { width: 44px !important; height: 44px !important; }
.result-card-heading { min-width: 0 !important; }
.result-card-kicker {
  min-height: 20px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-bottom: 5px !important;
}
.result-country-pill {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 21px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: #eef5fb !important;
  color: #1e527d !important;
  border: 1px solid #d8e8f6 !important;
  font-size: 9.5px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}
.result-badges { display: contents !important; }
.result-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 21px !important;
  padding: 3px 7px !important;
  border-radius: 6px !important;
  font-size: 8.5px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  border: 1px solid transparent !important;
}
.result-badge-blue { background:#eef5ff !important; color:#175aa6 !important; border-color:#d8e8fb !important; }
.result-badge-purple { background:#f4f0ff !important; color:#6941c6 !important; border-color:#e5dcff !important; }
.result-badge-green { background:#ecfdf5 !important; color:#047857 !important; border-color:#d1fae5 !important; }
.result-badge-amber { background:#fff8e7 !important; color:#a15c00 !important; border-color:#fbe7b2 !important; }
.result-badge-rose { background:#fff1f2 !important; color:#be123c !important; border-color:#ffe0e4 !important; }
.result-badge-slate { background:#f1f5f9 !important; color:#475569 !important; border-color:#e2e8f0 !important; }
.result-badge-indigo { background:#eef2ff !important; color:#4338ca !important; border-color:#dfe4ff !important; }
.result-university-name.result-university-link {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 5px !important;
  max-width: 100% !important;
  color: #102a43 !important;
  text-decoration: none !important;
  font-size: 17px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
}
.result-university-name.result-university-link:hover { color:#0b5cab !important; text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 3px !important; }
.result-external-icon { display:inline-flex !important; width:13px !important; height:13px !important; flex:0 0 13px !important; color:#6b8299 !important; }
.result-external-icon svg { width:100% !important; height:100% !important; fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; }
.result-program-name {
  margin: 6px 0 0 !important;
  color: #1769aa !important;
  font-size: 12.5px !important;
  line-height: 1.42 !important;
  font-weight: 700 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
}
.result-highlight-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
  gap: 8px !important;
  margin: 0 16px 10px !important;
}
.result-highlight {
  min-width: 0 !important;
  padding: 10px 11px !important;
  border-radius: 11px !important;
  border: 1px solid #dbe7f2 !important;
  background: #f6faff !important;
}
.result-highlight-label {
  display: block !important;
  margin-bottom: 3px !important;
  color: #668096 !important;
  font-size: 8.5px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  font-weight: 800 !important;
}
.result-highlight strong {
  display:block !important;
  color:#102a43 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  overflow-wrap:anywhere !important;
}
.result-tuition { background:#f1f8ff !important; border-color:#cfe3f5 !important; }
.result-tuition strong { color:#0b5cab !important; }
.result-duration { background:#f8fafc !important; }
.result-meta-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:7px !important;
  padding:0 16px !important;
}
.result-meta-item {
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:23px minmax(0,1fr) !important;
  gap:7px !important;
  align-items:start !important;
  padding:8px !important;
  border:1px solid #e5ebf2 !important;
  border-radius:10px !important;
  background:#fbfcfe !important;
}
.result-meta-icon {
  width:23px !important;
  height:23px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:7px !important;
  background:#edf5fb !important;
  color:#1d628f !important;
}
.result-meta-icon svg { width:14px !important; height:14px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.7 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
.result-meta-item small {
  display:block !important;
  color:#74879a !important;
  font-size:8px !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  font-weight:800 !important;
  margin-bottom:3px !important;
}
.result-meta-item strong {
  display:block !important;
  color:#263b50 !important;
  font-size:10px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
}
.result-intakes {
  margin:11px 16px 0 !important;
  padding:10px 0 11px !important;
  border-top:1px solid #e9eef4 !important;
  border-bottom:1px solid #e9eef4 !important;
}
.result-intakes-heading {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  margin-bottom:7px !important;
  color:#334e68 !important;
  font-size:9px !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  font-weight:800 !important;
}
.result-intakes-heading span:last-child { color:#8295a8 !important; font-weight:700 !important; text-transform:none !important; letter-spacing:0 !important; }
.result-intake-list { display:flex !important; flex-wrap:wrap !important; gap:5px !important; }
.result-intake-chip {
  display:inline-flex !important;
  align-items:center !important;
  min-height:23px !important;
  padding:4px 8px !important;
  border-radius:7px !important;
  background:#f4f8fc !important;
  border:1px solid #dce7f1 !important;
  color:#31536f !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:800 !important;
}
.result-card-footer {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:11px 16px 14px !important;
  margin-top:auto !important;
}
.result-status-wrap { display:flex !important; align-items:center !important; gap:7px !important; min-width:0 !important; }
.result-status-dot { width:8px !important; height:8px !important; border-radius:50% !important; flex:0 0 8px !important; background:#94a3b8 !important; }
.result-status-dot.is-available { background:#16a34a !important; box-shadow:0 0 0 3px #dcfce7 !important; }
.result-status-wrap strong { display:block !important; color:#334e68 !important; font-size:9.5px !important; line-height:1.2 !important; font-weight:800 !important; }
.result-status-wrap small { display:block !important; margin-top:2px !important; color:#8295a8 !important; font-size:8.5px !important; line-height:1.2 !important; }
.result-card-actions { display:flex !important; flex-wrap:wrap !important; justify-content:flex-end !important; gap:5px !important; }
.result-university-action,
.result-program-action {
  display:inline-flex !important;
  align-items:center !important;
  gap:4px !important;
  min-height:30px !important;
  padding:6px 9px !important;
  border-radius:8px !important;
  font-size:8.5px !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.result-university-action { background:#0b4f8a !important; color:#fff !important; border:1px solid #0b4f8a !important; }
.result-university-action:hover { background:#083e6d !important; }
.result-program-action { background:#f4f8fc !important; color:#285b82 !important; border:1px solid #dce7f1 !important; }
.result-program-action:hover { background:#eaf2f9 !important; }
.result-card-actions svg { width:11px !important; height:11px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }

@media (max-width: 1199px) {
  #resultsGrid, .results-grid, #searchResults, .search-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 700px) {
  #resultsGrid, .results-grid, #searchResults, .search-results-grid { grid-template-columns:1fr !important; gap:14px !important; }
  .result-card-header { grid-template-columns:60px minmax(0,1fr) !important; }
  .result-logo-frame { width:60px !important; height:60px !important; }
  .result-logo-frame img { width:48px !important; height:48px !important; }
  .result-university-name.result-university-link { font-size:16px !important; }
  .result-program-name { font-size:12px !important; }
  .result-highlight-row { grid-template-columns:1fr 1fr !important; }
}
@media (max-width: 430px) {
  .result-highlight-row { grid-template-columns:1fr !important; }
  .result-meta-grid { grid-template-columns:1fr !important; }
  .result-card-footer { align-items:flex-start !important; flex-direction:column !important; }
  .result-card-actions { width:100% !important; justify-content:flex-start !important; }
}

/* =========================================================
   FINAL LOGO-SIZE SAFETY FIX
   Prevent university logo containers/images from expanding
   and covering the result-card content.
   ========================================================= */
#resultsGrid .result-card .result-card-header > .result-logo-frame,
.results-grid .result-card .result-card-header > .result-logo-frame,
#searchResults .result-card .result-card-header > .result-logo-frame,
.search-results-grid .result-card .result-card-header > .result-logo-frame {
  position: relative !important;
  display: flex !important;
  flex: 0 0 72px !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}
#resultsGrid .result-card .result-logo-frame > img,
.results-grid .result-card .result-logo-frame > img,
#searchResults .result-card .result-logo-frame > img,
.search-results-grid .result-card .result-logo-frame > img {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 58px !important;
  max-height: 58px !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
#resultsGrid .result-card .result-logo-frame > .result-logo-fallback,
.results-grid .result-card .result-logo-frame > .result-logo-fallback,
#searchResults .result-card .result-logo-frame > .result-logo-fallback,
.search-results-grid .result-card .result-logo-frame > .result-logo-fallback {
  position: static !important;
  flex: 0 0 50px !important;
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}
#resultsGrid .result-card .result-logo-frame > .result-logo-fallback svg,
.results-grid .result-card .result-logo-frame > .result-logo-fallback svg,
#searchResults .result-card .result-logo-frame > .result-logo-fallback svg,
.search-results-grid .result-card .result-logo-frame > .result-logo-fallback svg {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
}

/* Keep the header itself from inheriting an image's intrinsic size. */
#resultsGrid .result-card .result-card-header,
.results-grid .result-card .result-card-header,
#searchResults .result-card .result-card-header,
.search-results-grid .result-card .result-card-header {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 700px) {
  #resultsGrid .result-card .result-card-header > .result-logo-frame,
  .results-grid .result-card .result-card-header > .result-logo-frame,
  #searchResults .result-card .result-card-header > .result-logo-frame,
  .search-results-grid .result-card .result-card-header > .result-logo-frame {
    flex-basis: 60px !important;
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
  }
  #resultsGrid .result-card .result-logo-frame > img,
  .results-grid .result-card .result-logo-frame > img,
  #searchResults .result-card .result-logo-frame > img,
  .search-results-grid .result-card .result-logo-frame > img {
    max-width: 48px !important;
    max-height: 48px !important;
  }
}

/* =========================================================
   STUDENT RESULT CARDS V3 — ISOLATED FINAL SYSTEM
   This block intentionally uses unique class names so legacy
   card/logo rules cannot distort the new layout.
   ========================================================= */
#resultsGrid,
.results-grid,
#searchResults,
.search-results-grid {
  align-items: start !important;
}

.student-result-card-v3 {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid #dce5ef !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 20px rgba(15, 23, 42, .07) !important;
  color: #102a43 !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.student-result-card-v3:hover {
  transform: translateY(-2px) !important;
  border-color: #b8cce0 !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .11) !important;
}
.v3-card-accent {
  display: none !important;
}
.v3-card-header {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  padding: 14px 14px 11px !important;
}
.v3-logo-box {
  flex: 0 0 68px !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid #d9e4ef !important;
  border-radius: 14px !important;
  background: #f7fafc !important;
  position: relative !important;
}
.v3-logo-box .v3-university-logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 52px !important;
  max-height: 52px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.v3-logo-fallback {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0b4f8a !important;
}
.v3-logo-fallback svg { width: 40px !important; height: 40px !important; }
.v3-heading { flex: 1 1 auto !important; min-width: 0 !important; }
.v3-kicker { display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:5px !important; min-height:20px !important; margin-bottom:4px !important; }
.v3-country, .v3-badge {
  display:inline-flex !important;
  align-items:center !important;
  min-height:20px !important;
  padding:3px 7px !important;
  border-radius:999px !important;
  font-size:9.5px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
.v3-country { background:#eef5fb !important; color:#24557d !important; }
.v3-badge-blue{background:#eaf2ff!important;color:#245fc0!important}.v3-badge-purple{background:#f3edff!important;color:#7048a8!important}.v3-badge-green{background:#e8f8ef!important;color:#087a49!important}.v3-badge-amber{background:#fff5df!important;color:#9a5b00!important}.v3-badge-rose{background:#fff0f2!important;color:#b33b55!important}.v3-badge-slate{background:#eef2f6!important;color:#4d5c6b!important}.v3-badge-indigo{background:#eef0ff!important;color:#4d56a8!important}
.v3-university-name {
  display:block !important;
  color:#082f5f !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  text-decoration:none !important;
  margin:0 !important;
}
.v3-university-name:hover { color:#0b66c3 !important; text-decoration:underline !important; text-underline-offset:2px !important; }
.v3-external { display:inline-flex !important; vertical-align:middle !important; margin-left:2px !important; }
.v3-external svg { width:12px !important; height:12px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; }
.v3-program-name {
  margin:5px 0 0 !important;
  color:#245a91 !important;
  font-size:12.2px !important;
  line-height:1.4 !important;
  font-weight:600 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.v3-priority-row { display:grid !important; grid-template-columns:1.35fr .95fr !important; gap:8px !important; padding:0 14px 9px !important; }
.v3-priority-item { min-width:0 !important; display:flex !important; align-items:center !important; gap:8px !important; padding:9px 10px !important; border-radius:10px !important; border:1px solid #dce8f2 !important; background:#f7fafc !important; }
.v3-priority-item > span { flex:0 0 20px !important; width:20px !important; height:20px !important; display:flex !important; align-items:center !important; justify-content:center !important; border-radius:6px !important; background:#e8f2fb !important; color:#0b5b97 !important; }
.v3-priority-item svg { width:13px !important; height:13px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; }
.v3-priority-item small,.v3-meta-copy small { display:block !important; color:#72849a !important; font-size:8.5px !important; line-height:1.1 !important; text-transform:uppercase !important; letter-spacing:.05em !important; font-weight:700 !important; }
.v3-priority-item strong { display:block !important; margin-top:2px !important; color:#123b63 !important; font-size:12px !important; line-height:1.2 !important; font-weight:800 !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.v3-meta-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:6px !important; padding:0 14px 10px !important; }
.v3-meta-item { min-width:0 !important; display:flex !important; align-items:flex-start !important; gap:7px !important; padding:8px !important; border:1px solid #e4ebf2 !important; border-radius:9px !important; background:#fff !important; }
.v3-meta-icon { flex:0 0 17px !important; width:17px !important; height:17px !important; display:flex !important; align-items:center !important; justify-content:center !important; color:#46779f !important; }
.v3-meta-icon svg { width:14px !important; height:14px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.65 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
.v3-meta-copy { min-width:0 !important; }
.v3-meta-copy strong { display:block !important; margin-top:2px !important; color:#193b5a !important; font-size:10.5px !important; line-height:1.25 !important; font-weight:700 !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.v3-intakes { margin:0 14px !important; padding:9px 0 10px !important; border-top:1px solid #e8eef4 !important; border-bottom:1px solid #e8eef4 !important; }
.v3-section-head { display:flex !important; justify-content:space-between !important; gap:8px !important; margin-bottom:6px !important; color:#48627a !important; font-size:9.5px !important; line-height:1.2 !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.045em !important; }
.v3-intake-list { display:flex !important; flex-wrap:wrap !important; gap:5px !important; }
.v3-intake-chip { display:inline-flex !important; align-items:center !important; min-height:23px !important; padding:4px 8px !important; border:1px solid #d5e5f7 !important; border-radius:999px !important; background:#f1f7fd !important; color:#17568d !important; font-size:9.5px !important; line-height:1 !important; font-weight:700 !important; }
.v3-muted { color:#8a98a7 !important; font-size:9.5px !important; }
.v3-footer { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; padding:10px 14px 12px !important; }
.v3-status { display:flex !important; align-items:flex-start !important; gap:7px !important; min-width:0 !important; }
.v3-status-dot { flex:0 0 8px !important; width:8px !important; height:8px !important; margin-top:3px !important; border-radius:50% !important; background:#94a3b8 !important; box-shadow:0 0 0 3px #eef2f6 !important; }
.v3-status-dot.is-available { background:#16a05d !important; box-shadow:0 0 0 3px #e6f7ee !important; }
.v3-status strong { display:block !important; color:#245a91 !important; font-size:10.5px !important; line-height:1.2 !important; font-weight:800 !important; }
.v3-status small { display:block !important; margin-top:2px !important; color:#7a8a99 !important; font-size:8.5px !important; line-height:1.2 !important; }
.v3-actions { display:flex !important; flex-wrap:wrap !important; justify-content:flex-end !important; gap:5px !important; }
.v3-actions a { display:inline-flex !important; align-items:center !important; gap:4px !important; min-height:29px !important; padding:6px 9px !important; border-radius:7px !important; background:#0b4f8a !important; color:#fff !important; text-decoration:none !important; font-size:9.5px !important; line-height:1 !important; font-weight:700 !important; white-space:nowrap !important; }
.v3-actions a:hover { background:#083f70 !important; }
.v3-actions .v3-program-link { background:#eef5fb !important; color:#17568d !important; border:1px solid #d4e4f2 !important; }
.v3-actions svg { width:11px !important; height:11px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; }

@media (max-width: 1100px) {
  #resultsGrid,.results-grid,#searchResults,.search-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px !important; }
}
@media (max-width: 700px) {
  #resultsGrid,.results-grid,#searchResults,.search-results-grid { grid-template-columns:1fr !important; gap:14px !important; }
  .v3-card-header { padding:12px !important; }
  .v3-logo-box { flex-basis:60px !important; width:60px !important; min-width:60px !important; max-width:60px !important; height:60px !important; min-height:60px !important; max-height:60px !important; }
  .v3-logo-box .v3-university-logo { max-width:46px !important; max-height:46px !important; }
  .v3-university-name { font-size:15.5px !important; }
  .v3-priority-row,.v3-meta-grid { padding-left:12px !important; padding-right:12px !important; }
  .v3-footer { align-items:flex-start !important; flex-direction:column !important; padding-left:12px !important; padding-right:12px !important; }
  .v3-actions { width:100% !important; justify-content:flex-start !important; }
}


/* UNIVERSITY LOGO ONLY — never show the consultancy/site logo in result cards */
.v3-logo-box:empty {
  display: none !important;
}
.v3-logo-box.v3-logo-missing {
  display: none !important;
}
.v3-logo-box .v3-university-logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 52px !important;
  max-height: 52px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 700px) {
  .v3-logo-box .v3-university-logo {
    max-width: 46px !important;
    max-height: 46px !important;
  }
}


/* =========================================================
   OFFICIAL WEBSITE FALLBACK HELP MODAL
   No university/consultancy logo is used here.
   ========================================================= */
.official-website-help-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  background: rgba(15, 23, 42, .58) !important;
  backdrop-filter: blur(3px) !important;
}
.official-website-help {
  width: min(520px, 100%) !important;
  box-sizing: border-box !important;
  position: relative !important;
  padding: 28px !important;
  border: 1px solid #dce6ef !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: #17324d !important;
  box-shadow: 0 24px 70px rgba(15,23,42,.25) !important;
  font-family: inherit !important;
}
.official-website-help-close {
  position: absolute !important;
  top: 12px !important;
  right: 14px !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  font-size: 23px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.official-website-help-icon {
  width: 46px !important;
  height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 14px !important;
  border-radius: 12px !important;
  background: #eef6ff !important;
  color: #0b5b97 !important;
}
.official-website-help-icon svg { width: 25px !important; height: 25px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.8 !important; }
.official-website-help h3 {
  margin: 0 36px 10px 0 !important;
  color: #0b355c !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}
.official-website-help p {
  margin: 0 0 10px !important;
  color: #536b80 !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
}
.official-website-help-tip {
  padding: 12px 14px !important;
  border-left: 3px solid #2b78c5 !important;
  border-radius: 8px !important;
  background: #f6faff !important;
  color: #49647b !important;
}
.official-website-help-query {
  margin-top: 14px !important;
  padding: 11px 13px !important;
  border: 1px solid #dce7f0 !important;
  border-radius: 9px !important;
  background: #f8fafc !important;
  color: #183d60 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 750 !important;
}
.official-website-help-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-top: 18px !important;
}
.official-website-help-actions button,
.official-website-help-actions a {
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 9px 14px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}
.official-website-help-secondary { border: 1px solid #d7e1ea !important; background: #fff !important; color: #50687c !important; }
.official-website-help-primary { border: 1px solid #0b4f8a !important; background: #0b4f8a !important; color: #fff !important; }
.official-website-help-primary:hover { background: #083f70 !important; }
.official-website-help-primary svg { width: 12px !important; height: 12px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.8 !important; }

/* If a university logo URL fails, remove the entire logo box. */
.student-result-card-v3 .v3-logo-box.v3-logo-missing,
.student-result-card-v3 .v3-logo-box:empty {
  display: none !important;
}
@media (max-width: 560px) {
  .official-website-help { padding: 22px !important; border-radius: 15px !important; }
  .official-website-help h3 { font-size: 18px !important; }
  .official-website-help-actions { flex-direction: column-reverse !important; }
  .official-website-help-actions button,
  .official-website-help-actions a { width: 100% !important; }
}


/* PROGRAMME CATALOGUE ROBUST LIST FIX
   Real document-flow rows + incremental 100-item loading.
   This replaces the fragile absolute-positioned virtual spacer. */
.program-virtual-list {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: relative !important;
}
.program-virtual-inner {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
}
.program-virtual-list .program-suggestion-item {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* =========================================================
   HOME LOWER FEATURE CARDS — PROFESSIONAL V2
   Success stories / Blog / Upcoming events
   ========================================================= */
.home-feature-card{position:relative;min-width:0}
.home-card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.home-heading-inline{align-items:flex-start}
.home-section-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:7px;color:#0b4a91;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.home-kicker-dot{width:8px;height:8px;border-radius:999px;background:#2f8cff;box-shadow:0 0 0 4px #e5f0ff}
.home-kicker-purple{background:#8b5cf6;box-shadow:0 0 0 4px #eee8ff}
.home-kicker-orange{background:#f59e0b;box-shadow:0 0 0 4px #fff0d2}
.home-card-heading h2{margin:0;color:#0b2d50;font-size:23px;font-weight:800;line-height:1.15;letter-spacing:-.025em}
.home-card-heading p{margin:6px 0 0;color:#55708d;font-size:13px;line-height:1.55}
.home-slider-controls{display:flex;gap:7px}
.home-slider-controls button{width:38px;height:38px;border:1px solid #d7e5f3;border-radius:50%;background:#fff;color:#174a7c;font-size:17px;box-shadow:0 5px 16px rgba(15,63,105,.07);transition:.2s ease;cursor:pointer}
.home-slider-controls button:hover{transform:translateY(-2px);border-color:#8bbcf0;background:#f4f9ff;box-shadow:0 9px 20px rgba(15,63,105,.12)}
.home-success-story{position:relative;overflow:hidden;min-height:246px;padding:22px 24px;border:1px solid #d8e7f4;border-radius:22px;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 65%,#eef6ff 100%);box-shadow:0 14px 35px rgba(22,67,109,.08)}
.home-success-story:before{content:"";position:absolute;right:-55px;top:-75px;width:190px;height:190px;border-radius:50%;background:#e4f1ff;opacity:.72}
.home-success-story:after{content:"";position:absolute;left:-70px;bottom:-105px;width:180px;height:180px;border-radius:50%;background:#f1eaff;opacity:.55}
.home-success-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center}
.home-story-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #d9e9f8;color:#22629a;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 5px 15px rgba(22,73,120,.06)}
.home-story-badge svg{width:13px;height:13px}
.home-quote-mark{color:#79aee4;font-family:Georgia,serif;font-size:55px;line-height:.7;font-weight:700}
.home-story-content{position:relative;z-index:1;display:flex;align-items:center;gap:20px;margin-top:10px}
.home-story-avatar-wrap{position:relative;flex:0 0 88px}
.home-story-avatar-wrap img{display:block;width:88px;height:88px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 0 0 3px #cfe3f7,0 10px 25px rgba(28,84,132,.14)}
.home-avatar-check{position:absolute;right:0;bottom:2px;display:flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#0d9f70;color:#fff;border:3px solid #fff;font-size:11px;font-weight:800}
.home-story-copy{min-width:0;flex:1}
.home-story-copy>p{margin:0;color:#274b6c;font-size:13px;line-height:1.8;max-width:360px}
.home-story-person{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px}
.home-story-person h3{margin:0;color:#0b2d50;font-size:14px;font-weight:800}
.home-story-person p{margin:4px 0 0;color:#66809a;font-size:11px}
.home-story-arrow{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#e8f3ff;color:#0b5ca8;font-size:17px;font-weight:700}
.home-story-dots{display:flex;justify-content:center;gap:6px;margin-top:13px}
.home-story-dots button,.home-story-dots span{width:7px;height:7px;border-radius:50%;border:0;background:#c7d8e8;padding:0}
.home-story-dots .active,.home-story-dots button:first-child{background:#2586e8;box-shadow:0 0 0 3px #e4f1ff}

.home-view-link{display:inline-flex;align-items:center;gap:5px;margin-top:2px;color:#1264ba;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.home-view-link span{font-size:16px;transition:.2s ease}
.home-view-link:hover span{transform:translateX(3px)}
.home-blog-list{display:flex;flex-direction:column;gap:11px}
.home-blog-item{display:flex;gap:13px;min-height:87px;padding:10px;border:1px solid #dce8f2;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(20,62,98,.06);transition:.22s ease}
.home-blog-item:hover{transform:translateY(-2px);border-color:#bfd9ef;box-shadow:0 13px 28px rgba(20,62,98,.11)}
.home-blog-image-wrap{position:relative;flex:0 0 88px;overflow:hidden;border-radius:11px;background:#e9f1f8}
.home-blog-image-wrap img{width:100%;height:100%;min-height:65px;object-fit:cover;transition:.3s ease}
.home-blog-item:hover .home-blog-image-wrap img{transform:scale(1.06)}
.home-blog-category{position:absolute;left:6px;bottom:6px;padding:3px 6px;border-radius:999px;background:#fff;color:#9a5b00;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.home-blog-blue{color:#0b5ea8}
.home-blog-green{color:#07815e}
.home-blog-copy{min-width:0;display:flex;flex:1;flex-direction:column;justify-content:center}
.home-blog-meta{display:flex;align-items:center;gap:6px;color:#7790a8;font-size:9px;font-weight:600}
.home-meta-dot{width:3px;height:3px;border-radius:50%;background:#b6c7d7}
.home-blog-copy h3{margin:5px 0 5px;color:#183c5d;font-size:12px;line-height:1.45;font-weight:800}
.home-blog-copy a{display:inline-flex;align-items:center;gap:4px;color:#1264ba;font-size:10px;font-weight:800;text-decoration:none}
.home-blog-copy a span{font-size:13px;transition:.2s ease}
.home-blog-copy a:hover span{transform:translateX(3px)}

.home-events-list{display:flex;flex-direction:column;gap:11px}
.home-event-item{position:relative;display:flex;align-items:center;gap:13px;min-height:104px;padding:13px;border:1px solid #dce7f2;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(20,62,98,.06);transition:.22s ease}
.home-event-item:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(20,62,98,.11)}
.home-event-item:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:3px;border-radius:0 4px 4px 0;background:#3b91eb}
.home-event-purple:before{background:#8b5cf6}
.home-event-date{flex:0 0 57px;overflow:hidden;text-align:center;border:1px solid #cfe1f4;border-radius:11px;background:#f8fbff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.home-event-date span{display:block;padding:5px 3px;background:#2f86e6;color:#fff;font-size:9px;font-weight:900;letter-spacing:.12em}
.home-event-purple .home-event-date span{background:#8b5cf6}
.home-event-date strong{display:block;padding:6px 2px 7px;color:#0b2d50;font-size:22px;line-height:1;font-weight:850}
.home-event-copy{min-width:0;flex:1}
.home-event-type{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eaf4ff;color:#1766ad;font-size:8px;font-weight:900;letter-spacing:.07em}
.home-event-purple .home-event-type{background:#f1eaff;color:#7340c8}
.home-event-copy h3{margin:6px 0 7px;color:#173b5b;font-size:12px;line-height:1.4;font-weight:800}
.home-event-meta{display:flex;flex-wrap:wrap;gap:8px;color:#7189a1;font-size:9px}
.home-event-meta span{display:inline-flex;align-items:center;gap:4px}
.home-event-meta svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-register-btn{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:8px 10px;border:1px solid #8bd9bd;border-radius:9px;background:#f4fffa;color:#0b9366;font-size:10px;font-weight:800;cursor:pointer;transition:.2s ease}
.home-register-btn:hover{background:#0b9366;color:#fff;border-color:#0b9366;transform:translateY(-1px)}
.home-register-btn span{font-size:13px}
.home-events-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:9px 11px;border-radius:10px;background:#f5f9fd;color:#7890a7;font-size:9px}
.home-events-footer a{color:#1264ba;font-weight:800;text-decoration:none}
.home-event-live-dot{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#16b77b;box-shadow:0 0 0 3px #dff7ed}

@media (max-width:1100px){
  .home-success-story{min-height:230px}
  .home-card-heading h2{font-size:20px}
  .home-story-avatar-wrap,.home-story-avatar-wrap img{width:76px;height:76px}
  .home-story-avatar-wrap{flex-basis:76px}
}
@media (max-width:700px){
  .home-card-heading{align-items:flex-start}
  .home-card-heading h2{font-size:20px}
  .home-card-heading p{font-size:12px}
  .home-success-story{padding:18px;min-height:0}
  .home-story-content{gap:13px;align-items:flex-start}
  .home-story-avatar-wrap,.home-story-avatar-wrap img{width:68px;height:68px}
  .home-story-avatar-wrap{flex-basis:68px}
  .home-story-copy>p{font-size:12px;line-height:1.65}
  .home-story-arrow{display:none}
  .home-blog-image-wrap{flex-basis:82px}
  .home-event-item{align-items:flex-start}
  .home-register-btn{margin-left:auto}
  .home-event-meta{display:block}
  .home-event-meta span{margin-top:3px}
  .home-events-footer{align-items:flex-start;flex-direction:column}
}
