/* Shared accessibility fixes. Versioned because /_astro is cached immutably. */
:root { --gray-light: #686868; }
.section-label, .section-label[data-astro-cid-j7pv25f6] { color: #806326; }
.contact-label, .breadcrumb { color: #686868; }
html { scroll-padding-top: 8rem; }
:focus-visible { outline: 3px solid #5e3248; outline-offset: 4px; }
footer :focus-visible, .topbar :focus-visible, .hero :focus-visible { outline-color: #fff; }
.table-wrap:focus-visible { outline-offset: -3px; }
/* Service information remains readable without hover, on touch and with a keyboard. */
.service-card[data-astro-cid-j7pv25f6] { background: #5e3248; }
.service-card[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6] { height: 220px; }
.service-card-overlay[data-astro-cid-j7pv25f6],
.service-card[data-astro-cid-j7pv25f6]:hover .service-card-overlay[data-astro-cid-j7pv25f6] {
  position: static; background: #5e3248; padding: 1.5rem; justify-content: flex-start;
}
.service-card[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6],
.service-card[data-astro-cid-j7pv25f6]:hover p[data-astro-cid-j7pv25f6] {
  max-height: none; overflow: visible; opacity: 1; color: #fff;
}
.service-card[data-astro-cid-j7pv25f6]:hover img[data-astro-cid-j7pv25f6] {
  transform: none; filter: none;
}
.nav-links a, footer a, .breadcrumb a { display: inline-block; min-height: 24px; }
@media (max-width: 768px) {
  .nav-links a, footer a { min-height: 44px; padding-block: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Full-page axe sweep: secondary labels and text links need the same contrast. */
.approach-card .num, .area-card .distance, .option-card .duration,
.rec-card-body .ideal, .timeline-item .meta, .sq-card-body .from,
.hero-text .label { color: #806326; }
.best-for .section-label, .activities .section-label { color: #fff !important; }
.best-card p, .best-card .rec { color: #fff; opacity: 1; }
main a:not(.btn) { text-decoration: underline; text-underline-offset: .15em; }
