/* Shared components (used by header + hero). */
:not(#_) .aob-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	height: 58px;
	padding: 16px 5px 16px 24px;
	border: 1px solid var(--aob-gold-border);
	border-radius: var(--aob-radius-pill);
	background: var(--aob-gradient-button);
	box-shadow: var(--aob-shadow-button);
	color: var(--aob-white);
	font-family: var(--aob-font-body);
	font-size: 18px;
	font-weight: 500;
	line-height: 23.4px;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: transform 0.28s var(--aob-btn-ease), box-shadow 0.28s var(--aob-btn-ease), color 0.28s, border-color 0.28s;
}
/* Hover layer: a light sheen sweeping across the primary button (re-themed for the secondary variants below). */
:not(#_) .aob-btn::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.32) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform 0.65s var(--aob-btn-ease);
	pointer-events: none;
}
:not(#_) .aob-btn__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex: none;
	border-radius: 900px;
	background: var(--aob-black-3);
}
:not(#_) .aob-btn__icon svg { display: block; transform-origin: 50% 50%; }
:not(#_) .aob-btn__icon img { width: 16px; height: 17px; transition: transform 0.28s var(--aob-btn-ease); }
:not(#_) .aob-btn__icon { transition: transform 0.28s var(--aob-btn-ease), background-color 0.28s; }
@media (hover: hover) {
	:not(#_) .aob-btn:hover {
		transform: translateY(-3px);
		box-shadow: 0 10px 26px rgba(242, 106, 10, 0.5), 0 0 0 4px rgba(242, 106, 10, 0.14);
	}
	:not(#_) .aob-btn:hover::before { transform: translateX(120%); }
	:not(#_) .aob-btn:hover .aob-btn__icon { transform: scale(1.06); }
	:not(#_) .aob-btn:hover .aob-btn__icon img { transform: translateX(3px); }
	:not(#_) .aob-btn:hover .aob-btn__icon--phone svg { animation: aob-phone-ring 0.7s ease-in-out; }
}
:not(#_) .aob-btn:active { transform: translateY(-1px) scale(0.98); box-shadow: var(--aob-shadow-button); transition-duration: 0.1s; }
/* Secondary button (Figma "Button" variant): dark fill, 2px brand border, light text. */
:not(#_) .aob-btn--secondary {
	box-sizing: border-box;
	padding: 16px 32px;
	border: 2px solid var(--aob-brand);
	background: var(--aob-black-3);
	box-shadow: var(--aob-shadow-button-secondary);
	color: var(--aob-white);
}
/* Secondary hover: the brand gradient wipes in from below. */
:not(#_) .aob-btn--secondary::before {
	background: var(--aob-gradient-button);
	transform: translateY(101%);
	transition: transform 0.4s var(--aob-btn-ease);
}
@media (hover: hover) {
	:not(#_) .aob-btn--secondary:hover {
		border-color: var(--aob-brand);
		box-shadow: 0 10px 26px rgba(242, 106, 10, 0.45), 0 0 0 4px rgba(242, 106, 10, 0.14);
	}
	:not(#_) .aob-btn--secondary:hover::before { transform: translateY(0); }
}
@keyframes aob-phone-ring {
	0%, 100% { transform: rotate(0); }
	20% { transform: rotate(-16deg); }
	40% { transform: rotate(14deg); }
	60% { transform: rotate(-10deg); }
	80% { transform: rotate(6deg); }
}
@media (prefers-reduced-motion: reduce) {
	:not(#_) .aob-btn__icon--phone svg { animation: none !important; }
	:not(#_) .aob-btn, :not(#_) .aob-btn::before, :not(#_) .aob-btn__icon, :not(#_) .aob-btn__icon img { transition: none; }
	:not(#_) .aob-btn:hover, :not(#_) .aob-btn:active { transform: none; }
}
:not(#_) .aob-btn:focus-visible,
:not(#_) .aob-header a:focus-visible,
:not(#_) .aob-header button:focus-visible,
:not(#_) .aob-field__control:focus-visible,
:not(#_) .aob-hero__consent input:focus-visible {
	outline: 2px solid var(--aob-white);
	outline-offset: 3px;
}
