/* Visa Checklist Engine — premium visual treatment for
   /visa/{country}/{type}/ pages that have a published checklist
   (see visa/index.php + includes/visa-checklist.php). Scoped under
   .visa-checklist-page so it loads sitewide (matching every other
   page-specific stylesheet's convention) without affecting the plain
   /visa/{country}/{type}/ pages that have no checklist yet. Built
   from the site's real navy/gold tokens (tokens.css). The webpage
   itself stays deliberately simple — a hero and a summary of what's
   in the checklist; the actual premium payoff is the branded, printed/
   downloaded A4 document (the second half of this file, @media print
   only), matching the client-supplied reference template. */

.visa-checklist-page {
  --vc-navy: var(--visa-blue);
  --vc-navy-dark: var(--visa-blue-dark);
  --vc-gold: var(--visa-gold);
  --vc-gold-dark: var(--visa-gold-dark);
  --vc-gold-soft: var(--visa-gold-light);
}

/* The generic .visa-detail wrapper (visa.css) adds top padding so its
   plain, non-edge-to-edge pages don't butt straight into the header —
   but that same padding shows as a bare gray gap above this page's
   edge-to-edge hero photo, which needs to sit flush against the header
   instead. */
.visa-detail--checklist { padding-top: 0; }

/* ---------- HERO (edge-to-edge) ----------
   Breaks out of the page's .container using the 100vw/negative-margin
   trick rather than restructuring the surrounding markup, so it can sit
   flush with the viewport edges while everything else on the page stays
   inside the normal container. Falls back to a navy/gold gradient (no
   background-image at all) when a checklist has no hero_image_url yet —
   see includes/visa-checklist.php's fetch_visa_checklist(). */
.visa-checklist-page .vc-hero-full {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  color: #fff;
  background-color: var(--vc-navy-dark);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.visa-checklist-page .vc-hero-full::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(8, 42, 103, 0.94) 0%, rgba(8, 42, 103, 0.82) 32%, rgba(8, 42, 103, 0.45) 60%, rgba(8, 42, 103, 0.2) 100%);
}
.visa-checklist-page .vc-hero-inner {
  position: relative;
  max-width: var(--container-max, 1200px);
  margin: 0 auto;
  padding: var(--space-5) var(--space-4) var(--space-6);
}
.visa-checklist-page .vc-hero-full .breadcrumb { margin-bottom: var(--space-6); }
.visa-checklist-page .vc-hero-full .breadcrumb a { color: rgba(255, 255, 255, 0.75); }
.visa-checklist-page .vc-hero-full .breadcrumb a:hover { color: #fff; }
.visa-checklist-page .vc-hero-full .breadcrumb li { color: rgba(255, 255, 255, 0.55); }
.visa-checklist-page .vc-hero-full .breadcrumb li:last-child { color: #fff; }

.visa-checklist-page .vc-hero-full h1 {
  color: #fff;
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  line-height: 1.12;
  margin: 0 0 var(--space-2);
  max-width: 62ch;
}
.visa-checklist-page .vc-hero-full h1 span { display: block; font-weight: var(--font-weight-medium); font-size: 0.55em; color: var(--vc-gold); margin-top: var(--space-1); }
.visa-checklist-page .vc-hero-lede { color: rgba(255, 255, 255, 0.85); font-size: var(--font-size-md); line-height: 1.7; max-width: 60ch; margin: 0 0 var(--space-5); }
.visa-checklist-page .vc-hero-cta { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-6); }
.visa-checklist-page .vc-hero-cta .btn-outline { color: #fff; border-color: rgba(255, 255, 255, 0.6); }
.visa-checklist-page .vc-hero-cta .btn-outline:hover { background: rgba(255, 255, 255, 0.12); }

.visa-checklist-page .vc-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-4);
  max-width: 900px;
}
.visa-checklist-page .vc-pills { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.visa-checklist-page .vc-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: #fff;
  white-space: nowrap;
}
.visa-checklist-page .vc-hero-reviewed {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: var(--font-size-xs);
  white-space: nowrap;
}
.visa-checklist-page .vc-hero-reviewed b { display: block; font-size: var(--font-size-sm); color: var(--vc-gold); }

/* Icon badges — a small translucent chip tinted with the logo's gold,
   giving each pill/reviewed-date icon a soft, compact accent instead of
   a bare glyph. Kept deliberately small/borderless so the meta row
   reads as one tight line, not a row of boxes. Slightly brightens on
   hover for a subtle interactive feel even though the pills aren't
   links. */
.visa-checklist-page .vc-pill-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  background: rgba(244, 180, 0, 0.18);
  color: var(--vc-gold);
  flex-shrink: 0;
  transition: background-color 0.2s ease;
}
.visa-checklist-page .vc-pill:hover .vc-pill-icon,
.visa-checklist-page .vc-hero-reviewed:hover .vc-pill-icon {
  background: rgba(244, 180, 0, 0.32);
}
.visa-checklist-page .vc-pill-icon svg,
.visa-checklist-page .vc-hero-reviewed .vc-pill-icon svg { width: 12px; height: 12px; }
.visa-checklist-page .vc-pill-icon--flag {
  background: rgba(255, 255, 255, 0.18);
  font-size: 13px;
  line-height: 1;
}
.visa-checklist-page .vc-pill:hover .vc-pill-icon--flag { background: rgba(255, 255, 255, 0.3); }

/* ---------- VISA OVERVIEW ---------- */
.visa-checklist-page .vc-overview { margin-top: var(--space-6); }
.visa-checklist-page .vc-overview h2 { color: var(--vc-navy); margin: 0 0 var(--space-3); }
.visa-checklist-page .vc-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
}
.visa-checklist-page .vc-overview-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-3);
}
.visa-checklist-page .vc-overview-icon {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--visa-blue-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
}
.visa-checklist-page .vc-overview-item b { display: block; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: 0.02em; }
.visa-checklist-page .vc-overview-item span { display: block; font-size: var(--font-size-sm); color: var(--text-dark); font-weight: var(--font-weight-medium); margin-top: 2px; }

.visa-checklist-page .vc-info-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  background: var(--visa-blue-light);
  border: 1px solid #c9ddfb;
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-5);
  margin-top: var(--space-6);
  font-size: var(--font-size-sm);
  color: var(--vc-navy-dark);
  line-height: 1.6;
}
.visa-checklist-page .vc-info-note .vc-info-icon { flex-shrink: 0; font-size: 1.1rem; }

/* ---------- DOCUMENT CHECKLIST (on-page) ---------- */
.visa-checklist-page .vc-checklist-heading { margin-top: var(--space-9); }
.visa-checklist-page .vc-checklist-heading h2 { color: var(--vc-navy); margin: 0 0 var(--space-1); }
.visa-checklist-page .vc-checklist-heading p { color: var(--text-muted); margin: 0; font-size: var(--font-size-sm); }

.visa-checklist-page .vc-section-card {
  margin-top: var(--space-5);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: #fff;
}
.visa-checklist-page .vc-section-head {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  background: var(--vc-navy-dark);
  color: #fff;
  padding: var(--space-3) var(--space-5);
}
.visa-checklist-page .vc-section-num {
  flex-shrink: 0;
  background: var(--vc-gold);
  color: var(--vc-navy-dark);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  width: 30px;
  height: 30px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}
.visa-checklist-page .vc-section-head h3 { flex: 1; margin: 0; font-size: var(--font-size-md); }
.visa-checklist-page .vc-section-tag { font-size: var(--font-size-xs); color: rgba(255, 255, 255, 0.85); white-space: nowrap; }

.visa-checklist-page .vc-doc-table { width: 100%; border-collapse: collapse; }
.visa-checklist-page .vc-doc-table th {
  background: var(--background);
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-align: left;
  padding: var(--space-2) var(--space-5);
}
.visa-checklist-page .vc-doc-table td { padding: var(--space-3) var(--space-5); border-top: 1px solid var(--border); font-size: var(--font-size-sm); vertical-align: top; }
.visa-checklist-page .vc-doc-table th:first-child, .visa-checklist-page .vc-doc-table td:first-child { width: 5%; }
.visa-checklist-page .vc-doc-table th:nth-child(2), .visa-checklist-page .vc-doc-table td:nth-child(2) { width: 25%; }
.visa-checklist-page .vc-doc-table th:last-child, .visa-checklist-page .vc-doc-table td:last-child { width: 13%; text-align: center; }
.visa-checklist-page .vc-doc-table td:first-child input[type="checkbox"] { width: 16px; height: 16px; }
.visa-checklist-page .vc-doc-name { color: var(--vc-navy-dark); font-weight: var(--font-weight-semibold); }
.visa-checklist-page .vc-doc-desc { color: var(--text-muted); }
.visa-checklist-page .vc-doc-type {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  background: var(--visa-blue-light);
  color: var(--vc-navy-dark);
}

/* ---------- CONSOLIDATED LOCKED PANEL ----------
   One panel for every remaining locked section (never one repeated card
   per section) — see visa/index.php's $lockedSectionTitles loop. */
.visa-checklist-page .vc-locked-panel {
  margin-top: var(--space-6);
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: var(--space-6);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: 0 8px 28px rgba(18, 63, 145, 0.06);
}
.visa-checklist-page .vc-locked-panel-head { display: flex; gap: var(--space-4); margin-bottom: var(--space-4); }
.visa-checklist-page .vc-locked-panel-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--vc-navy-dark);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.visa-checklist-page .vc-locked-panel-head h3 { margin: 0 0 var(--space-1); color: var(--vc-navy); }
.visa-checklist-page .vc-locked-panel-head p { margin: 0; color: var(--text-muted); font-size: var(--font-size-sm); line-height: 1.6; }
.visa-checklist-page .vc-locked-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; }
.visa-checklist-page .vc-locked-list li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--text-muted);
  background: var(--background);
}
.visa-checklist-page .vc-locked-list li:nth-child(even) { background: #fff; }
.visa-checklist-page .vc-locked-list-icon { flex-shrink: 0; color: #9aa5b1; }

.visa-checklist-page .vc-locked-panel-cta {
  background: var(--visa-blue-light);
  border: 1px solid #c9ddfb;
  border-radius: var(--radius-md);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
}
.visa-checklist-page .vc-locked-panel-cta h4 { margin: 0 0 var(--space-3); color: var(--vc-navy); font-size: var(--font-size-md); }
.visa-checklist-page .vc-locked-benefits { list-style: none; margin: 0 0 var(--space-4); padding: 0; flex: 1; }
.visa-checklist-page .vc-locked-benefits li { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--text-dark); margin-bottom: var(--space-2); }
.visa-checklist-page .vc-locked-benefits svg { flex-shrink: 0; color: #1e9e5a; }
.visa-checklist-page .vc-locked-btn { width: 100%; text-align: center; justify-content: center; }

/* ---------- TRUST BADGES ROW ---------- */
.visa-checklist-page .vc-trust-row {
  margin-top: var(--space-6);
  display: flex;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-5);
}
.visa-checklist-page .vc-trust-item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 0 var(--space-4);
  border-left: 1px solid var(--border);
}
.visa-checklist-page .vc-trust-item:first-child { border-left: none; padding-left: 0; }
.visa-checklist-page .vc-trust-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--visa-blue-light);
  color: var(--vc-navy);
  display: flex;
  align-items: center;
  justify-content: center;
}
.visa-checklist-page .vc-trust-item b { display: block; font-size: var(--font-size-sm); color: var(--text-dark); }
.visa-checklist-page .vc-trust-item span { display: block; font-size: var(--font-size-xs); color: var(--text-muted); margin-top: 2px; }

.visa-checklist-page .vc-download-panel {
  margin-top: var(--space-6);
  border: 1px solid #e3c77f;
  background: linear-gradient(135deg, var(--vc-gold-soft), #fff);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  flex-wrap: wrap;
}
.visa-checklist-page .vc-download-panel h3 { margin: 0 0 var(--space-1); color: var(--vc-gold-dark); }
.visa-checklist-page .vc-download-panel p { margin: 0; color: var(--text-muted); font-size: var(--font-size-sm); max-width: 48ch; }
.visa-checklist-page .vc-download-buttons { display: flex; gap: var(--space-3); flex-shrink: 0; }

.visa-checklist-page .vc-note {
  background: var(--background);
  border-left: 4px solid var(--vc-gold);
  padding: var(--space-4);
  margin-top: var(--space-5);
  font-size: var(--font-size-sm);
  color: var(--text-muted);
}

/* ---------- DOCUMENT CHECKLIST COMING SOON ----------
   The honest empty state for the vast majority of /visa/{country}/{type}/
   pages that have neither a published checklist nor legacy rich
   requirement content yet — not nested under .visa-checklist-page since
   it renders after that wrapper is already closed (see visa/index.php). */
.vc-coming-soon {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  margin-top: var(--space-2);
}
.vc-coming-soon-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--visa-blue-light);
  color: var(--visa-blue);
  display: flex;
  align-items: center;
  justify-content: center;
}
.vc-coming-soon-icon svg { width: 22px; height: 22px; }
.vc-coming-soon h3 { margin: 0 0 var(--space-2); color: var(--visa-blue); }
.vc-coming-soon p { margin: 0; color: var(--text-muted); font-size: var(--font-size-sm); line-height: 1.6; max-width: 60ch; }

/* ---------- CUSTOMER TESTIMONIALS ----------
   Renders wherever includes/testimonials.php is required — not nested
   under .visa-checklist-page since this partial is meant to be reused
   on other pages later, not just the checklist page that first needed
   it. Built from the same tokens as everything else on this stylesheet. */
.testimonials-section { margin-top: 0; }
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-4);
}
.testimonial-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-5);
}
.testimonial-stars { color: var(--border); font-size: 0.9rem; letter-spacing: 2px; margin-bottom: var(--space-3); }
.testimonial-stars .is-filled { color: var(--visa-gold); }
.testimonial-quote { color: var(--text-dark); font-size: var(--font-size-sm); line-height: 1.7; margin: 0 0 var(--space-4); }
.testimonial-author { display: flex; align-items: center; gap: var(--space-3); }
.testimonial-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.testimonial-avatar--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--visa-blue-light);
  color: var(--visa-blue);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
}
.testimonial-author-name { display: block; font-weight: var(--font-weight-semibold); color: var(--visa-blue); font-size: var(--font-size-sm); }
.testimonial-author-location { display: block; font-size: var(--font-size-xs); color: var(--text-muted); }

@media (max-width: 850px) {
  .testimonial-grid { grid-template-columns: 1fr; }
}

@media (max-width: 850px) {
  .visa-checklist-page .vc-meta-row { flex-direction: column; align-items: flex-start; }
  .visa-checklist-page .vc-overview-grid { grid-template-columns: repeat(2, 1fr); }
  .visa-checklist-page .vc-download-panel { flex-direction: column; align-items: flex-start; }
  .visa-checklist-page .vc-download-buttons { width: 100%; }
  .visa-checklist-page .vc-download-buttons .btn { flex: 1; }
  .visa-checklist-page .vc-doc-table { display: block; overflow-x: auto; }
  .visa-checklist-page .vc-locked-panel { grid-template-columns: 1fr; }
  .visa-checklist-page .vc-trust-row { flex-direction: column; gap: var(--space-4); }
  .visa-checklist-page .vc-trust-item { border-left: none; padding-left: 0; }
}

@media (max-width: 480px) {
  .visa-checklist-page .vc-overview-grid { grid-template-columns: 1fr; }
}

/* ================= PRINT-ONLY A4 DOCUMENT =================
   Present in the DOM only when the visitor has unlocked the checklist
   (see visa/index.php) — never rendered at all otherwise, so there is
   nothing for print/save-as-PDF to expose before authorization. */
.print-document { display: none; }

@media print {
  body * { visibility: hidden; }
  .print-document, .print-document * { visibility: visible; }
  .print-document { display: block; position: absolute; left: 0; top: 0; }

  @page { size: A4 portrait; margin: 0; }
  .p-page {
    width: 210mm; height: 297mm;
    margin: 0 auto;
    position: relative;
    padding: 11mm 10mm 24mm;
    background: #fff;
    overflow: hidden;
    page-break-after: always;
  }
  .p-page:last-child { page-break-after: auto; }

  .p-head { height: 27mm; border-bottom: 2px solid var(--visa-gold); display: flex; justify-content: space-between; align-items: flex-start; }
  .p-brand { font-weight: 900; color: var(--visa-blue); font-size: 24px; }
  .p-brand span { color: var(--visa-gold); }
  .p-brand small { display: block; color: #7c8794; font-size: 8px; letter-spacing: 2px; margin-top: 2px; }
  .p-tag { text-align: right; color: var(--visa-blue); font-weight: 800; font-size: 11px; line-height: 1.3; }

  .p-title { margin-top: 6mm; }
  .p-title h1 { font-size: 25px; margin: 0; color: var(--text-dark); }
  .p-title h1 span { color: var(--visa-gold-dark); }
  .p-title p { font-size: 10px; color: #64778b; margin: 4px 0; }

  .p-meta { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--border); margin-top: 4mm; }
  .p-meta div { background: var(--background); padding: 6px 7px; min-height: 13mm; }
  .p-meta b { display: block; font-size: 7px; color: var(--visa-blue); text-transform: uppercase; }
  .p-meta span { font-size: 8.5px; font-weight: 700; }

  .p-cols { display: grid; grid-template-columns: 1.45fr 0.85fr; gap: 5mm; margin-top: 5mm; }
  .p-section { border: 1px solid var(--border); border-radius: 5px; overflow: hidden; margin-bottom: 4mm; break-inside: avoid; }
  .p-section-head { display: grid; grid-template-columns: 9mm 1fr; align-items: center; background: var(--visa-blue); color: #fff; min-height: 9mm; }
  .p-num { background: var(--visa-gold); height: 100%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 900; }
  .p-section-head h2 { font-size: 9.5px; margin: 0; padding-left: 8px; letter-spacing: 0.3px; }
  .p-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
  .p-table th { background: var(--visa-blue-light); color: var(--visa-blue); font-size: 7.5px; padding: 5px 6px; text-align: left; }
  .p-table td { font-size: 8px; padding: 5px 6px; border-top: 1px solid var(--border); vertical-align: top; line-height: 1.3; }
  .p-table th:first-child, .p-table td:first-child { width: 7%; }
  .p-table th:nth-child(2), .p-table td:nth-child(2) { width: 31%; }
  .p-table th:nth-child(3), .p-table td:nth-child(3) { width: 47%; text-align: justify; text-justify: inter-word; }
  .p-table th:nth-child(4), .p-table td:nth-child(4) { width: 15%; text-align: center; }
  .p-box { display: inline-block; width: 10px; height: 10px; border: 1px solid #718399; border-radius: 2px; }

  .p-side-box { border: 1px solid var(--border); border-radius: 5px; margin-bottom: 4mm; overflow: hidden; }
  .p-side-box h3 { margin: 0; background: var(--visa-blue); color: #fff; padding: 7px 8px; font-size: 9.5px; }
  .p-glance-row { display: grid; grid-template-columns: 34% 66%; font-size: 7.5px; padding: 5px 6px; border-top: 1px solid var(--border); }
  .p-glance-row b { color: var(--visa-blue); }
  .p-note-box { padding: 8px 9px; background: var(--visa-gold-light); border: 1px solid #e2c67b; border-radius: 5px; margin-bottom: 4mm; }
  .p-note-box h3 { margin: 0 0 5px; color: var(--visa-gold-dark); font-size: 9.5px; }
  .p-order-box { padding: 8px 9px; background: var(--background); border: 1px solid var(--border); border-radius: 5px; margin-bottom: 4mm; }
  .p-order-box h3 { margin: 0 0 5px; color: var(--visa-blue); font-size: 9.5px; }
  .p-note-box ul, .p-order-box ol { margin: 0; padding-left: 14px; }
  .p-note-box li, .p-order-box li { font-size: 7.5px; line-height: 1.5; text-align: justify; text-justify: inter-word; }
  .p-cta-box { padding: 8px 9px; background: #fff; border: 1px solid var(--border); border-radius: 5px; }
  .p-cta-box h3 { margin: 0; background: var(--visa-blue); color: #fff; padding: 7px 8px; margin: -8px -9px 6px; font-size: 9.5px; }
  .p-cta-box p { font-size: 7.5px; line-height: 1.5; margin: 6px 0; }

  .p-contact {
    position: absolute; left: 10mm; right: 10mm; bottom: 12mm;
    border-top: 1px solid var(--border);
    padding-top: 5px;
    display: flex; justify-content: space-between;
    font-size: 7.5px; color: #536a82;
  }
  .p-footer {
    position: absolute; left: 0; right: 0; bottom: 0;
    height: 10mm;
    background: var(--visa-blue);
    color: #fff;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 10mm;
  }
  .p-footer b { font-size: 8.5px; letter-spacing: 2.5px; }
  .p-footer span { font-size: 7.5px; }
}
