/* Aproxima o título e o configurador do início da seção, sem sobreposições. */
#proposta.proposal.section {
  padding-top: clamp(36px, 3.5vw, 64px);
  background:
    radial-gradient(ellipse at 0% 0%, #aaa2ffb3 0%, #d2ceff66 22%, transparent 48%),
    radial-gradient(ellipse at 100% 100%, #aaa2ffb3 0%, #d2ceff66 22%, transparent 48%),
    #f1f0ff;
}
#proposta.proposal.section > .section-kicker {
  margin-bottom: 24px;
}
#proposta.proposal.section > .section-heading {
  margin-bottom: 40px;
}
@media (max-width: 760px) {
  #proposta.proposal.section {
    padding-top: 36px;
  }
  #proposta.proposal.section > .section-heading {
    margin-bottom: 30px;
  }
}

/* Proposal controls: real proportional scale and a champagne / onyx summary. */
#proposta input[type="range"] {
  --range-progress: 0%;
  appearance: none;
  -webkit-appearance: none;
  height: 6px;
  margin: 14px 0;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(
    to right,
    #3568d4 0 var(--range-progress),
    #d7dae2 var(--range-progress) 100%
  );
}
#proposta input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #3568d4;
  box-shadow: 0 1px 5px #14213d30;
}
#proposta input[type="range"]::-moz-range-thumb {
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #3568d4;
  box-shadow: 0 1px 5px #14213d30;
}
#proposta .range-marks {
  position: relative;
  display: block;
  height: 50px;
  margin-top: 0;
}
#proposta .range-marks button {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  padding: 10px 0;
  white-space: nowrap;
  min-height: 38px;
  font-size: 10px;
}
#proposta .range-marks button:last-child {
  transform: translateX(-100%);
}
@media screen {
  #proposta .summary {
    background:
      radial-gradient(ellipse at 100% 0, #59368a55, transparent 65%),
      linear-gradient(145deg, #1b1524, #100e16 72%);
    border: 1px solid #a77ae66b;
    box-shadow:
      0 24px 60px #25123928,
      inset 0 1px 0 #dec9ff18;
    color: #faf7ff;
  }
  #proposta .summary.is-pending {
    opacity: 1;
  }
  #proposta .summary-top {
    color: #c4a0f5;
  }
  #proposta .summary > p,
  #proposta .summary dt,
  #proposta .investment > span,
  #proposta .license > span,
  #proposta .investment > small,
  #proposta .license small {
    color: #c9c0d6;
  }
  #proposta .summary dd {
    color: #faf7ff;
  }
  #proposta .investment {
    border-color: #b48aec30;
  }
  #proposta .investment strong,
  #proposta .license strong {
    color: #ddc3ff;
  }
  #proposta .summary .button {
    background: linear-gradient(110deg, #7634ca, #ae79ed);
    color: #ffffff;
    border: 1px solid #ae79ed;
    box-shadow: 0 8px 24px #0003;
    font-weight: 700;
  }
  #proposta .summary .button:hover {
    background: linear-gradient(110deg, #8746dc, #bd8ff5);
    box-shadow: 0 10px 30px #a16ce83d;
  }
  #proposta .summary .button:focus-visible {
    outline-color: #ddc3ff;
  }
}
@media (max-width: 760px) {
  #proposta .range-marks {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    height: 50px;
  }
  #proposta .range-marks button,
  #proposta .range-marks button:last-child {
    position: static;
    transform: none;
    flex-shrink: 0;
  }
}
/* Números da escala: leitura mais nítida, com proporções naturais. */
#proposta .range-marks button,
#proposta .range-ends {
  font-family: "Inter", "Segoe UI", sans-serif;
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1.5;
  letter-spacing: 0.015em;
  color: #52617a;
  transition: color 0.18s ease;
}
#proposta .range-marks button:hover,
#proposta .range-marks button:focus-visible {
  color: #203454;
}
@media (max-width: 760px) {
  #proposta .range-marks button,
  #proposta .range-ends {
    font-size: 12px;
    letter-spacing: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  #proposta .range-marks button {
    transition: none;
  }
}
/* Aproveita o espaço livre ao lado do título para antecipar os preços. */
@media screen and (min-width: 761px) {
  #proposta .proposal-layout > .summary {
    margin-top: calc(-1 * clamp(80px, 8vw, 140px));
  }
}
/* Rodapé do resumo comercial: apenas o responsável, com leitura confortável. */
#proposta .summary .summary-foot {
  font-family: "Inter", "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.01em;
  color: #e2d9ef;
  margin-top: 20px;
}
#proposta .summary .summary-foot #seller {
  font-weight: 600;
  color: #ddc3ff;
}
#proposta .summary #continue {
  font-family: "Inter", "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.01em;
}
/* Oculta apenas os controles visuais nativos; mantém digitação e teclado. */
#proposta #lots-number {
  -moz-appearance: textfield;
  appearance: textfield;
}
#proposta #lots-number::-webkit-inner-spin-button,
#proposta #lots-number::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Destaques e controles da proposta na mesma identidade violeta do resumo. */
#proposta .section-heading h2 > span {
  color: #7839c4;
}
#proposta #plan-label {
  color: #7134b5 !important;
  background: #eee5fa;
}
#proposta input[type="range"] {
  accent-color: #8644cf;
  background: linear-gradient(
    to right,
    #8644cf 0 var(--range-progress),
    #d7dae2 var(--range-progress) 100%
  );
}
#proposta input[type="range"]::-webkit-slider-thumb {
  background: #8644cf;
  box-shadow: 0 1px 5px #7035ac40;
}
#proposta input[type="range"]::-moz-range-thumb {
  background: #8644cf;
  box-shadow: 0 1px 5px #7035ac40;
}
#proposta .range-marks button:hover,
#proposta .range-marks button:focus-visible {
  color: #7134b5;
}
#proposta input:focus-visible,
#proposta .range-marks button:focus-visible {
  outline-color: #8644cf;
}
/* Informações comerciais com o mesmo tamanho do responsável. */
#proposta .summary dl > div,
#proposta .summary .investment > span,
#proposta .summary .license > span,
#proposta .summary .license small {
  font-family: "Inter", "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}
#proposta .summary dl > div {
  padding: 7px 0;
}
