/* ============================================================
   UNIVS COUNTRY PAGE — v2
   Matches georgia-country-page-v2.html design tokens.
   All classes are prefixed cp- to avoid theme collisions.
   ============================================================ */

/* ── DESIGN TOKENS ─────────────────────────────────────────── */
.univs-country-main {
        --cp-primary:    #1A56E8;
        --cp-primary-dk: #1440C4;
        --cp-accent:     #EEF2FF;
        --cp-cta:        #DC2626;
        --cp-bg:         #F8FAFC;
        --cp-card:       #FFFFFF;
        --cp-border:     #E2E8F0;
        --cp-text:       #0F172A;
        --cp-muted:      #475569;
        --cp-light:      #94A3B8;
        --cp-featured:   #F59E0B;
        --cp-success:    #16A34A;
        --cp-radius:     12px;
        --cp-radius-sm:  8px;
        --cp-shadow:     0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);
        --cp-shadow-md:  0 4px 12px rgba(0,0,0,.10);
        --cp-shadow-lg:  0 10px 30px rgba(0,0,0,.12);
        --cp-transition: 0.2s ease;
        font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        color: var(--cp-text);
        background: var(--cp-bg);
        line-height: 1.6;
}

/* ── BREADCRUMB ─────────────────────────────────────────────── */
/* Unified breadcrumb — same style as univs-university.css .breadcrumb */
.breadcrumb, .cp-breadcrumb {
        background: #fff;
        border-bottom: 1px solid #e2e8f0;
        padding: 9px 24px;
        font-size: .8rem;
        color: #94a3b8;
        display: flex;
        align-items: center;
        gap: 5px;
        flex-wrap: wrap;
}
.breadcrumb a, .cp-breadcrumb a {
        color: #475569;
        text-decoration: underline;
        text-underline-offset: 2px;
        transition: color .15s;
}
.breadcrumb a:hover, .cp-breadcrumb a:hover { color: var(--cp-primary, #1A56E8); }
.breadcrumb-sep, .cp-bc-sep  { color: #cbd5e1; }
.breadcrumb-cur, .cp-bc-cur  { color: var(--cp-primary, #1A56E8); font-weight: 500; }

/* ── HERO ────────────────────────────────────────────────────── */
.cp-hero {
        position: relative;
        min-height: 540px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        overflow: hidden;
}
.cp-hero-bg {
        position: absolute;
        inset: 0;
        background:
                linear-gradient(to bottom, rgba(15,23,42,.18) 0%, rgba(15,23,42,.72) 100%),
                #1A56E8 center/cover no-repeat;
        background-size: cover;
        background-position: center;
        z-index: 0;
}
.cp-hero-content {
        position: relative;
        z-index: 2;
        padding: 48px 24px 36px;
        max-width: 1240px;
        margin: 0 auto;
        width: 100%;
}
.cp-hero-identity { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.cp-hero-flag {
        width: 64px; height: 64px;
        background: #fff;
        border-radius: 12px;
        display: flex; align-items: center; justify-content: center;
        font-size: 2rem; flex-shrink: 0;
        box-shadow: 0 4px 14px rgba(0,0,0,.3);
        overflow: hidden;
}
.cp-hero-flag-img {
        width: 100%; height: 100%;
        object-fit: cover;
        border-radius: 12px;
        display: block;
}
.cp-hero-title-wrap h1 {
        font-size: 2.2rem; font-weight: 800;
        color: #fff; line-height: 1.15;
        letter-spacing: -.5px; margin: 0;
}
.cp-hero-meta-row { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.cp-hero-location { color: rgba(255,255,255,.8); font-size: .95rem; font-weight: 500; }
.cp-intake-badge {
        background: rgba(255,255,255,.18);
        border: 1px solid rgba(255,255,255,.4);
        color: #fff;
        padding: 2px 10px;
        border-radius: 20px;
        font-size: .72rem; font-weight: 600;
}
.cp-hero-subtitle {
        font-size: 1rem; color: rgba(255,255,255,.82);
        max-width: 520px; margin: 0 0 14px;
        line-height: 1.6;
}
.cp-hero-badges { display: flex; gap: 7px; flex-wrap: wrap; margin: 0 0 14px; }
.cp-hero-badge {
        background: rgba(255,255,255,.15);
        backdrop-filter: blur(8px);
        border: 1px solid rgba(255,255,255,.28);
        color: #fff;
        padding: 5px 14px;
        border-radius: 20px;
        font-size: .78rem; font-weight: 600;
        letter-spacing: .3px;
        display: inline-flex; align-items: center; gap: 4px;
}
.cp-hero-stats {
        display: flex;
        background: rgba(0,0,0,.25);
        backdrop-filter: blur(12px);
        border: 1px solid rgba(255,255,255,.12);
        border-radius: var(--cp-radius);
        overflow: hidden;
        margin-bottom: 20px;
        flex-wrap: wrap;
        width: fit-content;
}
.cp-hero-stat {
        flex: 1; min-width: 100px;
        padding: 13px 18px;
        border-right: 1px solid rgba(255,255,255,.15);
        text-align: center;
        transition: background var(--cp-transition);
}
.cp-hero-stat:last-child { border-right: none; }
.cp-hero-stat:hover { background: rgba(255,255,255,.08); }
.cp-hs-value { display: block; font-size: 1.1rem; font-weight: 800; color: #fff; line-height: 1.2; }
.cp-hs-label { display: block; font-size: .65rem; color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: .5px; margin-top: 3px; }
.cp-hero-ctas { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.cp-btn-primary {
        background: var(--cp-primary); color: #fff;
        padding: 13px 26px; border-radius: 10px;
        font-size: .95rem; font-weight: 700;
        border: none; cursor: pointer;
        transition: background var(--cp-transition), transform var(--cp-transition);
        display: inline-flex; align-items: center; gap: 7px;
        text-decoration: none; white-space: nowrap;
}
.cp-btn-primary:hover { background: var(--cp-primary-dk); transform: translateY(-1px); }
.cp-btn-outline-hero {
        background: rgba(255,255,255,.12); color: #fff;
        border: 1.5px solid rgba(255,255,255,.5);
        padding: 12px 22px; border-radius: 10px;
        font-size: .88rem; font-weight: 600;
        cursor: pointer; transition: all var(--cp-transition);
        display: inline-flex; align-items: center; gap: 7px;
        backdrop-filter: blur(8px); text-decoration: none;
}
.cp-btn-outline-hero:hover { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.8); }

/* ── LEAD FORM ───────────────────────────────────────────────── */
.cp-wrap { max-width: 1240px; margin: 0 auto; padding: 32px 24px 80px; }
.cp-wrap--no-bottom { padding-bottom: 0; padding-top: 24px; }
.cp-lead-box {
        background: linear-gradient(135deg, var(--cp-primary) 0%, var(--cp-primary-dk) 100%);
        border-radius: var(--cp-radius);
        padding: 28px 32px;
        color: #fff;
        margin-bottom: 24px;
        position: relative;
        overflow: hidden;
}
.cp-lead-box::before {
        content: '';
        position: absolute; top: -40px; right: -40px;
        width: 180px; height: 180px;
        border-radius: 50%;
        background: rgba(255,255,255,.06);
        pointer-events: none;
}
.cp-lead-box__inner {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 28px;
        align-items: center;
        position: relative; z-index: 1;
}
.cp-lead-box__text { display: flex; align-items: flex-start; gap: 14px; }
.cp-lead-box__icon { font-size: 2rem; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.cp-lead-box__text h3 { font-size: 1.2rem; font-weight: 800; margin: 0 0 4px; line-height: 1.2; }
.cp-lead-box__text p  { font-size: .88rem; opacity: .82; margin: 0; line-height: 1.5; }
.country-lead-form-wrap { min-width: 0; }
.country-lead-form-wrap--empty {
        width: 100%;
        border: 1px dashed rgba(255,255,255,.45);
        border-radius: 14px;
        background: rgba(255,255,255,.13);
        padding: 18px 20px;
        color: #fff;
}
.country-lead-form-wrap--empty strong {
        display: block;
        font-weight: 800;
        margin-bottom: 6px;
}
.country-lead-form-wrap--empty p {
        margin: 0;
        opacity: .82;
}
.cp-lead-box__fields { display: flex; flex-direction: column; gap: 8px; }
.cp-lead-field-row { display: flex; gap: 10px; }
.cp-lead-input {
        flex: 1; min-width: 0;
        padding: 11px 14px;
        border-radius: 8px;
        border: 1.5px solid rgba(255,255,255,.3);
        background: rgba(255,255,255,.13);
        color: #fff; font-size: .88rem; font-family: inherit;
        transition: border-color var(--cp-transition), background var(--cp-transition);
}
.cp-lead-input::placeholder { color: rgba(255,255,255,.6); }
.cp-lead-input:focus { outline: none; border-color: rgba(255,255,255,.85); background: rgba(255,255,255,.2); }
.cp-lead-select {
        flex: 1; padding: 11px 14px;
        border-radius: 8px;
        border: 1.5px solid rgba(255,255,255,.3);
        background: rgba(255,255,255,.13);
        color: #fff; font-size: .88rem; font-family: inherit;
        cursor: pointer;
}
.cp-lead-select:focus { outline: none; border-color: rgba(255,255,255,.85); }
.cp-lead-submit {
        flex-shrink: 0;
        background: #fff; color: var(--cp-primary);
        padding: 11px 22px; border-radius: 8px;
        font-weight: 800; font-size: .9rem;
        border: none; cursor: pointer;
        transition: all var(--cp-transition);
        white-space: nowrap;
}
.cp-lead-submit:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,.15); }
.cp-lead-trust { margin: 7px 0 0; font-size: .75rem; opacity: .65; }
.cp-lead-submit:disabled { opacity: .7; cursor: wait; transform: none; box-shadow: none; }
.cp-lead-success {
        padding: 12px 14px;
        border-radius: 8px;
        background: rgba(255,255,255,.16);
        border: 1px solid rgba(255,255,255,.28);
        font-size: .88rem;
        font-weight: 700;
}

/* ── SECTION BASE ────────────────────────────────────────────── */
.cp-section {
        background: var(--cp-card);
        border: 1px solid var(--cp-border);
        border-radius: var(--cp-radius);
        padding: 32px;
        margin-bottom: 20px;
        scroll-margin-top: 80px;
}
.cp-section-header {
        display: flex; align-items: center; justify-content: space-between;
        margin-bottom: 20px;
}
.cp-section-title {
        font-size: 1.25rem; font-weight: 700;
        color: var(--cp-text);
        display: flex; align-items: center; gap: 10px;
        margin: 0;
}
.cp-section-icon {
        width: 34px; height: 34px;
        background: var(--cp-accent);
        border-radius: 8px;
        display: flex; align-items: center; justify-content: center;
        font-size: 1rem; flex-shrink: 0;
}
.cp-section-link { font-size: .82rem; color: var(--cp-primary); font-weight: 600; text-decoration: none; }
.cp-section-link:hover { text-decoration: underline; }

/* ── QUICK STATS ROW ─────────────────────────────────────────── */
.cp-stats-row {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 16px;
        margin-bottom: 20px;
}
.cp-stat-card {
        background: var(--cp-card);
        border: 1px solid var(--cp-border);
        border-radius: var(--cp-radius);
        padding: 20px;
        text-align: center;
}
.cp-stat-value { font-size: 1.8rem; font-weight: 800; color: var(--cp-primary); line-height: 1; letter-spacing: -1px; }
.cp-stat-label { font-size: .78rem; color: var(--cp-light); margin-top: 4px; font-weight: 500; }

/* ── OVERVIEW / ABOUT ────────────────────────────────────────── */
.cp-about-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 32px; }
.cp-about-body p { margin-bottom: 12px; color: var(--cp-muted); font-size: .9rem; line-height: 1.7; }
.cp-accred-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.cp-accred-badge {
        background: var(--cp-accent); color: var(--cp-primary);
        border: 1px solid #BFDBFE;
        padding: 4px 12px; border-radius: 20px;
        font-size: .78rem; font-weight: 600;
}
.cp-quickinfo { display: flex; flex-direction: column; gap: 0; }
.cp-qi-row {
        display: flex; align-items: baseline; gap: 10px;
        padding: 9px 0; border-bottom: 1px solid var(--cp-border);
        font-size: .86rem;
}
.cp-qi-row:last-child { border-bottom: none; }
.cp-qi-label { color: var(--cp-light); min-width: 110px; font-size: .78rem; font-weight: 500; }
.cp-qi-value { color: var(--cp-text); font-weight: 600; flex: 1; }

/* ── WHY STUDY ───────────────────────────────────────────────── */
.cp-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cp-why-card {
        background: var(--cp-bg); border: 1px solid var(--cp-border);
        border-radius: var(--cp-radius-sm); padding: 18px;
        transition: border-color var(--cp-transition), box-shadow var(--cp-transition);
}
.cp-why-card:hover { border-color: var(--cp-primary); box-shadow: var(--cp-shadow); }
.cp-why-icon { font-size: 1.6rem; margin-bottom: 10px; }
.cp-why-card h4 { font-size: .95rem; font-weight: 700; margin: 0 0 5px; color: var(--cp-text); }
.cp-why-card p  { font-size: .83rem; color: var(--cp-muted); line-height: 1.6; margin: 0; }

/* ── RANK CARDS ──────────────────────────────────────────────── */
.cp-rank-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cp-rank-card {
        background: var(--cp-bg); border: 1px solid var(--cp-border);
        border-radius: var(--cp-radius-sm); padding: 20px;
        text-align: center;
        transition: border-color var(--cp-transition);
}
.cp-rank-card:hover { border-color: var(--cp-primary); }
.cp-rank-value { font-size: 2rem; font-weight: 800; color: var(--cp-primary); line-height: 1; }
.cp-rank-label { font-size: .82rem; font-weight: 600; color: var(--cp-text); margin-top: 6px; }
.cp-rank-source { font-size: .72rem; color: var(--cp-light); margin-top: 3px; }

/* ── UNIVERSITY CARDS ────────────────────────────────────────── */
.cp-uni-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cp-uni-card {
        background: var(--cp-card); border: 1px solid var(--cp-border);
        border-radius: var(--cp-radius); overflow: hidden;
        transition: box-shadow var(--cp-transition), transform var(--cp-transition);
        position: relative;
}
.cp-uni-card:hover { box-shadow: var(--cp-shadow-md); transform: translateY(-2px); }
.cp-uni-featured-ribbon {
        position: absolute; top: 10px; left: 10px;
        background: var(--cp-featured); color: #fff;
        padding: 3px 10px; border-radius: 12px;
        font-size: .72rem; font-weight: 700;
        display: flex; align-items: center; gap: 4px; z-index: 2;
}
.cp-uni-cover {
        height: 110px;
        display: flex; align-items: center; justify-content: center;
        position: relative; overflow: hidden;
}
.cp-uni-logo-overlay {
        position: absolute; bottom: -16px; left: 50%; transform: translateX(-50%);
        width: 60px; height: 60px; border-radius: 12px;
        background: #fff; border: 2px solid var(--cp-border);
        box-shadow: var(--cp-shadow);
        display: flex; align-items: center; justify-content: center;
        overflow: hidden; z-index: 2;
        font-size: .7rem; font-weight: 800; color: #fff;
        letter-spacing: -.02em;
}
.cp-uni-logo-overlay img { width: 100%; height: 100%; object-fit: contain; }
.cp-uni-body { padding: 30px 14px 10px; text-align: center; }
.cp-uni-name { font-size: .92rem; font-weight: 700; margin-bottom: 3px; color: var(--cp-text); }
.cp-uni-meta {
        font-size: .78rem; color: var(--cp-light);
        display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-bottom: 6px;
}
.cp-uni-rating { font-size: .8rem; font-weight: 600; color: var(--cp-featured); }
.cp-uni-footer {
        padding: 10px 14px; border-top: 1px solid var(--cp-border);
        display: flex; align-items: center; justify-content: space-between;
}
.cp-uni-tuition { font-size: .82rem; color: var(--cp-light); }
.cp-uni-tuition strong { color: var(--cp-text); font-size: .88rem; }
.cp-btn-view {
        font-size: .78rem; font-weight: 700;
        color: var(--cp-primary); background: var(--cp-accent);
        padding: 5px 12px; border-radius: 6px;
        border: none; cursor: pointer;
        transition: all var(--cp-transition); text-decoration: none;
        display: inline-block;
}
.cp-btn-view:hover { background: var(--cp-primary); color: #fff; }

/* ── PROGRAMS TABLE ──────────────────────────────────────────── */
.cp-prog-search-bar { display: flex; gap: 10px; margin-bottom: 14px; align-items: center; }
.cp-prog-search-wrap { position: relative; flex: 1; min-width: 0; }
.cp-prog-search-icon {
        position: absolute; left: 13px; top: 50%; transform: translateY(-50%);
        width: 15px; height: 15px; border: 2px solid var(--cp-light);
        border-radius: 50%; box-shadow: 2px 2px 0 0 var(--cp-light);
        pointer-events: none; z-index: 1;
}
.cp-prog-search-input {
        width: 100%; padding: 10px 36px 10px 38px;
        border: 1.5px solid var(--cp-border); border-radius: 9px;
        font-size: .88rem; font-family: inherit; color: var(--cp-text);
        background: #fff; transition: border-color var(--cp-transition), box-shadow var(--cp-transition);
        box-sizing: border-box;
}
.cp-prog-search-input:focus { outline: none; border-color: var(--cp-primary); box-shadow: 0 0 0 3px rgba(26,86,232,.1); }
.cp-prog-search-input::placeholder { color: var(--cp-light); }
.cp-prog-search-clear {
        position: absolute; right: 11px; top: 50%; transform: translateY(-50%);
        background: var(--cp-border); border: none; cursor: pointer;
        width: 20px; height: 20px; border-radius: 50%;
        display: none; align-items: center; justify-content: center;
        font-size: .7rem; color: var(--cp-muted);
}
.cp-prog-search-clear:hover { background: #cdd5df; }
.cp-prog-search-clear.visible { display: flex; }
.cp-prog-filters-row {
        display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
        margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--cp-border);
}
.cp-filters-label { font-size: .74rem; font-weight: 700; color: var(--cp-light); text-transform: uppercase; letter-spacing: .5px; flex-shrink: 0; }
.cp-prog-filter-btn {
        padding: 6px 14px; border-radius: 20px; border: 1.5px solid var(--cp-border);
        background: var(--cp-card); font-size: .8rem; font-weight: 600;
        color: var(--cp-muted); cursor: pointer; transition: all var(--cp-transition);
}
.cp-prog-filter-btn:hover { background: var(--cp-accent); border-color: var(--cp-primary); color: var(--cp-primary); }
.cp-prog-filter-btn.active { background: var(--cp-primary); border-color: var(--cp-primary); color: #fff; }
.cp-prog-filter-dropdowns { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.cp-prog-select {
        padding: 7px 30px 7px 12px; border: 1.5px solid var(--cp-border); border-radius: 9px;
        font-size: .82rem; font-family: inherit; color: var(--cp-muted);
        background: #fff url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238896a7' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;
        cursor: pointer; appearance: none; -webkit-appearance: none;
        transition: border-color var(--cp-transition);
}
.cp-prog-select:focus { outline: none; border-color: var(--cp-primary); }
.cp-prog-results-meta {
        display: flex; align-items: center; justify-content: space-between;
        margin-bottom: 12px; font-size: .82rem; color: var(--cp-light);
}
.cp-results-count { display: flex; align-items: center; gap: 4px; }
.cp-results-count strong { color: var(--cp-text); font-weight: 700; }
.cp-results-sort { display: flex; align-items: center; gap: 6px; }
.cp-programs-table-wrap { overflow-x: auto; }
.cp-programs-table { width: 100%; border-collapse: collapse; }
.cp-programs-table th {
        background: var(--cp-bg); padding: 11px 16px;
        text-align: left; font-size: .72rem; font-weight: 700;
        color: var(--cp-light); text-transform: uppercase;
        letter-spacing: .6px; border-bottom: 2px solid var(--cp-border);
        white-space: nowrap;
}
.cp-programs-table th.cp-sortable { cursor: pointer; user-select: none; }
.cp-programs-table th.cp-sortable:hover { color: var(--cp-primary); }
.cp-sort-icon { margin-left: 4px; opacity: .4; font-size: .65rem; }
.cp-programs-table td {
        padding: 14px 16px; border-bottom: 1px solid var(--cp-border);
        font-size: .875rem; vertical-align: middle;
}
.cp-programs-table td:nth-child(2) { min-width: 140px; }
.cp-programs-table tr:last-child td { border-bottom: none; }
.cp-programs-table tbody tr { transition: background var(--cp-transition); }
.cp-programs-table tbody tr:hover td { background: var(--cp-accent); }
.cp-programs-table tbody tr.hidden { display: none; }
#cpProgramsBody tr[data-featured="1"] td { background: #fffbeb; border-bottom-color: #fde68a; }
#cpProgramsBody tr[data-featured="1"]:first-child td { border-top: 2px solid #f59e0b; }
#cpProgramsBody tr[data-featured="1"]:hover td { background: #fef3c7; }
#cpProgramsBody tr[data-featured="1"] td:first-child { border-left: 3px solid #f59e0b; }
.cp-prog-name { font-weight: 600; color: var(--cp-text); display: block; }
.cp-prog-name a { color: var(--cp-text); text-decoration: none; transition: color var(--cp-transition); }
.cp-prog-name a:hover { color: var(--cp-primary); }
.cp-prog-name small { display: block; font-weight: 400; color: var(--cp-light); font-size: .76rem; margin-top: 2px; }
.cp-prog-feat-star { color: #f59e0b; margin-right: 4px; }
.cp-prog-degree { display: inline-block; background: var(--cp-accent); color: var(--cp-primary); padding: 2px 8px; border-radius: 5px; font-size: .72rem; font-weight: 700; }
.cp-prog-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 20px; font-size: .72rem; font-weight: 700; }
.cp-badge-open    { background: #dcfce7; color: #15803d; }
.cp-badge-closing { background: #fef3c7; color: #d97706; }
/* University name cell — clickable text, no logo box */
.cp-prog-uni-name {
        display: inline-block;
        max-width: 100%;
        font-size: .82rem;
        font-weight: 600;
        color: var(--cp-text);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-decoration: none;
        transition: color var(--cp-transition);
        vertical-align: middle;
}
a.cp-prog-uni-name:hover { color: var(--cp-primary); text-decoration: underline; }
.cp-prog-actions { display: flex; gap: 6px; align-items: center; white-space: nowrap; }
.cp-btn-view-sm {
        padding: 7px 13px; border-radius: 8px;
        border: 1.5px solid var(--cp-border); background: var(--cp-card);
        font-size: .78rem; font-weight: 700; color: var(--cp-text);
        cursor: pointer; transition: all var(--cp-transition);
        text-decoration: none; display: inline-block;
}
.cp-btn-view-sm:hover { border-color: var(--cp-primary); color: var(--cp-primary); background: var(--cp-accent); }
.cp-btn-apply-sm {
        background: var(--cp-primary); color: #fff;
        padding: 7px 16px; border-radius: 8px;
        font-size: .8rem; font-weight: 700; border: none;
        cursor: pointer; transition: all var(--cp-transition);
        box-shadow: 0 2px 6px rgba(0,0,0,.15);
        text-decoration: none; display: inline-block;
}
.cp-btn-apply-sm:hover { background: var(--cp-primary-dk); transform: translateY(-1px); color: #fff; }
.cp-no-results { text-align: center; padding: 40px 20px; display: none; }
.cp-no-results.visible { display: block; }
.cp-no-results-icon { font-size: 2.5rem; margin-bottom: 10px; }
.cp-no-results h4 { font-size: 1rem; font-weight: 700; color: var(--cp-text); margin-bottom: 6px; }
.cp-no-results p { font-size: .88rem; color: var(--cp-light); }

/* ── COST OF LIVING & VISA ───────────────────────────────────── */
.cp-visa-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.cp-col-title {
        font-size: .78rem; font-weight: 700; text-transform: uppercase;
        letter-spacing: 1px; margin-bottom: 16px;
        display: flex; align-items: center; gap: 7px;
}
.cp-col-title::after { content: ''; flex: 1; height: 1px; background: var(--cp-border); }
.cp-col-title--cost { color: var(--cp-light); }
.cp-col-title--visa { color: var(--cp-primary); }
.cp-col-title--visa::after { background: color-mix(in srgb, var(--cp-primary) 20%, transparent); }
.cp-cost-items { display: flex; flex-direction: column; gap: 8px; }
.cp-cost-item {
        display: flex; align-items: center; gap: 12px;
        padding: 10px 14px; background: var(--cp-bg);
        border: 1px solid var(--cp-border); border-radius: 9px;
        transition: border-color var(--cp-transition), background var(--cp-transition);
}
.cp-cost-item:hover { background: #fff; border-color: #CBD5E1; }
.cp-cost-icon  { font-size: 1.05rem; width: 28px; text-align: center; flex-shrink: 0; }
.cp-cost-label { flex: 1; font-size: .865rem; color: var(--cp-muted); }
.cp-cost-range { font-size: .83rem; font-weight: 700; color: var(--cp-text); white-space: nowrap; }
.cp-cost-total-bar {
        display: flex; align-items: center; justify-content: space-between;
        padding: 13px 14px; margin-top: 4px;
        background: linear-gradient(135deg, var(--cp-primary), var(--cp-primary-dk));
        border-radius: 9px; color: #fff;
        font-weight: 700; font-size: .875rem;
}
.cp-info-list { display: flex; flex-direction: column; gap: 0; }
.cp-info-item {
        display: flex; align-items: flex-start; gap: 14px;
        padding: 13px 0; border-bottom: 1px solid var(--cp-border);
}
.cp-info-item:last-child { border-bottom: none; }
.cp-info-icon-wrap {
        width: 34px; height: 34px; background: var(--cp-accent);
        border-radius: 8px; display: flex; align-items: center; justify-content: center;
        font-size: .95rem; flex-shrink: 0;
}
.cp-info-item-body strong { color: var(--cp-text); display: block; font-size: .875rem; margin-bottom: 2px; }
.cp-info-item-body p { font-size: .85rem; color: var(--cp-muted); line-height: 1.55; margin: 0; }
.cp-visa-approval-pill {
        display: inline-flex; align-items: center; gap: 6px;
        background: #DCFCE7; border: 1px solid #86EFAC;
        border-radius: 20px; padding: 5px 12px;
        font-size: .75rem; font-weight: 700; color: #15803D; margin-top: 16px;
}
.cp-visa-dot {
        width: 7px; height: 7px; background: var(--cp-success);
        border-radius: 50%;
        animation: cp-pulse-dot 1.8s ease-in-out infinite;
}
@keyframes cp-pulse-dot {
        0%, 100% { opacity: 1; transform: scale(1); }
        50%       { opacity: .6; transform: scale(.85); }
}

/* ── SCHOLARSHIPS ────────────────────────────────────────────── */
/* ── Dynamic scholarship cards — data from _uni_scholarship_items ── */
.cp-schol-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cp-schol-card {
        background: var(--cp-bg); border: 1px solid var(--cp-border);
        border-radius: var(--cp-radius-sm); padding: 18px;
        transition: border-color var(--cp-transition), box-shadow var(--cp-transition);
        display: flex; flex-direction: column;
}
.cp-schol-card:hover { border-color: var(--cp-primary); box-shadow: var(--cp-shadow); }
.cp-schol-type {
        font-size: .82rem; font-weight: 700; color: var(--cp-primary);
        margin-bottom: 12px; padding-bottom: 10px;
        border-bottom: 1px solid var(--cp-border);
}
.cp-schol-item-row {
        display: flex; align-items: flex-start; gap: 10px;
        margin-bottom: 10px;
}
.cp-schol-item-row:last-of-type { margin-bottom: 12px; }
.cp-schol-dot {
        width: 7px; height: 7px; background: var(--cp-primary);
        border-radius: 50%; margin-top: 5px; flex-shrink: 0;
}
.cp-schol-name { font-size: .88rem; font-weight: 700; color: var(--cp-text); display: block; margin-bottom: 3px; }
.cp-schol-desc { font-size: .8rem; color: var(--cp-muted); line-height: 1.5; margin: 4px 0 0; }
.cp-schol-value {
        font-size: .76rem; font-weight: 700; color: var(--cp-primary);
        background: var(--cp-accent); padding: 2px 8px;
        border-radius: 5px; display: inline-block; margin-left: 6px; vertical-align: middle;
}
.cp-schol-link {
        font-size: .8rem; color: var(--cp-primary); font-weight: 600;
        text-decoration: none; margin-top: auto; padding-top: 8px;
        border-top: 1px solid var(--cp-border); display: block;
}
.cp-schol-link:hover { text-decoration: underline; }

/* ── APPLICATION STEPS ───────────────────────────────────────── */
.cp-steps-list { display: flex; flex-direction: column; gap: 0; }
.cp-step-item { display: flex; gap: 16px; position: relative; padding-bottom: 24px; }
.cp-step-item:last-child { padding-bottom: 0; }
.cp-step-item::before {
        content: ''; position: absolute;
        left: 17px; top: 36px; bottom: 0;
        width: 2px; background: var(--cp-border);
}
.cp-step-item:last-child::before { display: none; }
.cp-step-num {
        width: 36px; height: 36px;
        background: var(--cp-primary); color: #fff; border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-size: .85rem; font-weight: 700; flex-shrink: 0; z-index: 1;
}
.cp-step-title { font-size: .95rem; font-weight: 700; margin-bottom: 4px; display: block; }
.cp-step-desc { font-size: .85rem; color: var(--cp-muted); line-height: 1.6; margin: 0; }

/* ── REVIEWS ─────────────────────────────────────────────────── */
.cp-reviews-summary {
        display: flex; align-items: center; gap: 24px;
        padding: 20px; background: var(--cp-accent);
        border-radius: var(--cp-radius-sm); margin-bottom: 20px;
}
.cp-reviews-score { text-align: center; min-width: 80px; }
.cp-score { font-size: 3rem; font-weight: 800; color: var(--cp-primary); line-height: 1; }
.cp-stars { display: flex; gap: 2px; justify-content: center; margin: 4px 0; color: #F59E0B; font-size: 1rem; }
.cp-out-of { font-size: .8rem; color: var(--cp-light); }
.cp-reviews-bars { flex: 1; }
.cp-rating-bar { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; font-size: .8rem; }
.cp-rb-label { min-width: 28px; color: var(--cp-light); }
.cp-rb-track { flex: 1; height: 6px; background: var(--cp-border); border-radius: 3px; overflow: hidden; }
.cp-rb-fill  { height: 100%; background: var(--cp-primary); border-radius: 3px; }
.cp-rb-pct   { min-width: 34px; color: var(--cp-light); text-align: right; }
.cp-review-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cp-review-card {
        background: var(--cp-bg); border: 1px solid var(--cp-border);
        border-radius: var(--cp-radius-sm); padding: 20px;
}
.cp-review-meta { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.cp-review-avatar {
        width: 40px; height: 40px; border-radius: 50%;
        background: var(--cp-primary); color: #fff;
        display: flex; align-items: center; justify-content: center;
        font-size: .8rem; font-weight: 700; flex-shrink: 0;
}
.cp-review-name { font-size: .88rem; font-weight: 700; color: var(--cp-text); }
.cp-review-verified { font-size: .72rem; color: var(--cp-success); font-weight: 500; }
.cp-review-prog { font-size: .76rem; color: var(--cp-light); margin-top: 2px; }
.cp-review-stars-inline { margin-left: auto; color: #F59E0B; font-size: .9rem; flex-shrink: 0; }
.cp-review-text { font-size: .85rem; color: var(--cp-muted); line-height: 1.65; margin: 0; }

/* ── WHATSAPP FLOAT ──────────────────────────────────────────── */
.cp-float-whatsapp {
        position: fixed; bottom: 24px; right: 24px;
        width: 52px; height: 52px; border-radius: 50%;
        background: #25D366; color: #fff;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.5rem; box-shadow: 0 4px 16px rgba(0,0,0,.25);
        text-decoration: none; z-index: 999;
        transition: transform var(--cp-transition), box-shadow var(--cp-transition);
}
.cp-float-whatsapp:hover { transform: scale(1.08); box-shadow: 0 6px 24px rgba(0,0,0,.35); }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 1024px) {
        .cp-about-grid  { grid-template-columns: 1fr; gap: 20px; }
        .cp-uni-grid    { grid-template-columns: repeat(2, 1fr); }
        .cp-why-grid    { grid-template-columns: repeat(2, 1fr); }
        .cp-rank-grid   { grid-template-columns: repeat(2, 1fr); }
        .cp-review-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
        .cp-hero-title-wrap h1 { font-size: 1.6rem; }
        .cp-uni-grid     { grid-template-columns: 1fr; }
        .cp-visa-grid    { grid-template-columns: 1fr; }
        .cp-schol-grid { grid-template-columns: 1fr; }
        .cp-review-cards { grid-template-columns: 1fr; }
        .cp-section      { padding: 20px 16px; }
        .cp-lead-box__inner { grid-template-columns: 1fr; gap: 16px; }
        .cp-lead-field-row  { flex-direction: column; }
        .cp-prog-filters-row { gap: 6px; }
        .cp-prog-filter-btn  { padding: 5px 11px; font-size: .76rem; }
        .cp-stats-row { grid-template-columns: repeat(2, 1fr); }
}

/* =========================================================
   TOC PANEL — country-page colour overrides
   The base .toc-link rules live in univs-university.css and
   reference --uni-primary / --uni-accent, which are palette
   variables only set on university pages. On the country page
   we remap them here using --cp-primary / --cp-accent so that
   hover, active, and chevron states all work correctly.

   Active state uses the primary colour as background with
   white text — always readable regardless of which palette
   is selected (avoids near-white accent on white panel bg).
   ========================================================= */
.univs-country-main .toc-link {
        color: var(--cp-text);
        border-left: 3px solid transparent;
        transition: background var(--cp-transition), color var(--cp-transition), border-left-color var(--cp-transition);
}
.univs-country-main .toc-link:hover {
        background: var(--cp-accent);
        color: var(--cp-primary);
        border-left-color: var(--cp-primary);
}
.univs-country-main .toc-link.active {
        background: var(--cp-primary);
        color: #fff;
        font-weight: 700;
        border-left-color: var(--cp-primary-dk);
}
.univs-country-main .toc-link.active .toc-chevron {
        opacity: 1;
        color: #fff;
}

/* =========================================================
   UNIVERSITY & PROGRAM CARDS — country-page bridge
   univs-university.css card rules reference --uni-primary,
   --card, --border, --text-primary etc. which are only set
   on university pages. Here we remap them to --cp-* tokens
   so .uni-card and .prog-related-card render correctly on
   the country page without duplicating any card CSS.
   ========================================================= */
.univs-country-main {
        --uni-primary:    var(--cp-primary);
        --uni-primary-dk: var(--cp-primary-dk);
        --uni-accent:     var(--cp-accent);
        --featured:       var(--cp-featured);
        --card:           var(--cp-card);
        --border:         var(--cp-border);
        --text-primary:   var(--cp-text);
        --text-secondary: var(--cp-muted);
        --text-muted:     var(--cp-light);
        --shadow-sm:      var(--cp-shadow);
        --shadow-md:      var(--cp-shadow-md);
        --transition:     var(--cp-transition);
        --radius:         var(--cp-radius);
        --univs-blue:     var(--cp-primary);
        --univs-blue-lt:  var(--cp-accent);
}

/* Cards section wrapper — consistent spacing with other cp sections */
.cp-cards-section {
        background: var(--cp-card);
        border-radius: var(--cp-radius);
        padding: 28px 28px 24px;
        margin-bottom: 24px;
        border: 1px solid var(--cp-border);
}

/* Grid: 3 columns on desktop, 2 on tablet, 1 on mobile */
.cp-cards-grid {
        grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
        .cp-cards-grid {
                grid-template-columns: repeat(2, 1fr);
        }
}

@media (max-width: 560px) {
        .cp-cards-grid {
                grid-template-columns: 1fr;
        }
        .cp-cards-section {
                padding: 20px 16px 16px;
        }
}

/* ── Country Nav ─────────────────────────────────────────── */
.country-nav {
        background: #fff;
        border-bottom: 1px solid #e2e8f0;
        padding: 0 20px;
        position: sticky;
        top: 0;
        left: 0;
        right: 0;
        z-index: 999;
        box-shadow: 0 2px 8px rgba(0,0,0,.07);
}
body.admin-bar .country-nav {
        top: 32px;
}
@media (max-width: 782px) {
        body.admin-bar .country-nav {
                top: 46px;
        }
}
.country-nav-inner {
        max-width: 1240px; margin: 0 auto;
        display: flex; align-items: center; justify-content: space-between;
        height: 54px; gap: 24px;
}
.country-nav-brand {
        display: flex; align-items: center; gap: 10px;
        text-decoration: none; font-weight: 700; color: #1e293b;
        font-size: .95rem;
}
.country-nav-flag { border-radius: 2px; }
.country-nav-links { display: flex; align-items: center; gap: 4px; }
.country-nav-links a {
        padding: 6px 14px; border-radius: 6px;
        font-size: .88rem; font-weight: 500; color: #475569;
        text-decoration: none; transition: background .15s, color .15s;
}
.country-nav-links a:hover, .country-nav-links a.active { background: #f1f5f9; color: #1e293b; }
.country-nav-links .country-nav-apply {
        background: var(--uni-primary, #dc2626); color: #fff; margin-left: 8px;
}
.country-nav-links .country-nav-apply:hover { opacity: .9; background: var(--uni-primary, #dc2626); color: #fff; }

/* =========================================================
   COMPREHENSIVE MOBILE RESPONSIVE — Country Page
   ========================================================= */

/* === Prevent iOS zoom on input focus === */
.univs-country-main input,
.univs-country-main select,
.univs-country-main textarea {
  font-size: 16px;
}

/* === COUNTRY HERO === */
@media (max-width: 768px) {
  .cp-hero {
    min-height: auto !important;
    padding: 60px 0 40px !important;
  }
  .cp-hero-content {
    padding: 0 16px !important;
    text-align: left;
  }
  .cp-hero-identity {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .cp-hero-flag {
    width: 48px;
    height: 48px;
  }
  .cp-hero-flag-img {
    width: 48px;
    height: 48px;
  }
  .cp-hero-title-wrap h1 {
    font-size: 1.5rem !important;
    line-height: 1.2;
  }
  .cp-hero-meta-row {
    flex-wrap: wrap;
    gap: 6px;
  }
  .cp-hero-subtitle {
    font-size: .9rem !important;
    line-height: 1.5;
  }
  .cp-hero-badges {
    gap: 6px;
    margin-bottom: 10px;
  }
  .cp-hero-badge {
    font-size: .7rem;
    padding: 3px 8px;
  }
  /* Stats bar: 2 columns on tablet, stack on small */
  .cp-hero-stats {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0 !important;
    border-radius: 8px;
    overflow: hidden;
  }
  .cp-hero-stat {
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,.12);
    padding: 10px 8px !important;
    text-align: center;
  }
  .cp-hero-stat:nth-child(odd) {
    border-right: 1px solid rgba(255,255,255,.12);
  }
  .cp-hero-stat:last-child,
  .cp-hero-stat:nth-last-child(2) {
    border-bottom: none;
  }
  .cp-hs-value {
    font-size: 1.1rem !important;
  }
  .cp-hs-label {
    font-size: .7rem !important;
  }
  .cp-hero-ctas {
    flex-direction: column;
    gap: 8px !important;
  }
  .cp-hero-ctas a {
    width: 100%;
    text-align: center;
    justify-content: center;
    padding: 12px 16px;
    font-size: .9rem;
  }
  .cp-btn-outline-hero {
    order: 2;
  }
}

@media (max-width: 480px) {
  .cp-hero {
    padding: 48px 0 32px !important;
  }
  .cp-hero-title-wrap h1 {
    font-size: 1.25rem !important;
  }
  .cp-hero-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .cp-hs-value {
    font-size: 1rem !important;
  }
  .cp-hs-label {
    font-size: .65rem !important;
  }
}

/* === COUNTRY NAV (mobile) === */
@media (max-width: 768px) {
  .country-nav-inner {
    height: 48px;
    gap: 12px;
    padding: 0 16px;
  }
  .country-nav-brand {
    font-size: .85rem;
    gap: 8px;
  }
  .country-nav-flag {
    width: 22px;
    height: auto;
  }
  /* Hide links, show mobile menu toggle */
  .country-nav-links {
    display: none;
    position: absolute;
    top: 48px;
    left: 0;
    right: 0;
    background: #fff;
    flex-direction: column;
    padding: 8px;
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    gap: 2px;
  }
  .country-nav-links.country-nav-links--open {
    display: flex;
  }
  .country-nav-links a {
    padding: 10px 14px;
    font-size: .9rem;
    border-radius: 6px;
  }
  .country-nav-links .country-nav-apply {
    margin-left: 0;
    text-align: center;
    margin-top: 6px;
  }
  .country-nav-toggle {
    display: flex !important;
  }
}

/* Country nav hamburger (hidden on desktop) */
.country-nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: #f1f5f9;
  border-radius: 6px;
  cursor: pointer;
  flex-shrink: 0;
  gap: 4px;
  flex-direction: column;
}
.country-nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: #475569;
  border-radius: 1px;
  transition: transform .2s, opacity .2s;
}
.country-nav-toggle.country-nav-toggle--active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.country-nav-toggle.country-nav-toggle--active span:nth-child(2) {
  opacity: 0;
}
.country-nav-toggle.country-nav-toggle--active span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* === COUNTRY LEAD FORM === */
@media (max-width: 640px) {
  .cp-wrap--no-bottom {
    padding: 16px 12px 0 !important;
  }
  .cp-lead-box__inner {
    grid-template-columns: 1fr !important;
    padding: 16px 14px !important;
    gap: 12px !important;
  }
  .cp-lead-box__text h3 {
    font-size: 1.05rem;
  }
  .cp-lead-field-row {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .cp-lead-input,
  .cp-lead-select {
    width: 100% !important;
    min-width: 0 !important;
  }
  .cp-lead-submit {
    width: 100%;
    padding: 12px !important;
    font-size: 15px;
  }
}

/* === COUNTRY SECTIONS === */
@media (max-width: 768px) {
  .cp-wrap {
    padding: 20px 12px 60px !important;
  }
  .cp-section {
    padding: 16px 12px !important;
    margin-bottom: 16px;
  }
  .cp-section-header {
    margin-bottom: 12px;
  }
  .cp-section-title {
    font-size: 1.1rem !important;
  }
  .cp-section-icon {
    width: 32px;
    height: 32px;
    font-size: .9rem;
  }
  /* Quick stats row */
  .cp-stats-row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px;
  }
  .cp-stat-card {
    padding: 14px 12px !important;
  }
  .cp-stat-value {
    font-size: 1.25rem !important;
  }
  .cp-stat-label {
    font-size: .72rem !important;
  }
}

@media (max-width: 480px) {
  .cp-wrap {
    padding: 16px 8px 48px !important;
  }
  .cp-stats-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px;
  }
  .cp-stat-card {
    padding: 10px 8px !important;
    border-radius: 8px !important;
  }
  .cp-stat-value {
    font-size: 1.1rem !important;
  }
  .cp-section-title {
    font-size: 1rem !important;
  }
}

/* === COUNTRY COST & VISA === */
@media (max-width: 768px) {
  .cp-cost-grid,
  .cp-visa-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .cp-cost-items {
    gap: 6px;
  }
  .cp-cost-item {
    padding: 10px 12px !important;
    font-size: .85rem;
  }
  .cp-visa-item {
    padding: 12px !important;
  }
}

/* === COUNTRY WHY / RANK GRIDS === */
@media (max-width: 480px) {
  .cp-why-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .cp-rank-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .cp-why-card,
  .cp-rank-card {
    padding: 14px !important;
  }
}

/* === COUNTRY APPLICATION STEPS === */
@media (max-width: 768px) {
  .cp-steps-list {
    gap: 8px;
  }
  .cp-step {
    padding: 14px !important;
    flex-direction: column !important;
    text-align: center;
    gap: 6px;
  }
  .cp-step-num {
    width: 32px;
    height: 32px;
    font-size: .85rem;
  }
  .cp-step-text {
    font-size: .85rem;
  }
}

/* === COUNTRY FAQ === */
@media (max-width: 768px) {
  .cp-faq-list {
    gap: 6px;
  }
  .cp-faq-item summary {
    font-size: .9rem;
    padding: 12px 14px;
  }
  .cp-faq-item .cp-faq-answer {
    padding: 0 14px 12px;
    font-size: .88rem;
  }
}

/* === COUNTRY REVIEWS === */
@media (max-width: 768px) {
  .cp-review-cards {
    grid-template-columns: 1fr !important;
  }
  .cp-review-card {
    padding: 16px !important;
  }
}

/* === COUNTRY PROGRAMS TABLE === */
@media (max-width: 768px) {
  .cp-prog-filters-row {
    flex-wrap: wrap;
    gap: 4px;
  }
  .cp-prog-filter-btn {
    font-size: .72rem;
    padding: 4px 8px;
  }
  .cp-prog-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* === COUNTRY SCHOLARSHIPS === */
@media (max-width: 768px) {
  .cp-schol-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
  .cp-schol-card {
    padding: 14px !important;
  }
}

/* === COUNTRY FLOATING WHATSAPP === */
@media (max-width: 768px) {
  .cp-float-whatsapp {
    bottom: 16px !important;
    right: 16px !important;
    width: 50px !important;
    height: 50px !important;
    font-size: 22px !important;
  }
}

/* === COUNTRY TOC PANEL === */
/* TOC panel is now placed outside .univs-country-main (matching university page structure).
   The base .toc-panel rules in univs-university.css handle mobile responsive behavior. */

/* === COUNTRY ABOUT GRID === */
@media (max-width: 480px) {
  .cp-about-grid {
    gap: 16px;
  }
  .cp-about-body {
    font-size: .88rem;
  }
  .cp-quickinfo {
    font-size: .85rem;
  }
}

/* === Country breadcrumb === */
@media (max-width: 768px) {
  .breadcrumb {
    padding: 8px 12px;
    font-size: .72rem;
  }
}
