/* ===== Calculadora de CFTV — estilos específicos =====
   Usa as variáveis do style.min.css do site (--primary, --navy, --border...).
   As classes .calc-* seguem o mesmo padrão visual da calculadora de nobreak,
   para as duas ferramentas ficarem com a mesma cara. */

.calc-wrap{padding:34px 0 70px}
.calc-wrap [hidden]{display:none!important}

/* Faixa de apresentação logo abaixo do hero */
.cftv-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:-56px 0 30px;position:relative;z-index:3}
.cftv-intro-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:0 10px 26px rgba(16,44,76,.07);display:flex;gap:12px;align-items:flex-start}
.cftv-intro-item i{width:40px;height:40px;border-radius:12px;background:#fff1e8;color:var(--primary-text);display:grid;place-items:center;flex:0 0 auto;font-size:1.05rem}
.cftv-intro-item strong{display:block;color:var(--navy);font-size:.95rem;line-height:1.3}
.cftv-intro-item span{display:block;color:var(--muted);font-size:.84rem;line-height:1.45;margin-top:2px}

/* Etapas */
.calc-etapa{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;margin-bottom:22px;box-shadow:0 8px 22px rgba(16,44,76,.05)}
.calc-etapa-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.calc-etapa-num{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem}
.calc-etapa-head h2{margin:0;font-size:1.15rem;color:var(--navy)}
.calc-etapa-head p{margin:4px 0 0;color:var(--muted);font-size:.92rem}
.calc-grupo{margin-top:20px}
.calc-grupo:first-of-type{margin-top:0}
.calc-rotulo-grupo{display:block;font-weight:800;font-size:.85rem;color:var(--navy);margin-bottom:8px}
.calc-ajuda{display:block;color:var(--muted);font-size:.8rem;margin-top:7px;line-height:1.45}

/* Locais pré-definidos */
.cftv-locais{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.cftv-local{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:2px solid var(--border);background:#fff;border-radius:14px;padding:12px 12px 11px;cursor:pointer;text-align:left;color:var(--navy);transition:.18s}
.cftv-local i{width:32px;height:32px;border-radius:10px;background:#fff1e8;color:var(--primary-text);display:grid;place-items:center;font-size:.95rem}
.cftv-local strong{font-size:.88rem;line-height:1.25}
.cftv-local small{color:var(--muted);font-size:.74rem;font-weight:600;line-height:1.3}
.cftv-local:hover{border-color:var(--primary)}
.cftv-local.is-on{border-color:var(--primary);background:#fff9f5;box-shadow:0 8px 20px rgba(244,125,43,.14)}

/* Objetivo (DORI) */
.cftv-objetivos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.cftv-obj{border:2px solid var(--border);background:#fff;border-radius:14px;padding:12px 14px;cursor:pointer;text-align:left;color:var(--navy);transition:.18s}
.cftv-obj strong{display:flex;align-items:center;gap:8px;font-size:.92rem}
.cftv-obj strong i{color:var(--primary-text)}
.cftv-obj span{display:block;color:var(--muted);font-size:.78rem;line-height:1.4;margin-top:4px}
.cftv-obj:hover{border-color:var(--primary)}
.cftv-obj.is-on{border-color:var(--primary);background:#fff9f5;box-shadow:0 8px 20px rgba(244,125,43,.14)}

/* Chips */
.calc-chips{display:flex;flex-wrap:wrap;gap:10px}
.calc-chip{border:2px solid var(--border);background:#fff;border-radius:999px;padding:9px 18px;font-weight:800;color:var(--navy);cursor:pointer;font-size:.9rem;display:inline-flex;align-items:center;gap:8px}
.calc-chip:hover{border-color:var(--primary)}
.calc-chip.is-on{background:var(--primary);border-color:var(--primary);color:#fff}

.calc-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.calc-campo label{display:block;font-weight:800;font-size:.85rem;color:var(--navy);margin-bottom:6px}
.calc-campo input,.calc-campo select{width:100%;border:1px solid var(--border);border-radius:11px;padding:10px 12px;background:#fff;color:var(--ink)}
.calc-campo input:focus,.calc-campo select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(244,125,43,.12)}
.calc-campo small{display:block;color:var(--muted);font-size:.78rem;margin-top:5px;line-height:1.45}
.cftv-unidade{position:relative}
.cftv-unidade input{padding-right:42px}
.cftv-unidade::after{content:attr(data-unidade);position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:800;font-size:.85rem;pointer-events:none}

.cftv-dica-angulo{margin-top:12px;padding:10px 14px;border-radius:12px;background:var(--light);border:1px solid var(--border);color:var(--muted);font-size:.86rem;line-height:1.5}
.cftv-dica-angulo strong{color:var(--navy)}

.cftv-linhas-sim{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}

.cftv-mais{margin-top:20px;border:1px solid var(--border);border-radius:14px;background:var(--light)}
.cftv-mais summary{cursor:pointer;padding:12px 16px;font-weight:800;color:var(--navy);font-size:.9rem;list-style:none;display:flex;align-items:center;gap:8px}
.cftv-mais summary::-webkit-details-marker{display:none}
.cftv-mais summary i{transition:.2s;color:var(--muted)}
.cftv-mais[open] summary i{transform:rotate(90deg)}
.cftv-mais-corpo{padding:4px 16px 16px}

.calc-erro{margin:14px 0 0;padding:10px 14px;border-radius:12px;background:#fdf1ef;border:1px solid #f0b6ae;color:#7a2415;font-size:.9rem;font-weight:700}

/* Barra de ação */
.calc-barra{position:sticky;bottom:0;z-index:60;background:var(--navy);color:#fff;border-radius:16px;padding:14px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:0 -8px 28px rgba(16,44,76,.18);margin-top:18px}
.calc-barra-dado{display:flex;flex-direction:column;line-height:1.2}
.calc-barra-dado strong{font-size:1.15rem}
.calc-barra-dado span{font-size:.75rem;color:#c6d6e6;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.calc-barra-acoes{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.btn-ghost{background:transparent;border:2px solid rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}

/* Resultado */
.calc-result{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:30px;margin-top:26px;box-shadow:var(--shadow);scroll-margin-top:96px}
.calc-result-head h2{margin:6px 0 8px;color:var(--navy);font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.3}
.calc-result-head h2 strong{color:var(--primary-text)}
.calc-result-head p{margin:0;color:var(--muted)}

.calc-result-head p.cftv-alerta-head{margin-top:10px;padding:10px 14px;border-radius:12px;background:#fff8ef;border:1px solid #f3c988;color:#7a4a04;font-weight:700;font-size:.9rem}
.calc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:22px 0}
.calc-kpi{background:var(--light);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:2px}
.calc-kpi-icon{width:34px;height:34px;border-radius:10px;background:#fff1e8;color:var(--primary-text);display:grid;place-items:center;margin-bottom:6px}
.calc-kpi strong{font-size:1.3rem;color:var(--navy);line-height:1.2}
.calc-kpi span{font-size:.82rem;color:var(--muted);font-weight:700}

.calc-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:18px}
.calc-box{border:1px solid var(--border);border-radius:14px;padding:20px}
.calc-box h3{margin:0 0 10px;font-size:1rem;color:var(--navy);display:flex;align-items:center;gap:8px}
.calc-box h3 i{color:var(--primary-text)}
.calc-box p{margin:0 0 8px;font-size:.93rem}
.calc-box-bom{border-color:#bfe6cd;background:#f3fbf6}
.calc-box-alerta{border-color:#f3c988;background:#fff8ef}
.calc-box-destaque{border-color:#c7dbf0;background:#f5f9fd}
.calc-box-larga{grid-column:1/-1}
.calc-lista{margin:6px 0 0;padding-left:20px}
.calc-lista li{margin-bottom:5px;font-size:.92rem;line-height:1.5}
.calc-nota{color:var(--muted);font-size:.83rem;line-height:1.5;margin-top:10px!important}
.calc-box a:not(.btn){color:var(--blue);text-decoration:underline;font-weight:700}

.calc-avisos{border:1px solid #f3c988;background:#fff8ef;border-radius:14px;padding:20px;margin-top:18px}
.calc-avisos h3{margin:0 0 10px;font-size:1rem;color:#7a4a04;display:flex;align-items:center;gap:8px}
.calc-avisos ul{margin:0;padding-left:20px}
.calc-avisos li{margin-bottom:7px;font-size:.92rem;line-height:1.55}

.calc-tabela-wrap{margin-top:8px;overflow-x:auto}
.calc-tabela{width:100%;border-collapse:collapse;font-size:.9rem;min-width:360px}
.calc-tabela th,.calc-tabela td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left}
.calc-tabela thead th{background:var(--light);color:var(--navy);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.calc-tabela tfoot th{background:var(--light);color:var(--navy)}
.calc-tabela .num{text-align:right;white-space:nowrap}
.calc-tabela-compacta{min-width:0}
.calc-result-grid>*{min-width:0}
.calc-tabela tr.linha-atual td{background:#eaf1f9;font-weight:800}
.calc-tabela tr.linha-abaixo td{color:#a52d17}

.cftv-comparativo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.cftv-comparativo>div{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#fff}
.cftv-comparativo>div.is-on{border-color:var(--primary);background:#fff9f5}
.cftv-comparativo h4{margin:0 0 6px;font-size:.9rem;color:var(--navy)}
.cftv-comparativo ul{margin:0;padding-left:18px}
.cftv-comparativo li{font-size:.84rem;margin-bottom:3px;line-height:1.45}
.cftv-selo{display:inline-block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;background:var(--primary);color:#fff;margin-left:6px;vertical-align:middle}

/* Chamada para orçamento */
.cftv-cta-orcamento{margin-top:22px;display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-items:center;background:linear-gradient(135deg,var(--navy),#154f80);color:#fff;border-radius:var(--radius);padding:26px 28px}
.cftv-cta-orcamento .eyebrow{color:#ffb27d}
.cftv-cta-orcamento h3{margin:6px 0 8px;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.3;color:#fff}
.cftv-cta-orcamento p{margin:0 0 10px;color:#d8e6f2;font-size:.93rem}
.cftv-cta-orcamento ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.cftv-cta-orcamento li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:#eef4fa;line-height:1.45}
.cftv-cta-orcamento li i{color:#ffb27d;width:18px;text-align:center;margin-top:3px;flex:0 0 auto}
.cftv-cta-acao{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.cftv-btn-orcamento{justify-content:center;text-align:center;font-size:1rem;padding:15px 22px}
.cftv-cta-acao small{color:#c6d6e6;font-size:.82rem;text-align:center;line-height:1.45}
.cftv-cta-print{display:none}
@media (max-width:760px){.cftv-cta-orcamento{grid-template-columns:1fr;padding:22px 18px}}
@media print{
  .cftv-cta-orcamento{display:block;background:#fff!important;color:#17212b;border:2px solid #f47d2b;padding:14px 16px;break-inside:avoid}
  .cftv-cta-orcamento h3{color:#102c4c}.cftv-cta-orcamento p,.cftv-cta-orcamento li{color:#17212b}
  .cftv-cta-orcamento li i,.cftv-cta-orcamento .eyebrow{color:#a5460d}
  .cftv-cta-print{display:block;margin:10px 0 0!important;font-weight:800;color:#102c4c!important}
}

/* Campo de visão */
.cftv-fov{margin:4px 0 0}
.cftv-fov svg{width:100%;height:auto;max-height:300px;display:block;background:var(--light);border:1px solid var(--border);border-radius:12px}
.cftv-legenda{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px}
.cftv-legenda li{display:flex;align-items:center;gap:7px;font-size:.86rem;font-weight:700;color:var(--navy)}
.cftv-legenda span{width:14px;height:14px;border-radius:4px;flex:0 0 auto;opacity:.8}
@media print{.cftv-fov svg,.cftv-legenda span{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.calc-acoes{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}
.calc-acoes .btn-outline{border:2px solid var(--border);color:var(--navy);background:#fff}
.calc-acoes .btn-outline:hover{border-color:var(--primary);color:var(--primary-text)}
.calc-acao-msg{font-size:.85rem;font-weight:700;color:var(--primary-text)}
.calc-disclaimer{margin:16px 0 0;font-size:.8rem;color:var(--muted);line-height:1.55}

/* Cadastro para entrega do resultado (mesmo visual da calculadora de nobreak) */
.calc-gate-nota{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:var(--light);border:1px solid var(--border);color:var(--muted);font-size:.86rem;line-height:1.55;display:flex;gap:8px;align-items:flex-start}
.calc-gate-nota i{color:var(--primary-text);margin-top:3px;flex:0 0 auto}

/* Modal de cadastro para entrega do resultado */
.calc-gate{position:fixed;inset:0;z-index:200;background:rgba(16,44,76,.62);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
body.calc-modal-aberto{overflow:hidden}
.calc-gate-caixa{position:relative;background:#fff;border-radius:var(--radius);padding:28px;max-width:620px;width:100%;box-shadow:0 24px 60px rgba(16,44,76,.35);margin:auto}
.calc-gate-caixa h2{margin:6px 0 8px;font-size:1.35rem;color:var(--navy)}
.calc-gate-sub{margin:0 0 18px;color:var(--muted);font-size:.93rem;line-height:1.55}
.calc-gate-fechar{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1}
.calc-gate-fechar:hover{background:var(--light);color:var(--navy)}
.calc-gate-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.calc-gate-opcional{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}
.calc-gate-erro{display:block;color:#a52d17;font-size:.8rem;font-weight:700;margin-top:5px;min-height:1px}
.calc-gate-consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.87rem;line-height:1.55;color:var(--ink)}
.calc-gate-consent input{margin-top:3px;width:17px;height:17px;flex:0 0 auto;accent-color:var(--primary)}
.calc-gate-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.calc-gate-acoes .btn-outline{border:2px solid var(--border);color:var(--navy);background:#fff}
.calc-gate-status{margin:12px 0 0;font-size:.88rem;font-weight:700;color:var(--primary-text);min-height:1px}
.calc-gate-status.is-erro{color:#a52d17}
.calc-gate-rodape{margin:14px 0 0;font-size:.78rem;color:var(--muted);line-height:1.55}
@media (max-width:560px){
  .calc-gate{padding:0;align-items:flex-end}
  .calc-gate-caixa{border-radius:18px 18px 0 0;padding:22px 18px 26px;max-height:94vh;overflow-y:auto}
}

.calc-print-head{display:none}

@media (max-width:760px){
  .cftv-intro{margin-top:-28px}
  .calc-etapa{padding:20px 16px}
  .cftv-locais{grid-template-columns:repeat(2,1fr)}
  .cftv-objetivos{grid-template-columns:1fr}
  .cftv-comparativo{grid-template-columns:1fr}
  .calc-barra{border-radius:14px;padding:12px 14px;gap:12px}
  .calc-barra-acoes{margin-left:0;width:100%}
  .calc-barra-acoes .btn{flex:1;justify-content:center}
  .calc-result{padding:20px 16px}
  .calc-result-grid{grid-template-columns:1fr}
  .calc-kpis{grid-template-columns:1fr 1fr;gap:10px}
  .calc-kpi{padding:12px}
  .calc-kpi strong{font-size:1.08rem}
  .calc-kpi:last-child:nth-child(odd){grid-column:1/-1}
  .calc-tabela th,.calc-tabela td{padding:7px 8px;font-size:.84rem}
}

/* ===== Impressão / PDF ===== */
@media print{
  .topbar,.site-header,.footer,.whatsapp-float,.mobile-action-bar,.cookie-banner,
  .page-hero,.cftv-intro,.calc-etapa,.calc-barra,.no-print,.conversion-strip,
  main > section{display:none!important}
  body{background:#fff;font-size:10.5pt}
  body:not(.tem-resultado) .calc-print-head{display:none!important}
  .calc-print-head{display:flex!important;align-items:center;justify-content:space-between;gap:20px;border-bottom:3px solid #f47d2b;padding-bottom:12px;margin-bottom:18px}
  .calc-print-head img{width:170px;height:auto}
  .calc-print-head div{text-align:right;font-size:9.5pt;line-height:1.5;color:#333}
  .calc-wrap{padding:0}
  .calc-result{box-shadow:none;border:0;padding:0;margin:0}
  .calc-result-grid{display:block}
  .calc-box,.calc-avisos{break-inside:avoid;page-break-inside:avoid;margin-bottom:12px}
  .calc-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
  .calc-kpi,.calc-box-bom,.calc-box-alerta,.calc-box-destaque,.calc-avisos{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .calc-tabela{min-width:0}
  .cftv-comparativo{grid-template-columns:1fr 1fr}
  a[href]:after{content:""}
}
