/* Calculadora de andaimes · DRL (2026-11-04) */
.ca-hero{background:var(--navy);color:#fff;padding:56px 0 64px}
.ca-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3rem);margin:14px 0 12px}
.ca-hero .lede{color:#d5ddef;max-width:720px}
.ca-sec{padding:40px 0 56px}
.ca{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:start}
.ca-form{display:flex;flex-direction:column;gap:18px;min-width:0}
.ca-step{border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:20px;margin:0;min-width:0}
.ca-step legend{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--navy);font-size:1.05rem;padding:0 6px}
.ca-step legend b{width:28px;height:28px;border-radius:50%;background:var(--gold);color:var(--gold-ink);display:grid;place-items:center;font-size:.9rem}
.ca-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ca-opt{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;background:#fff}
.ca-opt:hover{border-color:#c7cfdf;transform:translateY(-1px)}
.ca-opt input{position:absolute;opacity:0;pointer-events:none}
.ca-opt-ic{width:34px;height:34px;border-radius:9px;background:var(--paper-alt);color:var(--navy);display:grid;place-items:center}
.ca-opt-ic svg{width:20px;height:20px}
.ca-opt b{font-size:.9rem;color:var(--ink);line-height:1.25}
.ca-opt small{font-size:.74rem;color:var(--muted);line-height:1.35}
.ca-opt:has(input:checked){border-color:var(--navy);box-shadow:0 0 0 1px var(--navy),var(--shadow-sm)}
.ca-opt:has(input:checked) .ca-opt-ic{background:var(--navy);color:#fff}
.ca-opt:has(input:focus-visible),.ca-pill:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
.ca-campo{display:flex;flex-direction:column;gap:6px;margin:14px 0 0}
.ca-campo>label,.ca-rot{font-weight:600;font-size:.9rem;color:var(--ink)}
.ca-campo small,.ca-nota{font-size:.78rem;color:var(--muted);line-height:1.45;margin:0}
.ca-campo select,.ca-campo textarea,.ca-campo>input[type=text]{width:100%;min-height:46px;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;font-size:16px;background:#fff;color:var(--ink)}
.ca-slider{display:flex;align-items:center;gap:14px}
.ca-slider input[type=range]{flex:1;accent-color:var(--navy);height:28px}
.ca-num{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:0 10px;min-height:46px;width:118px;flex:none}
.ca-num input{border:0;outline:0;width:100%;font:inherit;font-size:16px;font-weight:600;color:var(--ink);background:none;padding:8px 0}
.ca-num i{font-style:normal;color:var(--muted);font-size:.85rem}
.ca-num:focus-within,.ca-campo select:focus,.ca-campo textarea:focus,.ca-campo>input:focus{border-color:var(--navy);outline:none}
.ca-num:has(input:disabled){opacity:.5}
.ca-check{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;cursor:pointer}
.ca-check input{width:18px;height:18px;accent-color:var(--navy)}
.ca-check.sm{font-size:.8rem;font-weight:500}
.ca-pills{display:flex;flex-wrap:wrap;gap:8px}
.ca-pill{cursor:pointer}
.ca-pill input{position:absolute;opacity:0;pointer-events:none}
.ca-pill span{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1.5px solid var(--line);border-radius:999px;font-size:.85rem;background:#fff;transition:.15s}
.ca-pill input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.ca-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ca-ajuda{margin-top:12px;border:1px dashed #c7cfdf;border-radius:var(--radius-sm);padding:10px 14px;background:var(--paper)}
.ca-ajuda summary{cursor:pointer;font-weight:600;color:var(--navy)}
.ca-aj p{margin:12px 0 6px;font-size:.88rem;font-weight:600}
.ca-aj .ca-aj-res{font-weight:400;background:#fff;border-left:3px solid var(--gold);padding:10px 12px;border-radius:6px}
/* resultados */
.ca-res{position:sticky;top:90px;display:flex;flex-direction:column;gap:14px;min-width:0}
.ca-vis{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.ca-vis-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;border-bottom:1px solid var(--line);background:var(--paper)}
.ca-vis-bar button{min-height:36px;min-width:36px;padding:6px 12px;border:1px solid var(--line);background:#fff;border-radius:8px;font:inherit;font-size:.82rem;font-weight:600;color:var(--ink);cursor:pointer}
.ca-vis-bar button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.ca-vis-bar .sp{flex:1}
#ca-svg{display:block;width:100%;height:auto;background:linear-gradient(#fbfcfe,#f2f5fa)}
#ca-svg .chao{stroke:#8993a6;stroke-width:2}
#ca-svg .jan{fill:#cfe0f5;stroke:#b5c3d8}
#ca-svg .mod rect,#ca-svg .mod line{stroke:#1f4fa3;stroke-width:2;fill:rgba(245,166,35,.08)}
#ca-svg .mod .diag{stroke:#f5a623;stroke-width:1.5}
#ca-svg .mod .lado{fill:rgba(31,79,163,.12);stroke:#1f4fa3;stroke-width:1.2}
#ca-svg .mod{animation:ca-in .35s ease both;animation-delay:var(--d)}
@keyframes ca-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
#ca-svg .cota line{stroke:#5b6478;stroke-width:1}
#ca-svg .cota text,#ca-svg .plat-t{font:600 12px Poppins,system-ui,sans-serif;fill:#12203d}
#ca-svg .plat{stroke:#d6890f;stroke-width:2;stroke-dasharray:6 4}
#ca-svg .selo{font:500 11px Poppins,system-ui,sans-serif;fill:#8993a6}
#ca-svg .aviso{font:600 14px Poppins,system-ui,sans-serif;fill:#5b6478}
.ca-status{margin:0;padding:10px 14px;border-radius:var(--radius-sm);font-weight:700;font-size:.92rem;background:var(--paper-alt);color:var(--navy)}
.s-geometrica{background:#e7f6ee;color:#17693b}.s-avaliacao{background:#fff4e0;color:#8a5300}.s-catalogo{background:#eef1f7;color:#0f3170}.s-validado{background:#e7f6ee;color:#17693b}
.ca-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ca-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ca-card span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.ca-card b{font-size:1.25rem;color:var(--navy);line-height:1.2;overflow-wrap:anywhere}
.ca-card small{font-size:.74rem;color:var(--muted)}
.ca-card.st{grid-column:span 3}.ca-card.st b{font-size:1rem}
.ca-alertas{background:#fff4e0;border:1px solid #f3d29a;border-radius:var(--radius-sm);padding:12px 14px;font-size:.88rem;color:#5c3800}
.ca-alertas ul{margin:6px 0 0;padding-left:18px}
.ca-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.ca-box h2{font-size:1.05rem;margin:0 0 10px;color:var(--navy)}
.ca-box p{font-size:.9rem;margin:0 0 8px}
.ca-erro{color:#a33;font-weight:600}
.ca-acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ca-acoes .btn{flex:1 1 auto;justify-content:center}
.ca-link{background:none;border:0;padding:6px 4px;font:inherit;font-size:.85rem;font-weight:600;color:var(--navy);text-decoration:underline;cursor:pointer}
.ca-baixo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.ca-baixo .ca-box:first-child:not([hidden]),#ca-cenarios{grid-column:1/-1}
.ca-tab-wrap{overflow-x:auto}
.ca-tab{width:100%;border-collapse:collapse;font-size:.86rem}
.ca-tab th,.ca-tab td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left}
.ca-tab thead th{background:var(--paper-alt);color:var(--navy);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}
.ca-seg ul{margin:0;padding-left:18px;font-size:.88rem}
.ca-texto{max-width:860px}
.ca-texto h2{font-size:1.35rem;margin:28px 0 10px}
.ca-faq{border-bottom:1px solid var(--line);padding:14px 0}
.ca-faq summary{font-weight:600;cursor:pointer;color:var(--navy)}
.ca-faq p{margin:10px 0 0}
.ca-relatorio{display:none}
/* destaque na home/serviço */
.ca-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between;background:var(--paper-alt);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.ca-cta h3{margin:0 0 4px}.ca-cta p{margin:0;color:var(--muted)}
@media (max-width:1000px){.ca{grid-template-columns:minmax(0,1fr)}.ca-res{position:static}.ca-baixo{grid-template-columns:1fr}}
@media (max-width:640px){
  .ca-grid3{grid-template-columns:1fr 1fr}.ca-duo{grid-template-columns:1fr}.ca-cards{grid-template-columns:1fr 1fr}.ca-card.st{grid-column:span 2}
  .ca-step{padding:16px 14px}.ca-slider{gap:10px}.ca-num{width:104px}
  .ca-acoes .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){#ca-svg .mod{animation:none}.ca-opt{transition:none}}
/* relatório em PDF (impressão) */
@media print{
  body>*:not(main){display:none!important}
  main>*:not(.ca-relatorio){display:none!important}
  .ca-relatorio{display:block!important;font:11pt/1.45 Poppins,Arial,sans-serif;color:#12203d}
  .ca-relatorio header{display:flex;gap:16px;align-items:center;border-bottom:3px solid #f5a623;padding-bottom:10px;margin-bottom:12px}
  .ca-relatorio h1{font-size:18pt;margin:0;color:#0a2a5e}.ca-relatorio header p{margin:2px 0 0;font-size:9pt;color:#5b6478}
  .ca-relatorio h2{font-size:12.5pt;color:#0a2a5e;margin:14px 0 6px;break-after:avoid}
  .ca-relatorio table{width:100%;border-collapse:collapse;font-size:9.5pt}
  .ca-relatorio th,.ca-relatorio td{border:1px solid #d5dbe6;padding:5px 7px;text-align:left;vertical-align:top}
  .ca-relatorio th{width:34%;background:#f1f4f9}
  .ca-relatorio .rel-svg svg{width:100%;max-height:300px;border:1px solid #d5dbe6}
  .ca-relatorio .rel-formulas p,.ca-relatorio .rel-p{font-size:9.5pt;margin:4px 0}
  .ca-relatorio .rel-aviso{border:1px solid #f3d29a;background:#fff8ea;padding:8px;font-size:9pt}
  .ca-relatorio .rel-cta{font-weight:700;color:#0a2a5e}
  @page{margin:14mm}
}
.ca-baixo>*{min-width:0}.ca-res>*{min-width:0}
