.aprire-calculator {
  --aprire-bg: #f7f3ee;
  --aprire-card: #ffffff;
  --aprire-text: #1b1a17;
  --aprire-muted: #6d675f;
  --aprire-line: #ded6cc;
  --aprire-accent: #b68b5b;
  max-width: 860px;
  margin: 0 auto;
  background: var(--aprire-bg);
  border: 1px solid var(--aprire-line);
  border-radius: 24px;
  padding: 32px;
  color: var(--aprire-text);
  box-shadow: 0 12px 35px rgba(0,0,0,.04);
  font-family: inherit;
}
.aprire-calculator__progress {
  width: 100%;
  height: 6px;
  background: #e9e1d6;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 28px;
}
.aprire-calculator__progress-bar {
  height: 100%;
  width: 11%;
  background: var(--aprire-accent);
  transition: width .25s ease;
}
.aprire-calculator__eyebrow {
  display: inline-block;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--aprire-muted);
  margin-bottom: 10px;
}
.aprire-calculator__title {
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.06;
}
.aprire-calculator__subtitle {
  margin: 0 0 28px;
  color: var(--aprire-muted);
  font-size: 16px;
  line-height: 1.65;
  max-width: 700px;
}
.aprire-step { display:none; }
.aprire-step.is-active { display:block; }
.aprire-step h3 {
  font-size: 28px;
  line-height: 1.15;
  margin: 0 0 16px;
}
.aprire-step h4 { margin: 30px 0 16px; font-size: 20px; }
.aprire-helper, .aprire-note, .aprire-disclaimer { color: var(--aprire-muted); }
.aprire-note {
  margin-top: 16px;
  padding: 14px 16px;
  border-left: 3px solid var(--aprire-accent);
  background: rgba(255,255,255,.6);
}
.aprire-options-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.aprire-card-option {
  display:block;
  background: var(--aprire-card);
  border:1px solid var(--aprire-line);
  border-radius:18px;
  padding: 0;
  overflow:hidden;
  cursor:pointer;
  min-height: 96px;
}
.aprire-card-option input { display:none; }
.aprire-card-option span {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px 20px;
  height:100%;
  justify-content:center;
}
.aprire-card-option small { color: var(--aprire-muted); line-height:1.45; }
.aprire-card-option input:checked + span {
  background:#fffaf3;
  box-shadow: inset 0 0 0 2px var(--aprire-accent);
}
.aprire-range-wrap {
  background: var(--aprire-card);
  border:1px solid var(--aprire-line);
  border-radius:18px;
  padding:26px;
}
.aprire-range-wrap input[type=range] { width:100%; }
.aprire-range-value {
  font-size: 34px;
  margin-top: 12px;
  font-weight: 600;
}
.aprire-checklist {
  display:grid;
  gap:12px;
  background:var(--aprire-card);
  border:1px solid var(--aprire-line);
  border-radius:18px;
  padding:20px;
}
.aprire-checklist label { display:flex; gap:10px; align-items:flex-start; }
.aprire-extra-meters,
.aprire-grid-2 > div,
.aprire-step > div > label,
.aprire-step label {
  color: var(--aprire-text);
}
.aprire-extra-meters {
  margin-top: 16px;
  background: rgba(255,255,255,.65);
  border:1px solid var(--aprire-line);
  border-radius:16px;
  padding:16px;
}
.aprire-grid-2 {
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:14px;
}
.aprire-calculator input[type=text],
.aprire-calculator input[type=email],
.aprire-calculator input[type=number],
.aprire-calculator textarea {
  width:100%;
  margin-top:8px;
  border:1px solid var(--aprire-line);
  background:#fff;
  border-radius:14px;
  padding:14px 16px;
  font: inherit;
  box-sizing:border-box;
}
.aprire-result-card {
  background: var(--aprire-card);
  border:1px solid var(--aprire-line);
  border-radius:20px;
  padding:22px;
}
.aprire-result-row {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid var(--aprire-line);
}
.aprire-result-row:last-of-type { border-bottom:none; }
.aprire-result-row strong { font-size:20px; }
.aprire-calculator__actions {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:28px;
}
.aprire-btn {
  appearance:none;
  border:none;
  border-radius:999px;
  padding:14px 24px;
  font: inherit;
  cursor:pointer;
  transition: transform .15s ease, opacity .2s ease;
}
.aprire-btn:hover { transform: translateY(-1px); }
.aprire-btn--primary {
  background: var(--aprire-text);
  color:#fff;
}
.aprire-btn--ghost {
  background: transparent;
  border:1px solid var(--aprire-line);
  color: var(--aprire-text);
}
.aprire-success {
  margin-top: 28px;
  background:#fffaf3;
  border:1px solid #e7d3bb;
  border-radius:18px;
  padding:22px;
}
@media (max-width: 767px) {
  .aprire-calculator { padding: 22px; border-radius:18px; }
  .aprire-options-grid, .aprire-grid-2 { grid-template-columns: 1fr; }
  .aprire-step h3 { font-size: 24px; }
  .aprire-result-row { flex-direction:column; }
  .aprire-calculator__actions { flex-wrap:wrap; }
  .aprire-btn { width:100%; }
}
