/* 1000MB Orçamentador — Simulador CSS */
#orc-simulador { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; max-width: 1040px; margin: 0 auto; }
#orc-simulador *, #orc-simulador *::before, #orc-simulador *::after { box-sizing: border-box; }

/* Cards */
.orc-wrap { padding: .65rem 0; }
.orc-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: .7rem .9rem; margin-bottom: .5rem; }

/* Títulos de secção */
.orc-section-title { font-size: 11px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .45rem; }
.orc-sub-section { padding-top: .55rem; margin-top: .35rem; border-top: 1px solid #f3f4f6; }

/* Radio group */
.orc-radio-group { display: flex; gap: 5px; flex-wrap: wrap; margin-top: .25rem; }
.orc-radio-group label { display: flex; align-items: center; gap: 5px; font-size: 12px; color: #374151; cursor: pointer; padding: 4px 9px; border: 1px solid #e5e7eb; border-radius: 6px; background: #f9fafb; transition: all .15s; }
.orc-radio-group label:has(input:checked) { border-color: #1D9E75; background: #ecfdf5; color: #0F6E56; font-weight: 500; }
.orc-radio-group input[type=radio] { display: none; }

/* Design desc */
.orc-design-desc { display: none; font-size: 11px; color: #6b7280; margin-top: .35rem; padding: .3rem .6rem; background: #f9fafb; border-radius: 6px; border-left: 3px solid #1D9E75; line-height: 1.35; }

/* Check rows */
.orc-check-row { display: flex; align-items: center; justify-content: space-between; padding: 5px 0; border-bottom: 1px solid #f3f4f6; }
.orc-check-row:last-of-type { border-bottom: none; }
.orc-check-row label { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #374151; cursor: pointer; flex: 1; }
.orc-check-row label small { font-size: 11px; color: #9ca3af; margin-left: 4px; }
.orc-check-row input[type=checkbox] { width: 15px; height: 15px; accent-color: #1D9E75; cursor: pointer; }

/* Qty rows */
.orc-qty-row { display: flex; align-items: center; justify-content: space-between; padding: 5px 0; border-bottom: 1px solid #f3f4f6; }
.orc-qty-row:last-child { border-bottom: none; }
.orc-qty-label { font-size: 13px; color: #374151; flex: 1; }
.orc-qty-label small { display: block; font-size: 11px; color: #9ca3af; }
.orc-price { font-size: 12px; color: #6b7280; white-space: nowrap; margin-left: 8px; }

/* Qty controls */
.orc-qty-ctrl { display: flex; align-items: center; gap: 6px; }
.orc-qty-ctrl button { width: 24px; height: 24px; border: 1px solid #d1d5db; border-radius: 6px; background: #f9fafb; color: #374151; cursor: pointer; font-size: 14px; font-weight: 600; display: flex; align-items: center; justify-content: center; transition: background .1s; }
.orc-qty-ctrl button:hover { background: #e5e7eb; }
.orc-qty-ctrl span { font-size: 13px; min-width: 22px; text-align: center; color: #374151; }
.orc-qty-inline { display: inline-flex; align-items: center; gap: 5px; }
.orc-qty-inline button { width: 22px; height: 22px; border: 1px solid #d1d5db; border-radius: 5px; background: #f9fafb; color: #374151; cursor: pointer; font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.orc-qty-inline span { font-size: 12px; min-width: 18px; text-align: center; }

/* Páginas */
.orc-page-item { display: grid; grid-template-columns: minmax(160px, 1.15fr) minmax(270px, 1.45fr) minmax(145px, auto); align-items: center; gap: 8px; border: 1px solid #e5e7eb; border-radius: 8px; padding: .45rem .6rem; margin-bottom: .4rem; background: #f9fafb; }
.orc-page-header { display: flex; align-items: center; gap: 6px; min-width: 0; }
.orc-page-header input[type=text] { flex: 1; min-width: 0; font-size: 13px; padding: 4px 7px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; color: #374151; }
.orc-page-del { width: 24px; height: 24px; border: 1px solid #d1d5db; border-radius: 6px; background: transparent; color: #9ca3af; cursor: pointer; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.orc-page-del:hover { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }
.orc-page-row { display: flex; align-items: center; gap: 7px; margin-top: 0; min-width: 0; }
.orc-page-row .orc-radio-group { margin-top: 0; flex-wrap: nowrap; }
.orc-page-row .orc-price { margin-left: 2px; }
.orc-page-row-label { font-size: 11px; color: #9ca3af; min-width: auto; white-space: nowrap; }
.orc-add-btn { width: 100%; padding: 6px 8px; border: 1px dashed #d1d5db; border-radius: 8px; background: transparent; color: #6b7280; cursor: pointer; font-size: 13px; margin-top: .15rem; transition: all .15s; }
.orc-add-btn:hover { background: #f3f4f6; border-color: #9ca3af; }

/* Nota e aviso */
.orc-note { font-size: 11px; color: #9ca3af; background: #f9fafb; border-radius: 6px; padding: .35rem .6rem; margin-top: .35rem; line-height: 1.35; }
.orc-aviso { display: none; background: #fffbeb; border: 1px solid #fcd34d; border-radius: 6px; padding: .45rem .7rem; font-size: 12px; color: #78350f; margin-top: .35rem; line-height: 1.35; }

/* Tradução */
.orc-trad-linguas { display: none; align-items: center; gap: 8px; margin-top: .35rem; padding: .35rem .6rem; background: #f9fafb; border-radius: 6px; font-size: 12px; color: #6b7280; }
.orc-wpml-note { display: none; font-size: 11px; color: #1e40af; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 6px; padding: .3rem .6rem; margin-top: .3rem; }

/* Totais */
.orc-totals { margin-top: .7rem; }
.orc-phase { border-radius: 8px; padding: .65rem .9rem; margin-bottom: .4rem; }
.orc-phase-1 { background: #f0fdf4; border: 1px solid #bbf7d0; }
.orc-phase-2 { background: #eff6ff; border: 1px solid #bfdbfe; }
.orc-phase-3 { background: #fff7ed; border: 1px solid #fed7aa; }
.orc-phase-title { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .35rem; }
.orc-phase-1 .orc-phase-title { color: #15803d; }
.orc-phase-2 .orc-phase-title { color: #1d4ed8; }
.orc-phase-3 .orc-phase-title { color: #c2410c; }
.orc-phase-title small { font-weight: 400; font-size: 10px; text-transform: none; letter-spacing: 0; }
.orc-phase-line { display: flex; justify-content: space-between; font-size: 12px; color: #6b7280; padding: 2px 0; }
.orc-phase-line.orc-desconto { color: #dc2626; font-style: italic; }
.orc-phase-line.orc-empty { color: #d1d5db; }
.orc-phase-total { display: flex; justify-content: space-between; font-size: 14px; font-weight: 600; padding-top: 6px; margin-top: 4px; border-top: 1px solid rgba(0,0,0,.08); }
.orc-phase-1 .orc-phase-total { color: #15803d; }
.orc-phase-2 .orc-phase-total { color: #1d4ed8; }
.orc-phase-3 .orc-phase-total { color: #c2410c; }

/* Grand total */
.orc-grand { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: .75rem .9rem; margin-top: .4rem; }
.orc-grand-line { display: flex; justify-content: space-between; font-size: 12px; color: #6b7280; padding: 2px 0; }
.orc-grand-main { display: flex; justify-content: space-between; align-items: baseline; margin-top: 8px; padding-top: 8px; border-top: 1px solid #e5e7eb; }
.orc-grand-main span:first-child { font-size: 14px; font-weight: 500; color: #111827; }
.orc-grand-main span:last-child  { font-size: 26px; font-weight: 700; color: #111827; }

/* Botões */
.orc-btn-row { display: flex; gap: .5rem; margin-top: .55rem; }
.orc-btn-primary   { flex: 1; padding: 8px 14px; border: none; border-radius: 8px; background: #1D9E75; color: #fff; cursor: pointer; font-size: 13px; font-weight: 500; transition: background .15s; }
.orc-btn-primary:hover { background: #16836200; background: #158a63; }
.orc-btn-secondary { flex: 1; padding: 8px 14px; border: 1px solid #d1d5db; border-radius: 8px; background: transparent; color: #374151; cursor: pointer; font-size: 13px; transition: background .15s; }
.orc-btn-secondary:hover { background: #f3f4f6; }

/* Modal */
.orc-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 99999; display: flex; align-items: center; justify-content: center; }
.orc-modal { background: #fff; border-radius: 12px; padding: 1.5rem; width: 340px; max-width: 92vw; box-shadow: 0 20px 60px rgba(0,0,0,.2); }
.orc-modal h3 { font-size: 15px; font-weight: 600; color: #111827; margin: 0 0 1rem; }
.orc-modal input { width: 100%; font-size: 13px; padding: 7px 10px; border: 1px solid #d1d5db; border-radius: 7px; background: #f9fafb; color: #374151; margin-bottom: .55rem; }
.orc-modal-btns { display: flex; gap: .5rem; margin-top: .5rem; }
.orc-modal-btns button { flex: 1; }
#orc-modal-msg { font-size: 12px; color: #15803d; margin-top: .5rem; min-height: 18px; text-align: center; }

@media (max-width: 760px) {
  #orc-simulador { max-width: 100%; }
  .orc-card { padding: .75rem; }
  .orc-page-item { grid-template-columns: 1fr; align-items: stretch; }
  .orc-page-row { flex-wrap: wrap; }
  .orc-page-row .orc-radio-group { flex-wrap: wrap; }
}
