:root {
        --sg-gold: #f4a020;
        --sg-gold-dark: #c97b00;
        --sg-purple: #4338ca;
        --sg-purple-light: #4172ff;
        --sg-teal: #06d6a0;
    }

    /* ── Hero ─────────────────────────────────────────────────── */
    .detail-hero {
        background: #ffffff;
        padding: 3rem 0 2rem;
        border-bottom: 1px solid #e5e7eb;
        position: relative;
    }

    .detail-breadcrumb {
        font-size: 0.85rem;
        margin-bottom: 1.5rem;
        font-weight: 500;
    }

    .detail-breadcrumb a {
        color: #6b7280;
        text-decoration: none;
        transition: color 0.2s;
        font-weight: 600;
        letter-spacing: 1px;
    }
    .detail-breadcrumb a:hover { color: #4172ff; }
    .detail-breadcrumb .sep { color: #d1d5db; margin: 0 0.5rem; }

    .detail-title {
        font-size: 2.5rem;
        font-weight: 600;
        color: #111827;
        line-height: 1.3;
        margin-bottom: 1.5rem;
        position: relative;
        padding-left: 1.25rem;
        letter-spacing: -0.01em;
    }
    
    .detail-title::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.25rem;
        bottom: 0.25rem;
        width: 5px;
        background: #4172ff;
        border-radius: 4px;
    }

    .detail-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-bottom: 1.5rem;
    }

    .detail-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        padding: 0.35rem 1rem;
        border-radius: 50px;
        font-size: 0.78rem;
        font-weight: 700;
    }

    .badge-funded { background: rgba(6,214,160,0.2); color: #06d6a0; border: 1px solid rgba(6,214,160,0.3); }
    .badge-provider { background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.8); border: 1px solid rgba(255,255,255,0.15); }
    .badge-difficulty { background: rgba(244,160,32,0.2); color: var(--sg-gold); border: 1px solid rgba(244,160,32,0.3); }

    .detail-cta-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: #211299;
        color: white;
        padding: 0.875rem 2rem;
        border-radius: 50px;
        font-weight: 700;
        font-size: 1rem;
        text-decoration: none;
        transition: all 0.3s;
        box-shadow: 0 4px 20px rgba(244,160,32,0.35);
    }

    .detail-cta-btn:hover {
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 8px 30px rgba(244,160,32,0.5);
    }

    /* ── Layout ────────────────────────────────────────────────── */
    .detail-layout {
        display: grid;
        grid-template-columns: 1fr 300px;
        gap: 2.5rem;
        padding: 2rem 0 5rem;
    }

    @media (max-width: 991px) {
        .detail-layout { grid-template-columns: 1fr; }
        .detail-title { font-size: 1.75rem; }
    }

    /* ── Content Sections ─────────────────────────────────────── */
    .content-section {
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .content-section:last-of-type {
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .content-section-title {
        font-size: 1.5rem;
        font-weight: 700;
        color: #111827;
        margin-bottom: 1rem;
        letter-spacing: -0.01em;
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .content-section-title .section-icon {
        width: 36px;
        height: 36px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
    }

   .content-text {
        font-size: 1rem;
        line-height: 1.7;
        color: #272729;
    }

    /* ── Table-like List Styling ────────────────────────────── */
    .requirements-list dl {
        display: grid;
        grid-template-columns: 250px 1fr;
        border-bottom: 1px solid #e5e7eb;
        margin-bottom: 1.5rem;
    }
    
    @media (max-width: 576px) {
        .requirements-list dl { grid-template-columns: 1fr; }
        .requirements-list dt { padding-bottom: 0 !important; border-bottom: none !important; }
        .requirements-list dd { padding-top: 0.25rem !important; }
    }

    .requirements-list dt {
        padding: 0.6rem 1rem 0.6rem 0;
        border-top: 1px solid #e5e7eb;
        font-size: 0.75rem;
        color: #6b7280;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin: 0;
        display: flex;
        align-items: center;
    }

    .requirements-list dd {
        padding: 0.6rem 0;
        border-top: 1px solid #e5e7eb;
        margin: 0;
        font-size: 0.95rem;
        color: #111827;
        font-weight: 500;
        display: flex;
        align-items: center;
    }

    .requirements-list h3 {
        font-size: 1.15rem;
        font-weight: 700;
        color: #111827;
        margin-bottom: 1rem;
        margin-top: 2rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .requirements-list h3:first-child {
        margin-top: 0;
    }

    .req-icon-wrap {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        border-radius: 6px;
        font-size: 0.9rem;
    }

    .req-icon-academic { background: rgba(65, 114, 255, 0.1); color: #4172ff; }
    .req-icon-language { background: rgba(6, 214, 160, 0.1); color: #06d6a0; }
    .req-icon-finance { background: rgba(244, 160, 32, 0.1); color: #f4a020; }

    /* ── Info Table ─────────────────────────────────────────────── */
    .info-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 0.4rem;
    }

    .info-table tr td:first-child {
        font-size: 0.78rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        color: #6c757d;
        padding: 0.6rem 0;
        width: 45%;
    }

    .info-table tr td:last-child {
        font-size: 0.93rem;
        font-weight: 600;
        color: #0f0c1a;
        padding: 0.6rem 0;
    }

    .info-table tr {
        border-bottom: 1px solid #f5f5f5;
    }

    .check-yes { color: #06a076; }
    .check-no  { color: #dc3545; }
    .check-opt { color: var(--sg-gold-dark); }

    /* ── Sidebar ────────────────────────────────────────────────── */
    .detail-sidebar {
        align-self: start;
    }

    .sidebar-card {
        background: white;
        border-radius: 1rem;
        box-shadow: 0 2px 16px rgba(0,0,0,0.06);
        border: 1px solid #f0f0f0;
        overflow: hidden;
        margin-bottom: 1.25rem;
    }

    .sidebar-card-header {
        background: #4172ff;
        color: white;
        padding: 1rem 1.25rem;
        font-weight: 700;
        font-size: 0.9rem;
    }

    .sidebar-card-body { padding: 1.25rem; }

    /* Quick stats in sidebar */
    .quick-stat-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.55rem 0;
        border-bottom: 1px solid #f5f5f5;
        font-size: 0.85rem;
    }

    .quick-stat-row:last-child { border-bottom: none; }

    .quick-stat-label { color: #6c757d; }
    .quick-stat-value { font-weight: 700; color: #0f0c1a; }

    /* TOC */
    .toc-link {
        display: block;
        padding: 0.4rem 0;
        color: #495057;
        text-decoration: none;
        font-size: 0.85rem;
        border-left: 3px solid transparent;
        padding-left: 0.75rem;
        transition: all 0.2s;
    }

    .toc-link:hover, .toc-link.active {
        color: #4338ca;
        border-left-color: #4338ca;
        padding-left: 1rem;
    }

    /* Doc tags */
    .doc-tag {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        background: rgba(114,9,183,0.08);
        color: #4338ca;
        border: 1px solid rgba(114,9,183,0.15);
        padding: 0.25rem 0.65rem;
        border-radius: 50px;
        font-size: 0.72rem;
        font-weight: 700;
        margin: 0.2rem;
    }

    /* Importance bars */
    .importance-item { margin-bottom: 1.5rem; }
    .importance-label {
        display: flex;
        justify-content: space-between;
        font-size: 0.95rem;
        margin-bottom: 0.5rem;
        font-weight: 600;
        color: #374151;
    }

    .importance-bar-wrap { background: #e5e7eb; border-radius: 50px; height: 8px; overflow: hidden; width: 100%; }
    hr.importance-bar-fill { height: 100%; border-radius: 50px; background: #23119A; margin: 0; border: none; float: left; opacity: 1; }

    /* Degree & country tags */
    .degree-tag, .country-tag {
        display: inline-flex;
        align-items: center;
        padding: 0.3rem 0.75rem;
        border-radius: 50px;
        font-size: 0.78rem;
        font-weight: 700;
        margin: 0.2rem;
    }

    .degree-tag { background: rgba(114,9,183,0.1); color: #4338ca; }
    .country-tag { background: rgba(244,160,32,0.12); color: var(--sg-gold-dark); }