/* ============================================================
   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: 'Inter', -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; }
.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; }

/* ── 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: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	box-shadow: 0 2px 8px rgba(0,0,0,.07);
}
body.has-country-nav {
	padding-top: 56px;
}
.country-nav-inner {
	max-width: 1200px; margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between;
	height: 56px; 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; }
