.ap-header .nav-link:hover {
	text-decoration: underline;
}

.ap-content :where(h2, h3, h4) {
	margin-top: 1.5rem;
}

.ap-content img {
	max-width: 100%;
	height: auto;
}

.ap-icon {
	width: 1.1em;
	height: 1.1em;
	display: inline-block;
	vertical-align: -0.15em;
}

.ap-icon-lg {
	width: 2em;
	height: 2em;
}

/* ------------------------------------------------------------
 * Buttons (Bootstrap overrides)
 * ---------------------------------------------------------- */
:root {
	--ap-radius: 0.5rem;
	--ap-radius-sm: 0.375rem;
	--ap-border: 1px solid rgba(0, 0, 0, 0.08);
	--ap-border-strong: 1px solid rgba(0, 0, 0, 0.12);
	--ap-bg-subtle: #f8f9fa;
	--ap-bg-panel: #fff;
	--ap-primary: #2a3563;
	--ap-primary-hover: #3e5d90;
	--ap-success: #198754;
	--ap-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	--ap-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
	--ap-transition: 0.15s ease;
	
	--ap-btn-radius: 999px;
	--ap-btn-letter-spacing: 0.08em;
	--ap-btn-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
	--ap-btn-shadow-hover: 0 14px 28px rgba(0, 0, 0, 0.34);
	--ap-lime: #c7f000;
	--ap-lime-2: #a7d400;
	--ap-blue: #35406F;
	--ap-blue-2: #3e5d90;
	--ap-ink: #0b0f14;
	--ap-white: #ffffff;
}

.btn {
	--bs-btn-border-width: 2px;
	--bs-btn-padding-y: 0.85rem;
	--bs-btn-padding-x: 2rem;
	--bs-btn-font-size: 1rem;
	--bs-btn-line-height: 1;

	--ap-btn-glow: rgba(255, 255, 255, 0);
	--ap-btn-glow-hover: rgba(255, 255, 255, 0);
	--ap-btn-inset: rgba(255, 255, 255, 0.08);

	position: relative;
	border-radius: var(--ap-btn-radius);
	text-transform: uppercase;
	letter-spacing: var(--ap-btn-letter-spacing);
	font-weight: 700;
	/* box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.02),
		0 0 18px var(--ap-btn-glow),
		0 10px 22px rgba(0, 0, 0, 0.28); */
	transition: transform 140ms ease, box-shadow 160ms ease, filter 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.btn:hover {
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.03),
		0 0 26px var(--ap-btn-glow-hover),
		0 14px 28px rgba(0, 0, 0, 0.34);
	transform: translateY(-1px);
}

.btn:active {
	transform: translateY(0);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.02),
		0 0 14px var(--ap-btn-glow),
		0 10px 22px rgba(0, 0, 0, 0.28);
}

.btn:focus-visible {
	outline: none;
	box-shadow:
		0 0 0 0.25rem var(--ap-btn-glow-hover),
		0 0 26px var(--ap-btn-glow-hover),
		0 14px 28px rgba(0, 0, 0, 0.34);
}

.btn:disabled,
.btn.disabled {
	transform: none;
	box-shadow: none;
	opacity: 0.65;
}

/* Lime (matches screenshot “Book Now”, “Submit”, etc.) */
.btn-warning,
.btn-success {
	--ap-btn-glow: rgba(199, 240, 0, 0.35);
	--ap-btn-glow-hover: rgba(199, 240, 0, 0.52);

	--bs-btn-color: var(--ap-ink);
	--bs-btn-bg: var(--ap-lime);
	--bs-btn-border-color: var(--ap-lime);
	--bs-btn-hover-color: var(--ap-ink);
	--bs-btn-hover-bg: var(--ap-lime-2);
	--bs-btn-hover-border-color: var(--ap-lime-2);
	--bs-btn-active-color: var(--ap-ink);
	--bs-btn-active-bg: var(--ap-lime-2);
	--bs-btn-active-border-color: var(--ap-lime-2);
	--bs-btn-disabled-color: var(--ap-ink);
	--bs-btn-disabled-bg: var(--ap-lime);
	--bs-btn-disabled-border-color: var(--ap-lime);
}

/* Blue (matches screenshot “Book Now” blue, “Block Hour”) */
.btn-primary {
	--ap-btn-glow: rgba(10, 160, 255, 0.35);
	--ap-btn-glow-hover: rgba(10, 160, 255, 0.52);

	--bs-btn-bg: var(--ap-blue);
	--bs-btn-border-color: var(--ap-blue);
	--bs-btn-hover-bg: var(--ap-blue-2);
	--bs-btn-hover-border-color: var(--ap-blue-2);
	--bs-btn-active-bg: var(--ap-blue-2);
	--bs-btn-active-border-color: var(--ap-blue-2);
}

/* Outline buttons tuned to look like the UI kit */
.btn-outline-primary {
	--ap-btn-glow: rgba(10, 160, 255, 0.18);
	--ap-btn-glow-hover: rgba(10, 160, 255, 0.30);

	--bs-btn-color: var(--ap-blue);
	--bs-btn-border-color: var(--ap-blue);
	--bs-btn-hover-color: var(--bs-white);
	--bs-btn-hover-bg: var(--ap-blue);
	--bs-btn-hover-border-color: var(--ap-blue);
}

.btn-outline-light {
	--ap-btn-glow: rgba(255, 255, 255, 0.12);
	--ap-btn-glow-hover: rgba(255, 255, 255, 0.22);

	--bs-btn-hover-color: var(--ap-ink);
	--bs-btn-hover-bg: var(--bs-white);
	--bs-btn-hover-border-color: var(--bs-white);
}

.btn-outline-secondary {
	--ap-btn-glow: rgba(255, 255, 255, 0.07);
	--ap-btn-glow-hover: rgba(255, 255, 255, 0.14);

	--bs-btn-color: rgba(11, 15, 20, 0.78);
	--bs-btn-border-color: rgba(11, 15, 20, 0.28);
	--bs-btn-hover-color: var(--ap-ink);
	--bs-btn-hover-bg: rgba(11, 15, 20, 0.06);
	--bs-btn-hover-border-color: rgba(11, 15, 20, 0.34);
}

/* Small button proportions to match screenshot */
.btn.btn-sm {
	--bs-btn-padding-y: 0.52rem;
	--bs-btn-padding-x: 1.25rem;
	--bs-btn-font-size: 0.72rem;
}

/* Large buttons (for hero CTAs) */
.btn.btn-lg {
	--bs-btn-padding-y: 0.70rem;
	--bs-btn-padding-x: 1.85rem;
	--bs-btn-font-size: 0.80rem;
}
