/* ============================================================
   ClinixWise — Tema clínico claro das páginas públicas
   Complementa os estilos locais de login, cadastro, landing e
   documentos legais sem alterar a estrutura dessas páginas.
   ============================================================ */

:root {
  color-scheme: light;
  --bg: #f6fbf8;
  --bg-0: #f6fbf8;
  --bg-1: #ffffff;
  --bg-2: #eaf7f0;
  --panel: rgba(255, 255, 255, 0.97);
  --surface: rgba(255, 255, 255, 0.96);
  --surface-2: #eff9f3;
  --border: rgba(15, 118, 85, 0.16);
  --border-strong: rgba(15, 118, 85, 0.36);
  --text: #15382d;
  --text-dim: #456b5e;
  --text-muted: #5f7d72;
  --muted: #5f7d72;
  --brand: #087f5b;
  --brand-2: #066647;
  --brand-3: #166534;
  --accent: #16a34a;
  --accent-2: #15803d;
  --danger: #dc2626;
  --warning: #b45309;
  --grad-primary: linear-gradient(135deg, #15966a 0%, #066647 100%);
  --grad-accent: linear-gradient(135deg, #16a34a 0%, #087f5b 100%);
  --grad-text: linear-gradient(135deg, #087f5b 0%, #066647 58%, #166534 100%);
  --grad-text-2: linear-gradient(135deg, #15803d 0%, #087f5b 100%);
  --grad-privacy: linear-gradient(135deg, #15803d 0%, #087f5b 55%, #066647 100%);
  --shadow-glow: 0 0 54px rgba(15, 139, 99, 0.13);
  --shadow-card: 0 24px 60px -34px rgba(15, 61, 47, 0.42), 0 8px 26px -18px rgba(15, 118, 85, 0.2);
}

html,
body {
  color: var(--text);
  background: #ffffff;
}

body {
  background:
    radial-gradient(circle at 92% 3%, rgba(34, 197, 94, 0.08), transparent 25rem),
    radial-gradient(circle at 4% 92%, rgba(15, 139, 99, 0.055), transparent 28rem),
    linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%);
}

body::before {
  opacity: 0.2;
  background-image:
    linear-gradient(rgba(15, 139, 99, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 139, 99, 0.05) 1px, transparent 1px);
}

/* Os cenários 3D pertenciam à identidade escura anterior. */
#bg-canvas,
.hero-3d,
.how-3d,
.final-cta-3d,
.cursor-glow {
  display: none;
}

.ambient::before {
  background-image:
    linear-gradient(rgba(15, 139, 99, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 139, 99, 0.045) 1px, transparent 1px);
}

.blob {
  opacity: 0.1;
}

body.has-3d .ambient {
  opacity: 0.45;
}

::selection {
  color: #ffffff;
  background: rgba(8, 127, 91, 0.72);
}

:focus-visible {
  outline-color: var(--brand-2);
}

.brand-mark {
  filter: drop-shadow(0 5px 10px rgba(15, 139, 99, 0.2));
}

.brand-mark stop:first-child { stop-color: #22c55e; }
.brand-mark stop:last-child { stop-color: #087f5b; }

.login-shell .brand-mark {
  color: #ffffff;
  background: var(--grad-primary);
}

.brand-name,
.panel-brand-mid h1,
.form-head h2,
.card h2,
.card p.sub strong,
.hero-title,
.hero-sub strong,
.hero-meta strong,
.section-head h2,
.pain-card h3,
.feature-card h3,
.how-card h3,
.diff-card h3,
.testi-name,
.price-value,
.faq-item summary,
.final-cta h2,
.cta-trust strong,
.modal-body h3,
.legal-section strong,
.callout strong,
.legal-section h2,
.legal-section h3,
.final-card h3,
.data-card h4,
.right-card h5,
.dpo-info h4 {
  color: var(--text);
}

.stat-row div strong,
.panel-quote-author strong,
.benefit-list strong,
.success-screen h2,
.success-detail span:last-child {
  color: var(--text);
}

.kicker,
.eyebrow {
  color: var(--brand-2);
  background: rgba(15, 139, 99, 0.08);
  border-color: rgba(15, 139, 99, 0.24);
}

/* Ações */
.btn-primary,
.btn-success,
.submit {
  color: #ffffff !important;
  background: var(--grad-primary) !important;
  box-shadow: 0 12px 28px -16px rgba(8, 127, 91, 0.7);
}

.btn-primary:hover,
.btn-success:hover,
.submit:hover {
  box-shadow: 0 16px 32px -16px rgba(8, 127, 91, 0.62);
}

.btn-secondary,
.btn-ghost {
  color: var(--brand-2);
  background: #ffffff;
  border-color: var(--border-strong);
}

.btn-secondary:hover,
.btn-ghost:hover {
  color: #066647;
  background: #eff9f3;
  border-color: rgba(8, 127, 91, 0.46);
}

.btn .spinner {
  border-color: rgba(255, 255, 255, 0.4);
  border-top-color: #ffffff;
}

/* Formulários de autenticação */
.panel-brand {
  background: linear-gradient(155deg, #edf9f2 0%, rgba(255, 255, 255, 0.72) 68%);
  border-right-color: var(--border);
}

.panel-form {
  background: rgba(255, 255, 255, 0.74);
}

.panel-quote,
.card,
.login-shell,
.profile-chooser {
  background: rgba(255, 255, 255, 0.97);
  border-color: var(--border);
  box-shadow: var(--shadow-card);
}

.login-shell {
  backdrop-filter: blur(14px);
}

.restricted {
  color: var(--brand-2);
  background: rgba(15, 139, 99, 0.09);
  border-color: rgba(15, 139, 99, 0.3);
}

label,
.field label {
  color: var(--text-dim);
}

input,
select,
textarea,
.field input,
.field select,
.modal-body input {
  color: var(--text);
  color-scheme: light;
  background-color: #ffffff;
  border-color: var(--border);
}

.field select {
  background-image:
    linear-gradient(45deg, transparent 50%, #456b5e 50%),
    linear-gradient(135deg, #456b5e 50%, transparent 50%);
}

.field select option {
  color: var(--text);
  background: #ffffff;
}

input:focus,
select:focus,
textarea:focus,
.field input:focus,
.field select:focus,
.modal-body input:focus {
  color: var(--text);
  background-color: #ffffff;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(15, 139, 99, 0.09);
}

.slug-preview,
.modal-tabs {
  background: #eff7f3;
}

.field-error,
.form-banner.error,
.error {
  color: #b91c1c;
}

.form-banner.warning { color: #92400e; }
.form-banner.success { color: #166534; }
.form-banner.info { color: #075985; }

.profile-chooser {
  border-color: rgba(15, 139, 99, 0.24);
}

.profile-option {
  color: var(--text);
  background: #f8fcfa;
  border-color: var(--border);
}

.profile-option:hover {
  background: rgba(15, 139, 99, 0.07);
  border-color: var(--border-strong);
}

.icon-badge {
  color: var(--brand-2);
  background: rgba(15, 139, 99, 0.09);
}

/* Landing page */
.site-header.scrolled {
  background: rgba(255, 255, 255, 0.92);
  border-bottom-color: var(--border);
  box-shadow: 0 8px 30px -26px rgba(15, 61, 47, 0.44);
}

.primary-nav a:hover,
.mobile-menu a:hover,
.toc-list a:hover,
.modal-close:hover {
  color: var(--brand-2);
  background: rgba(15, 139, 99, 0.07);
}

.primary-nav a.active,
.toc-list a.active {
  color: var(--brand-2);
  background: rgba(15, 139, 99, 0.1);
  border-color: rgba(15, 139, 99, 0.24);
}

.mobile-menu {
  background: rgba(255, 255, 255, 0.97);
  border-color: var(--border);
  box-shadow: var(--shadow-card);
}

.dashboard-mock {
  background: linear-gradient(155deg, #ffffff, #edf9f2);
  border-color: var(--border-strong);
  box-shadow: var(--shadow-card);
}

.dm-pill,
.dm-stat {
  background: #f4faf7;
}

.dm-stat-value,
.fc-title {
  color: var(--text);
}

.float-card {
  background: rgba(255, 255, 255, 0.96);
  border-color: var(--border-strong);
}

.trust-bar {
  background: linear-gradient(180deg, #f7fcf9 0%, #eef8f2 100%);
}

.trust-num {
  max-width: 240px;
  font-size: clamp(21px, 2.3vw, 31px);
  line-height: 1.12;
}

.diff-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.diff-card {
  padding: 32px 25px;
}

.testi-card .testi-stars {
  color: var(--brand-2);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.testi-card .testi-name {
  margin-bottom: 9px;
  font-size: 18px;
}

.testi-card .testi-role {
  font-size: 14px;
  line-height: 1.65;
}

.price-card-featured .price-value {
  font-size: clamp(30px, 3.4vw, 44px);
}

.pain-card,
.feature-card,
.how-card,
.diff-card,
.testi-card,
.price-card,
.faq-item {
  background: rgba(255, 255, 255, 0.97);
  border-color: var(--border);
  box-shadow: 0 16px 36px -32px rgba(15, 61, 47, 0.44);
}

.feature-big,
.price-card-featured {
  background: linear-gradient(145deg, #ffffff 0%, #eaf8f0 100%);
  border-color: var(--border-strong);
  box-shadow: 0 20px 46px -30px rgba(15, 118, 85, 0.4);
}

.feature-icon-wrap.alt {
  color: var(--brand-2);
  background: rgba(15, 139, 99, 0.1);
}

.diff-orb-1,
.diff-orb-2,
.diff-orb-3 {
  background: linear-gradient(135deg, #86efac, #34d399);
  opacity: 0.2;
}

.diff-tag {
  color: var(--brand-2);
  background: rgba(15, 139, 99, 0.07);
}

.price-badge {
  color: #ffffff;
  background: var(--grad-primary);
  box-shadow: 0 8px 18px -10px rgba(8, 127, 91, 0.72);
}

.faq-item[open] {
  background: #f2faf6;
}

.cta-form {
  background: #ffffff;
  border-color: var(--border-strong);
  box-shadow: var(--shadow-card);
}

.cta-form input {
  color: var(--text);
  background: transparent;
  box-shadow: none;
}

.site-footer {
  background: linear-gradient(180deg, #f8fcfa 0%, #eaf6ef 100%);
}

.footer-social a {
  background: #ffffff;
}

.footer-social a:hover {
  color: #ffffff;
  background: var(--grad-primary);
}

.modal-card {
  background: #ffffff;
  border-color: var(--border-strong);
  box-shadow: 0 30px 74px -28px rgba(15, 61, 47, 0.48);
}

.modal-tab.active {
  color: #ffffff;
  background: var(--grad-primary);
}

/* Termos de uso e privacidade */
.toc,
.legal-intro,
.final-card,
.data-card,
.right-card,
.dpo-card,
.plans-table,
.providers-table {
  background: rgba(255, 255, 255, 0.97);
  border-color: var(--border);
  box-shadow: 0 16px 36px -32px rgba(15, 61, 47, 0.42);
}

.plans-table thead th,
.providers-table thead th {
  background: #eef8f2;
}

.plans-table tbody tr:hover td,
.providers-table tbody tr:hover td {
  background: rgba(15, 139, 99, 0.045);
}

.callout-info,
.callout-success {
  background: rgba(15, 139, 99, 0.07);
  border-color: rgba(15, 139, 99, 0.22);
}

.callout-info .callout-icon,
.callout-success .callout-icon,
.dpo-avatar,
.data-card-icon {
  color: #ffffff;
  background: var(--grad-primary);
}

@media (max-width: 900px) {
  .panel-brand {
    background: #edf9f2;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }
}

@media (max-width: 1120px) {
  .diff-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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