/* Estilos modernizados: mobile-first com foco em contraste, tipografia e cards */
:root{
  --brand:#0d6efd;
  --bg:#f7f9fc;
  --text:#212529;
  --muted:#6c757d;
  --radius:14px;
  --shadow-sm:0 6px 14px rgba(0,0,0,.06);
  --shadow-lg:0 18px 34px rgba(13,110,253,.10);
}

body{ background: var(--bg); color: var(--text); padding-top: 68px; }
.ads-placeholder{ background:#f8f9fa; }
main{ line-height:1.6; }

/* Títulos mais vivos */
h1,h2,h3{ color:#111; }
#pageTitle{ font-weight:700; letter-spacing:.2px; }

/* Breadcrumb com contraste suave */
.breadcrumb{ background:transparent; }
.breadcrumb-item a{ text-decoration:none; }

/* Cards e galeria da home */
.calc-card{ border:none; border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:transform .18s ease, box-shadow .18s ease; }
.calc-card:hover, .calc-card:focus{ transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.calc-card .calc-icon{ font-size:1.6rem; }
/* Estado ativo do seletor */
.calc-card.active{ outline:2px solid var(--brand); outline-offset:-2px; box-shadow:0 0 0 4px rgba(13,110,253,.15), var(--shadow-lg); }
.calc-card.active .calc-icon{ filter:saturate(1.3); }

/* Ajustes nos componentes Bootstrap para visual mais polido */
.card{ border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.card-header{ background:#fff; font-weight:600; border-bottom-color:#eef2f7; }
.calc-pane.card .card-body{ padding:1rem 1rem; }
.calc-pane.card form .form-label{ font-weight:500; }
.calc-pane.card .btn-primary{ min-width:8rem; }
.form-control{ border-radius:10px; border-color:#e5eaf0; }
.form-control:focus{ border-color: var(--brand); box-shadow:0 0 0 .25rem rgba(13,110,253,.15); }
.form-check-input:focus{ box-shadow:0 0 0 .25rem rgba(13,110,253,.15); }
.btn-primary{ box-shadow:0 6px 14px rgba(13,110,253,.25); }

/* Accordion (FAQ) com contraste e borda suave */
.accordion .accordion-item{ border:1px solid #e8edf4; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.accordion-button{ background:#fff; font-weight:600; }
.accordion-button:not(.collapsed){ color:var(--brand); background:#eef6ff; }
.accordion-body{ background:#fff; }

/* Passos de uso (como usar) */
.howto-list{ margin:.25rem 0 1rem; }
.howto-list li{ display:flex; align-items:flex-start; gap:.5rem; margin-bottom:.25rem; }
.howto-badge{ flex:0 0 24px; width:24px; height:24px; border-radius:50%; background:#eef6ff; color:var(--brand); display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; }

/* Tabela de resultados com ênfase no total */
#resultadoTabela tfoot th{ font-weight:600; }
.table-secondary th{ font-size:1.05rem; }

/* Consent bar discreta e moderna */
.consent-bar{
  background:rgba(33,37,41,0.92);
  backdrop-filter:blur(6px);
  border-top:1px solid rgba(255,255,255,0.15);
  box-shadow:0 -2px 12px rgba(0,0,0,0.12);
  z-index:1040;
}

/* Rodapé centralizado e legível */
footer{ background:#f8f9fa; }
footer .small{ color:#5f6b77; }
footer a{ color:#4b83da; }
footer a:hover{ color:#1e63d3; }

/* Destaque visual ao alternar entre formulários */
.flash-border{ animation:flashBorder 1.2s ease-in-out; }
@keyframes flashBorder{
  0%{ box-shadow:0 0 0 0 rgba(13,110,253,0.35); }
  50%{ box-shadow:0 0 0 8px rgba(13,110,253,0.20); }
  100%{ box-shadow:0 0 0 0 rgba(13,110,253,0.0); }
}

@media (max-width:576px){
  header .fw-bold{ font-size:.95rem; }
  .card-header{ font-size:1rem; }
  /* Painel de seletores compacto: 2 colunas e menor padding */
  #calcGallery .card-body{ padding:.75rem; }
  #calcGallery .calc-card .h6{ font-size:.95rem; }
  #calcGallery .calc-card .small{ font-size:.8rem; }
  #calcGallery .calc-card .calc-icon{ font-size:1.35rem; }
}