/* EPC v1.0.2
   Design neutro e isolado (não depende do Global Kit do Elementor).
   Para ajustar cores rápido: altere as CSS variables dentro de .epc-wrap.
*/
.epc-wrap{
  --epc-bg: #ffffff;
  --epc-surface: #f6f7f8;
  --epc-text: #111827;
  --epc-muted: rgba(17,24,39,.65);
  --epc-muted2: rgba(17,24,39,.55);
  --epc-border: rgba(17,24,39,.14);
  --epc-border2: rgba(17,24,39,.08);
  --epc-shadow: 0 12px 30px rgba(0,0,0,.06);
  --epc-radius: 18px;
  --epc-radius-sm: 12px;

  --epc-accent: #111827;
  --epc-accentText: #ffffff;

  /* botões não selecionados / hover */
  --epc-btn-bg: #f3f4f6;
  --epc-btn-hover: #e5e7eb;
  --epc-btn-text: #111827;

  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--epc-text);
}

/* Reset leve para evitar herança do tema/Elementor */
.epc-wrap, .epc-wrap *{ box-sizing: border-box; }
.epc-wrap button, .epc-wrap input{ font: inherit; }
.epc-wrap button{
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  color: inherit;
  text-decoration: none;
}
.epc-wrap input{
  -webkit-appearance: none;
  appearance: none;
  background: var(--epc-bg);
  border: 1px solid var(--epc-border);
  border-radius: var(--epc-radius-sm);
  color: var(--epc-text);
}
.epc-wrap input::placeholder{ color: rgba(17,24,39,.45); }

/* Container */
.epc-card{
  max-width: 1100px;
  margin: 20px auto;
  background: var(--epc-bg);
  border: 1px solid var(--epc-border2);
  border-radius: var(--epc-radius);
  box-shadow: var(--epc-shadow);
  overflow: hidden;
}

.epc-header{
  display:flex;
  gap:16px;
  justify-content:space-between;
  align-items:flex-start;
  padding: 18px 18px 14px 18px;
  background: linear-gradient(180deg, rgba(0,0,0,.025), rgba(0,0,0,0));
}

.epc-title{ font-size: 18px; font-weight: 750; letter-spacing: .2px; }
.epc-subtitle{ font-size: 13px; color: var(--epc-muted); margin-top: 4px; max-width: 760px; }

.epc-grid{
  display:grid;
  grid-template-columns: 420px 1fr;
  gap: 0;
}
.epc-panel{
  padding: 16px 18px;
  border-top: 1px solid var(--epc-border2);
}
.epc-panel-right{
  border-left: 1px solid var(--epc-border2);
  background: rgba(0,0,0,.012);
}
@media (max-width: 980px){
  .epc-grid{ grid-template-columns: 1fr; }
  .epc-panel-right{ border-left: none; }
}

.epc-label{
  display:block;
  font-size: 12px;
  font-weight: 700;
  color: var(--epc-muted);
  margin: 12px 0 8px;
}

.epc-seg{ display:flex; gap: 8px; flex-wrap: wrap; }
.epc-seg-3 .epc-seg-btn{ flex: 1 1 0; min-width: 120px; }

/* Força visual dos botões para não sumirem no fundo + neutraliza hover do tema */
.epc-wrap .epc-seg-btn{
  flex: 1 1 160px;
  border: 1px solid var(--epc-border) !important;
  background: var(--epc-btn-bg) !important;
  color: var(--epc-btn-text) !important;
  padding: 10px 12px !important;
  border-radius: var(--epc-radius-sm) !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: transform .04s ease, background .15s ease, border-color .15s ease, color .15s ease !important;
  text-align: center !important;
  line-height: 1.2 !important;
  min-height: 44px !important;
}
.epc-wrap .epc-seg-btn:hover{
  background: var(--epc-btn-hover) !important;
  color: var(--epc-text) !important;
}
.epc-wrap .epc-seg-btn.is-active{
  background: var(--epc-accent) !important;
  color: var(--epc-accentText) !important;
  border-color: var(--epc-accent) !important;
}
.epc-wrap .epc-seg-btn:focus-visible{
  outline: 2px solid rgba(17,24,39,.25);
  outline-offset: 2px;
}

.epc-tabs{ display:flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }

.epc-wrap .epc-tab{
  flex: 1 1 160px;
  border: 1px solid var(--epc-border) !important;
  background: var(--epc-btn-bg) !important;
  color: var(--epc-btn-text) !important;
  padding: 10px 12px !important;
  border-radius: var(--epc-radius-sm) !important;
  font-size: 13px !important;
  cursor: pointer !important;
  text-align: center !important;
  min-height: 44px !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease !important;
}
.epc-wrap .epc-tab:hover{
  background: var(--epc-btn-hover) !important;
  color: var(--epc-text) !important;
}
.epc-wrap .epc-tab.is-active{
  background: var(--epc-bg) !important;
  border-color: rgba(17,24,39,.20) !important;
  font-weight: 800 !important;
}
.epc-wrap .epc-tab:focus-visible{
  outline: 2px solid rgba(17,24,39,.25);
  outline-offset: 2px;
}

.epc-tab-body{ display:none; margin-top: 10px; }
.epc-tab-body.is-active{ display:block; }

/* Investimento (campo com máscara) */
.epc-money{
  width: 100%;
  padding: 12px 12px;
  border-radius: var(--epc-radius-sm);
  border: 1px solid var(--epc-border);
  font-size: 14px;
}

.epc-meta-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 520px){ .epc-meta-grid{ grid-template-columns: 1fr; } }
.epc-meta-grid input{
  width: 100%;
  padding: 10px 10px;
  border-radius: var(--epc-radius-sm);
  border: 1px solid var(--epc-border);
  font-size: 14px;
}

.epc-help{ font-size: 12px; color: var(--epc-muted2); margin-top: 10px; line-height: 1.35; }

.epc-kpis{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-top: 14px; }
@media (max-width: 520px){ .epc-kpis{ grid-template-columns: 1fr; } }

.epc-kpi{
  background: var(--epc-bg);
  border: 1px solid var(--epc-border2);
  border-radius: 14px;
  padding: 10px 12px;
}
.epc-kpi-label{ font-size: 12px; color: var(--epc-muted2); }
.epc-kpi-value{ font-size: 15px; font-weight: 800; margin-top: 6px; }
.epc-disabled{ opacity: .55; pointer-events: none; }

.epc-results{ display:grid; grid-template-columns: 1fr; gap: 12px; }
.epc-result-card, .epc-chart-card{
  background: var(--epc-bg);
  border: 1px solid var(--epc-border2);
  border-radius: 16px;
  padding: 14px 14px;
}

.epc-result-title{ font-size: 13px; font-weight: 900; margin-bottom: 10px; }
.epc-result-row{
  display:flex; justify-content:space-between; gap: 10px;
  padding: 10px 10px; border-radius: 12px;
  background: rgba(17,24,39,.035);
  margin-bottom: 8px;
}
.epc-result-label{ font-size: 13px; color: var(--epc-muted); }
.epc-result-value{ font-size: 16px; font-weight: 900; }

.epc-note{ font-size: 12px; color: var(--epc-muted2); margin-top: 10px; line-height: 1.35; }
.epc-out-leads-row.is-hidden{ display:none; }

/* Chart: evita "altura infinita" dando um wrapper com altura fixa e canvas 100% */
.epc-chart-wrap{
  position: relative;
  width: 100%;
  min-height: 260px;
}
.epc-chart{
  display:block !important;
  width: 100% !important;
  height: 100% !important;
}
