.homologacao-page { margin: 0; background: #f4f0fc; color: #35204f; font: 1rem/1.6 Arial, sans-serif; }
.homologacao-page * { box-sizing: border-box; }
.homologacao-page a { color: #672c95; text-underline-offset: .2em; }
.homologacao-page a:focus-visible, .homologacao-page button:focus-visible, .homologacao-page select:focus-visible, .homologacao-page input:focus-visible { outline: 3px solid #d62578; outline-offset: 4px; }
.information-document, .demo-controls { max-width: 960px; margin: 30px auto; padding: clamp(20px, 4vw, 44px); background: #fff; border: 1px solid #d9cde8; border-radius: 20px; }
.information-document h1 { font-size: clamp(1.9rem, 5vw, 3rem); line-height: 1.12; }
.information-document section { margin-top: 32px; }
.information-document h2 { font-size: 1.3rem; }
.information-document li { margin: 8px 0; }
.document-eyebrow { color: #a62468; font-size: .82rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.document-notice { border-left: 4px solid #ca327a; background: #fcf0f6; padding: 16px; }
.information-document footer { margin-top: 36px; border-top: 1px solid #d9cde8; padding-top: 18px; font-size: .85rem; }
.demo-shell { padding: 0 16px 32px; }
.demo-controls h1 { font-size: 1.6rem; }
.demo-controls select { display: block; width: min(100%, 420px); min-height: 44px; padding: 8px; border: 1px solid #a98bc6; border-radius: 8px; font: inherit; }
.demo-confirm { display: flex; align-items: flex-start; gap: 12px; margin: 20px 0; }
.demo-confirm input { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 3px; accent-color: #8c287c; }
.demo-controls button { min-height: 44px; padding: 12px 18px; border: 0; border-radius: 10px; color: white; background: #652d91; font: inherit; font-weight: 700; cursor: pointer; }
.demo-controls button:disabled { opacity: .5; cursor: default; }
.demo-certificate { position: relative; isolation: isolate; max-width: 1120px; margin: 24px auto; padding: clamp(20px, 5vw, 52px); border: 4px solid #63358a; outline: 1px solid #b39cca; outline-offset: -12px; border-radius: 8px; background: #fff; text-align: center; overflow-wrap: anywhere; }
.demo-certificate::before { content: "DEMONSTRAÇÃO / SEM VALIDADE"; position: absolute; inset: 25% 8%; display: grid; place-items: center; color: #bb2170; opacity: .11; font-size: clamp(30px, 6vw, 70px); font-weight: 900; line-height: 1.3; pointer-events: none; z-index: -1; }
.demo-certificate header { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.demo-certificate header img { width: 120px; height: auto; }
.demo-certificate header strong, .demo-certificate footer strong { color: #a11e59; font-size: .95rem; }
.demo-certificate h2 { font-size: clamp(1.6rem, 4vw, 2.6rem); line-height: 1.2; }
.demo-certificate h3 { font-size: clamp(1.3rem, 3vw, 2rem); margin: 15px 0; }
.demo-certificate h4 { font-size: 1.5rem; margin: 10px 0; }
.demo-signature { margin: 34px auto 22px; max-width: 560px; }
.demo-signature span { display: block; padding: 8px; border-bottom: 1px solid #63358a; font: italic 1.4rem Georgia, serif; }
.demo-signature small { display: block; margin-top: 8px; }
.demo-certificate footer { border-top: 1px solid #d9cde8; padding-top: 18px; }
.demo-certificate footer p { margin-bottom: 0; font-size: .85rem; }
.demo-print-guard { display: none; }
.homologacao-page [hidden] { display: none !important; }
@media (max-width: 600px) { .information-document, .demo-controls { margin: 12px; border-radius: 12px; } .demo-shell { padding: 0 0 24px; } .demo-certificate { margin: 16px 12px; } }
@media print {
  @page { size: A4 landscape; margin: 10mm; }
  .homologacao-page { background: white; font-size: 11pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .demo-shell { padding: 0; }
  .demo-controls { display: none !important; }
  .demo-certificate { width: 100%; max-width: none; min-height: 182mm; margin: 0; padding: 9mm; break-inside: avoid; border-radius: 0; }
  .demo-certificate h2 { font-size: 25pt; margin: 12pt 0; }
  .demo-certificate h3 { font-size: 20pt; margin: 8pt 0; }
  .demo-certificate h4 { font-size: 17pt; margin: 8pt 0; }
  .demo-certificate p { margin: 6pt 0; }
  .demo-signature { margin: 15pt auto; }
  .certificate-demo-page:not(.demo-confirmed) .demo-certificate { display: none !important; }
  .certificate-demo-page:not(.demo-confirmed) .demo-print-guard { display: block; }
}
