/* =============================================================
   Enhancement layer — refinements layered on top of style.css.
   Loaded AFTER the base template so the vendor/template CSS stays
   untouched. Keep this file small, safe, and additive.
   Brand: gold #cda45e on near-black #1a1814.
   ============================================================= */

/* Crisper type rendering across platforms */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Smooth in-page anchor scrolling */
html {
  scroll-behavior: smooth;
}

/* Respect users who prefer reduced motion (accessibility) */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Elegant, keyboard-only focus ring (won't show on mouse clicks) */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
.btn:focus-visible,
.nav-menu a:focus-visible,
.mobile-nav-toggle:focus-visible {
  outline: 2px solid #cda45e;
  outline-offset: 3px;
  border-radius: 3px;
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none;
}

/* Branded text selection */
::selection {
  background: #cda45e;
  color: #1a1814;
}
::-moz-selection {
  background: #cda45e;
  color: #1a1814;
}

/* Schedule section sub-labels (re-leveled from h4 to h3): keep them refined
   and consistent so the heading fix causes no visual regression. */
.contact-info .address h3,
.contact-info .contact-details h3,
.contact-info .hours h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
}
