/* ==========================================================================
   SMS-Farm — landing (tema dia e noite)
   Tokens em html (dia por padrão) e html[data-theme="night"].
   Escopo: body.landing-body. Só altera aparência; o texto é o mesmo.
   ========================================================================== */

/* Tokens de tema: ver public/assets/theme.css (carregado antes deste arquivo). */

/* ---------- Base ---------- */
body.landing-body {
  background: var(--sf-bg) !important;
  color: var(--sf-ink) !important;
  transition: background-color 0.35s ease, color 0.35s ease;
}
body.landing-body main { background: transparent; }
body.landing-body .smsfarm-brand-image { filter: none !important; }

/* ---------- Topbar (escuro nos dois temas) ---------- */
body.landing-body .public-topbar {
  min-height: 68px;
  background: linear-gradient(115deg, var(--sf-topbar-a) 0%, var(--sf-topbar-b) 100%) !important;
  border-bottom: 1px solid rgba(143, 232, 196, 0.16) !important;
  box-shadow: 0 10px 30px rgba(3, 20, 15, 0.28) !important;
}
body.landing-body .public-topbar .landing-brand {
  background: #071c16;
  border: 1px solid rgba(143, 232, 196, 0.2);
  padding: 6px 14px;
  border-radius: 14px;
}
body.landing-body .public-topbar .public-brand-slogan { color: rgba(255, 255, 255, 0.72) !important; }
body.landing-body .public-topbar .landing-nav-links a { color: #e9f7f1 !important; }
body.landing-body .public-topbar .landing-nav-links a:hover,
body.landing-body .public-topbar .landing-nav-links a.active { color: var(--sf-mint) !important; }
body.landing-body .public-topbar .public-primary {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  box-shadow: none !important;
}
body.landing-body .public-topbar .btn-connect {
  background: var(--sf-orange) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(255, 106, 19, 0.3) !important;
  border-radius: 999px;
}
body.landing-body .public-topbar .btn-connect:hover { background: var(--sf-orange-600) !important; }

body.landing-body .public-mobile-nav summary { background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.3) !important; }
body.landing-body .public-mobile-nav summary span,
body.landing-body .public-mobile-nav summary span:before,
body.landing-body .public-mobile-nav summary span:after { background: #fff !important; }
body.landing-body .public-mobile-nav nav { background: var(--sf-surface) !important; border-color: var(--sf-line) !important; }
body.landing-body .public-mobile-nav nav a { color: var(--sf-ink) !important; }
body.landing-body .public-mobile-nav nav a:hover,
body.landing-body .public-mobile-nav nav a.active { background: var(--sf-orange-soft) !important; color: var(--sf-orange-600) !important; }
html[data-theme="night"] body.landing-body .public-mobile-nav nav a:hover,
html[data-theme="night"] body.landing-body .public-mobile-nav nav a.active { background: var(--sf-sel) !important; color: var(--sf-orange) !important; }
body.landing-body .public-mobile-receive { background: var(--sf-orange) !important; border: 0 !important; color: #fff !important; box-shadow: 0 8px 20px rgba(255, 106, 19, 0.3) !important; }

/* ---------- Hero ---------- */
body.landing-body .landing-hero {
  position: relative;
  overflow: hidden;
  background: var(--sf-hero-bg) !important;
  color: var(--sf-ink) !important;
  padding: 4.5rem 4vw 5.5rem;
}
body.landing-body .landing-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(var(--sf-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--sf-grid) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: radial-gradient(ellipse at 60% 40%, #000 30%, transparent 75%);
          mask-image: radial-gradient(ellipse at 60% 40%, #000 30%, transparent 75%);
}
body.landing-body .landing-hero > * { position: relative; z-index: 1; }
body.landing-body .landing-eyebrow {
  color: var(--sf-orange) !important;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
}
body.landing-body .landing-hero h1 {
  color: var(--sf-ink) !important;
  font-size: clamp(2.6rem, 5vw, 4.2rem);
  line-height: 1.04;
  letter-spacing: -0.045em;
  max-width: 14ch;
}
body.landing-body .sf-accent { color: var(--sf-orange) !important; }
body.landing-body .landing-hero p.landing-lead { color: var(--sf-muted) !important; font-size: 1.1rem; }
body.landing-body .landing-lead em { color: var(--sf-ink) !important; font-weight: 800; font-style: normal; }
body.landing-body .landing-cta-row .btn-primary {
  background: var(--sf-orange) !important;
  border-color: var(--sf-orange) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(255, 106, 19, 0.3) !important;
  border-radius: 999px;
}
body.landing-body .landing-cta-row .btn-hero-ghost {
  background: var(--sf-surface) !important;
  border: 1px solid var(--sf-line) !important;
  color: var(--sf-ink) !important;
  border-radius: 999px;
}
body.landing-body .landing-trust li {
  background: var(--sf-surface) !important;
  border: 1px solid var(--sf-line) !important;
  color: var(--sf-ink-2) !important;
}

/* Vitrine do aparelho */
body.landing-body .landing-hero-visual { position: relative; }
body.landing-body .landing-hero-visual::before {
  content: "";
  position: absolute;
  width: 460px;
  height: 460px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, var(--sf-hero-glow), transparent 65%);
  pointer-events: none;
  z-index: 0;
}
body.landing-body .hero-stage { z-index: 1; }
body.landing-body .hero-stage::before,
body.landing-body .hero-stage::after { border-color: var(--sf-hero-glow) !important; }
body.landing-body .hero-phone {
  background: linear-gradient(145deg, #2a2d36, #0f1115 60%, #3a3f4b) !important;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3) !important;
}
body.landing-body .hero-phone-screen { background: linear-gradient(165deg, #1d2130, #14161f) !important; }
body.landing-body .hero-status,
body.landing-body .hero-phone-hint { color: #fff !important; }
body.landing-body .hero-sms {
  background: #fff !important;
  border: 1px solid #e3e8ef !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35) !important;
}
body.landing-body .hero-sms:before { color: #5b6b7e !important; }
body.landing-body .hero-sms-from,
body.landing-body .hero-sms-body,
body.landing-body .hero-sms-safe { color: #1b1f2a !important; }
body.landing-body .hero-sms-body strong,
body.landing-body .hero-sms-from span { color: var(--sf-orange) !important; }
body.landing-body .hero-sms-safe { border-top-color: #e3e8ef !important; }
body.landing-body .hero-count {
  background: var(--sf-ink) !important;
  border-color: transparent !important;
  color: #fff !important;
}
html[data-theme="night"] body.landing-body .hero-count { background: #0b1c16 !important; border: 1px solid var(--sf-line) !important; }
body.landing-body .hero-count strong { color: var(--sf-orange) !important; }

/* ---------- Faixa de prova ---------- */
body.landing-body .landing-proof-strip {
  background: var(--sf-surface) !important;
  border: 1px solid var(--sf-line) !important;
  box-shadow: var(--sf-shadow) !important;
  border-radius: 18px;
}
body.landing-body .landing-proof-strip strong { color: var(--sf-ink) !important; }
body.landing-body .landing-proof-strip span { color: var(--sf-muted) !important; }

/* ---------- Seções ---------- */
body.landing-body .landing-section,
body.landing-body .landing-buy,
body.landing-body .landing-tone-light {
  background: transparent !important;
  color: var(--sf-ink) !important;
  border-color: var(--sf-line) !important;
}
body.landing-body .landing-section h2,
body.landing-body .landing-final-cta h2 { color: var(--sf-ink) !important; letter-spacing: -0.035em; }
body.landing-body .landing-section-lead { color: var(--sf-muted) !important; }
body.landing-body .landing-check { color: var(--sf-orange) !important; font-weight: 800; letter-spacing: 0.1em; }

/* Seções escuras (problema, privacidade, passos) — verde profundo com texto claro */
body.landing-body .landing-tone-dark {
  background:
    radial-gradient(circle at 12% 18%, rgba(74, 173, 116, 0.2), transparent 42%),
    linear-gradient(160deg, var(--sf-dark-a) 0%, var(--sf-dark-b) 100%) !important;
  color: var(--sf-dark-ink) !important;
  border-color: rgba(143, 232, 196, 0.12) !important;
}
body.landing-body .landing-tone-dark h2,
body.landing-body .landing-tone-dark h3,
body.landing-body .landing-tone-dark strong { color: #fff !important; }
body.landing-body .landing-tone-dark p,
body.landing-body .landing-tone-dark li,
body.landing-body .landing-tone-dark .landing-section-lead,
body.landing-body .landing-problem-solution > div:first-child p:last-child { color: var(--sf-dark-muted) !important; }
body.landing-body .landing-tone-dark .landing-check,
body.landing-body .landing-tone-dark .landing-eyebrow { color: var(--sf-mint) !important; }
body.landing-body .landing-tone-dark .landing-benefit-cards li,
body.landing-body .landing-tone-dark .landing-steps li {
  background: var(--sf-dark-card) !important;
  border: 1px solid var(--sf-dark-line) !important;
  border-top: 3px solid var(--sf-orange) !important;
}
body.landing-body .landing-tone-dark .landing-steps li span { color: var(--sf-dark-muted) !important; }

/* Cartão de destaque "Com a SMS-Farm" */
body.landing-body .solution-card {
  background: linear-gradient(160deg, #1f6a4f, #16523d) !important;
  border: 1px solid rgba(255, 106, 19, 0.6) !important;
  box-shadow: 0 0 0 1px rgba(255, 106, 19, 0.25), 0 30px 70px rgba(255, 106, 19, 0.2) !important;
  border-radius: 22px;
}
body.landing-body .solution-card > span { color: #ffb48a !important; }
body.landing-body .solution-card > strong,
body.landing-body .solution-card li { color: #fff !important; }
body.landing-body .solution-card li:before { color: var(--sf-orange) !important; }
body.landing-body .solution-card .btn-primary { background: var(--sf-orange) !important; border-color: var(--sf-orange) !important; color: #fff !important; border-radius: 999px; }

/* ---------- Serviços, países e garantias ---------- */
body.landing-body .landing-apps a,
body.landing-body .landing-countries a {
  background: var(--sf-surface) !important;
  border: 1px solid var(--sf-line) !important;
  border-radius: 14px;
  box-shadow: none !important;
  color: var(--sf-ink) !important;
}
body.landing-body .landing-apps a:hover,
body.landing-body .landing-countries a:hover {
  border-color: var(--sf-orange) !important;
  box-shadow: var(--sf-shadow) !important;
}
body.landing-body .landing-app-arrow,
body.landing-body .landing-countries a > b { color: var(--sf-orange) !important; }
body.landing-body .landing-app-letter { background: var(--sf-orange-soft) !important; color: var(--sf-orange-600) !important; }
body.landing-body .landing-app-letter[hidden],
body.landing-body .landing-app-logo [hidden] { display: none !important; }
body.landing-body .landing-country-globe { background: var(--sf-orange) !important; box-shadow: 0 8px 20px rgba(255, 106, 19, 0.25) !important; }
body.landing-body .landing-country-head { border-top-color: var(--sf-line) !important; }
body.landing-body .landing-country-head h3 { color: var(--sf-ink) !important; }
body.landing-body .landing-country-head p { color: var(--sf-muted) !important; }
body.landing-body .landing-country-head > strong { background: var(--sf-orange-soft) !important; color: var(--sf-orange-600) !important; }
body.landing-body .landing-countries-more { background: var(--sf-surface-2) !important; color: var(--sf-orange-600) !important; border: 1px dashed var(--sf-orange) !important; }
body.landing-body .landing-apps-more { color: var(--sf-muted) !important; }
body.landing-body .assurance-grid article {
  background: var(--sf-surface) !important;
  border: 1px solid var(--sf-line) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}
body.landing-body .assurance-grid article span { color: var(--sf-orange) !important; }
body.landing-body .assurance-grid article strong { color: var(--sf-ink) !important; }
body.landing-body .assurance-grid p { color: var(--sf-muted) !important; }
body.landing-body .landing-assurance { background: transparent !important; }

/* ---------- FAQ ---------- */
body.landing-body .landing-faq details {
  background: var(--sf-surface) !important;
  border: 1px solid var(--sf-line) !important;
  border-radius: 14px;
  padding: 1rem 1.2rem;
  margin-bottom: 0.6rem;
}
body.landing-body .landing-faq details[open] { border-color: var(--sf-orange) !important; }
body.landing-body .landing-faq summary { list-style: none; position: relative; padding-right: 2rem; color: var(--sf-ink); }
body.landing-body .landing-faq summary::-webkit-details-marker { display: none; }
body.landing-body .landing-faq summary::after { content: "+"; position: absolute; right: 0; top: -2px; color: var(--sf-orange); font-size: 1.3rem; font-weight: 700; }
body.landing-body .landing-faq details[open] summary::after { content: "−"; }
body.landing-body .landing-faq p { color: var(--sf-muted) !important; }

/* ---------- Assistente de compra ---------- */
body.landing-body .market-wizard-pro,
body.landing-body .market-wizard,
body.landing-body .market-selector-grid,
body.landing-body .market-choice,
body.landing-body .market-options,
body.landing-body .market-service-locked {
  background-color: var(--sf-surface) !important;
  color: var(--sf-ink) !important;
}
body.landing-body .market-wizard-pro {
  border: 1px solid var(--sf-line) !important;
  border-radius: 24px !important;
  box-shadow: var(--sf-shadow) !important;
}
body.landing-body .market-pro-head {
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 106, 19, 0.38), transparent 42%),
    linear-gradient(135deg, #0f3d2e, #0a2a21) !important;
}
body.landing-body .market-pro-head h3 { color: #fff !important; letter-spacing: -0.02em; }
body.landing-body .market-pro-head p { color: #cfe6dc !important; }
body.landing-body .market-live { color: #ffb48a !important; }
body.landing-body .market-live i { background: var(--sf-orange) !important; box-shadow: 0 0 0 5px rgba(255, 106, 19, 0.2) !important; }
body.landing-body .market-progress span.active,
body.landing-body .market-progress span.done { background: var(--sf-orange) !important; color: #fff !important; border-color: var(--sf-orange) !important; }
body.landing-body .market-progress i { background: rgba(255, 255, 255, 0.2) !important; }
body.landing-body .market-order { background: var(--sf-surface-2) !important; border-bottom: 1px solid var(--sf-line) !important; }
body.landing-body .market-order span,
body.landing-body .market-order a { color: var(--sf-muted) !important; }
body.landing-body .market-order a.is-active { background: var(--sf-sel) !important; color: var(--sf-orange) !important; }
body.landing-body .market-order .market-order-switch { color: var(--sf-orange) !important; }
body.landing-body .market-choice + .market-choice,
body.landing-body .market-order-service .market-choice:first-child { border-left-color: var(--sf-line) !important; }
body.landing-body .market-choice-title strong { color: var(--sf-ink) !important; }
body.landing-body .market-choice-title small { color: var(--sf-muted) !important; }
body.landing-body .market-choice-title > span { background: var(--sf-sel) !important; color: var(--sf-orange) !important; border-radius: 10px; }
body.landing-body .market-search { background: var(--sf-surface-2) !important; border-color: var(--sf-line) !important; color: var(--sf-muted) !important; }
body.landing-body .market-search:focus-within { border-color: var(--sf-orange) !important; box-shadow: 0 0 0 4px rgba(255, 106, 19, 0.14) !important; }
body.landing-body .market-search input { color: var(--sf-ink) !important; }
body.landing-body .market-service-form > button { background: var(--sf-orange) !important; border-radius: 10px; }
body.landing-body .market-option {
  color: var(--sf-ink) !important;
  border-radius: 12px;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
body.landing-body .market-option:hover { background: var(--sf-hover) !important; border-color: var(--sf-orange) !important; transform: translateX(3px); }
body.landing-body .market-option.selected { background: var(--sf-sel) !important; border-color: var(--sf-orange) !important; box-shadow: inset 3px 0 var(--sf-orange) !important; }
body.landing-body .market-option strong { color: var(--sf-ink) !important; }
body.landing-body .market-option small { color: var(--sf-muted) !important; }
body.landing-body .market-option .flag,
body.landing-body .market-option img,
body.landing-body .service-visual,
body.landing-body .service-letter { background: var(--sf-surface-2) !important; color: var(--sf-ink) !important; }
body.landing-body .service-visual b,
body.landing-body .service-letter { color: var(--sf-orange) !important; }
body.landing-body .market-option em { color: var(--sf-ink) !important; }
body.landing-body .market-option b { color: var(--sf-orange) !important; }
body.landing-body .market-checkout { background: var(--sf-surface-2) !important; border-top: 1px solid var(--sf-line) !important; }
body.landing-body .market-checkout span,
body.landing-body .market-checkout small { color: var(--sf-muted) !important; }
body.landing-body .market-checkout strong,
body.landing-body .market-total strong { color: var(--sf-ink) !important; font-weight: 800; }
body.landing-body .market-checkout-icon { background: var(--sf-surface) !important; box-shadow: var(--sf-shadow) !important; }
body.landing-body .market-buy-button {
  background: linear-gradient(135deg, #ff7a2e, #ff5a0a) !important;
  box-shadow: 0 14px 30px rgba(255, 106, 19, 0.32) !important;
  border-radius: 14px !important;
  color: #fff !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
body.landing-body .market-buy-button:hover { transform: translateY(-2px); }
body.landing-body .market-service-locked { border-color: var(--sf-line) !important; background: var(--sf-surface-2) !important; color: var(--sf-muted) !important; }
body.landing-body .market-service-locked > span { background: var(--sf-surface) !important; color: var(--sf-orange) !important; }

/* ---------- CTA final ---------- */
body.landing-body .landing-final-cta {
  background: linear-gradient(135deg, var(--sf-orange), #ff8a3d) !important;
  border-radius: 22px !important;
  color: #fff !important;
  box-shadow: 0 25px 55px rgba(255, 106, 19, 0.25);
}
body.landing-body .landing-final-cta h2,
body.landing-body .landing-final-cta p,
body.landing-body .landing-final-cta .landing-check { color: #fff !important; }
body.landing-body .landing-final-cta .btn-primary {
  border-radius: 999px !important;
  background: #fff !important;
  color: #0f1f19 !important;
  border: 0 !important;
}
body.landing-body .landing-final-cta .btn-ghost {
  border-radius: 999px !important;
  background: transparent !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}

/* ---------- Rodapé ---------- */
body.landing-body .smsfarm-legal-footer {
  background: var(--sf-footer) !important;
  color: #c9d6cf !important;
  border-color: rgba(143, 232, 196, 0.14) !important;
}
body.landing-body .smsfarm-legal-footer a { color: #eef5f1 !important; }
body.landing-body .smsfarm-legal-footer .legal-footer-bottom { border-top-color: rgba(143, 232, 196, 0.14) !important; }

/* ---------- Responsivo ---------- */
@media (max-width: 620px) {
  body.landing-body .public-topbar .public-brand-slogan { display: none; }
}
@media (max-width: 860px) {
  body.landing-body .public-topbar.has-theme-toggle {
    grid-template-columns: minmax(0, 1fr) auto auto auto;
  }
  body.landing-body .public-topbar .theme-toggle { margin-left: 0; width: 40px; height: 40px; }
}
@media (max-width: 900px) {
  body.landing-body .landing-hero { padding: 2.2rem 5vw 3rem; }
}

/* Transições suaves ao trocar de tema */
body.landing-body .landing-section,
body.landing-body .landing-hero,
body.landing-body .market-wizard-pro,
body.landing-body .landing-proof-strip {
  transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  body.landing-body,
  body.landing-body * { transition: none !important; }
}
