/* Mobile polish — cargado después de style.css para overrides seguros */

/* Prevenir scroll horizontal accidental en todos los anchos */
html, body { overflow-x: hidden; max-width: 100%; }

/* Smooth scroll en anchors internos */
html { scroll-behavior: smooth; }

/* iOS: inputs con font-size 16px para evitar auto-zoom al hacer focus */
@media screen and (max-width: 860px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  textarea,
  select {
    font-size: 16px !important;
    line-height: 1.3;
  }

  /* Áreas táctiles mínimas accesibles (WCAG 2.5.5) */
  .seguirnos li a,
  .menu a,
  nav#menunav a,
  input[type="submit"],
  button,
  .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Form de contacto: ancho completo + padding cómodo */
  .contenido-right form input,
  .contenido-right form textarea {
    width: 100% !important;
    box-sizing: border-box;
    padding: 12px 14px;
    margin-bottom: 10px;
    border-radius: 6px;
  }
  .contenido-right form input[type="submit"] {
    width: 100%;
    padding: 14px;
    font-size: 16px;
  }
  .gracias-contacto {
    padding: 16px;
    line-height: 1.4;
  }

  /* Slider: indicadores visuales de swipe en mobile */
  #slider-top { touch-action: pan-y pinch-zoom; }
  #slider-top .owl-item { -webkit-tap-highlight-color: transparent; }

  /* Imágenes responsivas por defecto */
  img { max-width: 100%; height: auto; }
}

/* Swipe hint sutil: las flechas prev/next más grandes y tocables en mobile */
@media screen and (max-width: 860px) {
  .prev, .next {
    min-width: 44px;
    min-height: 44px;
  }
}

/* Focus visible accesible */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #0c8a5e;
  outline-offset: 2px;
}
