/* ============================================================
   EGM — orçamento page (extends css/style.css tokens)
   ============================================================ */
.calc-hero{ padding:150px 0 50px; border-bottom:1px solid var(--line); }
.calc-hero__title{ max-width:34ch; }

.calc-body{ padding:70px 0; }
.calc-body + .calc-body{ border-top:1px solid var(--line); }
.calc-grid{ display:grid; grid-template-columns:1.35fr 1fr; gap:3rem; align-items:start; margin-top:2.5rem; }

/* ---------- modelo de entrega (single-select) ---------- */
.modelo-options{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:2.5rem; }
.modelo-card{ display:block; cursor:pointer; }
.modelo-card input{ position:absolute; opacity:0; width:0; height:0; }
.modelo-card__box{ display:block; height:100%; background:var(--paper); padding:1.75rem; transition:background .18s var(--ease), color .18s var(--ease); position:relative; }
.modelo-card__box strong{ display:block; font-family:var(--font-display); font-size:1.1rem; margin-bottom:.6rem; }
.modelo-card__box p{ font-family:var(--font-sans); font-size:.88rem; color:var(--gray-600); line-height:1.6; }
.modelo-card__tag{
  display:inline-block; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--gray-600); border:1px solid var(--line); border-radius:100px; padding:.3em .8em; margin-bottom:.9rem;
}
.modelo-card input:checked + .modelo-card__box{ background:var(--ink); color:var(--paper); }
.modelo-card input:checked + .modelo-card__box p{ color:var(--dark-text-dim); }
.modelo-card input:checked + .modelo-card__box .modelo-card__tag{ border-color:var(--dark-text-dim); color:var(--dark-text-dim); }
.modelo-card input:focus-visible + .modelo-card__box{ outline:2px solid var(--ink); outline-offset:-2px; }

@media (max-width:640px){
  .modelo-options{ grid-template-columns:1fr; }
}

/* ---------- toggle cards (serviços, sem preço) ---------- */
.calc-options{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.calc-options__loading{ grid-column:1/-1; padding:2rem; font-family:var(--font-mono); font-size:.85rem; color:var(--gray-600); background:var(--paper); }
.toggle-card{ display:block; cursor:pointer; }
.toggle-card input{ position:absolute; opacity:0; width:0; height:0; }
.toggle-card__box{
  display:block; height:100%; background:var(--paper); padding:1.5rem;
  transition:background .18s var(--ease), color .18s var(--ease);
}
.toggle-card__box strong{ display:block; font-family:var(--font-display); font-size:1rem; margin-bottom:.5rem; }
.toggle-card__box small{ display:block; font-family:var(--font-sans); font-size:.82rem; color:var(--gray-600); line-height:1.5; }
.toggle-card input:checked + .toggle-card__box{ background:var(--ink); color:var(--paper); }
.toggle-card input:checked + .toggle-card__box small{ color:var(--dark-text-dim); }
.toggle-card input:focus-visible + .toggle-card__box{ outline:2px solid var(--ink); outline-offset:-2px; }

@media (max-width:640px){
  .calc-options{ grid-template-columns:1fr; }
}

/* ---------- resumo / output (sem valores) ---------- */
.calc-summary{ position:sticky; top:90px; }
.calc-output{
  border:1px solid var(--ink); border-radius:var(--radius); padding:2.25rem;
  display:flex; flex-direction:column; gap:1.25rem;
}
.calc-selected-row{
  display:flex; flex-direction:column; gap:.35rem; padding-bottom:1rem; border-bottom:1px dashed var(--dark-line);
}
.calc-selected-row span{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--dark-text-dim); }
.calc-selected-row strong{ font-family:var(--font-display); font-size:1.15rem; color:var(--dark-text); line-height:1.4; }

.calc-note{ font-size:.8rem; color:var(--dark-text-dim); line-height:1.6; }
.calc-cta{ width:100%; justify-content:center; }

@media (max-width:900px){
  .calc-grid{ grid-template-columns:1fr; }
  .calc-summary{ position:static; }
}
