/* =============================================================================
   CONSENTIMIENTO, CAPTCHA E INFORMACIÓN LEGAL (Ley N° 21.719)
   Igual en las tres versiones; se carga después del CSS de cada una.
   ========================================================================== */
.consentimientos,
.captcha{ grid-column:1 / -1; }
.consentimientos{ display:grid; gap:12px; }
.captcha{ min-height:78px; }
.captcha[hidden]{ display:none; }

label.check{
  display:flex; align-items:flex-start; gap:10px;
  font-size:12.5px; font-weight:400; line-height:1.55;
  color:#4f6170;
  cursor:pointer;
}
label.check input{
  flex:0 0 auto;
  width:18px; height:18px; margin:1px 0 0; padding:0;
  accent-color:#048c8e;
  cursor:pointer;
}
label.check strong{ color:#12324a; font-weight:600; }
label.check a{ color:#048c8e; font-weight:600; }

/* ---------- Ventana con la información completa ---------- */
dialog.legal{
  width:min(720px, calc(100% - 32px));
  max-height:calc(100vh - 48px);
  padding:0;
  border:0; border-radius:18px;
  box-shadow:0 30px 80px rgba(0,0,0,.3);
  color:#4f6170;
  font-family:system-ui, -apple-system, 'Segoe UI', sans-serif;
}
dialog.legal::backdrop{ background:rgba(10,30,45,.55); }
.legal-caja{ position:relative; padding:36px 36px 30px; }
.legal-cerrar{
  position:absolute; top:14px; right:14px;
  width:38px; height:38px; padding:9px;
  border:0; border-radius:50%;
  background:#eef4f6; cursor:pointer;
}
.legal-cerrar svg{ display:block; width:20px; height:20px; fill:#12324a; }
.legal h2{ margin:0 40px 14px 0; font-size:22px; line-height:1.25; color:#12324a; }
.legal-texto p{ margin:0 0 12px; font-size:14px; line-height:1.7; }
.legal-texto h3{ margin:20px 0 6px; font-size:15px; color:#12324a; }
.legal-texto a{ color:#048c8e; }
.legal-acciones{ margin-top:24px; text-align:right; }
.legal-acciones button{
  padding:12px 26px;
  border:0; border-radius:999px;
  background:#048c8e; color:#fff;
  font:inherit; font-weight:600; cursor:pointer;
}

/* ---------- Página de política de privacidad ---------- */
.politica{ max-width:820px; margin:0 auto; padding:70px 24px 100px; }
.politica h1{ margin:0 0 10px; font-size:40px; line-height:1.15; }
.politica .actualizada{ margin:0 0 30px; font-size:13px; color:#7a8a96; }
.politica .legal-texto p{ font-size:15.5px; }
.politica .legal-texto h3{ font-size:19px; margin-top:30px; }

/* ---------- Aviso de privacidad ---------- */
.aviso-privacidad{
  position:fixed; left:20px; bottom:20px; z-index:95;
  width:min(380px, calc(100% - 40px));
  padding:20px 22px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.2);
  font-family:system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.aviso-privacidad[hidden]{ display:none; }
.aviso-privacidad p{ margin:0 0 14px; font-size:13px; line-height:1.6; color:#4f6170; }
.aviso-privacidad strong{ display:block; margin-bottom:4px; font-size:14px; color:#12324a; }
.aviso-botones{ display:flex; gap:10px; align-items:center; }
.aviso-botones button{
  padding:9px 20px;
  border:0; border-radius:999px;
  background:#12324a; color:#fff;
  font:inherit; font-size:13px; font-weight:600; cursor:pointer;
}
.aviso-botones a{ font-size:13px; font-weight:600; color:#048c8e; }

@media (max-width:600px){
  .legal-caja{ padding:28px 20px 24px; }
  .aviso-privacidad{ left:12px; right:12px; bottom:84px; width:auto; }
}

/* Especialidad elegida desde el inicio */
.form-elegida{ margin:0; padding:12px 16px; border-left:3px solid #048c8e; background:#eef8f8; font-size:14px; font-weight:600; color:#12324a; }
