/* =========================================================
   EASC Market Navigator — Typography Recalibration
   V2-8-18 font/layout patch
   Purpose: unify desktop/mobile reading hierarchy without touching JS/API.
   ========================================================= */

:root {
  --mn-body: 16.5px;
  --mn-body-mobile: 16px;
  --mn-lede: 17px;
  --mn-text: 15.75px;
  --mn-small: 14.5px;
  --mn-meta: 13px;
  --mn-micro: 12px;
  --mn-line: 1.76;
  --mn-line-tight: 1.34;
  --mn-line-title: 1.18;
  --mn-weight-body: 400;
  --mn-weight-medium: 560;
  --mn-weight-bold: 720;
  --mn-weight-heavy: 780;
}

html {
  font-size: 100%;
  text-rendering: optimizeLegibility;
}

body.v2 {
  font-family: 'Noto Sans TC', 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: var(--mn-body) !important;
  line-height: var(--mn-line) !important;
  font-weight: var(--mn-weight-body) !important;
  color: #25314a !important;
  letter-spacing: 0.005em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.v2 p,
body.v2 li,
body.v2 label,
body.v2 input,
body.v2 select,
body.v2 textarea,
body.v2 button,
body.v2 .input-field {
  font-family: inherit !important;
  line-height: var(--mn-line) !important;
}

body.v2 p,
body.v2 li,
body.v2 .v2lede,
body.v2 .lede,
body.v2 .desc,
body.v2 .fd,
body.v2 .t,
body.v2 .ai-trait-text,
body.v2 .feature-desc,
body.v2 .recommend-text,
body.v2 .report-action-sub {
  font-size: var(--mn-text) !important;
  font-weight: 400 !important;
  line-height: var(--mn-line) !important;
}

/* Display hierarchy */
body.v2 h1,
body.v2 .v2hero h1,
body.v2 .audit-hero h1,
body.v2 [style*="font-size:clamp(28px,4vw,44px)"],
body.v2 [style*="font-size:clamp(26px,4vw,44px)"] {
  font-family: 'Manrope', 'Noto Sans TC', system-ui, sans-serif !important;
  font-size: clamp(36px, 4.3vw, 52px) !important;
  line-height: 1.16 !important;
  font-weight: var(--mn-weight-heavy) !important;
  letter-spacing: -0.026em !important;
  color: #0B1B3F !important;
}

body.v2 .v2h2,
body.v2 h2,
body.v2 [style*="font-size:24px"][style*="font-weight:800"],
body.v2 [style*="font-size:22px"][style*="font-weight:800"] {
  font-family: 'Manrope', 'Noto Sans TC', system-ui, sans-serif !important;
  font-size: clamp(27px, 3vw, 36px) !important;
  line-height: 1.24 !important;
  font-weight: var(--mn-weight-heavy) !important;
  letter-spacing: -0.02em !important;
  color: #0B1B3F !important;
}

body.v2 h3,
body.v2 .section-title,
body.v2 .v2tool h3,
body.v2 .entry-title,
body.v2 .feature-title,
body.v2 .ai-compare-name,
body.v2 .report-action-title {
  font-family: 'Manrope', 'Noto Sans TC', system-ui, sans-serif !important;
  font-weight: var(--mn-weight-bold) !important;
  letter-spacing: -0.012em !important;
  line-height: 1.35 !important;
}

body.v2 .v2lede,
body.v2 .v2hero p.lede,
body.v2 .audit-hero p,
body.v2 p.lede {
  font-size: var(--mn-lede) !important;
  line-height: 1.82 !important;
  color: #4e5b73 !important;
}

/* Brand/navigation */
body.v2 .v2nav-inner {
  height: 68px !important;
}

body.v2 .v2brand .mark {
  font-size: 18px !important;
  font-weight: 780 !important;
  letter-spacing: -0.018em !important;
}

body.v2 .v2brand .sub {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

body.v2 .v2brand .tm {
  font-size: 9px !important;
}

body.v2 .v2nav-links a,
body.v2 .v2nav-cta {
  font-size: 14.5px !important;
  line-height: 1.4 !important;
  font-weight: 560 !important;
  letter-spacing: 0 !important;
}

body.v2 .v2nav-links a.active,
body.v2 .v2nav-cta {
  font-weight: 700 !important;
}

/* Labels: readable but not shouting */
body.v2 .v2eyebrow,
body.v2 .v2kicker,
body.v2 .badge,
body.v2 .entry-tag,
body.v2 .q-code,
body.v2 .q-type,
body.v2 .q-max-note,
body.v2 .result-label,
body.v2 .recommend-title,
body.v2 .contact-request-label,
body.v2 [style*="text-transform:uppercase"],
body.v2 [style*="letter-spacing:.1em"],
body.v2 [style*="letter-spacing:.08em"],
body.v2 [style*="letter-spacing:.12em"] {
  font-size: var(--mn-meta) !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
  letter-spacing: 0.075em !important;
}

body.v2 .v2kicker,
body.v2 .v2eyebrow {
  margin-bottom: 14px !important;
}

/* Buttons and inputs */
body.v2 .v2btn,
body.v2 .btn,
body.v2 .contact-submit,
body.v2 .report-action-btn,
body.v2 [role="button"] {
  font-size: 15.5px !important;
  line-height: 1.42 !important;
  font-weight: 680 !important;
  letter-spacing: 0 !important;
}

body.v2 .btn-lg {
  font-size: 16.5px !important;
}

body.v2 .input-field,
body.v2 input,
body.v2 select,
body.v2 textarea {
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

body.v2 label,
body.v2 .contact-field,
body.v2 [style*="font-size:13px"][style*="font-weight:600"] {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  font-weight: 650 !important;
}

/* Homepage/business cards */
body.v2 .v2tool {
  padding: 34px 32px !important;
}

body.v2 .v2tool .name,
body.v2 .tool-card-number {
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

body.v2 .v2tool h3,
body.v2 .tool-card-title {
  font-size: 22px !important;
}

body.v2 .v2tool .desc,
body.v2 .tool-card-desc,
body.v2 .v2feature .fd,
body.v2 .v2pain .t,
body.v2 .v288-faq-item p {
  font-size: 15.5px !important;
  line-height: 1.78 !important;
}

body.v2 .v2tool li,
body.v2 .tool-card-features li,
body.v2 .v2feature .ft,
body.v2 .v288-faq-item h3 {
  font-size: 15px !important;
  line-height: 1.62 !important;
}

body.v2 .v2stat .num {
  font-size: clamp(24px, 2.6vw, 31px) !important;
  font-weight: 760 !important;
}

body.v2 .v2stat .lbl {
  font-size: 13.5px !important;
  line-height: 1.55 !important;
}

/* Assessment landing: entry cards, flow, EGI explainer */
body.v2 .entry-title {
  font-size: 21px !important;
  color: #0B1B3F !important;
}

body.v2 .entry-sub,
body.v2 .entry-time,
body.v2 .entry-features li {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

body.v2 .entry-card {
  padding: 30px !important;
}

body.v2 .entry-grid + div,
body.v2 .lite-review-details,
body.v2 .skip-notice,
body.v2 .usage-notice,
body.v2 .crawl-detail,
body.v2 .form-disclaimer {
  font-size: 15px !important;
  line-height: 1.72 !important;
}

body.v2 .entry-grid + div div[style*="font-size:12px"],
body.v2 .entry-grid + div div[style*="font-size:10px"],
body.v2 .entry-grid + div p[style*="font-size:12px"] {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body.v2 .entry-grid + div div[style*="min-width"] {
  font-size: 14px !important;
  line-height: 1.55 !important;
  min-width: 142px !important;
}

body.v2 .entry-grid + div div[style*="min-width:140px"] {
  min-width: 168px !important;
}

body.v2 .entry-grid + div div[style*="min-width:130px"] {
  min-width: 156px !important;
}

body.v2 [style*="什麼是 EGI"],
body.v2 [style*="Export Growth Index"] {
  line-height: 1.55 !important;
}

body.v2 [style*="font-size:20px"][style*="EGI"],
body.v2 .egi-main + * h3 {
  font-size: 21px !important;
}

/* Questions and forms */
body.v2 .q-block {
  padding: 22px 24px !important;
}

body.v2 .q-title {
  font-size: 17px !important;
  line-height: 1.58 !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

body.v2 .q-hint,
body.v2 .q-type,
body.v2 .q-max-note,
body.v2 .prog-text,
body.v2 .form-err,
body.v2 .error-desc {
  font-size: 14px !important;
  line-height: 1.72 !important;
}

body.v2 .q-opt {
  font-size: 15.5px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  padding: 10px 15px !important;
  white-space: normal !important;
}

body.v2 .q-opt.selected {
  font-weight: 650 !important;
}

body.v2 .q-code {
  font-size: 12px !important;
}

/* EGI/report result readability */
body.v2 .egi-num {
  font-size: clamp(62px, 8vw, 78px) !important;
  font-weight: 420 !important;
}

body.v2 .egi-grade,
body.v2 .grade-tag {
  font-size: 20px !important;
  font-weight: 720 !important;
}

body.v2 .result-card,
body.v2 .report-section,
body.v2 .ai-block,
body.v2 .recommend-section,
body.v2 .index-card,
body.v2 #combinedRec,
body.v2 #seoChecklist,
body.v2 #auditFullDiagnosisCta {
  font-size: 15.75px !important;
  line-height: 1.78 !important;
}

body.v2 .section-title {
  font-size: 21px !important;
  color: #0B1B3F !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
}

body.v2 .index-num,
body.v2 .index-value {
  font-size: clamp(32px, 4.2vw, 38px) !important;
  font-weight: 460 !important;
}

body.v2 .index-desc,
body.v2 .category-name,
body.v2 .category-score,
body.v2 .check-item,
body.v2 .ai-trait-text,
body.v2 .feature-desc,
body.v2 .recommend-text,
body.v2 #probComment,
body.v2 #scoreStabilityNote {
  font-size: 14.5px !important;
  line-height: 1.72 !important;
}

body.v2 .ai-engine-name,
body.v2 .feature-title,
body.v2 .error-title {
  font-size: 15.5px !important;
  font-weight: 700 !important;
}

body.v2 .ai-engine-sub {
  font-size: 13.5px !important;
  line-height: 1.55 !important;
}

body.v2 .score-number,
body.v2 .dual-score-num {
  font-weight: 440 !important;
}

/* Contact + footer */
body.v2 .contact-request-title,
body.v2 .contact-request-toggle {
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 740 !important;
}

body.v2 .contact-request-option span,
body.v2 .contact-message,
body.v2 .contact-field input,
body.v2 .contact-request-other input[type="text"],
body.v2 .contact-done,
body.v2 .contact-error {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

body.v2 .v2footer-brand .mark {
  font-size: 19px !important;
}

body.v2 .v2footer-brand p,
body.v2 .v2footer-col a,
body.v2 .v2footer-bottom,
body.v2 .footer-text {
  font-size: 14px !important;
  line-height: 1.75 !important;
}

body.v2 .v2footer-col h5 {
  font-size: 12.5px !important;
  font-weight: 760 !important;
}

/* Inline font-size cleanup: fixes over-small text left in HTML/JS while keeping large titles/icons intact. */
body.v2 p[style*="font-size:10px"], body.v2 div[style*="font-size:10px"], body.v2 span[style*="font-size:10px"] { font-size: 12px !important; }
body.v2 p[style*="font-size:11px"], body.v2 div[style*="font-size:11px"], body.v2 span[style*="font-size:11px"], body.v2 a[style*="font-size:11px"] { font-size: 12.5px !important; line-height: 1.58 !important; }
body.v2 p[style*="font-size:12px"], body.v2 div[style*="font-size:12px"], body.v2 span[style*="font-size:12px"], body.v2 a[style*="font-size:12px"] { font-size: 13.5px !important; line-height: 1.62 !important; }
body.v2 p[style*="font-size:13px"], body.v2 div[style*="font-size:13px"], body.v2 span[style*="font-size:13px"], body.v2 a[style*="font-size:13px"], body.v2 label[style*="font-size:13px"] { font-size: 14.5px !important; line-height: 1.65 !important; }
body.v2 p[style*="font-size:14px"], body.v2 div[style*="font-size:14px"], body.v2 span[style*="font-size:14px"], body.v2 a[style*="font-size:14px"] { font-size: 15px !important; line-height: 1.68 !important; }
body.v2 p[style*="font-size:14.5px"], body.v2 div[style*="font-size:14.5px"], body.v2 span[style*="font-size:14.5px"] { font-size: 15.5px !important; line-height: 1.72 !important; }
body.v2 p[style*="font-size:15px"], body.v2 div[style*="font-size:15px"], body.v2 span[style*="font-size:15px"] { font-size: 15.75px !important; line-height: 1.72 !important; }
body.v2 p[style*="font-size:16px"], body.v2 div[style*="font-size:16px"], body.v2 span[style*="font-size:16px"] { font-size: 16px !important; line-height: 1.74 !important; }
body.v2 p[style*="font-size:17px"], body.v2 div[style*="font-size:17px"], body.v2 span[style*="font-size:17px"] { font-size: 17px !important; line-height: 1.78 !important; }

/* Preserve intentionally large visual numbers/icons. */
body.v2 .v2tool .ico,
body.v2 .feature-icon,
body.v2 .assess-dim-icon,
body.v2 .nav-logo,
body.v2 .url-icon,
body.v2 .report-action-close,
body.v2 .egi-num,
body.v2 .index-num,
body.v2 .score-number,
body.v2 .dual-score-num {
  line-height: 1 !important;
}

/* JS-generated overlays/reports */
#easc-overlay,
#easc-overlay p,
#easc-overlay div,
#easc-overlay span,
#easc-overlay label,
#easc-overlay button,
#easc-diag,
.report-action-panel,
.report-action-panel p,
.report-action-panel button {
  font-family: 'Noto Sans TC', 'Manrope', system-ui, sans-serif !important;
  line-height: 1.72 !important;
}

#easc-overlay [style*="font-size:11px"], #easc-diag [style*="font-size:11px"] { font-size: 12.5px !important; }
#easc-overlay [style*="font-size:12px"], #easc-diag [style*="font-size:12px"] { font-size: 13.5px !important; }
#easc-overlay [style*="font-size:13px"], #easc-diag [style*="font-size:13px"] { font-size: 14.5px !important; }
#easc-overlay [style*="font-size:14px"], #easc-diag [style*="font-size:14px"] { font-size: 15px !important; }
#easc-overlay [style*="font-size:15px"], #easc-diag [style*="font-size:15px"] { font-size: 15.5px !important; }
#easc-overlay h3,
#easc-overlay [style*="font-size:20px"] {
  font-size: 20px !important;
  line-height: 1.35 !important;
}

/* Desktop spacing balance */
body.v2 .v2section { padding-top: 82px !important; padding-bottom: 82px !important; }
body.v2 .v2hero-grid { padding-top: 76px !important; padding-bottom: 70px !important; }
body.v2 .container, body.v2 .v2wrap { max-width: 1180px; }
body.v2 .container-narrow, body.v2 .v2wrap-narrow { max-width: 820px; }

/* Tablet/mobile */
@media (max-width: 880px) {
  body.v2 .v2hero-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  body.v2 .v2tools, body.v2 .v2pain-grid, body.v2 .v2split, body.v2 .ai-compare-grid, body.v2 .report-grid { grid-template-columns: 1fr !important; }
  body.v2 .v2roadmap-row { flex-direction: column !important; gap: 8px !important; }
}

@media (max-width: 760px) {
  :root {
    --mn-body: var(--mn-body-mobile);
    --mn-lede: 16px;
    --mn-text: 15.5px;
    --mn-small: 14px;
    --mn-meta: 12.5px;
  }

  body.v2 {
    font-size: 16px !important;
    line-height: 1.74 !important;
    letter-spacing: 0 !important;
  }

  body.v2 .v2nav-inner {
    height: 58px !important;
  }

  body.v2 .v2brand .mark {
    font-size: 15.5px !important;
  }

  body.v2 .v2brand .sub {
    display: none !important;
  }

  body.v2 .v2nav-links.open a {
    font-size: 15px !important;
    padding: 12px 10px !important;
  }

  body.v2 h1,
  body.v2 .v2hero h1,
  body.v2 .audit-hero h1,
  body.v2 [style*="font-size:clamp(28px,4vw,44px)"],
  body.v2 [style*="font-size:clamp(26px,4vw,44px)"] {
    font-size: clamp(29px, 8vw, 38px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.022em !important;
  }

  body.v2 .v2h2,
  body.v2 h2,
  body.v2 [style*="font-size:24px"][style*="font-weight:800"],
  body.v2 [style*="font-size:22px"][style*="font-weight:800"] {
    font-size: clamp(24px, 6.6vw, 31px) !important;
    line-height: 1.26 !important;
  }

  body.v2 .v2section,
  body.v2 .section {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  body.v2 .v2hero-grid {
    padding: 38px 16px 44px !important;
    gap: 24px !important;
  }

  body.v2 .container,
  body.v2 .container-narrow,
  body.v2 .v2wrap,
  body.v2 .v2wrap-narrow {
    padding-left: 17px !important;
    padding-right: 17px !important;
  }

  body.v2 .v2hero p.lede,
  body.v2 .v2lede,
  body.v2 .audit-hero p,
  body.v2 p.lede {
    font-size: 16px !important;
    line-height: 1.76 !important;
  }

  body.v2 .v2hero-cta .v2btn,
  body.v2 .btn,
  body.v2 .v2btn {
    width: 100%;
    min-height: 46px;
    padding: 12px 17px !important;
    font-size: 15.5px !important;
  }

  body.v2 .v2tools,
  body.v2 .entry-grid,
  body.v2 .feature-grid,
  body.v2 .assess-dims,
  body.v2 [style*="grid-template-columns:repeat(3,1fr)"],
  body.v2 [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  body.v2 .v2tool,
  body.v2 .entry-card,
  body.v2 .card,
  body.v2 .audit-form-card,
  body.v2 .result-card,
  body.v2 .report-section,
  body.v2 .ai-block,
  body.v2 .feature-item,
  body.v2 .ai-compare-card {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  body.v2 .entry-title,
  body.v2 .v2tool h3 {
    font-size: 20px !important;
  }

  body.v2 .entry-sub,
  body.v2 .entry-time,
  body.v2 .entry-features li,
  body.v2 .v2tool .desc,
  body.v2 .v2tool li,
  body.v2 .v2pain .t,
  body.v2 .v2feature .fd,
  body.v2 .v288-faq-item p {
    font-size: 15px !important;
    line-height: 1.72 !important;
  }

  body.v2 .entry-grid + div {
    padding: 16px !important;
    overflow-x: auto;
  }

  body.v2 .entry-grid + div > div[style*="display:flex"] {
    align-items: stretch !important;
  }

  body.v2 .entry-grid + div div[style*="min-width"] {
    min-width: 150px !important;
    padding: 10px 12px !important;
    font-size: 13.5px !important;
  }

  body.v2 .q-block {
    padding: 17px !important;
  }

  body.v2 .q-title {
    font-size: 16.5px !important;
    line-height: 1.58 !important;
  }

  body.v2 .q-hint,
  body.v2 .q-type,
  body.v2 .q-max-note {
    font-size: 13.5px !important;
  }

  body.v2 .q-opt {
    width: 100% !important;
    font-size: 15.5px !important;
    padding: 10px 12px !important;
  }

  body.v2 .egi-num {
    font-size: 58px !important;
  }

  body.v2 .index-num,
  body.v2 .score-number,
  body.v2 .dual-score-num {
    font-size: clamp(30px, 9vw, 42px) !important;
  }

  body.v2 .contact-request-toggle.contact-request-compact-toggle,
  body.v2 .contact-request-toggle {
    font-size: 15.5px !important;
  }

  body.v2 .v2footer-col a,
  body.v2 .v2footer-brand p,
  body.v2 .v2footer-bottom {
    font-size: 14.5px !important;
  }
}

@media (max-width: 420px) {
  body.v2 .v2hero h1,
  body.v2 .audit-hero h1,
  body.v2 h1 {
    font-size: clamp(28px, 8.4vw, 34px) !important;
  }

  body.v2 .v2h2,
  body.v2 h2 {
    font-size: clamp(23px, 7vw, 29px) !important;
  }

  body.v2 .v2stat .num {
    font-size: 20px !important;
  }

  body.v2 .v2stat .lbl {
    font-size: 12.5px !important;
  }
}

@media print {
  body.v2 {
    font-size: 12.5pt !important;
    line-height: 1.55 !important;
  }
  body.v2 .v2h2, body.v2 h2 { font-size: 20pt !important; }
  body.v2 h1 { font-size: 26pt !important; }
}

/* Final page-specific balance: keep inner form/report titles professional, not oversized. */
body.v2 .audit-hero h1,
body.v2 #sec-landing h1,
body.v2 [style*="font-size:clamp(28px,4vw,44px)"],
body.v2 [style*="font-size:clamp(26px,4vw,44px)"] {
  font-size: clamp(32px, 3.8vw, 46px) !important;
}

body.v2 .assess-sec h2:not(.v2h2),
body.v2 #noData h2,
body.v2 .report-section h3:not(.section-title) {
  font-size: 26px !important;
  line-height: 1.32 !important;
  font-weight: 760 !important;
  letter-spacing: -0.018em !important;
}

body.v2 .assess-sec h3:not(.v2h2),
body.v2 #auditFullDiagnosisCta div[style*="font-size:19px"] {
  font-size: 21px !important;
  line-height: 1.38 !important;
}

@media (max-width: 760px) {
  body.v2 .audit-hero h1,
  body.v2 #sec-landing h1,
  body.v2 [style*="font-size:clamp(28px,4vw,44px)"],
  body.v2 [style*="font-size:clamp(26px,4vw,44px)"] {
    font-size: clamp(29px, 7.8vw, 36px) !important;
  }

  body.v2 .assess-sec h2:not(.v2h2),
  body.v2 #noData h2,
  body.v2 .report-section h3:not(.section-title) {
    font-size: 24px !important;
  }

  body.v2 .assess-sec h3:not(.v2h2),
  body.v2 #auditFullDiagnosisCta div[style*="font-size:19px"] {
    font-size: 20px !important;
  }
}


/* ---- V2.8.20 contrast + export controls fixes ---- */
/* Make text on deep navy sections easier to read on desktop and mobile. */
body.v2 .v2plan,
body.v2 .v2footer,
body.v2 .v2cta-band {
  color: #e8eef9 !important;
}

body.v2 .v2plan .v2kicker,
body.v2 .v2plan .ph,
body.v2 .v2plan .v2step .ph,
body.v2 .v2plan .v2roadmap-row > div:first-child {
  color: #e0ad61 !important;
  font-weight: 780 !important;
}

body.v2 .v2plan .v2h2,
body.v2 .v2plan h2,
body.v2 .v2plan h3,
body.v2 .v2plan h4,
body.v2 .v2plan .v2step h4,
body.v2 .v2plan .v2roadmap-row div[style*="color:#fff"] {
  color: #ffffff !important;
}

body.v2 .v2plan .v2lede,
body.v2 .v2plan p,
body.v2 .v2plan .v2step p,
body.v2 .v2plan .v2roadmap-row,
body.v2 .v2plan .v2roadmap-row div[style*="color:#9aa6c0"],
body.v2 .v2plan .v2roadmap-row div[style*="color: #9aa6c0"],
body.v2 .v2plan .v2roadmap-row span[style*="color:#b9c2d6"],
body.v2 .v2plan .v2roadmap-row span[style*="color: #b9c2d6"] {
  color: #d7e1f3 !important;
}

body.v2 .v2plan .v2step .tag.soon,
body.v2 .v2plan span[style*="background:rgba(255,255,255,.1)"] {
  background: rgba(255,255,255,.15) !important;
  color: #dbe6f7 !important;
}

body.v2 .v2plan .v2step {
  color: #e7edf8 !important;
}

body.v2 .v2plan .v2step.current .tag,
body.v2 .v2plan .v2roadmap-row span[style*="background:var(--brass)"] {
  color: #081733 !important;
  background: #d8a557 !important;
}

body.v2 .v2footer,
body.v2 .v2footer p,
body.v2 .v2footer span,
body.v2 .v2footer-bottom {
  color: #c9d4e8 !important;
}

body.v2 .v2footer a {
  color: #e4ebf7 !important;
}

body.v2 .v2footer a:hover,
body.v2 .v2footer-brand .mark {
  color: #ffffff !important;
}

body.v2 .v2footer-col h5 {
  color: #aebbd4 !important;
}

body.v2 .v2cta-band p {
  color: #d8e2f2 !important;
}

/* Report action sheet and visible fallbacks for print/email. */
.report-action-panel {
  color: #172033 !important;
}

.report-action-notice {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  z-index: 1000000;
  width: min(560px, calc(100% - 28px));
  background: #0B1B3F;
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  padding: 12px 16px;
  font-size: 14.5px;
  line-height: 1.55;
  font-weight: 650;
  text-align: center;
  box-shadow: 0 18px 48px rgba(11,27,63,.28);
}

.report-action-emailbox {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #475569;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.55;
  margin: 10px 0 12px;
  word-break: break-word;
}

.report-action-emailbox strong {
  color: #0B1B3F;
}

/* Mobile title line control requested: keep desktop inline, force mobile to two clean lines. */
.mn-mobile-break {
  display: inline;
}

@media (max-width: 760px) {
  .mn-mobile-break {
    display: block;
  }

  body.v2 .v2plan .v2lede,
  body.v2 .v2plan p,
  body.v2 .v2plan .v2step p,
  body.v2 .v2plan .v2roadmap-row div[style*="color:#9aa6c0"] {
    color: #e0e8f7 !important;
  }

  body.v2 .v2plan .v2step {
    background: rgba(255,255,255,.075) !important;
    border-color: rgba(255,255,255,.18) !important;
  }

  .report-action-notice {
    bottom: 14px;
    font-size: 14px;
    padding: 11px 13px;
  }
}

@media print {
  .report-action-notice { display: none !important; }
}

/* ---- V2.8.22 simplified print/PDF + mobile headline alignment ---- */
@media (max-width: 760px) {
  body.v2 .mn-stacked-title {
    display: inline-block !important;
    text-align: left !important;
    line-height: 1.18 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.v2 .mn-stacked-title span {
    display: block !important;
  }
}

@media print {
  .no-print,
  #buildStamp,
  .v2nav,
  .v2footer,
  .report-action-sheet,
  .report-action-notice,
  .static-contact-card,
  #contactRequestArea,
  #consentFormArea,
  .report-export-trigger,
  button {
    display: none !important;
  }
  html, body {
    background: #fff !important;
    color: #0B1B3F !important;
    overflow: visible !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body.mn-print-lite .assess-sec { display: none !important; }
  body.mn-print-lite #sec-results { display: block !important; }
  body.mn-print-full .assess-sec { display: none !important; }
  body.mn-print-full #sec-full-report { display: block !important; }
  body.mn-print-overlay .assess-sec { display: none !important; }
  body.mn-print-overlay #easc-overlay {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
    z-index: auto !important;
  }
  .egi-main, .result-card, .score-card, .report-card { break-inside: avoid; page-break-inside: avoid; }
}

/* ---- V2.8.23 print-window cleanup + mobile title alignment ---- */
@media (max-width: 760px) {
  body.v2 .mn-stacked-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
    line-height: 1.18 !important;
  }
  body.v2 .mn-stacked-title span {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }
}

@media print {
  @page { size: A4; margin: 0; }
  html, body { background: #fff !important; }
  .v2nav, #reportNav, .v2footer, #buildStamp, .no-print, .mn-report-top-nav, [data-no-print], .report-action-sheet, .report-action-notice, .static-contact-card, #contactRequestArea, #consentFormArea, .report-export-trigger, .report-actions, button { display: none !important; }
}

/* ---- V2.8.26 stable current-page print root ---- */
body.v2 #mn-print-root,
#mn-print-root {
  display: none;
}

@media print {
  @page { size: A4; margin: 12mm; }

  html.mn-print-active,
  body.mn-print-active {
    background: #fff !important;
    color: #0B1B3F !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body.mn-print-active > :not(#mn-print-root):not(#mn-print-watermark-el) {
    display: none !important;
  }

  body.mn-print-active #mn-print-root {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
    color: #0B1B3F !important;
    z-index: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.mn-print-active #mn-print-root * {
    visibility: visible !important;
    max-width: 100% !important;
    box-shadow: none !important;
  }

  body.mn-print-active #mn-print-root .mn-print-page {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #0B1B3F !important;
    font-family: "Noto Sans TC", "Microsoft JhengHei", Arial, sans-serif !important;
    font-size: 11.5pt !important;
    line-height: 1.55 !important;
  }

  body.mn-print-active #mn-print-root .mn-print-title {
    display: block !important;
    text-align: center !important;
    color: #0B1B3F !important;
    font-size: 18pt !important;
    line-height: 1.3 !important;
    font-weight: 900 !important;
    margin: 0 0 8mm !important;
    padding: 0 !important;
    letter-spacing: -0.02em !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  body.mn-print-active #mn-print-root .mn-print-meta {
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
    margin: 0 0 8mm !important;
    font-size: 9.5pt !important;
    line-height: 1.65 !important;
    color: #334155 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body.mn-print-active #mn-print-root .mn-print-content,
  body.mn-print-active #mn-print-root .mn-print-content > *,
  body.mn-print-active #mn-print-root .assess-sec,
  body.mn-print-active #mn-print-root #easc-overlay,
  body.mn-print-active #mn-print-root #reportContent,
  body.mn-print-active #mn-print-root #reportRoot {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
    z-index: auto !important;
  }

  body.mn-print-active #mn-print-root section,
  body.mn-print-active #mn-print-root .section,
  body.mn-print-active #mn-print-root .report-section,
  body.mn-print-active #mn-print-root .score-header {
    padding: 0 !important;
    margin: 0 0 8mm !important;
    background: #fff !important;
  }

  body.mn-print-active #mn-print-root .container,
  body.mn-print-active #mn-print-root .container-narrow,
  body.mn-print-active #mn-print-root .v2wrap {
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.mn-print-active #mn-print-root .no-print,
  body.mn-print-active #mn-print-root [data-no-print],
  body.mn-print-active #mn-print-root .mn-report-top-nav,
  body.mn-print-active #mn-print-root .v2nav,
  body.mn-print-active #mn-print-root #reportNav,
  body.mn-print-active #mn-print-root .v2footer,
  body.mn-print-active #mn-print-root #buildStamp,
  body.mn-print-active #mn-print-root .report-action-sheet,
  body.mn-print-active #mn-print-root .report-action-notice,
  body.mn-print-active #mn-print-root .static-contact-card,
  body.mn-print-active #mn-print-root #contactRequestArea,
  body.mn-print-active #mn-print-root #consentFormArea,
  body.mn-print-active #mn-print-root #auditConsentBlock,
  body.mn-print-active #mn-print-root #auditContactRequestBlock,
  body.mn-print-active #mn-print-root #auditFullDiagnosisCta,
  body.mn-print-active #mn-print-root button,
  body.mn-print-active #mn-print-root input,
  body.mn-print-active #mn-print-root select,
  body.mn-print-active #mn-print-root textarea,
  body.mn-print-active #mn-print-root form {
    display: none !important;
  }

  body.mn-print-active #mn-print-root a {
    color: inherit !important;
    text-decoration: none !important;
  }

  body.mn-print-active #mn-print-root .egi-main,
  body.mn-print-active #mn-print-root .result-card,
  body.mn-print-active #mn-print-root .score-card,
  body.mn-print-active #mn-print-root .report-card,
  body.mn-print-active #mn-print-root .index-card,
  body.mn-print-active #mn-print-root .dual-score,
  body.mn-print-active #mn-print-root .index-section {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body.mn-print-active #mn-print-root h1,
  body.mn-print-active #mn-print-root h2,
  body.mn-print-active #mn-print-root h3 {
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  body.mn-print-active #mn-print-root .egi-num,
  body.mn-print-active #mn-print-root .dual-score-num,
  body.mn-print-active #mn-print-root .index-num {
    font-size: 42pt !important;
    line-height: 1 !important;
  }
}


/* V2.8.26: Never print in-report navigation/header rows. */
@media print {
  .mn-report-top-nav,
  [data-no-print="true"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}

/* ---- V2.8.26 AI website audit print data-render fix ---- */
@media print {
  body.mn-print-active #mn-print-root .mn-audit-print-report {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    color: #0B1B3F !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-url {
    display: block !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    border-radius: 7px !important;
    padding: 7px 9px !important;
    margin: 0 0 6mm !important;
    font-size: 9.5pt !important;
    line-height: 1.5 !important;
    color: #334155 !important;
    word-break: break-word !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-score-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 5mm !important;
    margin: 0 0 7mm !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-score-box {
    display: block !important;
    border: 1px solid #e2e8f0 !important;
    border-top: 3px solid #0B1B3F !important;
    border-radius: 8px !important;
    padding: 6mm 5mm !important;
    text-align: center !important;
    background: #fff !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-score-box.gpt { border-top-color: #059669 !important; }
  body.mn-print-active #mn-print-root .mn-audit-score-box.cla { border-top-color: #b45309 !important; }
  body.mn-print-active #mn-print-root .mn-audit-score-box.seo { border-top-color: #0891b2 !important; }
  body.mn-print-active #mn-print-root .mn-audit-score-box.geo { border-top-color: #7c3aed !important; }

  body.mn-print-active #mn-print-root .mn-audit-score-label {
    display: block !important;
    font-size: 9.5pt !important;
    font-weight: 800 !important;
    color: #475569 !important;
    margin-bottom: 2.5mm !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-score-value {
    display: block !important;
    font-size: 31pt !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    color: #0B1B3F !important;
    margin: 0 0 2mm !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-score-sub {
    display: block !important;
    font-size: 9pt !important;
    color: #64748b !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-section-heading {
    display: block !important;
    font-size: 15pt !important;
    line-height: 1.35 !important;
    color: #0B1B3F !important;
    font-weight: 900 !important;
    margin: 8mm 0 4mm !important;
    padding: 0 !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-engine-grid {
    display: block !important;
    margin: 0 !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-card {
    display: block !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    padding: 5mm !important;
    margin: 0 0 6mm !important;
    color: #0B1B3F !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-card h3 {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 6mm !important;
    font-size: 13.5pt !important;
    line-height: 1.35 !important;
    color: #0B1B3F !important;
    margin: 0 0 4mm !important;
    padding: 0 0 2.5mm !important;
    border-bottom: 1px solid #e2e8f0 !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-card h3 span {
    font-size: 18pt !important;
    color: #0B1B3F !important;
    font-weight: 900 !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-cat-row {
    display: block !important;
    padding: 3mm 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-cat-row:last-child { border-bottom: none !important; }

  body.mn-print-active #mn-print-root .mn-audit-cat-top {
    display: flex !important;
    justify-content: space-between !important;
    gap: 6mm !important;
    font-size: 10pt !important;
    color: #334155 !important;
    margin-bottom: 2mm !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-bar {
    display: block !important;
    height: 4pt !important;
    background: #e5e7eb !important;
    border-radius: 99px !important;
    overflow: hidden !important;
    margin: 0 0 1.8mm !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-bar i {
    display: block !important;
    height: 100% !important;
    background: #0B1B3F !important;
    border-radius: 99px !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-cat-row p,
  body.mn-print-active #mn-print-root .mn-audit-comment p,
  body.mn-print-active #mn-print-root .mn-audit-note p,
  body.mn-print-active #mn-print-root .mn-audit-prob p {
    display: block !important;
    font-size: 9.8pt !important;
    line-height: 1.6 !important;
    color: #334155 !important;
    margin: 1.5mm 0 0 !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-comment,
  body.mn-print-active #mn-print-root .mn-audit-note {
    display: block !important;
    background: #f8fafc !important;
    border-left: 3px solid #0B1B3F !important;
    padding: 3mm 4mm !important;
    margin: 4mm 0 !important;
    border-radius: 6px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-comment strong,
  body.mn-print-active #mn-print-root .mn-audit-note strong,
  body.mn-print-active #mn-print-root .mn-audit-list strong {
    display: block !important;
    font-size: 10pt !important;
    color: #0B1B3F !important;
    font-weight: 850 !important;
    margin-bottom: 1.5mm !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-list,
  body.mn-print-active #mn-print-root .mn-audit-rec-list {
    display: block !important;
    margin: 4mm 0 0 !important;
    padding: 0 !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-list ul,
  body.mn-print-active #mn-print-root .mn-audit-rec-list {
    padding-left: 5mm !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-list li,
  body.mn-print-active #mn-print-root .mn-audit-rec-list li {
    display: list-item !important;
    font-size: 9.8pt !important;
    line-height: 1.6 !important;
    color: #334155 !important;
    margin: 0 0 2mm !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-rec-list li strong {
    color: #0B1B3F !important;
    margin-right: 2mm !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-check-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2mm 6mm !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-check {
    display: flex !important;
    align-items: center !important;
    gap: 2mm !important;
    font-size: 9.8pt !important;
    color: #334155 !important;
    padding: 1.5mm 0 !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-check b {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 14pt !important;
    height: 14pt !important;
    border-radius: 50% !important;
    background: #e2e8f0 !important;
    color: #0B1B3F !important;
    font-size: 8pt !important;
    flex: 0 0 14pt !important;
  }

  body.mn-print-active #mn-print-root .mn-audit-check.pass b { background: #dcfce7 !important; color: #166534 !important; }
  body.mn-print-active #mn-print-root .mn-audit-check.warn b { background: #fef3c7 !important; color: #92400e !important; }
  body.mn-print-active #mn-print-root .mn-audit-check.fail b { background: #fee2e2 !important; color: #991b1b !important; }

  body.mn-print-active #mn-print-root .mn-audit-muted {
    color: #64748b !important;
    font-size: 9pt !important;
  }
}
