/* Site-wide button and CTA hover effects */

.btn,
.btn-primary,
.btn-secondary,
button[type="submit"],
.wpcf7 input[type="submit"],
.nav-cta,
.primary-menu a.nav-cta,
.primary-menu .nav-cta > a,
.footer-book-link,
.menu-toggle,
.faq-tabs__tab,
.faq-accordion__trigger {
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		filter 0.2s ease;
}

.btn,
a.btn,
.btn-primary,
button[type="submit"],
.wpcf7 input[type="submit"],
.nav-cta,
.primary-menu a.nav-cta,
.primary-menu .nav-cta > a {
	text-decoration: none;
}

/* Primary — orange fill */
.btn:hover,
.btn:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible,
button[type="submit"]:hover,
button[type="submit"]:focus-visible,
.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus-visible,
.nav-cta:hover,
.nav-cta:focus-visible,
.primary-menu a.nav-cta:hover,
.primary-menu a.nav-cta:focus-visible,
.primary-menu .nav-cta > a:hover,
.primary-menu .nav-cta > a:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(255, 74, 36, 0.38);
	filter: brightness(1.08);
}

/* Outline — light border on dark backgrounds */
.btn-outline:hover,
.btn-outline:focus-visible,
.btn-secondary:hover,
.btn-secondary:focus-visible {
	transform: translateY(-2px);
	background: rgba(244, 238, 213, 0.14);
	border-color: var(--bone);
	color: var(--bone);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

/* Outline on light sections (bone/white backgrounds) */
.trips .btn-outline:hover,
.trips .btn-outline:focus-visible,
.included .btn-outline:hover,
.included .btn-outline:focus-visible,
.faq--light .btn-outline:hover,
.faq--light .btn-outline:focus-visible {
	background: rgba(24, 60, 8, 0.08);
	border-color: var(--green);
	color: var(--green);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

/* Final CTA — inverted black button */
.final-cta .btn:hover,
.final-cta .btn:focus-visible {
	transform: translateY(-2px);
	background: var(--green);
	color: var(--bone);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
	filter: none;
}

.final-cta--image .btn:hover,
.final-cta--image .btn:focus-visible {
	background: var(--orange);
	color: var(--black);
	box-shadow: 0 12px 28px rgba(255, 74, 36, 0.38);
}

/* Footer book link */
.footer-book-link {
	display: inline-block;
}

.footer-book-link:hover,
.footer-book-link:focus-visible {
	transform: translateY(-1px);
	color: var(--orange);
	text-shadow: 0 0 18px rgba(255, 74, 36, 0.35);
}

/* Mobile menu toggle */
.menu-toggle:hover,
.menu-toggle:focus-visible {
	transform: translateY(-1px);
	background: rgba(244, 238, 213, 0.1);
	border-color: var(--lime);
	color: var(--lime);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

/* FAQ tab pills */
.faq-tabs__tab:hover,
.faq-tabs__tab:focus-visible {
	transform: translateY(-1px);
	border-color: rgba(184, 217, 79, 0.55);
	background: rgba(184, 217, 79, 0.12);
}

.faq-tabs__tab.is-active:hover,
.faq-tabs__tab.is-active:focus-visible,
.faq-tabs__tab[aria-selected="true"]:hover,
.faq-tabs__tab[aria-selected="true"]:focus-visible {
	filter: brightness(1.06);
	box-shadow: 0 8px 20px rgba(255, 74, 36, 0.35);
}

/* FAQ accordion triggers */
.faq-accordion__trigger:hover,
.faq-accordion__trigger:focus-visible {
	filter: brightness(1.04);
}

.faq-accordion__item.is-open .faq-accordion__trigger:hover,
.faq-accordion__item.is-open .faq-accordion__trigger:focus-visible {
	filter: brightness(1.02);
}

.btn:active,
.btn-primary:active,
.btn-outline:active,
.btn-secondary:active,
button[type="submit"]:active,
.wpcf7 input[type="submit"]:active,
.nav-cta:active,
.primary-menu a.nav-cta:active,
.final-cta .btn:active,
.menu-toggle:active,
.faq-tabs__tab:active {
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.btn,
	.btn-primary,
	.btn-secondary,
	.btn-outline,
	button[type="submit"],
	.wpcf7 input[type="submit"],
	.nav-cta,
	.primary-menu a.nav-cta,
	.footer-book-link,
	.menu-toggle,
	.faq-tabs__tab,
	.faq-accordion__trigger {
		transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, filter 0.15s ease;
	}

	.btn:hover,
	.btn:focus-visible,
	.btn-outline:hover,
	.btn-outline:focus-visible,
	.btn-primary:hover,
	.btn-primary:focus-visible,
	.btn-secondary:hover,
	.btn-secondary:focus-visible,
	button[type="submit"]:hover,
	button[type="submit"]:focus-visible,
	.wpcf7 input[type="submit"]:hover,
	.wpcf7 input[type="submit"]:focus-visible,
	.nav-cta:hover,
	.nav-cta:focus-visible,
	.primary-menu a.nav-cta:hover,
	.primary-menu a.nav-cta:focus-visible,
	.final-cta .btn:hover,
	.final-cta .btn:focus-visible,
	.footer-book-link:hover,
	.footer-book-link:focus-visible,
	.menu-toggle:hover,
	.menu-toggle:focus-visible,
	.faq-tabs__tab:hover,
	.faq-tabs__tab:focus-visible {
		transform: none;
	}
}