/* ===== Página de orçamento ===== */
.orc-body{ background:var(--papel); min-height:100vh; }
.orc-header{ position:sticky; top:0; z-index:50; background:rgba(246,242,234,0.9); backdrop-filter:blur(14px); border-bottom:1px solid var(--linha); }
.orc-wrap{ max-width:920px; margin:0 auto; padding:14px 28px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.orc-back{ font-family:var(--display); font-weight:600; font-size:15px; color:var(--texto-3); display:inline-flex; align-items:center; gap:8px; transition:color .2s; }
.orc-back:hover{ color:var(--laranja); }

.orc-main{ max-width:760px; margin:0 auto; padding:56px 28px 96px; }
.orc-intro{ margin-bottom:38px; }
.orc-badge{ display:inline-flex; align-items:center; gap:9px; background:rgba(232,102,31,0.1); border:1px solid rgba(232,102,31,0.28); padding:8px 15px; border-radius:100px; margin-bottom:20px; }
.orc-badge .dot{ width:7px; height:7px; border-radius:50%; background:var(--laranja); }
.orc-badge .txt{ font-family:var(--mono); font-size:11px; letter-spacing:0.12em; color:var(--laranja-hover); text-transform:uppercase; }
.orc-intro h1{ font-family:var(--display); font-weight:800; font-size:46px; line-height:1.02; letter-spacing:-0.03em; margin:0 0 14px; }
.orc-intro p{ font-size:18px; line-height:1.55; color:var(--texto-2); max-width:560px; margin:0; }

.orc-card{ background:#fff; border:1px solid var(--linha); border-radius:22px; padding:30px; margin-bottom:22px; }
.orc-step{ display:flex; align-items:baseline; gap:12px; margin-bottom:24px; }
.orc-step .num{ font-family:var(--display); font-weight:800; font-size:15px; color:#fff; background:var(--laranja); width:30px; height:30px; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; flex:none; align-self:center; }
.orc-step h2{ font-family:var(--display); font-weight:800; font-size:24px; letter-spacing:-0.02em; margin:0; white-space:nowrap; }

.orc-items{ display:flex; flex-direction:column; gap:16px; }
.orc-item{ border:1.5px solid var(--linha); border-radius:16px; padding:20px; background:#FBF9F4; display:flex; flex-direction:column; gap:16px; animation:arpeRise .3s ease; }
@keyframes arpeRise{ from{ opacity:0; transform:translateY(18px);} to{ opacity:1; transform:translateY(0);} }
.orc-item-head{ display:flex; align-items:center; justify-content:space-between; }
.orc-item-head .lbl{ font-family:var(--mono); font-size:11px; letter-spacing:0.12em; color:#8A8D91; text-transform:uppercase; }
.orc-remove{ font-family:var(--corpo); font-size:13px; font-weight:600; color:var(--laranja-hover); background:transparent; border:none; cursor:pointer; padding:4px 6px; transition:color .2s; }
.orc-remove:hover{ color:var(--laranja); }
.orc-row{ display:grid; grid-template-columns:1fr 150px; gap:16px; }
.orc-field label, .orc-fields label{ font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--texto-2); display:block; margin-bottom:8px; }
.orc-item select, .orc-fields input, .orc-fields textarea{
  width:100%; font-size:16px; color:var(--grafite); background:#fff;
  border:1.5px solid var(--linha); border-radius:12px; padding:14px 16px; outline:none;
  font-family:var(--corpo); transition:border-color .2s;
}
.orc-item select{ cursor:pointer; }
.orc-item select:focus, .orc-fields input:focus, .orc-fields textarea:focus{ border-color:var(--laranja); }
.orc-fields textarea{ resize:vertical; }

.orc-qty{ display:flex; align-items:center; border:1.5px solid var(--linha); border-radius:12px; overflow:hidden; background:#fff; height:50px; }
.orc-qty button{ flex:none; width:46px; height:100%; border:none; background:transparent; font-size:22px; line-height:1; cursor:pointer; color:var(--grafite); transition:background .2s; }
.orc-qty button:hover{ background:#F1ECE2; }
.orc-qty .val{ flex:1; text-align:center; font-family:var(--display); font-weight:700; font-size:18px; }

.orc-add{ margin-top:16px; width:100%; font-family:var(--display); font-weight:700; font-size:15px; color:var(--texto-2); background:transparent; border:1.5px dashed #CFC8BB; border-radius:14px; padding:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:border-color .2s, color .2s; }
.orc-add:hover{ border-color:var(--laranja); color:var(--laranja); }

.orc-fields{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.orc-fields .full{ grid-column:1 / -1; }
.orc-fields input.invalid, .orc-fields textarea.invalid{ border-color:#D98C77; }

.orc-error{ background:rgba(192,57,43,0.08); border:1px solid rgba(192,57,43,0.3); border-radius:12px; padding:13px 18px; margin-bottom:16px; font-size:14.5px; color:#A8321F; }
.orc-submit{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.orc-submit .note{ font-size:14px; color:#8A8D91; }

.orc-success{ background:var(--grafite); border-radius:24px; padding:48px 40px; text-align:center; }
.orc-success .check{ width:62px; height:62px; border-radius:50%; background:rgba(232,102,31,0.16); border:1px solid rgba(232,102,31,0.4); display:flex; align-items:center; justify-content:center; margin:0 auto 24px; }
.orc-success h2{ font-family:var(--display); font-weight:800; font-size:30px; letter-spacing:-0.02em; color:var(--papel); margin:0 0 12px; }
.orc-success p{ font-size:16.5px; line-height:1.55; color:#B7B9BD; max-width:420px; margin:0 auto 30px; }
.orc-success-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.orc-reset{ font-family:var(--display); font-weight:700; font-size:16px; color:var(--papel); background:transparent; border:1.5px solid #3A3D41; padding:16px 28px; border-radius:12px; cursor:pointer; transition:border-color .2s; }
.orc-reset:hover{ border-color:var(--laranja); }

@media (max-width:680px){
  .orc-intro h1{ font-size:34px; }
  .orc-fields{ grid-template-columns:1fr; }
  .orc-row{ grid-template-columns:1fr; }
}
