/* w3planb — ajustes propios del sitio.
 *
 * Solo lo que NO cubre style.css de la plantilla. Todo lo que aquí pisaba
 * markup de la plantilla se ha retirado: el HTML ya usa las clases reales
 * (.flex-table, .item-brand, .item-masonry…) y sus reglas originales son las
 * buenas. Antes de añadir nada aquí, comprobar que la plantilla no lo trae ya:
 *   grep -c "\.<clase>\b" assets/css/style.css
 */

/* Cursor custom: solo con ratón de verdad (en táctil no aporta nada). */
.cursor { display: none; }
@media (hover: hover) and (pointer: fine) { .cursor { display: block; } }
.zoom-cursor { cursor: zoom-in; }

/* Mensajes del envío AJAX del formulario de contacto (no existen en la plantilla,
 * que resolvía el envío con su propio validator). */
.contact-form__msg { margin-top: 1rem; padding: 0.75rem 1rem; border-radius: 4px; min-height: 1.5rem; }
.contact-form__msg.success { background: rgba(40, 167, 69, 0.15); color: #28a745; }
.contact-form__msg.error   { background: rgba(220, 53, 69, 0.15); color: #dc3545; }

/* La imagen de cada tarjeta de servicio enlaza a su ficha (en tuplanb.com solo
 * enlaza el "+ info"). El <a> tiene que ser bloque para no romper el recorte y
 * el zoom de .itemCard__imageWrap. */
.itemCard__imageLink { display: block; }

/* Hero con vídeo de fondo (jarallax) en Safari.
 *
 * jarallax mete el <video> en position:fixed y recorta su contenedor con la
 * propiedad `clip`. WebKit NO aplica `clip` a los descendientes position:fixed,
 * así que el vídeo se escapa del hero y queda cubriendo el viewport entero por
 * detrás del contenido: al hacer scroll se ve el vídeo en vez del fondo oscuro.
 * (Le pasa igual a www.tuplanb.com, no es propio de esta reconstrucción.)
 *
 * `transform` convierte el hero en el bloque contenedor de ese fixed, y entonces
 * `overflow:hidden` sí lo recorta. Cuesta el desplazamiento parallax del vídeo,
 * que pasa a moverse con el hero, a cambio de que el fondo sea correcto.
 */
.jarallaxVideo {
  overflow: hidden;
  transform: translateZ(0);
}
