/* Texto animado: sitio.js divide los párrafos marcados con data-reveal en piezas ocultas que se revelan en orden.
   Mientras el script prepara el texto, se oculta para evitar un destello (el <head> lo libera si el script no llega). */
html.js [data-reveal]:not([data-listo]) { visibility: hidden; }
.pk-w { display: inline-block; opacity: 0.001; filter: blur(10px); transform: translateY(10px); }

/* Estados al pasar el cursor: botones, enlaces del pie y tarjetas. */
.pk-ConvD,
.pk-0tmhS,
.pk-x5IKX,
.pk-qNoB4.pk-v-13khlcq {
  transition: background-color 0.2s ease, box-shadow 0.2s ease, padding 0.2s ease;
  cursor: pointer;
}
.pk-qNoB4.pk-v-t4q9tt { cursor: pointer; }

/* Botón principal del encabezado */
.pk-ConvD:hover { background-color: rgb(58, 31, 59) !important; }

/* Botones primarios */
.pk-0tmhS.pk-v-z25pv6:hover {
  background-color: rgb(62, 32, 64) !important;
  box-shadow: rgba(0, 0, 0, 0.36) 0px 0.602187px 0.602187px -1.25px, rgba(0, 0, 0, 0.32) 0px 2.28853px 2.28853px -2.5px, rgba(0, 0, 0, 0.13) 0px 10px 10px -3.75px !important;
}
.pk-0tmhS.pk-v-2naby4:hover { background-color: rgb(62, 32, 64) !important; }

/* Botón secundario */
.pk-0tmhS.pk-v-1wcr3od:hover {
  background-color: rgb(255, 255, 255) !important;
  box-shadow: rgba(0, 0, 0, 0.36) 0px 0.602187px 0.602187px -1.25px, rgba(0, 0, 0, 0.32) 0px 2.28853px 2.28853px -2.5px, rgba(0, 0, 0, 0.13) 0px 10px 10px -3.75px !important;
}

/* Enlaces del pie */
.pk-x5IKX:hover { background-color: rgba(0, 0, 0, 0.24) !important; }

/* Tarjetas */
.pk-qNoB4.pk-v-13khlcq:hover {
  background-color: rgb(255, 255, 255) !important;
  box-shadow: rgba(0, 0, 0, 0.12) 0px 0.662406px 3.04707px -0.583333px, rgba(0, 0, 0, 0.14) 0px 2.51739px 11.58px -1.16667px, rgba(0, 0, 0, 0.21) 0px 11px 50.6px -1.75px !important;
}

/* Enlaces de texto que antes eran bloques sin etiqueta <a> (pie de página) */
a[data-legal] { color: inherit; text-decoration: none; cursor: pointer; }

/* Desplazamiento suave hacia "Ir a Servicios" */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Tarjetas de una misma cuadrícula: todas del mismo alto.
   Antes cada tarjeta medía lo que ocupaba su texto y quedaban desiguales al cambiar el contenido. */
.tarjeta-celda { align-self: stretch !important; height: auto !important; }
.tarjeta-celda > .pk-qNoB4 { height: 100% !important; }

/* En celular, la pila de tarjetas pasa a una columna de filas iguales para que también midan lo mismo. */
@media (max-width: 809.98px) {
  .tarjetas-grupo {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-auto-rows: 1fr !important;
  }
}

/* Aviso al enviar el formulario de cita (lo crea sitio.js) */
.form-aviso {
  margin: 0;
  font: 400 14px/1.5 "Geist", "Geist Placeholder", sans-serif;
  color: rgb(92, 50, 93);
}
.form-aviso a { color: inherit; text-decoration: underline; text-underline-offset: 0.2em; }

/* Titulares de varias líneas: cada línea (antes un párrafo) sigue siendo un bloque dentro del encabezado. */
[data-linea] { display: block; }
