/* ============================================================
   Calculadora / montador de orçamento — estilos do componente.
   Usado pelo formulário (e disponível para a landing).
   Cores fixas (paleta verde do site) para ser portável.
   Tudo escopado sob .oc para não vazar para a página.
   ============================================================ */
.oc .calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;}
.oc .calc-field{display:flex;flex-direction:column;gap:7px;}
.oc .calc-field label{font-size:.86rem;font-weight:600;color:#21261E;}
.oc .calc-field select,.oc .calc-field input{font-family:inherit;font-size:1rem;color:#21261E;background:#F2EFE4;
  border:1px solid #DEE0D0;border-radius:12px;padding:12px 14px;width:100%;}
.oc .calc-field select:focus,.oc .calc-field input:focus{outline:none;border-color:#1FA37A;background:#fff;}
.oc .calc-hint{font-size:.78rem;color:#7C8177;font-weight:400;}
.oc .calc-check{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:.95rem;color:#21261E;cursor:pointer;padding:2px 0;}
.oc .calc-check input{width:20px;height:20px;accent-color:#1FA37A;cursor:pointer;flex:none;}
.oc .calc-check .mut{color:#7C8177;}
.oc .calc-total{grid-column:1/-1;margin-top:6px;border-top:1px solid #DEE0D0;padding-top:20px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.oc .calc-total .lbl{font-size:.92rem;color:#7C8177;}
.oc .calc-total .lbl b{display:block;font-family:"Fraunces",serif;font-size:2.1rem;color:#12795A;font-weight:600;line-height:1.15;}
.oc .calc-total .lbl small{display:block;color:#7C8177;font-size:.82rem;}
.oc .calc-note{grid-column:1/-1;color:#7C8177;font-size:.8rem;margin:2px 0 0;}

/* Layout: coluna única (calendário em cima, controles embaixo) */
.oc .calc-main{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:22px;align-items:start;}
.oc .calc-side{display:flex;flex-direction:column;gap:18px;min-width:0;}
.oc .calc-cal{display:flex;flex-direction:column;gap:8px;}
.oc .calc-cal>label{font-size:.86rem;font-weight:600;color:#21261E;}

/* Calendário */
.oc .cal{background:#F2EFE4;border:1px solid #DEE0D0;border-radius:14px;padding:14px 16px;max-width:380px;}
.oc .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.oc .cal-title{font-family:"Fraunces",serif;font-weight:600;font-size:1.05rem;text-transform:capitalize;}
.oc .cal-nav{width:32px;height:32px;border-radius:9px;border:1px solid #DEE0D0;background:#FEFDF8;cursor:pointer;
  display:grid;place-items:center;color:#21261E;}
.oc .cal-nav:hover:not(:disabled){border-color:#1FA37A;color:#12795A;}
.oc .cal-nav:disabled{opacity:.35;cursor:default;}
.oc .cal-nav svg{width:16px;height:16px;}
.oc .cal-dows{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:5px;}
.oc .cal-dows span{text-align:center;font-size:.68rem;font-weight:700;color:#7C8177;text-transform:uppercase;}
.oc .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.oc .cal-cell{aspect-ratio:1/1;border:none;background:none;border-radius:9px;cursor:pointer;font-family:inherit;
  font-size:.9rem;color:#21261E;display:grid;place-items:center;transition:background .12s ease,color .12s ease;}
.oc .cal-cell:hover:not(:disabled){background:#DEF3EB;}
.oc .cal-cell.empty{visibility:hidden;cursor:default;}
.oc .cal-cell:disabled{color:#DEE0D0;cursor:default;}
.oc .cal-cell.wend:not(:disabled){color:#12795A;font-weight:600;}
.oc .cal-cell.today{box-shadow:inset 0 0 0 1.5px #1FA37A;}
.oc .cal-cell.sel{background:#1FA37A!important;color:#fff!important;font-weight:600;}
.oc .cal-hint{font-size:.78rem;color:#7C8177;margin:10px 0 0;}

/* Botão adicionar */
.oc .calc-add{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:4px;}
.oc .calc-addbtn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-weight:600;font-size:.9rem;
  padding:10px 16px;border-radius:12px;cursor:pointer;background:#FEFDF8;color:#21261E;border:1px solid #DEE0D0;
  transition:border-color .18s ease,color .18s ease;}
.oc .calc-addbtn:hover:not(:disabled){border-color:#1FA37A;color:#12795A;}
.oc .calc-addbtn:disabled{opacity:.45;cursor:default;}
.oc .calc-addbtn svg{width:16px;height:16px;}

/* Lista "Seu orçamento" */
.oc .calc-cart{border:1px dashed #DEE0D0;border-radius:14px;padding:14px 16px;background:#F2EFE4;}
.oc .calc-cart-title{font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#7C8177;margin:0 0 10px;}
.oc .calc-itens{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.oc .calc-itens .vazio{color:#7C8177;font-size:.9rem;line-height:1.5;}
.oc .calc-itens li.item{display:flex;align-items:flex-start;gap:10px;background:#FEFDF8;border:1px solid #DEE0D0;border-radius:10px;padding:9px 11px;}
.oc .calc-itens li.item.edit{border-style:dashed;background:transparent;}
.oc .calc-itens .it-txt{flex:1;min-width:0;font-size:.92rem;}
.oc .calc-itens .it-txt b{font-family:"Fraunces",serif;font-weight:600;}
.oc .calc-itens .it-txt small{display:block;color:#7C8177;font-size:.78rem;margin-top:1px;word-break:break-word;}
.oc .calc-itens .it-val{font-weight:600;color:#12795A;white-space:nowrap;font-size:.92rem;}
.oc .calc-itens .it-rm{background:none;border:none;color:#7C8177;cursor:pointer;font-size:.95rem;line-height:1;padding:2px;}
.oc .calc-itens .it-rm:hover{color:#c0392b;}

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