/* Mejoras de accesibilidad y comprobante A4. Exclusivas de solicitar cita. */
.titulo-horas { scroll-margin-top: 130px; }
.titulo-horas.hora-destacada { animation: hsjm-resaltar-hora 1.8s ease-out 1; border-radius: 12px; }
@keyframes hsjm-resaltar-hora {
  0%, 45% { background: #d6f7ed; box-shadow: 0 0 0 9px #d6f7ed; }
  100% { background: transparent; box-shadow: none; }
}
#horarios-disponibles .chip-hora { min-height: 48px; }
.comprobante-cabecera { display: none; }
.comprobante-advertencia { margin: 10px auto 16px; max-width: 650px; padding: 10px 12px;
  background: #fff3d6; color: #674200; border: 1px solid #d6ad4b; border-radius: 9px; font-size: .92rem; font-weight: 750; }
@media (max-width: 600px) {
  .dos-col { grid-template-columns: minmax(0,1fr); }
  .cal { max-width: 100%; }
  .cal .dia { min-width: 0; }
  #horarios-disponibles .horas { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) { .titulo-horas.hora-destacada { animation: none; outline: 3px solid #117f8d; outline-offset: 5px; } }
@page { size: A4 portrait; margin: 12mm; }
@media print {
  html, body { width: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
    background: #fff !important; color: #172d43 !important; font-size: 10pt !important; }
  body:has(.comprobante-cita) .encabezado,
  body:has(.comprobante-cita) .pie,
  body:has(.comprobante-cita) .aurora,
  body:has(.comprobante-cita) .publico-hero,
  body:has(.comprobante-cita) #aviso-inicio,
  body:has(.comprobante-cita) .formulario-intro,
  body:has(.comprobante-cita) #pasos,
  body:has(.comprobante-cita) .no-imprimir,
  body:has(.comprobante-cita) .toasts { display: none !important; }
  body:has(.comprobante-cita) #contenido,
  body:has(.comprobante-cita) .formulario-cita,
  body:has(.comprobante-cita) #paso,
  body:has(.comprobante-cita) #paso > .paso,
  body:has(.comprobante-cita) .comprobante-cita {
    display: block !important; width: 100% !important; max-width: none !important;
    min-height: 0 !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important; background: #fff !important;
    box-shadow: none !important; backdrop-filter: none !important;
    animation: none !important; transform: none !important; filter: none !important;
  }
  body:has(.comprobante-cita) .comprobante-cabecera {
    display: flex !important; align-items: center; gap: 14px; text-align: left;
    padding: 0 0 10px; margin-bottom: 12px; border-bottom: 2px solid #164c75;
  }
  .comprobante-logos { display: flex; gap: 8px; flex: none; }
  .comprobante-logos img { width: 48px; height: 48px; object-fit: contain; }
  .comprobante-cabecera strong { display: block; font-size: 13pt; color: #123b5a; }
  .comprobante-cabecera span { display: block; font-size: 9pt; color: #456073; }
  body:has(.comprobante-cita) .comprobante-cita .sello { width: 46px !important; height: 46px !important; margin: 0 auto 5px !important; }
  body:has(.comprobante-cita) .comprobante-cita h2 { font-size: 17pt !important; margin: 3px 0 5px !important; }
  body:has(.comprobante-cita) .comprobante-cita .subtitulo { margin: 0 0 7px !important; font-size: 9pt !important; }
  body:has(.comprobante-cita) .comprobante-advertencia { display: block !important; margin: 8px 0 12px !important;
    padding: 8px !important; border: 1px solid #ad8733 !important; background: #fff !important; color: #654100 !important; font-size: 9pt; }
  body:has(.comprobante-cita) .codigo-caja { margin: 9px auto !important; padding: 9px !important; break-inside: avoid; }
  body:has(.comprobante-cita) .codigo-caja code { font-size: 17pt !important; overflow-wrap: anywhere; }
  body:has(.comprobante-cita) .resumen { margin: 10px 0 !important; padding: 0 !important; break-inside: avoid; }
  body:has(.comprobante-cita) .resumen div { padding: 6px 8px !important; break-inside: avoid; }
  body:has(.comprobante-cita) .etiqueta { margin: 12px 0 5px !important; }
  body:has(.comprobante-cita) .siguiente { max-width: none !important; margin: 0 !important; padding-left: 20px !important; font-size: 9pt; }
  body:has(.comprobante-cita) .siguiente li { margin-bottom: 3px !important; }
  body:has(.comprobante-cita) .comprobante-cita { break-inside: avoid; page-break-inside: avoid; }
}
