/* =========================================================
   Lucid 3.1.10 — Calculadora de ROI
   Página independente, mantendo header/footer do Astra.
   ========================================================= */

/* Astra may render the calculator through the normal page template.
   Keep the content area full-width and dark in either template mode. */
body.lucid-calculator-template {
  --lucid-bg: #01041F;
  --lucid-navy: #030D48;
  --lucid-navy-2: #06146B;
  --lucid-purple: #5808FD;
  --lucid-magenta: #FC00FF;
  --lucid-cyan: #42D7FF;
  --lucid-green: #00E5A0;
  --lucid-white: #FFFFFF;
  --lucid-text: rgba(255,255,255,.96);
  --lucid-text-2: rgba(255,255,255,.82);
  --lucid-muted: rgba(255,255,255,.64);
  --lucid-line: rgba(255,255,255,.14);
  --lucid-card: rgba(255,255,255,.055);
  --lucid-card-strong: rgba(255,255,255,.085);
  --lucid-shadow: 0 28px 90px rgba(0,0,0,.28);
  background: var(--lucid-bg) !important;
  color: var(--lucid-text);
}

body.lucid-calculator-template .site-content {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--lucid-bg) !important;
}

body.lucid-calculator-template .site-content > .ast-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.lucid-calculator-template #primary,
body.lucid-calculator-template .content-area,
body.lucid-calculator-template .site-main,
body.lucid-calculator-template article.page,
body.lucid-calculator-template .ast-article-single,
body.lucid-calculator-template .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.lucid-calculator-template .entry-content > .wp-block-group,
body.lucid-calculator-template .entry-content > .wp-block-html {
  margin-top: 0;
  margin-bottom: 0;
}

.lucid-calculator-page,
.lucid-calculator-page * {
  box-sizing: border-box;
}

.lucid-calculator-page {
  --lucid-bg: #01041F;
  --lucid-navy: #030D48;
  --lucid-navy-2: #06146B;
  --lucid-purple: #5808FD;
  --lucid-magenta: #FC00FF;
  --lucid-cyan: #42D7FF;
  --lucid-green: #00E5A0;
  --lucid-white: #FFFFFF;
  --lucid-text: rgba(255,255,255,.96);
  --lucid-text-2: rgba(255,255,255,.82);
  --lucid-muted: rgba(255,255,255,.64);
  --lucid-line: rgba(255,255,255,.14);
  --lucid-card: rgba(255,255,255,.055);
  --lucid-card-strong: rgba(255,255,255,.085);
  --lucid-shadow: 0 28px 90px rgba(0,0,0,.28);

  position: relative;
  isolation: isolate;
  overflow: clip;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  font-family: Montserrat, Arial, sans-serif;
  color: var(--lucid-text);
  background:
    radial-gradient(circle at 18% 2%, rgba(88,8,253,.31), transparent 29%),
    radial-gradient(circle at 86% 10%, rgba(252,0,255,.15), transparent 25%),
    radial-gradient(circle at 54% 58%, rgba(66,215,255,.075), transparent 36%),
    var(--lucid-bg);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.lucid-calculator-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, rgba(0,0,0,.26) 76%, transparent);
}

.lucid-calculator-page a { color: inherit; }
.lucid-calculator-page button,
.lucid-calculator-page input { font: inherit; }
.lucid-calculator-page :focus-visible {
  outline: 3px solid var(--lucid-cyan);
  outline-offset: 3px;
}

.lucid-roi-calculator {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(60px, 7vw, 96px) 0 clamp(76px, 9vw, 120px);
}

.lucid-roi-hero {
  max-width: 840px;
  margin-bottom: 42px;
}

.lucid-roi-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 32px;
  margin-bottom: 20px;
  padding: 0 13px;
  border: 1px solid rgba(66,215,255,.25);
  border-radius: 999px;
  background: rgba(66,215,255,.07);
  color: var(--lucid-cyan);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lucid-roi-eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lucid-cyan);
  box-shadow: 0 0 18px rgba(66,215,255,.65);
}

.lucid-roi-calculator h1,
.lucid-roi-calculator h2,
.lucid-roi-calculator h3,
.lucid-roi-calculator p { margin-top: 0; }

.lucid-roi-calculator h1,
.lucid-roi-calculator h2,
.lucid-roi-calculator h3 {
  color: #fff;
  font-family: Montserrat, Arial, sans-serif;
}

.lucid-roi-calculator h1 {
  max-width: 850px;
  margin-bottom: 18px;
  font-size: clamp(2.5rem, 5vw, 4.2rem);
  line-height: 1.01;
  letter-spacing: -.047em;
  font-weight: 800;
}

.lucid-roi-gradient {
  background: linear-gradient(92deg, #fff 2%, var(--lucid-cyan) 43%, #bd78ff 71%, var(--lucid-magenta));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.lucid-roi-intro {
  max-width: 700px;
  margin-bottom: 0;
  color: var(--lucid-text-2);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
}

.lucid-roi-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
  gap: 22px;
  align-items: start;
}

.lucid-roi-inputs {
  display: grid;
  gap: 14px;
}

.lucid-roi-input-card,
.lucid-roi-field,
.lucid-roi-risk,
.lucid-roi-method {
  border: 1px solid var(--lucid-line);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.035)),
    rgba(3,13,72,.44);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}

.lucid-roi-input-card {
  padding: 24px 26px 23px;
}

.lucid-roi-input-card label,
.lucid-roi-field label,
.lucid-roi-risk label {
  display: block;
  color: var(--lucid-muted);
  font-size: .82rem;
  font-weight: 500;
}

.lucid-roi-big-value {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-top: 8px;
  color: #fff;
}

.lucid-roi-big-value .lucid-roi-num {
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.035em;
}

.lucid-roi-unit {
  color: var(--lucid-muted);
  font-size: .9rem;
}

.lucid-roi-calculator input[type="range"] {
  width: 100%;
  margin: 22px 0 0;
  accent-color: var(--lucid-magenta);
  cursor: pointer;
}

.lucid-roi-scale {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 5px;
  color: rgba(255,255,255,.48);
  font-size: .72rem;
}

.lucid-roi-result-panel {
  position: sticky;
  top: 24px;
  overflow: hidden;
  border: 1px solid rgba(139,103,255,.30);
  border-radius: 26px;
  background:
    radial-gradient(circle at 90% 5%, rgba(252,0,255,.20), transparent 34%),
    radial-gradient(circle at 10% 100%, rgba(66,215,255,.12), transparent 36%),
    linear-gradient(145deg, rgba(88,8,253,.19), rgba(3,13,72,.93) 56%),
    #030D48;
  box-shadow: var(--lucid-shadow), inset 0 1px 0 rgba(255,255,255,.08);
}

.lucid-roi-result-main {
  padding: 30px 30px 26px;
}

.lucid-roi-result-label {
  color: rgba(255,255,255,.66);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.lucid-roi-result-number {
  margin: 7px 0 8px;
  color: #fff;
  font-size: clamp(2.35rem, 4.7vw, 4.15rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.052em;
}

.lucid-roi-result-number small {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.60);
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: 0;
}

.lucid-roi-result-copy {
  max-width: 430px;
  margin-bottom: 0;
  color: rgba(255,255,255,.74);
  font-size: .9rem;
}

.lucid-roi-result-accent {
  height: 3px;
  background: linear-gradient(90deg, var(--lucid-cyan), var(--lucid-purple), var(--lucid-magenta));
}

.lucid-roi-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.lucid-roi-metric {
  min-height: 154px;
  padding: 21px;
  border: 1px solid var(--lucid-line);
  border-radius: 20px;
  background: var(--lucid-card);
}

.lucid-roi-metric-label {
  color: var(--lucid-muted);
  font-size: .75rem;
  font-weight: 600;
}

.lucid-roi-metric-value {
  margin-top: 7px;
  color: #fff;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: 750;
  line-height: 1.08;
  letter-spacing: -.025em;
}

.lucid-roi-metric-note {
  margin: 8px 0 0;
  color: rgba(255,255,255,.54);
  font-size: .72rem;
  line-height: 1.52;
}

.lucid-roi-lower {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 16px;
  margin-top: 16px;
}

.lucid-roi-field,
.lucid-roi-risk {
  padding: 25px;
}

.lucid-roi-field h2,
.lucid-roi-risk h2 {
  margin-bottom: 8px;
  font-size: 1.05rem;
  font-weight: 700;
}

.lucid-roi-field p,
.lucid-roi-risk p {
  margin-bottom: 18px;
  color: var(--lucid-muted);
  font-size: .82rem;
}

.lucid-roi-number-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lucid-roi-currency {
  color: var(--lucid-muted);
  font-size: .9rem;
}

.lucid-roi-calculator input[type="number"] {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(255,255,255,.055);
  color: #fff;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.lucid-roi-calculator input[type="number"]::-webkit-inner-spin-button,
.lucid-roi-calculator input[type="number"]::-webkit-outer-spin-button {
  opacity: .6;
}

.lucid-roi-risk-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.lucid-roi-risk-grid label {
  margin-bottom: 6px;
  font-size: .7rem;
  line-height: 1.35;
}

.lucid-roi-method {
  margin-top: 16px;
  padding: 0;
}

.lucid-roi-method summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding: 20px 56px 20px 24px;
  color: #fff;
  font-weight: 650;
}

.lucid-roi-method summary::-webkit-details-marker { display: none; }
.lucid-roi-method summary::after {
  content: "+";
  position: absolute;
  right: 24px;
  top: 50%;
  translate: 0 -50%;
  color: var(--lucid-cyan);
  font-size: 1.35rem;
  font-weight: 400;
}

.lucid-roi-method[open] summary::after { content: "−"; }

.lucid-roi-method-content {
  padding: 0 24px 22px;
  color: var(--lucid-muted);
  font-size: .82rem;
}

.lucid-roi-method-content p { color: inherit; }
.lucid-roi-method-content ul {
  margin: 10px 0 15px;
  padding-left: 20px;
}
.lucid-roi-method-content li { margin-bottom: 6px; }

.lucid-roi-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 30px;
}

.lucid-roi-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 11px;
  text-decoration: none;
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: .01em;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.lucid-roi-button-primary {
  background: linear-gradient(100deg, var(--lucid-purple), #8c2cff 52%, var(--lucid-magenta));
  color: #fff;
  box-shadow: 0 14px 34px rgba(88,8,253,.28);
}

.lucid-roi-button-secondary {
  border-color: rgba(255,255,255,.17);
  background: rgba(255,255,255,.045);
  color: #fff;
}

@media (hover:hover) {
  .lucid-roi-button:hover {
    transform: translateY(-2px);
  }
  .lucid-roi-button-secondary:hover {
    border-color: rgba(66,215,255,.34);
    background: rgba(66,215,255,.065);
  }
}

.lucid-roi-disclaimer {
  max-width: 850px;
  margin: 22px 0 0;
  color: rgba(255,255,255,.48);
  font-size: .72rem;
}

.lucid-roi-num { font-variant-numeric: tabular-nums; }

@media (max-width: 960px) {
  .lucid-roi-workspace { grid-template-columns: 1fr; }
  .lucid-roi-result-panel { position: relative; top: auto; }
  .lucid-roi-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .lucid-roi-lower { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .lucid-roi-calculator {
    width: min(100% - 28px, 1180px);
    padding-top: 44px;
    padding-bottom: 72px;
  }
  .lucid-roi-hero { margin-bottom: 28px; }
  .lucid-roi-input-card,
  .lucid-roi-result-main,
  .lucid-roi-field,
  .lucid-roi-risk { padding: 20px; }
  .lucid-roi-metrics { grid-template-columns: 1fr; }
  .lucid-roi-metric { min-height: 0; }
  .lucid-roi-risk-grid { grid-template-columns: 1fr; }
  .lucid-roi-cta { flex-direction: column; align-items: stretch; }
  .lucid-roi-button { width: 100%; }
  .lucid-roi-scale { font-size: .66rem; }
}

@media (prefers-reduced-motion: reduce) {
  .lucid-roi-button { transition: none !important; }
}

@media print {
  body.lucid-calculator-template .site-header,
  body.lucid-calculator-template header#masthead,
  body.lucid-calculator-template .site-footer,
  body.lucid-calculator-template footer#colophon,
  body.lucid-calculator-template .lucid-roi-cta,
  body.lucid-calculator-template .lucid-roi-method,
  body.lucid-calculator-template .lucid-roi-disclaimer {
    display: none !important;
  }

  .lucid-calculator-page {
    color: #101534 !important;
    background: #fff !important;
  }

  .lucid-calculator-page::before { display: none !important; }
  .lucid-roi-calculator { width: 100%; padding: 20px; }
  .lucid-roi-calculator h1,
  .lucid-roi-calculator h2,
  .lucid-roi-calculator h3,
  .lucid-roi-metric-value,
  .lucid-roi-big-value,
  .lucid-roi-result-number { color: #101534 !important; }
  .lucid-roi-eyebrow,
  .lucid-roi-gradient { color: #5808FD !important; -webkit-text-fill-color: #5808FD !important; background: none !important; }
  .lucid-roi-input-card,
  .lucid-roi-result-panel,
  .lucid-roi-metric,
  .lucid-roi-field,
  .lucid-roi-risk {
    break-inside: avoid;
    border: 1px solid #ddd !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  .lucid-roi-result-accent { background: #5808FD !important; }
  .lucid-roi-intro,
  .lucid-roi-result-label,
  .lucid-roi-result-copy,
  .lucid-roi-metric-label,
  .lucid-roi-metric-note,
  .lucid-roi-field p,
  .lucid-roi-risk p,
  .lucid-roi-input-card label,
  .lucid-roi-field label,
  .lucid-roi-risk label,
  .lucid-roi-unit,
  .lucid-roi-scale { color: #5C6180 !important; }
}
