/* Complementos da pagina /cadastro (reaproveita cadastro-paciente.css) */
.back-link{ display:inline-block; font-size:13px; color:#7a7268; text-decoration:none; margin-bottom:14px; }
.back-link:hover{ color:var(--rose); }
.span2{ grid-column:span 2; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.privacy{ margin-top:10px; }
.privacy summary{ cursor:pointer; color:var(--verde); font-weight:500; }
.privacy p{ margin-top:8px; }
.draft-note{ color:var(--rose); font-style:italic; }
.err{ color:#a83c2e; font-size:12.5px; min-height:0; line-height:1.4; }
.err:empty{ display:none; }
input.invalid, select.invalid, textarea.invalid{ border-color:#a83c2e; background:#fffafa; }
.form-error{ background:#fbe6e2; color:#a83c2e; border-radius:4px; padding:12px 16px; font-size:14px; margin-bottom:24px; line-height:1.5; }
.submit-btn:disabled{ opacity:.6; cursor:not-allowed; }
.success-box .back-btn{ display:inline-block; width:auto; padding:15px 34px; text-decoration:none; margin-top:24px; }
.demo-note{ margin-top:14px; font-size:12.5px; color:#a49a90; }
[hidden]{ display:none !important; }

/* celular: controles confortaveis, uma coluna */
@media (max-width:640px){
  body{ padding:22px 14px; }
  .card{ padding:34px 20px; }
  .row, .row.three{ grid-template-columns:1fr; gap:16px; }
  .span2{ grid-column:auto; }
  input, select, textarea{ font-size:16px; padding:14px; }
  .radio-group label{ padding:6px 0; }
  .consent input{ width:20px; height:20px; }
}

/* obrigatorio */
.star{ color:#a83c2e; font-weight:600; }
.req-note{ text-align:center; font-size:12.5px; color:#8a8178; margin-bottom:26px; }

/* bloco de consentimento LGPD */
.consent-box{ border:1px solid var(--rose-claro); background:#fff; border-radius:6px; padding:24px 24px 22px; margin-bottom:26px; }
.consent-box h2{ font-family:'Cormorant Garamond',serif; font-size:21px; color:var(--verde); font-weight:600; margin-bottom:14px; }
.consent-box p{ font-size:13px; color:#6b635c; line-height:1.65; margin-bottom:9px; }
.consent-box a{ color:var(--rose); }
.consent-toggle{ display:flex; align-items:flex-start; gap:14px; margin-top:18px; padding:16px; border-radius:6px; background:var(--creme); border:1px solid #D9CCC1; cursor:pointer; text-transform:none; letter-spacing:0; font-size:14.5px; color:var(--texto); }
.consent-toggle input{ position:absolute; opacity:0; width:1px; height:1px; }
.consent-switch{ flex:0 0 46px; height:26px; border-radius:13px; background:#cfc4ba; position:relative; transition:background .2s; margin-top:1px; }
.consent-switch::after{ content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.consent-toggle input:checked + .consent-switch{ background:var(--verde); }
.consent-toggle input:checked + .consent-switch::after{ transform:translateX(20px); }
.consent-toggle input:focus-visible + .consent-switch{ outline:2px solid var(--rose); outline-offset:2px; }
.consent-toggle:has(input:checked){ border-color:var(--verde); background:#eef4f1; }
#ufTexto{ margin-top:0; }
/* foto opcional */
.photo-box{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.photo-preview{ width:96px; height:96px; object-fit:cover; border-radius:50%; border:2px solid var(--rose-claro); background:#fff; }
.photo-actions{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; flex:1; min-width:200px; }
.photo-remove{ background:none; border:none; color:var(--rose); font-family:'Jost',sans-serif; font-size:13px; cursor:pointer; text-decoration:underline; padding:0; }
.hint-line{ font-size:12px; color:#a49a90; }