﻿/* ═══════════════════════════════════════════════════════
   COMPONENTS.CSS — Page-specific component styles
   Import this AFTER global.css on pages that need it.
   Each section is labeled so you can find it fast.
   ═══════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────
   HOMEPAGE: Hero
   ───────────────────────────────────────── */
.hero {
  min-height: 92vh;
  background: var(--green-900);
  position: relative;
  display: flex; align-items: center;
  overflow: hidden;
}
.hero-bg-pattern {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 70% 50%, rgba(42,99,71,0.6) 0%, transparent 60%),
    radial-gradient(circle at 10% 80%, rgba(184,146,42,0.15) 0%, transparent 40%);
}
.hero-texture {
  position: absolute; inset: 0; opacity: 0.03;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.hero-flag-stripe {
  position: absolute; right: 0; top: 0; bottom: 0; width: 6px;
  background: linear-gradient(to bottom, var(--green-600) 33.3%, #ffffff 33.3%, #ffffff 66.6%, var(--red-italy) 66.6%);
  opacity: 0.7;
}
.hero-content {
  position: relative; z-index: 2;
  padding: 80px 24px;
  max-width: 1140px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
}
.hero-left { animation: fadeUp 0.7s ease both; }
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold-400); margin-bottom: 20px;
}
.hero-eyebrow::before { content: ''; display: block; width: 24px; height: 1px; background: var(--gold-400); }
.hero h1 { color: var(--ivory); margin-bottom: 20px; }
.hero h1 em { font-style: normal; color: var(--gold-400); }
.hero-lead { font-size: 1.1rem; color: var(--green-200); margin-bottom: 36px; line-height: 1.7; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-actions .btn-primary { background: var(--gold-600); color: #fff; }
.hero-actions .btn-primary:hover { background: var(--gold-400); }
.hero-actions .btn-outline { border-color: var(--green-200); color: var(--green-200); }
.hero-actions .btn-outline:hover { background: var(--green-200); color: var(--green-900); }

/* Hero card (right column) */
.hero-card {
  background: rgba(250,248,243,0.06);
  border: 1px solid rgba(250,248,243,0.12);
  border-radius: var(--radius-xl);
  padding: 32px;
  animation: fadeUp 0.7s 0.15s ease both;
}
.hero-card-title { font-family: var(--font-display); font-size: 1rem; color: var(--gold-400); margin-bottom: 20px; letter-spacing: 0.05em; }
.process-steps { display: flex; flex-direction: column; gap: 0; }
.process-step {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(250,248,243,0.08);
  cursor: pointer; transition: opacity 0.15s;
}
.process-step:last-child { border-bottom: none; }
.process-step:hover { opacity: 0.85; }
.step-num {
  width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
  background: rgba(212,168,67,0.15); border: 1px solid var(--gold-600);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.8rem; font-weight: 700; color: var(--gold-400);
}
.step-info { flex: 1; }
.step-name { font-size: 0.92rem; font-weight: 600; color: var(--ivory); margin-bottom: 2px; }
.step-desc { font-size: 0.8rem; color: var(--green-200); }
.step-arrow { color: var(--gold-600); font-size: 0.9rem; margin-top: 6px; }

/* ─────────────────────────────────────────
   HOMEPAGE: Service Cards
   ───────────────────────────────────────── */
.services-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 28px;
  max-width: 900px; margin: 0 auto;
}
.service-card {
  background: #fff; border-radius: var(--radius-lg);
  border: 1px solid var(--green-100);
  padding: 36px;
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative; overflow: hidden;
}
.service-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--green-600);
}
.service-card.featured::before { background: var(--gold-600); }
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.service-badge {
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 20px; display: inline-block; margin-bottom: 16px;
}
.service-badge.green { background: var(--green-50); color: var(--green-700); }
.service-badge.gold  { background: var(--gold-100); color: var(--gold-600); }
.service-icon {
  width: 52px; height: 52px; border-radius: var(--radius-sm);
  background: var(--green-50); display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.service-card.featured .service-icon { background: var(--gold-100); }
.service-card h3 { color: var(--green-900); margin-bottom: 10px; }
.service-card .price { font-family: var(--font-display); font-size: 2.4rem; font-weight: 700; color: var(--green-800); line-height: 1; margin: 16px 0 4px; }
.service-card .price-note { font-size: 0.82rem; color: var(--text-muted); margin-bottom: 20px; }
.service-features { list-style: none; margin-bottom: 28px; }
.service-features li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 0.88rem; color: var(--text-mid);
  padding: 7px 0; border-bottom: 1px solid var(--green-50);
}
.service-features li:last-child { border-bottom: none; }
.check { color: var(--green-600); font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.service-card .btn-primary { width: 100%; justify-content: center; }
.service-card.featured .btn-primary { background: var(--gold-600); }
.service-card.featured .btn-primary:hover { background: var(--gold-400); }

/* Bundle card */
.bundle-card {
  background: var(--green-900); border-radius: var(--radius-lg);
  padding: 36px; text-align: center;
  border: 1px solid var(--green-700);
  max-width: 900px; margin: 28px auto 0;
  position: relative; overflow: hidden;
}
.bundle-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(to right, var(--green-600), var(--gold-600), var(--green-600));
}
.bundle-card h3 { color: var(--ivory); font-size: 1.4rem; margin-bottom: 8px; }
.bundle-card .price { font-family: var(--font-display); font-size: 3rem; font-weight: 700; color: var(--gold-400); line-height: 1; margin: 12px 0 4px; }
.bundle-card .price s { font-size: 1.4rem; color: var(--green-400); margin-right: 12px; }
.bundle-card p { color: var(--green-200); margin-bottom: 24px; }
.bundle-card .btn-primary { background: var(--gold-600); font-size: 1rem; padding: 14px 36px; }

/* ─────────────────────────────────────────
   HOMEPAGE: How It Works
   ───────────────────────────────────────── */
.how-section { background: var(--green-900); padding: 96px 0; }
.how-section .section-header h2 { color: var(--ivory); }
.how-section .section-header p { color: var(--green-200); }

.full-steps { display: grid; grid-template-columns: repeat(7, 1fr); gap: 16px; margin-top: 56px; }
.full-step-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-md);
  padding: 20px 16px; text-align: center;
  text-decoration: none; display: block;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}
.full-step-card:hover { background: rgba(255,255,255,0.08); border-color: var(--gold-600); transform: translateY(-3px); }
.full-step-card .num { font-size: 0.7rem; font-weight: 700; color: var(--gold-600); letter-spacing: 0.1em; margin-bottom: 6px; }
.full-step-card .label { font-size: 0.82rem; font-weight: 600; color: var(--ivory); }

/* ─────────────────────────────────────────
   HOMEPAGE: Why Choose Us
   ───────────────────────────────────────── */
.why-section { background: var(--ivory-dark); padding: 96px 0; }
.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.why-card { background: #fff; border-radius: var(--radius-md); padding: 28px; border: 1px solid var(--green-100); }
.why-icon { font-size: 1.8rem; margin-bottom: 14px; }
.why-card h3 { color: var(--green-900); font-size: 1.05rem; margin-bottom: 8px; }
.why-card p { font-size: 0.88rem; }

/* ─────────────────────────────────────────
   HOMEPAGE: Stats Bar
   ───────────────────────────────────────── */
.stats-bar { background: var(--gold-100); border-top: 1px solid var(--gold-200); border-bottom: 1px solid var(--gold-200); padding: 48px 0; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.stat-item { text-align: center; padding: 0 24px; border-right: 1px solid var(--gold-200); }
.stat-item:last-child { border-right: none; }
.stat-num { font-family: var(--font-display); font-size: 2.8rem; font-weight: 700; color: var(--green-800); line-height: 1; }
.stat-label { font-size: 0.85rem; color: var(--text-mid); margin-top: 6px; }

/* ─────────────────────────────────────────
   HOMEPAGE: Testimonials
   ───────────────────────────────────────── */
.testimonials-section { padding: 96px 0; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.testimonial-card { background: #fff; border-radius: var(--radius-md); border: 1px solid var(--green-100); padding: 28px; }
.stars { color: var(--gold-600); font-size: 0.9rem; margin-bottom: 14px; letter-spacing: 3px; }
.testimonial-text { font-size: 0.9rem; color: var(--text-mid); font-style: italic; margin-bottom: 18px; line-height: 1.7; }
.testimonial-author { display: flex; align-items: center; gap: 10px; }
.author-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--green-200); display: flex; align-items: center; justify-content: center; font-size: 0.78rem; font-weight: 700; color: var(--green-800); }
.author-name { font-size: 0.88rem; font-weight: 600; color: var(--green-900); }
.author-trip { font-size: 0.78rem; color: var(--text-muted); }

/* ─────────────────────────────────────────
   FAQ PAGE: Accordion
   ───────────────────────────────────────── */
.faq-categories { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; justify-content: center; }
.faq-cat-btn {
  font-size: 0.82rem; font-weight: 600; padding: 8px 18px;
  border-radius: 20px; border: 1.5px solid var(--green-200);
  background: transparent; color: var(--text-mid); cursor: pointer;
  transition: all 0.15s;
}
.faq-cat-btn:hover, .faq-cat-btn.active { background: var(--green-800); color: var(--ivory); border-color: var(--green-800); }

.faq-list { max-width: 760px; margin: 0 auto; }
.faq-item {
  border: 1px solid var(--green-100); border-radius: var(--radius-md);
  margin-bottom: 10px; overflow: hidden;
  transition: box-shadow 0.15s;
}
.faq-item.open { box-shadow: var(--shadow-sm); }
.faq-q {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 24px; cursor: pointer;
  font-weight: 600; font-size: 0.95rem; color: var(--green-900);
  background: #fff; gap: 16px;
}
.faq-q:hover { background: var(--green-50); }
.faq-icon { font-size: 1.2rem; color: var(--gold-600); flex-shrink: 0; transition: transform 0.25s; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-a {
  display: none; padding: 0 24px 18px;
  font-size: 0.9rem; color: var(--text-mid);
  background: #fff; line-height: 1.75;
}
.faq-a.open { display: block; }
.faq-a ul { margin: 10px 0 0 20px; }
.faq-a li { margin-bottom: 6px; }

/* ─────────────────────────────────────────
   ELIGIBILITY PAGE: Quiz
   ───────────────────────────────────────── */
.quiz-card {
  background: #fff; border: 1px solid var(--green-100);
  border-radius: var(--radius-lg); padding: 40px;
  max-width: 640px; margin: 0 auto;
  box-shadow: var(--shadow-sm);
}
.quiz-progress { display: flex; gap: 6px; margin-bottom: 32px; }
.quiz-progress-dot {
  height: 4px; flex: 1; border-radius: 2px;
  background: var(--green-100); transition: background 0.3s;
}
.quiz-progress-dot.done { background: var(--green-600); }
.quiz-progress-dot.current { background: var(--gold-600); }

.quiz-question { font-family: var(--font-display); font-size: 1.3rem; color: var(--green-900); margin-bottom: 24px; line-height: 1.4; }
.quiz-options { display: flex; flex-direction: column; gap: 10px; }
.quiz-option {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 18px; border-radius: var(--radius-md);
  border: 1.5px solid var(--green-100); cursor: pointer;
  font-size: 0.92rem; color: var(--text-mid);
  transition: border-color 0.15s, background 0.15s;
}
.quiz-option:hover { border-color: var(--green-600); background: var(--green-50); }
.quiz-option.selected { border-color: var(--green-600); background: var(--green-50); color: var(--green-800); font-weight: 600; }
.quiz-option-radio {
  width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid var(--green-200); flex-shrink: 0;
  transition: border-color 0.15s, background 0.15s;
}
.quiz-option.selected .quiz-option-radio { border-color: var(--green-600); background: var(--green-600); }

.quiz-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 28px; }
.quiz-back { background: none; border: none; color: var(--text-muted); font-size: 0.88rem; cursor: pointer; padding: 8px 0; }
.quiz-back:hover { color: var(--green-800); }

.quiz-result { text-align: center; }
.result-icon { font-size: 3rem; margin-bottom: 16px; }
.result-title { font-family: var(--font-display); font-size: 1.5rem; color: var(--green-900); margin-bottom: 12px; }
.result-text { color: var(--text-mid); margin-bottom: 28px; line-height: 1.7; }
.result-actions { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }

/* ─────────────────────────────────────────
   DOCUMENTS PAGE: Consulate Tabs + Checklist
   ───────────────────────────────────────── */
.consulate-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 32px; }
.cons-tab {
  font-size: 0.82rem; font-weight: 600; padding: 8px 16px;
  border-radius: var(--radius-sm); border: 1.5px solid var(--green-100);
  background: #fff; color: var(--text-mid); cursor: pointer;
  transition: all 0.15s;
}
.cons-tab:hover { border-color: var(--green-600); color: var(--green-800); }
.cons-tab.active { background: var(--green-800); color: var(--ivory); border-color: var(--green-800); }

.consulate-panel { display: none; }
.consulate-panel.active { display: block; }

.doc-section { margin-bottom: 36px; }
.doc-section h3 { font-size: 1rem; font-weight: 700; color: var(--green-900); margin-bottom: 14px; padding-bottom: 8px; border-bottom: 2px solid var(--green-100); }
.doc-list { list-style: none; }
.doc-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 11px 0; border-bottom: 1px solid var(--green-50);
  font-size: 0.9rem; color: var(--text-mid);
}
.doc-item:last-child { border-bottom: none; }
.doc-check { color: var(--green-600); font-weight: 700; flex-shrink: 0; margin-top: 2px; }
.doc-required { font-size: 0.7rem; font-weight: 700; padding: 2px 8px; border-radius: 10px; margin-left: 8px; flex-shrink: 0; }
.doc-required.req { background: #fee2e2; color: #dc2626; }
.doc-required.opt { background: var(--green-50); color: var(--green-600); }

/* ─────────────────────────────────────────
   FEES PAGE: Cost Table + Calculator
   ───────────────────────────────────────── */
.fees-table { width: 100%; border-collapse: collapse; margin-bottom: 32px; }
.fees-table th { background: var(--green-800); color: var(--ivory); padding: 12px 18px; text-align: left; font-size: 0.85rem; font-weight: 600; }
.fees-table td { padding: 12px 18px; border-bottom: 1px solid var(--green-100); font-size: 0.9rem; color: var(--text-mid); }
.fees-table tr:last-child td { border-bottom: none; }
.fees-table tr:hover td { background: var(--green-50); }
.fees-table .total-row td { font-weight: 700; color: var(--green-900); background: var(--green-50); }

.calculator-card {
  background: #fff; border: 1px solid var(--green-100);
  border-radius: var(--radius-lg); padding: 32px;
  box-shadow: var(--shadow-sm);
}
.calc-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--green-50); gap: 16px; }
.calc-row:last-child { border-bottom: none; }
.calc-label { font-size: 0.9rem; color: var(--text-mid); }
.calc-input { width: 80px; padding: 8px 12px; border: 1.5px solid var(--green-100); border-radius: var(--radius-sm); font-size: 0.9rem; text-align: center; }
.calc-input:focus { outline: none; border-color: var(--green-600); }
.calc-total { font-family: var(--font-display); font-size: 2rem; font-weight: 700; color: var(--green-800); }

/* ─────────────────────────────────────────
   ORDER / PURCHASE PAGES
   ───────────────────────────────────────── */
.order-layout { display: grid; grid-template-columns: 1fr 420px; gap: 48px; align-items: start; }
.order-card {
  background: #fff; border: 1.5px solid var(--green-100);
  border-radius: var(--radius-lg); padding: 32px;
  position: sticky; top: 90px;
  box-shadow: var(--shadow-md);
}
.order-card h2 { font-size: 1.3rem; color: var(--green-900); margin-bottom: 8px; }
.order-price { font-family: var(--font-display); font-size: 2.6rem; font-weight: 700; color: var(--green-800); margin-bottom: 24px; line-height: 1; }
.order-price span { font-size: 1rem; font-weight: 400; color: var(--text-muted); }
.form-row { margin-bottom: 16px; }
.form-label { display: block; font-size: 0.82rem; font-weight: 600; color: var(--green-900); margin-bottom: 6px; }
.form-input, .form-select {
  width: 100%; padding: 10px 14px;
  border: 1.5px solid var(--green-100); border-radius: var(--radius-sm);
  font-family: var(--font-body); font-size: 0.9rem; color: var(--text-dark);
  background: #fff; transition: border-color 0.15s;
}
.form-input:focus, .form-select:focus { outline: none; border-color: var(--green-600); }
.add-appt, .add-full {
  background: var(--green-50); border: 1.5px solid var(--green-100);
  border-radius: var(--radius-sm); padding: 14px;
  margin-bottom: 16px;
}
.add-appt label, .add-full label { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; font-size: 0.88rem; color: var(--text-mid); }
.total-row { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-top: 2px solid var(--green-100); margin-bottom: 16px; }
.total-label { font-weight: 700; color: var(--green-900); }
.total-amount { font-family: var(--font-display); font-size: 2rem; font-weight: 700; color: var(--green-800); }
.order-btn {
  width: 100%; padding: 15px; border: none; border-radius: var(--radius-md);
  background: var(--gold-600); color: #fff;
  font-family: var(--font-body); font-size: 1rem; font-weight: 700;
  cursor: pointer; transition: background 0.2s, transform 0.15s;
}
.order-btn:hover { background: var(--gold-400); transform: translateY(-1px); }
.order-note { font-size: 0.78rem; color: var(--text-muted); text-align: center; margin-top: 12px; line-height: 1.5; }
.trust-badges { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 14px; }
.trust-badge { font-size: 0.72rem; font-weight: 600; color: var(--green-700); background: var(--green-50); padding: 4px 10px; border-radius: 20px; }

.included-list { list-style: none; margin-bottom: 40px; }
.included-item { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--green-100); }
.included-item:last-child { border-bottom: none; }
.inc-icon { font-size: 1.4rem; flex-shrink: 0; margin-top: 2px; }
.inc-body h4 { font-size: 0.95rem; color: var(--green-900); margin-bottom: 4px; }
.inc-body p { font-size: 0.85rem; }

.how-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 36px; }
.how-step { text-align: center; padding: 20px 16px; background: var(--green-50); border-radius: var(--radius-md); }
.how-num { width: 40px; height: 40px; border-radius: 50%; background: var(--green-800); color: var(--ivory); font-weight: 700; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; font-size: 1.1rem; }
.how-step h4 { font-size: 0.9rem; color: var(--green-900); margin-bottom: 6px; }
.how-step p { font-size: 0.82rem; }

/* ─────────────────────────────────────────
   CONTACT PAGE
   ───────────────────────────────────────── */
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.contact-form-card { background: #fff; border: 1px solid var(--green-100); border-radius: var(--radius-lg); padding: 36px; }
.contact-info-block { margin-bottom: 32px; }
.contact-info-block h3 { font-size: 1rem; color: var(--green-900); margin-bottom: 14px; }
.contact-detail { display: flex; gap: 12px; margin-bottom: 14px; font-size: 0.9rem; color: var(--text-mid); }
.contact-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 2px; }

/* ─────────────────────────────────────────
   BLOG PAGES
   ───────────────────────────────────────── */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.blog-card {
  background: #fff; border-radius: var(--radius-md);
  border: 1px solid var(--green-100);
  overflow: hidden; text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex; flex-direction: column;
}
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.blog-card-body { padding: 24px; flex: 1; }
.blog-card-tag { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold-600); margin-bottom: 10px; }
.blog-card-title { font-family: var(--font-display); font-size: 1.1rem; color: var(--green-900); margin-bottom: 10px; line-height: 1.35; }
.blog-card-excerpt { font-size: 0.85rem; color: var(--text-mid); line-height: 1.6; }
.blog-card-footer { padding: 14px 24px; border-top: 1px solid var(--green-50); font-size: 0.78rem; color: var(--text-muted); }

.article-body { max-width: 720px; }
.article-body h2 { font-size: 1.6rem; color: var(--green-900); margin: 40px 0 16px; }
.article-body h3 { font-size: 1.2rem; color: var(--green-900); margin: 28px 0 12px; }
.article-body p { margin-bottom: 16px; line-height: 1.8; }
.article-body ul, .article-body ol { margin: 0 0 16px 24px; }
.article-body li { margin-bottom: 8px; font-size: 0.95rem; color: var(--text-mid); line-height: 1.7; }
.article-body .info-box { background: var(--green-50); border-left: 4px solid var(--green-600); padding: 16px 20px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin: 24px 0; }
.article-body .warning-box { background: #fff8e1; border-left: 4px solid var(--gold-600); padding: 16px 20px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin: 24px 0; }

/* ─────────────────────────────────────────
   LEGAL PAGES (Privacy, Terms, Disclaimer)
   ───────────────────────────────────────── */
.legal-content { max-width: 760px; margin: 0 auto; }
.legal-content h2 { font-size: 1.3rem; color: var(--green-900); margin: 36px 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--green-100); }
.legal-content h3 { font-size: 1.05rem; color: var(--green-900); margin: 24px 0 10px; }
.legal-content p { margin-bottom: 14px; font-size: 0.92rem; line-height: 1.8; }
.legal-content ul { margin: 0 0 14px 24px; }
.legal-content li { margin-bottom: 8px; font-size: 0.9rem; color: var(--text-mid); line-height: 1.7; }

/* ─────────────────────────────────────────
   CONSULATE INFO (reused across pages)
   ───────────────────────────────────────── */
.consulates-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin-bottom: 32px; }
.consulate-tag {
  background: #fff; border: 1px solid var(--green-100);
  border-radius: var(--radius-sm); padding: 12px 16px;
  font-size: 0.85rem; color: var(--text-mid);
}
.consulate-tag strong { display: block; color: var(--green-900); margin-bottom: 2px; }

.warning-box { background: #fff8e1; border: 1px solid var(--gold-200); border-radius: var(--radius-md); padding: 16px 20px; margin: 24px 0; font-size: 0.88rem; color: var(--text-mid); }
.info-box { background: var(--green-50); border: 1px solid var(--green-100); border-radius: var(--radius-md); padding: 16px 20px; margin: 24px 0; font-size: 0.88rem; color: var(--text-mid); }

/* ─────────────────────────────────────────
   RESPONSIVE — Components
   ───────────────────────────────────────── */
@media (max-width: 900px) {
  .hero-content { grid-template-columns: 1fr; }
  .hero-card { display: none; }
  .services-grid { grid-template-columns: 1fr; max-width: 480px; }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .stat-item { border-right: none; border-bottom: 1px solid var(--gold-200); padding-bottom: 24px; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .full-steps { grid-template-columns: repeat(3, 1fr); }
  .order-layout { grid-template-columns: 1fr; }
  .order-card { position: static; }
  .contact-layout { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .how-steps { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .why-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .full-steps { grid-template-columns: repeat(2, 1fr); }
  .blog-grid { grid-template-columns: 1fr; }
  .faq-categories { gap: 6px; }
}

/* ═══════════════════════════════════════════════════════
   LEGACY SHORTHANDS — 旧版页面兼容层
   这些是中文版和部分英文页面使用的缩写 class。
   不要删除，否则旧页面样式会崩。
   ═══════════════════════════════════════════════════════ */

/* Hero (inner pages - 旧版) */
.hero { background:var(--green-900); padding:56px 24px 64px; position:relative; overflow:hidden; }
.hero::after { content:''; position:absolute; right:0; top:0; bottom:0; width:5px; background:linear-gradient(to bottom,var(--green-600) 33%,#fff 33%,#fff 67%,var(--red-italy) 67%); opacity:0.6; }
.tag-pill { display:inline-flex; background:rgba(212,168,67,0.15); color:var(--gold-400); border:1px solid rgba(212,168,67,0.3); border-radius:20px; font-size:0.72rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:5px 14px; margin-bottom:18px; }
.hero h1 { color:var(--ivory); font-size:clamp(1.9rem,4vw,2.8rem); margin-bottom:14px; }
.hero h1 em { font-style:normal; color:var(--gold-400); }
.hero .lead { color:var(--green-200); font-size:1rem; max-width:560px; }
.hero-center { text-align:center; }
.hero-center h1, .hero-center .lead { margin-left:auto; margin-right:auto; }

/* Breadcrumb */
.bc { padding:16px 0; font-size:0.82rem; color:var(--text-muted); }
.bc a { color:var(--text-muted); text-decoration:none; }
.bc span { margin:0 6px; }

/* Section */
.sec { padding:48px 0 80px; }
.sl { font-size:0.72rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:16px; padding-bottom:8px; border-bottom:1px solid var(--green-100); }

/* Grid */
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:32px; }

/* Card */
.card { background:#fff; border:1px solid var(--green-100); border-radius:var(--radius-md); padding:22px; }
.card h3 { font-size:0.95rem; color:var(--green-900); margin-bottom:8px; }
.card p, .card li { font-size:0.85rem; color:var(--text-mid); line-height:1.7; }
.card ul { margin-left:16px; }

/* CTA block */
.cta { background:var(--green-800); border-radius:var(--radius-lg); padding:36px; text-align:center; margin-top:40px; }
.cta h2 { font-size:1.3rem; color:var(--ivory); margin-bottom:10px; }
.cta p { font-size:0.9rem; color:var(--green-200); margin-bottom:24px; }
.btr { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.bp { background:var(--gold-600); color:#fff; padding:13px 26px; border-radius:var(--radius-sm); text-decoration:none; font-weight:600; font-size:0.92rem; transition:background 0.2s; }
.bp:hover { background:var(--gold-400); }
.bo { border:1.5px solid var(--green-200); color:var(--green-200); padding:12px 26px; border-radius:var(--radius-sm); text-decoration:none; font-weight:500; font-size:0.92rem; }

/* Form shorthands */
.fl { display:block; font-size:0.78rem; font-weight:600; color:var(--text-mid); margin-bottom:4px; }
.fi, .fs { width:100%; padding:9px 12px; border:1.5px solid var(--green-100); border-radius:var(--radius-sm); font-family:var(--font-body); font-size:0.88rem; background:var(--ivory); color:var(--text-dark); }
.fi:focus, .fs:focus { outline:none; border-color:var(--green-600); }
.ft { width:100%; padding:9px 12px; border:1.5px solid var(--green-100); border-radius:var(--radius-sm); font-family:var(--font-body); font-size:0.88rem; background:var(--ivory); color:var(--text-dark); height:110px; resize:vertical; }
.ft:focus { outline:none; border-color:var(--green-600); }
.sb { width:100%; background:var(--gold-600); color:#fff; border:none; padding:13px; border-radius:var(--radius-sm); font-family:var(--font-body); font-size:0.95rem; font-weight:700; cursor:pointer; margin-top:8px; }
.sb:hover { background:var(--gold-400); }

/* Add-on box */
.add-box { background:var(--gold-100); border:1px solid var(--gold-200); border-radius:var(--radius-sm); padding:12px 14px; margin-bottom:14px; }
.add-box label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:0.83rem; color:var(--text-mid); }
.add-box input[type=checkbox] { margin-top:2px; flex-shrink:0; accent-color:var(--gold-600); }

/* Price / total */
.price-lg { font-family:var(--font-display); font-size:2.2rem; font-weight:700; color:var(--gold-600); margin:10px 0 16px; }
.price-lg span { font-size:0.85rem; font-weight:400; color:var(--text-muted); }
.total-lbl { font-size:0.88rem; font-weight:600; color:var(--text-mid); }
.total-amt { font-family:var(--font-display); font-size:1.5rem; font-weight:700; color:var(--green-800); }

/* Included list */
.incl-list { list-style:none; margin-bottom:32px; }
.incl-item { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--green-100); }
.incl-item:last-child { border-bottom:none; }
.incl-icon { width:38px; height:38px; border-radius:9px; background:var(--green-50); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.incl-body h4 { font-size:0.9rem; font-weight:600; color:var(--green-900); margin-bottom:3px; }
.incl-body p { font-size:0.82rem; color:var(--text-mid); line-height:1.5; }

/* How steps */
.how-num { width:38px; height:38px; border-radius:50%; background:var(--green-800); color:var(--gold-400); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.05rem; font-weight:700; margin:0 auto 10px; }

/* Contact form */
.contact-form { background:#fff; border:1px solid var(--green-100); border-radius:var(--radius-lg); padding:32px; box-shadow:var(--shadow-md); }
.contact-form h2 { font-size:1.2rem; color:var(--green-900); margin-bottom:6px; }
.contact-form p { font-size:0.85rem; color:var(--text-muted); margin-bottom:20px; }

/* Legal content */
.lc h1 { font-family:var(--font-display); font-size:2rem; color:var(--green-900); margin-bottom:8px; }
.lc h2 { font-family:var(--font-display); font-size:1.15rem; color:var(--green-900); margin:28px 0 10px; }
.lc p { font-size:0.92rem; color:var(--text-mid); margin-bottom:14px; }
.lc ul { font-size:0.92rem; color:var(--text-mid); margin:0 0 14px 20px; }
.lc li { margin-bottom:6px; }
.upd { font-size:0.82rem; color:var(--text-muted); margin-bottom:32px; }
.hl { background:var(--green-50); border-left:4px solid var(--green-800); padding:16px 20px; border-radius:0 var(--radius-sm) var(--radius-sm) 0; margin-bottom:20px; }
.hl p { font-weight:500; color:var(--green-900); margin-bottom:0; font-size:0.92rem; }

/* Nav shorthands */
.nav-r { display:flex; align-items:center; gap:8px; }
.nb { font-size:0.85rem; color:var(--text-mid); text-decoration:none; padding:8px 14px; border-radius:var(--radius-sm); }

/* Footer shorthands */
.fb { max-width:1100px; margin:0 auto; display:flex; justify-content:space-between; font-size:0.8rem; color:var(--green-200); flex-wrap:wrap; gap:12px; }
.fl2 { display:flex; gap:16px; flex-wrap:wrap; }
.fl2 a { color:var(--green-200); text-decoration:none; }
.fl2 a:hover { color:var(--ivory); }

/* FAQ shorthands */
.fg { display:flex; flex-direction:column; gap:10px; }
.na { background:var(--green-50); padding:0 20px; max-height:0; overflow:hidden; transition:max-height 0.3s ease, padding 0.3s ease; }
.na.open { max-height:600px; padding:16px 20px; }
.na p, .na li { font-size:0.9rem; color:var(--text-mid); line-height:1.75; }
.na ul { margin:8px 0 0 18px; }
.nr { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; cursor:pointer; background:#fff; gap:12px; }
.nr:hover { background:var(--green-50); }
.num { font-size:0.75rem; font-weight:700; color:var(--gold-600); background:var(--gold-100); padding:3px 8px; border-radius:10px; flex-shrink:0; }
.stl { font-size:1rem; font-weight:600; color:var(--green-900); flex:1; }
.stn { font-size:1.1rem; color:var(--gold-600); transition:transform 0.25s; flex-shrink:0; }
.open > .nr .stn { transform:rotate(45deg); }

/* Misc */
.tip { background:var(--gold-100); border:1px solid var(--gold-200); border-radius:var(--radius-sm); padding:12px 16px; font-size:0.85rem; color:var(--text-mid); margin:16px 0; }
.yes { color:var(--green-600); font-weight:700; }
.no  { color:#dc2626; font-weight:700; }
.cb  { display:flex; flex-direction:column; gap:8px; }

/* Legacy responsive */
@media (max-width: 860px) {
  .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .grid2 { grid-template-columns: 1fr; }
  .btr { flex-direction: column; align-items: center; }
}
/* ═══ MISSING CLASSES — AUTO EXTRACTED ═══ */

.article-hero h1 {color:var(--ivory);font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:16px;max-width:720px;}
.article-hero::after {content:'';position:absolute;right:0;top:0;bottom:0;width:5px;background:linear-gradient(to bottom,var(--green-600) 33%,#fff 33%,#fff 67%,var(--red-italy) 67%);opacity:0.6;}
.article-layout {grid-template-columns:1fr;}
.article-meta {display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.article-meta span {font-size:0.82rem;color:var(--green-200);}
.article-meta strong {color:var(--gold-400);}
.article-tag {display:inline-flex;background:rgba(212,168,67,0.15);color:var(--gold-400);border:1px solid rgba(212,168,67,0.3);border-radius:20px;font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:5px 14px;margin-bottom:16px;}
.blog-excerpt {font-size:0.83rem;color:var(--text-muted);line-height:1.6;margin-bottom:14px;}
.blog-meta {font-size:0.75rem;color:var(--text-muted);display:flex;gap:12px;}
.blog-tag {display:inline-block;font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;background:var(--green-50);color:var(--green-700);padding:3px 10px;border-radius:10px;margin-bottom:12px;}
.blog-title {font-family:var(--font-display);font-size:1.05rem;color:var(--green-900);margin-bottom:8px;line-height:1.3;}
.bottom-cta {background:var(--green-800);border-radius:var(--radius-lg);padding:36px;text-align:center;margin-top:40px;}
.bottom-cta h2 {font-size:1.4rem;color:var(--green-900);margin-bottom:10px;}
.bottom-cta p {font-size:0.92rem;color:var(--text-mid);margin-bottom:24px;}
.breadcrumb {padding:16px 0;font-size:0.82rem;color:var(--text-muted);}
.breadcrumb a {color: var(--text-muted); text-decoration: none;}
.breadcrumb a:hover {color: var(--green-700);}
.breadcrumb span {margin: 0 6px;}
.bring-card h3 {font-size:1.05rem;color:var(--green-900);margin-bottom:16px;}
.bring-check {width:22px;height:22px;border-radius:4px;background:var(--green-50);border:1.5px solid var(--green-200);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0.75rem;color:var(--green-600);font-weight:700;cursor:pointer;transition:all 0.15s;}
.bring-check.checked {background:var(--green-600);border-color:var(--green-600);color:#fff;}
.bring-item {display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--green-50);}
.bring-item:last-child {border-bottom:none;}
.bring-text {font-size:0.87rem;color:var(--text-mid);line-height:1.5;}
.bring-text strong {color:var(--green-900);}
.btn-apply-full {display:block;background:var(--gold-600);color:#fff;text-align:center;padding:12px;border-radius:var(--radius-sm);font-weight:600;font-size:0.88rem;text-decoration:none;margin-top:16px;transition:background 0.2s;}
.btn-apply-full:hover {background:var(--gold-400);}
.btn-book {display:block;background:var(--gold-600);color:#fff;text-align:center;padding:14px;border-radius:var(--radius-sm);font-weight:700;font-size:0.95rem;text-decoration:none;transition:background 0.2s;margin-bottom:10px;}
.btn-book:hover {background:var(--gold-400);}
.btn-diy {display:block;text-align:center;padding:12px;border-radius:var(--radius-sm);font-weight:500;font-size:0.85rem;color:var(--text-muted);text-decoration:none;border:1px solid var(--green-100);transition:all 0.15s;}
.btn-diy:hover {border-color:var(--green-600);color:var(--green-700);}
.btn-g {background:var(--gold-600);color:#fff;padding:13px 26px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:0.92rem;}
.btn-g:hover {background:var(--gold-400);}
.btn-ghost {border: 1px solid var(--green-400); color: var(--green-200); padding: 11px 22px; border-radius: var(--radius-sm); text-decoration: none; font-weight: 500; font-size: 0.88rem; white-space: nowrap; text-align: center; transition: all 0.2s; display: block;}
.btn-ghost:hover {background: var(--green-700); color: var(--ivory);}
.btn-gold {background: var(--gold-600); color: #fff; padding: 12px 22px; border-radius: var(--radius-sm); text-decoration: none; font-weight: 600; font-size: 0.88rem; white-space: nowrap; text-align: center; transition: background 0.2s; display: block;}
.btn-gold:hover {background: var(--gold-400);}
.btn-next-step {display:inline-flex;align-items:center;gap:8px;background:var(--green-800);color:#fff;padding:13px 24px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:0.92rem;transition:background 0.2s;margin-top:24px;}
.btn-next-step:hover {background:var(--green-700);}
.btn-o {border:1.5px solid var(--green-200);color:var(--green-200);padding:12px 26px;border-radius:var(--radius-sm);text-decoration:none;font-weight:500;font-size:0.92rem;}
.calc-breakdown {font-size:0.78rem;color:var(--green-200);line-height:1.8;}
.calc-note {font-size:0.75rem;color:var(--text-muted);margin-top:12px;line-height:1.5;}
.calc-result {background:var(--green-900);border-radius:var(--radius-md);padding:18px;margin-top:16px;}
.calc-result-label {font-size:0.75rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--green-200);margin-bottom:6px;}
.calc-select,.calc-input {width:100%;padding:9px 12px;border:1px solid var(--green-200);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.85rem;background:var(--ivory);color:var(--text-dark);appearance:none;}
.calc-select:focus,.calc-input:focus {outline:none;border-color:var(--green-600);}
.calc-sub {font-size:0.8rem;color:var(--text-muted);margin-bottom:20px;}
.calc-title {font-family:var(--font-display);font-size:1.05rem;color:var(--green-900);margin-bottom:4px;}
.cat-btn {width:auto;padding:6px 14px;border:1px solid var(--green-100);}
.cat-btn.active {background:var(--green-800);color:#fff;font-weight:500;}
.cat-btn:hover {background:var(--green-50);color:var(--green-800);}
.cat-btns {display:flex;flex-wrap:wrap;gap:6px;}
.cat-nav {position:static;}
.cat-nav-title {font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;}
.cat-tabs {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.check-icon {color:var(--green-600);font-weight:700;flex-shrink:0;margin-top:1px;}
.comp-table {width:100%;border-collapse:collapse;font-size:0.87rem;}
.comp-table .row-label {font-weight:600;color:var(--green-900);}
.comp-table td {padding:12px 16px;border-bottom:1px solid var(--green-100);color:var(--text-mid);vertical-align:top;}
.comp-table th {background:var(--green-800);color:var(--ivory);padding:12px 16px;text-align:left;font-weight:500;font-size:0.8rem;}
.comp-table th:first-child {border-radius:var(--radius-sm) 0 0 0;}
.comp-table th:last-child {border-radius:0 var(--radius-sm) 0 0;}
.comp-table tr:hover td {background:var(--green-50);}
.consulate-addr {font-size: 0.78rem; color: var(--text-muted); line-height: 1.5;}
.consulate-link {display: inline-flex; align-items: center; gap: 4px; font-size: 0.78rem; color: var(--green-600); text-decoration: none; margin-top: 6px;}
.consulate-link:hover {color: var(--green-800);}
.consulate-name {font-weight: 600; font-size: 0.9rem; color: var(--green-800); margin-bottom: 4px;}
.consulate-notes h4 {font-size: 0.88rem; font-weight: 600; color: var(--green-800); margin-bottom: 12px; display: flex; align-items: center; gap: 6px;}
.consulate-result {background: var(--green-50); border: 1px solid var(--green-200); border-radius: var(--radius-sm); padding: 14px; margin-bottom: 16px;}
.consulate-table {width:100%;border-collapse:collapse;font-size:0.84rem;}
.consulate-table td {padding:10px 14px;border-bottom:1px solid var(--green-100);color:var(--text-mid);vertical-align:top;}
.consulate-table th {background:var(--green-800);color:var(--ivory);padding:10px 14px;text-align:left;font-weight:500;font-size:0.78rem;letter-spacing:0.04em;}
.consulate-table tr:hover td {background:var(--green-50);}
.consulate-table tr:last-child td {border-bottom:none;}
.content-h2 {font-family:var(--font-display);font-size:1.5rem;color:var(--green-900);margin-bottom:8px;}
.content-intro {font-size: 0.95rem; color: var(--text-mid); margin-bottom: 32px; max-width: 640px;}
.cta-btn {display:block;background:var(--gold-600);color:#fff;text-align:center;padding:12px;border-radius:var(--radius-sm);text-decoration:none;font-weight:700;font-size:0.9rem;transition:background 0.2s;}
.cta-btn-outline {display:block;border:1.5px solid var(--green-200);color:var(--green-200);text-align:center;padding:11px;border-radius:var(--radius-sm);text-decoration:none;font-weight:500;font-size:0.85rem;margin-top:8px;}
.cta-btn:hover {background:var(--gold-400);}
.cta-card {background:var(--green-800);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;}
.cta-card h3 {font-family:var(--font-display);font-size:1.1rem;color:var(--ivory);margin-bottom:8px;}
.cta-card p {font-size:0.83rem;color:var(--green-200);margin-bottom:16px;line-height:1.6;}
.cta-price {font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--gold-400);margin-bottom:14px;}
.cta-price span {font-size:0.85rem;font-weight:400;color:var(--green-200);}
.day-dot {width:32px;height:32px;border-radius:50%;background:var(--green-800);color:var(--gold-400);display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:700;flex-shrink:0;z-index:1;}
.day-event {display:flex;gap:16px;position:relative;}
.day-event-body {flex:1;padding-bottom:24px;}
.day-event-desc {font-size:0.83rem;color:var(--text-mid);line-height:1.6;}
.day-event-title {font-size:0.92rem;font-weight:600;color:var(--green-900);margin-bottom:3px;}
.day-event:not(:last-child)::before {content:'';position:absolute;left:15px;top:36px;bottom:0;width:2px;background:var(--green-100);}
.denied-box h2 {font-size:1.3rem;color:var(--green-900);margin-bottom:14px;}
.denied-reasons {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;}
.diy-step {display:flex;gap:20px;position:relative;}
.diy-step:not(:last-child)::before {content:'';position:absolute;left:19px;top:48px;bottom:0;width:2px;background:var(--green-100);}
.doc-body {flex: 1;}
.doc-detail {font-size: 0.82rem; color: var(--text-mid); line-height: 1.6;}
.doc-detail li {margin-bottom: 2px;}
.doc-detail ul {margin: 6px 0 0 14px;}
.doc-item.critical {border-left: 3px solid var(--red-italy);}
.doc-item.required {border-left: 3px solid var(--green-600);}
.doc-item.warning {border-left: 3px solid var(--gold-600);}
.doc-num {width: 26px; height: 26px; border-radius: 50%; background: var(--green-50); border: 1px solid var(--green-200); display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 700; color: var(--green-700); flex-shrink: 0; margin-top: 1px;}
.doc-tag {display: inline-block; font-size: 0.68rem; font-weight: 700; padding: 2px 8px; border-radius: 10px; margin-left: 6px; vertical-align: middle;}
.doc-title {font-size: 0.92rem; font-weight: 600; color: var(--green-900); margin-bottom: 3px;}
.dont-card {background:#fff;border:1.5px solid #fce;border-radius:var(--radius-md);padding:16px;}
.dont-desc {font-size:0.8rem;color:var(--text-muted);line-height:1.5;}
.dont-icon {font-size:1.3rem;margin-bottom:6px;}
.dont-title {font-size:0.87rem;font-weight:600;color:var(--red-italy);margin-bottom:4px;}
.donts-grid {grid-template-columns:1fr;}
.faq-a-inner {padding:0 20px 16px;font-size:0.88rem;color:var(--text-mid);line-height:1.75;}
.faq-a-inner a {color:var(--green-600);text-decoration:none;}
.faq-a-inner a:hover {text-decoration:underline;}
.faq-a-inner li {margin-bottom:4px;}
.faq-a-inner strong {color:var(--green-900);}
.faq-a-inner ul {margin:8px 0 0 16px;}
.faq-ai {padding:0 20px 16px;font-size:0.88rem;color:var(--text-mid);line-height:1.75;}
.faq-arr {font-size:0.8rem;color:var(--text-muted);transition:transform 0.2s;flex-shrink:0;}
.faq-arrow {font-size:0.8rem;color:var(--text-muted);flex-shrink:0;transition:transform 0.2s;}
.faq-group {display:none;}
.faq-group-title {font-family:var(--font-display);font-size:1.3rem;color:var(--green-900);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--green-100);}
.faq-group.active {display:block;}
.faq-layout {grid-template-columns:1fr;}
.faq-q.open .faq-arr {transform:rotate(180deg);}
.faq-q.open .faq-arrow {transform:rotate(180deg);}
.featured-badge {position:absolute;top:-12px;left:24px;background:var(--green-800);color:var(--ivory);font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:4px 12px;border-radius:20px;}
.fee-table {width:100%;border-collapse:collapse;font-size:0.9rem;}
.fee-table .amount {font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--green-800);}
.fee-table .amount.gold {color:var(--gold-600);}
.fee-table .label {font-weight:600;color:var(--green-900);}
.fee-table .total-row .amount {color:var(--gold-400);font-size:1.3rem;}
.fee-table .total-row td {background:var(--green-900);color:var(--ivory);font-weight:600;border-bottom:none;}
.fee-table tbody td {padding:14px 20px;border-bottom:1px solid var(--green-100);color:var(--text-mid);vertical-align:middle;}
.fee-table tbody tr:hover td {background:var(--green-50);}
.fee-table tbody tr:last-child td {border-bottom:none;}
.fee-table thead th {background:var(--green-800);color:var(--ivory);padding:14px 20px;text-align:left;font-weight:500;font-size:0.82rem;}
.fee-tag {display:inline-block;font-size:0.68rem;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:6px;}
.final-cta h2 {font-size:1.4rem;color:var(--green-900);margin-bottom:10px;}
.final-cta p {font-size:0.9rem;color:var(--text-mid);margin-bottom:24px;}
.form-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-md);}
.form-card h2 {font-size:1.3rem;color:var(--green-900);margin-bottom:6px;}
.form-card p {font-size:0.88rem;color:var(--text-muted);margin-bottom:24px;}
.form-input,.form-select,.form-textarea {width:100%;padding:10px 12px;border:1.5px solid var(--green-100);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.88rem;background:var(--ivory);color:var(--text-dark);}
.form-input:focus,.form-select:focus,.form-textarea:focus {outline:none;border-color:var(--green-600);}
.form-note {font-size:0.75rem;color:var(--text-muted);margin-top:10px;text-align:center;}
.form-submit {width:100%;background:var(--gold-600);color:#fff;border:none;padding:14px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.95rem;font-weight:700;cursor:pointer;transition:background 0.2s;margin-top:8px;}
.form-submit:hover {background:var(--gold-400);}
.form-textarea {height:120px;resize:vertical;}
.grid2,.grid3,.stat-row {grid-template-columns:1fr;}
.grid2,.special-cards {grid-template-columns:1fr;}
.highlight {background:var(--green-50);border-left:4px solid var(--green-800);padding:16px 20px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:20px;}
.highlight p {font-weight:500;color:var(--green-900);margin-bottom:0;}
.inc-body h4 {font-size:0.92rem;font-weight:600;color:var(--green-900);margin-bottom:3px;}
.inc-body p {font-size:0.82rem;color:var(--text-mid);line-height:1.5;}
.incl-body h4 {font-size:0.9rem;font-weight:600;color:var(--green-900);margin-bottom:3px;}
.incl-body p {font-size:0.82rem;color:var(--text-mid);line-height:1.5;}
.info-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-md);padding:24px;}
.info-card a {color:var(--green-600);text-decoration:none;}
.info-card a:hover {text-decoration:underline;}
.info-card h3 {font-size:1rem;color:var(--green-900);margin-bottom:10px;}
.info-card p,.info-card a {font-size:0.85rem;color:var(--text-mid);line-height:1.7;}
.info-card p,.info-card li {font-size:0.87rem;color:var(--text-mid);line-height:1.7;}
.info-card ul {margin-left:16px;}
.info-cards {display:flex;flex-direction:column;gap:16px;}
.info-grid {grid-template-columns:1fr;}
.info-grid,.two-col {grid-template-columns:1fr;}
.info-table {width:100%;border-collapse:collapse;margin:20px 0;font-size:0.88rem;}
.info-table td {padding:10px 14px;border-bottom:1px solid var(--green-100);color:var(--text-mid);}
.info-table th {background:var(--green-800);color:var(--ivory);padding:10px 14px;text-align:left;font-weight:500;}
.info-table tr:hover td {background:var(--green-50);}
.lang-line {display:flex;gap:0;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,0.08);}
.lang-line:last-child {border-bottom:none;padding-bottom:0;}
.lang-tag {font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-400);width:72px;flex-shrink:0;padding-top:2px;}
.lang-text {font-size:0.92rem;color:var(--ivory);line-height:1.5;font-weight:500;}
.legal-content .updated {font-size:0.82rem;color:var(--text-muted);margin-bottom:32px;}
.main-layout {grid-template-columns: 1fr;}
.minor-box h4 {font-family: var(--font-display); font-size: 1rem; color: var(--green-900); margin-bottom: 12px;}
.mistake-bad {font-size:0.82rem;color:var(--red-italy);margin-bottom:6px;font-weight:600;}
.mistake-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-md);padding:18px;}
.mistake-desc {font-size:0.8rem;color:var(--text-muted);margin-top:6px;line-height:1.5;}
.mistake-good {font-size:0.82rem;color:var(--green-600);font-weight:600;}
.mistakes-grid {grid-template-columns:1fr;}
.mock-btn {background:var(--green-700);color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:0.78rem;font-weight:600;margin-top:4px;cursor:pointer;width:100%;}
.mock-field {margin-bottom:10px;}
.mock-form {background:#fff;border:1px solid #dde;border-radius:8px;padding:16px;margin-top:8px;text-align:left;}
.mock-input {width:100%;height:30px;background:#f5f6f8;border:1px solid #dde;border-radius:4px;display:flex;align-items:center;padding:0 10px;font-size:0.78rem;color:#888;}
.mock-label {font-size:0.72rem;font-weight:600;color:#666;margin-bottom:3px;display:block;}
.multilang-header {background:var(--red-italy);padding:14px 24px;display:flex;align-items:center;gap:10px;}
.multilang-header span {font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#fff;}
.multilang-inner {padding:24px 28px;display:flex;flex-direction:column;gap:14px;}
.next-cta {background:var(--green-800);border-radius:var(--radius-lg);padding:36px;text-align:center;margin-top:8px;}
.next-cta h2 {font-size:1.3rem;color:var(--ivory);margin-bottom:10px;}
.next-cta p {font-size:0.9rem;color:var(--green-200);margin-bottom:24px;}
.next-info-desc {font-size:0.8rem;color:var(--green-200);line-height:1.6;}
.next-info-title {font-size:0.9rem;font-weight:600;color:var(--ivory);margin-bottom:3px;}
.next-num {width:32px;height:32px;border-radius:50%;background:rgba(212,168,67,0.2);border:1px solid var(--gold-600);display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:700;color:var(--gold-400);flex-shrink:0;}
.next-row {display:flex;gap:16px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.08);}
.next-row:last-child {border-bottom:none;}
.next-steps h3 {font-family:var(--font-display);font-size:1.15rem;color:var(--ivory);margin-bottom:20px;}
.note-card {background:var(--ivory-dark);border:1px solid var(--green-100);border-radius:var(--radius-md);padding:18px 20px;}
.note-card h4 {font-size:0.88rem;font-weight:600;color:var(--green-800);margin-bottom:8px;}
.note-card p {font-size:0.82rem;color:var(--text-mid);line-height:1.6;}
.note-list {list-style: none;}
.note-list li {font-size: 0.83rem; color: var(--text-mid); padding: 4px 0; padding-left: 14px; position: relative; line-height: 1.6;}
.note-list li strong {color: var(--green-800);}
.note-list li::before {content: '→'; position: absolute; left: 0; color: var(--green-600); font-size: 0.75rem; top: 5px;}
.notes-grid {grid-template-columns:1fr;}
.options-list {list-style:none;}
.options-list li {display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--green-100);font-size:0.87rem;color:var(--text-mid);}
.options-list li::before {content:'→';color:var(--green-600);flex-shrink:0;}
.options-list li:last-child {border-bottom:none;}
.page {max-width:900px;margin:0 auto;padding:48px 24px 80px;}
.pill {display:inline-flex;background:rgba(212,168,67,0.15);color:var(--gold-400);border:1px solid rgba(212,168,67,0.3);border-radius:20px;font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:5px 14px;margin-bottom:18px;}
.price-hero {font-family:var(--font-display);font-size:3.5rem;font-weight:700;color:var(--gold-400);}
.price-hero span {font-size:1.1rem;font-weight:400;color:var(--green-200);}
.prog-num {width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.68rem; font-weight: 700; background: rgba(255,255,255,0.1); flex-shrink: 0;}
.prog-step {display: flex; align-items: center; gap: 8px; padding: 14px 16px; font-size: 0.78rem; font-weight: 500; color: var(--green-200); white-space: nowrap; border-bottom: 2px solid transparent; text-decoration: none; transition: color 0.15s; cursor: pointer;}
.prog-step.active {color: var(--gold-400); border-bottom-color: var(--gold-600);}
.prog-step.active .prog-num {background: var(--gold-600); color: #fff;}
.prog-step.done {color: var(--green-400);}
.prog-step.done .prog-num {background: var(--green-600); color: #fff;}
.prog-step:hover {color: var(--ivory);}
.progress-bar {background:var(--green-800);padding:0 24px;border-bottom:1px solid var(--green-700);}
.progress-inner {max-width: 1100px; margin: 0 auto; display: flex; align-items: stretch; overflow-x: auto;}
.quiz-body {padding:24px 20px 20px;}
.quiz-progress-fill {height:100%;background:var(--green-600);transition:width 0.4s ease;}
.quiz-progress-top {height:4px;background:var(--green-100);}
.quiz-step-label {font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;}
.quiz-wrap {max-width:720px;margin:40px auto 80px;}
.reason-item {background:var(--ivory-dark);border-radius:var(--radius-sm);padding:12px 14px;font-size:0.83rem;color:var(--text-mid);line-height:1.5;}
.reason-item strong {color:var(--green-800);display:block;margin-bottom:3px;}
.related-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-md);padding:18px;text-decoration:none;transition:box-shadow 0.2s,transform 0.2s;display:block;}
.related-card:hover {box-shadow:var(--shadow-md);transform:translateY(-2px);}
.related-grid {grid-template-columns:1fr;}
.related-meta {font-size:0.78rem;color:var(--text-muted);}
.related-section h2 {font-size:1.3rem;color:var(--green-900);margin-bottom:20px;}
.related-title {font-size:0.88rem;font-weight:600;color:var(--green-900);margin-bottom:6px;line-height:1.4;}
.response-time {background:var(--green-50);border:1px solid var(--green-200);border-radius:var(--radius-md);padding:16px 20px;display:flex;gap:12px;align-items:center;}
.result-alert {background:var(--green-50);border:1px solid var(--green-200);border-radius:var(--radius-md);padding:16px 20px;margin:20px auto 0;max-width:480px;font-size:0.84rem;color:var(--text-mid);line-height:1.7;text-align:left;}
.result-alert strong {color:var(--green-800);}
.result-body {font-size:0.95rem;color:var(--text-mid);max-width:480px;margin:0 auto 28px;line-height:1.7;}
.result-card {padding:40px;text-align:center;display:none;}
.rt-icon {font-size:1.5rem;}
.rt-text h4 {font-size:0.88rem;font-weight:600;color:var(--green-800);}
.rt-text p {font-size:0.82rem;color:var(--text-mid);}
.rule-bar {height:10px;border-radius:5px;background:rgba(255,255,255,0.1);}
.rule-bar-fill {height:100%;border-radius:5px;}
.rule-bar-label {font-size:0.75rem;color:var(--green-200);margin-bottom:4px;}
.rule-bar-wrap {flex:1;}
.rule-box {grid-template-columns:1fr;gap:24px;}
.rule-box h2 {font-size:1.5rem;color:var(--ivory);margin-bottom:12px;}
.rule-box p {font-size:0.9rem;color:var(--green-200);line-height:1.7;}
.rule-days {font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--gold-400);width:64px;flex-shrink:0;text-align:center;}
.rule-row {display:flex;align-items:center;gap:14px;}
.rule-visual {display:flex;flex-direction:column;gap:12px;}
.section-group {margin-bottom: 28px;}
.section-group-title {font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid var(--green-100);}
.section-label {font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--green-100);}
.section-sub {font-size:0.95rem;color:var(--text-mid);max-width:560px;}
.section-title {font-family:var(--font-display);font-size:1.5rem;color:var(--green-900);margin-bottom:8px;}
.service-card-badge {font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-400);margin-bottom:10px;}
.service-card-body {padding:20px 24px;}
.service-card-sub {font-size:0.83rem;color:var(--green-200);}
.service-card-title {font-family:var(--font-display);font-size:1.2rem;color:var(--ivory);margin-bottom:6px;}
.service-card-top {background:var(--green-800);padding:24px 24px 20px;}
.service-cta {flex-direction: column; gap: 20px;}
.service-cta-actions {flex-direction: row;}
.service-cta-text h3 {font-size: 1.15rem; color: var(--ivory); margin-bottom: 8px;}
.service-cta-text p {font-size: 0.88rem; color: var(--green-200);}
.service-guarantee {display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--green-100);font-size:0.78rem;color:var(--text-muted);}
.service-price {font-family:var(--font-display);font-size:2.4rem;font-weight:700;color:var(--gold-400);}
.service-price-label {font-size:0.8rem;color:var(--green-200);}
.service-price-wrap {display:flex;align-items:baseline;gap:8px;margin-top:16px;}
.service-sticky {position:static;}
.sidebar {position: static;}
.sidebar-alert {background: #fff8e6; border: 1px solid var(--gold-200); border-radius: var(--radius-sm); padding: 12px 14px; font-size: 0.8rem; color: #7a5a10; margin-bottom: 16px;}
.sidebar-alert strong {display: block; margin-bottom: 3px; color: var(--gold-600);}
.sidebar-card {background: #fff; border-radius: var(--radius-lg); border: 1px solid var(--green-100); padding: 24px; box-shadow: var(--shadow-sm);}
.sidebar-cta {background: var(--gold-600); color: #fff; border: none; border-radius: var(--radius-sm); padding: 12px 16px; font-family: var(--font-body); font-size: 0.88rem; font-weight: 600; cursor: pointer; width: 100%; text-align: center; text-decoration: none; display: block; transition: background 0.2s;}
.sidebar-cta:hover {background: var(--gold-400);}
.sidebar-sticky {position:static;}
.sidebar-sub {font-size: 0.82rem; color: var(--text-muted); margin-bottom: 20px;}
.sidebar-title {font-family: var(--font-display); font-size: 1rem; color: var(--green-900); margin-bottom: 6px;}
.spec-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-md);padding:18px;}
.spec-card h4 {font-size:0.9rem;color:var(--green-900);margin-bottom:8px;}
.spec-card li {font-size:0.82rem;color:var(--text-mid);line-height:1.6;margin-bottom:3px;}
.special-cards {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px;}
.stat-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-md);padding:20px;text-align:center;}
.stat-note {font-size:0.72rem;color:var(--text-muted);margin-top:4px;}
.stat-row {grid-template-columns:1fr 1fr;}
.state-select {width: 100%; padding: 10px 32px 10px 12px; border: 1px solid var(--green-200); border-radius: var(--radius-sm); font-family: var(--font-body); font-size: 0.88rem; background: var(--ivory); color: var(--text-dark); appearance: none; cursor: pointer;}
.state-select-wrap {position: relative; margin-bottom: 20px;}
.state-select-wrap::after {content: '▾'; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--text-muted); pointer-events: none; font-size: 0.8rem;}
.state-select:focus {outline: none; border-color: var(--green-600);}
.status-card {border-radius:var(--radius-md);padding:20px;}
.status-card.approved {background:var(--green-50);border:1.5px solid var(--green-200);}
.status-card.approved .status-title {color:var(--green-800);}
.status-card.denied {background:#fff0f0;border:1.5px solid #f5c6c6;}
.status-card.denied .status-title {color:var(--red-italy);}
.status-card.pending {background:#fff8e6;border:1.5px solid var(--gold-200);}
.status-card.pending .status-title {color:var(--gold-600);}
.status-desc {font-size:0.82rem;color:var(--text-mid);line-height:1.6;}
.status-icon {font-size:1.8rem;margin-bottom:10px;}
.status-title {font-size:0.95rem;font-weight:600;margin-bottom:8px;}
.step {display:flex;gap:20px;position:relative;}
.step-body {flex:1;padding-bottom:32px;}
.step-circle {width:40px;height:40px;border-radius:50%;background:var(--green-800);color:var(--ivory);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;font-weight:700;flex-shrink:0;position:relative;z-index:1;}
.step-list {list-style:none;margin:0 0 20px 0;}
.step-list li {display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--green-50);align-items:flex-start;}
.step-list li:last-child {border-bottom:none;}
.step-screenshot {background:var(--ivory-dark);border:1px solid var(--green-100);border-radius:var(--radius-md);padding:16px;margin-top:12px;font-size:0.8rem;color:var(--text-muted);text-align:center;}
.step-text {font-size:0.92rem;color:var(--text-mid);line-height:1.6;}
.step-text strong {color:var(--green-900);display:block;margin-bottom:3px;}
.step-tip {background:var(--green-50);border:1px solid var(--green-100);border-radius:var(--radius-sm);padding:10px 14px;margin-top:10px;font-size:0.8rem;color:var(--text-mid);}
.step-tip strong {color:var(--green-700);}
.step-title {font-size:1rem;font-weight:600;color:var(--green-900);margin-bottom:6px;}
.step:not(:last-child)::before {content:'';position:absolute;left:19px;top:48px;bottom:0;width:2px;background:var(--green-100);}
.steps {display:flex;flex-direction:column;gap:0;margin-bottom:40px;}
.still-q h2 {font-size:1.3rem;color:var(--ivory);margin-bottom:10px;}
.still-q p {font-size:0.9rem;color:var(--green-200);margin-bottom:24px;}
.svc-btn {display:block;text-align:center;padding:11px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:0.88rem;margin-top:16px;background:var(--green-800);color:#fff;transition:background 0.2s;}
.svc-btn:hover {background:var(--green-700);}
.svc-card {background:#fff;border:1.5px solid var(--green-100);border-radius:var(--radius-lg);padding:24px;}
.svc-card.featured {border-color:var(--gold-600);}
.svc-card.featured .svc-btn {background:var(--gold-600);}
.svc-card.featured .svc-btn:hover {background:var(--gold-400);}
.svc-card.featured .svc-price {color:var(--gold-600);}
.svc-desc {font-size:0.82rem;color:var(--text-muted);margin-bottom:14px;}
.svc-list {list-style:none;font-size:0.82rem;color:var(--text-mid);}
.svc-list li {padding:4px 0;display:flex;gap:8px;}
.svc-list li::before {content:'✓';color:var(--green-600);flex-shrink:0;}
.svc-name {font-size:1rem;font-weight:600;color:var(--green-900);margin-bottom:4px;}
.svc-price {font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--green-800);margin:10px 0 4px;}
.table-wrap {overflow-x:auto;margin-bottom:40px;}
.tag-all {background: var(--green-100); color: var(--green-700);}
.tag-critical {background: #fee; color: #9a2020;}
.tag-hard {display:inline-block;background:#fee;color:#9a2020;font-size:0.68rem;font-weight:700;padding:2px 7px;border-radius:10px;}
.tag-ok {display:inline-block;background:var(--green-100);color:var(--green-700);font-size:0.68rem;font-weight:700;padding:2px 7px;border-radius:10px;}
.tag-opt {background:var(--gold-100);color:var(--gold-600);}
.tag-req {background:var(--green-100);color:var(--green-700);}
.tag-varies {background: var(--gold-100); color: var(--gold-600);}
.tag-warn {display:inline-block;background:var(--gold-100);color:var(--gold-600);font-size:0.68rem;font-weight:700;padding:2px 7px;border-radius:10px;}
.tip-box {background:var(--green-50);border:1px solid var(--green-200);border-left:4px solid var(--green-600);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:14px 18px;margin:20px 0;font-size:0.88rem;color:var(--text-mid);line-height:1.7;}
.tip-box strong {color:var(--green-700);}
.tip-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-md);padding:18px 20px;}
.tip-icon {font-size:1.3rem;margin-bottom:8px;}
.tip-text {font-size:0.82rem;color:var(--text-mid);line-height:1.6;}
.tip-title {font-size:0.9rem;font-weight:600;color:var(--green-900);margin-bottom:5px;}
.tips-grid {grid-template-columns:1fr;}
.tl-body {flex:1;padding-bottom:24px;}
.tl-desc {font-size:0.83rem;color:var(--text-mid);line-height:1.6;}
.tl-dot {width:32px;height:32px;border-radius:50%;background:var(--green-800);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;}
.tl-dot svg {width:14px;height:14px;}
.tl-item {display:flex;gap:16px;position:relative;}
.tl-item:not(:last-child)::before {content:'';position:absolute;left:15px;top:36px;bottom:0;width:2px;background:var(--green-100);}
.tl-time {font-size:0.75rem;font-weight:700;color:var(--gold-600);margin-bottom:4px;}
.tl-title {font-size:0.92rem;font-weight:600;color:var(--green-900);margin-bottom:3px;}
.toc-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-md);padding:20px;margin-bottom:20px;}
.toc-card h4 {font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;}
.toc-list {list-style:none;}
.toc-list a {font-size:0.85rem;color:var(--text-mid);text-decoration:none;display:flex;align-items:center;gap:6px;}
.toc-list a::before {content:'→';font-size:0.7rem;color:var(--green-600);}
.toc-list a:hover {color:var(--green-800);}
.toc-list li {padding:4px 0;}
.two-col {display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:48px;}
.two-col,.status-grid,.denied-reasons {grid-template-columns:1fr;}
.type-card {background:#fff;border:1.5px solid var(--green-100);border-radius:var(--radius-lg);padding:28px;position:relative;transition:box-shadow 0.2s,transform 0.2s;}
.type-card.featured {border-color:var(--green-600);}
.type-card:hover {box-shadow:var(--shadow-md);transform:translateY(-3px);}
.type-code {display:inline-block;font-size:0.72rem;font-weight:700;background:var(--green-50);color:var(--green-700);padding:3px 10px;border-radius:10px;margin-bottom:14px;}
.type-cta {display:block;margin-top:20px;text-align:center;background:var(--green-800);color:#fff;padding:11px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:0.85rem;transition:background 0.2s;}
.type-cta:hover {background:var(--green-700);}
.type-desc {font-size:0.87rem;color:var(--text-mid);margin-bottom:18px;line-height:1.65;}
.type-details {list-style:none;border-top:1px solid var(--green-100);padding-top:16px;}
.type-details li {font-size:0.82rem;color:var(--text-mid);padding:5px 0;display:flex;gap:8px;line-height:1.5;}
.type-details li::before {content:'→';color:var(--green-600);font-size:0.75rem;flex-shrink:0;margin-top:2px;}
.type-icon {font-size:2rem;margin-bottom:14px;}
.type-name {font-family:var(--font-display);font-size:1.15rem;color:var(--green-900);margin-bottom:4px;}
.types-grid {grid-template-columns:1fr;}
.updated {font-size:0.82rem;color:var(--text-muted);margin-bottom:36px;}
.warn {background:#fff8e6;border:1px solid var(--gold-200);border-radius:var(--radius-sm);padding:10px 14px;margin-top:10px;font-size:0.8rem;color:#7a5a10;}
.warn-box {background:#fff8e6;border:1px solid var(--gold-200);border-left:4px solid var(--gold-600);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:14px 18px;margin:20px 0;font-size:0.88rem;color:#7a5a10;line-height:1.7;}
.warn-icon {font-size:1.2rem;flex-shrink:0;margin-top:1px;}
.warn-text h4 {font-size:0.9rem;font-weight:600;color:var(--gold-600);margin-bottom:4px;}
.warn-text p {font-size:0.83rem;color:#7a5a10;line-height:1.6;}
/* ARTICLE HERO */
.article-hero {background:var(--green-900);padding:56px 24px 64px;position:relative;overflow:hidden;}
/* BREADCRUMB */
.breadcrumb {padding: 16px 0; font-size: 0.82rem; color: var(--text-muted);}
/* BRING LIST */
.bring-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-lg);padding:28px;}
/* CATEGORY NAV */
.cat-nav {position:sticky;top:80px;}
/* CHECKLIST SECTIONS */
.checklist-header {display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;}
/* COMPARISON TABLE */
.comp-table-wrap {overflow-x:auto;margin-bottom:48px;}
/* CONSULATE NOTES */
.consulate-notes {background: var(--ivory-dark); border: 1px solid var(--green-100); border-radius: var(--radius-md); padding: 20px 24px; margin-bottom: 24px;}
/* CONTENT */
.content-area h2 {font-size: 1.5rem; color: var(--green-900); margin-bottom: 8px;}
/* CTA */
.bottom-cta {background:var(--ivory-dark);border:1px solid var(--green-100);border-radius:var(--radius-lg);padding:36px;text-align:center;margin-bottom:80px;}
/* DENIED SECTION */
.denied-box {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-lg);padding:32px;margin-bottom:40px;}
/* FAQ GROUPS */
.faq-group {margin-bottom:48px;display:none;}
/* FEE CALCULATOR */
.calc-card {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);}
/* FEE TABLE */
.fee-table-wrap {background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:40px;}
/* FINAL CTA */
.final-cta {background:var(--gold-100);border:1px solid var(--gold-200);border-radius:var(--radius-lg);padding:36px;text-align:center;}
/* INFO SECTION */
.info-section {padding:0 0 80px;}
/* LAYOUT */
.article-layout {display:grid;grid-template-columns:1fr 300px;gap:56px;padding:48px 0 80px;align-items:start;}
/* LAYOUT */
.main-layout {display:grid;grid-template-columns:1fr 340px;gap:48px;padding:48px 0 96px;align-items:start;}
/* MAIN LAYOUT */
.main-layout {display: grid; grid-template-columns: 300px 1fr; gap: 40px; padding: 48px 0 80px; align-items: start;}
/* MINOR SECTION */
.minor-box {background: #fff; border: 1px solid var(--gold-200); border-radius: var(--radius-md); padding: 20px 24px; margin-top: 28px;}
/* MISTAKES */
.mistakes-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:40px;}
/* NOTES */
.notes-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0;}
/* PROGRESS */
.progress-bar {background:var(--green-800);padding:0 24px;border-bottom:1px solid var(--green-700);}
/* PROGRESS STEPS */
.progress-bar {background: var(--green-800); padding: 0 24px; border-bottom: 1px solid var(--green-700);}
/* QUIZ */
.quiz-wrap {max-width:720px;margin:40px auto 80px;}
/* RELATED */
.related-section {border-top:2px solid var(--green-100);padding-top:40px;margin-top:40px;}
/* RESULTS */
.result-card {padding:40px;text-align:center;display:none;}
/* SCHENGEN RULE */
.rule-box {background:var(--green-900);border-radius:var(--radius-lg);padding:40px;margin-bottom:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
/* SERVICE CTA BANNER */
.service-cta {background: var(--green-800); border-radius: var(--radius-lg); padding: 32px; margin-top: 40px; display: flex; align-items: center; gap: 32px;}
/* SIDEBAR */
.sidebar {position:sticky;top:80px;}
/* SIDEBAR - CONSULATE SELECTOR */
.sidebar {position: sticky; top: 80px;}
/* STAT CARDS */
.stat-row {display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:48px;}
/* STATUS CARDS */
.status-grid {display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:40px;}
/* STEPS */
.steps {display:flex;flex-direction:column;gap:0;margin-bottom:40px;}
/* STILL HAVE QUESTIONS */
.still-q {background:var(--green-800);border-radius:var(--radius-lg);padding:36px;text-align:center;margin-bottom:0;}
/* TIMELINE */
.day-timeline {display:flex;flex-direction:column;gap:0;}
/* TIMELINE */
.timeline {display:flex;flex-direction:column;gap:0;margin-bottom:40px;}
/* TYPE CARDS */
.types-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:56px;}
/* WHAT NOT TO DO */
.donts-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px;}
/* ── CONSULATE TABLE ── */
.consulate-table-wrap {overflow-x:auto;margin-bottom:40px;}
/* ── DIY STEPS ── */
.diy-steps {display:flex;flex-direction:column;gap:0;margin-bottom:40px;}
/* ── MULTILINGUAL NOTICE ── */
.multilang-block {background:var(--green-900);border-radius:var(--radius-lg);padding:0;margin-bottom:36px;overflow:hidden;}
/* ── SECTION TITLE ── */
.section-label {font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--green-100);}
/* ── SERVICE CARD (sticky sidebar) ── */
.service-sticky {position:sticky;top:80px;}
/* ── TIPS ── */
.tips-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:40px;}
/* ── WARNING BANNER ── */
.warn-banner {background:#fff8e6;border:1px solid var(--gold-200);border-left:4px solid var(--gold-600);border-radius:var(--radius-md);padding:18px 20px;margin-bottom:36px;display:flex;gap:14px;align-items:flex-start;}
/* ── WHAT HAPPENS NEXT ── */
.next-steps {background:var(--green-900);border-radius:var(--radius-lg);padding:32px;margin-bottom:0;}

/* ═══ FINAL MISSING PATCHES ═══ */
.btn-next{background:var(--green-800);color:#fff;border:none;padding:12px 28px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:0.92rem;font-weight:600;transition:background 0.2s;}
.btn-next:hover{background:var(--green-700);}
.btn-next:disabled{background:var(--green-100);color:var(--green-400);cursor:not-allowed;}
.btn-prev{background:none;border:1px solid var(--green-100);color:var(--text-muted);padding:10px 20px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:0.88rem;transition:all 0.15s;}
.btn-prev:hover{border-color:var(--green-400);color:var(--text-mid);}
.btn-p{background:var(--gold-600);color:#fff;padding:13px 26px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:0.92rem;transition:background 0.2s;}
.btn-p:hover{background:var(--gold-400);}
.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.content-area h2{font-size:1.5rem;color:var(--green-900);margin-bottom:8px;}
.content-area p{font-size:0.95rem;color:var(--text-mid);margin-bottom:16px;line-height:1.8;}
.inc-body h4{font-size:0.9rem;font-weight:600;color:var(--green-900);margin-bottom:3px;}
.inc-body p{font-size:0.82rem;color:var(--text-mid);line-height:1.5;}
.incl-body h4{font-size:0.9rem;font-weight:600;color:var(--green-900);margin-bottom:3px;}
.incl-body p{font-size:0.82rem;color:var(--text-mid);line-height:1.5;}
.rt-text{font-size:0.82rem;color:var(--text-mid);}
.service-cta-text{font-size:0.85rem;color:var(--text-mid);margin-bottom:16px;line-height:1.6;}
.warn-text{font-size:0.88rem;color:var(--text-mid);flex:1;}
.content-area{max-width:720px;}
.inc-body{flex:1;}
.incl-body{flex:1;}

/* ═══ INNER PAGE HERO OVERRIDE ═══
   内页 .hero 覆盖首页的 min-height:92vh 版本
   通过 body:not(.home-page) 区分，或直接用 page-hero class
   最简单方案：首页用 .hero-home，内页用 .hero
   ═══════════════════════════════ */

/* 重置内页hero为紧凑版 */
.hero {
  min-height: unset !important;
  background: var(--green-900);
  padding: 56px 24px 64px;
  position: relative;
  overflow: hidden;
  display: block;
  align-items: unset;
}
.hero::after {
  content: '';
  position: absolute; right: 0; top: 0; bottom: 0; width: 5px;
  background: linear-gradient(to bottom, var(--green-600) 33%, #fff 33%, #fff 67%, var(--red-italy) 67%);
  opacity: 0.6;
}
.hero h1 { color: var(--ivory); font-size: clamp(1.9rem, 4vw, 2.8rem); margin-bottom: 14px; }
.hero h1 em { font-style: normal; color: var(--gold-400); }
.hero .lead { color: var(--green-200); font-size: 1rem; max-width: 560px; }
.hero-center { text-align: center; }
.hero-center h1, .hero-center .lead { margin-left: auto; margin-right: auto; }
.tag-pill {
  display: inline-flex;
  background: rgba(212,168,67,0.15); color: var(--gold-400);
  border: 1px solid rgba(212,168,67,0.3); border-radius: 20px;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 5px 14px; margin-bottom: 18px;
}

/* 首页专用 hero — 加 .hero-home class */
.hero-home {
  min-height: 92vh !important;
  background: var(--green-900);
  position: relative;
  display: flex !important;
  align-items: center;
  overflow: hidden;
}

/* ═══ STEP PAGES — progress bar + steps timeline ═══ */
.progress-bar { background: var(--green-800); padding: 0 24px; }
.progress-inner { max-width: 1100px; margin: 0 auto; display: flex; overflow-x: auto; }
.prog-step { display: flex; align-items: center; gap: 8px; padding: 14px 20px; font-size: 0.8rem; font-weight: 500; color: var(--green-200); text-decoration: none; white-space: nowrap; border-bottom: 3px solid transparent; transition: all 0.15s; }
.prog-step:hover { color: var(--ivory); }
.prog-step.active { color: var(--gold-400); border-bottom-color: var(--gold-400); font-weight: 700; }
.prog-step.done { color: var(--green-400); }
.prog-num { width: 22px; height: 22px; border-radius: 50%; background: rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 700; flex-shrink: 0; }
.prog-step.active .prog-num { background: var(--gold-600); color: #fff; }
.prog-step.done .prog-num { background: var(--green-600); color: #fff; }

.page-hero { background: var(--green-900); padding: 56px 24px 64px; position: relative; overflow: hidden; }
.page-hero::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 5px; background: linear-gradient(to bottom, var(--green-600) 33%, #fff 33%, #fff 67%, var(--red-italy) 67%); opacity: 0.6; }
.page-hero h1 { color: var(--ivory); font-size: clamp(1.9rem, 4vw, 2.8rem); margin-bottom: 14px; }
.page-hero h1 em { font-style: normal; color: var(--gold-400); }
.page-hero .lead { color: var(--green-200); font-size: 1rem; max-width: 560px; }

.steps { display: flex; flex-direction: column; gap: 0; margin-bottom: 40px; }
.step { display: flex; gap: 20px; position: relative; }
.step:not(:last-child)::before { content: ''; position: absolute; left: 19px; top: 48px; bottom: 0; width: 2px; background: var(--green-100); }
.step-circle { width: 40px; height: 40px; border-radius: 50%; background: var(--green-800); color: var(--ivory); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 1rem; font-weight: 700; flex-shrink: 0; z-index: 1; }
.step-body { flex: 1; padding-bottom: 32px; }
.step-title { font-size: 1rem; font-weight: 600; color: var(--green-900); margin-bottom: 6px; }
.step-desc { font-size: 0.88rem; color: var(--text-mid); line-height: 1.7; }
.step-desc ul { margin: 8px 0 0 16px; }
.step-desc li { margin-bottom: 4px; }

.tip { background: var(--green-50); border: 1px solid var(--green-200); border-radius: var(--radius-sm); padding: 10px 14px; margin-top: 10px; font-size: 0.8rem; color: var(--text-mid); }
.tip strong { color: var(--green-700); }
.warn { background: #fff8e6; border: 1px solid var(--gold-200); border-radius: var(--radius-sm); padding: 10px 14px; margin-top: 10px; font-size: 0.8rem; color: #7a5a10; }

.section-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid var(--green-100); }
.section { padding: 48px 0 80px; }

.table-wrap { overflow-x: auto; margin-bottom: 40px; }
.table-wrap table { width: 100%; border-collapse: collapse; font-size: 0.87rem; }
.table-wrap th { background: var(--green-800); color: var(--ivory); padding: 12px 16px; text-align: left; font-weight: 500; font-size: 0.8rem; }
.table-wrap td { padding: 12px 16px; border-bottom: 1px solid var(--green-100); color: var(--text-mid); vertical-align: top; }
.table-wrap tr:hover td { background: var(--green-50); }

.bottom-cta { background: var(--green-800); border-radius: var(--radius-lg); padding: 36px; text-align: center; margin-top: 40px; }
.bottom-cta h2 { font-size: 1.3rem; color: var(--ivory); margin-bottom: 10px; }
.bottom-cta p { font-size: 0.9rem; color: var(--green-200); margin-bottom: 24px; }

.info-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin-bottom: 32px; }
.info-card { background: #fff; border: 1px solid var(--green-100); border-radius: var(--radius-md); padding: 20px; }
.info-card h3 { font-size: 0.92rem; color: var(--green-900); margin-bottom: 6px; }
.info-card p { font-size: 0.82rem; }

@media (max-width: 680px) {
  .progress-inner { gap: 0; }
  .prog-step { padding: 12px 12px; font-size: 0.72rem; }
}

/* ═══ LEGAL / SIMPLE PAGES (privacy, terms, disclaimer) ═══ */
.page { max-width: 820px; margin: 0 auto; padding: 48px 24px 80px; }
.page h1 { font-family: var(--font-display); font-size: 2rem; color: var(--green-900); margin-bottom: 8px; }
.page h2 { font-family: var(--font-display); font-size: 1.15rem; color: var(--green-900); margin: 28px 0 10px; }
.page p  { font-size: 0.92rem; color: var(--text-mid); margin-bottom: 14px; }
.page ul { font-size: 0.92rem; color: var(--text-mid); margin: 0 0 14px 20px; }
.page li { margin-bottom: 6px; }
.page .upd { font-size: 0.82rem; color: var(--text-muted); margin-bottom: 36px; }
.page .hl { background: var(--green-50); border-left: 4px solid var(--green-800); padding: 16px 20px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin-bottom: 20px; }
.page .hl p { margin-bottom: 0; font-weight: 500; color: var(--green-900); }

/* ═══ TABLES (bare table/th/td used in cost-fees etc.) ═══ */
table { width: 100%; border-collapse: collapse; font-size: 0.87rem; margin-bottom: 32px; }
th { background: var(--green-800); color: var(--ivory); padding: 12px 16px; text-align: left; font-weight: 500; font-size: 0.8rem; }
td { padding: 12px 16px; border-bottom: 1px solid var(--green-100); color: var(--text-mid); vertical-align: top; }
tr:hover td { background: var(--green-50); }

/* ═══ STAT ROW (cost-fees, faq) ═══ */
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 40px; }
.stn { font-family: var(--font-display); font-size: 2rem; font-weight: 700; color: var(--green-800); line-height: 1; }
.stl { font-size: 0.8rem; color: var(--text-muted); margin-top: 4px; }

/* ═══ GRID3 ═══ */
.grid3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-bottom: 32px; }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 680px) {
  .grid2, .grid3, .stat-row { grid-template-columns: 1fr; }
  .btr { flex-direction: column; align-items: center; }
  .page { padding: 32px 16px 60px; }
}

/* ───────────────────────────────────────── RECONCILIATION ───────────────────────────────────────── */
/* Exact values restored from original page inline styles (calendar, quiz, FAQ, grids). */

/* CALENDAR (appointment-calendar) */
.cal-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.cal-tab { padding:10px 14px; font-size:0.82rem; font-weight:600; color:var(--text-mid); border:1.5px solid var(--green-100); border-radius:20px; background:#fff; cursor:pointer; font-family:var(--font-body); transition:all 0.15s; }
.cal-tab:hover { border-color:var(--green-600); }
.cal-tab.active { background:var(--green-800); color:#fff; border-color:var(--green-800); }
.cal-badge { display:inline-block; font-size:0.6rem; font-weight:700; margin-left:4px; padding:1px 6px; border-radius:8px; vertical-align:middle; background:#dcfce7; color:#16a34a; }
.cal-tab.active .cal-badge { background:rgba(255,255,255,0.2); color:#fff; }
.cal-legend { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:16px; font-size:0.78rem; color:var(--text-mid); }
.cal-legend span { display:flex; align-items:center; gap:6px; }
.cal-legend .dot { width:12px; height:12px; border-radius:3px; flex-shrink:0; }
.cal-legend .dot.high { background:#dcfce7; border:2px solid #86efac; }
.cal-legend .dot.med { background:#fef3c7; border:2px solid #fcd34d; }
.cal-legend .dot.low { background:#f3f4f6; border:2px solid #e5e7eb; }
.cal-updated { font-size:0.78rem; color:var(--text-muted); margin-bottom:16px; }
.stats-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:18px; }
.stat-card { background:#fff; border:1px solid var(--green-100); border-radius:var(--radius-md); padding:12px; text-align:center; }
.stat-num { font-family:var(--font-display); font-size:1.6rem; font-weight:700; line-height:1; margin-bottom:2px; }
.stat-num.green { color:#16a34a; }
.stat-num.gold { color:#d97706; }
.stat-num.blue { color:var(--green-600); }
.stat-label { font-size:0.65rem; color:var(--text-muted); }
.cal-month { margin-bottom:22px; }
.cal-month-title { font-family:var(--font-display); font-size:0.95rem; color:var(--green-900); margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.cal-month-title::after { content:''; flex:1; height:1px; background:var(--green-100); }
.cal-grid-header { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; margin-bottom:3px; }
.cal-dow { text-align:center; font-size:0.6rem; font-weight:600; color:var(--text-muted); padding:3px 0; }
.cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.day-cell { border-radius:var(--radius-sm); padding:5px 2px 7px; text-align:center; min-height:60px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:2px; border:1.5px solid transparent; transition:transform 0.15s,box-shadow 0.15s; position:relative; }
.day-cell.clickable { cursor:pointer; }
.day-cell.clickable:hover { transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.day-cell.empty { background:transparent; border-color:transparent; }
.day-cell.past { background:#f9fafb; border-color:#f0f0f0; opacity:0.4; }
.day-cell.weekend-off { background:#f3f4f6; border-color:#e5e7eb; }
.day-cell.high { background:#dcfce7; border-color:#86efac; }
.day-cell.medium { background:#fef3c7; border-color:#fcd34d; }
.day-num { font-size:0.76rem; font-weight:600; color:var(--green-900); line-height:1; }
.day-cell.past .day-num, .day-cell.weekend-off .day-num { color:var(--text-muted); }
.day-rate { font-size:0.78rem; font-weight:700; line-height:1; }
.day-cell.high .day-rate { color:#16a34a; }
.day-cell.medium .day-rate { color:#d97706; }
.day-cell.past .day-rate { color:var(--text-muted); font-size:0.6rem; }
.day-cell.weekend-off .day-rate { display:none; }
.day-label { font-size:0.5rem; font-weight:500; line-height:1; }
.day-cell.high .day-label { color:#16a34a; }
.day-cell.medium .day-label { color:#d97706; }
.day-cell.weekend-off .day-label { color:var(--text-muted); }
.hot-badge { position:absolute; top:2px; right:2px; background:#16a34a; color:#fff; font-size:0.44rem; font-weight:700; padding:1px 3px; border-radius:8px; }

/* WHATSAPP BUTTON */
.whatsapp-btn { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; background:#25D366; color:#fff; padding:14px; border-radius:var(--radius-sm); text-decoration:none; font-family:var(--font-body); font-size:0.95rem; font-weight:700; border:none; cursor:pointer; margin-top:8px; transition:background 0.2s; }
.whatsapp-btn:hover { background:#1ebe5b; color:#fff; }

/* QUIZ (exact from eligibility.html) */
.quiz-wrap { max-width:720px; margin:40px auto 80px; }
.quiz-card { background:#fff; border-radius:var(--radius-lg); border:1px solid var(--green-100); box-shadow:var(--shadow-md); overflow:hidden; }
.quiz-progress-top { height:4px; background:var(--green-100); }
.quiz-progress-fill { height:100%; background:var(--green-600); transition:width 0.4s ease; }
.quiz-body { padding:24px 20px 20px; }
.quiz-step-label { font-size:0.72rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:10px; }
.quiz-question { font-family:var(--font-display); font-size:1.35rem; color:var(--green-900); margin-bottom:28px; line-height:1.35; }
.quiz-options { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.quiz-option { padding:14px 18px; border:1.5px solid var(--green-100); border-radius:var(--radius-md); cursor:pointer; font-size:0.92rem; color:var(--text-mid); transition:all 0.15s; background:#fff; text-align:left; font-family:var(--font-body); width:100%; }
.quiz-option:hover { border-color:var(--green-600); }
.quiz-option.selected { border-color:var(--green-600); background:var(--green-50); color:var(--green-800); font-weight:600; }
.quiz-nav { display:flex; justify-content:space-between; align-items:center; }
.btn-prev { background:none; border:1px solid var(--green-100); color:var(--text-muted); padding:10px 20px; border-radius:var(--radius-sm); cursor:pointer; font-family:var(--font-body); font-size:0.88rem; transition:all 0.15s; }
.btn-prev:hover { color:var(--green-800); border-color:var(--green-600); }
.result-icon { font-size:3rem; margin-bottom:16px; }
.result-title { font-family:var(--font-display); font-size:1.6rem; color:var(--green-900); margin-bottom:12px; }
.result-body { font-size:0.95rem; color:var(--text-mid); max-width:480px; margin:0 auto 28px; line-height:1.7; }
.result-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.result-alert { background:var(--green-50); border:1px solid var(--green-200); border-radius:var(--radius-md); padding:16px 20px; margin:20px auto 0; max-width:480px; font-size:0.84rem; color:var(--text-mid); line-height:1.7; text-align:left; }

/* FAQ exact + missing base grids */
.faq-item { background:#fff; }
.faq-layout { display:grid; grid-template-columns:220px 1fr; gap:32px; padding-bottom:80px; }
.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }


/* ───────────────────────────────────────── LIVE FAQ (exact) ───────────────────────────────────────── */
.faq-layout{display:grid;grid-template-columns:220px 1fr;gap:48px;padding:40px 0 80px;align-items:start;}
.cat-nav{position:sticky;top:80px;}
.cat-nav-title{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;}
.cat-btn{display:block;width:100%;text-align:left;padding:8px 12px;border-radius:var(--radius-sm);border:none;background:transparent;font-family:var(--font-body);font-size:0.85rem;color:var(--text-mid);cursor:pointer;transition:all 0.15s;margin-bottom:4px;}
.cat-btn:hover{background:var(--green-50);color:var(--green-800);}
.cat-btn.active{background:var(--green-800);color:#fff;font-weight:500;}
.faq-group{margin-bottom:48px;display:none;}
.faq-group.active{display:block;}
.faq-group-title{font-family:var(--font-display);font-size:1.3rem;color:var(--green-900);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--green-100);}
.faq-item{background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-md);margin-bottom:8px;overflow:hidden;}
.faq-q{width:100%;text-align:left;padding:16px 20px;background:transparent;border:none;font-family:var(--font-body);font-size:0.92rem;font-weight:600;color:var(--green-900);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:background 0.15s;}
.faq-q:hover{background:var(--green-50);}
.faq-q.open{background:var(--green-50);}
.faq-arrow{font-size:0.8rem;color:var(--text-muted);flex-shrink:0;transition:transform 0.2s;}
.faq-q.open .faq-arrow{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.3s ease;}
.faq-a.open{max-height:500px;}
.faq-a-inner{padding:0 20px 16px;font-size:0.88rem;color:var(--text-mid);line-height:1.75;}
.faq-a-inner a{color:var(--green-600);text-decoration:none;}
.faq-a-inner a:hover{text-decoration:underline;}
.faq-a-inner strong{color:var(--green-900);}
.faq-a-inner ul{margin:8px 0 0 16px;}
.faq-a-inner li{margin-bottom:4px;}
.still-q{background:var(--green-800);border-radius:var(--radius-lg);padding:36px;text-align:center;margin-bottom:0;}
.still-q h2{font-size:1.3rem;color:var(--ivory);margin-bottom:10px;}
.still-q p{font-size:0.9rem;color:var(--green-200);margin-bottom:24px;}

/* ───────────────────────────────────────── LIVE FEES stats (exact) ───────────────────────────────────────── */
.stat-row .stat-num{font-size:2rem;}
.stat-row .stat-label{font-size:0.8rem;color:var(--text-muted);margin-top:6px;}
.stat-row .stat-note{font-size:0.72rem;color:var(--text-muted);margin-top:4px;}


/* ───────────────────────────────────────── FINAL PER-PAGE STATS SCOPING ───────────────────────────────────────── */
/* homepage stats (2.8rem), fees (2rem), calendar (1.6rem) — resolved by parent scope */
.stats-grid .stat-num { font-size:2.8rem; font-weight:700; color:var(--green-800); line-height:1; }
.stats-grid .stat-label { font-size:0.85rem; color:var(--text-mid); margin-top:6px; }
.stat-row .stat-num { font-size:2rem; font-weight:700; color:var(--green-800); line-height:1; }
.stat-row .stat-label { font-size:0.8rem; color:var(--text-muted); margin-top:6px; }
.stat-row .stat-note { font-size:0.72rem; color:var(--text-muted); margin-top:4px; }
.stats-row .stat-num { font-size:1.6rem; font-weight:700; line-height:1; margin-bottom:2px; }
.stats-row .stat-num.green { color:#16a34a; }
.stats-row .stat-num.gold { color:#d97706; }
.stats-row .stat-num.blue { color:var(--green-600); }
.stats-row .stat-label { font-size:0.65rem; color:var(--text-muted); }
.stats-row .stat-card { background:#fff; border:1px solid var(--green-100); border-radius:var(--radius-md); padding:12px; text-align:center; }


/* ══ FINAL OVERRIDES ══ */
.hero { min-height: 92vh !important; display: flex !important; align-items: center !important; padding: 0 !important; }
.hero::after { display: none !important; }
.hero h1 { color: var(--ivory); font-size: clamp(2.4rem, 5vw, 3.8rem); margin-bottom: 20px; }
.hero h1 em { font-style: normal; color: var(--gold-400); }
.hero-content { max-width: 1140px !important; }
html[lang="zh-CN"] .full-steps { grid-template-columns: repeat(6, 1fr) !important; }

/* ══ PER-PAGE CLASS CONFLICT FIXES ══ */
/* hero card .step-desc should be light (green-200) on dark bg */
.process-step .step-desc { font-size: 0.8rem; color: var(--green-200); line-height: 1.6; }
/* blog .step-num should be green circle (28px), not hero gold (32px) */
.step-list .step-num { width: 28px; height: 28px; background: var(--green-800); color: #fff; border: none; font-size: 0.8rem; margin-top: 2px; }

/* ══ QUIZ BUTTONS (exact from eligibility.html) ══ */
.btn-next { background: var(--green-800); color: #fff; border: none; padding: 12px 28px; border-radius: var(--radius-sm); cursor: pointer; font-family: var(--font-body); font-size: 0.92rem; font-weight: 600; transition: background 0.2s; }
.btn-next:hover { background: var(--green-700); }
.btn-next:disabled { background: var(--green-100); color: var(--green-400); cursor: not-allowed; }
.btn-prev:hover { border-color: var(--green-400); color: var(--text-mid); }

/* quiz-card should have no padding/max-width (matches eligibility.html) */
.quiz-card { padding: 0; max-width: none; margin: 0; }

/* ══ HOMEPAGE WIDTH (1140px vs inner pages 1100px) ══ */
.home-page .container, .home-page .navbar-inner, .home-page .footer-inner, .home-page .footer-bottom, .home-page .hero-content { max-width: 1140px; }

/* ══ documents page exact fixes ══ */
.prog-step.active { color: var(--gold-400); border-bottom-color: var(--gold-600); font-weight: 500; }
.cons-tab.active { background: var(--green-800); color: #fff; border-color: var(--green-800); }

/* ══ multi-page exact fixes ══ */
.calc-total { color: var(--gold-400); margin-bottom: 8px; }
.stat-row .stat-card { padding: 20px; }
.blog-card { background: #fff; border: 1px solid var(--green-100); border-radius: var(--radius-lg); padding: 24px; text-decoration: none; display: block; overflow: visible; transition: box-shadow 0.2s, transform 0.2s; }
.blog-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.form-input, .form-select, .form-textarea { padding: 10px 14px; font-size: 0.9rem; }
.contact-layout { grid-template-columns: 1fr 400px; gap: 48px; padding: 48px 0 80px; }

/* legal pages h2 (live = 1.2rem) */
.page h2 { font-size: 1.2rem; }
