/* Site-wide button hover polish. Loaded after page styles as a final fallback. */
button,
.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"] {
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease,
    filter 0.15s ease,
    box-shadow 0.15s ease;
}

button:hover:not(:disabled),
button:focus-visible:not(:disabled),
.btn:hover,
.btn:focus-visible,
input[type="button"]:hover:not(:disabled),
input[type="button"]:focus-visible:not(:disabled),
input[type="submit"]:hover:not(:disabled),
input[type="submit"]:focus-visible:not(:disabled),
input[type="reset"]:hover:not(:disabled),
input[type="reset"]:focus-visible:not(:disabled),
[role="button"]:hover,
[role="button"]:focus-visible {
  background-color: var(--button-hover-bg, rgba(156, 122, 60, 0.12));
  border-color: var(--button-hover-border, var(--accent, #9c7a3c));
  color: var(--button-hover-color, currentColor);
  transform: translateY(-1px);
  box-shadow: var(--button-hover-shadow, 0 8px 22px rgba(27, 22, 16, 0.12));
}

.btn-dark:hover,
.btn-dark:focus-visible,
.jf-btn:hover,
.jf-btn:focus-visible,
.nav-links a.nav-cta:hover,
.nav-links a.nav-cta:focus-visible,
.home-cta:hover,
.home-cta:focus-visible {
  background-color: var(--button-hover-bg, var(--accent, #9c7a3c));
  border-color: var(--button-hover-border, var(--accent, #9c7a3c));
  color: var(--button-hover-color, var(--on-dark, #f4efe5));
}

.btn-light:hover,
.btn-light:focus-visible,
.dark .jf-btn:hover,
.dark .jf-btn:focus-visible {
  background-color: var(--button-hover-bg, var(--accent-2, #c6a563));
  border-color: var(--button-hover-border, var(--accent-2, #c6a563));
  color: var(--button-hover-color, var(--dark, #1b1610));
}

.btn-accent:hover,
.btn-accent:focus-visible {
  background-color: var(--button-hover-bg, #856730);
  border-color: var(--button-hover-border, #856730);
  color: var(--button-hover-color, #fff);
}

.btn-ghost:hover,
.btn-ghost:focus-visible {
  background-color: var(--button-hover-bg, rgba(156, 122, 60, 0.1));
  border-color: var(--button-hover-border, var(--accent, #9c7a3c));
  color: var(--button-hover-color, var(--ink, #1b1610));
}

.dark .btn-ghost:hover,
.dark .btn-ghost:focus-visible {
  background-color: var(--button-hover-bg, rgba(198, 165, 99, 0.16));
  border-color: var(--button-hover-border, var(--accent-2, #c6a563));
  color: var(--button-hover-color, var(--on-dark, #f4efe5));
}

.nav-more-toggle:hover,
.nav-more-toggle:focus-visible,
.nav-toggle:hover,
.nav-toggle:focus-visible {
  background-color: var(--button-hover-bg, rgba(156, 122, 60, 0.1));
  color: var(--button-hover-color, var(--ink, #1b1610));
}

.nav.on-dark .nav-more-toggle:hover,
.nav.on-dark .nav-more-toggle:focus-visible,
.nav.on-dark .nav-toggle:hover,
.nav.on-dark .nav-toggle:focus-visible {
  background-color: var(--button-hover-bg, rgba(198, 165, 99, 0.16));
  color: var(--button-hover-color, var(--on-dark, #f4efe5));
}

.video-cover:hover .video-play,
.video-cover:focus-visible .video-play,
.ytfilm:hover .ytfilm-play,
.ytfilm:focus-visible .ytfilm-play {
  background-color: var(--button-hover-bg, var(--accent-2, #c6a563));
}
