/* Cuidado Emocional — camada profissional V1 (sobrepõe o CSS da página) */

/* ---------- base: foco, toque e leitura ---------- */
:focus-visible{outline:3px solid #1c7791;outline-offset:2px;border-radius:10px}
button,a.btn,.chip,.tabbtn{min-height:44px}
.disclaimer,.panel p small{font-size:12px}
.panel{box-shadow:0 6px 22px rgba(20,60,80,.10);border-radius:18px}
.panel h2{display:flex;align-items:center;gap:8px;font-size:18px}
.panel h2 svg{width:22px;height:22px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.menu button{box-shadow:0 3px 12px rgba(20,60,80,.10);min-height:92px}
.menu button .ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--well);color:var(--teal2)}
.menu button .ico svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.menu button.active .ico{background:#fff;color:var(--teal2)}
.helpline .hl-sos{display:flex;align-items:center;gap:6px}
.helpline .hl-sos svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.cp-zoom1 .wrap{zoom:1.12}
.cp-zoom2 .wrap{zoom:1.25}

/* ---------- contraste dos botões principais ---------- */
.btn.primary{background:linear-gradient(135deg,var(--teal2),var(--teal));color:#fff}
.tabbtn.active{background:linear-gradient(135deg,var(--teal2),var(--teal));color:#fff}
.result-wa{background:var(--teal2);color:#fff}
.qopts button:active,.chatopts button:active{color:#fff}

/* ---------- botão fixo de ajuda ---------- */
.cp-fab{position:fixed;z-index:400;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:8px;padding:0 16px 0 12px;height:48px;border:0;border-radius:999px;background:linear-gradient(135deg,#c9646d,#a84956);color:#fff;font-weight:800;font-size:13px;box-shadow:0 8px 22px rgba(168,73,86,.38);cursor:pointer}
.cp-fab svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.travar-scroll .cp-fab,body.cp-modal-aberto .cp-fab{display:none}

/* ---------- modais da camada ---------- */
.cp-modal{display:none;position:fixed;inset:0;z-index:600;background:rgba(6,16,20,.7);padding:16px;overflow:auto}
.cp-modal.open{display:flex;align-items:center;justify-content:center}
.cp-card{width:min(400px,100%);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 14px 40px rgba(20,60,80,.3)}
.cp-card h3{font:700 18px Georgia,serif;color:var(--teal2);margin:0 0 8px}
.cp-card p{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0 0 12px}
.cp-card input[type=password],.cp-card input[type=text],.cp-card input[type=tel],.cp-card textarea,.cp-in{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--well);color:var(--text);font-size:15px}
.cp-card .row2{margin-top:12px}
.cp-err{color:#b23945;font-size:12.5px;min-height:18px;margin:6px 0 0}

/* ---------- SOS reformulado ---------- */
#sosModal .modal-card{text-align:left;max-height:92vh;overflow:auto}
#sosModal h3{text-align:center}
#sosModal .verse{text-align:center}
.cp-sos-lab{font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px;text-transform:uppercase}
.cp-call{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;text-decoration:none;margin-bottom:8px;border:1px solid var(--line);background:var(--well);color:var(--teal2);font-weight:800;font-size:14px}
.cp-call small{display:block;font-weight:600;color:var(--muted);font-size:12px}
.cp-call svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.cp-call.main{background:linear-gradient(135deg,#c9646d,#a84956);border-color:transparent;color:#fff}
.cp-call.main small{color:#ffe9ec}
.cp-plano{font-size:13px;color:var(--text);line-height:1.5;background:var(--well);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.cp-plano b{display:block;color:var(--teal2);font-size:12px;margin-top:6px}
.cp-plano b:first-child{margin-top:0}

/* ---------- cartões gerais ---------- */
.cp-box{padding:14px;border-radius:16px;background:var(--well);border:1px solid var(--line);margin-bottom:12px}
.cp-box h3{margin:0 0 6px;font:700 15px Georgia,serif;color:var(--teal2)}
.cp-box p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.55}
.cp-box p:last-child{margin-bottom:0}
.cp-lab{display:block;font-size:12px;font-weight:800;color:var(--teal2);margin:10px 0 4px}
.cp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.cp-chip{padding:8px 13px;min-height:40px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--teal2);font-size:13px;font-weight:700;cursor:pointer}
.cp-chip[aria-pressed=true],.cp-chip.on{background:var(--teal);border-color:var(--teal);color:#fff}
.cp-seal{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#e6f4ee;border:1px solid #bfe0d2;color:#1f5a46;font-size:13px;line-height:1.5;margin-bottom:12px}
.cp-seal svg{width:22px;height:22px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.cp-gate{text-align:center;padding:18px 10px}
.cp-gate svg{width:34px;height:34px;stroke:var(--teal2);fill:none;stroke-width:1.6;margin-bottom:6px}
.cp-small{font-size:12px;color:var(--muted);line-height:1.5}
.cp-aviso{padding:12px 14px;border-radius:14px;background:#fdecee;border:1px solid #eeb3ba;color:#7a2530;font-size:13px;line-height:1.5;margin-top:10px}
.cp-aviso a{color:#a84956;font-weight:800}

/* ---------- humor (rostos) ---------- */
.cp-faces{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0}
.cp-face{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:14px;border:2px solid transparent;background:var(--panel);cursor:pointer;color:var(--muted);font-size:11px;font-weight:700;min-height:74px}
.cp-face svg{width:34px;height:34px}
.cp-face[aria-pressed=true]{border-color:var(--teal);color:var(--teal2);background:var(--well)}
.cp-chart{width:100%;height:auto;display:block}
.cp-legend{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:4px}
.cp-hist{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--text)}
.cp-hist:last-child{border-bottom:0}
.cp-hist small{color:var(--muted)}

/* ---------- respiração ---------- */
.cp-breath-opts{margin:10px 0 4px}
.cp-breath-opts .cp-lab{margin-top:6px}
.breath-circle.hold2{transform:scale(.85)}
#cpBreathMsg{margin-top:10px;font-size:13px;color:var(--text);line-height:1.5}
#cpBreathMsg:empty{display:none}
.cp-practice{font-size:12.5px;color:var(--muted);margin-top:8px;text-align:center}
@media (prefers-reduced-motion:reduce){
  .breath-circle{transition:none!important;transform:none!important}
  .cp-fab{box-shadow:none}
}

/* ---------- testes: escalas padronizadas ---------- */
.cp-tabs2{display:flex;gap:8px;margin:-4px 0 12px;align-items:center;flex-wrap:wrap}
.cp-tabs2 span{font-size:11.5px;color:var(--muted);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.cp-tabs2 .tabbtn{flex:0 0 auto;padding:8px 14px}
.cp-save-res{margin-top:12px;width:100%}
.cp-ref{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:8px}

/* ---------- jornada ---------- */
.cp-dias{display:flex;gap:6px;margin:8px 0 12px}
.cp-dia{flex:1;min-height:40px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-weight:800;font-size:13px;cursor:pointer;position:relative}
.cp-dia.ok{background:#e6f4ee;color:#1f5a46;border-color:#bfe0d2}
.cp-dia.atual{background:var(--teal);color:#fff;border-color:var(--teal)}
.cp-dia:disabled{opacity:.45;cursor:not-allowed}
.cp-verso{font:italic 15px/1.6 Georgia,serif;color:var(--teal2);border-left:3px solid var(--lav);padding:4px 0 4px 12px;margin:8px 0}
.cp-verso small{display:block;font:700 12px sans-serif;font-style:normal;color:var(--muted);margin-top:4px}
.cp-passo{padding:12px 14px;border-radius:14px;background:var(--well);border:1px solid var(--line);margin-top:10px;font-size:13.5px;line-height:1.55;color:var(--text)}
.cp-passo b{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--teal2);margin-bottom:3px}

/* ---------- tema escuro ---------- */
html[data-tema=escuro]{color-scheme:dark;--bg:#0e1a20;--panel:#15252d;--well:#1b3039;--text:#e6f0f3;--muted:#a3b9c3;--line:#2a4551;--teal:#4fa8c0;--teal2:#8fd3e6;--lav:#8f80c4;--sos:#d97882;--sos2:#f0a1a9}
html[data-tema=escuro],html[data-tema=escuro] body{background:radial-gradient(circle at 50% -10%,#16303b,#0e1a20 50%)}
html[data-tema=escuro] .ambient{opacity:.18}
html[data-tema=escuro] .helpline{background:#3a1d23;border-color:#b25a64}
html[data-tema=escuro] .helpline .hl-text{color:#f0b7bd}
html[data-tema=escuro] .modal-card,html[data-tema=escuro] .cp-card{background:#15252d;border-color:#2a4551}
html[data-tema=escuro] .modal-card h3{color:#f0a1a9}
html[data-tema=escuro] .menu button .ico,html[data-tema=escuro] .menu button.active .ico{background:#1b3039;color:#8fd3e6}
html[data-tema=escuro] .menu button.active{background:linear-gradient(150deg,#1d3f45,#1b3039)}
html[data-tema=escuro] .btn.primary,html[data-tema=escuro] .tabbtn.active,html[data-tema=escuro] .result-wa{color:#06161c}
html[data-tema=escuro] .crisis-flag,html[data-tema=escuro] .cp-aviso{background:#3a1d23;border-color:#7c3a43}
html[data-tema=escuro] .crisis-flag b,html[data-tema=escuro] .cp-aviso{color:#f0b7bd}
html[data-tema=escuro] .crisis-flag p{color:#e6a6ad}
html[data-tema=escuro] .cp-seal{background:#173a30;border-color:#2c6a56;color:#9fe0c6}
html[data-tema=escuro] .cp-dia.ok{background:#173a30;color:#9fe0c6;border-color:#2c6a56}
html[data-tema=escuro] .chatopts button.urgent{background:#3a1d23;color:#f0b7bd}
html[data-tema=escuro] .hero-photo figcaption{background:rgba(0,0,0,.25)}
html[data-tema=escuro] .cp-chip[aria-pressed=true],html[data-tema=escuro] .cp-chip.on{color:#06161c}
html[data-tema=escuro] .osh-seg button{background:var(--well);color:var(--text);border-color:var(--line)}
html[data-tema=escuro] .osh-seg button.on{background:#1f4650;border-color:var(--teal);color:#fff}
html[data-tema=escuro] .osh-acts .a1{color:#06161c}
html[data-tema=escuro] .osh-cores button{border-color:#4a6b78}
