/* ==================================================
   PAGES.CSS MAP - Pass 1
   Purpose: safe section mapping before WordPress migration.
   No CSS selectors/properties were changed in this pass.
   Main groups:
   01. Global inner page + Contact
   02. Booking page
   03. Legacy country/service blocks kept for compatibility
   04. Country guide template
   05. Student visa service + country student visa templates
   06. Skilled Worker Australia
   07. Country study visa reusable components
   08. Blog archive + single blog
   09. 404 page
   10. Booking system current version
   11. Calculators
   12. About Us
   13. Europe Job Offer / Ausbildung / Professor list / other services
================================================== */
/* =================== صفحات داخلی - Hero عمومی =================== */

.page-hero {
  background-color: #f5f5f5;
  padding: 70px 0 50px;
}

.page-hero-container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.page-hero h1 {
  font-size: 2.2rem;
  color: var(--primary-color);
  margin-bottom: 15px;
}

.page-hero p {
  max-width: 700px;
  margin: 0 auto;
  color: #555;
  font-size: 1rem;
  line-height: 1.9;
}

/* ==================================================
   01. CONTACT PAGE + SHARED INNER PAGE HERO
================================================== */
/* =================== صفحه تماس با ما =================== */

.contact-section {
  background-color: #f5f5f5;
  padding: 40px 0 70px;
}

.contact-container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 30px;
  align-items: stretch;
}

.contact-info-box,
.contact-form-box {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 128, 0.12);
  border-radius: 18px;
  padding: 32px 28px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.contact-info-box h2,
.contact-form-box h2 {
  font-size: 1.5rem;
  color: var(--primary-color);
  margin-bottom: 12px;
}

.contact-info-box > p,
.contact-form-box > p {
  color: #555;
  font-size: 0.95rem;
  line-height: 1.8;
  margin-bottom: 24px;
}

.contact-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.contact-list li i {
  width: 42px;
  height: 42px;
  background-color: var(--primary-color);
  color: #fff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex: 0 0 auto;
}

.contact-list span {
  display: block;
  font-size: 0.85rem;
  color: #777;
  margin-bottom: 4px;
}

.contact-list a,
.contact-list p {
  color: #222;
  font-size: 0.95rem;
  line-height: 1.7;
  margin: 0;
  text-decoration: none;
}

.contact-list a:hover {
  color: var(--primary-color);
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.form-row input,
.form-row select,
.form-row textarea {
  width: 100%;
  border: 1px solid rgba(0, 0, 128, 0.18);
  border-radius: 10px;
  padding: 12px 14px;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.95rem;
  background-color: #f9f9f9;
  outline: none;
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(0, 0, 128, 0.08);
}

.form-row textarea {
  resize: vertical;
}

.contact-submit-btn {
  background-color: var(--primary-color);
  color: #fff;
  border: 2px solid var(--primary-color);
  border-radius: 10px;
  padding: 12px 28px;
  font-family: IRANYekanX, sans-serif;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  width: fit-content;
}

.contact-submit-btn:hover {
  background-color: #fff;
  color: var(--primary-color);
}

/* =================== نقشه صفحه تماس =================== */

.map-section {
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  color: #fff;
  border-radius: 15px;
  margin: 20px auto 50px;
  max-width: 1200px;
  width: 88%;
  padding: 45px 20px;
}

.map-container {
  max-width: 1000px;
  margin: 0 auto;
}

.map-info {
  text-align: center;
  margin-bottom: 25px;
}

.map-info h2 {
  font-size: 1.6rem;
  margin-bottom: 12px;
  color: #fff;
}

.map-info p {
  color: #f1f1f1;
  font-size: 1rem;
  line-height: 1.8;
}

.map-frame {
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
  background-color: #fff;
}

.map-frame iframe {
  display: block;
  width: 100%;
  height: 380px;
  border: 0;
}

/* ==================================================
   02. BOOKING PAGE - LEGACY / EARLY BLOCKS
   Note: current booking styles also continue later in this file.
================================================== */
/* =================== صفحه رزرو مشاوره =================== */

/* =================== Hero صفحه رزرو مشاوره =================== */

.form-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-row label {
  font-size: 0.9rem;
  color: #333;
  font-weight: bold;
}

/* Form control base styles are defined once in Contact + shared form styles above. */

/* ==================================================
   03. LEGACY COUNTRY + STUDENT SERVICE BLOCKS
   Kept for compatibility after unused CSS purge.
================================================== */
/* =================== قالب صفحه کشورها =================== */

/* ---------- Hero کشور ---------- */

/* ---------- مسیرهای قابل اقدام ---------- */

/* ---------- سکشن مسیرها ---------- */

/* ---------- تب‌های مقطع تحصیلی ---------- */

.study-tab {
  background-color: #fff;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
  border-radius: 10px;
  padding: 10px 22px;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.95rem;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
}

.study-tab:hover,
.study-tab.active {
  background-color: var(--primary-color);
  color: #fff;
}

.study-content-box {
  display: none;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 128, 0.12);
  border-radius: 18px;
  padding: 32px 28px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.study-content-box.active {
  display: block;
}

.study-content-box h3 {
  font-size: 1.35rem;
  color: var(--primary-color);
  margin-bottom: 14px;
}

.study-content-box p {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.9;
  margin-bottom: 18px;
  text-align: justify;
}

.study-content-box ul {
  padding: 0;
  margin: 0;
}

.study-content-box li {
  position: relative;
  padding-right: 22px;
  margin-bottom: 10px;
  font-size: 0.92rem;
  color: #444;
  line-height: 1.8;
}

.study-content-box li::before {
  content: "✓";
  position: absolute;
  right: 0;
  top: 0;
  color: var(--primary-color);
  font-weight: bold;
}
/* ---------- اطلاعات تکمیلی مسیر تحصیلی ---------- */

/* ---------- مدارک لازم ---------- */

/* ---------- تمکن مالی ---------- */

/* ---------- مراحل اقدام مسیرها ---------- */

/* ---------- پلیر صوتی ---------- */

/* ---------- CTA کوچک داخل مسیر ---------- */

/* ---------- مسیر کاری ---------- */

/* ---------- CTA نهایی کشور ---------- */

.country-final-cta {
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  color: #fff;
  border-radius: 15px;
  margin: 20px auto 50px;
  max-width: 1200px;
  width: 88%;
  padding: 45px 20px;
}

.country-final-cta-container {
  text-align: center;
  max-width: 850px;
  margin: 0 auto;
}

.country-final-cta-container h2 {
  font-size: 1.7rem;
  color: #fff;
  margin-bottom: 12px;
}

.country-final-cta-container p {
  color: #f1f1f1;
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 22px;
}

.country-final-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.country-final-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #fff;
  color: var(--primary-color);
  border: 2px solid #fff;
  border-radius: 10px;
  padding: 10px 20px;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.95rem;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.3s ease;
}

.country-final-btn:hover {
  background-color: transparent;
  color: #fff;
}

.country-final-btn.outline {
  background-color: transparent;
  color: #fff;
}

.country-final-btn.outline:hover {
  background-color: #fff;
  color: var(--primary-color);
}

/* ---------- محاسبه معدل آلمانی ---------- */

/* ---------- تک‌کارت مسیر قابل اقدام ---------- */

/* ---------- محاسبه تخمینی ISEE ---------- */

/* =================== قالب صفحه خدمات ویزای تحصیلی =================== */

/* Header عمومی سکشن‌های خدمت */

/* مناسب چه کسانی است */

/* کارهایی که انجام می‌دهیم */

/* مراحل اقدام */

/* کشورهای محبوب */

/* مدارک اولیه */

/* تحلیل مسیر */

/* CTA نهایی */

/* ==================================================
   04. COUNTRY GUIDE TEMPLATE
   Applies to /countries/*.html pages.
================================================== */
/* =================== قالب جدید صفحات کشورها =================== */

.country-guide {
  --country-primary-accent: var(--primary-color);
  --country-secondary-accent: var(--primary-color);
  --country-dark-accent: #111;
  --country-soft-accent: rgba(0, 0, 128, 0.08);
  background-color: #f5f5f5;
}

.germany-theme {
  --country-primary-accent: #d0001b;
  --country-secondary-accent: #d8b15f;
  --country-dark-accent: #1f2933;
  --country-soft-accent: rgba(208, 0, 27, 0.08);
}

.spain-theme {
  --country-primary-accent: #c60b1e;
  --country-secondary-accent: #ffc400;
  --country-dark-accent: #aa151b;
  --country-soft-accent: rgba(198, 11, 30, 0.08);
}

.italy-theme {
  --country-primary-accent: #4f6f3f; /* Deep Olive Green */
  --country-secondary-accent: #a8442d; /* Deep Terracotta */
  --country-dark-accent: #24331f; /* Dark Olive - readable text */
  --country-soft-accent: rgba(79, 111, 63, 0.12);
}
.austria-theme {
  --country-primary-accent: #ed2939;
  --country-secondary-accent: #e8a3a0;
  --country-dark-accent: #8f0018;
  --country-soft-accent: rgba(237, 41, 57, 0.14);
}

.australia-theme {
  --country-primary-accent: #f2b705;
  --country-secondary-accent: #6b8f71;
  --country-dark-accent: #012169;
  --country-soft-accent: rgba(107, 143, 113, 0.12);
}

.finland-theme {
  --country-primary-accent: #002f6c;
  --country-secondary-accent: #ffffff;
  --country-dark-accent: #003580;
  --country-soft-accent: rgba(0, 47, 108, 0.08);
}

.netherlands-theme {
  --country-primary-accent: #e57200;
  --country-secondary-accent: #174a6a;
  --country-dark-accent: #0f344a;
  --country-soft-accent: rgba(229, 114, 0, 0.08);
}

.uk-theme {
  --country-primary-accent: #012169;
  --country-secondary-accent: #c8102e;
  --country-dark-accent: #0b1f3a;
  --country-soft-accent: rgba(216, 199, 163, 0.22);
}

.canada-theme {
  --country-primary-accent: #d80621;
  --country-secondary-accent: #f8f8f5;
  --country-dark-accent: #2e5e4e;
  --country-soft-accent: rgba(46, 94, 78, 0.1);
}
.belgium-theme {
  --country-primary-accent: #e30613;
  --country-secondary-accent: #ffd100;
  --country-dark-accent: #111111;
  --country-soft-accent: rgba(227, 6, 19, 0.08);
}
.china-theme {
  --country-primary-accent: #de2910;
  --country-secondary-accent: #ffde00;
  --country-dark-accent: #b00020;
  --country-soft-accent: rgba(222, 41, 16, 0.08);
}
.newzealand-theme {
  --country-primary-accent: #111111; /* All Blacks / هویت ورزشی و رسمی */
  --country-secondary-accent: #c0c7c9; /* Silver Fern / سرخس نقره‌ای */
  --country-dark-accent: #0b3d3a; /* Pounamu Green / گرین‌استون مائوری */
  --country-soft-accent: rgba(11, 61, 58, 0.1);
}
.switzerland-theme {
  --country-primary-accent: #ff0000;
  --country-secondary-accent: #ffffff;
  --country-dark-accent: #c40000;
  --country-soft-accent: rgba(255, 0, 0, 0.08);
}
.romania-theme {
  --country-primary-accent: #ce1126;
  --country-secondary-accent: #fcd116;
  --country-dark-accent: #002b7f;
  --country-soft-accent: rgba(206, 17, 38, 0.08);
}
.france-theme {
  --country-primary-accent: #ef4135;
  --country-secondary-accent: #0055a4;
  --country-dark-accent: #002654;
  --country-soft-accent: rgba(239, 65, 53, 0.08);
}

/* ---------- Hero کشور ---------- */

.country-guide-hero {
  background-color: #f5f5f5;
  padding: 55px 0 45px;
}

.country-guide-hero-container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 45px;
}

.country-guide-hero-text {
  width: 52%;
  text-align: right;
}

.country-guide-label,
.country-guide-section-header span {
  display: inline-block;
  background-color: var(--country-soft-accent);
  color: var(--country-primary-accent);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: bold;
  margin-bottom: 16px;
}

.country-guide-hero-text h1 {
  font-size: 2.4rem;
  color: var(--primary-color);
  margin-bottom: 16px;
  position: relative;
}

.country-guide-hero-text h1::after {
  content: "";
  display: block;
  width: 90px;
  height: 4px;
  margin-top: 12px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--country-dark-accent),
    var(--country-primary-accent),
    var(--country-secondary-accent)
  );
}

.country-guide-hero-text p {
  color: #555;
  font-size: 1rem;
  line-height: 1.95;
  margin-bottom: 24px;
  text-align: justify;
}

.country-guide-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.country-guide-primary-btn,
.country-guide-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  padding: 10px 20px;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.95rem;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.3s ease;
}

.country-guide-primary-btn {
  background-color: var(--primary-color);
  color: #fff;
  border: 2px solid var(--primary-color);
}

.country-guide-primary-btn:hover {
  background-color: transparent;
  color: var(--primary-color);
}

.country-guide-secondary-btn {
  background-color: transparent;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
}

.country-guide-secondary-btn:hover {
  background-color: var(--primary-color);
  color: #fff;
}

.country-guide-hero-image {
  width: 42%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.country-guide-hero-image::before {
  content: "";
  position: absolute;
  width: 88%;
  height: 88%;
  background: radial-gradient(
    circle,
    var(--country-soft-accent) 0%,
    rgba(0, 0, 128, 0.04) 45%,
    rgba(0, 0, 128, 0) 75%
  );
  filter: blur(28px);
  z-index: 0;
}

.country-guide-hero-image img {
  position: relative;
  z-index: 1;
  max-width: 520px;
  height: auto;
  display: block;
  border-radius: 28px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

/* ---------- Header سکشن‌ها ---------- */

.country-guide-section-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 38px;
}

.country-guide-section-header h2 {
  color: var(--primary-color);
  font-size: 2rem;
  margin-bottom: 12px;
}

.country-guide-section-header h2::after {
  content: "";
  display: block;
  width: 86px;
  height: 4px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--country-dark-accent),
    var(--country-primary-accent),
    var(--country-secondary-accent)
  );
}

.country-guide-section-header p {
  color: #555;
  font-size: 1rem;
  line-height: 1.9;
  margin: 0;
}

.country-guide-section-header.light span {
  background-color: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.country-guide-section-header.light h2,
.country-guide-section-header.light p {
  color: #fff;
}

/* ---------- اطلاعات سریع ---------- */

.quick-facts-section {
  background-color: #f5f5f5;
  padding: 60px 0;
}

.quick-facts-grid {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.quick-fact-card {
  position: relative;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 128, 0.1);
  border-radius: 16px;
  padding: 20px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
  min-height: 92px;
}

.quick-fact-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--country-dark-accent),
    var(--country-primary-accent),
    var(--country-secondary-accent)
  );
}

.quick-fact-card i {
  width: 44px;
  height: 44px;
  background-color: var(--country-soft-accent);
  color: var(--country-primary-accent);
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 1.1rem;
}

.quick-fact-card span {
  display: block;
  color: #777;
  font-size: 0.8rem;
  margin-bottom: 4px;
}

.quick-fact-card strong {
  color: #222;
  font-size: 0.9rem;
  line-height: 1.6;
}

/* ---------- مسیرهای اقدام ---------- */

.country-action-paths {
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  color: #fff;
  border-radius: 18px;
  margin: 40px auto;
  max-width: 1200px;
  width: 88%;
  padding: 60px 30px;
  position: relative;
  overflow: hidden;
}

.country-action-paths::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(
    90deg,
    var(--country-dark-accent),
    var(--country-primary-accent),
    var(--country-secondary-accent)
  );
}

.country-action-container {
  position: relative;
  z-index: 1;
}

.country-action-grid {
  display: grid;
  gap: 22px;
}

.country-action-grid.three-actions {
  grid-template-columns: repeat(3, 1fr);
}

.country-action-card {
  background-color: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(8px);
  border-radius: 16px;
  padding: 28px 22px;
  text-decoration: none;
  color: #fff;
  transition: all 0.3s ease;
  min-height: 245px;
  display: flex;
  flex-direction: column;
}

.country-action-card:hover {
  transform: translateY(-6px);
  background-color: rgba(255, 255, 255, 0.2);
}

.country-action-card > i {
  width: 58px;
  height: 58px;
  background-color: #fff;
  color: var(--country-primary-accent);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  margin: 0 0 18px auto;
}

.country-action-card h3 {
  color: #fff;
  font-size: 1.12rem;
  margin-bottom: 12px;
}

.country-action-card p {
  color: #f1f1f1;
  font-size: 0.88rem;
  line-height: 1.85;
  margin-bottom: 16px;
}

/* ---------- جغرافیا ---------- */

.country-geography-section,
.pr-passport-section {
  background-color: #f5f5f5;
  padding: 65px 0;
}

.country-geography-container,
.pr-passport-container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 32px;
  align-items: center;
}

.country-geography-content,
.pr-passport-text {
  text-align: right;
}

.country-geography-content h2,
.pr-passport-text h2 {
  color: var(--primary-color);
  font-size: 1.8rem;
  margin-bottom: 14px;
}

.country-geography-content p,
.pr-passport-text p {
  color: #555;
  font-size: 0.96rem;
  line-height: 1.95;
  text-align: justify;
  margin: 0;
}

.pr-passport-text small {
  display: block;
  margin-top: 16px;
  color: #777;
  font-size: 0.82rem;
  line-height: 1.8;
}

.country-geography-points,
.pr-passport-points {
  display: grid;
  gap: 14px;
}

.country-geography-points div,
.pr-passport-points div {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 128, 0.1);
  border-radius: 14px;
  padding: 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

.country-geography-points i,
.pr-passport-points i {
  width: 40px;
  height: 40px;
  background-color: var(--country-soft-accent);
  color: var(--country-primary-accent);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.country-geography-points p,
.pr-passport-points p {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.8;
  margin: 0;
}

/* ---------- شهرها و مکان‌ها ---------- */

.popular-cities-section,
.famous-places-section,
.country-pros-cons-section,
.country-faq-section {
  background-color: #f5f5f5;
  padding: 65px 0;
}

.popular-cities-grid,
.famous-places-grid {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.city-card,
.place-card {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 128, 0.1);
  border-radius: 16px;
  padding: 22px 18px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

.city-card h3,
.place-card h3 {
  color: var(--primary-color);
  font-size: 1rem;
  margin-bottom: 10px;
}

.city-card p,
.place-card p {
  color: #555;
  font-size: 0.86rem;
  line-height: 1.85;
  margin: 0;
}
.city-card {
  position: relative;
  overflow: hidden;
}

.city-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: var(--country-primary-accent);
}

/* ---------- CTA میانی ---------- */

.country-mid-cta {
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  color: #fff;
  border-radius: 18px;
  margin: 25px auto 45px;
  max-width: 1200px;
  width: 88%;
  padding: 45px 25px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.country-mid-cta::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(
    90deg,
    var(--country-dark-accent),
    var(--country-primary-accent),
    var(--country-secondary-accent)
  );
}

.country-mid-cta h2 {
  color: #fff;
  font-size: 1.55rem;
  margin-bottom: 12px;
}

.country-mid-cta p {
  color: #f1f1f1;
  font-size: 0.96rem;
  line-height: 1.8;
  margin-bottom: 22px;
}

/* ---------- مزایا و معایب ---------- */

.pros-cons-container {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.pros-cons-box {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 128, 0.1);
  border-radius: 18px;
  padding: 30px 26px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.pros-cons-box h3 {
  color: var(--primary-color);
  font-size: 1.2rem;
  margin-bottom: 18px;
}

.pros-cons-box ul {
  padding: 0;
  margin: 0;
}

.pros-cons-box li {
  position: relative;
  padding-right: 24px;
  margin-bottom: 12px;
  color: #444;
  font-size: 0.92rem;
  line-height: 1.8;
}

.pros-cons-box li::before {
  position: absolute;
  right: 0;
  top: 0;
  font-weight: bold;
}

.pros-box li::before {
  content: "✓";
  color: var(--country-primary-accent);
}

.cons-box li::before {
  content: "!";
  color: var(--country-primary-accent);
}

/* ---------- FAQ ---------- */

.country-faq-list {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}

.country-faq-list details {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 128, 0.1);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 14px;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.04);
}

.country-faq-list summary {
  cursor: pointer;
  color: var(--primary-color);
  font-weight: bold;
  font-size: 0.95rem;
}

.country-faq-list p {
  color: #555;
  font-size: 0.9rem;
  line-height: 1.85;
  margin-top: 14px;
}

/* ---------- رنگ CTA نهایی کشور با تم پرچم ---------- */

.country-guide .country-final-cta {
  position: relative;
  overflow: hidden;
}

.country-guide .country-final-cta::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(
    90deg,
    var(--country-dark-accent),
    var(--country-primary-accent),
    var(--country-secondary-accent)
  );
}
.country-title-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 128, 0.1);
  border-radius: 999px;
  padding: 8px 14px;
  margin-bottom: 18px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
  color: var(--primary-color);
  font-size: 0.9rem;
  font-weight: bold;
  line-height: 1.5;
}

.country-geography-content p:not(:last-child) {
  margin-bottom: 12px;
}

.country-flag-img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
  background-color: #fff;
}

.country-flag-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* ===== Country action cards final ===== */

.country-action-card {
  position: relative;
  overflow: hidden;
  text-align: right;
  padding-bottom: 56px;
}

/* فلش ساده برای کارت‌های مسیر */
.country-action-card .simple-card-arrow {
  position: absolute;
  left: 28px;
  bottom: 24px;
  color: var(--country-primary-accent) !important;
  font-size: 1.2rem;
  line-height: 1;
  transition: transform 0.3s ease;
  margin-top: 0 !important;
}

.country-action-card .simple-card-arrow i {
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border-radius: 0 !important;
  display: inline-block !important;
  font-size: inherit !important;
  color: inherit !important;
  margin: 0 !important;
}

.country-action-card:hover .simple-card-arrow {
  transform: translateX(-4px);
}

/* Single action card مثل ایتالیا */
.country-action-grid.single-action {
  grid-template-columns: minmax(280px, 520px);
  justify-content: center;
}

.country-action-grid.single-action .country-action-card {
  text-align: center;
}

.country-action-grid.single-action .country-action-card > i {
  margin: 0 auto 18px;
}

/* ===== Two action cards layout مثل اتریش ===== */

.country-action-grid.two-actions {
  grid-template-columns: repeat(2, minmax(280px, 380px));
  justify-content: center;
}

.country-action-grid.two-actions .country-action-card {
  text-align: center;
  padding-bottom: 56px;
}

.country-action-grid.two-actions .country-action-card > i {
  margin: 0 auto 18px;
}

.country-action-grid.two-actions .simple-card-arrow {
  position: absolute;
  left: 28px;
  bottom: 24px;
  color: var(--country-primary-accent) !important;
  font-size: 1.2rem;
  line-height: 1;
  transition: transform 0.3s ease;
}

.country-action-grid.two-actions .simple-card-arrow i {
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border-radius: 0 !important;
  display: inline-block !important;
  font-size: inherit !important;
  color: inherit !important;
  margin: 0 !important;
}

.country-action-grid.two-actions .country-action-card:hover .simple-card-arrow {
  transform: translateX(-4px);
}

/* ======================================= */
/* ||         تنظیمات ریسپانسیو    || */
/* ======================================= */

/* ریسپانسیو برای نمایشگرهای خیلی کوچک (زیر 480px) */

/* ===== Country guide final refinements ===== */

.country-guide-hero {
  padding: 55px 0 45px;
}

.country-guide-hero-image img {
  max-width: 520px;
}

.quick-fact-card {
  min-height: 92px;
  padding: 20px 18px;
}

.quick-fact-card::before {
  height: 3px;
}

.quick-fact-card strong {
  font-size: 0.9rem;
}

.quick-fact-card span {
  font-size: 0.8rem;
}

.country-action-card {
  min-height: 245px;
  display: flex;
  flex-direction: column;
}

.country-geography-container {
  grid-template-columns: 1.25fr 0.75fr;
}

.country-geography-content p:not(:last-child) {
  margin-bottom: 12px;
}

.city-card {
  position: relative;
  overflow: hidden;
}

.city-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: var(--country-primary-accent);
}

.country-mid-cta {
  margin: 25px auto 45px;
}

.pros-box {
  border-top: 4px solid var(--country-primary-accent);
}

.cons-box {
  border-top: 4px solid rgba(221, 0, 0, 0.45);
}

.place-card {
  background: linear-gradient(180deg, #fff 0%, #fafafa 100%);
}

.place-card h3::before {
  content: "•";
  color: var(--country-primary-accent);
  margin-left: 6px;
}

.pr-passport-container {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  border-radius: 18px;
  padding: 34px 28px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}

.country-faq-list summary {
  list-style: none;
  position: relative;
  padding-left: 28px;
}

.country-faq-list summary::-webkit-details-marker {
  display: none;
}

.country-faq-list summary::after {
  content: "+";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--country-primary-accent);
  font-weight: bold;
  font-size: 1.2rem;
}

.country-faq-list details[open] summary::after {
  content: "−";
}

/* ===== Country Hero Glassmorphism Image Style ===== */

.country-guide-hero-image.glass-hero {
  width: 42%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  isolation: isolate;
}

/* هاله رنگی پشت عکس */
.country-guide-hero-image.glass-hero::before {
  content: "";
  position: absolute;
  width: 82%;
  height: 82%;
  border-radius: 32px;
  background:
    radial-gradient(
      circle at 25% 25%,
      rgba(255, 206, 0, 0.16),
      transparent 34%
    ),
    radial-gradient(circle at 75% 65%, rgba(221, 0, 0, 0.13), transparent 38%),
    radial-gradient(circle at center, rgba(0, 0, 128, 0.1), transparent 70%);
  filter: blur(26px);
  z-index: 0;
}

/* پنل شیشه‌ای پشت عکس */
.country-guide-hero-image.glass-hero::after {
  content: "";
  position: absolute;
  width: 88%;
  height: 78%;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.65);
  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(10px);
  transform: rotate(-2deg);
  z-index: 0;
  transition: transform 0.35s ease;
}

/* پترن نقطه‌ای */
.hero-pattern-dot {
  position: absolute;
  width: 120px;
  height: 120px;
  left: 4%;
  bottom: 4%;
  z-index: 0;
  opacity: 0.32;
  background-image: radial-gradient(
    rgba(0, 0, 128, 0.32) 1.4px,
    transparent 1.4px
  );
  background-size: 13px 13px;
  border-radius: 24px;
  transform: rotate(8deg);
}

/* خود عکس */
.country-guide-hero-image.glass-hero img {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 520px;
  height: auto;
  display: block;
  border-radius: 28px;
  box-shadow:
    0 22px 45px rgba(0, 0, 0, 0.08),
    0 6px 18px rgba(0, 0, 128, 0.05);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

/* Badge شناور */
.hero-floating-badge {
  position: absolute;
  left: 16px;
  bottom: 20px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  border-radius: 16px;
  padding: 10px 13px;
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.75);
  transform: translateY(0);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    background-color 0.35s ease;
  will-change: transform;
}

.hero-floating-badge div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: right;
}

.hero-floating-badge strong {
  color: var(--primary-color);
  font-size: 0.82rem;
  line-height: 1.4;
}

.hero-floating-badge small {
  color: #666;
  font-size: 0.68rem;
  line-height: 1.4;
}

/* Hover */
.country-guide-hero-image.glass-hero:hover > img {
  transform: translateY(-6px) scale(1.01);
  box-shadow:
    0 28px 55px rgba(0, 0, 0, 0.11),
    0 10px 24px rgba(0, 0, 128, 0.07);
}
.hero-floating-badge .country-flag-img img {
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}

.country-guide-hero-image.glass-hero:hover::after {
  transform: rotate(-4deg) translateY(3px);
}

.country-guide-hero-image.glass-hero:hover .hero-floating-badge {
  transform: translateY(-6px);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

/* ===== Country Form CTA Like Home ===== */

.country-form-cta {
  text-align: right;
  padding: 55px 42px;
}

.country-form-cta-container {
  position: relative;
  z-index: 1;
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: 42px;
  align-items: center;
}

.country-form-cta-content span {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.14);
  color: #fff;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: bold;
  margin-bottom: 14px;
}

.country-form-cta-content h2 {
  color: #fff;
  font-size: 1.75rem;
  line-height: 1.7;
  margin-bottom: 14px;
}

.country-form-cta-content p {
  color: #f1f1f1;
  font-size: 0.96rem;
  line-height: 1.9;
  margin: 0;
}

.country-form-cta-box {
  background-color: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: 28px 24px;
  display: grid;
  gap: 16px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.12);
}

.country-form-input {
  position: relative;
}

.country-form-input i {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #888;
  font-size: 0.95rem;
}

.country-form-input input {
  width: 100%;
  height: 52px;
  border: 0;
  outline: none;
  border-radius: 12px;
  background-color: #fff;
  padding: 0 46px 0 16px;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.92rem;
  color: #333;
}

.country-form-input input::placeholder {
  color: #777;
}

.country-form-cta-box button {
  width: 100%;
  height: 52px;
  border-radius: 12px;
  border: 2px solid #fff;
  background-color: #fff;
  color: var(--primary-color);
  font-family: IRANYekanX, sans-serif;
  font-size: 0.95rem;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
}

.country-form-cta-box button:hover {
  background-color: transparent;
  color: #fff;
}

/* ==================================================
   05. STUDENT VISA SERVICE + COUNTRY STUDY VISA PAGES
   Applies to services/student-visa.html and /student-visa/*.html sections.
================================================== */
/* ===============================
   Student Visa Page
   =============================== */

.student-visa-page {
  background: var(--vp-bg);
  color: var(--vp-text);
}

/* Hero */

/* Hero Visual */

/* Section Spacing */

.student-visa-countries {
  padding: 78px 0;
}

.student-visa-intro {
  background: #fff;
}

/* Summary */

/* Process Timeline */

/* Documents */

/* Countries */

.student-visa-countries {
  background:
    radial-gradient(circle at 20% 20%, rgba(0, 0, 122, 0.05), transparent 26%),
    var(--vp-bg);
}

/* Related Posts */

.blog-card {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Final CTA */

/* ===============================
   Student Visa Page - Hero
   =============================== */

.student-visa-page {
  background: #f5f5f5;
  color: #2b2b2b;
}

.student-hero {
  position: relative;
  overflow: hidden;
  padding: 96px 0 82px;
  background:
    radial-gradient(circle at 12% 22%, rgba(0, 0, 128, 0.055), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(169, 0, 1, 0.045), transparent 28%),
    linear-gradient(180deg, #f8f8f8 0%, #f5f5f5 100%);
}

.student-hero::before {
  content: "";
  position: absolute;
  inset: auto -10% -42% -10%;
  height: 62%;
  background: rgba(255, 255, 255, 0.65);
  border-radius: 50% 50% 0 0;
  pointer-events: none;
}

.student-hero .container {
  position: relative;
  z-index: 2;
}

.student-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.95fr);
  gap: 64px;
  align-items: center;
  direction: rtl;
}

.student-hero__content {
  max-width: 620px;
}

.student-hero__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 22px;
  padding: 9px 18px;
  border-radius: 999px;
  background: rgba(0, 0, 128, 0.06);
  color: #000080;
  font-size: 0.92rem;
  font-weight: 800;
  border: 1px solid rgba(0, 0, 128, 0.09);
}

.student-hero__content h1 {
  margin: 0 0 20px;
  color: #000080;
  font-size: clamp(1.75rem, 2.9vw, 2.45rem);
  line-height: 1.65;
  letter-spacing: -0.015em;
}

.student-hero__content h1::after {
  content: "";
  display: block;
  width: 96px;
  height: 5px;
  margin-top: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-hero__content p {
  margin: 0 0 30px;
  color: #444;
  font-size: 1.03rem;
  line-height: 2.15;
}

/* Visual */

.student-hero__visual {
  position: relative;
}

.student-hero__image-wrap {
  position: relative;
  isolation: isolate;
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.student-hero__image-wrap::before {
  content: "";
  position: absolute;
  width: 86%;
  height: 72%;
  right: 6%;
  bottom: 8%;
  border-radius: 42px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 20px 55px rgba(15, 23, 42, 0.07);
  z-index: 0;
}

.student-hero__image-wrap::after {
  content: "";
  position: absolute;
  width: 56%;
  height: 56%;
  left: 2%;
  top: 4%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(0, 0, 128, 0.1) 0%,
    rgba(0, 0, 128, 0.055) 38%,
    rgba(0, 0, 128, 0) 72%
  );
  filter: blur(4px);
  z-index: 0;
}

.student-hero__image-wrap > img {
  position: relative;
  z-index: 2;
  display: block;
  width: min(100%, 520px);
  border-radius: 34px;
  box-shadow:
    0 24px 60px rgba(15, 23, 42, 0.12),
    0 8px 22px rgba(0, 0, 128, 0.07);
  transition:
    transform 0.38s ease,
    box-shadow 0.38s ease;
}

.student-hero__image-wrap:hover > img {
  transform: translateY(-7px) scale(1.012);
  box-shadow:
    0 32px 72px rgba(15, 23, 42, 0.16),
    0 12px 28px rgba(0, 0, 128, 0.09);
}

.student-hero .container {
  width: min(1180px, calc(100% - 96px));
  margin-inline: auto;
}
/* Student Visa Intro - based on country geography section */

.student-visa-intro {
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  border-radius: 18px;
  margin: 40px auto;
  max-width: 1200px;
  width: 88%;
  padding: 65px 0;
  overflow: hidden;
}

.student-visa-intro .country-geography-container {
  width: 88%;
}

.student-visa-intro .country-guide-label {
  background-color: rgba(169, 0, 1, 0.08);
  color: #a90001;
}

.student-visa-note-points div {
  background-color: #fff;
}

.student-visa-note-points p strong {
  display: block;
  color: var(--primary-color);
  font-size: 1rem;
  margin-bottom: 8px;
}
/* Fix text colors inside dark student visa intro section */

.student-visa-intro .country-geography-content h2 {
  color: #ffffff;
}

.student-visa-intro .country-geography-content h2::after {
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-visa-intro .country-geography-content p {
  color: rgba(255, 255, 255, 0.86);
}

.student-visa-intro .country-guide-label {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.student-visa-intro .student-visa-note-points div {
  background: #ffffff;
}

.student-visa-intro .student-visa-note-points i {
  color: #000080;
}

.student-visa-intro .student-visa-note-points p {
  color: #333333;
}

.student-visa-intro .student-visa-note-points p strong {
  color: #000080;
}
.student-visa-intro .country-geography-points.student-visa-note-points div i {
  color: #a90001;
  background: rgba(169, 0, 1, 0.08);
}
/* ===============================
   Student Visa Audience Section
   =============================== */

.student-visa-audience {
  padding: 80px 0;
  background: #f5f5f5;
}

.student-visa-audience__inner {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.student-visa-audience__heading {
  text-align: center;
  margin-bottom: 42px;
}

.student-visa-audience__heading h2 {
  color: #000080;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.6;
  margin: 0;
}

.student-visa-audience__heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-visa-audience__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.student-visa-audience__card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  border-radius: 24px;
  padding: 76px 22px 24px;
  min-height: 245px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06);
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.student-visa-audience__card:hover {
  transform: translateY(-6px);
  border-color: rgba(169, 0, 1, 0.18);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.1);
}

.student-visa-audience__card i {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(169, 0, 1, 0.08);
  color: #a90001;
  font-size: 1.15rem;
}

.student-visa-audience__card h3 {
  color: #000080;
  font-size: 1.08rem;
  line-height: 1.7;
  margin: 0 0 12px;
}

.student-visa-audience__card p {
  color: #555;
  font-size: 0.93rem;
  line-height: 1.95;
  margin: 0;
}
/* ===============================
   Student Visa Documents Section
   =============================== */

.student-visa-documents {
  padding: 80px 0;
  background: #f5f5f5;
}

.student-visa-documents__inner {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.student-visa-documents__heading {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.student-visa-documents__heading .country-guide-label {
  margin-bottom: 16px;
}

.student-visa-documents__heading h2 {
  color: #000080;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.6;
  margin: 0 0 16px;
}

.student-visa-documents__heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-visa-documents__heading p {
  color: #555;
  font-size: 1rem;
  line-height: 2.05;
  margin: 0;
}

.student-visa-documents__accordion {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  gap: 14px;
}

.student-doc-item {
  background: #fff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055);
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.student-doc-item.is-open {
  border-color: rgba(169, 0, 1, 0.18);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.student-doc-question {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 20px 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font-family: inherit;
  text-align: right;
}

.student-doc-title {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #000080;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.7;
}

.student-doc-title i {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(169, 0, 1, 0.08);
  color: #a90001;
  font-size: 1.05rem;
  flex: 0 0 auto;
}

.student-doc-toggle {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(0, 0, 128, 0.06);
  color: #000080;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  transition:
    transform 0.25s ease,
    background-color 0.25s ease;
}

.student-doc-item.is-open .student-doc-toggle {
  transform: rotate(180deg);
  background: rgba(169, 0, 1, 0.08);
  color: #a90001;
}

.student-doc-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
}

.student-doc-answer p {
  margin: 0;
  padding: 0 78px 22px 22px;
  color: #555;
  font-size: 0.96rem;
  line-height: 2.05;
}

.student-visa-documents__note {
  max-width: 900px;
  margin: 24px auto 0;
  padding: 18px 22px;
  border-radius: 18px;
  background: rgba(0, 0, 128, 0.045);
  color: #000080;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.9;
  text-align: center;
}
/* ===============================
   Student Visa Countries Section
   =============================== */

.student-visa-countries {
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  border-radius: 18px;
  margin: 40px auto;
  max-width: 1200px;
  width: 88%;
  padding: 68px 0;
  overflow: hidden;
}

.student-visa-countries__inner {
  width: 88%;
  margin: 0 auto;
}

.student-visa-countries__heading {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 42px;
}

.student-visa-countries__heading span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 0.9rem;
  font-weight: 800;
  margin-bottom: 18px;
}

.student-visa-countries__heading h2 {
  color: #fff;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.6;
  margin: 0 0 16px;
}

.student-visa-countries__heading h2::after {
  content: "";
  display: block;
  width: 82px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-visa-countries__heading p {
  color: rgba(255, 255, 255, 0.86);
  font-size: 1rem;
  line-height: 2;
  margin: 0;
}

.student-visa-countries__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.student-country-card {
  position: relative;
  min-height: 155px;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
  isolation: isolate;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.16);
}

.student-country-card__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
  z-index: 0;
}

.student-country-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 80, 0.08) 0%,
    rgba(0, 0, 80, 0.32) 45%,
    rgba(0, 0, 80, 0.78) 100%
  );
  z-index: 1;
}

.student-country-card:hover .student-country-card__bg {
  transform: scale(1.08);
}

.student-country-card__flag {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  object-fit: cover;
  border-radius: 50%;
  background: #fff;
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, 0.75);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
  z-index: 2;
}

.student-country-card__content {
  position: relative;
  z-index: 2;
  padding: 24px 24px 22px;
  color: #fff;
}

.student-country-card__content h3 {
  color: #fff;
  font-size: 1.18rem;
  line-height: 1.5;
  margin: 0 0 5px;
}

.student-country-card__content p {
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.9rem;
  line-height: 1.7;
  margin: 0;
}

.student-country-card__arrow {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  color: #fff;
  font-size: 1rem;
  opacity: 0.9;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

.student-country-card:hover .student-country-card__arrow {
  transform: translateX(-4px);
  opacity: 1;
}

/* =========================
   Student Process Section
========================= */

.student-process-section {
  padding: 70px 0 40px;
  background: #f5f5f5;
  overflow: hidden;
}

/* کل باکس سکشن، مثل بقیه بخش‌های سایت از دیواره‌ها فاصله می‌گیرد */
.student-process-section .container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

/* هدینگ سکشن */
.student-process-section .section-heading {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.student-process-section .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 auto 16px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(169, 0, 1, 0.08);
  color: #a90001;
  font-size: 0.88rem;
  font-weight: 800;
}

.student-process-section .section-title {
  margin: 0 0 14px;
  color: #000080;
  font-size: clamp(1.45rem, 2.6vw, 2.1rem);
  line-height: 1.65;
  text-align: center;
}

.student-process-section .section-divider {
  width: 78px;
  height: 5px;
  margin: 12px auto 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-process-section .section-subtitle {
  max-width: 760px;
  margin: 0 auto;
  color: #555;
  font-size: 0.96rem;
  line-height: 2.05;
  text-align: center;
}

/* Grid */
.student-process-grid {
  --line-color: rgba(214, 102, 102, 0.48);
  --line-gap: 24px;

  direction: ltr;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--line-gap);
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
}

/* Card */
.student-process-card {
  position: relative;
  direction: rtl;
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.06);
  border-radius: 22px;
  padding: 74px 18px 16px;
  min-height: 150px;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.08);
  overflow: visible;
  text-align: right;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.student-process-card:hover {
  transform: translateY(-4px);
  border-color: rgba(169, 0, 1, 0.16);
  box-shadow: 0 18px 38px rgba(16, 24, 40, 0.12);
}

/* Number */
.process-number {
  position: absolute;
  top: 14px;
  left: 16px;
  font-size: 1.75rem;
  line-height: 1;
  font-weight: 900;
  color: rgba(16, 16, 120, 0.12);
}

/* Icon - fixed top right */
.process-icon {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: rgba(201, 54, 54, 0.08);
  color: #c62828;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-size: 1rem;
  flex-shrink: 0;
}

/* Texts - smaller */
.process-title {
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1.75;
  color: #101c87;
  margin: 0 0 7px;
  text-align: right;
}

.process-text {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.75;
  color: #555f7a;
  text-align: right;
}

/* =========================
   Snake layout - Desktop
========================= */

.step-1 {
  grid-column: 4;
  grid-row: 1;
}
.step-2 {
  grid-column: 3;
  grid-row: 1;
}
.step-3 {
  grid-column: 2;
  grid-row: 1;
}
.step-4 {
  grid-column: 1;
  grid-row: 1;
}

.step-5 {
  grid-column: 1;
  grid-row: 2;
}
.step-6 {
  grid-column: 2;
  grid-row: 2;
}
.step-7 {
  grid-column: 3;
  grid-row: 2;
}
.step-8 {
  grid-column: 4;
  grid-row: 2;
}

.step-9 {
  grid-column: 4;
  grid-row: 3;
}
.step-10 {
  grid-column: 3;
  grid-row: 3;
}
.step-11 {
  grid-column: 2;
  grid-row: 3;
}

/* =========================
   Connectors - Desktop
========================= */

/* left connector */
.connect-left::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(-1 * var(--line-gap));
  width: var(--line-gap);
  border-top: 2px dashed var(--line-color);
}

.connect-left::before {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  left: calc(-1 * var(--line-gap) - 8px);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 8px solid var(--line-color);
}

/* right connector */
.connect-right::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(-1 * var(--line-gap));
  width: var(--line-gap);
  border-top: 2px dashed var(--line-color);
}

.connect-right::before {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  right: calc(-1 * var(--line-gap) - 8px);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid var(--line-color);
}

/* down connector */
.connect-down::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  height: var(--line-gap);
  border-left: 2px dashed var(--line-color);
}

.connect-down::before {
  content: "";
  position: absolute;
  top: calc(100% + var(--line-gap) - 1px);
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid var(--line-color);
}
/* ===============================
   Student Visa Country Choice
   =============================== */

.student-country-choice-section {
  padding: 40px 0;
  background: #f5f5f5;
}

.student-country-choice-box {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 72px 64px;
  border-radius: 28px;
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 56px;
  align-items: center;
  overflow: hidden;
}

.student-country-choice-content {
  color: #ffffff;
}

.student-country-choice-content .country-guide-label {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  margin-bottom: 18px;
}

.student-country-choice-content h2 {
  color: #ffffff;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  line-height: 1.65;
  margin: 0 0 22px;
}

.student-country-choice-content h2::after {
  content: "";
  display: block;
  width: 82px;
  height: 5px;
  margin-top: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-country-choice-content p {
  color: rgba(255, 255, 255, 0.88);
  font-size: 1rem;
  line-height: 2.1;
  margin: 0 0 18px;
}

.student-country-choice-content p:last-child {
  margin-bottom: 0;
}

/* Note Box */

.student-country-choice-note {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  border-radius: 24px;
  padding: 28px 26px 26px;
  box-shadow: 0 22px 52px rgba(15, 23, 42, 0.12);
}

.student-country-choice-note__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.student-country-choice-note__head i {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(169, 0, 1, 0.08);
  color: #a90001;
  font-size: 1.05rem;
  flex: 0 0 auto;
}

.student-country-choice-note__head h3 {
  margin: 0;
  color: #000080;
  font-size: 1.05rem;
  line-height: 1.7;
  font-weight: 800;
}

.student-country-choice-note p {
  margin: 0 0 16px;
  color: #555;
  font-size: 0.92rem;
  line-height: 1.9;
}

.student-country-choice-note ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.student-country-choice-note li {
  position: relative;
  padding-right: 30px;
  color: #333;
  font-size: 0.9rem;
  line-height: 1.8;
  font-weight: 600;
}

.student-country-choice-note li::before {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 4px;
  right: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(169, 0, 1, 0.08);
  color: #a90001;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
}

/* ===============================
   Student Visa Mistakes Section
   =============================== */

.student-visa-mistakes-section {
  padding: 80px 0;
  background: #f5f5f5;
}

.student-visa-mistakes-inner {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.student-visa-mistakes-heading {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.student-visa-mistakes-heading .country-guide-label {
  margin-bottom: 16px;
}

.student-visa-mistakes-heading h2 {
  color: #000080;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1.65;
  margin: 0 0 16px;
}

.student-visa-mistakes-heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-visa-mistakes-heading p {
  color: #555;
  font-size: 1rem;
  line-height: 2.05;
  margin: 0;
}

.student-visa-mistakes-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
}

.student-visa-mistake-card {
  position: relative;
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 14px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.07);
  border-radius: 20px;
  padding: 20px 22px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.student-visa-mistake-card:hover {
  transform: translateY(-4px);
  border-color: rgba(169, 0, 1, 0.18);
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.09);
}

.student-visa-mistake-card i {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(169, 0, 1, 0.08);
  color: #a90001;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  flex: 0 0 auto;
}

.student-visa-mistake-card p {
  margin: 0;
  color: #333;
  font-size: 0.95rem;
  line-height: 1.9;
  font-weight: 700;
}
/* ===============================
   Student Related Posts Section
   =============================== */

.student-related-posts-section {
  padding: 80px 0;
  background: #f5f5f5;
}

.student-related-posts-inner {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.student-related-posts-heading {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.student-related-posts-heading .country-guide-label {
  margin-bottom: 16px;
}

.student-related-posts-heading h2 {
  color: #000080;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1.65;
  margin: 0 0 16px;
}

.student-related-posts-heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-related-posts-heading p {
  color: #555;
  font-size: 1rem;
  line-height: 2.05;
  margin: 0;
}

.student-related-posts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.student-related-post-card {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.07);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.student-related-post-card:hover {
  transform: translateY(-5px);
  border-color: rgba(169, 0, 1, 0.16);
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.09);
}

.student-related-post-card__image {
  display: block;
  width: 100%;
  height: 170px;
  overflow: hidden;
  background: #eee;
}

.student-related-post-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.student-related-post-card:hover .student-related-post-card__image img {
  transform: scale(1.06);
}

.student-related-post-card__content {
  padding: 20px 18px 18px;
}

.student-related-post-card__meta {
  display: inline-flex;
  margin-bottom: 10px;
  color: #a90001;
  font-size: 0.78rem;
  font-weight: 800;
}

.student-related-post-card h3 {
  margin: 0 0 10px;
  font-size: 1rem;
  line-height: 1.75;
}

.student-related-post-card h3 a {
  color: #000080;
  text-decoration: none;
}

.student-related-post-card p {
  margin: 0 0 16px;
  color: #555;
  font-size: 0.86rem;
  line-height: 1.85;
}

.student-related-post-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #000080;
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
}

.student-related-post-card__link i {
  font-size: 0.78rem;
  transition: transform 0.25s ease;
}

.student-related-post-card__link:hover i {
  transform: translateX(-4px);
}
/* ===============================
   Student Visa FAQ Section
   =============================== */

.student-visa-faq-section {
  padding: 80px 0;
  background: #f5f5f5;
}

/* Fix Student Visa FAQ heading alignment */

.student-visa-faq-section {
  padding: 80px 0;
  background: #f5f5f5;
}

.student-visa-faq-section .section-heading {
  max-width: 820px;
  width: 88%;
  margin: 0 auto 38px;
  text-align: center;
}

.student-visa-faq-section .country-guide-label {
  display: inline-flex;
  margin: 0 auto 16px;
}

.student-visa-faq-section .section-heading h2 {
  color: #000080;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1.65;
  margin: 0;
  text-align: center;
}

.student-visa-faq-section .section-heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}
/* ===============================
   Student Visa CTA Section
   =============================== */

.student-visa-cta-section {
  padding: 50px 0;
  background: #f5f5f5;
  scroll-margin-top: 95px;
}

.student-visa-cta-box {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 56px 52px;
  border-radius: 28px;
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.9fr);
  gap: 56px;
  align-items: center;
  overflow: hidden;
}

.student-visa-cta-content {
  color: #ffffff;
}

.student-visa-cta-content .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 7px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 800;
}

.student-visa-cta-content h2 {
  max-width: 620px;
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.65;
  font-weight: 900;
}

.student-visa-cta-content h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, #a90001, #ffbf2f);
}

.student-visa-cta-content p {
  max-width: 680px;
  margin: 0 0 10px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.92rem;
  line-height: 2;
}

.student-visa-cta-content p:last-child {
  margin-bottom: 0;
}

/* Form Box */

.student-visa-cta-form {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 22px;
  padding: 28px 26px;
  backdrop-filter: blur(6px);
}

.student-visa-cta-form form {
  display: grid;
  gap: 16px;
}

.student-visa-cta-field {
  position: relative;
}

.student-visa-cta-field i {
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  color: #7b7b7b;
  font-size: 0.95rem;
  pointer-events: none;
}

.student-visa-cta-field input {
  width: 100%;
  height: 52px;
  border: 0;
  border-radius: 12px;
  background: #ffffff;
  padding: 0 48px 0 16px;
  font-family: inherit;
  font-size: 0.9rem;
  color: #222;
  outline: none;
}

.student-visa-cta-field input::placeholder {
  color: #777;
}

.student-visa-cta-field input:focus {
  box-shadow: 0 0 0 3px rgba(255, 191, 47, 0.22);
}

.student-visa-cta-btn {
  width: fit-content;
  min-width: 210px;
  height: 54px;
  justify-self: center;
  border: 2px solid #ffffff;
  border-radius: 12px;
  background: transparent;
  color: #ffffff;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  cursor: pointer;
  padding: 0 26px;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.student-visa-cta-btn:hover {
  background: #ffffff;
  color: #000080;
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}
/* ==================================================
   06. SKILLED WORKER AUSTRALIA PAGE
================================================== */
/* ===============================
   Skilled Worker Australia Hero
   =============================== */

.skilled-worker-hero {
  position: relative;
  padding: 90px 0 70px;
  background:
    radial-gradient(circle at 15% 20%, rgba(0, 0, 128, 0.05), transparent 28%),
    radial-gradient(
      circle at 88% 80%,
      rgba(255, 191, 47, 0.06),
      transparent 26%
    ),
    #f5f5f5;
  overflow: hidden;
}

.skilled-worker-hero .container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.skilled-worker-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  gap: 56px;
  align-items: center;
}

.skilled-worker-hero__content {
  position: relative;
  z-index: 2;
}

/* Badge */
.skilled-worker-hero__content .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 18px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #8a6400;
  font-size: 0.9rem;
  font-weight: 800;
}

/* Title */
.skilled-worker-hero__content h1 {
  max-width: 720px;
  margin: 0 0 20px;
  color: #000080;
  font-size: clamp(1.7rem, 3.1vw, 2.55rem);
  line-height: 1.65;
  font-weight: 900;
}

.skilled-worker-hero__content h1::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin-top: 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, #000080, #ffbf2f);
}

/* Lead */
.skilled-worker-hero__content p {
  max-width: 700px;
  margin: 0 0 26px;
  color: #444;
  font-size: 0.96rem;
  line-height: 2.1;
}

/* CTA */
.skilled-worker-hero__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
}

/* Trust Items */
.skilled-worker-hero__trust {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: center;
}

.skilled-worker-trust-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 13px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.07);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
  color: #000080;
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.skilled-worker-trust-item i {
  color: #d49a00;
  font-size: 0.9rem;
}

/* Visual */
.skilled-worker-hero__visual {
  position: relative;
  z-index: 1;
}

.skilled-worker-hero__image-card {
  position: relative;
  min-height: 430px;
  border-radius: 34px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
}

.skilled-worker-hero__image-card img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  display: block;
}

.skilled-worker-hero__image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 80, 0.02) 0%,
    rgba(0, 0, 80, 0.14) 58%,
    rgba(0, 0, 80, 0.42) 100%
  );
  pointer-events: none;
}
/* ===============================
   Skilled Worker Summary Section
   =============================== */

.skilled-worker-summary-section {
  padding: 50px 0;
  background: #f5f5f5;
}

.skilled-worker-summary-box {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 64px 52px;
  border-radius: 28px;
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  overflow: hidden;
}

.skilled-worker-summary-heading {
  max-width: 780px;
  margin: 0 auto 42px;
  text-align: center;
}

.skilled-worker-summary-heading .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 auto 16px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #ffdf75;
  font-size: 0.88rem;
  font-weight: 800;
}

.skilled-worker-summary-heading h2 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  line-height: 1.65;
  font-weight: 900;
}

.skilled-worker-summary-heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffffff, #ffbf2f);
}

.skilled-worker-summary-heading p {
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.95rem;
  line-height: 2;
}

.skilled-worker-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.skilled-worker-summary-card {
  position: relative;
  min-height: 220px;
  padding: 26px 22px 24px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.12);
  text-align: right;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.skilled-worker-summary-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.16);
}

.skilled-worker-summary-card__icon {
  width: 50px;
  height: 50px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 191, 47, 0.16);
  color: #d49a00;
  font-size: 1.1rem;
  margin-bottom: 18px;
}

.skilled-worker-summary-card h3 {
  margin: 0 0 10px;
  color: #000080;
  font-size: 1.02rem;
  line-height: 1.75;
  font-weight: 900;
}

.skilled-worker-summary-card p {
  margin: 0;
  color: #555f7a;
  font-size: 0.86rem;
  line-height: 1.9;
}
/* ===============================
   Skilled Worker Intro Section
   =============================== */

.skilled-worker-intro-section {
  padding: 50px 0;
  background: #f5f5f5;
}

.skilled-worker-intro-box {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 64px 56px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 15% 20%, rgba(0, 0, 128, 0.045), transparent 28%),
    radial-gradient(
      circle at 88% 80%,
      rgba(255, 191, 47, 0.065),
      transparent 28%
    ),
    #ffffff;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 56px;
  align-items: center;
  box-shadow: 0 18px 52px rgba(15, 23, 42, 0.045);
  overflow: hidden;
}

.skilled-worker-intro-content .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 18px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #8a6400;
  font-size: 0.88rem;
  font-weight: 800;
}

.skilled-worker-intro-content h2 {
  margin: 0 0 22px;
  color: #000080;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  line-height: 1.65;
  font-weight: 900;
}

.skilled-worker-intro-content h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin-top: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #000080, #ffbf2f);
}

.skilled-worker-intro-content p {
  margin: 0 0 18px;
  color: #444;
  font-size: 0.96rem;
  line-height: 2.1;
}

.skilled-worker-intro-content p:last-child {
  margin-bottom: 0;
}

/* Note Box */

.skilled-worker-intro-note {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  border-radius: 24px;
  padding: 28px 26px 26px;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
}

.skilled-worker-intro-note__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.skilled-worker-intro-note__head i {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 191, 47, 0.16);
  color: #d49a00;
  font-size: 1.05rem;
  flex: 0 0 auto;
}

.skilled-worker-intro-note__head h3 {
  margin: 0;
  color: #000080;
  font-size: 1.05rem;
  line-height: 1.7;
  font-weight: 900;
}

.skilled-worker-intro-note p {
  margin: 0;
  color: #555;
  font-size: 0.92rem;
  line-height: 2;
  font-weight: 600;
}
/* ===============================
   Skilled Worker Requirements Section
   =============================== */

.skilled-worker-requirements-section {
  padding: 50px 0;
  background: #f5f5f5;
}

.skilled-worker-requirements-box {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 64px 56px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 18%, rgba(0, 0, 128, 0.045), transparent 28%),
    radial-gradient(
      circle at 88% 82%,
      rgba(255, 191, 47, 0.07),
      transparent 28%
    ),
    #ffffff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.95fr);
  gap: 56px;
  align-items: center;
  box-shadow: 0 18px 52px rgba(15, 23, 42, 0.045);
  overflow: hidden;
}

.skilled-worker-requirements-content .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 18px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #8a6400;
  font-size: 0.88rem;
  font-weight: 800;
}

.skilled-worker-requirements-content h2 {
  margin: 0 0 22px;
  color: #000080;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  line-height: 1.65;
  font-weight: 900;
}

.skilled-worker-requirements-content h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin-top: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #000080, #ffbf2f);
}

.skilled-worker-requirements-content p {
  max-width: 680px;
  margin: 0 0 26px;
  color: #444;
  font-size: 0.96rem;
  line-height: 2.1;
}

/* Checklist */

.skilled-worker-requirements-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.skilled-worker-requirement-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.07);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.skilled-worker-requirement-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 191, 47, 0.5);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.085);
}

.skilled-worker-requirement-card i {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgba(255, 191, 47, 0.16);
  color: #d49a00;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  flex: 0 0 auto;
}

.skilled-worker-requirement-card span {
  color: #263044;
  font-size: 0.9rem;
  line-height: 1.8;
  font-weight: 700;
}

/* Important Card */

.skilled-worker-requirement-card--important {
  margin-top: 6px;
  background: linear-gradient(
    135deg,
    rgba(255, 191, 47, 0.18),
    rgba(255, 255, 255, 0.95)
  );
  border: 1px solid rgba(255, 191, 47, 0.48);
  box-shadow: 0 18px 42px rgba(212, 154, 0, 0.14);
}

.skilled-worker-requirement-card--important i {
  background: #ffbf2f;
  color: #000080;
}

.skilled-worker-requirement-card--important span {
  color: #000080;
  font-weight: 900;
}
/* =========================
   Skilled Worker Process Section
========================= */

.skilled-process-section {
  padding: 70px 0 40px;
  background: #f5f5f5;
  overflow: hidden;
}

.skilled-process-section .container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.skilled-process-section .section-heading {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.skilled-process-section .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 auto 16px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #8a6400;
  font-size: 0.88rem;
  font-weight: 800;
}

.skilled-process-section .section-title {
  margin: 0 0 14px;
  color: #000080;
  font-size: clamp(1.45rem, 2.6vw, 2.1rem);
  line-height: 1.65;
  text-align: center;
}

.skilled-process-section .section-divider {
  width: 78px;
  height: 5px;
  margin: 12px auto 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, #000080, #ffbf2f);
}

.skilled-process-section .section-subtitle {
  max-width: 760px;
  margin: 0 auto;
  color: #555;
  font-size: 0.96rem;
  line-height: 2.05;
  text-align: center;
}

/* Grid */
.skilled-process-grid {
  --line-color: rgba(212, 154, 0, 0.55);
  --line-gap: 24px;

  direction: ltr;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--line-gap);
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
}

/* Card */
.skilled-process-card {
  position: relative;
  direction: rtl;
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.06);
  border-radius: 22px;
  padding: 74px 18px 16px;
  min-height: 165px;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.08);
  overflow: visible;
  text-align: right;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.skilled-process-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 191, 47, 0.45);
  box-shadow: 0 18px 38px rgba(16, 24, 40, 0.12);
}

/* Number */
.skilled-process-card .process-number {
  position: absolute;
  top: 14px;
  left: 16px;
  font-size: 1.75rem;
  line-height: 1;
  font-weight: 900;
  color: rgba(16, 16, 120, 0.12);
}

/* Icon */
.skilled-process-card .process-icon {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: rgba(255, 191, 47, 0.16);
  color: #d49a00;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-size: 1rem;
  flex-shrink: 0;
}

/* Text */
.skilled-process-card .process-title {
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1.75;
  color: #101c87;
  margin: 0 0 7px;
  text-align: right;
}

.skilled-process-card .process-text {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.75;
  color: #555f7a;
  text-align: right;
}

/* =========================
   Snake layout - Desktop
========================= */

.skilled-step-1 {
  grid-column: 4;
  grid-row: 1;
}
.skilled-step-2 {
  grid-column: 3;
  grid-row: 1;
}
.skilled-step-3 {
  grid-column: 2;
  grid-row: 1;
}
.skilled-step-4 {
  grid-column: 1;
  grid-row: 1;
}

.skilled-step-5 {
  grid-column: 1;
  grid-row: 2;
}
.skilled-step-6 {
  grid-column: 2;
  grid-row: 2;
}
.skilled-step-7 {
  grid-column: 3;
  grid-row: 2;
}
.skilled-step-8 {
  grid-column: 4;
  grid-row: 2;
}

/* =========================
   Connectors - Desktop
========================= */

/* left connector */
.skilled-process-card.connect-left::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(-1 * var(--line-gap));
  width: var(--line-gap);
  border-top: 2px dashed var(--line-color);
}

.skilled-process-card.connect-left::before {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  left: calc(-1 * var(--line-gap) - 8px);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 8px solid var(--line-color);
}

/* right connector */
.skilled-process-card.connect-right::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(-1 * var(--line-gap));
  width: var(--line-gap);
  border-top: 2px dashed var(--line-color);
}

.skilled-process-card.connect-right::before {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  right: calc(-1 * var(--line-gap) - 8px);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid var(--line-color);
}

/* down connector */
.skilled-process-card.connect-down::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  height: var(--line-gap);
  border-left: 2px dashed var(--line-color);
}

.skilled-process-card.connect-down::before {
  content: "";
  position: absolute;
  top: calc(100% + var(--line-gap) - 1px);
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid var(--line-color);
}
/* ===============================
   Skilled Worker Points Section
   =============================== */

.skilled-points-section {
  padding: 50px 0;
  background: #f5f5f5;
}

.skilled-points-box {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 68px 56px;
  border-radius: 28px;
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: 56px;
  align-items: center;
  overflow: hidden;
}

.skilled-points-content {
  color: #ffffff;
}

.skilled-points-content .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 18px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #ffdf75;
  font-size: 0.88rem;
  font-weight: 800;
}

.skilled-points-content h2 {
  max-width: 680px;
  margin: 0 0 20px;
  color: #ffffff;
  font-size: clamp(1.35rem, 2.3vw, 1.85rem);
  line-height: 1.7;
  font-weight: 900;
}

.skilled-points-content h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin-top: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffffff, #ffbf2f);
}

.skilled-points-content p {
  max-width: 700px;
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.96rem;
  line-height: 2.05;
}

/* Visual Card */

.skilled-points-visual {
  position: relative;
}

.skilled-points-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 26px;
  padding: 28px 26px;
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.18);
}

.skilled-points-card__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.skilled-points-card__icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(255, 191, 47, 0.18);
  color: #d49a00;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex: 0 0 auto;
}

.skilled-points-card__head h3 {
  margin: 0 0 4px;
  color: #000080;
  font-size: 1.12rem;
  line-height: 1.6;
  font-weight: 900;
}

.skilled-points-card__head p {
  margin: 0;
  color: #666;
  font-size: 0.84rem;
  line-height: 1.8;
}

.skilled-points-factor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.skilled-points-factor {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.07);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.skilled-points-factor i {
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: rgba(255, 191, 47, 0.16);
  color: #d49a00;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  flex: 0 0 auto;
}

.skilled-points-factor span {
  color: #263044;
  font-size: 0.84rem;
  line-height: 1.65;
  font-weight: 800;
}

/* ===============================
   Skilled Points Modal
   =============================== */

.skilled-points-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.skilled-points-modal.is-open {
  display: flex;
}

.skilled-points-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(4, 7, 24, 0.62);
  backdrop-filter: blur(4px);
}

.skilled-points-modal__dialog {
  position: relative;
  z-index: 2;
  width: min(920px, 100%);
  max-height: 88vh;
  overflow: auto;
  background: #ffffff;
  border-radius: 26px;
  padding: 34px 32px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.26);
}

.skilled-points-modal__close {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 13px;
  background: rgba(0, 0, 128, 0.07);
  color: #000080;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1rem;
}

.skilled-points-modal__head {
  max-width: 720px;
  margin-bottom: 26px;
  text-align: right;
}

.skilled-points-modal__head .country-guide-label {
  display: inline-flex;
  margin-bottom: 14px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #8a6400;
}

.skilled-points-modal__head h3 {
  margin: 0 0 12px;
  color: #000080;
  font-size: 1.45rem;
  line-height: 1.65;
  font-weight: 900;
}

.skilled-points-modal__head p {
  margin: 0;
  color: #555;
  font-size: 0.92rem;
  line-height: 1.9;
}

.skilled-points-modal__body {
  min-height: 220px;
  border: 1px dashed rgba(0, 0, 128, 0.18);
  border-radius: 20px;
  background:
    radial-gradient(circle at 10% 20%, rgba(0, 0, 128, 0.035), transparent 26%),
    radial-gradient(
      circle at 90% 80%,
      rgba(255, 191, 47, 0.08),
      transparent 28%
    ),
    #fafafa;
}

/* ===============================
   Skilled Points Calculator Form
   =============================== */

.skilled-points-modal__body {
  min-height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.skilled-points-calculator-form {
  display: grid;
  gap: 24px;
}

.skilled-calculator-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.skilled-calculator-field {
  display: grid;
  gap: 8px;
}

.skilled-calculator-field--full {
  grid-column: 1 / -1;
}

.skilled-calculator-field label {
  color: #000080;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.7;
}

.skilled-calculator-field select,
.skilled-calculator-field input {
  width: 100%;
  height: 52px;
  border: 1px solid rgba(0, 0, 128, 0.12);
  border-radius: 14px;
  background: #ffffff;
  padding: 0 14px;
  color: #263044;
  font-family: inherit;
  font-size: 0.9rem;
  outline: none;
}

.skilled-calculator-field select:focus,
.skilled-calculator-field input:focus {
  border-color: rgba(255, 191, 47, 0.8);
  box-shadow: 0 0 0 3px rgba(255, 191, 47, 0.18);
}

.skilled-calculator-contact {
  padding: 22px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 10% 20%, rgba(0, 0, 128, 0.035), transparent 28%),
    radial-gradient(
      circle at 90% 80%,
      rgba(255, 191, 47, 0.09),
      transparent 30%
    ),
    #fafafa;
  border: 1px solid rgba(0, 0, 128, 0.07);
}

.skilled-calculator-contact__text {
  margin-bottom: 16px;
}

.skilled-calculator-contact__text h4 {
  margin: 0 0 8px;
  color: #000080;
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 900;
}

.skilled-calculator-contact__text p {
  margin: 0;
  color: #555;
  font-size: 0.86rem;
  line-height: 1.9;
}

.skilled-calculator-contact__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.skilled-calculator-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 20px;
  border-radius: 18px;
  background: rgba(255, 191, 47, 0.12);
  border: 1px solid rgba(255, 191, 47, 0.35);
}

.skilled-calculator-disclaimer i {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(255, 191, 47, 0.22);
  color: #d49a00;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin-top: 3px;
}

.skilled-calculator-disclaimer p {
  margin: 0;
  color: #444;
  font-size: 0.84rem;
  line-height: 1.95;
  font-weight: 600;
}

.skilled-calculator-actions {
  display: flex;
  justify-content: center;
}

.skilled-calculator-result {
  display: none;
  padding: 24px 22px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.skilled-calculator-result.is-visible {
  display: block;
}

.skilled-calculator-result__score {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0, 0, 128, 0.08);
}

.skilled-calculator-result__score span {
  color: #555;
  font-size: 0.9rem;
  font-weight: 800;
}

.skilled-calculator-result__score strong {
  color: #000080;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
}

.skilled-calculator-result__message {
  margin: 0 0 14px;
  color: #263044;
  font-size: 1rem;
  line-height: 2;
  font-weight: 800;
}

.skilled-calculator-result__hint {
  margin: 0;
  color: #555;
  font-size: 0.86rem;
  line-height: 1.9;
}

.skilled-calculator-result__hint strong {
  color: #d49a00;
}

.skilled-calculator-result--danger {
  border-color: rgba(169, 0, 1, 0.22);
}

.skilled-calculator-result--warning {
  border-color: rgba(255, 191, 47, 0.48);
}

.skilled-calculator-result--success {
  border-color: rgba(0, 0, 128, 0.18);
}

/* ===============================
   Skilled Worker Assessment Section
   =============================== */

.skilled-assessment-section {
  padding: 80px 0;
  background: #f5f5f5;
}

.skilled-assessment-inner {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.skilled-assessment-heading {
  max-width: 840px;
  margin: 0 auto 42px;
  text-align: center;
}

.skilled-assessment-heading .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 auto 16px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #8a6400;
  font-size: 0.88rem;
  font-weight: 800;
}

.skilled-assessment-heading h2 {
  margin: 0 0 16px;
  color: #000080;
  font-size: clamp(1.55rem, 2.7vw, 2.15rem);
  line-height: 1.65;
  font-weight: 900;
}

.skilled-assessment-heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #000080, #ffbf2f);
}

.skilled-assessment-heading p {
  margin: 0;
  color: #555;
  font-size: 0.96rem;
  line-height: 2.05;
}

.skilled-assessment-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.skilled-assessment-card {
  position: relative;
  min-height: 245px;
  padding: 26px 22px 24px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.07);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
  text-align: right;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.skilled-assessment-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 191, 47, 0.48);
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.09);
}

.skilled-assessment-card__icon {
  width: 50px;
  height: 50px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 191, 47, 0.16);
  color: #d49a00;
  font-size: 1.1rem;
  margin-bottom: 18px;
}

.skilled-assessment-card h3 {
  margin: 0 0 10px;
  color: #000080;
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 900;
}

.skilled-assessment-card p {
  margin: 0;
  color: #555f7a;
  font-size: 0.86rem;
  line-height: 1.9;
}

/* Important Note */

.skilled-assessment-note {
  max-width: 980px;
  margin: 28px auto 0;
  padding: 22px 24px;
  border-radius: 22px;
  background: linear-gradient(
    135deg,
    rgba(255, 191, 47, 0.18),
    rgba(255, 255, 255, 0.96)
  );
  border: 1px solid rgba(255, 191, 47, 0.48);
  box-shadow: 0 18px 42px rgba(212, 154, 0, 0.12);
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.skilled-assessment-note__icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #ffbf2f;
  color: #000080;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 1rem;
}

.skilled-assessment-note p {
  margin: 0;
  color: #000080;
  font-size: 0.95rem;
  line-height: 2;
  font-weight: 800;
}
/* ===============================
   Skilled Worker Mistakes Section
   =============================== */

.skilled-mistakes-section {
  padding: 50px 0;
  background: #f5f5f5;
}

.skilled-mistakes-box {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 68px 56px;
  border-radius: 28px;
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  overflow: hidden;
}

.skilled-mistakes-heading {
  max-width: 840px;
  margin: 0 auto 42px;
  text-align: center;
}

.skilled-mistakes-heading .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 auto 16px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #ffdf75;
  font-size: 0.88rem;
  font-weight: 800;
}

.skilled-mistakes-heading h2 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  line-height: 1.7;
  font-weight: 900;
}

.skilled-mistakes-heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffffff, #ffbf2f);
}

.skilled-mistakes-heading p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.96rem;
  line-height: 2.05;
}

.skilled-mistakes-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 20px;
}

.skilled-mistake-card {
  min-height: 78px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.13);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.skilled-mistake-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 191, 47, 0.58);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.18);
}

.skilled-mistake-card i {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(255, 191, 47, 0.18);
  color: #d49a00;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.92rem;
  flex: 0 0 auto;
}

.skilled-mistake-card span {
  color: #263044;
  font-size: 0.92rem;
  line-height: 1.85;
  font-weight: 800;
}
/* ===============================
   Skilled Related Posts Section
   =============================== */

.skilled-related-posts-section {
  padding: 80px 0;
  background: #f5f5f5;
}

.skilled-related-posts-inner {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.skilled-related-posts-heading {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.skilled-related-posts-heading .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 auto 16px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #8a6400;
  font-size: 0.88rem;
  font-weight: 800;
}

.skilled-related-posts-heading h2 {
  color: #000080;
  font-size: clamp(1.55rem, 2.7vw, 2.15rem);
  line-height: 1.65;
  margin: 0 0 16px;
  font-weight: 900;
}

.skilled-related-posts-heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #000080, #ffbf2f);
}

.skilled-related-posts-heading p {
  color: #555;
  font-size: 0.96rem;
  line-height: 2.05;
  margin: 0;
}

.skilled-related-posts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.skilled-related-post-card {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.07);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.skilled-related-post-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 191, 47, 0.45);
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.09);
}

.skilled-related-post-card__image {
  display: block;
  width: 100%;
  height: 170px;
  overflow: hidden;
  background: #eee;
}

.skilled-related-post-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.skilled-related-post-card:hover .skilled-related-post-card__image img {
  transform: scale(1.06);
}

.skilled-related-post-card__content {
  padding: 20px 18px 18px;
}

.skilled-related-post-card__meta {
  display: inline-flex;
  margin-bottom: 10px;
  color: #d49a00;
  font-size: 0.78rem;
  font-weight: 900;
}

.skilled-related-post-card h3 {
  margin: 0 0 10px;
  font-size: 1rem;
  line-height: 1.75;
}

.skilled-related-post-card h3 a {
  color: #000080;
  text-decoration: none;
}

.skilled-related-post-card p {
  margin: 0 0 16px;
  color: #555;
  font-size: 0.86rem;
  line-height: 1.85;
}

.skilled-related-post-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #000080;
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
}

.skilled-related-post-card__link i {
  font-size: 0.78rem;
  transition: transform 0.25s ease;
}

.skilled-related-post-card__link:hover i {
  transform: translateX(-4px);
}
/* Skilled Worker FAQ heading fix */

.skilled-worker-faq-section {
  padding: 80px 0;
  background: #f5f5f5;
  display: block;
}

.skilled-worker-faq-section .section-heading {
  max-width: 820px;
  width: 88%;
  margin: 0 auto 38px;
  text-align: center;
}

.skilled-worker-faq-section .country-guide-label {
  display: inline-flex;
  margin: 0 auto 16px;
}

.skilled-worker-faq-section .section-heading h2 {
  color: #000080;
  font-size: clamp(1.55rem, 2.7vw, 2.15rem);
  line-height: 1.65;
  margin: 0;
  text-align: center;
}

.skilled-worker-faq-section .section-heading h2::after {
  content: "";
  display: block;
  width: 78px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #000080, #ffbf2f);
}

.skilled-worker-faq-section .country-faq-list {
  margin-right: auto;
  margin-left: auto;
}
/* ===============================
   Skilled Worker CTA Section
   =============================== */

.skilled-worker-cta-section {
  padding: 50px 0;
  background: #f5f5f5;
  scroll-margin-top: 110px;
}

.skilled-worker-cta-box {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 56px 52px;
  border-radius: 28px;
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.9fr);
  gap: 56px;
  align-items: center;
  overflow: hidden;
}

.skilled-worker-cta-content {
  color: #ffffff;
}

.skilled-worker-cta-content .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 7px 16px;
  border-radius: 999px;
  background: rgba(255, 191, 47, 0.16);
  border: 1px solid rgba(255, 191, 47, 0.42);
  color: #ffdf75;
  font-size: 0.82rem;
  font-weight: 800;
}

.skilled-worker-cta-content h2 {
  max-width: 640px;
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(1.35rem, 2.3vw, 1.9rem);
  line-height: 1.75;
  font-weight: 900;
}

.skilled-worker-cta-content h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffffff, #ffbf2f);
}

.skilled-worker-cta-content p {
  max-width: 680px;
  margin: 0 0 10px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.92rem;
  line-height: 2;
}

.skilled-worker-cta-content p:last-child {
  margin-bottom: 0;
}

/* Form Box */

.skilled-worker-cta-form {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 22px;
  padding: 28px 26px;
  backdrop-filter: blur(6px);
}

.skilled-worker-cta-form form {
  display: grid;
  gap: 16px;
}

.skilled-worker-cta-field {
  position: relative;
}

.skilled-worker-cta-field i {
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  color: #7b7b7b;
  font-size: 0.95rem;
  pointer-events: none;
}

.skilled-worker-cta-field input {
  width: 100%;
  height: 52px;
  border: 0;
  border-radius: 12px;
  background: #ffffff;
  padding: 0 48px 0 16px;
  font-family: inherit;
  font-size: 0.9rem;
  color: #222;
  outline: none;
}

.skilled-worker-cta-field input::placeholder {
  color: #777;
}

.skilled-worker-cta-field input:focus {
  box-shadow: 0 0 0 3px rgba(255, 191, 47, 0.22);
}

.skilled-worker-cta-btn {
  width: fit-content;
  min-width: 220px;
  height: 54px;
  justify-self: center;
  border: 2px solid #ffffff;
  border-radius: 12px;
  background: transparent;
  color: #ffffff;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  cursor: pointer;
  padding: 0 26px;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.skilled-worker-cta-btn:hover {
  background: #ffffff;
  color: #000080;
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}
/* ==================================================
   07. COUNTRY STUDY VISA REUSABLE COMPONENTS
   Hero, audio, documents, costs, process, residency, comparison, FAQ.
================================================== */
/* ===============================
   Country Study Hero Template
   =============================== */

.country-study-hero {
  padding: 86px 0 70px;
  background:
    radial-gradient(circle at 12% 20%, rgba(0, 0, 128, 0.045), transparent 28%),
    radial-gradient(
      circle at 88% 78%,
      var(--country-soft-accent),
      transparent 28%
    ),
    #f5f5f5;
  overflow: hidden;
}

.country-study-hero__container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(420px, 0.94fr);
  gap: 58px;
  align-items: center;
}

.country-study-hero__content {
  position: relative;
  z-index: 2;
}

.country-study-hero__content .country-guide-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 18px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.28);
  color: var(--country-dark-accent);
  font-size: 0.88rem;
  font-weight: 800;
}

.country-study-hero__content h1 {
  max-width: 720px;
  margin: 0 0 20px;
  color: #000080;
  font-size: clamp(1.35rem, 2.75vw, 2.15rem);
  line-height: 1.65;
  font-weight: 900;
}

.country-study-hero__content h1::after {
  content: "";
  display: block;
  width: 82px;
  height: 5px;
  margin-top: 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, #000080, var(--country-primary-accent));
}

.country-study-hero__content p {
  max-width: 760px;
  margin: 0 0 26px;
  color: #444;
  font-size: 0.95rem;
  line-height: 2.12;
}

/* Trust Items */

.country-study-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.country-study-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 13px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.07);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
  color: #000080;
  font-size: 0.8rem;
  font-weight: 800;
  white-space: nowrap;
}

.country-study-trust-item i {
  color: var(--country-primary-accent);
  font-size: 0.9rem;
}

/* ===============================
   Visual Side
   =============================== */

.country-study-hero__visual {
  position: relative;
  z-index: 1;
}

.country-study-hero__image-wrap {
  position: relative;
  min-height: 520px;
}

.country-study-hero__image-card {
  position: absolute;
  top: 52px;
  left: 46px;
  width: 72%;
  min-height: 380px;
  border-radius: 30px;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(15, 52, 74, 0.06), rgba(229, 114, 0, 0.08)),
    #ffffff;
  transform: rotate(-7deg);
  box-shadow: 0 28px 68px rgba(15, 23, 42, 0.16);
  border: 1px solid rgba(229, 114, 0, 0.26);
}

.country-study-hero__image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 80, 0.02) 0%,
    rgba(0, 0, 80, 0.1) 58%,
    rgba(0, 0, 80, 0.28) 100%
  );
  pointer-events: none;
}

.country-study-hero__image-card img {
  width: 100%;
  height: 100%;
  min-height: 380px;
  object-fit: cover;
  display: block;
}

/* Floating CTA Card */

.country-study-hero__floating-card {
  position: absolute;
  right: 0;
  bottom: 42px;
  z-index: 4;
  width: 310px;
  padding: 30px 24px 24px;
  border-radius: 26px;
  background:
    radial-gradient(
      circle at 14% 18%,
      var(--country-soft-accent),
      transparent 34%
    ),
    radial-gradient(circle at 90% 88%, rgba(0, 0, 128, 0.055), transparent 32%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  border: 1px solid rgba(0, 0, 128, 0.07);
  box-shadow:
    0 28px 68px rgba(15, 23, 42, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  overflow: hidden;

  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.country-study-hero__floating-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(
    90deg,
    var(--country-primary-accent),
    var(--country-secondary-accent)
  );
}

.country-study-hero__floating-card::after {
  content: "";
  position: absolute;
  width: 138px;
  height: 138px;
  left: -58px;
  bottom: -58px;
  border-radius: 50%;
  border: 1px dashed rgba(23, 74, 106, 0.18);
  opacity: 0.9;
}

.country-study-hero__floating-card h3 {
  margin: 0 0 12px;
  color: #000080;
  font-size: 1.28rem;
  line-height: 1.7;
  font-weight: 900;
  text-align: center;
}

.country-study-hero__floating-card p {
  margin: 0 0 18px;
  color: #555;
  font-size: 0.9rem;
  line-height: 1.95;
  font-weight: 600;
  text-align: center;
}

.country-study-hero__floating-card a {
  min-height: 48px;
  padding: 0 18px;
  border-radius: 14px;
  background: #000080;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 800;
  box-shadow: 0 14px 30px rgba(0, 0, 128, 0.16);
  transition:
    transform 0.25s ease,
    background 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease;
  min-width: 190px;
}

.country-study-hero__floating-card a:hover {
  transform: translateY(-3px);
  background: var(--country-primary-accent);
  color: #ffffff;
  box-shadow: 0 18px 38px rgba(229, 114, 0, 0.28);
}
.country-study-hero__floating-card h3,
.country-study-hero__floating-card p,
.country-study-hero__floating-card a {
  position: relative;
  z-index: 2;
}

/* Decorative Arrows */

.country-study-hero__dashed-arrow {
  position: absolute;
  z-index: 5;
  color: rgba(23, 74, 106, 0.42);
  pointer-events: none;
}

.country-study-hero__dashed-arrow--top {
  width: 150px;
  top: 12px;
  right: 112px;
  transform: rotate(8deg);
}

.country-study-hero__dashed-arrow--side {
  width: 135px;
  right: -18px;
  top: 120px;
  transform: rotate(-12deg);
}

/* Decorative Shapes */

.country-study-hero__decor {
  position: absolute;
  z-index: 0;
  border-radius: 999px;
  pointer-events: none;
}

.country-study-hero__decor--one {
  width: 150px;
  height: 150px;
  left: 10px;
  top: 0;
  border: 1px dashed rgba(23, 74, 106, 0.22);
}

.country-study-hero__decor--two {
  width: 88px;
  height: 88px;
  right: 34px;
  bottom: 0;
  background: var(--country-soft-accent);
}

/* =========================================
   Country Quick Summary Section
   اطلاعات سریع ویزای تحصیلی کشور
========================================= */

.country-quick-summary {
  position: relative;
  padding: 70px 0;
  background: #f5f5f5;
}

.country-quick-summary .container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 0;
}

/* Heading */

.country-quick-summary__head {
  max-width: 820px;
  margin: 0 auto 38px;
  text-align: center;
}

.country-quick-summary .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.country-quick-summary .section-title {
  margin: 0;
  color: #000080;
  font-size: clamp(1.45rem, 2.5vw, 2.05rem);
  font-weight: 900;
  line-height: 1.65;
}

.country-quick-summary .section-divider {
  display: block;
  width: 82px;
  height: 5px;
  border-radius: 999px;
  margin: 14px auto 18px;
  background: linear-gradient(90deg, #000080, var(--country-primary-accent));
}

.country-quick-summary .section-desc {
  margin: 0;
  color: #555;
  font-size: 0.95rem;
  line-height: 2;
}

/* Grid */

.country-quick-summary__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

/* Card */

.country-quick-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 112px;
  padding: 20px 18px;
  background: #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055);
  overflow: hidden;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.country-quick-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(
    90deg,
    #000080,
    var(--country-secondary-accent),
    var(--country-primary-accent)
  );
}

.country-quick-card:hover {
  transform: translateY(-4px);
  border-color: rgba(229, 114, 0, 0.24);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.085);
}

/* Icon */

.country-quick-card__icon {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  border-radius: 15px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.08rem;
}

/* Content */

.country-quick-card__content {
  flex: 1;
  text-align: right;
}

.country-quick-card__label {
  display: block;
  margin-bottom: 7px;
  color: #777;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.7;
}

.country-quick-card__value {
  display: block;
  color: #1f2933;
  font-size: 0.98rem;
  font-weight: 900;
  line-height: 1.75;
}
/* =========================================
   Country Podcast Section
========================================= */

.country-podcast-section {
  padding: 70px 0;
  background: #f5f5f5;
}

.country-podcast-container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.country-podcast-player {
  position: relative;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  min-height: 360px;
  padding: 44px 48px;
  border-radius: 30px;
  background:
    radial-gradient(
      circle at 12% 22%,
      var(--country-soft-accent),
      transparent 28%
    ),
    radial-gradient(circle at 85% 70%, rgba(0, 0, 128, 0.045), transparent 30%),
    linear-gradient(145deg, #ffffff, #fbfbfb);
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.075);
  overflow: hidden;
}

.country-podcast-player::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-radial-gradient(
    circle at 18% 50%,
    rgba(23, 74, 106, 0.075) 0,
    rgba(23, 74, 106, 0.075) 1px,
    transparent 1px,
    transparent 18px
  );
  opacity: 0.45;
  pointer-events: none;
}

.country-podcast-player::after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  left: -70px;
  bottom: -80px;
  background: var(--country-soft-accent);
  pointer-events: none;
}

/* Cover */

.country-podcast-cover {
  position: relative;
  z-index: 2;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  padding: 10px;
  background:
    linear-gradient(145deg, #ffffff, rgba(255, 255, 255, 0.72)),
    var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.18);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
}

.country-podcast-cover img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* Content */

.country-podcast-content {
  position: relative;
  z-index: 2;
  text-align: right;
}

.country-podcast-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 7px 16px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.82rem;
  font-weight: 800;
}

.country-podcast-content h2 {
  max-width: 760px;
  margin: 0 0 14px;
  color: #000080;
  font-size: clamp(1.4rem, 2.5vw, 2.15rem);
  line-height: 1.65;
  font-weight: 900;
}

.country-podcast-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 26px;
  color: #666;
  font-size: 0.9rem;
  font-weight: 700;
}

.country-podcast-meta span {
  position: relative;
}

.country-podcast-meta span + span::before {
  content: "";
  position: absolute;
  right: -8px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--country-primary-accent);
  transform: translateY(-50%);
}

/* Audio Layout */

.country-podcast-controls {
  display: block;
  width: 100%;
}

.podcast-audio-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  direction: ltr;
  width: 100%;
}

.podcast-play-btn {
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 50%;
  background: var(--country-primary-accent);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  cursor: pointer;
  font-size: 1.05rem;
  box-shadow: 0 14px 28px rgba(229, 114, 0, 0.22);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
  align-self: start;
  margin-top: 0;
  transform: translateY(0);
}

.podcast-play-btn:hover {
  transform: translateY(-2px);
  background: var(--country-secondary-accent);
  box-shadow: 0 18px 36px rgba(23, 74, 106, 0.22);
}

.podcast-play-btn i {
  transform: translateX(-1px);
}

/* Waveform */

.podcast-wave-area {
  position: relative;
  min-width: 0;
  width: 100%;
}

.podcast-wave-track {
  --wave-progress: 0%;

  position: relative;
  height: 58px;
  overflow: hidden;
  border-radius: 16px;
  background:
    radial-gradient(
      circle at 10% 20%,
      var(--country-soft-accent),
      transparent 28%
    ),
    rgba(23, 74, 106, 0.04);
  padding: 10px 12px;
}

.podcast-wave-bars {
  position: relative;
  z-index: 2;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(42, 1fr);
  align-items: center;
  gap: 4px;
}

.podcast-wave-bars span {
  display: block;
  width: 2px;
  justify-self: center;
  min-height: 6px;
  border-radius: 999px;
  background: rgba(23, 74, 106, 0.26);
}

.podcast-wave-bars span:nth-child(6n + 1) {
  height: 14px;
}
.podcast-wave-bars span:nth-child(6n + 2) {
  height: 24px;
}
.podcast-wave-bars span:nth-child(6n + 3) {
  height: 34px;
}
.podcast-wave-bars span:nth-child(6n + 4) {
  height: 20px;
}
.podcast-wave-bars span:nth-child(6n + 5) {
  height: 30px;
}
.podcast-wave-bars span:nth-child(6n + 6) {
  height: 12px;
}

.podcast-wave-progress {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--wave-progress);
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(229, 114, 0, 0.16),
    rgba(23, 74, 106, 0.1)
  );
  border-radius: inherit;
  pointer-events: none;
}

.country-podcast-player.is-playing .podcast-wave-bars span {
  animation: podcastWaveSoft 1.1s ease-in-out infinite alternate;
}

.country-podcast-player.is-playing .podcast-wave-bars span:nth-child(2n) {
  animation-delay: 0.12s;
}

.country-podcast-player.is-playing .podcast-wave-bars span:nth-child(3n) {
  animation-delay: 0.22s;
}

@keyframes podcastWaveSoft {
  from {
    transform: scaleY(0.88);
  }

  to {
    transform: scaleY(1.08);
  }
}

/* Invisible real progress input */

.podcast-progress {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 58px;
  opacity: 0;
  cursor: pointer;
  z-index: 5;
}

.podcast-time {
  display: flex;
  justify-content: space-between;
  color: #777;
  font-size: 0.82rem;
  font-weight: 800;
  margin-top: 8px;
  direction: ltr;
}

/* Skip buttons */

.podcast-skip-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-top: 12px;
  padding-left: 80px;
  direction: ltr;
}

.podcast-skip-btn {
  border: 0;
  background: transparent;
  color: var(--country-secondary-accent);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
  padding: 0;
}

.podcast-skip-btn i {
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: rgba(23, 74, 106, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
}

.country-podcast-player.is-playing .podcast-play-btn {
  background: var(--country-secondary-accent);
}
/* =========================================
   Country Pros & Cons Section
========================================= */

.country-pros-cons-section {
  padding: 76px 0;
  background: #f5f5f5;
}

.country-pros-cons-container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

.country-pros-cons-head {
  max-width: 860px;
  margin: 0 auto 42px;
  text-align: center;
}

.country-pros-cons-head .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.country-pros-cons-head h2 {
  margin: 0;
  color: #000080;
  font-size: clamp(1.45rem, 2.5vw, 2.05rem);
  line-height: 1.65;
  font-weight: 900;
}

.country-pros-cons-head .section-divider {
  display: block;
  width: 82px;
  height: 5px;
  border-radius: 999px;
  margin: 14px auto 18px;
  background: linear-gradient(90deg, #000080, var(--country-primary-accent));
}

.country-pros-cons-head p {
  margin: 0;
  color: #555;
  font-size: 0.95rem;
  line-height: 2.05;
}

/* Grid */

.country-pros-cons-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* Column */

.country-pros-cons-column {
  position: relative;
  padding: 28px;
  border-radius: 26px;
  background:
    radial-gradient(
      circle at 12% 12%,
      var(--country-soft-accent),
      transparent 32%
    ),
    #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.country-pros-cons-column::before {
  content: "";
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(
    90deg,
    #000080,
    var(--country-secondary-accent),
    var(--country-primary-accent)
  );
}

.country-pros-cons-column__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
}

.country-pros-cons-column__icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border-radius: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  font-size: 1.18rem;
}

.country-cons-column .country-pros-cons-column__icon {
  background: rgba(15, 52, 74, 0.08);
  color: var(--country-secondary-accent);
}

.country-pros-cons-column__head span {
  display: block;
  margin-bottom: 4px;
  color: #777;
  font-size: 0.82rem;
  font-weight: 800;
}

.country-pros-cons-column__head h3 {
  margin: 0;
  color: #000080;
  font-size: 1.08rem;
  line-height: 1.75;
  font-weight: 900;
}

/* Items */

.country-pros-cons-list {
  display: grid;
  gap: 14px;
}

.country-pros-cons-item {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 16px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(15, 52, 74, 0.06);
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.country-pros-cons-item:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 114, 0, 0.22);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.055);
}

.country-pros-cons-item > i {
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  margin-top: 2px;
}

.country-cons-column .country-pros-cons-item > i {
  background: rgba(15, 52, 74, 0.08);
  color: var(--country-secondary-accent);
}

.country-pros-cons-item h4 {
  margin: 0 0 6px;
  color: #1f2933;
  font-size: 0.92rem;
  line-height: 1.75;
  font-weight: 900;
}

.country-pros-cons-item p {
  margin: 0;
  color: #5f6673;
  font-size: 0.82rem;
  line-height: 1.95;
  font-weight: 600;
}

/* Note */

.country-pros-cons-note {
  max-width: 980px;
  margin: 28px auto 0;
  padding: 22px 24px;
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 10% 30%,
      var(--country-soft-accent),
      transparent 28%
    ),
    #ffffff;
  border: 1px solid rgba(229, 114, 0, 0.18);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.country-pros-cons-note__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 14px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.country-pros-cons-note p {
  margin: 0;
  color: #333;
  font-size: 0.9rem;
  line-height: 2;
  font-weight: 700;
}
/* =========================================
   Country Study Levels Section
========================================= */

.country-study-levels-section {
  padding: 76px 0;
  background: #f5f5f5;
}

.country-study-levels-container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

/* Heading */

.country-study-levels-head {
  max-width: 860px;
  margin: 0 auto 42px;
  text-align: center;
}

.country-study-levels-head .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.country-study-levels-head h2 {
  margin: 0;
  color: #000080;
  font-size: clamp(1.45rem, 2.5vw, 2.05rem);
  line-height: 1.65;
  font-weight: 900;
}

.country-study-levels-head .section-divider {
  display: block;
  width: 82px;
  height: 5px;
  border-radius: 999px;
  margin: 14px auto 18px;
  background: linear-gradient(90deg, #000080, var(--country-primary-accent));
}

.country-study-levels-head p {
  margin: 0;
  color: #555;
  font-size: 0.95rem;
  line-height: 2.05;
}

/* Main Box */

.country-study-levels-box {
  position: relative;
  border-radius: 28px;
  background:
    radial-gradient(
      circle at 12% 18%,
      var(--country-soft-accent),
      transparent 30%
    ),
    #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 20px 52px rgba(15, 23, 42, 0.065);
  overflow: hidden;
}

/* Tabs */

.country-study-levels-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
  background: rgba(15, 52, 74, 0.035);
  border-bottom: 1px solid rgba(15, 52, 74, 0.07);
}

.country-study-level-tab {
  min-height: 54px;
  border: 0;
  border-radius: 16px;
  background: #ffffff;
  color: #000080;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  transition:
    background 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.country-study-level-tab i {
  color: var(--country-primary-accent);
  font-size: 0.95rem;
}

.country-study-level-tab:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.075);
}

.country-study-level-tab.is-active {
  background: linear-gradient(
    135deg,
    var(--country-primary-accent),
    var(--country-secondary-accent)
  );
  color: #ffffff;
}

.country-study-level-tab.is-active i {
  color: #ffffff;
}

/* Content */

.country-study-levels-content {
  padding: 34px;
}

.country-study-level-panel {
  display: none;
}

.country-study-level-panel.is-active {
  display: block;
  animation: countryLevelFade 0.28s ease;
}

@keyframes countryLevelFade {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Panel Main */

.country-study-level-panel__main {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 26px;
}

.country-study-level-panel__icon {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
}

.country-study-level-panel__label {
  display: inline-flex;
  margin-bottom: 6px;
  color: var(--country-secondary-accent);
  font-size: 0.82rem;
  font-weight: 900;
}

.country-study-level-panel h3 {
  margin: 0 0 10px;
  color: #000080;
  font-size: 1.35rem;
  line-height: 1.75;
  font-weight: 900;
}

.country-study-level-panel p {
  margin: 0;
  color: #555;
  font-size: 0.92rem;
  line-height: 2.05;
  font-weight: 600;
}

/* Points */

.country-study-level-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

.country-study-level-points div {
  min-height: 62px;
  padding: 14px 16px;
  border-radius: 17px;
  background: rgba(15, 52, 74, 0.035);
  border: 1px solid rgba(15, 52, 74, 0.065);
  display: flex;
  align-items: center;
  gap: 10px;
}

.country-study-level-points i {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 12px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.86rem;
}

.country-study-level-points span {
  color: #263044;
  font-size: 0.86rem;
  line-height: 1.8;
  font-weight: 800;
}

/* Note */

.country-study-level-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 20px;
  border-radius: 18px;
  background:
    radial-gradient(
      circle at 10% 25%,
      var(--country-soft-accent),
      transparent 28%
    ),
    #ffffff;
  border: 1px solid rgba(229, 114, 0, 0.18);
}

.country-study-level-note i {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 12px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.86rem;
}

.country-study-level-note p {
  margin: 0;
  color: #333;
  font-size: 0.86rem;
  line-height: 1.95;
  font-weight: 700;
}

.country-study-level-note--warning {
  border-color: rgba(15, 52, 74, 0.16);
}

.country-study-level-note--warning i {
  background: rgba(15, 52, 74, 0.08);
  color: var(--country-secondary-accent);
}
/* =========================================
   Country Cost Section
========================================= */

.country-cost-section {
  padding: 76px 0;
  background: #f5f5f5;
}

.country-cost-container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

/* Heading */

.country-cost-head {
  max-width: 860px;
  margin: 0 auto 42px;
  text-align: center;
}

.country-cost-head .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.country-cost-head h2 {
  margin: 0;
  color: #000080;
  font-size: clamp(1.45rem, 2.5vw, 2.05rem);
  line-height: 1.65;
  font-weight: 900;
}

.country-cost-head .section-divider {
  display: block;
  width: 82px;
  height: 5px;
  border-radius: 999px;
  margin: 14px auto 18px;
  background: linear-gradient(90deg, #000080, var(--country-primary-accent));
}

.country-cost-head p {
  margin: 0;
  color: #555;
  font-size: 0.95rem;
  line-height: 2.05;
}

/* Overview */

.country-cost-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 26px;
  align-items: stretch;
  margin-bottom: 28px;
}

.country-cost-text,
.country-cost-summary-card {
  position: relative;
  border-radius: 26px;
  background:
    radial-gradient(
      circle at 10% 18%,
      var(--country-soft-accent),
      transparent 30%
    ),
    #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.06);
  padding: 30px 28px;
  overflow: hidden;
}

.country-cost-text::before,
.country-cost-summary-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(
    90deg,
    #000080,
    var(--country-secondary-accent),
    var(--country-primary-accent)
  );
}

.country-cost-label {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--country-secondary-accent);
  font-size: 0.82rem;
  font-weight: 900;
}

.country-cost-text h3 {
  margin: 0 0 14px;
  color: #000080;
  font-size: 1.2rem;
  line-height: 1.75;
  font-weight: 900;
}

.country-cost-text p {
  margin: 0 0 12px;
  color: #555;
  font-size: 0.9rem;
  line-height: 2.05;
  font-weight: 600;
}

.country-cost-text p:last-child {
  margin-bottom: 0;
}

.country-cost-text strong {
  color: #000080;
  font-weight: 900;
}

/* Summary Card */

.country-cost-summary-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.country-cost-summary-card__icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  border-radius: 18px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

.country-cost-summary-card span {
  display: block;
  margin-bottom: 8px;
  color: #777;
  font-size: 0.84rem;
  line-height: 1.7;
  font-weight: 800;
}

.country-cost-summary-card strong {
  display: block;
  margin-bottom: 12px;
  color: #000080;
  font-size: clamp(1.35rem, 2.5vw, 1.9rem);
  line-height: 1.65;
  font-weight: 900;
}

.country-cost-summary-card p {
  margin: 0;
  color: #555;
  font-size: 0.84rem;
  line-height: 1.95;
  font-weight: 600;
}

/* Table Card */

.country-cost-table-card {
  position: relative;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.country-cost-table-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 4px;
  z-index: 2;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(
    90deg,
    #000080,
    var(--country-secondary-accent),
    var(--country-primary-accent)
  );
}

.country-cost-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 28px 30px 22px;
  background:
    radial-gradient(
      circle at 12% 18%,
      var(--country-soft-accent),
      transparent 32%
    ),
    rgba(15, 52, 74, 0.025);
  border-bottom: 1px solid rgba(15, 52, 74, 0.06);
}

.country-cost-table-head span {
  display: block;
  margin-bottom: 5px;
  color: var(--country-secondary-accent);
  font-size: 0.82rem;
  font-weight: 900;
}

.country-cost-table-head h3 {
  margin: 0;
  color: #000080;
  font-size: 1.12rem;
  line-height: 1.75;
  font-weight: 900;
}

.country-cost-table-head__icon {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  border-radius: 16px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
}

.country-cost-table-wrap {
  overflow-x: auto;
}

.country-cost-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 780px;
}

.country-cost-table thead {
  background: rgba(15, 52, 74, 0.04);
}

.country-cost-table th {
  padding: 16px 20px;
  color: #000080;
  font-size: 0.84rem;
  line-height: 1.7;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.country-cost-table td {
  padding: 18px 20px;
  color: #555;
  font-size: 0.84rem;
  line-height: 1.9;
  font-weight: 600;
  border-top: 1px solid rgba(15, 52, 74, 0.06);
  vertical-align: middle;
}

.country-cost-table td:nth-child(2) {
  width: 190px;
  white-space: nowrap;
}

.country-cost-table td:nth-child(3) {
  color: #5f6673;
}

.country-cost-table td strong {
  color: #000080;
  font-size: 0.88rem;
  font-weight: 900;
}

.country-cost-table-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #1f2933;
  font-weight: 900;
  white-space: nowrap;
}

.country-cost-table-item i {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 12px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
}

.country-cost-table-row--soft {
  background: rgba(229, 114, 0, 0.035);
}

/* Note */

.country-cost-note {
  margin: 28px auto 0;
  padding: 20px 22px;
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 10% 25%,
      var(--country-soft-accent),
      transparent 28%
    ),
    #ffffff;
  border: 1px solid rgba(229, 114, 0, 0.18);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.country-cost-note__icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 14px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.country-cost-note p {
  margin: 0;
  color: #333;
  font-size: 0.86rem;
  line-height: 2;
  font-weight: 700;
}
/* =========================================
   Netherlands Financial Proof Section
========================================= */

.country-finance-section {
  padding: 50px 0;
  background: #f5f5f5;
}

.country-finance-box {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
  padding: 64px 56px;
  border-radius: 30px;
  background: url("../images/bg-landscape.webp") no-repeat center center/cover;
  overflow: hidden;
  position: relative;
}

.country-finance-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(229, 114, 0, 0.18),
      transparent 30%
    ),
    rgba(0, 0, 80, 0.12);
  pointer-events: none;
}

.country-finance-box > * {
  position: relative;
  z-index: 2;
}

/* Heading */

.country-finance-head {
  max-width: 860px;
  margin: 0 auto 40px;
  text-align: center;
}

.country-finance-head .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.country-finance-head h2 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(1.45rem, 2.5vw, 2.05rem);
  line-height: 1.7;
  font-weight: 900;
}

.country-finance-head h2::after {
  content: "";
  display: block;
  width: 82px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffffff, var(--country-primary-accent));
}

.country-finance-head p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.95rem;
  line-height: 2.05;
}

/* Method Cards */

.country-finance-methods {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 22px;
}

.country-finance-method-card {
  padding: 24px 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(8px);
}

.country-finance-method-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  margin-bottom: 16px;
}

.country-finance-method-card h3 {
  margin: 0 0 10px;
  color: #000080;
  font-size: 0.98rem;
  line-height: 1.75;
  font-weight: 900;
}

.country-finance-method-card p {
  margin: 0;
  color: #555;
  font-size: 0.82rem;
  line-height: 1.95;
  font-weight: 600;
}

/* Companion */

.country-finance-companion-box {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 22px 24px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(8px);
  margin-bottom: 22px;
}

.country-finance-companion-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 15px;
  background: rgba(23, 74, 106, 0.08);
  color: var(--country-secondary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.country-finance-companion-box h3 {
  margin: 0 0 8px;
  color: #000080;
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 900;
}

.country-finance-companion-box p {
  margin: 0;
  color: #555;
  font-size: 0.84rem;
  line-height: 1.95;
  font-weight: 600;
}

/* Calculator */

.country-finance-calculator {
  padding: 28px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(255, 255, 255, 0.32);
  box-shadow: 0 22px 52px rgba(15, 23, 42, 0.14);
  backdrop-filter: blur(8px);
}

.country-finance-calculator__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.country-finance-calculator__head span {
  display: block;
  margin-bottom: 5px;
  color: var(--country-secondary-accent);
  font-size: 0.82rem;
  font-weight: 900;
}

.country-finance-calculator__head h3 {
  margin: 0;
  color: #000080;
  font-size: 1.15rem;
  line-height: 1.75;
  font-weight: 900;
}

.country-finance-calculator__icon {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  border-radius: 16px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Form */

.country-finance-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  gap: 14px;
  align-items: end;
}

.country-finance-field label {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-size: 0.82rem;
  font-weight: 900;
}

.country-finance-field select {
  width: 100%;
  height: 52px;
  border: 1px solid rgba(15, 52, 74, 0.12);
  border-radius: 14px;
  background: #ffffff;
  color: #263044;
  padding: 0 14px;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  outline: none;
}

.country-finance-field select:focus {
  border-color: var(--country-primary-accent);
  box-shadow: 0 0 0 3px rgba(229, 114, 0, 0.12);
}

.country-finance-calc-btn {
  height: 52px;
  border: 0;
  border-radius: 14px;
  background: #000080;
  color: #ffffff;
  padding: 0 22px;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
  transition:
    transform 0.25s ease,
    background 0.25s ease,
    box-shadow 0.25s ease;
}

.country-finance-calc-btn:hover {
  transform: translateY(-2px);
  background: var(--country-primary-accent);
  box-shadow: 0 14px 30px rgba(229, 114, 0, 0.22);
}

/* Result */

.country-finance-result {
  display: none;
  margin-top: 18px;
  padding: 20px;
  border-radius: 18px;
  background:
    radial-gradient(
      circle at 12% 20%,
      var(--country-soft-accent),
      transparent 30%
    ),
    rgba(15, 52, 74, 0.035);
  border: 1px solid rgba(229, 114, 0, 0.18);
}

.country-finance-result.is-visible {
  display: block;
}

.country-finance-result__amount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.country-finance-result__amount span {
  color: #555;
  font-size: 0.84rem;
  font-weight: 900;
}

.country-finance-result__amount strong {
  color: #000080;
  font-size: 1.35rem;
  line-height: 1.6;
  font-weight: 900;
}

.country-finance-result p {
  margin: 0;
  color: #444;
  font-size: 0.84rem;
  line-height: 1.95;
  font-weight: 700;
}

.country-finance-calculator__hint {
  margin: 16px 0 0;
  color: #666;
  font-size: 0.78rem;
  line-height: 1.9;
  font-weight: 600;
}

/* Note */

.country-finance-note {
  margin-top: 22px;
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.country-finance-note i {
  color: #ffffff;
  margin-top: 6px;
}

.country-finance-note p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.95;
  font-weight: 700;
}

/* =========================================
   Country Universities Section
========================================= */

.country-universities-section {
  padding: 76px 0;
  background: #f5f5f5;
}

.country-universities-container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

/* Heading */

.country-universities-head {
  max-width: 860px;
  margin: 0 auto 42px;
  text-align: center;
}

.country-universities-head .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.country-universities-head h2 {
  margin: 0;
  color: #000080;
  font-size: clamp(1.45rem, 2.5vw, 2.05rem);
  line-height: 1.65;
  font-weight: 900;
}

.country-universities-head .section-divider {
  display: block;
  width: 82px;
  height: 5px;
  border-radius: 999px;
  margin: 14px auto 18px;
  background: linear-gradient(90deg, #000080, var(--country-primary-accent));
}

.country-universities-head p {
  margin: 0;
  color: #555;
  font-size: 0.95rem;
  line-height: 2.05;
}

/* Grid */

.country-universities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

/* Card */

.country-university-card {
  position: relative;
  min-height: 270px;
  padding: 24px 22px;
  border-radius: 24px;
  background:
    radial-gradient(
      circle at 12% 12%,
      var(--country-soft-accent),
      transparent 30%
    ),
    #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.055);
  overflow: hidden;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.country-university-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 22px;
  left: 22px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(
    90deg,
    #000080,
    var(--country-secondary-accent),
    var(--country-primary-accent)
  );
}

.country-university-card:hover {
  transform: translateY(-5px);
  border-color: rgba(229, 114, 0, 0.24);
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.09);
}

.country-university-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 20px;
}

.country-university-rank {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.98rem;
  font-weight: 900;
}

.country-university-tag {
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.055);
  color: var(--country-secondary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.74rem;
  font-weight: 900;
  white-space: nowrap;
}

.country-university-card h3 {
  margin: 0 0 12px;
  color: #000080;
  font-size: 1.05rem;
  line-height: 1.65;
  font-weight: 900;
  direction: ltr;
  text-align: right;
}

.country-university-location {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 14px;
  color: #666;
  font-size: 0.82rem;
  font-weight: 800;
}

.country-university-location i {
  color: var(--country-primary-accent);
  font-size: 0.82rem;
}

.country-university-card p {
  margin: 0;
  color: #555;
  font-size: 0.84rem;
  line-height: 1.95;
  font-weight: 600;
}

/* Note */

.country-universities-note {
  max-width: 980px;
  margin: 28px auto 0;
  padding: 20px 22px;
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 10% 25%,
      var(--country-soft-accent),
      transparent 28%
    ),
    #ffffff;
  border: 1px solid rgba(229, 114, 0, 0.18);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.country-universities-note__icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 14px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.country-universities-note p {
  margin: 0;
  color: #333;
  font-size: 0.86rem;
  line-height: 2;
  font-weight: 700;
}
/* =========================================
   Country Scholarships Section
========================================= */

.country-scholarships-section {
  padding: 76px 0;
  background: #f5f5f5;
}

.country-scholarships-container {
  max-width: 1050px;
  width: 88%;
  margin: 0 auto;
}

/* Heading */

.country-scholarships-head {
  max-width: 860px;
  margin: 0 auto 42px;
  text-align: center;
}

.country-scholarships-head .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.country-scholarships-head h2 {
  margin: 0;
  color: #000080;
  font-size: clamp(1.45rem, 2.5vw, 2.05rem);
  line-height: 1.65;
  font-weight: 900;
}

.country-scholarships-head .section-divider {
  display: block;
  width: 82px;
  height: 5px;
  border-radius: 999px;
  margin: 14px auto 18px;
  background: linear-gradient(90deg, #000080, var(--country-primary-accent));
}

.country-scholarships-head p {
  margin: 0;
  color: #555;
  font-size: 0.95rem;
  line-height: 2.05;
}

/* Accordion Box */

.country-scholarships-box {
  display: grid;
  gap: 14px;
}

.country-scholarship-item {
  position: relative;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
  overflow: hidden;
}

.country-scholarship-item::before {
  content: "";
  position: absolute;
  top: 0;
  right: 22px;
  left: 22px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(
    90deg,
    #000080,
    var(--country-secondary-accent),
    var(--country-primary-accent)
  );
  opacity: 0;
  transition: opacity 0.25s ease;
}

.country-scholarship-item[open]::before {
  opacity: 1;
}

.country-scholarship-item summary {
  list-style: none;
  cursor: pointer;
  padding: 22px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 16px;
}

.country-scholarship-item summary::-webkit-details-marker {
  display: none;
}

.country-scholarship-title {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #000080;
  font-size: 0.96rem;
  line-height: 1.7;
  font-weight: 900;
}

.country-scholarship-title i {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 13px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
}

.country-scholarship-tag {
  min-height: 30px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.055);
  color: var(--country-secondary-accent);
  font-size: 0.72rem;
  font-weight: 900;
  white-space: nowrap;
}

.country-scholarship-item summary::after {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--country-primary-accent);
  transition: transform 0.25s ease;
}

.country-scholarship-item[open] summary::after {
  transform: rotate(180deg);
}

.country-scholarship-content {
  padding: 0 24px 24px;
}

.country-scholarship-content p {
  margin: 0 0 14px;
  color: #555;
  font-size: 0.86rem;
  line-height: 2;
  font-weight: 600;
}

/* Info Grid */

.country-scholarship-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.country-scholarship-info-card {
  padding: 14px 16px;
  border-radius: 16px;
  background:
    radial-gradient(
      circle at 12% 18%,
      var(--country-soft-accent),
      transparent 32%
    ),
    rgba(15, 52, 74, 0.035);
  border: 1px solid rgba(15, 52, 74, 0.06);
}

.country-scholarship-info-card span {
  display: block;
  margin-bottom: 7px;
  color: var(--country-secondary-accent);
  font-size: 0.76rem;
  line-height: 1.7;
  font-weight: 900;
}

.country-scholarship-info-card strong {
  display: block;
  color: #000080;
  font-size: 0.82rem;
  line-height: 1.85;
  font-weight: 900;
}

/* List */

.country-scholarship-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.country-scholarship-content li {
  position: relative;
  padding-right: 22px;
  color: #444;
  font-size: 0.82rem;
  line-height: 1.9;
  font-weight: 700;
}

.country-scholarship-content li::before {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  right: 0;
  top: 5px;
  color: var(--country-primary-accent);
  font-size: 0.72rem;
}

/* Note */

.country-scholarships-note {
  margin: 28px auto 0;
  padding: 20px 22px;
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 10% 25%,
      var(--country-soft-accent),
      transparent 28%
    ),
    #ffffff;
  border: 1px solid rgba(229, 114, 0, 0.18);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.055);
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.country-scholarships-note__icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 14px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.country-scholarships-note p {
  margin: 0;
  color: #333;
  font-size: 0.86rem;
  line-height: 2;
  font-weight: 700;
}

/* =========================================
   Country Process / Services Section
========================================= */

.country-process-section {
  padding: 76px 0;
  background: #f5f5f5;
}

.country-process-container {
  max-width: 1200px;
  width: 88%;
  margin: 0 auto;
}

/* Heading */

.country-process-head {
  max-width: 860px;
  margin: 0 auto 48px;
  text-align: center;
}

.country-process-head .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.country-process-head h2 {
  margin: 0;
  color: #000080;
  font-size: clamp(1.45rem, 2.5vw, 2.05rem);
  line-height: 1.65;
  font-weight: 900;
}

.country-process-head .section-divider {
  display: block;
  width: 82px;
  height: 5px;
  border-radius: 999px;
  margin: 14px auto 18px;
  background: linear-gradient(90deg, #000080, var(--country-primary-accent));
}

.country-process-head p {
  margin: 0;
  color: #555;
  font-size: 0.95rem;
  line-height: 2.05;
}

/* Grid */

.country-process-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px 26px;
  direction: ltr;
}

/* Desktop snake order */

.process-card-1 {
  grid-column: 4;
  grid-row: 1;
}

.process-card-2 {
  grid-column: 3;
  grid-row: 1;
}

.process-card-3 {
  grid-column: 2;
  grid-row: 1;
}

.process-card-4 {
  grid-column: 1;
  grid-row: 1;
}

.process-card-5 {
  grid-column: 1;
  grid-row: 2;
}

.process-card-6 {
  grid-column: 2;
  grid-row: 2;
}

.process-card-7 {
  grid-column: 3;
  grid-row: 2;
}

.process-card-8 {
  grid-column: 4;
  grid-row: 2;
}

.process-card-9 {
  grid-column: 4;
  grid-row: 3;
}

/* Card */

.country-process-card {
  position: relative;
  min-height: 170px;
  padding: 24px 22px 22px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.06);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.055);
  text-align: right;
  direction: rtl;
  overflow: visible;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.country-process-card:hover {
  transform: translateY(-5px);
  border-color: rgba(229, 114, 0, 0.22);
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.09);
}

.country-process-number {
  position: absolute;
  top: 18px;
  left: 20px;
  color: rgba(0, 0, 128, 0.11);
  font-size: 2.15rem;
  line-height: 1;
  font-weight: 900;
  direction: ltr;
}

.country-process-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 22px;
  border-radius: 15px;
  background: var(--country-soft-accent);
  color: var(--country-primary-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.country-process-card h3 {
  margin: 0 0 9px;
  color: #000080;
  font-size: 0.95rem;
  line-height: 1.75;
  font-weight: 900;
}

.country-process-card p {
  margin: 0;
  color: #5f6673;
  font-size: 0.8rem;
  line-height: 1.95;
  font-weight: 600;
}

/* Dashed connectors */

.country-process-card::after,
.country-process-card::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 1;
}

/* horizontal lines row 1: 01 -> 02 -> 03 -> 04 */
.process-card-1::after,
.process-card-2::after,
.process-card-3::after {
  top: 50%;
  left: -26px;
  width: 26px;
  border-top: 2px dashed rgba(229, 114, 0, 0.35);
}

/* vertical drop 04 -> 05 */
.process-card-4::before {
  left: 50%;
  bottom: -34px;
  height: 34px;
  border-left: 2px dashed rgba(229, 114, 0, 0.35);
}

/* horizontal lines row 2: 05 -> 06 -> 07 -> 08 */
.process-card-5::after,
.process-card-6::after,
.process-card-7::after {
  top: 50%;
  right: -26px;
  width: 26px;
  border-top: 2px dashed rgba(229, 114, 0, 0.35);
}

/* vertical drop 08 -> 09 */
.process-card-8::before {
  left: 50%;
  bottom: -34px;
  height: 34px;
  border-left: 2px dashed rgba(229, 114, 0, 0.35);
}

/* Hide vertical connector when there is no next card */
.process-card-4:last-child::before,
.process-card-8:last-child::before {
  display: none;
}

/* ================================
   Residency Journey Component
   Reusable for Country Study Visa Pages
================================ */

.residency-journey {
  position: relative;
  overflow: hidden;
  background: #f5f5f5;
  padding: 76px 0;
}

.residency-journey::before {
  content: "";
  position: absolute;
  top: 84px;
  left: -78px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  border: 1px dashed rgba(15, 52, 74, 0.12);
  pointer-events: none;
}

.residency-journey .container {
  position: relative;
  z-index: 2;
  width: 92%;
  margin-inline: auto;
}

/* Header */

.residency-heading {
  max-width: 850px;
  margin: 0 auto 44px;
  text-align: center;
}

.residency-heading .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.residency-heading h2 {
  color: var(--primary-color, #071184);
  font-size: clamp(1.55rem, 2.4vw, 2.28rem);
  font-weight: 900;
  line-height: 1.75;
  margin-bottom: 16px;
}

.residency-heading h2::after {
  content: "";
  display: block;
  width: 118px;
  height: 6px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--primary-color, #071184) 0%,
    var(--country-primary-accent) 100%
  );
}

.residency-heading p {
  max-width: 760px;
  margin: 22px auto 0;
  color: #555;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 2.25;
}

/* Main Layout */

.residency-layout {
  display: grid;
  grid-template-columns: minmax(290px, 335px) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  max-width: 1080px;
  margin: 0 auto;
}

.residency-summary {
  position: sticky;
  top: 110px;
  min-width: 0;
}

/* Summary Card */

.passport-card {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 18px 42px rgba(15, 52, 74, 0.07);
}

.passport-card::before {
  content: "";
  position: absolute;
  top: -72px;
  right: -72px;
  width: 165px;
  height: 165px;
  border-radius: 50%;
  background: var(--country-soft-accent);
  pointer-events: none;
}

.passport-card::after {
  content: "";
  position: absolute;
  left: -75px;
  bottom: -92px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  border: 1px dashed rgba(15, 52, 74, 0.1);
  pointer-events: none;
}

.passport-top {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(15, 52, 74, 0.08);
}

.passport-top span,
.passport-top strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}

.passport-top span {
  color: var(--country-primary-accent);
  background: var(--country-soft-accent);
}

.passport-top strong {
  color: var(--country-dark-accent);
  background: #f4f6f8;
}

.passport-icon {
  position: relative;
  z-index: 2;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin-bottom: 16px;
  border-radius: 18px;
  color: var(--country-primary-accent);
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.15);
  font-size: 1.35rem;
}

.passport-card h3 {
  position: relative;
  z-index: 2;
  color: var(--country-dark-accent);
  font-size: 1.12rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 14px;
}

.passport-card ul {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.passport-card li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid rgba(15, 52, 74, 0.07);
}

.passport-card li:last-child {
  border-bottom: 0;
}

.passport-card li span {
  color: #71808a;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.9;
}

.passport-card li strong {
  color: var(--country-dark-accent);
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.9;
  text-align: left;
}

.passport-note {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 16px;
  padding: 13px 14px;
  border-radius: 17px;
  background: #f7f9fb;
  border: 1px solid rgba(15, 52, 74, 0.07);
}

.passport-note i {
  flex: 0 0 auto;
  margin-top: 5px;
  color: var(--country-primary-accent);
  font-size: 0.92rem;
}

.passport-note p {
  color: #60717c;
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 2.05;
  margin: 0;
}

/* Route Timeline */

.residency-route {
  position: relative;
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 660px;
  width: 100%;
  justify-self: start;
}

.route-line {
  position: absolute;
  top: 22px;
  bottom: 22px;
  right: 25px;
  width: 2px;
  background: repeating-linear-gradient(
    to bottom,
    rgba(229, 114, 0, 0.62) 0,
    rgba(229, 114, 0, 0.62) 7px,
    transparent 7px,
    transparent 15px
  );
  z-index: 1;
}

.route-step {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.route-marker {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(229, 114, 0, 0.18);
  box-shadow: 0 10px 26px rgba(15, 52, 74, 0.075);
}

.route-marker span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--country-primary-accent);
  background: var(--country-soft-accent);
  font-size: 0.78rem;
  font-weight: 900;
}

.route-card {
  position: relative;
  width: 100%;
  min-height: 78px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 15px 20px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 13px 32px rgba(15, 52, 74, 0.058);
  box-sizing: border-box;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.route-card::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -7px;
  width: 14px;
  height: 14px;
  background: #ffffff;
  border-right: 1px solid rgba(15, 52, 74, 0.08);
  border-bottom: 1px solid rgba(15, 52, 74, 0.08);
  transform: translateY(-50%) rotate(-45deg);
}

.route-card:hover {
  transform: translateY(-2px);
  border-color: rgba(229, 114, 0, 0.22);
  box-shadow: 0 18px 42px rgba(15, 52, 74, 0.09);
}

.route-station {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-bottom: 5px;
  color: var(--country-primary-accent);
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.7;
}

.route-station i {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 9px;
  color: var(--country-primary-accent);
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.14);
  font-size: 0.72rem;
}

.route-card h3 {
  color: var(--country-dark-accent);
  font-size: 0.98rem;
  font-weight: 900;
  line-height: 1.65;
  margin-bottom: 1px;
}

.route-card p {
  color: #687983;
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.75;
  margin: 0;
}

/* Bottom Warning */

.residency-warning {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  max-width: 1080px;
  margin: 28px auto 0;
  padding: 18px 22px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(229, 114, 0, 0.14);
  box-shadow: 0 13px 32px rgba(15, 52, 74, 0.052);
  box-sizing: border-box;
}

.warning-icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--country-primary-accent);
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.14);
}

.residency-warning h3 {
  color: var(--country-dark-accent);
  font-size: 0.95rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 4px;
}

.residency-warning p {
  color: #60717c;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 2;
  margin: 0;
}

/* ================================
   Study Compare Table Section
================================ */

.study-compare-section {
  position: relative;
  overflow: hidden;
  background: #f5f5f5;
  padding: 76px 0;
}

.study-compare-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -120px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  border: 1px dashed rgba(15, 52, 74, 0.1);
  pointer-events: none;
}

.study-compare-section .container {
  position: relative;
  z-index: 2;
}

.study-compare-heading {
  max-width: 850px;
  margin: 0 auto 42px;
  text-align: center;
}

.study-compare-heading .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.study-compare-heading h2 {
  color: var(--primary-color, #071184);
  font-size: clamp(1.55rem, 2.4vw, 2.28rem);
  font-weight: 900;
  line-height: 1.75;
  margin-bottom: 16px;
}

.study-compare-heading h2::after {
  content: "";
  display: block;
  width: 118px;
  height: 6px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--primary-color, #071184) 0%,
    var(--country-primary-accent) 100%
  );
}

.study-compare-heading p {
  max-width: 760px;
  margin: 22px auto 0;
  color: #5f6f7a;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 2.25;
}

/* Table Card */

.study-compare-table-card {
  max-width: 1160px;
  margin: 0 auto;
  padding: 18px;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 20px 50px rgba(15, 52, 74, 0.075);
}

.study-compare-table-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 4px 4px 14px;
  border-bottom: 1px solid rgba(15, 52, 74, 0.07);
}

.study-compare-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--country-dark-accent);
  font-size: 0.98rem;
  font-weight: 900;
}

.study-compare-title i {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--country-primary-accent);
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.14);
}

.study-compare-table-header p {
  max-width: 430px;
  margin: 0;
  color: #6d7b84;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 2;
  text-align: left;
}

.study-compare-table-wrap {
  width: 100%;
  overflow: visible;
  border-radius: 22px;
  background: #ffffff;
}

.study-compare-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  direction: rtl;
  overflow: hidden;
  border: 1px solid rgba(15, 52, 74, 0.075);
  border-radius: 22px;
}

.study-compare-table th,
.study-compare-table td {
  padding: 14px 10px;
  text-align: center;
  vertical-align: middle;
  color: #53646f;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.9;
  border-bottom: 1px solid rgba(15, 52, 74, 0.065);
  border-left: 1px solid rgba(15, 52, 74, 0.055);
  background: #ffffff;
}

.study-compare-table th:last-child,
.study-compare-table td:last-child {
  border-left: 0;
}

.study-compare-table tbody tr:last-child td {
  border-bottom: 0;
}

.study-compare-table thead th {
  color: var(--country-dark-accent);
  font-size: 0.8rem;
  font-weight: 900;
  background: #f7f9fb;
}

.study-compare-table thead th.compare-main-country {
  background: var(--country-soft-accent);
}

.study-compare-table tbody tr:nth-child(even) td {
  background: #fbfcfd;
}

.study-compare-table tbody tr:hover td {
  background: rgba(229, 114, 0, 0.035);
}

.study-compare-table .compare-col-item {
  width: 150px;
  color: var(--country-dark-accent);
  font-weight: 900;
  text-align: right;
  background: #f7f9fb;
}

.study-compare-table tbody .compare-col-netherlands {
  color: var(--country-dark-accent);
  background: rgba(229, 114, 0, 0.035);
}

.study-compare-table tbody tr:nth-child(even) .compare-col-netherlands {
  background: rgba(229, 114, 0, 0.055);
}

.compare-country-head {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 0;
}

.compare-country-head img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  border-radius: 50%;
  flex: 0 0 auto;
}

.compare-country-head strong {
  color: var(--country-dark-accent);
  font-size: 0.78rem;
  font-weight: 900;
  white-space: nowrap;
}

/* Status */

.compare-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 900;
  line-height: 1.5;
  white-space: nowrap;
}

.compare-good {
  color: #16764a;
  background: rgba(22, 118, 74, 0.09);
}

.compare-mid {
  color: #9a6500;
  background: rgba(229, 145, 0, 0.1);
}

.compare-hard {
  color: #b43838;
  background: rgba(180, 56, 56, 0.09);
}

.compare-limited {
  color: #9a6500;
  background: rgba(229, 145, 0, 0.1);
}

.compare-icon-status {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  font-size: 0.78rem;
}

.compare-icon-status.compare-yes {
  color: #16764a;
  background: rgba(22, 118, 74, 0.09);
}

.compare-icon-status.compare-no {
  color: #b43838;
  background: rgba(180, 56, 56, 0.09);
}

/* Note */

.study-compare-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  max-width: 1160px;
  margin: 24px auto 0;
  padding: 16px 18px;
  border-radius: 20px;
  background: #f7f9fb;
  border: 1px solid rgba(15, 52, 74, 0.07);
}

.study-compare-note i {
  flex: 0 0 auto;
  margin-top: 5px;
  color: var(--country-primary-accent);
  font-size: 1rem;
}

.study-compare-note p {
  margin: 0;
  color: #60717c;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 2.05;
}

/* ================================
   Related Articles Section
================================ */

.related-articles-section {
  position: relative;
  overflow: hidden;
  background: #f5f5f5;
  margin-top: 76px;
  padding-bottom: 40px;
}

.related-articles-section .container {
  position: relative;
  z-index: 2;
  width: min(100% - 48px, 1240px);
  margin-inline: auto;
}

.related-articles-heading {
  max-width: 850px;
  margin: 0 auto 46px;
  text-align: center;
}

.related-articles-heading .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--country-soft-accent);
  border: 1px solid rgba(229, 114, 0, 0.22);
  color: var(--country-dark-accent);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.related-articles-heading h2 {
  color: var(--primary-color, #071184);
  font-size: clamp(1.55rem, 2.4vw, 2.28rem);
  font-weight: 900;
  line-height: 1.75;
  margin-bottom: 16px;
}

.related-articles-heading h2::after {
  content: "";
  display: block;
  width: 118px;
  height: 6px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--primary-color, #071184) 0%,
    var(--country-primary-accent) 100%
  );
}

.related-articles-heading p {
  max-width: 760px;
  margin: 22px auto 0;
  color: #5f6f7a;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 2.25;
}

.related-articles-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
  max-width: 1180px;
  margin: 0 auto;
}

.related-article-card {
  overflow: hidden;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.08);
  box-shadow: 0 18px 42px rgba(15, 52, 74, 0.065);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.related-article-card:hover {
  transform: translateY(-4px);
  border-color: rgba(229, 114, 0, 0.22);
  box-shadow: 0 24px 54px rgba(15, 52, 74, 0.1);
}

.related-article-image {
  display: block;
  height: 188px;
  overflow: hidden;
  background: #e9eef2;
}

.related-article-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.related-article-card:hover .related-article-image img {
  transform: scale(1.04);
}

.related-article-content {
  padding: 20px 20px 22px;
}

.related-article-category {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 13px;
  margin-bottom: 12px;
  border-radius: 999px;
  color: var(--country-primary-accent, #c92a2a);
  background: var(--country-soft-accent, rgba(201, 42, 42, 0.08));
  border: 1px solid var(--country-border-accent, rgba(201, 42, 42, 0.18));
  font-size: 0.74rem;
  font-weight: 900;
  line-height: 1.6;
}

.related-article-content h3 {
  margin-bottom: 10px;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.85;
}

.related-article-content h3 a {
  color: var(--primary-color, #071184);
  text-decoration: none;
  transition: color 0.2s ease;
}

.related-article-content h3 a:hover {
  color: var(--country-primary-accent);
}

.related-article-content p {
  min-height: 68px;
  margin: 0 0 16px;
  color: #5f6f7a;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 2;
}

.related-article-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--primary-color, #071184);
  font-size: 0.84rem;
  font-weight: 900;
  text-decoration: none;
  transition:
    color 0.2s ease,
    gap 0.2s ease;
}

.related-article-link i {
  color: var(--country-primary-accent);
  font-size: 0.78rem;
}

.related-article-link:hover {
  gap: 11px;
  color: var(--country-primary-accent);
}

/* ==================================================
   08. BLOG ARCHIVE PAGE
================================================== */
/* ================================
   Blog Page
================================ */

.blog-page-main {
  background: #f5f6f8;
}

/* Hero */

.blog-page-hero {
  background: #f5f6f8;
  padding: 72px 0 48px;
  text-align: center;
}

.blog-page-hero-inner {
  width: min(100% - 48px, 760px);
  margin-inline: auto;
}

.blog-page-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 18px;
  margin-bottom: 22px;
  border-radius: 999px;
  color: var(--primary-color, #000080);
  background: rgba(0, 0, 128, 0.07);
  border: 1px solid rgba(0, 0, 128, 0.12);
  font-size: 0.86rem;
  font-weight: 900;
}

.blog-page-hero h1 {
  color: var(--primary-color, #000080);
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  font-weight: 900;
  line-height: 1.7;
  margin-bottom: 16px;
}

.blog-page-hero p {
  color: #555f68;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  margin: 0;
}

/* Filter */

.blog-filter-bar {
  position: sticky;
  top: 80px;
  z-index: 20;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(14px);
  border-block: 1px solid rgba(0, 0, 128, 0.08);
  padding: 16px 0;
}

.blog-filter-inner {
  width: min(100% - 48px, 1180px);
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.blog-filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 17px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 128, 0.18);
  background: #ffffff;
  color: #53616b;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.82rem;
  font-weight: 850;
  cursor: pointer;
  transition: 0.25s ease;
}

.blog-filter-btn:hover,
.blog-filter-btn.active {
  color: #ffffff;
  background: var(--primary-color, #000080);
  border-color: var(--primary-color, #000080);
}

/* Main */

.blog-main-section {
  background: #f5f6f8;
  padding: 64px 0 84px;
}

.blog-main-container {
  width: min(100% - 48px, 1180px);
  margin-inline: auto;
}

/* Featured */

.blog-featured {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 0;
  align-items: stretch;
  margin-bottom: 54px;
  overflow: hidden;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.09);
  box-shadow: 0 18px 44px rgba(15, 52, 74, 0.075);
}

.blog-featured-image {
  display: block;
  min-height: 360px;
  overflow: hidden;
}

.blog-featured-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.blog-featured:hover .blog-featured-image img {
  transform: scale(1.04);
}

.blog-featured-content {
  padding: 46px 42px 42px;
  text-align: right;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.blog-category-tag {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 28px;
  padding: 5px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  color: var(--primary-color, #000080);
  background: rgba(0, 0, 128, 0.08);
  font-size: 0.76rem;
  font-weight: 900;
}

.blog-featured-content h2 {
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.75;
  margin-bottom: 14px;
}

.blog-featured-content h2 a {
  color: #101828;
  text-decoration: none;
}

.blog-featured-content p {
  color: #5b6670;
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 2.15;
  margin-bottom: 22px;
}

.blog-featured-meta {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  color: #8a949d;
  font-size: 0.82rem;
  font-weight: 700;
}

.blog-featured-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.blog-read-btn {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 12px;
  color: #ffffff;
  background: var(--primary-color, #000080);
  font-size: 0.88rem;
  font-weight: 900;
  text-decoration: none;
  transition: 0.25s ease;
}

.blog-read-btn:hover {
  background: #000060;
  transform: translateX(-3px);
}

/* Layout */

.blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 36px;
  align-items: start;
}

.blog-grid-title {
  position: relative;
  color: var(--primary-color, #000080);
  font-size: 1.25rem;
  font-weight: 900;
  margin-bottom: 28px;
  padding-right: 14px;
  text-align: right;
}

.blog-grid-title::before {
  content: "";
  position: absolute;
  right: 0;
  top: 6px;
  width: 4px;
  height: 26px;
  border-radius: 999px;
  background: var(--primary-color, #000080);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  margin-bottom: 52px;
}

/* Cards */

.blog-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  box-shadow: 0 12px 30px rgba(15, 52, 74, 0.06);
  transition: 0.25s ease;
}

.blog-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 42px rgba(15, 52, 74, 0.11);
}

.blog-card-image {
  position: relative;
  display: block;
  height: 200px;
  overflow: hidden;
  background: #e9eef2;
}

.blog-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.blog-card:hover .blog-card-image img {
  transform: scale(1.06);
}

.blog-card-cat {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 11px;
  border-radius: 999px;
  color: #ffffff;
  background: var(--primary-color, #000080);
  font-size: 0.72rem;
  font-weight: 900;
}

.blog-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 22px 20px;
  text-align: right;
}

.blog-card-body h3 {
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.75;
  margin-bottom: 10px;
}

.blog-card-body h3 a {
  color: #111827;
  text-decoration: none;
  transition: color 0.2s ease;
}

.blog-card-body h3 a:hover {
  color: var(--primary-color, #000080);
}

.blog-card-body p {
  flex: 1;
  color: #626f7a;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 18px;
}

.blog-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  margin-top: auto;
  border-top: 1px solid #eef0f3;
  color: #8a949d;
  font-size: 0.76rem;
  font-weight: 700;
}

.blog-card-footer span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.blog-card-footer .read-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--primary-color, #000080);
  font-weight: 900;
  text-decoration: none;
  transition: gap 0.2s ease;
}

.blog-card:hover .read-more {
  gap: 9px;
}

/* Pagination */

.blog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}

.pagination-btn {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 128, 0.16);
  background: #ffffff;
  color: #53616b;
  font-size: 0.9rem;
  font-weight: 900;
  text-decoration: none;
  transition: 0.2s ease;
}

.pagination-btn:hover,
.pagination-btn.active {
  color: #ffffff;
  background: var(--primary-color, #000080);
  border-color: var(--primary-color, #000080);
}

.pagination-dots {
  color: #9aa3aa;
  font-size: 0.9rem;
}

/* Sidebar */

.blog-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.sidebar-card {
  padding: 24px 20px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  box-shadow: 0 10px 26px rgba(15, 52, 74, 0.055);
}

.sidebar-card h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--primary-color, #000080);
  font-size: 0.98rem;
  font-weight: 900;
  margin-bottom: 16px;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(0, 0, 128, 0.08);
}

.sidebar-card h3 i {
  color: var(--primary-color, #000080);
}

.sidebar-topics,
.sidebar-popular {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-topics {
  display: grid;
  gap: 9px;
}

.sidebar-topics a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 10px;
  border-radius: 12px;
  color: #4d5963;
  font-size: 0.84rem;
  font-weight: 750;
  text-decoration: none;
  transition: 0.2s ease;
}

.sidebar-topics a:hover {
  color: var(--primary-color, #000080);
  background: rgba(0, 0, 128, 0.055);
}

.topic-count {
  flex: 0 0 auto;
  min-width: 28px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: var(--primary-color, #000080);
  background: rgba(0, 0, 128, 0.08);
  font-size: 0.74rem;
  font-weight: 900;
}

.sidebar-popular li {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: start;
  padding: 11px 0;
  border-bottom: 1px solid #eef0f3;
}

.sidebar-popular li:last-child {
  border-bottom: 0;
}

.pop-num {
  color: rgba(0, 0, 128, 0.16);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.2;
  direction: ltr;
}

.pop-title {
  color: #3d4751;
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.85;
  text-decoration: none;
  transition: color 0.2s ease;
}

.sidebar-popular li:hover .pop-title {
  color: var(--primary-color, #000080);
}

.sidebar-newsletter {
  padding: 24px 20px;
  border-radius: 20px;
  color: #ffffff;
  background:
    radial-gradient(
      circle at top left,
      rgba(255, 255, 255, 0.16),
      transparent 34%
    ),
    linear-gradient(135deg, #000080, #0000b8);
  text-align: center;
  box-shadow: 0 14px 32px rgba(0, 0, 128, 0.18);
}

.sidebar-newsletter h3 {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 900;
  margin-bottom: 10px;
}

.sidebar-newsletter p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.82rem;
  line-height: 1.9;
  margin-bottom: 16px;
}

.newsletter-input-wrap {
  display: grid;
  gap: 10px;
}

.newsletter-input-wrap input {
  width: 100%;
  height: 42px;
  padding: 0 14px;
  border: 0;
  border-radius: 11px;
  outline: none;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.84rem;
  text-align: right;
}

.newsletter-input-wrap button {
  height: 42px;
  border: 0;
  border-radius: 11px;
  color: var(--primary-color, #000080);
  background: #ffffff;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.84rem;
  font-weight: 900;
  cursor: pointer;
  transition: 0.2s ease;
}

.newsletter-input-wrap button:hover {
  background: rgba(255, 255, 255, 0.88);
}

/* Consultation CTA */

.blog-consultation-section {
  background: #f5f6f8;
  padding: 0 0 84px;
}

.blog-consultation-container {
  width: min(100% - 48px, 1120px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 42px;
  align-items: center;
  padding: 42px;
  border-radius: 24px;
  color: #ffffff;
  background:
    radial-gradient(
      circle at bottom left,
      rgba(255, 255, 255, 0.1),
      transparent 34%
    ),
    linear-gradient(135deg, #000080, #000047);
  overflow: hidden;
}

.blog-consultation-text {
  text-align: right;
}

.blog-consultation-text h2 {
  color: #ffffff;
  font-size: 1.55rem;
  font-weight: 900;
  line-height: 1.7;
  margin-bottom: 12px;
}

.blog-consultation-text p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.9rem;
  line-height: 2;
  margin: 0;
}

.blog-consultation-form {
  display: grid;
  gap: 12px;
  padding: 22px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
}

.blog-consultation-form .form-group {
  position: relative;
}

.blog-consultation-form .form-group i {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(0, 0, 128, 0.55);
}

.blog-consultation-form input {
  width: 100%;
  height: 46px;
  padding: 0 42px 0 14px;
  border: 0;
  border-radius: 11px;
  outline: none;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.86rem;
  text-align: right;
}

.blog-consultation-form .submit-btn {
  width: fit-content;
  min-width: 170px;
  height: 46px;
  justify-self: start;
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 11px;
  color: #ffffff;
  background: transparent;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.86rem;
  font-weight: 900;
  cursor: pointer;
  transition: 0.2s ease;
}

.blog-consultation-form .submit-btn:hover {
  background: #ffffff;
  color: var(--primary-color, #000080);
}

/* Filter State */

.blog-card.is-hidden,
.blog-featured.is-hidden {
  display: none;
}

/* ==================================================
   09. SINGLE BLOG POST TEMPLATE
================================================== */
/* ================================
   Single Blog Post Page
================================ */

.single-post-page {
  --post-primary: var(--primary-color, #000080);
  --post-primary-soft: rgba(0, 0, 128, 0.08);
  --post-primary-border: rgba(0, 0, 128, 0.14);
  --post-accent: #d49a00;
  --post-radius: 18px;
  --post-shadow: 0 10px 30px rgba(15, 52, 74, 0.07);

  position: relative;
  isolation: isolate;
  background: #f5f6f8;
  padding-bottom: 80px;
}

/* Breadcrumb */

.single-post-page .breadcrumb-bar {
  position: relative;
  z-index: 2;
  background: #ffffff;
  border-bottom: 1px solid var(--post-primary-border);
  padding: 12px 0;
  font-size: 0.84rem;
  color: #8a949d;
}

.single-post-page .breadcrumb-inner {
  width: min(100% - 48px, 1200px);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.single-post-page .breadcrumb-inner a {
  color: #8a949d;
  text-decoration: none;
  transition: color 0.2s ease;
}

.single-post-page .breadcrumb-inner a:hover {
  color: var(--post-primary);
}

.single-post-page .breadcrumb-inner i {
  color: #b8c0c8;
  font-size: 0.7rem;
}

.single-post-page .breadcrumb-inner span {
  color: var(--post-primary);
  font-weight: 850;
}

/* Main Layout */

.single-post-page .post-layout {
  position: relative;
  z-index: 1;
  width: min(100% - 48px, 1200px);
  margin: 42px auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 40px;
  align-items: start;
}

.single-post-page .post-main-column {
  position: relative;
  min-width: 0;
}

/* Post Header */

.single-post-page .post-header {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  z-index: auto !important;
  transform: none !important;

  background: #ffffff;
  border: 1px solid var(--post-primary-border);
  border-radius: var(--post-radius);
  box-shadow: var(--post-shadow);
  padding: 36px 36px 28px;
  margin-bottom: 24px;
}

.single-post-page .post-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.single-post-page .post-cat-tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 14px;
  border-radius: 999px;
  background: var(--post-primary-soft);
  color: var(--post-primary);
  font-size: 0.78rem;
  font-weight: 900;
}

.single-post-page .post-header h1 {
  color: #111827;
  font-size: clamp(1.45rem, 2.4vw, 2.05rem);
  font-weight: 900;
  line-height: 1.75;
  margin-bottom: 20px;
}

.single-post-page .post-meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 18px;
  padding-top: 18px;
  border-top: 1px solid #eef0f3;
  color: #8a949d;
  font-size: 0.82rem;
  font-weight: 700;
}

.single-post-page .post-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
}
.single-post-page .post-meta-author {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex-shrink: 0;
}

.single-post-page .author-avatar {
  width: 34px;
  height: 34px;
  min-width: 34px;
  flex: 0 0 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: var(--post-primary);
  color: #ffffff;
  font-size: 0.9rem;
  line-height: 1;
}

.single-post-page .author-avatar i {
  display: block;
  line-height: 1;
}

.single-post-page .author-name-inline {
  display: inline-block;
  line-height: 1.8;
  white-space: nowrap;
}

/* Featured Image */

.single-post-page .post-featured-image {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-top: 0;
  margin-bottom: 24px;
  border-radius: var(--post-radius);
  box-shadow: var(--post-shadow);
}

.single-post-page .post-featured-image img {
  width: 100%;
  height: 420px;
  display: block;
  object-fit: cover;
}

.single-post-page .post-featured-image figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 44px 18px 14px;
  color: #ffffff;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.58), transparent);
  font-size: 0.8rem;
  line-height: 1.8;
  text-align: right;
}

/* Post Body */

.single-post-page .post-body {
  position: relative;
  z-index: 1;
  background: #ffffff;
  border: 1px solid var(--post-primary-border);
  border-radius: var(--post-radius);
  box-shadow: var(--post-shadow);
  padding: 36px;
  margin-top: 0;
  margin-bottom: 24px;
}

.single-post-page .post-body h2 {
  color: var(--post-primary);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.7;
  margin: 38px 0 15px;
  padding-right: 14px;
  border-right: 4px solid var(--post-primary);
  scroll-margin-top: 120px;
}

.single-post-page .post-body h2:first-child {
  margin-top: 0;
}

.single-post-page .post-body h3 {
  color: #1f2933;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.7;
  margin: 26px 0 10px;
  scroll-margin-top: 120px;
}

.single-post-page .post-body h4 {
  color: #111827;
  font-weight: 900;
}

.single-post-page .post-body p {
  color: #424f5a;
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 2.15;
  margin-bottom: 18px;
  text-align: justify;
}

.post-body p a,
.post-body li a,
.post-body blockquote a {
  color: #174a6a;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid rgba(229, 114, 0, 0.35);
  padding-bottom: 2px;
  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    background-color 0.25s ease;
}

.post-body p a:hover,
.post-body li a:hover,
.post-body blockquote a:hover {
  color: #e57200;
  border-bottom-color: #e57200;
  background-color: rgba(229, 114, 0, 0.08);
}

/* Author Card */

.single-post-page .author-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 28px 26px;
  margin-bottom: 24px;
  background: #ffffff;
  border: 1px solid var(--post-primary-border);
  border-radius: var(--post-radius);
  box-shadow: var(--post-shadow);
}

.single-post-page .author-avatar-lg {
  width: 72px;
  height: 72px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: var(--post-primary);
  color: #ffffff;
  font-size: 1.8rem;
}

.single-post-page .author-avatar-lg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-post-page .author-info {
  flex: 1;
}

.single-post-page .author-role {
  margin-bottom: 4px;
  color: var(--post-accent);
  font-size: 0.78rem;
  font-weight: 900;
}

.single-post-page .author-name {
  margin-bottom: 8px;
  color: #111827;
  font-size: 1.04rem;
  font-weight: 900;
}

.single-post-page .author-bio {
  margin-bottom: 12px;
  color: #64717c;
  font-size: 0.86rem;
  line-height: 1.9;
}

.single-post-page .author-socials {
  display: flex;
  gap: 10px;
}

.single-post-page .author-socials a {
  color: #8a949d;
  font-size: 1.05rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.single-post-page .author-socials a:hover {
  color: var(--post-primary);
}

/* Related Posts */

.single-post-page .related-posts {
  padding: 28px 26px;
  margin-bottom: 24px;
  background: #ffffff;
  border: 1px solid var(--post-primary-border);
  border-radius: var(--post-radius);
  box-shadow: var(--post-shadow);
}

.single-post-page .related-posts h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--post-primary);
  font-size: 1.08rem;
  font-weight: 900;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--post-primary-border);
}

.single-post-page .related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.single-post-page .related-card {
  overflow: hidden;
  display: block;
  border: 1px solid var(--post-primary-border);
  border-radius: 12px;
  color: inherit;
  text-decoration: none;
  transition: 0.2s ease;
}

.single-post-page .related-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(15, 52, 74, 0.09);
}

.single-post-page .related-card-img {
  height: 130px;
  overflow: hidden;
}

.single-post-page .related-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-post-page .related-card-body {
  padding: 14px;
  background: #ffffff;
}

.single-post-page .related-card-cat {
  margin-bottom: 5px;
  color: var(--post-primary);
  font-size: 0.72rem;
  font-weight: 900;
}

.single-post-page .related-card-body h4 {
  color: #1f2933;
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.7;
}

/* Sidebar */

.single-post-page .sidebar {
  position: sticky;
  top: 118px;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.single-post-page .sb-card,
.single-post-page .sb-consult-form {
  border-radius: var(--post-radius);
  box-shadow: var(--post-shadow);
}

.single-post-page .sb-card {
  padding: 22px 20px;
  background: #ffffff;
  border: 1px solid var(--post-primary-border);
}

.single-post-page .sb-card h3,
.single-post-page .sb-consult-form h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  font-size: 0.96rem;
  font-weight: 900;
}

.single-post-page .sb-card h3 {
  color: var(--post-primary);
  border-bottom: 2px solid var(--post-primary-border);
}

.single-post-page .sb-card h3 i {
  color: var(--post-primary);
}

.single-post-page .sb-consult-form {
  padding: 24px 20px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--post-primary), #0000b8);
}

.single-post-page .sb-consult-form h3 {
  color: #ffffff;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

.single-post-page .sb-consult-form p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.84rem;
  line-height: 1.8;
  margin-bottom: 16px;
}

.single-post-page .sb-form-group {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.12);
}

.single-post-page .sb-form-group i {
  color: rgba(255, 255, 255, 0.65);
}

.single-post-page .sb-form-group input {
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  color: #ffffff;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.86rem;
}

.single-post-page .sb-form-group input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.single-post-page .sb-submit-btn {
  width: 100%;
  margin-top: 6px;
}

.single-post-page .toc-list {
  list-style: none;
  display: grid;
  gap: 6px;
  padding: 0;
  margin: 0;
}

.single-post-page .toc-list a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 8px;
  color: #53616b;
  font-size: 0.86rem;
  text-decoration: none;
  transition: 0.2s ease;
}

.single-post-page .toc-list a::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--post-primary-border);
}

.single-post-page .toc-list a:hover {
  color: var(--post-primary);
  background: var(--post-primary-soft);
}

.single-post-page .toc-list a:hover::before {
  background: var(--post-primary);
}

.single-post-page .sb-pop-list {
  display: grid;
  gap: 14px;
}

.single-post-page .sb-pop-item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  color: inherit;
  text-decoration: none;
}

.single-post-page .sb-pop-num {
  color: var(--post-primary-border);
  font-size: 1.18rem;
  font-weight: 900;
  direction: ltr;
  line-height: 1.2;
}

.single-post-page .sb-pop-title {
  color: #3d4751;
  font-size: 0.84rem;
  line-height: 1.75;
}

.single-post-page .sb-pop-item:hover .sb-pop-title {
  color: var(--post-primary);
}

/* Article documents checklist */
.single-post-page .vp-docs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin: 30px 0 34px;
}
.single-post-page .vp-docs-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--post-primary-border);
  border-radius: 18px;
  padding: 24px 22px;
  box-shadow: var(--post-shadow);
}
.single-post-page .vp-docs-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--post-primary), var(--post-accent));
}
.single-post-page .vp-docs-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.single-post-page .vp-docs-icon {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 14px;
  background: var(--post-primary-soft);
  color: var(--post-primary);
  font-size: 1.05rem;
}
.single-post-page .vp-docs-head h3 {
  margin: 0 !important;
  color: var(--post-primary);
  font-size: 1.05rem;
  line-height: 1.7;
}
.single-post-page .vp-docs-list {
  display: grid;
  gap: 10px;
}
.single-post-page .vp-docs-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f8f9fb;
  border: 1px solid rgba(0, 0, 128, 0.06);
}
.single-post-page .vp-docs-item i {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin-top: 3px;
  border-radius: 999px;
  background: rgba(212, 154, 0, 0.13);
  color: var(--post-accent);
  font-size: 0.72rem;
}
.single-post-page .vp-docs-item span {
  color: #344054;
  font-size: 0.9rem;
  line-height: 1.9;
  font-weight: 700;
}
/* Article fit checklist */
.single-post-page .vp-fit-checklist {
  margin: 28px 0 34px;
  padding: 26px 24px;
  border-radius: 20px;
  background: linear-gradient(
    135deg,
    rgba(0, 0, 128, 0.045),
    rgba(255, 255, 255, 0.96)
  );
  border: 1px solid var(--post-primary-border);
  box-shadow: var(--post-shadow);
}
.single-post-page .vp-fit-checklist-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.single-post-page .vp-fit-checklist-icon {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 14px;
  background: var(--post-primary-soft);
  color: var(--post-primary);
  font-size: 1.05rem;
}
.single-post-page .vp-fit-checklist-head h3 {
  margin: 0 !important;
  color: var(--post-primary);
  font-size: 1.05rem;
  line-height: 1.7;
}
.single-post-page .vp-fit-checklist-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.single-post-page .vp-fit-checklist-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(0, 0, 128, 0.06);
}
.single-post-page .vp-fit-checklist-item i {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin-top: 3px;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.12);
  color: #16803a;
  font-size: 0.72rem;
}
.single-post-page .vp-fit-checklist-item span {
  color: #344054;
  font-size: 0.9rem;
  line-height: 1.9;
  font-weight: 700;
}
/* Article image with caption */
.single-post-page .vp-article-figure {
  margin: 34px 0;
  border: 1px solid rgba(0, 0, 128, 0.14);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
}
.single-post-page .vp-article-figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: contain;
  background: #fff;
}
.single-post-page .vp-article-figure figcaption {
  margin: 0;
  padding: 14px 18px;
  background: #f7f7fb;
  border-top: 1px solid rgba(0, 0, 128, 0.1);
  color: #6b7280;
  font-size: 0.88rem;
  line-height: 1.9;
  text-align: center;
  font-weight: 600;
}
.single-post-page .vp-article-figure--wide img {
  max-height: 520px;
}
.single-post-page .vp-article-figure--infographic img {
  padding: 18px;
}

/* ==================================================
   10. 404 PAGE
================================================== */
/* ================================
   404 Page
================================ */

.not-found-page {
  --nf-primary: var(--primary-color, #000080);
  --nf-primary-soft: rgba(0, 0, 128, 0.07);
  --nf-primary-border: rgba(0, 0, 128, 0.14);
  --nf-accent: #e57200;
  --nf-accent-soft: rgba(229, 114, 0, 0.08);
  --nf-dark: #101828;
  --nf-text: #5f6f7a;
  --nf-radius: 24px;
  --nf-shadow: 0 18px 48px rgba(15, 52, 74, 0.075);

  background: #f5f6f8;
  min-height: calc(100vh - 90px);
}

.not-found-hero {
  position: relative;
  overflow: hidden;
  padding: 76px 0 86px;
}

.not-found-hero::before {
  content: "";
  position: absolute;
  top: 120px;
  right: -120px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  border: 1px dashed rgba(0, 0, 128, 0.12);
  pointer-events: none;
}

.not-found-hero::after {
  content: "";
  position: absolute;
  bottom: 80px;
  left: -110px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: rgba(229, 114, 0, 0.055);
  pointer-events: none;
}

.not-found-container {
  position: relative;
  z-index: 2;
  width: min(100% - 48px, 1120px);
  margin-inline: auto;
}

/* Main Card */

.not-found-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 42px;
  align-items: center;
  padding: 54px;
  border-radius: 30px;
  background:
    radial-gradient(
      circle at top left,
      rgba(229, 114, 0, 0.08),
      transparent 34%
    ),
    #ffffff;
  border: 1px solid var(--nf-primary-border);
  box-shadow: var(--nf-shadow);
}

.not-found-card::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 80px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: var(--nf-primary-soft);
  pointer-events: none;
}

/* Visual */

.not-found-visual {
  position: relative;
  min-height: 260px;
  display: grid;
  place-items: center;
}

.not-found-code {
  position: relative;
  z-index: 1;
  color: rgba(0, 0, 128, 0.08);
  font-size: clamp(5.5rem, 12vw, 10rem);
  font-weight: 1000;
  letter-spacing: -4px;
  direction: ltr;
  line-height: 1;
}

.not-found-compass {
  position: absolute;
  z-index: 2;
  width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  border-radius: 28px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--nf-primary), #0000b8);
  box-shadow: 0 20px 44px rgba(0, 0, 128, 0.22);
  font-size: 2.35rem;
  transform: rotate(-8deg);
}

.not-found-compass i {
  transform: rotate(8deg);
}

/* Content */

.not-found-content {
  position: relative;
  z-index: 2;
  text-align: right;
}

.not-found-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 18px;
  margin-bottom: 20px;
  border-radius: 999px;
  color: var(--nf-primary);
  background: var(--nf-primary-soft);
  border: 1px solid var(--nf-primary-border);
  font-size: 0.82rem;
  font-weight: 900;
}

.not-found-content h1 {
  color: var(--nf-dark);
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  font-weight: 1000;
  line-height: 1.75;
  margin-bottom: 16px;
}

.not-found-content p {
  max-width: 620px;
  color: var(--nf-text);
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 2.25;
  margin-bottom: 28px;
}

.not-found-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.not-found-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 11px 22px;
  border-radius: 13px;
  font-size: 0.88rem;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease;
}

.not-found-btn.primary {
  color: #ffffff;
  background: var(--nf-primary);
  border: 2px solid var(--nf-primary);
}

.not-found-btn.secondary {
  color: var(--nf-primary);
  background: #ffffff;
  border: 2px solid var(--nf-primary-border);
}

.not-found-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 0, 128, 0.12);
}

.not-found-btn.secondary:hover {
  color: #ffffff;
  background: var(--nf-primary);
  border-color: var(--nf-primary);
}

/* Suggestions */

.not-found-suggestions {
  margin-top: 42px;
}

.not-found-heading {
  max-width: 760px;
  margin: 0 auto 26px;
  text-align: center;
}

.not-found-heading span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  margin-bottom: 14px;
  border-radius: 999px;
  color: var(--nf-accent);
  background: var(--nf-accent-soft);
  border: 1px solid rgba(229, 114, 0, 0.18);
  font-size: 0.78rem;
  font-weight: 900;
}

.not-found-heading h2 {
  color: var(--nf-primary);
  font-size: clamp(1.25rem, 2.2vw, 1.85rem);
  font-weight: 1000;
  line-height: 1.8;
}

.not-found-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.not-found-link-card {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px 22px 22px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid var(--nf-primary-border);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 32px rgba(15, 52, 74, 0.055);
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    border-color 0.24s ease;
}

.not-found-link-card::before {
  content: "";
  position: absolute;
  top: -46px;
  left: -46px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: var(--nf-accent-soft);
  transition: transform 0.25s ease;
}

.not-found-link-card:hover {
  transform: translateY(-5px);
  border-color: rgba(229, 114, 0, 0.25);
  box-shadow: 0 22px 48px rgba(15, 52, 74, 0.1);
}

.not-found-link-card:hover::before {
  transform: scale(1.25);
}

.not-found-link-icon {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: var(--nf-accent);
  background: var(--nf-accent-soft);
  font-size: 1.15rem;
}

.not-found-link-card h3 {
  position: relative;
  z-index: 1;
  color: var(--nf-primary);
  font-size: 1rem;
  font-weight: 1000;
  line-height: 1.7;
  margin-bottom: 8px;
}

.not-found-link-card p {
  position: relative;
  z-index: 1;
  color: var(--nf-text);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 2;
  margin: 0;
}

.not-found-link-card > .fa-arrow-left {
  position: relative;
  z-index: 1;
  margin-top: auto;
  color: var(--nf-primary);
  font-size: 0.85rem;
  transition:
    transform 0.22s ease,
    color 0.22s ease;
}

.not-found-link-card:hover > .fa-arrow-left {
  color: var(--nf-accent);
  transform: translateX(-5px);
}

/* Help Box */

.not-found-help-box {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  margin-top: 42px;
  padding: 28px 30px;
  border-radius: 24px;
  color: #ffffff;
  background:
    radial-gradient(
      circle at top left,
      rgba(255, 255, 255, 0.16),
      transparent 34%
    ),
    linear-gradient(135deg, var(--nf-primary), #00004d);
  box-shadow: 0 18px 42px rgba(0, 0, 128, 0.18);
}

.not-found-help-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.13);
  color: #ffffff;
  font-size: 1.45rem;
}

.not-found-help-text h2 {
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 1000;
  line-height: 1.7;
  margin-bottom: 6px;
}

.not-found-help-text p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 2;
  margin: 0;
}

.not-found-help-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 13px;
  color: var(--nf-primary);
  background: #ffffff;
  font-size: 0.86rem;
  font-weight: 1000;
  text-decoration: none;
  white-space: nowrap;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.not-found-help-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(255, 255, 255, 0.18);
}

/* ==================================================
   11. BOOKING PAGE - CURRENT VERSION
================================================== */
/* ================================
   Booking Page
================================ */

.booking-page {
  --booking-primary: var(--primary-color, #000080);
  --booking-primary-soft: rgba(0, 0, 128, 0.07);
  --booking-primary-border: rgba(0, 0, 128, 0.14);
  --booking-accent: #e57200;
  --booking-accent-soft: rgba(229, 114, 0, 0.08);
  --booking-dark: #101828;
  --booking-text: #5f6f7a;
  --booking-radius: 24px;
  --booking-shadow: 0 18px 48px rgba(15, 52, 74, 0.075);

  background: #f5f5f5;
  overflow: hidden;
}

/* Hero */

.booking-hero {
  position: relative;
  overflow: hidden;
  padding: 76px 0 58px;
  background:
    radial-gradient(
      circle at top left,
      rgba(229, 114, 0, 0.08),
      transparent 32%
    ),
    linear-gradient(180deg, #f5f5f5 0%, #f5f5f5 100%);
}

.booking-hero::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -120px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  border: 1px dashed rgba(0, 0, 128, 0.12);
  pointer-events: none;
}

.booking-hero::after {
  content: "";
  position: absolute;
  bottom: 20px;
  left: -110px;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: rgba(229, 114, 0, 0.055);
  pointer-events: none;
}

.booking-container {
  position: relative;
  z-index: 2;
  width: min(100% - 48px, 1180px);
  margin-inline: auto;
}

.booking-hero .booking-container {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) 390px;
  gap: 42px;
  align-items: center;
}

.booking-hero-content {
  text-align: right;
}

.booking-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 18px;
  margin-bottom: 20px;
  border-radius: 999px;
  color: var(--booking-primary);
  background: var(--booking-primary-soft);
  border: 1px solid var(--booking-primary-border);
  font-size: 0.82rem;
  font-weight: 900;
}

.booking-hero-content h1 {
  color: var(--booking-primary);
  font-size: clamp(1.8rem, 3.3vw, 2.85rem);
  font-weight: 1000;
  line-height: 1.75;
  margin-bottom: 18px;
}

.booking-hero-content p {
  max-width: 720px;
  color: var(--booking-text);
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 2.25;
  margin-bottom: 26px;
}

.booking-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.booking-hero-points span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  background: #ffffff;
  color: #53616b;
  border: 1px solid rgba(0, 0, 128, 0.09);
  box-shadow: 0 8px 22px rgba(15, 52, 74, 0.045);
  font-size: 0.78rem;
  font-weight: 850;
}

.booking-hero-points i {
  color: var(--booking-accent);
}

/* Hero Card */

.booking-hero-card {
  position: relative;
  overflow: hidden;
  padding: 34px 30px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid var(--booking-primary-border);
  box-shadow: var(--booking-shadow);
  text-align: right;
}

.booking-hero-card::before {
  content: "";
  position: absolute;
  top: -70px;
  left: -70px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: var(--booking-accent-soft);
  pointer-events: none;
}

.booking-hero-card-icon {
  position: relative;
  z-index: 1;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 20px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--booking-primary), #0000b8);
  box-shadow: 0 16px 34px rgba(0, 0, 128, 0.18);
  font-size: 1.55rem;
}

.booking-hero-card h2 {
  position: relative;
  z-index: 1;
  color: var(--booking-dark);
  font-size: 1.24rem;
  font-weight: 1000;
  line-height: 1.7;
  margin-bottom: 10px;
}

.booking-hero-card p {
  position: relative;
  z-index: 1;
  color: var(--booking-text);
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 18px;
}

.booking-hero-card-meta {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
}

.booking-hero-card-meta span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #53616b;
  font-size: 0.82rem;
  font-weight: 800;
}

.booking-hero-card-meta i {
  color: var(--booking-accent);
}

/* Main Layout */

.booking-main-section {
  padding: 42px 0 90px;
  background: #f5f6f8;
}

.booking-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 34px;
  align-items: start;
}

/* Main Panel */

.booking-panel {
  min-width: 0;
  padding: 32px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid var(--booking-primary-border);
  box-shadow: var(--booking-shadow);
}

.booking-panel-heading {
  margin-bottom: 30px;
  text-align: right;
}

.booking-panel-heading span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 15px;
  margin-bottom: 12px;
  border-radius: 999px;
  color: var(--booking-accent);
  background: var(--booking-accent-soft);
  border: 1px solid rgba(229, 114, 0, 0.18);
  font-size: 0.76rem;
  font-weight: 900;
}

.booking-panel-heading h2 {
  color: var(--booking-primary);
  font-size: 1.55rem;
  font-weight: 1000;
  line-height: 1.75;
  margin-bottom: 10px;
}

.booking-panel-heading p {
  color: var(--booking-text);
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 2;
  margin: 0;
}

/* Form */

.booking-form {
  display: grid;
  gap: 30px;
}

.booking-step-block {
  padding: 24px;
  border-radius: 22px;
  background: #fbfcfd;
  border: 1px solid rgba(0, 0, 128, 0.08);
}

.booking-step-title {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 20px;
  text-align: right;
}

.booking-step-title > span {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--booking-primary);
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 1000;
  direction: ltr;
}

.booking-step-title h3 {
  color: var(--booking-dark);
  font-size: 1.05rem;
  font-weight: 1000;
  line-height: 1.65;
  margin-bottom: 4px;
}

.booking-step-title p {
  color: var(--booking-text);
  font-size: 0.8rem;
  line-height: 1.9;
  margin: 0;
}

/* Service Options */

.booking-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.booking-service-option {
  cursor: pointer;
}

.booking-service-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.booking-service-card {
  min-height: 142px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 20px 18px;
  border-radius: 18px;
  background: #ffffff;
  border: 2px solid rgba(0, 0, 128, 0.1);
  transition:
    border-color 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease,
    transform 0.22s ease;
}

.booking-service-card i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--booking-accent);
  background: var(--booking-accent-soft);
  font-size: 1.05rem;
}

.booking-service-card strong {
  color: var(--booking-dark);
  font-size: 0.95rem;
  font-weight: 1000;
  line-height: 1.7;
}

.booking-service-card small {
  color: var(--booking-text);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.9;
}

.booking-service-option:hover .booking-service-card {
  transform: translateY(-3px);
  border-color: rgba(0, 0, 128, 0.24);
  box-shadow: 0 14px 28px rgba(15, 52, 74, 0.075);
}

.booking-service-option input:checked + .booking-service-card {
  border-color: var(--booking-primary);
  background: var(--booking-primary-soft);
  box-shadow: 0 14px 28px rgba(0, 0, 128, 0.09);
}

/* Week Navigation */

.booking-week-nav {
  display: grid;
  grid-template-columns: 130px 1fr 130px;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.booking-week-btn {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 14px;
  border-radius: 13px;
  border: 1px solid var(--booking-primary-border);
  background: #ffffff;
  color: var(--booking-primary);
  font-family: IRANYekanX, sans-serif;
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
  transition:
    background-color 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease,
    transform 0.22s ease;
}

.booking-week-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  background: var(--booking-primary);
  border-color: var(--booking-primary);
  color: #ffffff;
}

.booking-week-btn.is-disabled,
.booking-week-btn:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  background: #f0f2f5;
  color: #8a949d;
}

.booking-week-current {
  min-height: 42px;
  display: grid;
  place-items: center;
  padding: 8px 16px;
  border-radius: 14px;
  background: var(--booking-primary-soft);
  color: var(--booking-primary);
  border: 1px solid var(--booking-primary-border);
  font-size: 0.86rem;
  font-weight: 1000;
  text-align: center;
}

.booking-week-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 18px;
}

.booking-week-tab {
  min-height: 34px;
  padding: 6px 14px;
  border: 1px solid rgba(0, 0, 128, 0.12);
  border-radius: 999px;
  background: #ffffff;
  color: #53616b;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.74rem;
  font-weight: 900;
  cursor: pointer;
  transition:
    background-color 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease;
}

.booking-week-tab:hover,
.booking-week-tab.active {
  background: var(--booking-primary);
  border-color: var(--booking-primary);
  color: #ffffff;
}

.booking-week-pane {
  display: none;
}

.booking-week-pane.active {
  display: block;
}

/* Date Options */

.booking-date-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.booking-date-option {
  min-height: 82px;
  padding: 12px 10px;
  border: 2px solid rgba(0, 0, 128, 0.1);
  border-radius: 17px;
  background: #ffffff;
  color: #53616b;
  font-family: IRANYekanX, sans-serif;
  text-align: center;
  cursor: pointer;
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease,
    color 0.22s ease;
}

.booking-date-option span,
.booking-date-option strong {
  display: block;
}

.booking-date-option span {
  margin-bottom: 7px;
  font-size: 0.74rem;
  font-weight: 800;
}

.booking-date-option strong {
  color: var(--booking-dark);
  font-size: 0.86rem;
  font-weight: 1000;
  line-height: 1.7;
}

.booking-date-option:hover:not(:disabled) {
  transform: translateY(-3px);
  border-color: rgba(0, 0, 128, 0.24);
  box-shadow: 0 12px 24px rgba(15, 52, 74, 0.07);
}

.booking-date-option.active {
  border-color: var(--booking-primary);
  background: var(--booking-primary);
  color: #ffffff;
}

.booking-date-option.active strong {
  color: #ffffff;
}

.booking-date-option.is-disabled,
.booking-date-option:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  background: #f7f7fb;
  border-color: rgba(15, 23, 42, 0.08);
}

/* Time Options */

.booking-time-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.booking-time-option {
  min-height: 66px;
  display: grid;
  place-items: center;
  gap: 3px;
  padding: 9px 8px;
  border: 2px solid rgba(0, 0, 128, 0.1);
  border-radius: 14px;
  background: #ffffff;
  color: #53616b;
  font-family: IRANYekanX, sans-serif;
  cursor: pointer;
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease,
    color 0.22s ease;
}

.booking-time-option strong {
  display: block;
  color: #1f2933;
  font-size: 0.88rem;
  font-weight: 1000;
  direction: ltr;
  line-height: 1.3;
  transition: color 0.22s ease;
}

.booking-date-option small {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #b45309;
}

.booking-time-option span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 999px;
  color: var(--booking-accent);
  background: var(--booking-accent-soft);
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1.5;
  transition:
    background-color 0.22s ease,
    color 0.22s ease;
}

.booking-time-option:hover:not(:disabled) {
  transform: translateY(-3px);
  border-color: rgba(0, 0, 128, 0.24);
  box-shadow: 0 12px 24px rgba(15, 52, 74, 0.07);
}

.booking-time-option.active {
  border-color: var(--booking-primary);
  background: var(--booking-primary);
  color: #ffffff;
}

.booking-time-option.active strong {
  color: #ffffff;
}

.booking-time-option.active span {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.16);
}

.booking-time-option.is-booked {
  cursor: not-allowed;
  opacity: 0.6;
  color: #9aa3aa;
  background: #f0f2f5;
}

.booking-time-option.is-booked strong {
  color: #9aa3aa;
  text-decoration: line-through;
}

.booking-time-option.is-booked span {
  color: #8a949d;
  background: #e4e7eb;
}

/* Fields */

.booking-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.booking-field {
  display: grid;
  gap: 8px;
}

.booking-field-full {
  grid-column: 1 / -1;
}

.booking-field label {
  color: var(--booking-dark);
  font-size: 0.82rem;
  font-weight: 900;
}

.booking-input-wrap {
  position: relative;
}

.booking-input-wrap i {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  color: rgba(0, 0, 128, 0.45);
  font-size: 0.9rem;
}

.booking-input-wrap input,
.booking-input-wrap select,
.booking-field textarea {
  width: 100%;
  border: 1px solid rgba(0, 0, 128, 0.12);
  outline: none;
  border-radius: 14px;
  background: #ffffff;
  color: #333d47;
  font-family: IRANYekanX, sans-serif;
  font-size: 0.86rem;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.booking-input-wrap input,
.booking-input-wrap select {
  height: 48px;
  padding: 0 42px 0 14px;
}

.booking-input-wrap select {
  appearance: none;
  cursor: pointer;
}

.booking-field textarea {
  resize: vertical;
  min-height: 118px;
  padding: 14px 16px;
  line-height: 2;
}

.booking-input-wrap input:focus,
.booking-input-wrap select:focus,
.booking-field textarea:focus {
  border-color: var(--booking-primary);
  box-shadow: 0 0 0 4px rgba(0, 0, 128, 0.07);
}

.booking-input-wrap input::placeholder,
.booking-field textarea::placeholder {
  color: #a0a7ae;
}

/* Submit */

.booking-submit-btn {
  width: fit-content;
  min-width: 210px;
  min-height: 50px;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 26px;
  border: 0;
  border-radius: 14px;
  color: #ffffff;
  background: var(--booking-primary);
  font-family: IRANYekanX, sans-serif;
  font-size: 0.9rem;
  font-weight: 1000;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(0, 0, 128, 0.12);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease,
    color 0.22s ease;
}

.booking-submit-btn i {
  color: currentColor;
  font-size: 0.82rem;
  transition: transform 0.22s ease;
}

.booking-submit-btn:hover {
  transform: translateY(-3px);
  color: #ffffff;
  background: #000060;
  box-shadow: 0 18px 34px rgba(0, 0, 128, 0.18);
}

.booking-submit-btn:hover i {
  color: #ffffff;
  transform: translateX(-4px);
}

.booking-page .booking-submit-btn:hover,
.booking-page .booking-submit-btn:hover * {
  color: #ffffff !important;
}

/* Summary */

.booking-summary-card {
  position: sticky;
  top: 118px;
  padding: 26px 24px;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid var(--booking-primary-border);
  box-shadow: var(--booking-shadow);
}

.booking-summary-top {
  margin-bottom: 20px;
  text-align: right;
}

.booking-summary-top span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 13px;
  margin-bottom: 10px;
  border-radius: 999px;
  color: var(--booking-accent);
  background: var(--booking-accent-soft);
  font-size: 0.72rem;
  font-weight: 900;
}

.booking-summary-top h2 {
  color: var(--booking-primary);
  font-size: 1.22rem;
  font-weight: 1000;
  line-height: 1.8;
}

.booking-summary-list {
  display: grid;
  gap: 13px;
  margin-bottom: 18px;
}

.booking-summary-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  background: #fbfcfd;
  border: 1px solid rgba(0, 0, 128, 0.08);
}

.booking-summary-item > i {
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--booking-primary);
  background: var(--booking-primary-soft);
  font-size: 0.95rem;
}

.booking-summary-item div {
  flex: 1;
}

.booking-summary-item span {
  display: block;
  margin-bottom: 3px;
  color: #8a949d;
  font-size: 0.72rem;
  font-weight: 800;
}

.booking-summary-item strong {
  display: block;
  color: var(--booking-dark);
  font-size: 0.86rem;
  font-weight: 1000;
  line-height: 1.8;
}

.booking-summary-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px;
  margin-bottom: 14px;
  border-radius: 16px;
  background: var(--booking-accent-soft);
  border: 1px solid rgba(229, 114, 0, 0.16);
}

.booking-summary-note i {
  flex: 0 0 auto;
  margin-top: 5px;
  color: var(--booking-accent);
}

.booking-summary-note p {
  margin: 0;
  color: #6d4e00;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 2;
}

/* Booking summary status base is defined in the Booking Status States block below. */
/* ================================
   Booking Status States
================================ */

.booking-summary-status {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 14px 16px;
  border-radius: 14px;
  color: var(--booking-primary);
  background: var(--booking-primary-soft);
  border: 1px solid transparent;
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1.9;
  transform-origin: center;
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease,
    border-color 0.25s ease;
}

.booking-summary-status i {
  flex: 0 0 auto;
  margin-top: 5px;
  color: var(--booking-primary);
  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.booking-summary-status span {
  position: relative;
  z-index: 2;
}

/* نور متحرک روی باکس */
.booking-summary-status::after {
  content: "";
  position: absolute;
  top: 0;
  right: -120%;
  width: 70%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.55),
    transparent
  );
  transform: skewX(-18deg);
  opacity: 0;
  pointer-events: none;
}

/* Success */

.booking-summary-status.is-success {
  color: #145c32;
  background: #e8f8f0;
  border-color: rgba(47, 158, 88, 0.28);
  box-shadow:
    0 16px 34px rgba(47, 158, 88, 0.16),
    0 0 0 4px rgba(47, 158, 88, 0.06);
}

.booking-summary-status.is-success i {
  color: #2f9e58;
}

/* Error */

.booking-summary-status.is-error {
  color: #8a1a1a;
  background: #fff0f0;
  border-color: rgba(224, 49, 49, 0.26);
  box-shadow:
    0 16px 34px rgba(224, 49, 49, 0.14),
    0 0 0 4px rgba(224, 49, 49, 0.055);
}

.booking-summary-status.is-error i {
  color: #e03131;
}

/* حالت جلب توجه بعد از ثبت */
.booking-summary-status.is-highlighted {
  animation: bookingStatusAttention 1.45s ease both;
}

.booking-summary-status.is-highlighted::after {
  animation: bookingStatusShine 1.15s ease 0.15s both;
}

.booking-summary-status.is-highlighted i {
  animation: bookingStatusIconPop 0.65s ease both;
}

/* انیمیشن اصلی باکس */
@keyframes bookingStatusAttention {
  0% {
    opacity: 0.2;
    transform: translateY(12px) scale(0.96);
  }

  22% {
    opacity: 1;
    transform: translateY(0) scale(1.045);
  }

  45% {
    transform: scale(0.985);
  }

  68% {
    transform: scale(1.018);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* نور ردشونده */
@keyframes bookingStatusShine {
  0% {
    right: -120%;
    opacity: 0;
  }

  18% {
    opacity: 1;
  }

  100% {
    right: 140%;
    opacity: 0;
  }
}

/* پاپ آیکون */
@keyframes bookingStatusIconPop {
  0% {
    transform: scale(0.55) rotate(-12deg);
  }

  45% {
    transform: scale(1.25) rotate(8deg);
  }

  100% {
    transform: scale(1) rotate(0);
  }
}

/* ==================================================
   12. CALCULATORS / RESULT BOXES
   Germany grade, Italy ISEE, Australia finance.
================================================== */
/* Germany Grade Calculator Result */

.country-finance-result {
  display: none;
  margin-top: 20px;
  padding: 18px 20px;
  border-radius: 18px;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 2;
}

.country-finance-result.is-visible {
  display: block;
}

.country-finance-result.is-success {
  color: #155724;
  background: #e8f8f0;
  border: 1px solid rgba(47, 158, 88, 0.22);
}

.country-finance-result.is-warning {
  color: #7a4b00;
  background: #fff7e6;
  border: 1px solid rgba(229, 114, 0, 0.22);
}

.country-finance-result.is-error {
  color: #8a1a1a;
  background: #fff0f0;
  border: 1px solid rgba(224, 49, 49, 0.22);
}

.germany-grade-result-card {
  display: grid;
  gap: 8px;
}

.germany-grade-result-card__label {
  color: inherit;
  font-size: 0.78rem;
  font-weight: 900;
  opacity: 0.82;
}

.germany-grade-result-card__grade {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 86px;
  min-height: 48px;
  padding: 6px 18px;
  border-radius: 14px;
  background: #ffffff;
  color: var(--country-primary-accent);
  font-size: 1.45rem;
  font-weight: 1000;
  direction: ltr;
}

.germany-grade-result-card h4 {
  color: inherit;
  font-size: 1rem;
  font-weight: 1000;
  margin: 0;
}

.germany-grade-result-card p {
  margin: 0;
  color: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 2;
}

/* Germany grade calculator input fix */

.country-finance-field input,
.country-finance-field select {
  width: 100%;
  height: 54px;
  display: block;
  padding: 0 18px;
  border: 1px solid rgba(15, 52, 74, 0.14);
  border-radius: 16px;
  background: #ffffff;
  color: #243442;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  outline: none;
  box-shadow: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.country-finance-field input::placeholder {
  color: #9aa6b2;
  font-size: 0.9rem;
  font-weight: 600;
}

.country-finance-field input:focus,
.country-finance-field select:focus {
  border-color: var(--country-primary-accent);
  box-shadow: 0 0 0 4px rgba(208, 0, 27, 0.08);
}

/* remove default number spinner */
.country-finance-field input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
  direction: ltr;
  text-align: right;
}

.country-finance-field input[type="number"]::-webkit-outer-spin-button,
.country-finance-field input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.country-finance-form {
  align-items: end;
}

.country-finance-field {
  min-width: 0;
}

.country-finance-field label {
  display: block;
  margin-bottom: 10px;
}

/* ================================
   Italy ISEE Calculator
================================ */

.italy-isee-section .country-finance-calculator {
  margin-top: 34px;
}

.italy-isee-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  align-items: end;
}

.italy-isee-form .country-finance-field {
  min-width: 0;
}

.italy-isee-form .country-finance-field label {
  display: block;
  margin-bottom: 10px;
  color: #243442;
  font-size: 0.88rem;
  font-weight: 900;
}

.italy-isee-form .country-finance-field input,
.italy-isee-form .country-finance-field select {
  width: 100%;
  height: 56px;
  display: block;
  padding: 0 18px;
  border: 1px solid rgba(15, 52, 74, 0.14);
  border-radius: 16px;
  background: #ffffff;
  color: #243442;
  font-family: inherit;
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1;
  outline: none;
  box-shadow: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.italy-isee-form .country-finance-field input::placeholder {
  color: #a3adb7;
  font-size: 0.9rem;
  font-weight: 700;
}

.italy-isee-form .country-finance-field input:focus,
.italy-isee-form .country-finance-field select:focus {
  border-color: var(--country-primary-accent);
  box-shadow: 0 0 0 4px rgba(0, 122, 61, 0.08);
}

.italy-isee-form .country-finance-field input {
  direction: ltr;
  text-align: right;
}

.italy-isee-submit {
  grid-column: 1 / -1;
  width: min(420px, 100%);
  justify-self: center;
  margin-top: 10px;
}

/* Italy ISEE Result */

.country-finance-result.is-caution {
  color: #8a4b00;
  background: #fff3d6;
  border: 1px solid rgba(245, 158, 11, 0.28);
}

.italy-isee-result-card {
  display: grid;
  gap: 10px;
}

.italy-isee-result-card__label {
  color: inherit;
  font-size: 0.78rem;
  font-weight: 900;
  opacity: 0.82;
}

.italy-isee-result-card__grade {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 130px;
  min-height: 52px;
  padding: 6px 18px;
  border-radius: 14px;
  background: #ffffff;
  color: var(--country-primary-accent);
  font-size: 1.45rem;
  font-weight: 1000;
  direction: ltr;
}

.italy-isee-result-card h4 {
  color: inherit;
  font-size: 1rem;
  font-weight: 1000;
  margin: 0;
}

.italy-isee-result-card p {
  margin: 0;
  color: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 2;
}

.italy-isee-result-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.italy-isee-result-details div {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.78);
}

.italy-isee-result-details span {
  display: block;
  margin-bottom: 4px;
  font-size: 0.72rem;
  font-weight: 800;
  opacity: 0.8;
}

.italy-isee-result-details strong {
  display: block;
  color: inherit;
  font-size: 0.9rem;
  font-weight: 1000;
  direction: ltr;
}

/* ================================
   Australia Finance Calculator
================================ */

.australia-finance-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 20px;
  align-items: end;
}

.australia-finance-form .country-finance-field {
  min-width: 0;
}

.australia-finance-form .country-finance-field select,
.australia-finance-form .country-finance-field input {
  width: 100%;
  min-width: 0;
}

.australia-finance-form .country-finance-calc-btn {
  grid-column: 1 / -1;
  width: min(520px, 100%);
  justify-self: center;
  margin-top: 8px;
}

/* Australia Finance Result */

.australia-finance-result-card {
  display: grid;
  gap: 12px;
}

.australia-finance-result-card__label {
  color: inherit;
  font-size: 0.78rem;
  font-weight: 900;
  opacity: 0.82;
}

.australia-finance-result-card__amount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  width: fit-content;
  min-width: 170px;
  min-height: 52px;
  padding: 6px 18px;
  border-radius: 14px;
  background: #ffffff;
  color: var(--country-primary-accent);
  font-size: 1.45rem;
  font-weight: 1000;
  direction: ltr;
  text-align: left;
}

.australia-finance-result-card h4 {
  color: inherit;
  font-size: 1rem;
  font-weight: 1000;
  margin: 0;
}

.australia-finance-result-card p {
  margin: 0;
  color: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 2;
}

.australia-finance-result-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.australia-finance-result-details div {
  min-width: 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.78);
}

.australia-finance-result-details span {
  display: block;
  margin-bottom: 4px;
  font-size: 0.72rem;
  font-weight: 800;
  opacity: 0.8;
}

.australia-finance-result-details strong {
  display: block;
  color: inherit;
  font-size: 0.9rem;
  font-weight: 1000;
  direction: ltr;
  text-align: left;
}

/* ================================
   Austria Finance Calculator
================================ */

.austria-finance-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  align-items: end;
}

.austria-finance-form .country-finance-field {
  min-width: 0;
}

.austria-finance-form .country-finance-field select,
.austria-finance-form .country-finance-field input {
  width: 100%;
  min-width: 0;
}

.austria-finance-form .country-finance-calc-btn {
  grid-column: 1 / -1;
  width: min(520px, 100%);
  justify-self: center;
  margin-top: 8px;
}

.austria-finance-result-card {
  display: grid;
  gap: 12px;
}

.austria-finance-result-card__label {
  color: inherit;
  font-size: 0.78rem;
  font-weight: 900;
  opacity: 0.82;
}

.austria-finance-result-card__amount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  width: fit-content;
  min-width: 170px;
  min-height: 52px;
  padding: 6px 18px;
  border-radius: 14px;
  background: #ffffff;
  color: var(--country-primary-accent);
  font-size: 1.45rem;
  font-weight: 1000;
  direction: ltr;
  text-align: left;
}

.austria-finance-result-card h4 {
  color: inherit;
  font-size: 1rem;
  font-weight: 1000;
  margin: 0;
}

.austria-finance-result-card p {
  margin: 0;
  color: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 2;
}

.austria-finance-result-details {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.austria-finance-result-details div {
  min-width: 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.78);
}

.austria-finance-result-details span {
  display: block;
  margin-bottom: 4px;
  font-size: 0.72rem;
  font-weight: 800;
  opacity: 0.8;
}

.austria-finance-result-details strong {
  display: block;
  color: inherit;
  font-size: 0.9rem;
  font-weight: 1000;
  direction: ltr;
  text-align: left;
}

/* ==================================================
   13. ABOUT US PAGE
================================================== */
/* ===================== About Us Page ===================== */
.about-page {
  background: #fff;
  overflow: hidden;
}

.vp-about-hero {
  position: relative;
  padding: 92px 20px 96px;
  background:
    radial-gradient(circle at 12% 18%, rgba(15, 52, 74, 0.06), transparent 28%),
    radial-gradient(
      circle at 86% 12%,
      rgba(23, 74, 106, 0.08),
      transparent 32%
    ),
    linear-gradient(135deg, #f5f5f5 0%, #f5f5f5 100%);
  overflow: hidden;
}

.vp-about-hero::before {
  content: "";
  position: absolute;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(15, 52, 74, 0.07);
  border-radius: 48% 52% 46% 54%;
  left: -120px;
  top: 90px;
  transform: rotate(-18deg);
  pointer-events: none;
}

.vp-about-hero::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.04);
  right: 8%;
  bottom: -90px;
  pointer-events: none;
}

.vp-about-hero-container {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 62px;
  position: relative;
  z-index: 2;
}

.vp-about-hero-content {
  flex: 1.05;
}

.vp-about-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.08);
  color: #174a6a;
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 22px;
  border: 1px solid rgba(15, 52, 74, 0.08);
}

.vp-about-badge i {
  font-size: 0.95rem;
  color: #174a6a;
}

.vp-about-hero-content h1 {
  color: #000080;
  font-size: clamp(1.9rem, 4vw, 3.35rem);
  line-height: 1.55;
  letter-spacing: -0.8px;
  font-weight: 900;
  margin-bottom: 22px;
}

.vp-about-hero-content h1 span {
  display: block;
  color: #174a6a;
  margin-top: 4px;
}

.vp-about-hero-content p {
  max-width: 650px;
  color: #5d7280;
  font-size: 1rem;
  line-height: 2.15;
  margin-bottom: 34px;
}

.vp-about-hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.vp-about-primary-btn,
.vp-about-secondary-btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 999px;
  padding: 13px 24px;
  font-weight: 850;
  text-decoration: none;
  transition: 0.25s ease;
}

.vp-about-primary-btn {
  background: #000080;
  color: #fff;
  box-shadow: 0 16px 34px rgba(15, 52, 74, 0.16);
}

.vp-about-primary-btn:hover {
  transform: translateY(-3px);
  background: #174a6a;
}

.vp-about-secondary-btn {
  background: rgba(255, 255, 255, 0.88);
  color: #000080;
  border: 1px solid rgba(15, 52, 74, 0.12);
}

.vp-about-secondary-btn:hover {
  transform: translateY(-3px);
  color: #174a6a;
  border-color: rgba(23, 74, 106, 0.28);
}

.vp-about-hero-visual {
  flex: 0.95;
  position: relative;
  display: flex;
  justify-content: center;
}

.vp-about-image-card {
  width: min(100%, 470px);
  position: relative;
  border-radius: 34px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 52, 74, 0.1);
  box-shadow: 0 28px 80px rgba(15, 52, 74, 0.12);
  backdrop-filter: blur(14px);
}

.vp-about-image-card::before {
  content: "";
  position: absolute;
  inset: 38px -22px -22px 38px;
  border-radius: 34px;
  background: rgba(23, 74, 106, 0.07);
  z-index: -1;
}

.vp-about-image-card img {
  width: 100%;
  height: 520px;
  display: block;
  object-fit: cover;
  border-radius: 26px;
}

.vp-about-floating-card {
  position: absolute;
  right: -34px;
  top: 52px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 17px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(15, 52, 74, 0.1);
  box-shadow: 0 18px 42px rgba(15, 52, 74, 0.14);
}

.vp-about-floating-icon {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: rgba(23, 74, 106, 0.1);
  color: #174a6a;
  font-size: 1.15rem;
}

.vp-about-floating-card strong {
  display: block;
  color: #000080;
  font-size: 1.1rem;
  line-height: 1.5;
}

.vp-about-floating-card span {
  display: block;
  color: #657887;
  font-size: 0.86rem;
  font-weight: 700;
}

.vp-about-small-card {
  position: absolute;
  left: -24px;
  bottom: 58px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 13px 16px;
  border-radius: 18px;
  background: #000080;
  color: #fff;
  font-weight: 850;
  box-shadow: 0 18px 40px rgba(15, 52, 74, 0.16);
}

.vp-about-small-card i {
  color: #c8d7e1;
}

.vp-about-stats-wrapper {
  padding: 80px 20px;
  background: #f6f8fa;
}

.vp-about-stats-card {
  position: relative;
  width: min(1180px, 100%);
  margin: 0 auto;
  min-height: 520px;
  border-radius: 28px;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 24px 70px rgba(15, 52, 74, 0.16);

  background-image:
    linear-gradient(
      135deg,
      rgba(8, 28, 45, 0.72) 0%,
      rgba(15, 52, 74, 0.62) 48%,
      rgba(7, 24, 40, 0.76) 100%
    ),
    url("../images/bg-landscape.webp");

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* اگر کلاس bg-landscape قبلاً در پروژه تعریف نشده، این را نگه دار */
.vp-about-stats-card.bg-landscape {
  background-image: url("../images/bg-landscape.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.vp-about-stats-content {
  position: relative;
  z-index: 2;
  padding: 72px 44px 66px;
}

.vp-about-stats-heading {
  max-width: 760px;
  margin: 0 auto 48px;
  text-align: center;
}

.vp-about-stats-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 0.9rem;
  font-weight: 800;
  margin-bottom: 22px;
  backdrop-filter: blur(10px);
}

.vp-about-stats-heading h2 {
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.65;
  font-weight: 900;
  margin-bottom: 16px;
}

.vp-about-stats-heading p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1rem;
  line-height: 2.1;
}

.vp-about-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.vp-about-stat-card {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  padding: 26px 18px;
  text-align: center;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: 0.25s ease;
}

.vp-about-stat-card:hover {
  transform: translateY(-6px);
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.28);
}

.vp-about-stat-number {
  display: block;
  color: #ffffff;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.2;
  font-weight: 950;
  margin-bottom: 12px;
}

.vp-about-stat-label {
  display: block;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.98rem;
  line-height: 1.9;
  font-weight: 700;
}

.vp-about-story-section {
  padding: 96px 20px;
  background:
    radial-gradient(
      circle at 12% 18%,
      rgba(23, 74, 106, 0.06),
      transparent 26%
    ),
    linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  overflow: hidden;
}

.vp-about-story-container {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  grid-template-areas: "content visual";
  align-items: center;
  gap: 72px;
}

.vp-about-story-content {
  grid-area: content;
}

.vp-about-story-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.07);
  color: #174a6a;
  border: 1px solid rgba(15, 52, 74, 0.1);
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 22px;
}

.vp-about-story-badge i {
  color: #000080;
  font-size: 0.9rem;
}

.vp-about-story-content h2 {
  color: #111827;
  font-size: clamp(1.55rem, 2.6vw, 2.35rem);
  line-height: 1.65;
  font-weight: 900;
  letter-spacing: -0.4px;
  margin-bottom: 20px;
}

.vp-about-story-content h2 span {
  display: block;
  color: #000080;
}

.vp-about-story-content p {
  max-width: 660px;
  color: #556875;
  font-size: 1rem;
  line-height: 2.15;
  margin-bottom: 16px;
}

.vp-about-story-points {
  display: grid;
  gap: 14px;
  margin-top: 34px;
}

.vp-about-story-point {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.1);
  box-shadow: 0 16px 36px rgba(15, 52, 74, 0.06);
  transition: 0.25s ease;
}

.vp-about-story-point:hover {
  transform: translateY(-4px);
  border-color: rgba(23, 74, 106, 0.22);
  box-shadow: 0 20px 44px rgba(15, 52, 74, 0.09);
}

.vp-about-story-icon {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: #000080;
  color: #ffffff;
  font-size: 1.15rem;
}

.vp-about-story-point strong {
  display: block;
  color: #111827;
  font-size: 1rem;
  font-weight: 900;
  margin-bottom: 5px;
}

.vp-about-story-point span {
  display: block;
  color: #6b7f8d;
  font-size: 0.92rem;
  line-height: 1.8;
  font-weight: 600;
}

.vp-about-story-visual {
  grid-area: visual;
  position: relative;
  display: flex;
  justify-content: center;
}

.vp-about-story-image-card {
  width: min(100%, 520px);
  position: relative;
  border-radius: 30px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(15, 52, 74, 0.09);
  box-shadow: 0 28px 70px rgba(15, 52, 74, 0.1);
}

.vp-about-story-image-card::before {
  content: "";
  position: absolute;
  width: 130px;
  height: 130px;
  top: -26px;
  left: -26px;
  background-image: radial-gradient(
    rgba(15, 52, 74, 0.18) 1.5px,
    transparent 1.5px
  );
  background-size: 14px 14px;
  opacity: 0.55;
  z-index: -1;
}

.vp-about-story-image-card::after {
  content: "";
  position: absolute;
  inset: 38px -22px -22px 38px;
  border-radius: 30px;
  background: rgba(23, 74, 106, 0.06);
  z-index: -1;
}

.vp-about-story-image-card img {
  width: 100%;
  height: 460px;
  display: block;
  object-fit: cover;
  border-radius: 24px;
}

.vp-about-story-floating-card {
  position: absolute;
  right: -34px;
  bottom: 48px;
  width: 132px;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  background: #000080;
  color: #ffffff;
  box-shadow: 0 20px 48px rgba(15, 52, 74, 0.22);
  text-align: center;
  padding: 18px 14px;
}

.vp-about-story-floating-card strong {
  display: block;
  font-size: 2.2rem;
  line-height: 1.2;
  font-weight: 950;
  margin-bottom: 8px;
}

.vp-about-story-floating-card span {
  display: block;
  font-size: 0.9rem;
  line-height: 1.8;
  font-weight: 750;
  color: rgba(255, 255, 255, 0.88);
}

.vp-about-values-section {
  padding: 96px 20px;
  background:
    radial-gradient(
      circle at 12% 12%,
      rgba(23, 74, 106, 0.05),
      transparent 28%
    ),
    linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
}

.vp-about-values-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.vp-about-values-heading {
  max-width: 720px;
  margin: 0 auto 54px;
  text-align: center;
}

.vp-about-values-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 17px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.07);
  color: #000080;
  border: 1px solid rgba(15, 52, 74, 0.1);
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 22px;
}

.vp-about-values-badge i {
  color: #174a6a;
}

.vp-about-values-heading h2 {
  color: #111827;
  font-size: clamp(1.65rem, 2.8vw, 2.55rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.5px;
  margin-bottom: 14px;
}

.vp-about-values-heading h2 span {
  display: block;
  color: #000080;
}

.vp-about-values-heading p {
  color: #6b7f8d;
  font-size: 1rem;
  line-height: 2;
}

.vp-about-values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.vp-about-value-card {
  min-height: 260px;
  padding: 34px 30px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(15, 52, 74, 0.1);
  box-shadow: 0 18px 44px rgba(15, 52, 74, 0.055);
  transition: 0.25s ease;
}

.vp-about-value-card:hover {
  transform: translateY(-6px);
  border-color: rgba(23, 74, 106, 0.22);
  box-shadow: 0 24px 58px rgba(15, 52, 74, 0.09);
}

.vp-about-value-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: rgba(15, 52, 74, 0.08);
  color: #000080;
  font-size: 1.25rem;
  margin-bottom: 24px;
  border: 1px solid rgba(15, 52, 74, 0.1);
}

.vp-about-value-card h3 {
  color: #111827;
  font-size: 1.12rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 12px;
}

.vp-about-value-card p {
  color: #667a88;
  font-size: 0.96rem;
  line-height: 2.05;
}

.vp-about-team-section {
  padding: 96px 20px;
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(23, 74, 106, 0.05),
      transparent 28%
    ),
    linear-gradient(180deg, #f7f9fb 0%, #ffffff 100%);
}

.vp-about-team-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.vp-about-team-heading {
  max-width: 720px;
  margin: 0 auto 54px;
  text-align: center;
}

.vp-about-team-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 17px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.07);
  color: #000080;
  border: 1px solid rgba(15, 52, 74, 0.1);
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 22px;
}

.vp-about-team-badge i {
  color: #174a6a;
}

.vp-about-team-heading h2 {
  color: #111827;
  font-size: clamp(1.65rem, 2.8vw, 2.55rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.5px;
  margin-bottom: 14px;
}

.vp-about-team-heading h2 span {
  color: #000080;
}

.vp-about-team-heading p {
  color: #6b7f8d;
  font-size: 1rem;
  line-height: 2;
}

.vp-about-team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.vp-about-team-card {
  border-radius: 24px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(15, 52, 74, 0.1);
  box-shadow: 0 18px 48px rgba(15, 52, 74, 0.07);
  transition: 0.25s ease;
}

.vp-about-team-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 26px 62px rgba(15, 52, 74, 0.11);
  border-color: rgba(23, 74, 106, 0.22);
}

.vp-about-team-photo {
  height: 220px;
  position: relative;
  background:
    radial-gradient(
      circle at 50% 34%,
      rgba(255, 255, 255, 0.16),
      transparent 28%
    ),
    linear-gradient(135deg, #000080 0%, #174a6a 100%);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vp-about-team-photo::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 70px;
  background: linear-gradient(to top, rgba(15, 52, 74, 0.25), transparent);
  z-index: 2;
}

.vp-about-team-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
}

/* اگر عکس هنوز لود نشه، کارت همچنان ظاهر تمیز دارد */
.vp-about-team-photo img[src=""] {
  display: none;
}

.vp-about-team-info {
  min-height: 250px;
  padding: 24px 22px 26px;
  text-align: center;
}

.vp-about-team-info h3 {
  color: #111827;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 8px;
}

.vp-about-team-info > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.07);
  color: #000080;
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 18px;
}

.vp-about-team-info p {
  color: #667a88;
  font-size: 0.93rem;
  line-height: 2;
  margin: 0;
}

.vp-team-placeholder {
  width: 82px;
  height: 82px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
  color: rgba(255, 255, 255, 0.46);
  font-size: 3.2rem;
  position: relative;
  z-index: 3;
}

.vp-about-team-photo.has-photo .vp-team-placeholder {
  display: none;
}

.vp-about-team-photo.no-photo .vp-team-placeholder {
  display: inline-flex;
}
.vp-about-path-section {
  padding: 96px 20px;
  background:
    radial-gradient(
      circle at 10% 14%,
      rgba(23, 74, 106, 0.05),
      transparent 28%
    ),
    linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
  overflow: hidden;
}

.vp-about-path-container {
  width: min(980px, 100%);
  margin: 0 auto;
}

.vp-about-path-heading {
  max-width: 760px;
  margin: 0 auto 64px;
  text-align: center;
}

.vp-about-path-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 17px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.07);
  color: #000080;
  border: 1px solid rgba(15, 52, 74, 0.1);
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 22px;
}

.vp-about-path-badge i {
  color: #174a6a;
}

.vp-about-path-heading h2 {
  color: #111827;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1.6;
  font-weight: 950;
  margin-bottom: 14px;
}

.vp-about-path-heading p {
  color: #6b7f8d;
  font-size: 1rem;
  line-height: 2.05;
}

.vp-about-timeline {
  position: relative;
  display: grid;
  gap: 34px;
}

.vp-about-timeline-line {
  position: absolute;
  top: 20px;
  bottom: 20px;
  right: 28px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(15, 52, 74, 0.18),
    #000080,
    rgba(15, 52, 74, 0.18)
  );
}

.vp-about-timeline-item {
  position: relative;
  padding-right: 92px;
}

.vp-about-timeline-marker {
  position: absolute;
  top: 22px;
  right: 0;
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #ffffff;
  border: 3px solid #000080;
  color: #000080;
  font-size: 1.15rem;
  z-index: 2;
  box-shadow: 0 14px 28px rgba(15, 52, 74, 0.12);
}

.vp-about-timeline-marker::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: inherit;
  background: rgba(15, 52, 74, 0.07);
  z-index: -1;
}

.vp-about-timeline-card {
  position: relative;
  min-height: 185px;
  padding: 34px 36px 30px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(15, 52, 74, 0.11);
  box-shadow: 0 18px 46px rgba(15, 52, 74, 0.065);
  transition: 0.25s ease;
}

.vp-about-timeline-card:hover {
  transform: translateY(-5px);
  border-color: rgba(23, 74, 106, 0.24);
  box-shadow: 0 24px 58px rgba(15, 52, 74, 0.1);
}

.vp-about-timeline-year {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 8px 16px;
  border-radius: 999px;
  background: #000080;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 900;
  margin-bottom: 20px;
}

.vp-about-timeline-card h3 {
  color: #111827;
  font-size: 1.25rem;
  line-height: 1.8;
  font-weight: 950;
  margin-bottom: 12px;
}

.vp-about-timeline-card p {
  color: #667a88;
  font-size: 1rem;
  line-height: 2.15;
  margin: 0;
}

.vp-about-timeline-item.is-current .vp-about-timeline-marker {
  background: #000080;
  color: #ffffff;
  border-color: #174a6a;
}

.vp-about-timeline-item.is-current .vp-about-timeline-card {
  background:
    linear-gradient(135deg, rgba(15, 52, 74, 0.04), rgba(23, 74, 106, 0.02)),
    #ffffff;
}

.vp-about-timeline-item.is-current .vp-about-timeline-year {
  background: #174a6a;
}

.vp-about-why-section {
  padding: 96px 20px;
  background:
    radial-gradient(circle at 12% 14%, rgba(15, 52, 74, 0.05), transparent 28%),
    radial-gradient(
      circle at 88% 18%,
      rgba(200, 180, 106, 0.08),
      transparent 26%
    ),
    linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
  overflow: hidden;
}

.vp-about-why-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.vp-about-why-heading {
  max-width: 760px;
  margin: 0 auto 54px;
  text-align: center;
}

.vp-about-why-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 17px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.07);
  color: #000080;
  border: 1px solid rgba(15, 52, 74, 0.1);
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 22px;
}

.vp-about-why-badge i {
  color: #174a6a;
}

.vp-about-why-heading h2 {
  color: #111827;
  font-size: clamp(1.65rem, 2.8vw, 2.55rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.5px;
  margin-bottom: 14px;
}

.vp-about-why-heading h2 span {
  display: block;
  color: #000080;
}

.vp-about-why-heading p {
  color: #6b7f8d;
  font-size: 1rem;
  line-height: 2;
}

.vp-about-why-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.vp-about-why-card {
  position: relative;
  min-height: 280px;
  padding: 34px 28px 30px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(15, 52, 74, 0.1);
  box-shadow: 0 18px 44px rgba(15, 52, 74, 0.06);
  overflow: hidden;
  transition: 0.25s ease;
}

.vp-about-why-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at top left,
      rgba(15, 52, 74, 0.07),
      transparent 32%
    ),
    radial-gradient(
      circle at bottom right,
      rgba(200, 180, 106, 0.1),
      transparent 34%
    );
  opacity: 0;
  transition: 0.25s ease;
}

.vp-about-why-card:hover {
  transform: translateY(-7px);
  border-color: rgba(23, 74, 106, 0.24);
  box-shadow: 0 26px 60px rgba(15, 52, 74, 0.1);
}

.vp-about-why-card:hover::before {
  opacity: 1;
}

.vp-about-why-num {
  position: absolute;
  top: 24px;
  left: 26px;
  color: rgba(15, 52, 74, 0.12);
  font-size: 2.4rem;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -1px;
}

.vp-about-why-icon {
  position: relative;
  z-index: 2;
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #000080;
  color: #ffffff;
  font-size: 1.2rem;
  margin-bottom: 24px;
  box-shadow: 0 14px 30px rgba(15, 52, 74, 0.16);
}

.vp-about-why-card h3 {
  position: relative;
  z-index: 2;
  color: #111827;
  font-size: 1.12rem;
  font-weight: 950;
  line-height: 1.8;
  margin-bottom: 12px;
}

.vp-about-why-card p {
  position: relative;
  z-index: 2;
  color: #667a88;
  font-size: 0.96rem;
  line-height: 2.05;
  margin: 0;
}

.vp-about-compare-box {
  margin-top: 52px;
  padding: 34px;
  border-radius: 30px;
  background:
    radial-gradient(
      circle at 18% 18%,
      rgba(200, 180, 106, 0.12),
      transparent 34%
    ),
    linear-gradient(135deg, #000040 0%, #000080 52%, #00004d 100%);
  box-shadow: 0 26px 70px rgba(0, 0, 128, 0.18);
  overflow: hidden;
}

.vp-about-compare-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 26px;
}

.vp-about-compare-title span {
  display: inline-flex;
  width: fit-content;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 0.86rem;
  font-weight: 800;
  margin-bottom: 14px;
}

.vp-about-compare-title h3 {
  color: #ffffff;
  font-size: clamp(1.3rem, 2.2vw, 2rem);
  line-height: 1.75;
  font-weight: 950;
  margin: 0;
}

.vp-about-compare-table {
  display: grid;
  gap: 10px;
  width: 100%;
}

.vp-about-compare-header,
.vp-about-compare-row {
  display: grid;
  grid-template-columns: minmax(280px, 1.5fr) minmax(130px, 0.55fr) minmax(
      130px,
      0.55fr
    );
  align-items: center;
  column-gap: 16px;
}

.vp-about-compare-header {
  padding: 0 22px 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
  font-weight: 850;
}

.vp-about-compare-header span:first-child {
  text-align: right;
  justify-self: start;
}

.vp-about-compare-header span:nth-child(2),
.vp-about-compare-header span:nth-child(3) {
  text-align: center;
  justify-self: center;
}

.vp-about-compare-row {
  min-height: 62px;
  padding: 14px 22px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #ffffff;
  font-weight: 750;
  backdrop-filter: blur(10px);
}

.vp-about-compare-row > span:first-child {
  text-align: right;
  justify-self: start;
  line-height: 1.9;
}

.vp-about-compare-row > span:nth-child(2),
.vp-about-compare-row > span:nth-child(3) {
  justify-self: center;
}

.vp-col-highlight {
  color: #ffffff;
}

.vp-col-other {
  color: rgba(255, 255, 255, 0.68);
}

.vp-check-yes,
.vp-check-no {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 1.15rem;
}

.vp-check-yes {
  color: #000080;
  background: #c8b46a;
}

.vp-check-no {
  color: #000080;
  background: rgba(255, 255, 255, 0.42);
}

.vp-about-testimonials-section {
  padding: 96px 20px;
  background:
    radial-gradient(circle at 14% 16%, rgba(0, 0, 128, 0.06), transparent 28%),
    radial-gradient(
      circle at 86% 20%,
      rgba(200, 180, 106, 0.1),
      transparent 26%
    ),
    linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
  overflow: hidden;
}

.vp-about-testimonials-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.vp-about-testimonials-heading {
  max-width: 720px;
  margin: 0 auto 54px;
  text-align: center;
}

.vp-about-testimonials-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 17px;
  border-radius: 999px;
  background: rgba(0, 0, 128, 0.07);
  color: #000080;
  border: 1px solid rgba(0, 0, 128, 0.12);
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 22px;
}

.vp-about-testimonials-badge i {
  color: #c8b46a;
}

.vp-about-testimonials-heading h2 {
  color: #111827;
  font-size: clamp(1.65rem, 2.8vw, 2.55rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.5px;
  margin-bottom: 14px;
}

.vp-about-testimonials-heading h2 span {
  display: block;
  color: #000080;
}

.vp-about-testimonials-heading p {
  color: #667085;
  font-size: 1rem;
  line-height: 2;
}

.vp-about-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.vp-about-testimonial-card {
  position: relative;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  padding: 34px 30px 28px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 128, 0.11);
  box-shadow: 0 18px 48px rgba(0, 0, 128, 0.065);
  overflow: hidden;
  transition: 0.25s ease;
}

.vp-about-testimonial-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top left, rgba(0, 0, 128, 0.08), transparent 34%),
    radial-gradient(
      circle at bottom right,
      rgba(200, 180, 106, 0.12),
      transparent 34%
    );
  opacity: 0;
  transition: 0.25s ease;
}

.vp-about-testimonial-card:hover {
  transform: translateY(-7px);
  border-color: rgba(0, 0, 128, 0.24);
  box-shadow: 0 26px 62px rgba(0, 0, 128, 0.11);
}

.vp-about-testimonial-card:hover::before {
  opacity: 1;
}

.vp-about-testimonial-card.is-featured {
  background:
    linear-gradient(135deg, rgba(0, 0, 128, 0.03), rgba(200, 180, 106, 0.04)),
    #ffffff;
  border-color: rgba(200, 180, 106, 0.35);
}

.vp-testimonial-quote-icon {
  position: absolute;
  top: 24px;
  left: 26px;
  color: rgba(0, 0, 128, 0.08);
  font-size: 3.2rem;
  line-height: 1;
}

.vp-testimonial-stars {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 5px;
  color: #c8b46a;
  font-size: 0.95rem;
  margin-bottom: 24px;
}

.vp-testimonial-text {
  position: relative;
  z-index: 2;
  color: #4f5f6b;
  font-size: 0.98rem;
  line-height: 2.15;
  margin: 0 0 28px;
  flex: 1;
}

.vp-testimonial-author {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 20px;
  border-top: 1px solid rgba(0, 0, 128, 0.09);
}

.vp-testimonial-avatar {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #000080;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(0, 0, 128, 0.18);
}

.vp-testimonial-author h3 {
  color: #111827;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.7;
  margin: 0 0 4px;
}

.vp-testimonial-author span {
  display: block;
  color: #667085;
  font-size: 0.84rem;
  line-height: 1.8;
  font-weight: 700;
}

.vp-about-certs-strip {
  padding: 72px 20px;
  background: #ffffff;
  border-top: 1px solid rgba(0, 0, 128, 0.08);
  border-bottom: 1px solid rgba(0, 0, 128, 0.08);
}

.vp-about-certs-strip-container {
  width: min(980px, 100%);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 22px 28px;
}

.vp-about-certs-pill {
  min-height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 24px;
  border-radius: 18px;
  background: #f7f7fb;
  border: 1px solid rgba(0, 0, 128, 0.12);
  color: #111827;
  box-shadow: 0 12px 30px rgba(0, 0, 128, 0.045);
  transition: 0.25s ease;
}

.vp-about-certs-pill:hover {
  transform: translateY(-4px);
  background: #ffffff;
  border-color: rgba(0, 0, 128, 0.24);
  box-shadow: 0 18px 42px rgba(0, 0, 128, 0.08);
}

.vp-about-certs-pill i {
  color: #000080;
  font-size: 1.45rem;
  flex: 0 0 auto;
}

.vp-about-certs-pill span {
  font-size: 0.98rem;
  font-weight: 850;
  line-height: 1.8;
  white-space: nowrap;
}

.vp-about-soft-cta {
  padding: 86px 20px 96px;
  background:
    radial-gradient(circle at 12% 18%, rgba(0, 0, 128, 0.06), transparent 28%),
    radial-gradient(
      circle at 88% 20%,
      rgba(200, 180, 106, 0.12),
      transparent 26%
    ),
    linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
}

.vp-about-soft-cta-container {
  width: min(1080px, 100%);
  margin: 0 auto;
  position: relative;
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  align-items: center;
  gap: 34px;
  padding: 42px 46px;
  border-radius: 34px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.92),
      rgba(255, 255, 255, 0.82)
    ),
    radial-gradient(circle at top left, rgba(0, 0, 128, 0.08), transparent 34%);
  border: 1px solid rgba(0, 0, 128, 0.12);
  box-shadow: 0 24px 70px rgba(0, 0, 128, 0.09);
  overflow: hidden;
}

.vp-about-soft-cta-container::before {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  left: -90px;
  bottom: -110px;
  border-radius: 999px;
  background: rgba(0, 0, 128, 0.055);
  pointer-events: none;
}

.vp-about-soft-cta-container::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  right: -60px;
  top: -70px;
  border-radius: 999px;
  background: rgba(200, 180, 106, 0.16);
  pointer-events: none;
}

.vp-about-soft-cta-content {
  position: relative;
  z-index: 2;
}

.vp-about-soft-cta-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 17px;
  border-radius: 999px;
  background: rgba(0, 0, 128, 0.07);
  color: #000080;
  border: 1px solid rgba(0, 0, 128, 0.12);
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 20px;
}

.vp-about-soft-cta-badge i {
  color: #c8b46a;
}

.vp-about-soft-cta h2 {
  color: #111827;
  font-size: clamp(1.55rem, 2.8vw, 2.45rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.5px;
  margin-bottom: 14px;
}

.vp-about-soft-cta h2 span {
  display: block;
  color: #000080;
}

.vp-about-soft-cta p {
  max-width: 680px;
  color: #667085;
  font-size: 1rem;
  line-height: 2.05;
}

.vp-about-soft-cta-actions {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 14px;
}

.vp-about-soft-cta-primary,
.vp-about-soft-cta-secondary {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  padding: 14px 24px;
  text-decoration: none;
  font-weight: 900;
  transition: 0.25s ease;
  white-space: nowrap;
}

.vp-about-soft-cta-primary {
  background: #000080;
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(0, 0, 128, 0.18);
}

.vp-about-soft-cta-primary:hover {
  transform: translateY(-3px);
  background: #00005c;
}

.vp-about-soft-cta-secondary {
  background: #ffffff;
  color: #000080;
  border: 1px solid rgba(0, 0, 128, 0.14);
}

.vp-about-soft-cta-secondary:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 0, 128, 0.26);
  box-shadow: 0 14px 30px rgba(0, 0, 128, 0.08);
}

.vp-about-soft-cta-secondary i {
  font-size: 1.1rem;
}

/* ==================================================
   14. SERVICE-SPECIFIC LATER BLOCKS
   Job Offer / Ausbildung / Professor List / remaining service sections.
================================================== */
/* ================================
   Ausbildung Germany Hero
================================ */

.ausbildung-page {
  background: #f5f5f5;
  overflow: hidden;
}

.vp-ausbildung-hero {
  position: relative;
  padding: 86px 20px 96px;
  background: #f5f5f5;
  overflow: hidden;
}

.vp-ausbildung-hero::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  left: -150px;
  top: 70px;
  border: 1px solid rgba(0, 0, 128, 0.06);
  border-radius: 48% 52% 46% 54%;
  transform: rotate(-16deg);
  pointer-events: none;
}

.vp-ausbildung-hero-container {
  width: min(1180px, 100%);
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  grid-template-areas: "visual content";
  align-items: center;
  gap: 72px;
  direction: ltr;
}

/* Left Visual */
.vp-ausbildung-hero-visual {
  grid-area: visual;
  direction: rtl;
  display: flex;
  justify-content: center;
}

.vp-ausbildung-image-card {
  position: relative;
  width: min(100%, 480px);
  border-radius: 34px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 128, 0.1);
  box-shadow: 0 28px 80px rgba(0, 0, 128, 0.1);
}

.vp-ausbildung-image-card::before {
  content: "";
  position: absolute;
  inset: 40px -24px -24px 40px;
  border-radius: 34px;
  background: rgba(0, 0, 128, 0.055);
  z-index: -1;
}

.vp-ausbildung-image-card img {
  width: 100%;
  height: 390px;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 26px;
}

.vp-ausbildung-floating-card {
  position: absolute;
  right: auto;
  left: 20px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 0, 128, 0.1);
  box-shadow: 0 18px 42px rgba(0, 0, 128, 0.12);
  backdrop-filter: blur(12px);
}

.vp-ausbildung-floating-card strong {
  display: block;
  color: #000080;
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1.55;
}

.vp-ausbildung-floating-card span {
  display: block;
  color: #667085;
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.55;
}

/* Right Content */
.vp-ausbildung-hero-content {
  grid-area: content;
  direction: rtl;
}

.vp-ausbildung-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 10px 7px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #000080;
  border: 1px solid rgba(0, 0, 128, 0.1);
  box-shadow: 0 10px 24px rgba(0, 0, 128, 0.055);
  font-size: 0.82rem;
  font-weight: 900;
  margin-bottom: 22px;
}

.vp-germany-flag {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  border-radius: 999px;
  overflow: hidden;
  border: 3px solid #ffffff;
  box-shadow: 0 8px 20px rgba(0, 0, 128, 0.14);
}

.vp-germany-flag span:nth-child(1) {
  background: #000000;
}

.vp-germany-flag span:nth-child(2) {
  background: #dd0000;
}

.vp-germany-flag span:nth-child(3) {
  background: #ffce00;
}

.vp-ausbildung-badge .vp-germany-flag {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  border-width: 2px;
}

.vp-ausbildung-floating-card .vp-germany-flag {
  width: 28px;
  height: 28px;
  flex-basis: 28px;
  border-width: 2px;
}

.vp-ausbildung-hero-content h1 {
  max-width: 600px;
  color: #000080;
  font-size: clamp(1.65rem, 2.35vw, 2.35rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.25px;
  margin-bottom: 16px;
}

.vp-ausbildung-hero-content h1 span {
  display: block;
}

.vp-ausbildung-title-line {
  width: 82px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--country-primary-accent, #dd0000),
    var(--country-secondary-accent, #ffce00)
  );
  margin: 0 0 26px;
}

.vp-ausbildung-hero-content p {
  max-width: 680px;
  color: #4f5f6b;
  font-size: 0.98rem;
  line-height: 2.12;
  font-weight: 500;
  margin-bottom: 32px;
}

.vp-ausbildung-hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.vp-ausbildung-primary-btn,
.vp-ausbildung-secondary-btn {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  padding: 14px 26px;
  text-decoration: none;
  font-weight: 900;
  transition: 0.25s ease;
}

.vp-ausbildung-primary-btn {
  background: #000080;
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(0, 0, 128, 0.18);
}

.vp-ausbildung-primary-btn:hover {
  transform: translateY(-3px);
  background: #00005c;
}

.vp-ausbildung-secondary-btn {
  background: #ffffff;
  color: #000080;
  border: 2px solid #000080;
}

.vp-ausbildung-secondary-btn:hover {
  transform: translateY(-3px);
  background: rgba(0, 0, 128, 0.05);
}

/* ================================
   Ausbildung Overview Section
================================ */

.vp-ausbildung-overview-section {
  padding: 88px 20px;
}

.vp-ausbildung-overview-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.vp-ausbildung-overview-heading {
  max-width: 720px;
  margin: 0 auto 46px;
  text-align: center;
}

.vp-ausbildung-overview-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(221, 0, 0, 0.08);
  color: var(--country-primary-accent, #dd0000);
  font-size: 0.84rem;
  font-weight: 900;
  margin-bottom: 20px;
}

.vp-ausbildung-overview-heading h2 {
  color: #000080;
  font-size: clamp(1.65rem, 2.6vw, 2.35rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.4px;
  margin-bottom: 14px;
}

.vp-ausbildung-section-line {
  width: 86px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 20px;
  background: linear-gradient(
    90deg,
    var(--country-primary-accent, #dd0000),
    var(--country-secondary-accent, #ffce00)
  );
}

.vp-ausbildung-overview-heading p {
  color: #667085;
  font-size: 0.96rem;
  line-height: 2;
}

/* Cards Grid */
.vp-ausbildung-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 22px;
}

.vp-ausbildung-info-card {
  position: relative;
  min-height: 88px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.09);
  box-shadow: 0 14px 34px rgba(0, 0, 128, 0.05);
  overflow: hidden;
  transition: 0.25s ease;
}

.vp-ausbildung-info-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--country-primary-accent, #dd0000),
    var(--country-secondary-accent, #ffce00)
  );
}

.vp-ausbildung-info-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 0, 128, 0.18);
  box-shadow: 0 20px 46px rgba(0, 0, 128, 0.075);
}

.vp-ausbildung-info-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(221, 0, 0, 0.07);
  color: var(--country-primary-accent, #dd0000);
  font-size: 1rem;
}

.vp-ausbildung-info-card span {
  display: block;
  color: #7a7f8d;
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.7;
  margin-bottom: 2px;
}

.vp-ausbildung-info-card strong {
  display: block;
  color: #111827;
  font-size: 0.9rem;
  font-weight: 950;
  line-height: 1.75;
}

/* ================================
   Ausbildung Definition Section
================================ */

.vp-ausbildung-definition-section {
  padding: 96px 20px;
  overflow: hidden;
}

.vp-ausbildung-definition-container {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  grid-template-areas: "panel content";
  align-items: center;
  gap: 72px;
  direction: ltr;
}

.vp-ausbildung-definition-content {
  grid-area: content;
  direction: rtl;
}

.vp-ausbildung-definition-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 17px;
  border-radius: 999px;
  background: rgba(221, 0, 0, 0.08);
  color: var(--country-primary-accent, #dd0000);
  font-size: 0.86rem;
  font-weight: 900;
  margin-bottom: 22px;
}

.vp-ausbildung-definition-content h2 {
  color: #111827;
  font-size: clamp(1.45rem, 2.25vw, 2.05rem);
  line-height: 1.75;
  font-weight: 900;
  letter-spacing: -0.25px;
  margin-bottom: 22px;
}

.vp-ausbildung-definition-content h2 span {
  color: #000080;
}

.vp-ausbildung-definition-content p {
  max-width: 720px;
  color: #4f5f6b;
  font-size: 1rem;
  line-height: 2.15;
  margin-bottom: 18px;
}

.vp-ausbildung-definition-content p strong {
  color: #000080;
  font-weight: 900;
}

.vp-ausbildung-keynote {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
  align-items: start;
  margin-top: 32px;
  padding: 24px 26px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(0, 0, 128, 0.035), rgba(255, 206, 0, 0.05)),
    #eef4ff;
  border: 1px solid rgba(0, 0, 128, 0.13);
  box-shadow: 0 18px 42px rgba(0, 0, 128, 0.055);
}

.vp-ausbildung-keynote-icon {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(
    135deg,
    var(--country-primary-accent, #dd0000),
    var(--country-secondary-accent, #ffce00)
  );
  color: #ffffff;
  font-size: 1.2rem;
  box-shadow: 0 14px 30px rgba(221, 0, 0, 0.16);
}

.vp-ausbildung-keynote h3 {
  color: #000080;
  font-size: 1.05rem;
  font-weight: 950;
  line-height: 1.8;
  margin-bottom: 6px;
}

.vp-ausbildung-keynote p {
  color: #40556a;
  font-size: 0.95rem;
  line-height: 2.05;
  margin: 0;
}

/* Left Panel */
.vp-ausbildung-definition-panel {
  grid-area: panel;
  display: grid;
  gap: 18px;
  padding: 34px;
  border-radius: 30px;
  background: rgba(247, 247, 252, 0.92);
  border: 1px solid rgba(0, 0, 128, 0.09);
  box-shadow: 0 22px 60px rgba(0, 0, 128, 0.07);
  direction: rtl;
}

.vp-ausbildung-definition-card {
  display: grid;
  grid-template-columns: 56px 1fr;
  align-items: center;
  gap: 16px;
  min-height: 82px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  box-shadow: 0 12px 30px rgba(0, 0, 128, 0.045);
  transition: 0.25s ease;
}

.vp-ausbildung-definition-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 0, 128, 0.18);
  box-shadow: 0 18px 42px rgba(0, 0, 128, 0.08);
}

.vp-ausbildung-definition-icon {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: linear-gradient(
    135deg,
    var(--country-primary-accent, #dd0000),
    var(--country-secondary-accent, #ffce00)
  );
  color: #ffffff;
  font-size: 1.15rem;
  box-shadow: 0 12px 28px rgba(221, 0, 0, 0.14);
}

.vp-ausbildung-definition-card strong {
  display: block;
  color: #000080;
  font-size: 1rem;
  font-weight: 950;
  line-height: 1.75;
  margin-bottom: 2px;
}

.vp-ausbildung-definition-card span {
  display: block;
  color: #6b7280;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.8;
}

/* ================================
   Ausbildung vs University Compare
================================ */

.vp-ausbildung-compare-section {
  padding: 96px 20px;
}

.vp-ausbildung-compare-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.vp-ausbildung-compare-heading {
  max-width: 760px;
  margin: 0 auto 52px;
  text-align: center;
}

.vp-ausbildung-compare-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;
  border-radius: 999px;
  background: #fdecec;
  color: #d43737;
  font-size: 0.88rem;
  font-weight: 900;
  margin-bottom: 20px;
}

.vp-ausbildung-compare-heading h2 {
  color: #000080;
  font-size: clamp(1.7rem, 2.6vw, 2.5rem);
  line-height: 1.7;
  font-weight: 950;
  letter-spacing: -0.4px;
  margin-bottom: 14px;
}

.vp-ausbildung-compare-line {
  width: 105px;
  height: 5px;
  border-radius: 999px;
  margin: 0 auto 22px;
  background: linear-gradient(90deg, #2f2f2f 0%, #d5192d 55%, #d2a14b 100%);
}

.vp-ausbildung-compare-heading p {
  color: #5f6675;
  font-size: 1rem;
  line-height: 2;
}

/* Grid */
.vp-ausbildung-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  align-items: stretch;
}

/* Card Base */
.vp-compare-card {
  min-height: 330px;
  padding: 24px 28px 22px;
  border-radius: 24px;
  background: #ffffff;
}

.vp-compare-card--university {
  border: 2px solid #e7e5f1;
}

.vp-compare-card--ausbildung {
  border: 2px solid #1a1f99;
}

.vp-compare-card-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin-bottom: 18px;
  color: #000080;
}

.vp-compare-card-head h3 {
  font-size: 1.18rem;
  font-weight: 900;
  line-height: 1.55;
  margin: 0;
}

.vp-compare-card-head i {
  font-size: 1.18rem;
  color: #000080;
}

/* List */
.vp-compare-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.vp-compare-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 0;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.75;
  color: #30374a;
}

.vp-compare-list li span {
  flex: 1;
}

.vp-compare-list li i {
  flex: 0 0 16px;
  font-size: 0.9rem;
  text-align: center;
}

.vp-compare-list .is-yes {
  color: #43b36a;
}

.vp-compare-list .is-no {
  color: #e05656;
}

.vp-compare-list .is-neutral {
  color: #c69b3f;
}

/* ================================
   Ausbildung Popular Fields
================================ */

.vp-ausbildung-fields-section {
  padding: 86px 20px;
}

.vp-ausbildung-fields-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.vp-ausbildung-fields-heading {
  max-width: 760px;
  margin: 0 auto 46px;
  text-align: center;
}

.vp-ausbildung-fields-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(221, 0, 0, 0.08);
  color: var(--country-primary-accent, #dd0000);
  font-size: 0.84rem;
  font-weight: 900;
  margin-bottom: 20px;
}

.vp-ausbildung-fields-heading h2 {
  color: #000080;
  font-size: clamp(1.55rem, 2.45vw, 2.25rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.35px;
  margin-bottom: 14px;
}

.vp-ausbildung-fields-line {
  width: 86px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 20px;
  background: linear-gradient(
    90deg,
    var(--country-primary-accent, #dd0000),
    var(--country-secondary-accent, #ffce00)
  );
}

.vp-ausbildung-fields-heading p {
  color: #5f6675;
  font-size: 0.94rem;
  line-height: 2;
}

/* Grid */
.vp-ausbildung-fields-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 20px;
}

/* Compact Cards */
.vp-ausbildung-field-card {
  min-height: 132px;
  padding: 20px 18px 18px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.1);
  box-shadow: 0 12px 30px rgba(0, 0, 128, 0.04);
  text-align: center;
  transition: 0.25s ease;
}

.vp-ausbildung-field-card:hover {
  transform: translateY(-4px);
  border-color: rgba(221, 0, 0, 0.22);
  box-shadow: 0 18px 40px rgba(0, 0, 128, 0.07);
}

.vp-ausbildung-field-icon {
  width: 40px;
  height: 40px;
  margin: 0 auto 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--country-primary-accent, #dd0000);
  font-size: 1.45rem;
  line-height: 1;
  position: relative;
}

.vp-ausbildung-field-icon::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 999px;
  background: radial-gradient(
    circle,
    rgba(255, 206, 0, 0.13),
    rgba(221, 0, 0, 0.05) 62%,
    transparent 72%
  );
  z-index: -1;
}

.vp-ausbildung-field-card h3 {
  color: #111827;
  font-size: 0.92rem;
  font-weight: 900;
  line-height: 1.65;
  margin-bottom: 5px;
}

.vp-ausbildung-field-card p {
  color: #7a7f8d;
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.75;
  margin: 0;
}

/* ================================
   Ausbildung Requirements Section
================================ */

.vp-ausbildung-req-section {
  padding: 96px 20px;
}

.vp-ausbildung-req-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.vp-ausbildung-req-heading {
  max-width: 820px;
  margin: 0 auto 50px;
  text-align: center;
}

.vp-ausbildung-req-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 17px;
  border-radius: 999px;
  background: rgba(221, 0, 0, 0.08);
  color: var(--country-primary-accent, #dd0000);
  font-size: 0.86rem;
  font-weight: 900;
  margin-bottom: 20px;
}

.vp-ausbildung-req-heading h2 {
  color: #000080;
  font-size: clamp(1.6rem, 2.65vw, 2.4rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.35px;
  margin-bottom: 14px;
}

.vp-ausbildung-req-line {
  width: 92px;
  height: 5px;
  border-radius: 999px;
  margin: 0 auto 22px;
  background: linear-gradient(
    90deg,
    var(--country-primary-accent, #dd0000),
    var(--country-secondary-accent, #ffce00)
  );
}

.vp-ausbildung-req-heading p {
  color: #5f6675;
  font-size: 0.96rem;
  line-height: 2;
}

.vp-ausbildung-req-grid {
  width: min(980px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.vp-ausbildung-req-card {
  min-height: 410px;
  padding: 34px 36px 30px;
  border-radius: 22px;
  background: #f8f8fc;
  border: 1px solid rgba(0, 0, 128, 0.1);
}

.vp-ausbildung-req-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 128, 0.09);
  color: #000080;
}

.vp-ausbildung-req-card-title i {
  color: #000080;
  font-size: 1rem;
}

.vp-ausbildung-req-card-title h3 {
  color: #000080;
  font-size: 1.08rem;
  font-weight: 950;
  line-height: 1.7;
  margin: 0;
}

.vp-ausbildung-req-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.vp-ausbildung-req-card li {
  position: relative;
  padding-right: 20px;
  color: #30374a;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 2.15;
  margin-bottom: 6px;
}

.vp-ausbildung-req-card li::before {
  content: "";
  position: absolute;
  right: 0;
  top: 1.05em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #000080;
}

.vp-ausbildung-req-note {
  width: min(980px, 100%);
  margin: 30px auto 0;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
  align-items: start;
  padding: 24px 28px;
  border-radius: 18px;
  background: #fff8df;
  border: 1px solid rgba(245, 158, 11, 0.25);
}

.vp-ausbildung-req-note-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: #f59e0b;
  color: #ffffff;
  font-size: 1.15rem;
}

.vp-ausbildung-req-note h3 {
  color: #8a5a00;
  font-size: 1.05rem;
  font-weight: 950;
  line-height: 1.8;
  margin: 0 0 6px;
}

.vp-ausbildung-req-note p {
  color: #6f520d;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 2.05;
  margin: 0;
}

/* ================================
   Ausbildung Pros & Cons Section
================================ */

.vp-ausbildung-proscons-section {
  padding: 96px 20px;
}

.vp-ausbildung-proscons-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.vp-ausbildung-proscons-heading {
  max-width: 820px;
  margin: 0 auto 52px;
  text-align: center;
}

.vp-ausbildung-proscons-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 17px;
  border-radius: 999px;
  background: rgba(221, 0, 0, 0.08);
  color: var(--country-primary-accent, #dd0000);
  font-size: 0.86rem;
  font-weight: 900;
  margin-bottom: 22px;
}

.vp-ausbildung-proscons-heading h2 {
  color: #000080;
  font-size: clamp(1.6rem, 2.65vw, 2.45rem);
  line-height: 1.65;
  font-weight: 950;
  letter-spacing: -0.35px;
  margin-bottom: 14px;
}

.vp-ausbildung-proscons-line {
  width: 92px;
  height: 5px;
  border-radius: 999px;
  margin: 0 auto 22px;
  background: linear-gradient(
    90deg,
    #2f2f2f 0%,
    var(--country-primary-accent, #dd0000) 55%,
    var(--country-secondary-accent, #ffce00) 100%
  );
}

.vp-ausbildung-proscons-heading p {
  color: #5f6675;
  font-size: 0.96rem;
  line-height: 2;
}

.vp-ausbildung-proscons-grid {
  width: min(960px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.vp-ausbildung-proscons-card {
  position: relative;
  min-height: 390px;
  padding: 42px 46px 38px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  box-shadow: 0 18px 46px rgba(0, 0, 128, 0.055);
  overflow: hidden;
}

.vp-ausbildung-proscons-topline {
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(
    90deg,
    rgba(221, 0, 0, 0.35),
    var(--country-primary-accent, #dd0000)
  );
}

.pros-card .vp-ausbildung-proscons-topline {
  background: linear-gradient(
    90deg,
    var(--country-primary-accent, #dd0000),
    var(--country-secondary-accent, #ffce00)
  );
}

.cons-card .vp-ausbildung-proscons-topline {
  background: linear-gradient(
    90deg,
    rgba(221, 0, 0, 0.35),
    rgba(221, 0, 0, 0.9)
  );
}

.vp-ausbildung-proscons-card h3 {
  color: #000080;
  font-size: 1.28rem;
  font-weight: 950;
  line-height: 1.8;
  margin: 0 0 24px;
  text-align: center;
}

.vp-ausbildung-proscons-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.vp-ausbildung-proscons-card li {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 13px;
  color: #30374a;
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 2.05;
  margin-bottom: 8px;
}

.vp-ausbildung-proscons-card li:last-child {
  margin-bottom: 0;
}

.vp-ausbildung-proscons-card li i {
  flex: 0 0 16px;
  width: 16px;
  text-align: center;
  margin-top: 8px;
  font-size: 0.82rem;
}

.pros-card li i {
  color: var(--country-primary-accent, #dd0000);
}

.cons-card li i {
  color: var(--country-primary-accent, #dd0000);
}

/* ================================
   Services Page
================================ */

.vp-services-page {
  background: #fff;
}

.vp-services-page .services-hero {
  padding: 110px 20px 90px;
  background:
    radial-gradient(
      circle at 18% 20%,
      rgba(229, 114, 0, 0.09),
      transparent 28%
    ),
    radial-gradient(circle at 82% 15%, rgba(23, 74, 106, 0.1), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  text-align: center;
}

.vp-services-page .page-hero-container {
  max-width: 920px;
  margin: 0 auto;
}

.vp-services-page .section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(15, 52, 74, 0.06);
  color: #0f344a;
  font-size: 0.92rem;
  font-weight: 800;
  margin-bottom: 18px;
}

.vp-services-page .section-badge i {
  color: #e57200;
}

.vp-services-page .services-hero h1 {
  color: #070f4d;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.55;
  margin-bottom: 18px;
}

.vp-services-page .services-hero p {
  max-width: 760px;
  margin: 0 auto 26px;
  color: #4d6472;
  font-size: 1.05rem;
  line-height: 2.1;
}

.vp-services-page .hero-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.vp-services-page .primary-btn,
.vp-services-page .secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 24px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  transition: 0.25s ease;
}

.vp-services-page .primary-btn {
  background: #0f344a;
  color: #fff;
  box-shadow: 0 14px 28px rgba(15, 52, 74, 0.18);
}

.vp-services-page .primary-btn:hover {
  background: #174a6a;
  transform: translateY(-3px);
  color: #fff;
}

.vp-services-page .secondary-btn {
  background: #fff;
  color: #0f344a;
  border: 1px solid rgba(15, 52, 74, 0.12);
}

.vp-services-page .secondary-btn:hover {
  color: #e57200;
  border-color: rgba(229, 114, 0, 0.3);
  transform: translateY(-3px);
}

.vp-services-list-section {
  padding: 90px 20px;
  background: #fff;
}

.vp-services-page .container {
  max-width: 1180px;
  margin: 0 auto;
}

.vp-services-page .section-heading {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 42px;
}

.vp-services-page .section-heading h2 {
  color: #0f344a;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  margin-bottom: 14px;
}

.vp-services-page .section-heading p {
  color: #5f7380;
  line-height: 2;
  font-size: 1rem;
}

.vp-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.vp-service-card {
  background: #fff;
  border: 1px solid rgba(15, 52, 74, 0.1);
  border-radius: 26px;
  padding: 28px 24px;
  box-shadow: 0 18px 48px rgba(15, 52, 74, 0.08);
  transition: 0.25s ease;
  position: relative;
  overflow: hidden;
}

.vp-service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(229, 114, 0, 0.08), transparent 45%);
  opacity: 0;
  transition: 0.25s ease;
}

.vp-service-card:hover {
  transform: translateY(-7px);
  border-color: rgba(229, 114, 0, 0.22);
  box-shadow: 0 24px 60px rgba(15, 52, 74, 0.12);
}

.vp-service-card:hover::before {
  opacity: 1;
}

.vp-service-card > * {
  position: relative;
  z-index: 1;
}

.vp-service-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: rgba(229, 114, 0, 0.1);
  color: #e57200;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  margin-bottom: 18px;
}

.vp-service-card h3 {
  color: #0f344a;
  font-size: 1.25rem;
  margin-bottom: 12px;
}

.vp-service-card p {
  color: #5f7380;
  line-height: 2;
  margin-bottom: 16px;
}

.vp-service-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

.vp-service-card li {
  color: #334b5a;
  font-size: 0.94rem;
  margin-bottom: 9px;
  position: relative;
  padding-right: 20px;
}

.vp-service-card li::before {
  content: "✓";
  position: absolute;
  right: 0;
  top: 0;
  color: #e57200;
  font-weight: 900;
}

.vp-service-card a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0f344a;
  font-weight: 900;
  text-decoration: none;
}

.vp-service-card a:hover {
  color: #e57200;
}

.vp-services-why-section {
  padding: 80px 20px;
  background: #f7fafc;
}

.vp-services-why-box {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 34px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(15, 52, 74, 0.1);
  border-radius: 34px;
  padding: 40px;
  box-shadow: 0 20px 60px rgba(15, 52, 74, 0.08);
}

.vp-services-why-content h2 {
  color: #0f344a;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.7;
  margin-bottom: 14px;
}

.vp-services-why-content p {
  color: #5f7380;
  line-height: 2.1;
}

.vp-services-why-items {
  display: grid;
  gap: 16px;
}

.vp-services-why-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 18px;
  border-radius: 22px;
  background: #f8fbfd;
  border: 1px solid rgba(15, 52, 74, 0.08);
}

.vp-services-why-item i {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 16px;
  background: rgba(15, 52, 74, 0.08);
  color: #0f344a;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vp-services-why-item h3 {
  color: #0f344a;
  margin-bottom: 6px;
  font-size: 1.05rem;
}

.vp-services-why-item p {
  color: #5f7380;
  line-height: 1.9;
  font-size: 0.95rem;
}

.vp-services-cta-section {
  padding: 80px 20px 100px;
  background: #fff;
}

.vp-services-cta-box {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  background:
    radial-gradient(
      circle at left top,
      rgba(229, 114, 0, 0.14),
      transparent 35%
    ),
    linear-gradient(135deg, #0f344a, #174a6a);
  border-radius: 34px;
  padding: 42px;
  color: #fff;
  overflow: hidden;
}

.vp-services-cta-box .section-badge {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.vp-services-cta-box .section-badge i {
  color: #fff;
}

.vp-services-cta-box h2 {
  max-width: 700px;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  line-height: 1.8;
  margin-bottom: 10px;
}

.vp-services-cta-box p {
  max-width: 700px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 2;
}

.vp-services-cta-box .primary-btn {
  background: #fff;
  color: #0f344a;
  flex: 0 0 auto;
}

.vp-services-cta-box .primary-btn:hover {
  background: #e57200;
  color: #fff;
}

.countries-grid-section {
  padding: 90px 20px;
}

.countries-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.country-card {
  display: block;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(15, 52, 74, 0.1);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(15, 52, 74, 0.08);
  transition: 0.25s ease;
}

.country-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(15, 52, 74, 0.12);
  border-color: rgba(229, 114, 0, 0.28);
}

.country-card-image {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.country-card-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.country-flag {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.country-flag img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.country-card-content {
  padding: 22px 20px 24px;
}

.country-card-content h3 {
  margin: 0 0 10px;
  color: #0f344a;
  font-size: 1.3rem;
}

.country-card-content p {
  margin: 0 0 16px;
  color: #5f7380;
  line-height: 1.9;
}

.country-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #e57200;
  font-weight: 800;
}
.countries-grid-heading {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.countries-grid-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(229, 114, 0, 0.08);
  color: #e57200;
  font-size: 0.9rem;
  font-weight: 800;
}

.countries-grid-heading h2 {
  margin: 0;
  color: #0f344a;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 900;
  line-height: 1.5;
}

.countries-grid-heading p {
  max-width: 720px;
  margin: 14px auto 0;
  color: #5f7380;
  font-size: 1.05rem;
  line-height: 2;
}

/* Fix RTL placeholder alignment for phone inputs in consultation forms */
.country-form-cta-box input[type="tel"],
.blog-consultation-form input[type="tel"],
.sb-consult-form input[type="tel"],
.consultation-form input[type="tel"],
.booking-form input[type="tel"],
.student-visa-cta-field input[type="tel"],
.contact-form input[type="tel"] {
  direction: rtl;
  text-align: right;
  unicode-bidi: plaintext;
}

.country-form-cta-box input[type="tel"]::placeholder,
.blog-consultation-form input[type="tel"]::placeholder,
.sb-consult-form input[type="tel"]::placeholder,
.consultation-form input[type="tel"]::placeholder,
.booking-form input[type="tel"]::placeholder,
.student-visa-cta-field input[type="tel"]::placeholder,
.contact-form input[type="tel"]::placeholder {
  direction: rtl;
  text-align: right;
}

/* Skilled worker calculator modal spacing fixes */
.skilled-points-modal__body .skilled-calculator-actions {
  margin-top: 28px;
  margin-bottom: 32px;
  display: flex;
  justify-content: center;
}

/* فاصله باکس نتیجه از فرم پیگیری */
.skilled-points-modal__body .skilled-calculator-result {
  margin-top: 24px;
  margin-bottom: 32px;
}

/* فرم پیگیری داخل پاپ‌آپ */
.skilled-points-modal__body .skilled-calculator-contact {
  margin-top: 32px;
  padding: 28px;
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff 0%, #fffaf0 100%);
  border: 1px solid rgba(233, 213, 255, 0.8);
}

/* دکمه ثبت درخواست پیگیری */
.skilled-points-modal__body
  .skilled-calculator-contact
  .skilled-worker-cta-btn {
  margin-top: 22px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 220px;
  height: 54px;
  padding: 0 28px;
  border: none;
  border-radius: 16px;
  background: #050b7a;
  color: #ffffff;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(5, 11, 122, 0.18);
}

.skilled-points-modal__body
  .skilled-calculator-contact
  .skilled-worker-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(5, 11, 122, 0.24);
}

/* جلوگیری از چسبیدن پیام موفقیت به فرم */
.skilled-points-modal__body
  .skilled-calculator-contact
  .vp-consultation-message,
.skilled-points-modal__body .skilled-calculator-contact .consultation-message,
.skilled-points-modal__body .skilled-calculator-contact p:last-child {
  margin-top: 18px;
}

/* Booking loading skeleton */
.booking-loading-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.booking-loading-grid--times {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.booking-skeleton-card,
.booking-skeleton-tab {
  position: relative;
  overflow: hidden;
  min-height: 72px;
  border-radius: 18px;
  background: #f3f4f8 !important;
  border-color: rgba(15, 23, 42, 0.06) !important;
  color: transparent !important;
  pointer-events: none;
}

.booking-skeleton-tab {
  min-height: 48px;
}

.booking-skeleton-card::after,
.booking-skeleton-tab::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(100%);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.75),
    transparent
  );
  animation: bookingSkeletonShimmer 1.2s infinite;
}

@keyframes bookingSkeletonShimmer {
  100% {
    transform: translateX(-100%);
  }
}

.booking-summary-status span {
  white-space: pre-line;
  line-height: 2;
}

.related-article-card h3,
.related-article-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 58px;
  line-height: 1.75;
}
/* =========================================================
   Austria Job Seeker - Minimal Additions
   Add to end of pages.css
========================================================= */

.austria-jobseeker-page {
  background: #f5f5f5;
}

.austria-jobseeker-page .country-guide-label {
  background: var(--country-soft-accent);
  color: var(--country-dark-accent);
}

.austria-jobseeker-page .country-guide-primary-btn,
.austria-jobseeker-page .submit-btn,
.austria-jobseeker-page .skilled-worker-cta-btn {
  background: var(--country-primary-accent);
  border-color: var(--country-primary-accent);
  color: #fff;
}

.austria-jobseeker-page .country-guide-primary-btn:hover,
.austria-jobseeker-page .submit-btn:hover,
.austria-jobseeker-page .skilled-worker-cta-btn:hover {
  background: #fff;
  color: var(--country-primary-accent);
}

.austria-jobseeker-page .skilled-worker-hero__content h1::after,
.austria-jobseeker-page .section-divider,
.austria-jobseeker-page .skilled-worker-summary-heading h2::after,
.austria-jobseeker-page .skilled-assessment-heading h2::after,
.austria-jobseeker-page .skilled-mistakes-heading h2::after,
.austria-jobseeker-page .skilled-related-posts-heading h2::after {
  background: linear-gradient(
    90deg,
    var(--country-dark-accent),
    var(--country-primary-accent),
    var(--country-secondary-accent)
  );
}

.austria-jobseeker-page .skilled-worker-trust-item i,
.austria-jobseeker-page .skilled-worker-summary-card__icon,
.austria-jobseeker-page .skilled-worker-requirement-card i,
.austria-jobseeker-page .skilled-points-card__icon,
.austria-jobseeker-page .skilled-points-factor i,
.austria-jobseeker-page .skilled-assessment-card__icon,
.austria-jobseeker-page .skilled-assessment-note__icon,
.austria-jobseeker-page .skilled-worker-intro-note__head i,
.austria-jobseeker-page .process-icon {
  background: var(--country-soft-accent);
  color: var(--country-dark-accent);
}

.austria-jobseeker-page .skilled-process-grid {
  --line-color: rgba(237, 41, 57, 0.42);
}

.austria-jobseeker-page .skilled-worker-cta-box {
  background:
    linear-gradient(135deg, rgba(143, 0, 24, 0.9), rgba(237, 41, 57, 0.82)),
    url("../images/bg-landscape.webp") no-repeat center center/cover;
}

.austria-jobseeker-page .skilled-worker-cta-content .country-guide-label {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

.austria-jobseeker-page .skilled-worker-cta-content h2,
.austria-jobseeker-page .skilled-worker-cta-content p {
  color: #fff;
}

.austria-score-note {
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: 16px;
  background: var(--country-soft-accent);
  color: var(--country-dark-accent);
  font-size: 0.9rem;
  line-height: 1.9;
}

.austria-score-breakdown {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 14px 0;
}

.austria-score-breakdown span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff;
  color: #333;
  font-size: 0.82rem;
  font-weight: 800;
}

.austria-calculator-help {
  display: block;
  margin-top: 8px;
  color: #777;
  font-size: 0.78rem;
  line-height: 1.8;
}

.austria-points-modal .skilled-calculator-field input {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(0, 0, 128, 0.18);
  border-radius: 12px;
  padding: 0 14px;
  font-family: IRANYekanX, sans-serif;
  background: #fff;
  outline: none;
}

.austria-points-modal .skilled-calculator-field input:focus {
  border-color: var(--country-primary-accent);
  box-shadow: 0 0 0 4px var(--country-soft-accent);
}

.austria-documents-section {
  padding: 72px 0;
  background: #f5f5f5;
}

.austria-documents-box {
  width: 88%;
  max-width: 1200px;
  margin: 0 auto;
}

.austria-documents-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.austria-document-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 128, 0.08);
  border-radius: 22px;
  padding: 24px 22px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
}

.austria-document-card i {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  background: var(--country-soft-accent);
  color: var(--country-dark-accent);
}

.austria-document-card h3 {
  color: #000080;
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 0 10px;
}

.austria-document-card ul {
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.austria-document-card li {
  position: relative;
  padding-right: 20px;
  color: #555;
  font-size: 0.86rem;
  line-height: 1.85;
}

.austria-document-card li::before {
  content: "✓";
  position: absolute;
  right: 0;
  color: var(--country-primary-accent);
  font-weight: 900;
}

/* Global form message */
.vp-form-message {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  margin-top: 14px;
  padding: 15px 16px;
  border-radius: 16px;
  text-align: right;
  animation: vpFormMessageIn 0.3s ease both;
}

.vp-form-message > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  min-width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #ffffff;
  font-size: 16px;
}

.vp-form-message strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14.5px;
  font-weight: 900;
  line-height: 1.7;
}

.vp-form-message span {
  display: block;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.9;
}

.vp-form-message--success {
  border: 1px solid rgba(34, 197, 94, 0.24);
  background: linear-gradient(
    180deg,
    rgba(240, 253, 244, 0.96) 0%,
    rgba(255, 255, 255, 0.9) 100%
  );
  color: #14532d;
  box-shadow: 0 12px 26px rgba(21, 128, 61, 0.12);
}

.vp-form-message--success > i {
  background: #22c55e;
}

.vp-form-message--error {
  border: 1px solid rgba(239, 68, 68, 0.24);
  background: linear-gradient(
    180deg,
    rgba(254, 242, 242, 0.96) 0%,
    rgba(255, 255, 255, 0.9) 100%
  );
  color: #7f1d1d;
  box-shadow: 0 12px 26px rgba(185, 28, 28, 0.1);
}

.vp-form-message--error > i {
  background: #ef4444;
}

@keyframes vpFormMessageIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.vf-rfinder {
  background: #f5f5f5;
  padding: 90px 0;
}

/* WORLD MAP LAYER */
.vf-worldmap {
  position: absolute;
  inset: 0;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='600'%3E%3Cg fill='%23000080' fill-opacity='0.06'%3E%3Ccircle cx='80' cy='120' r='2'/%3E%3Ccircle cx='150' cy='200' r='1.5'/%3E%3Ccircle cx='300' cy='180' r='2'/%3E%3Ccircle cx='450' cy='260' r='1.5'/%3E%3Ccircle cx='600' cy='140' r='2'/%3E%3Ccircle cx='750' cy='220' r='1.5'/%3E%3Ccircle cx='900' cy='180' r='2'/%3E%3Ccircle cx='1050' cy='260' r='1.5'/%3E%3Ccircle cx='200' cy='320' r='2'/%3E%3Ccircle cx='400' cy='340' r='1.5'/%3E%3Ccircle cx='650' cy='320' r='2'/%3E%3Ccircle cx='850' cy='340' r='1.5'/%3E%3Ccircle cx='1000' cy='360' r='2'/%3E%3C/g%3E%3C/svg%3E");

  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;

  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
  animation: mapFloat 12s ease-in-out infinite;
}

.vf-rfinder__container {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 60px;
  align-items: center;
}

/* RIGHT */
.vf-rfinder__badge {
  background: #000080;
  color: #fff;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
}

.vf-rfinder__title {
  font-size: 40px;
  color: #000080;
  margin-top: 20px;
  line-height: 1.4;
}

.vf-rfinder__desc {
  color: #555;
  margin-top: 15px;
  line-height: 1.9;
}

.vf-rfinder__features {
  margin-top: 20px;
}

.vf-rfinder__feature {
  display: flex;
  gap: 10px;
  align-items: center;
  background: #fff;
  padding: 12px;
  border-radius: 12px;
  margin-bottom: 10px;
  border: 1px solid #eee;
  transition: 0.3s;
}

.vf-rfinder__feature i {
  color: #000080;
}

.vf-rfinder__feature:hover {
  transform: translateX(6px);
}

.vf-rfinder__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  background: #000080;
  color: #fff;
  padding: 12px 18px;
  border-radius: 12px;
  text-decoration: none;
}

/* LEFT */
.vf-rfinder__left {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* FILTER BAR */
.vf-filterbar {
  background: #000080;
  padding: 12px;
  border-radius: 14px;
  color: #fff;
}

.vf-filterbar__search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.1);
  padding: 8px;
  border-radius: 10px;
}

.vf-filterbar__search input {
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  width: 100%;
}

.vf-filterbar__chips {
  margin-top: 10px;
  display: flex;
  gap: 8px;
}

.vf-filterbar__chips span {
  background: rgba(255, 255, 255, 0.15);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
}

/* CARDS */
.vf-card {
  background: #fff;
  border-radius: 16px;
  padding: 14px;
  border: 1px solid #eee;
  display: flex;
  gap: 12px;
  transition: 0.3s;
  opacity: 0;
  transform: translateY(30px);
}

.vf-card__img {
  width: 80px;
  height: 80px;
  background: #eaeaff;
  border-radius: 12px;
}

.vf-card h3 {
  margin: 0;
  color: #000080;
}

.vf-card p {
  margin: 4px 0;
  font-size: 12px;
  color: #666;
}

.vf-card__meta {
  display: flex;
  gap: 10px;
  font-size: 11px;
  color: #777;
}

.vf-card__meta i {
  color: #000080;
}

.vf-badge-red {
  background: red;
  color: #fff;
  font-size: 10px;
  padding: 3px 6px;
  border-radius: 999px;
}

.vf-card.active {
  border: 1px solid #000080;
}

/* ANIMATION */
.vf-rfinder.is-visible .vf-card {
  opacity: 1;
  transform: translateY(0);
  transition: 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.vf-rfinder.is-visible .vf-card:nth-child(1) {
  transition-delay: 0.1s;
}
.vf-rfinder.is-visible .vf-card:nth-child(2) {
  transition-delay: 0.2s;
}
.vf-rfinder.is-visible .vf-card:nth-child(3) {
  transition-delay: 0.3s;
}

.vf-card--fade {
  position: relative;
  overflow: hidden;
}

.vf-card--fade::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 55%;

  background: linear-gradient(
    to bottom,
    rgba(245, 245, 245, 0) 0%,
    rgba(245, 245, 245, 0.7) 40%,
    rgba(245, 245, 245, 1) 100%
  );

  backdrop-filter: blur(2px);
  pointer-events: none;
}
.vf-card__img {
  width: 80px;
  height: 80px;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}
