:root {
  color-scheme: light;
  --bg: #fbfaf7;
  --panel: #ffffff;
  --gold: #b88218;
  --ivory: #211b16;
  --muted: #746b61;
  --line: #ded7cc;
}

body {
  background: radial-gradient(circle at 80% 8%, #eee5f0 0, transparent 34%), var(--bg);
  font-size: 17px;
}
.public-header {
  background: rgba(251, 250, 247, .91);
  border-bottom-color: rgba(161, 111, 13, .18);
  box-shadow: 0 8px 30px rgba(62, 48, 30, .05);
}
.public-header > .public-brand {
  display: block;
  width: 198px;
  height: 58px;
  flex: 0 0 198px;
  overflow: hidden;
  background: url('/assets/brand-wordmark.png') center / contain no-repeat;
  color: transparent;
  font-size: 0;
  white-space: nowrap;
}
.public-header > .public-brand span { display: none; }
.public-header nav a { font-size: .94rem; }
.card,
.result-card,
.report-offer {
  border-color: #ddd4c8;
  background: linear-gradient(145deg, #fff, #f5f1eb);
  box-shadow: 0 18px 55px rgba(73, 55, 32, .07);
}
input {
  border-color: #d8cfc3;
  background: #fff;
  color: var(--ivory);
}
.result-summary,
.report-closing,
.report-offer .report-closing { color: #5f554b; }
.report-preview {
  background: radial-gradient(circle at 65% 20%, #eadced 0, transparent 38%), #f7f2ea;
  box-shadow: 20px 25px 0 #e7ded2;
}
.transaction-footer { background: #f3efe8; }
.transaction-footer a[href*="instagram"],
.transaction-footer a[href*="wa.me"] {
  display: inline-flex;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 50%;
  background: #171319;
  color: #fff;
  font-size: 0;
}
.transaction-footer a[href*="instagram"]:hover,
.transaction-footer a[href*="wa.me"]:hover { background: #33243a; color: #fff; }
.transaction-footer a[href*="instagram"]::before,
.transaction-footer a[href*="wa.me"]::before {
  width: 22px;
  height: 22px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
.transaction-footer a[href*="instagram"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='1.1' fill='white' stroke='none'/%3E%3C/svg%3E");
}
.transaction-footer a[href*="wa.me"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.7a8 8 0 0 1-11.8 7L4 20l1.3-4.1A8 8 0 1 1 20 11.7Z'/%3E%3Cpath d='M9 8.2c.2-.4.4-.4.7-.4h.4c.2 0 .3.1.4.4l.7 1.7c.1.3.1.5-.1.7l-.5.6c-.2.2-.1.4 0 .6.6 1.1 1.5 2 2.6 2.6.2.1.4.2.6 0l.7-.8c.2-.2.4-.2.7-.1l1.6.8c.3.1.4.3.4.5 0 .3-.1 1.2-.8 1.7-.6.5-1.4.7-2.3.4-1.1-.3-2.7-1-4.4-2.5-1.4-1.3-2.4-2.8-2.7-3.9-.3-.9 0-1.7.4-2.2.4-.4.8-.5 1.1-.5'/%3E%3C/svg%3E");
}
.transaction-footer .footer-dev {
  border-color: #171319;
  background: #171319;
  color: #fff;
}
.transaction-footer .footer-dev span { color: #fff; }
.transaction-footer .footer-dev:hover { background: #33243a; color: #fff; }
.thanks-dialog {
  border-color: #d8c9b4;
  background: radial-gradient(circle at 50% 0, #eee5f0 0, #fff 42%, #f7f2ea 100%);
  color: var(--ivory);
  box-shadow: 0 30px 90px rgba(49, 35, 23, .22);
}
.thanks-dialog::backdrop { background: rgba(33, 27, 22, .44); }
.thanks-symbol { border-color: #c8a767; background: #fff; color: var(--gold); }
.thanks-dialog > p:not(.eyebrow) { color: var(--muted); }
.thanks-note { border-color: #ded4c7; background: rgba(255, 255, 255, .72); }
.thanks-note > span { background: #e5f1e7; color: #55775c; }
.thanks-note p { color: var(--ivory); }
.thanks-note small { color: var(--muted); }

/* Escala legible compartida por consulta, compra, resultado e informe comercial. */
.eyebrow { font-size: .82rem; line-height: 1.55; }
.public-cta { min-height: 46px; display: inline-flex; align-items: center; font-size: 1rem; }
.lead,
.payment-copy > p:last-child,
.report-copy > p:last-child,
.result-summary,
.reflection li,
.report-features span,
.report-offer p { font-size: 1rem; }
.primary,
.secondary,
.mp-button { min-height: 52px; font-size: 1.1rem; }
.primary { background: #171319; color: #fff; }
.primary:hover { color: #fff; filter: brightness(.92); }
.price-before { margin: 0 0 4px !important; color: #7d746b !important; font-size: 1.1rem !important; text-decoration: line-through; text-decoration-thickness: 2px; }
.birth-field { display: grid; gap: 8px; }
.birth-selects { display: grid; grid-template-columns: .72fr 1.35fr 1fr; gap: 10px; }
.birth-selects select { width: 100%; min-width: 0; }
@media (max-width: 560px) { .birth-selects { grid-template-columns: .68fr 1.38fr .94fr; gap: 7px; } .birth-selects select { padding-left: 10px; padding-right: 8px; font-size: 16px; } }
.transaction-footer,
.transaction-footer a,
.checkout-help,
.payment-provider small,
.score-ring small,
.report-preview span,
.report-brand,
.checkout-brand,
.result-brand { font-size: .9rem; }

@media (max-width: 700px) {
  html { font-size: 17px; }
  body { font-size: 18px; }
  .eyebrow { font-size: .78rem; }
  .lead,
  .payment-copy > p:last-child,
  .report-copy > p:last-child,
  .result-summary,
  .reflection li,
  .report-features span,
  .report-offer p { font-size: 1rem; line-height: 1.75; }
  .transaction-footer a { display: inline-flex; min-height: 44px; align-items: center; font-size: 1rem; }
  .primary,
  .secondary,
  .mp-button { font-size: 1.1rem; }
  .public-header > .public-brand {
    width: 178px;
    height: 54px;
    flex-basis: 178px;
  }
}

@media (max-width: 1080px) {
  .site-header .main-nav,
  .public-header .main-nav {
    background: rgba(251, 250, 247, .98);
    box-shadow: 0 24px 50px rgba(73, 55, 32, .15);
  }
}
