/* Ajustes de accesibilidad y pantallas pequeñas. Conserva el diseño de LUNÉA. */
:focus-visible { outline: 3px solid #78583e; outline-offset: 4px; }
nav a:focus-visible, footer a:focus-visible { outline-color: #c5b397; }
.lunea-location { margin: 0 0 1rem; font-size: .85rem; line-height: 1.6; font-weight: 700; letter-spacing: .06em; color: white; text-shadow: 0 1px 4px #0009; }
#mobile-menu { max-height: calc(100dvh - 68px); overflow-y: auto; overscroll-behavior: contain; }
#contactModal .modal-content { max-height: calc(100dvh - 2rem); overflow-y: auto; }
#contactModal, #promoModal { z-index: 100; }
.service-card[role="button"]:focus-visible { outline-color: #78583e; outline-offset: 6px; }
@media (min-width: 768px) {
  .footer-accordion-content { max-height: none !important; overflow: visible; }
  #footer-nav-arrow, [data-accordion-toggle="footer-nav-links"] .fa-chevron-down { display: none; }
}
@media (max-width: 767px) {
  #contactModal .modal-content { padding: 1.5rem; }
  .lunea-location { font-size: .75rem; letter-spacing: .025em; }
  input, textarea, select { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* Pendiente de publicación: contraste y controles visibles al usar teclado/táctil. */
footer, footer p, footer a { color: #fff !important; }
.service-carousel-arrow:focus-visible, .service-card-improved:focus-within .service-carousel-arrow { opacity: 1; }
@media (hover: none) { .service-carousel-arrow { opacity: 1; } }
