#usat-cookie {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	max-width: 780px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px 20px;
	background: #fff;
	color: #173d70;
	border: 1px solid #d9dfe7;
	border-top: 3px solid #c9a24b;
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(17, 58, 108, .28);
	font-size: 14px;
	line-height: 1.55;
	z-index: 99999;
}
#usat-cookie p { margin: 0; flex: 1; }
#usat-cookie a { color: #d71936; text-decoration: underline; }
#usat-cookie .usat-cookie-btns { display: flex; gap: 10px; flex-shrink: 0; }
#usat-cookie button {
	cursor: pointer;
	padding: 10px 20px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	border: 2px solid #123d72;
	transition: background .15s, color .15s;
}
#usat-cookie .usat-accept { background: #123d72; color: #fff; }
#usat-cookie .usat-accept:hover { background: #0d2f59; border-color: #0d2f59; }
#usat-cookie .usat-decline { background: #fff; color: #123d72; }
#usat-cookie .usat-decline:hover { background: #eef2f8; }
@media (max-width: 600px) {
	#usat-cookie { flex-direction: column; align-items: stretch; gap: 12px; padding: 14px 16px; }
	#usat-cookie .usat-cookie-btns { justify-content: stretch; }
	#usat-cookie button { flex: 1; }
}

/* Blog posts */
.single-post main.site-main { max-width: 820px; margin: 0 auto; padding: 40px 20px 72px; }
.single-post .page-header .entry-title { font-size: clamp(28px, 4.2vw, 42px); line-height: 1.2; color: #123d72; margin: 0 0 18px; }
.single-post .page-content h2 { font-size: clamp(22px, 2.8vw, 28px); line-height: 1.3; color: #123d72; margin: 2em 0 .6em; }
.single-post .page-content p,
.single-post .page-content li { font-size: 17px; line-height: 1.8; color: #2b3a4f; }
.single-post .page-content ul { margin: 0 0 1.4em 1.2em; }
.single-post .usat-post-hero { display: block; width: 100%; height: auto; border-radius: 10px; margin: 0 0 12px; }
.single-post .usat-post-meta { margin: 0 0 28px; font-size: 14px; color: #7b8aa2; }
.single-post .usat-post-meta a { color: inherit; }

/* FAQ accordion: keep long questions clear of the toggle icon */
.cfaq-item button { padding-right: 25px !important; }
.cfaq-item button { white-space: normal !important; align-items: center; gap: 12px; }
.cfaq-item .cfaq-question { flex: 1 1 auto; min-width: 0; white-space: normal !important; }
.cfaq-item .cfaq-icon { flex: 0 0 auto; }

/* FAQ illustration: portrait photos fill the free height of the left column (desktop) or use 4:3 (tablet/mobile) */
.cfaq-wrapper .cfaq-illustration img[src*="faq-consultant"] { object-position: center 22% !important; }
@media (min-width: 1301px) {
	.cfaq-wrapper.cfaq-wrapper { align-items: stretch !important; }
	.cfaq-wrapper .cfaq-left { display: flex !important; flex-direction: column !important; }
	.cfaq-wrapper .cfaq-illustration { position: relative !important; flex: 1 1 auto !important; height: auto !important; aspect-ratio: auto !important; min-height: 303px !important; }
	.cfaq-wrapper .cfaq-illustration img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; }
}
@media (max-width: 1300px) {
	.cfaq-wrapper .cfaq-illustration:has(img[src*="faq-guidance-desk"]),
	.cfaq-wrapper .cfaq-illustration:has(img[src*="faq-consultant"]) { aspect-ratio: 4 / 3 !important; }
}

/* Mobile floating Apply Now button */
#usat-apply-cta {
	position: fixed;
	left: 50%;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 9997;
	display: none;
	align-items: center;
	gap: 8px;
	padding: 13px 26px;
	border-radius: 999px;
	background: #b22234;
	color: #fff !important;
	font: 600 16px/1 inherit;
	font-family: inherit;
	text-decoration: none !important;
	box-shadow: 0 8px 24px rgba(17, 58, 108, .35);
	transform: translate(-50%, calc(100% + 40px));
	opacity: 0;
	pointer-events: none;
	transition: transform .25s ease, opacity .25s ease;
	-webkit-tap-highlight-color: transparent;
}
@media (max-width: 767px) { #usat-apply-cta { display: inline-flex; } }
#usat-apply-cta.is-visible { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
#usat-apply-cta:active { background: #8f1b2a; }
@media (prefers-reduced-motion: reduce) { #usat-apply-cta { transition: none; } }

/* Slide-in animations must not widen the page (this made the fixed mobile button jump sideways) */
html { overflow-x: hidden; overflow-x: clip; }

/* Testimonial carousel dots: keep them centred under the slides on tablet / mobile */
@media (max-width: 1023px) {
	.elementor-widget-n-carousel .swiper-pagination.swiper-pagination-bullets {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		text-align: center !important;
		transform: translateY(-15px) !important;
	}
}

/* Contact form: clean "Sending..." state (no spinner under the button, no layout jump, no focus box, no dimming of the whole form) */
#wpforms-1662 { opacity: 1 !important; }
#wpforms-1662 .wpforms-submit-spinner { display: none !important; }
#wpforms-1662 button.wpforms-submit,
#wpforms-1662 .wpforms-submit-container { transition: none; }
#wpforms-1662 button.wpforms-submit:focus { outline: none !important; }
#wpforms-1662 button.wpforms-submit:focus-visible { outline: 2px solid #123d72 !important; outline-offset: 2px !important; }
#wpforms-1662 button.wpforms-submit:hover,
#wpforms-1662 button.wpforms-submit:focus,
#wpforms-1662 button.wpforms-submit:active { color: #fff !important; }
#wpforms-1662 button.wpforms-submit.wpforms-disabled,
#wpforms-1662 button.wpforms-submit[aria-disabled="true"] { opacity: .9 !important; cursor: progress !important; }
#wpforms-1662 button.wpforms-submit.wpforms-disabled::after,
#wpforms-1662 button.wpforms-submit[aria-disabled="true"]::after {
	content: "" !important;
	width: 22px !important;
	height: 22px !important;
	margin-top: 0 !important;
	border: 3px solid rgba(255, 255, 255, .4) !important;
	border-top-color: #fff !important;
	border-radius: 50% !important;
	font-size: 0 !important;
	box-sizing: border-box !important;
	animation: usat-submit-spin .8s linear infinite !important;
}
@keyframes usat-submit-spin {
	from { transform: translateY(-50%) rotate(0deg); }
	to   { transform: translateY(-50%) rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
	#wpforms-1662 button.wpforms-submit.wpforms-disabled::after { animation-duration: 2.4s !important; }
}

/* Legal notice at the very bottom of the footer: centred, label on its own line, each paragraph wraps within a readable width */
.usat-legal-notice { margin-top: 28px; padding: 22px 16px 30px; border-top: 1px solid rgba(255, 255, 255, .16); text-align: center; }
.usat-legal-notice__label { display: block; margin: 0 0 12px; font-size: 12px; font-weight: 500; line-height: 1.6; letter-spacing: .04em; text-transform: uppercase; color: rgba(255, 255, 255, .62); }
.usat-legal-notice__text { display: block; max-width: 820px; margin: 0 auto 8px; font-size: 12px; font-weight: 400; line-height: 1.7; color: rgba(255, 255, 255, .55); text-wrap: balance; }
.usat-legal-notice__text:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
	.usat-legal-notice { margin-top: 20px; padding: 18px 16px 24px; }
}
