/* ============================================================
   CO.INO — diagnóstico rápido
   ============================================================ */
.diag-page .btn[disabled]{ opacity:.6; pointer-events:none; }
.diag-page [hidden]{ display:none !important; }

/* ---------- Perguntas ---------- */
.dq{ background:var(--paper); min-height:100vh; padding:128px 0 90px; }
.dq-wrap{ max-width:860px; }
.dq-top{ display:flex; justify-content:space-between; align-items:baseline; gap:18px; flex-wrap:wrap; }
.dq-count{ font-family:var(--font-cond); font-weight:700; font-size:15px; letter-spacing:.16em; text-transform:uppercase; color:var(--stone); }
.dq-bar{ height:4px; background:var(--warm-200); margin-top:16px; }
.dq-bar i{ display:block; height:100%; width:0; background:var(--orange); transition:width .5s var(--ease-out); }
.dq-mede{ margin-top:22px; font-size:16px; color:var(--stone); }
.dq-instr{ margin-top:6px; font-size:16px; font-weight:600; color:var(--ink-3); }
.dq-instr:empty{ display:none; }
.dq-q{ font-size:clamp(26px,3.6vw,40px); line-height:1.1; margin-top:26px; outline:none; }
.dq-opts{ margin-top:34px; display:grid; gap:12px; }
.dq-opt{
  display:flex; align-items:flex-start; gap:18px; width:100%; text-align:left; cursor:pointer;
  font:inherit; font-size:18px; line-height:1.45; color:var(--ink);
  background:#fff; border:1px solid var(--warm-300); padding:18px 20px; border-radius:0;
  transition:border-color .25s, background .25s, color .25s, transform .25s var(--ease-out);
}
.dq-opt:hover{ border-color:var(--orange); transform:translateX(4px); }
.dq-opt:focus-visible{ outline:2px solid var(--orange); outline-offset:2px; }
.dq-opt .dq-let{
  flex:none; width:30px; height:30px; display:grid; place-items:center;
  font-family:var(--font-cond); font-weight:700; font-size:15px; letter-spacing:.04em;
  background:var(--warm-100); color:var(--ink-3); transition:background .25s, color .25s;
}
.dq-opt:hover .dq-let{ background:var(--orange-100); }
.dq-opt.on{ background:var(--ink); border-color:var(--ink); color:#fff; }
.dq-opt.on .dq-let{ background:var(--orange); color:var(--ink); }
.dq-nav{ margin-top:30px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.dq-back, .dq-next{
  font-family:var(--font-cond); font-weight:700; font-size:16px; letter-spacing:.12em; text-transform:uppercase;
  background:none; border:0; cursor:pointer; color:var(--stone); padding:10px 0; transition:color .25s;
}
.dq-back:hover{ color:var(--ink); }
.dq-next{ color:var(--orange-deep); }
.dq-next:hover{ color:var(--ink); }
.dq-back:focus-visible, .dq-next:focus-visible{ outline:2px solid var(--orange); outline-offset:4px; }

/* ---------- Resultado: topo ---------- */
.dr-top{ padding:150px 0 70px; }
.dr-top-grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center; }
.dr-top h1{ font-size:clamp(44px,6.4vw,92px); }
.print-head{ display:none; }
.dr-scale{ margin-top:36px; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; max-width:460px; }
.dr-scale span{ font-family:var(--font-cond); font-weight:700; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.38); }
.dr-scale i{ display:block; height:5px; background:rgba(255,255,255,.16); margin-bottom:9px; }
.dr-scale .past i{ background:rgba(240,112,32,.55); }
.dr-scale .on{ color:var(--orange-mid); }
.dr-scale .on i{ background:var(--orange-mid); }
.dr-radar{ display:grid; gap:26px; }
#drRadar{ max-width:380px; width:100%; margin:0 auto; }
#drRadar svg{ width:100%; height:auto; display:block; }
.rd-ring{ fill:none; stroke:rgba(255,255,255,.16); stroke-width:1; }
.rd-axis{ stroke:rgba(255,255,255,.16); stroke-width:1; }
.rd-area{ fill:rgba(240,112,32,.32); stroke:var(--orange-mid); stroke-width:2.2; stroke-linejoin:round; }
.rd-dot{ fill:var(--orange-mid); }
.rd-tag{ fill:#fff; }
.rd-num{ font-family:var(--font-cond); font-weight:700; font-size:15px; fill:var(--ink); }
.dr-list{ list-style:none; display:grid; gap:2px; }
.dr-list li{ display:grid; grid-template-columns:30px 1fr auto; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--ink-3); font-size:16.5px; line-height:1.3; }
.dr-list small{ color:rgba(255,255,255,.5); font-size:14px; }
.dr-n{ width:24px; height:24px; display:inline-grid; place-items:center; flex:none; background:#fff; color:var(--ink); font-family:var(--font-cond); font-weight:700; font-size:14px; border-radius:50%; }
.dr-nivel{ display:inline-flex; align-items:center; gap:10px; font-family:var(--font-cond); font-weight:700; font-size:14px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-mid); white-space:nowrap; }
.dr-dots{ display:inline-flex; gap:4px; }
.dr-dots i{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.2); }
.dr-dots i.on{ background:var(--orange-mid); }

/* ---------- Resultado: corpo ---------- */
.dr-body{ background:var(--paper); padding:84px 0 96px; }
.dr-narrow{ max-width:860px; }
.dr-wide{ max-width:1120px; }
.dr-tag{ display:inline-block; font-family:var(--font-cond); font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; background:var(--orange); color:var(--ink); padding:3px 9px 4px; margin-left:12px; vertical-align:middle; }
.dr-prio{ background:#fff; border:1px solid var(--warm-200); border-left:6px solid var(--orange); padding:40px 44px 44px; }
.dr-prio h2{ font-size:clamp(30px,4vw,48px); margin-top:18px; }
.dr-prio small, .dr-dim small, .dr-qd small{ font-size:.55em; font-weight:600; color:var(--stone); letter-spacing:0; }
.dr-nivel-lbl{ margin-top:14px; font-family:var(--font-cond); font-weight:700; font-size:15px; letter-spacing:.14em; text-transform:uppercase; color:var(--orange-deep); display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.dr-nivel-lbl .dr-tag{ margin-left:4px; }
.dr-body .dr-nivel-lbl .dr-dots i, .dr-full .dr-dots i{ background:var(--warm-300); }
.dr-body .dr-nivel-lbl .dr-dots i.on, .dr-full .dr-dots i.on{ background:var(--orange); }
.dr-prio p{ margin-top:14px; font-size:19px; color:var(--ink-2); max-width:720px; }
.dr-passo{ margin-top:26px !important; background:var(--orange-50); border:1px solid var(--orange-100); padding:20px 24px; }
.dr-passo strong{ display:block; margin-bottom:6px; font-family:var(--font-cond); font-weight:700; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--orange-deep); }
.dr-aviso{ margin-top:30px; font-size:15.5px; color:var(--stone); max-width:720px; line-height:1.55; }
.dr-redo-wrap{ margin-top:10px; }
.dr-redo{ background:none; border:0; padding:4px 0; cursor:pointer; font:inherit; font-size:15px; color:var(--stone); text-decoration:underline; text-underline-offset:3px; }
.dr-redo:hover{ color:var(--ink); }

.dr-gate{ margin-top:56px; background:var(--ink); color:#fff; padding:44px 44px 48px; }
.dr-gate h2{ font-size:clamp(28px,3.4vw,40px); }
.dr-gate-texto{ margin-top:12px; color:rgba(255,255,255,.7); font-size:18px; max-width:620px; }
.dform{ margin-top:28px; display:grid; gap:16px; }
.dform label{ display:flex; flex-direction:column; gap:6px; font-family:var(--font-cond); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.dform input, .dform select{ font:inherit; font-family:var(--font-body); font-size:16px; letter-spacing:0; text-transform:none; color:var(--ink); background:#fff; border:1px solid var(--warm-300); padding:12px 14px; border-radius:0; width:100%; }
.dform input:focus, .dform select:focus{ outline:2px solid var(--orange); outline-offset:0; border-color:var(--orange); }
.dform .frow2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.dform .legal{ font-size:14px; color:rgba(255,255,255,.6); line-height:1.45; }
.dform .legal a{ color:#fff; font-weight:600; }
.dform .btn{ justify-self:start; }
.dform .fstatus{ font-size:15px; font-weight:600; min-height:1px; }
.dform .fstatus.err{ color:#ff9a8a; }
.dform .hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.dr-gate.done{ padding:30px 40px; border-left:6px solid var(--orange); }
.dr-pronto{ display:flex; align-items:center; justify-content:space-between; gap:20px 32px; flex-wrap:wrap; }
.dr-pronto p{ font-family:var(--font-display); font-weight:700; font-size:21px; line-height:1.3; display:flex; align-items:center; gap:16px; max-width:500px; }
.dr-pronto p::before{ content:""; flex:none; width:30px; height:30px; border-radius:50%; background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1A18' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/18px no-repeat; }
.dr-pronto .btn{ flex:none; }

/* ---------- Leitura completa ---------- */
.dr-full{ background:var(--warm-100); padding:88px 0 96px; }
.dr-full h2{ font-size:clamp(28px,3.6vw,44px); }
.dr-full .dr-h2b{ margin-top:80px; }
.dr-grid{ margin-top:30px; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.dr-dim{ background:#fff; border:1px solid var(--warm-200); border-top:4px solid var(--ink); padding:28px 28px 30px; display:flex; flex-direction:column; }
.dr-dim.prio{ border-top-color:var(--orange); }
.dr-dim-h{ display:flex; align-items:flex-start; gap:14px; }
.dr-dim h3{ font-size:23px; line-height:1.1; padding-top:1px; }
.dr-dim .dr-n{ background:var(--ink); color:#fff; margin-top:2px; }
.dr-dim .dr-nivel-lbl{ margin-top:18px; }
.dr-dim-t{ margin-top:14px; font-size:17.5px; color:var(--ink-2); line-height:1.6; }
.dr-qgrid{ margin-top:26px; }
.dr-qd{ background:transparent; border-top:2px solid var(--ink); padding:18px 4px 0; }
.dr-qd.prio{ border-top-color:var(--orange); }
.dr-qd h3{ font-size:19px; line-height:1.15; }
.dr-qd ul{ margin:12px 0 0 20px; }
.dr-qd li{ font-size:17.5px; color:var(--ink-2); line-height:1.5; }
.dr-qd li + li{ margin-top:8px; }
.dr-actions{ margin-top:60px; }
.print-end{ display:none; }

.dr-cta{ padding:110px 0; }

/* ---------- Mobile ---------- */
@media (max-width:900px){
  .dr-top-grid{ grid-template-columns:1fr; gap:40px; }
  .dr-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .dq{ padding:104px 0 70px; }
  .dq-opt{ font-size:17px; padding:15px 14px; gap:14px; }
  .dr-top{ padding:120px 0 50px; }
  .dr-scale span{ font-size:11px; letter-spacing:.06em; }
  .dr-prio{ padding:26px 22px 28px; }
  .dr-gate{ padding:28px 20px 32px; }
  .dr-gate.done{ padding:24px 20px; }
  .dform .frow2{ grid-template-columns:1fr; }
  .dr-list li{ grid-template-columns:28px 1fr; }
  .dr-list .dr-nivel{ grid-column:2; }
  .dr-dim{ padding:22px 20px 24px; }
}

/* ---------- Impressão: relatório em A4 ---------- */
@page{
  size:A4; margin:13mm 14mm 17mm;
  @bottom-left{ content:"CO.INO · Conhecimento, Gestão & Inovação"; font:600 7.5pt "Barlow Condensed", sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#6A6865; }
  @bottom-center{ content:"coino.com.br · contato@coino.com.br"; font:600 7.5pt "Barlow Condensed", sans-serif; letter-spacing:.1em; color:#6A6865; }
  @bottom-right{ content:"Página " counter(page) " de " counter(pages); font:600 7.5pt "Barlow Condensed", sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#6A6865; }
}
@media print{
  *{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  html, body{ background:#fff !important; }
  body{ font-size:10.5pt; line-height:1.5; color:#1C1A18; }
  .nav, .foot, .spine, #diagIntro, #diagQuiz, .dr-gate, .dr-redo-wrap, .dr-actions, #drCta, .wa-float, .dr-aviso-dup{ display:none !important; }
  .wrap{ max-width:none; padding:0; }
  .dr-narrow, .dr-wide{ max-width:none; }

  /* capa: bloco escuro com identidade, nível, radar e lista */
  .dr-top{ background:#1C1A18 !important; color:#fff; padding:0 0 16pt; break-inside:avoid; }
  .dr-top .dotgrid{ display:none; }
  .print-head{ display:flex; justify-content:space-between; align-items:center; padding:13pt 22pt; border-bottom:1px solid #3A3835; margin-bottom:14pt; }
  .print-head .logo{ font-size:21pt; }
  .print-head .ph-r{ text-align:right; font-family:"Barlow Condensed", sans-serif; font-weight:600; font-size:9pt; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.62); line-height:1.5; }
  .print-head .ph-r strong{ color:#fff; font-weight:700; font-size:10.5pt; }
  .dr-top-grid{ grid-template-columns:1fr 1fr; gap:14pt 22pt; padding:0 22pt; align-items:center; }
  .dr-top h1{ font-size:40pt; margin-top:8pt; }
  .dr-top .sub{ font-size:11pt; margin-top:10pt; color:rgba(255,255,255,.7); }
  .dr-scale{ margin-top:18pt; max-width:none; gap:4pt; }
  .dr-scale span{ font-size:7.5pt; }
  .dr-radar{ display:contents; }
  #drRadar{ max-width:208pt; }
  .dr-list{ grid-column:1 / -1; grid-template-columns:1fr 1fr; column-gap:22pt; margin-top:4pt; }
  .dr-list li{ padding:5.5pt 0; font-size:9.5pt; grid-template-columns:20pt 1fr auto; }
  .dr-list small{ font-size:8pt; display:block; }
  .dr-n{ width:15pt; height:15pt; font-size:8pt; }
  .dr-nivel{ font-size:8pt; gap:6pt; }
  .dr-dots i{ width:6pt; height:6pt; }

  /* corpo */
  .dr-body{ background:#fff !important; padding:16pt 0 0; }
  .dr-prio{ padding:16pt 22pt 18pt; break-inside:avoid; border-left-width:5pt; }
  .dr-prio h2{ font-size:22pt; margin-top:8pt; }
  .dr-prio .dr-texto{ display:none; }
  .dr-prio p{ font-size:10.5pt; }
  .dr-passo{ margin-top:10pt !important; padding:10pt 14pt; }
  .dr-aviso{ margin-top:11pt; font-size:8.3pt; line-height:1.45; color:#6A6865; break-inside:avoid; }
  .dr-full{ background:#fff !important; padding:0; }
  .dr-full > .wrap > h2{ break-before:page; font-size:22pt; }
  .dr-full .dr-h2b{ margin-top:26pt; break-after:avoid; break-before:auto; }
  .dr-grid{ grid-template-columns:1fr 1fr; gap:15pt; margin-top:16pt; align-items:stretch; }
  .dr-top-grid{ grid-template-columns:1fr 1fr; }
  .dr-dim{ padding:22pt 21pt 26pt; break-inside:avoid; border-top-width:3pt; }
  .dr-dim h3{ font-size:15pt; }
  .dr-dim .dr-nivel-lbl{ margin-top:15pt; font-size:9.5pt; }
  .dr-dim-t{ font-size:11.2pt; margin-top:13pt; line-height:1.6; }
  .dr-qd{ break-inside:avoid; padding-top:12pt; }
  .dr-qd h3{ font-size:12pt; }
  .dr-qd ul{ margin-top:10pt; }
  .dr-qd li{ font-size:10.5pt; line-height:1.5; }
  .dr-qd li + li{ margin-top:7pt; }
  .dr-qgrid{ gap:16pt 24pt; margin-top:16pt; }
  .dr-tag{ font-size:7pt; padding:2pt 6pt 3pt; margin-left:6pt; }
  .print-end{ display:block; margin-top:34pt; padding:26pt 28pt 28pt; background:#1C1A18 !important; color:#fff; border-left:6pt solid #E8600A; break-inside:avoid; font-size:12.5pt; line-height:1.45; text-wrap:balance; }
  .print-end p:first-child strong{ display:block; font-family:"Barlow", sans-serif; font-weight:800; font-size:22pt; line-height:1.05; letter-spacing:-.02em; margin-bottom:8pt; }
  .print-end p + p{ margin-top:14pt; font-family:"Barlow Condensed", sans-serif; font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:10.5pt; color:#F07020; }
}
