/* =============================================================
   orcamento.css — extensão do style.css do site
   Reaproveita as mesmas cores, raios e sombras já usados no site:
   verde #25D366 / #1f9a4c, texto #111 / #333 / #555,
   cards brancos com radius 22-24px e sombra suave.
   ============================================================= */

/* ---------- item de menu em destaque ---------- */
.nav-cta{
  padding:10px 20px !important;
  border-radius:999px;
  background:#25D366;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(37,211,102,0.28);
  transition:.25s ease;
}

.nav-cta:hover{
  background:#1ebe5d;
  color:#fff !important;
  transform:translateY(-2px);
}

@media (max-width:768px){
  .nav-cta{
    width:100%;
    text-align:center;
  }
}

/* ---------- cabeçalho da página ---------- */
.quote-hero{
  padding:160px 0 50px;
  background:linear-gradient(180deg, rgba(37,211,102,0.07) 0%, rgba(37,211,102,0) 100%);
}

.quote-hero-title{
  margin:14px 0 12px;
  font-size:46px;
  font-weight:900;
  color:#111;
  letter-spacing:.3px;
}

.quote-hero-sub{
  max-width:640px;
  font-size:17px;
  line-height:1.7;
  color:#555;
}

@media (max-width:768px){
  .quote-hero{ padding:140px 0 36px; }
  .quote-hero-title{ font-size:32px; }
}

/* ---------- layout geral ---------- */
.quote-section{
  padding:20px 0 100px;
  background:#f6f6f6;
}

.quote-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:start;
}

@media (max-width:900px){
  .quote-grid{ grid-template-columns:1fr; }
}

/* ---------- painéis (form + resumo) ---------- */
.quote-card,
.quote-summary{
  background:#fff;
  border:1px solid #e9e9e9;
  border-radius:24px;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}

.quote-card{
  padding:8px 32px 32px;
}

.quote-summary{
  padding:28px;
  position:sticky;
  top:116px;
}

@media (max-width:900px){
  .quote-summary{ position:static; }
}

/* ---------- steps ---------- */
.quote-step{
  padding:26px 0;
  border-bottom:1px solid #eee;
}

.quote-step:last-child{
  border-bottom:none;
}

.quote-step-kicker{
  display:inline-block;
  margin-bottom:16px;
  padding:6px 14px;
  border-radius:999px;
  background:rgba(37,211,102,0.12);
  color:#1f9a4c;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.4px;
  text-transform:uppercase;
}

/* ---------- campos ---------- */
.quote-row2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

@media (max-width:560px){
  .quote-row2{ grid-template-columns:1fr; }
}

.quote-field{
  margin-bottom:16px;
}

.quote-field label{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  font-weight:700;
  color:#333;
}

.quote-field input[type=text],
.quote-field input[type=tel],
.quote-field input[type=number],
.quote-field select,
.quote-field textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid #e0e0e0;
  border-radius:12px;
  background:#fafafa;
  font-family:Arial, Helvetica, sans-serif;
  font-size:15px;
  color:#222;
  outline:none;
  transition:.2s ease;
}

.quote-field input:focus,
.quote-field select:focus,
.quote-field textarea:focus{
  border-color:#25D366;
  background:#fff;
  box-shadow:0 0 0 4px rgba(37,211,102,0.12);
}

.quote-field textarea{
  min-height:80px;
  resize:vertical;
}

/* ---------- chips (pragas / crianças / pets) ---------- */
.quote-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.quote-chip{
  position:relative;
}

.quote-chip input{
  position:absolute;
  opacity:0;
  inset:0;
  cursor:pointer;
  margin:0;
}

.quote-chip span{
  display:inline-flex;
  align-items:center;
  padding:9px 15px;
  border-radius:999px;
  border:1px solid #e0e0e0;
  background:#fafafa;
  color:#444;
  font-size:13.5px;
  font-weight:700;
  user-select:none;
  transition:.2s ease;
}

.quote-chip input:checked + span{
  background:#25D366;
  border-color:#25D366;
  color:#fff;
}

.quote-chip input:focus-visible + span{
  box-shadow:0 0 0 4px rgba(37,211,102,0.25);
}

/* ---------- faixa de preço ---------- */
.quote-price{
  padding:18px 20px;
  border-radius:16px;
  background:rgba(37,211,102,0.08);
  border:1px solid rgba(37,211,102,0.18);
}

.quote-price-empty{
  color:#888;
  font-size:13.5px;
  font-style:italic;
}

.quote-price-value{
  font-size:28px;
  font-weight:900;
  color:#111;
  line-height:1.15;
}

.quote-price-value span{
  color:#1f9a4c;
}

.quote-price-caption{
  margin-top:4px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#1f9a4c;
}

.quote-price-note{
  margin-top:10px;
  font-size:12px;
  line-height:1.6;
  color:#666;
}

/* ---------- resumo lateral ---------- */
.quote-summary-body{
  margin-bottom:20px;
  font-size:14px;
  color:#444;
  line-height:1.7;
}

.quote-summary-empty{
  color:#999;
  font-style:italic;
}

.quote-summary-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  border-bottom:1px dashed #eee;
}

.quote-summary-row:last-child{
  border-bottom:none;
}

.quote-summary-row .label{
  color:#888;
  font-size:12.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  white-space:nowrap;
}

.quote-summary-row .value{
  text-align:right;
  color:#222;
  font-weight:600;
  font-size:13.5px;
}

.quote-send-btn{
  width:100%;
  min-width:0;
}

.quote-send-hint{
  margin-top:12px;
  font-size:12.5px;
  color:#888;
  text-align:center;
}

.quote-send-status{
  margin-top:10px;
  font-size:13px;
  font-weight:700;
  text-align:center;
  min-height:0;
}

.quote-send-status.ok{ color:#1f9a4c; }
.quote-send-status.err{ color:#c0392b; }
.quote-send-status.pending{ color:#888; font-weight:600; }