/**
 * Premium global footer — Travhawk tokens only (var(--th-*)).
 * Interactive fills: Turquoise default → Denim hover (--th-interactive-fill / --th-interactive-fill-hover).
 */

:root {
	--afp-transition: var(--th-transition);
	--afp-radius-pill: var(--th-radius-pill);
	--afp-fill: var(--th-interactive-fill, var(--th-palette-turquoise));
	--afp-fill-hover: var(--th-interactive-fill-hover, var(--th-palette-denim));
	--afp-glow-22: var(--th-glow-turquoise-22);
}

/* ----- Pre-footer CTA (Knowledge base / News / Social) — editorial cards ----- */
.footer-cta.bg-brand-off-white {
	box-shadow: 0 -6px 40px rgba(var(--th-rgb-woodsmoke), 0.06);
	background: var(--th-color-bg-subtle);
	border-top: 1px solid rgba(var(--th-rgb-denim), 0.12);
	color: var(--th-color-ink-soft);
	font-family: var(--th-font-sans);
	padding-top: clamp(2.5rem, 5vw, 3.5rem) !important;
	padding-bottom: clamp(2.5rem, 5vw, 3.5rem) !important;
}

.footer-cta .row {
	--bs-gutter-x: 1.75rem;
	align-items: stretch;
}

/* Equal-width premium cards: override Bootstrap % widths so columns share space evenly */
@media (min-width: 992px) {
	.footer-cta .row {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		column-gap: var(--bs-gutter-x);
		row-gap: 1.5rem;
	}

	.footer-cta .row > .footer-cta__col,
	.footer-cta .row > .latest-posts-col {
		flex: 1 1 0 !important;
		min-width: 0;
		max-width: none !important;
		width: auto !important;
		display: flex;
		flex-direction: column;
		min-height: 100%;
	}
}

.footer-cta .footer-cta__col,
.footer-cta .latest-posts-col {
	padding-top: 0;
	padding-bottom: 0;
}

@media (max-width: 991.98px) {
	.footer-cta .row > .footer-cta__col,
	.footer-cta .row > .latest-posts-col {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}
}

/* Card panels — equal-height columns; clip contents so social icons never overflow */
.footer-cta .footer-cta__col,
.footer-cta .latest-posts-col {
	background: var(--th-palette-white);
	border: 1px solid rgba(var(--th-rgb-denim), 0.1);
	border-radius: var(--th-radius-lg);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 14px 40px rgba(var(--th-rgb-woodsmoke), 0.06);
	padding: clamp(1.35rem, 3vw, 1.85rem) clamp(1.15rem, 2.5vw, 1.5rem) !important;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	box-sizing: border-box;
}

/* Legacy markup: narrow third column + offset (pre–equal-width fix) */
.footer-cta .col-lg-4:not(.offset-lg-1):not(.footer-cta__col),
.footer-cta .col-lg-3.offset-lg-1 {
	background: var(--th-palette-white);
	border: 1px solid rgba(var(--th-rgb-denim), 0.1);
	border-radius: var(--th-radius-lg);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 14px 40px rgba(var(--th-rgb-woodsmoke), 0.06);
	padding: clamp(1.35rem, 3vw, 1.85rem) clamp(1.15rem, 2.5vw, 1.5rem) !important;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	box-sizing: border-box;
}

.footer-cta .primary-sidebar {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.footer-cta .primary-sidebar .widget-container {
	flex: 1 1 auto;
}

.footer-cta ul.news-list {
	flex: 1 1 auto;
}

.footer-cta .h5.heading {
	letter-spacing: var(--th-tracking-tight);
	font-weight: 700;
	margin-bottom: var(--th-space-5);
	color: var(--th-color-ink);
	font-family: var(--th-font-display);
	font-size: clamp(1.05rem, 0.9rem + 0.5vw, 1.2rem);
	line-height: var(--th-leading-snug);
	padding-bottom: 0.65rem;
	border-bottom: 2px solid rgba(var(--th-rgb-denim), 0.15);
}

.footer-cta .primary-sidebar ul,
.footer-cta .news-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Heroic KB / widgets often inject ::before icons — strip in this strip so text never overlaps */
.footer-cta .primary-sidebar ul li::before,
.footer-cta .primary-sidebar ul li::after,
.footer-cta .primary-sidebar a::before,
.footer-cta .primary-sidebar a::after,
.footer-cta .widget-container ul li::before,
.footer-cta .widget-container ul li::after,
.footer-cta .hkb_widget_articles ul li::before,
.footer-cta .hkb_widget_articles ul li::after,
.footer-cta .hkb_widget_articles a::before,
.footer-cta .hkb_widget_articles a::after {
	content: none !important;
	display: none !important;
}

.footer-cta .primary-sidebar li,
.footer-cta .news-list li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgba(var(--th-rgb-abbey), 0.1);
}

.footer-cta .primary-sidebar li:last-child,
.footer-cta .news-list li:last-child {
	border-bottom: none;
}

/* KB links — clean rows (subtle accent; no crowded rules) */
.footer-cta .primary-sidebar a.hkb-widget__entry-title,
.footer-cta .primary-sidebar .widget-container a {
	display: block;
	padding: 0.55rem 0 0.55rem 0.85rem;
	margin: 0;
	border-left: 2px solid rgba(var(--th-rgb-denim), 0.18);
	border-radius: 0 var(--th-radius-sm) var(--th-radius-sm) 0;
	transition:
		color var(--afp-transition),
		border-color var(--afp-transition),
		background-color var(--afp-transition);
}

.footer-cta .primary-sidebar a.hkb-widget__entry-title:hover,
.footer-cta .primary-sidebar .widget-container a:hover {
	color: var(--afp-fill-hover);
	border-left-color: rgba(var(--th-rgb-turquoise), 0.65);
	background-color: rgba(var(--th-rgb-turquoise), 0.06);
}

.footer-cta .news-list a,
.footer-cta .footer-cta__news-item {
	display: block;
	padding: 0.55rem 0 0.55rem 0.85rem;
	margin: 0;
	border-left: 2px solid rgba(var(--th-rgb-denim), 0.18);
	border-radius: 0 var(--th-radius-sm) var(--th-radius-sm) 0;
	transition:
		color var(--afp-transition),
		border-color var(--afp-transition),
		background-color var(--afp-transition);
}

.footer-cta .news-list a:hover,
.footer-cta .footer-cta__news-item:hover {
	border-left-color: rgba(var(--th-rgb-turquoise), 0.65);
	background-color: rgba(var(--th-rgb-turquoise), 0.06);
}

.footer-cta .primary-sidebar a,
.footer-cta .news-list a,
.footer-cta .footer-cta__news-item {
	color: var(--th-color-ink-soft);
	text-decoration: none;
	font-size: var(--th-text-sm);
	font-weight: 500;
	line-height: var(--th-leading-snug);
	transition: color var(--afp-transition);
}

.footer-cta .primary-sidebar a:hover,
.footer-cta .news-list a:hover,
.footer-cta .footer-cta__news-item:hover {
	color: var(--afp-fill-hover);
}

/* KB / News pill CTAs — Turquoise → Denim; pin to bottom of card on large screens */
.footer-cta a.btn.btn-brand.mt-3 {
	border-radius: var(--afp-radius-pill);
	font-weight: 600;
	padding: 0.62rem 1.5rem;
	margin-top: var(--th-space-5) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: var(--afp-fill) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	color: var(--th-palette-white) !important;
	box-shadow: 0 8px 22px rgba(var(--th-rgb-turquoise), 0.35);
	transition:
		background-color var(--afp-transition),
		box-shadow var(--afp-transition),
		transform var(--afp-transition),
		border-color var(--afp-transition);
}

.footer-cta a.btn.btn-brand.mt-3:hover,
.footer-cta a.btn.btn-brand.mt-3:focus-visible {
	background: var(--afp-fill-hover) !important;
	box-shadow: 0 10px 28px rgba(var(--th-rgb-denim), 0.38);
	transform: translateY(-2px);
	color: var(--th-palette-white) !important;
	outline: none;
}

@media (min-width: 992px) {
	.footer-cta a.btn.btn-brand.mt-3 {
		margin-top: auto !important;
		align-self: flex-start;
	}
}

/* Social — 5-up grid so icons never spill past card edge */
.footer-cta .social-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(0.35rem, 1.5vw, 0.55rem);
	list-style: none;
	margin: var(--th-space-4) 0 0;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
}

@media (min-width: 992px) {
	.footer-cta .footer-cta__col--social .social-list,
	.footer-cta .col-lg-3.offset-lg-1 .social-list {
		margin: auto 0 0 !important;
	}
}

@media (max-width: 575.98px) {
	.footer-cta .social-list {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		max-width: 100%;
	}
}

.footer-cta .social-list li {
	margin: 0;
	min-width: 0;
	display: flex;
	justify-content: center;
}

.footer-cta .social-list .btn.btn-brand {
	width: 100%;
	max-width: 2.75rem;
	height: 2.75rem;
	margin: 0 auto;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--afp-fill) !important;
	color: var(--th-palette-white) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	box-shadow: 0 6px 18px rgba(var(--th-rgb-turquoise), 0.35);
	transition:
		background-color var(--afp-transition),
		box-shadow var(--afp-transition),
		transform var(--afp-transition),
		border-color var(--afp-transition);
}

.footer-cta .social-list .btn.btn-brand:hover,
.footer-cta .social-list .btn.btn-brand:focus-visible {
	background: var(--afp-fill-hover) !important;
	box-shadow: 0 8px 24px rgba(var(--th-rgb-denim), 0.4);
	transform: translateY(-3px) scale(1.05);
	color: var(--th-palette-white) !important;
	outline: none;
}

.footer-cta .social-list .btn.btn-brand i {
	font-size: 1.15rem;
	line-height: 1;
	color: inherit;
}

.footer-cta .social-list .btn.btn-brand svg {
	display: block;
}

.footer-cta .social-list .btn.btn-brand .twitter-x-icon path {
	fill: currentColor;
}

/* ----- Mailing band ----- */
.footer-mailinglist.bg-brand-blue {
	position: relative;
	z-index: 5;
	overflow: hidden;
	border-top: 2px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 -6px 40px rgba(var(--th-rgb-woodsmoke), 0.12);
	background-color: var(--th-palette-denim);
	background-image: var(--th-gradient-mailing-band);
	color: var(--th-color-on-dark-soft);
	font-family: var(--th-font-sans);
	padding-top: clamp(2.75rem, 6vw, 4rem) !important;
	padding-bottom: clamp(2.75rem, 6vw, 4rem) !important;
}

.footer-mailinglist .h5.heading {
	font-weight: 800;
	letter-spacing: var(--th-tracking-tight);
	font-size: clamp(1.35rem, 1rem + 1.5vw, 2rem);
	margin-bottom: var(--th-space-3);
	color: var(--th-palette-white);
	font-family: var(--th-font-display);
}

.footer-mailinglist p {
	color: rgba(255, 255, 255, 0.9);
	max-width: 38rem;
	margin-left: auto;
	margin-right: auto;
	line-height: var(--th-leading-relaxed);
	font-size: var(--th-text-sm);
}

.footer-mailinglist .mailing-form.submit-icon {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: nowrap;
}

.footer-mailinglist .mailing-form {
	border-radius: var(--afp-radius-pill);
	box-shadow: 0 14px 42px rgba(0, 0, 0, 0.22);
	border: 2px solid var(--th-palette-turquoise);
	max-width: min(32rem, 100%);
	margin: 1.75rem auto 0;
	background: var(--th-palette-white);
	position: relative;
	transition:
		box-shadow var(--afp-transition),
		border-color var(--afp-transition);
}

.footer-mailinglist .mailing-form:focus-within {
	border-color: var(--th-palette-denim);
	box-shadow:
		0 0 0 3px rgba(var(--th-rgb-turquoise), 0.35),
		0 18px 48px rgba(0, 0, 0, 0.28);
}

.footer-mailinglist .mailing-form .form-control {
	flex: 1;
	min-width: 0;
	border: none;
	border-radius: var(--afp-radius-pill) 0 0 var(--afp-radius-pill);
	background: transparent;
	padding-left: 1.5rem;
	min-height: 52px;
	color: var(--th-color-ink);
	font-weight: 500;
}

.footer-mailinglist .mailing-form .form-control::placeholder {
	color: rgba(var(--th-rgb-abbey), 0.55);
}

.footer-mailinglist .mailing-form .btn.mailing-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3.25rem;
	min-height: 44px;
	margin: 4px 5px 4px 0;
	padding-left: 0.85rem;
	padding-right: 0.85rem;
	border-radius: 50% !important;
	box-shadow: 0 6px 20px rgba(var(--th-rgb-turquoise), 0.35);
	background: var(--afp-fill) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	color: var(--th-palette-white) !important;
	transition:
		background-color var(--afp-transition),
		box-shadow var(--afp-transition),
		transform var(--afp-transition);
}

.footer-mailinglist .mailing-form .btn.mailing-submit:hover,
.footer-mailinglist .mailing-form .btn.mailing-submit:focus-visible {
	background: var(--afp-fill-hover) !important;
	box-shadow: 0 8px 26px rgba(var(--th-rgb-denim), 0.42);
	transform: scale(1.04);
	outline: none;
}

.footer-mailinglist .mailing-form .btn.mailing-submit .dashicons.icon {
	filter: none !important;
	color: var(--th-palette-white) !important;
	font-size: 18px;
	width: 18px;
	height: 18px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Location templates: add breathing room before the footer mailing band. */
body.airband-location-premium .footer-mailinglist.bg-brand-blue,
body.airband-location-rural .footer-mailinglist.bg-brand-blue {
	position: relative;
	z-index: 5;
	margin-top: clamp(3rem, 6vw, 5rem) !important;
	padding-top: clamp(6rem, 9vw, 8rem) !important;
	clear: both;
	scroll-margin-top: 9rem;
}

body.airband-location-premium .footer-mailinglist.bg-brand-blue .container,
body.airband-location-rural .footer-mailinglist.bg-brand-blue .container {
	position: relative;
	z-index: 2;
}

/* ----- Main footer — dark columns + support CTAs ----- */
#footer.site-footer--premium,
.site-footer.site-footer--premium {
	border-top: 2px solid rgba(var(--th-rgb-turquoise), 0.25);
	background: linear-gradient(180deg, var(--th-palette-shark) 0%, var(--th-palette-woodsmoke) 52%, #1e2126 100%);
	color: rgba(255, 255, 255, 0.93);
	font-family: var(--th-font-sans);
	padding-top: clamp(3rem, 6vw, 4rem);
	padding-bottom: clamp(2.25rem, 5vw, 3.25rem);
	box-shadow: 0 -12px 60px rgba(0, 0, 0, 0.35);
}

#footer.site-footer--premium .footer-main {
	padding-bottom: clamp(2rem, 4vw, 2.75rem);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
}

#footer.site-footer--premium .footer-heading {
	font-weight: 700;
	letter-spacing: 0.14em;
	color: var(--th-palette-white);
	font-family: var(--th-font-display);
	font-size: 0.72rem;
	text-transform: uppercase;
	margin-bottom: var(--th-space-5);
	opacity: 0.98;
}

#footer.site-footer--premium .footer-wrap.navbar-nav,
#footer.site-footer--premium .footer-wrap .navbar-nav {
	flex-direction: column;
	gap: 0.45rem;
}

#footer.site-footer--premium .footer-wrap a:not(.support-btn) {
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	font-weight: 500;
	font-size: var(--th-text-sm);
	line-height: var(--th-leading-snug);
	transition: color var(--afp-transition);
}

#footer.site-footer--premium .footer-wrap a:not(.support-btn):hover,
#footer.site-footer--premium .footer-wrap a:not(.support-btn):focus {
	color: var(--th-palette-turquoise);
}

/* Support column — full-width pill buttons, strong contrast (no yellow) */
#footer.site-footer--premium .footer-wrap a.support-btn {
	display: block;
	width: 100%;
	text-align: center;
	text-decoration: none !important;
	font-weight: 700;
	font-size: var(--th-text-sm);
	letter-spacing: 0.02em;
	padding: 0.85rem 1.25rem;
	border-radius: var(--afp-radius-pill);
	background: var(--afp-fill) !important;
	color: var(--th-palette-white) !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	box-shadow: 0 8px 24px rgba(var(--th-rgb-turquoise), 0.25);
	transition:
		background-color var(--afp-transition),
		box-shadow var(--afp-transition),
		transform var(--afp-transition);
}

#footer.site-footer--premium .footer-wrap a.support-btn:hover,
#footer.site-footer--premium .footer-wrap a.support-btn:focus {
	background: var(--afp-fill-hover) !important;
	color: var(--th-palette-white) !important;
	box-shadow: 0 12px 32px rgba(var(--th-rgb-denim), 0.35);
	transform: translateY(-2px);
}

#footer.site-footer--premium .footer-secondary {
	padding-top: 0.35rem;
}

/* Logo + contact — readability */
#footer.site-footer--premium #colophon {
	font-size: var(--th-text-sm);
	line-height: var(--th-leading-relaxed);
}

@media (min-width: 992px) {
	#footer.site-footer--premium #colophon .col-lg-8 {
		padding-left: clamp(1.5rem, 3vw, 2.5rem);
		border-left: 1px solid rgba(255, 255, 255, 0.1);
	}
}

#footer.site-footer--premium #colophon p {
	color: rgba(255, 255, 255, 0.82);
	margin-bottom: 0.65rem;
}

#footer.site-footer--premium #colophon p.mb-0:last-of-type {
	margin-bottom: 0;
}

#footer.site-footer--premium #colophon a {
	color: var(--th-palette-white);
	text-decoration: none;
	font-weight: 700;
	border-bottom: 1px solid transparent;
	transition:
		color var(--afp-transition),
		border-color var(--afp-transition);
}

#footer.site-footer--premium #colophon a:hover {
	color: var(--th-palette-seagull);
	border-bottom-color: rgba(var(--th-rgb-seagull), 0.45);
}

#footer.site-footer--premium .logo {
	display: inline-block;
	transition: opacity var(--afp-transition);
}

#footer.site-footer--premium .logo:hover {
	opacity: 0.92;
}

#footer.site-footer--premium .logo img {
	max-width: min(100%, 200px);
	height: auto;
	display: block;
}

#footer.site-footer--premium .footer-logo-text {
	font-weight: 800;
	font-size: var(--th-text-xl);
	letter-spacing: var(--th-tracking-tight);
	color: var(--th-palette-white);
	font-family: var(--th-font-display);
}

@media (max-width: 991.98px) {
	#footer.site-footer--premium #colophon .col-lg-8 {
		padding-left: 0;
		border-left: none;
		padding-top: 1.25rem;
		margin-top: 0.5rem;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
	}

	/* Match centred headings — support pills were full width but left-aligned inside the column */
	#footer.site-footer--premium .footer-main .row > [class*='col'] {
		text-align: center !important;
	}

	#footer.site-footer--premium .footer-main .footer-wrap.navbar-nav,
	#footer.site-footer--premium .footer-main .footer-wrap .navbar-nav,
	#footer.site-footer--premium .footer-main .menu-footer-column-1-container .footer-wrap,
	#footer.site-footer--premium .footer-main .menu-footer-column-2-container .footer-wrap,
	#footer.site-footer--premium .footer-main .menu-footer-column-3-container .footer-wrap,
	#footer.site-footer--premium .footer-main .menu-footer-column-4-container .footer-wrap,
	#footer.site-footer--premium .footer-main .footer-wrap:not(.navbar-nav) {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		width: 100% !important;
		max-width: min(22rem, 100%) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	#footer.site-footer--premium .footer-main .footer-wrap a.support-btn {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

@media (max-width: 575.98px) {
	.footer-cta .container,
	.footer-mailinglist .container,
	#footer.site-footer--premium .container {
		padding-left: max(var(--th-space-gutter), env(safe-area-inset-left, 0px)) !important;
		padding-right: max(var(--th-space-gutter), env(safe-area-inset-right, 0px)) !important;
	}

	/* Headings are centered on small screens — align CTAs to match */
	.footer-cta .footer-cta__col,
	.footer-cta .latest-posts-col {
		text-align: center !important;
		align-items: center !important;
	}

	.footer-cta .footer-cta__col .btn.btn-brand.mt-3,
	.footer-cta .latest-posts-col .btn.btn-brand.mt-3 {
		display: inline-flex !important;
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		width: auto !important;
		min-width: min(100%, 18rem) !important;
		max-width: 100% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.footer-cta a.btn.btn-brand.mt-3,
	.footer-cta .social-list .btn.btn-brand,
	.footer-mailinglist .mailing-form,
	.footer-mailinglist .mailing-form .btn.mailing-submit,
	#footer.site-footer--premium .footer-wrap a,
	#footer.site-footer--premium #colophon a {
		transition: none;
	}
}

/* -------------------------------------------------------------------------- */
/* 2026 premium footer refresh                                                */
/* -------------------------------------------------------------------------- */

.footer-cta--premium-luxury.bg-brand-off-white {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 8% 0%, rgba(var(--th-rgb-turquoise), 0.18), transparent 24rem),
		radial-gradient(circle at 92% 0%, rgba(var(--th-rgb-seagull), 0.16), transparent 24rem),
		linear-gradient(180deg, #f8fcff 0%, #ffffff 100%) !important;
	border-top: 1px solid rgba(var(--th-rgb-denim), 0.1);
}

.footer-cta--premium-luxury::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: min(1340px, calc(100% - 2rem));
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(var(--th-rgb-turquoise), 0.65), transparent);
	transform: translateX(-50%);
}

.footer-cta--premium-luxury .footer-cta__col,
.footer-cta--premium-luxury .latest-posts-col {
	position: relative;
	border-color: rgba(var(--th-rgb-denim), 0.13);
	border-radius: clamp(1.2rem, 2.5vw, 1.65rem);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(248, 253, 255, 0.82)),
		radial-gradient(circle at 92% 8%, rgba(var(--th-rgb-turquoise), 0.18), transparent 9rem);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 20px 56px rgba(var(--th-rgb-denim), 0.08);
	transition:
		transform 0.32s var(--th-ease-out, ease),
		box-shadow 0.32s var(--th-ease-out, ease),
		border-color 0.32s var(--th-ease-out, ease);
}

.footer-cta--premium-luxury .footer-cta__col:hover,
.footer-cta--premium-luxury .latest-posts-col:hover {
	transform: translateY(-5px);
	border-color: rgba(var(--th-rgb-turquoise), 0.42);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 30px 82px rgba(var(--th-rgb-denim), 0.14);
}

.footer-cta--premium-luxury .h5.heading {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	border-bottom: 0;
	padding-bottom: 0;
}

.footer-cta--premium-luxury .h5.heading::before {
	content: "";
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: var(--th-palette-turquoise);
	box-shadow: 0 0 0 0.35rem rgba(var(--th-rgb-turquoise), 0.15);
}

.footer-mailinglist--premium-luxury.bg-brand-blue {
	background:
		radial-gradient(circle at 18% 0%, rgba(var(--th-rgb-turquoise), 0.34), transparent 26rem),
		radial-gradient(circle at 85% 70%, rgba(var(--th-rgb-seagull), 0.24), transparent 28rem),
		linear-gradient(125deg, #2b8fd9 0%, var(--th-palette-denim) 42%, #155a9e 76%, #1e6aad 100%) !important;
}

.footer-mailinglist--premium-luxury #mailing-list-form {
	width: min(760px, 100%);
	margin-inline: auto;
	padding: clamp(1.6rem, 4vw, 2.4rem);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: clamp(1.4rem, 3vw, 2rem);
	background: rgba(255, 255, 255, 0.1);
	box-shadow: 0 26px 82px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

#footer.site-footer--premium-luxury {
	position: relative;
	overflow: hidden;
	border-top: 1px solid rgba(var(--th-rgb-turquoise), 0.32);
	background:
		radial-gradient(circle at 12% 0%, rgba(var(--th-rgb-turquoise), 0.16), transparent 24rem),
		radial-gradient(circle at 88% 18%, rgba(var(--th-rgb-denim), 0.2), transparent 26rem),
		linear-gradient(180deg, rgba(var(--th-rgb-shark), 1) 0%, rgba(var(--th-rgb-woodsmoke), 1) 56%, #101214 100%) !important;
}

#footer.site-footer--premium-luxury::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: min(1340px, calc(100% - 2rem));
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(var(--th-rgb-turquoise), 0.7), transparent);
	transform: translateX(-50%);
}

#footer.site-footer--premium-luxury > .container {
	position: relative;
	z-index: 1;
}

#footer.site-footer--premium-luxury .footer-brand-panel {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: stretch;
	margin-bottom: clamp(1.4rem, 3vw, 2rem);
	padding: clamp(1.25rem, 3vw, 1.8rem);
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: clamp(1.35rem, 3vw, 2rem);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.025)),
		radial-gradient(circle at 0% 0%, rgba(var(--th-rgb-turquoise), 0.12), transparent 18rem);
	box-shadow: 0 26px 82px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

#footer.site-footer--premium-luxury .footer-brand-panel__identity {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
}

#footer.site-footer--premium-luxury .footer-brand-panel__logo {
	display: inline-flex;
	width: fit-content;
	transition: transform 0.25s ease, filter 0.25s ease;
}

#footer.site-footer--premium-luxury .footer-brand-panel__logo:hover {
	transform: translateY(-2px);
	filter: drop-shadow(0 16px 34px rgba(var(--th-rgb-turquoise), 0.18));
}

#footer.site-footer--premium-luxury .footer-brand-panel__logo img {
	max-width: min(100%, 210px);
	height: auto;
	display: block;
}

#footer.site-footer--premium-luxury .footer-brand-panel__strapline {
	max-width: 42rem;
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(1rem, 0.8rem + 0.55vw, 1.15rem);
	line-height: var(--th-leading-relaxed);
}

#footer.site-footer--premium-luxury .footer-brand-panel__actions {
	display: grid;
	gap: 0.8rem;
	align-content: center;
}

#footer.site-footer--premium-luxury .footer-brand-panel__contact {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 1rem 1.15rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.06);
	text-decoration: none;
	transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

#footer.site-footer--premium-luxury .footer-brand-panel__contact span {
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

#footer.site-footer--premium-luxury .footer-brand-panel__contact strong {
	color: #fff;
	font-size: clamp(0.98rem, 0.9rem + 0.25vw, 1.08rem);
	font-weight: 700;
	line-height: 1.25;
	word-break: break-word;
}

#footer.site-footer--premium-luxury .footer-brand-panel__contact:hover {
	transform: translateY(-2px);
	border-color: rgba(var(--th-rgb-turquoise), 0.4);
	background: rgba(var(--th-rgb-turquoise), 0.09);
}

#footer.site-footer--premium-luxury .footer-main--premium-luxury {
	position: relative;
	padding: clamp(1rem, 2vw, 1.4rem);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: clamp(1.4rem, 3vw, 2rem);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025)),
		radial-gradient(circle at 100% 0%, rgba(var(--th-rgb-turquoise), 0.1), transparent 18rem);
	box-shadow: 0 28px 90px rgba(0, 0, 0, 0.32);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

#footer.site-footer--premium-luxury .footer-main--premium-luxury .row > [class*="col"] {
	padding: clamp(1rem, 2vw, 1.35rem);
	border-radius: 1rem;
	transition: background 0.25s ease, transform 0.25s ease;
}

#footer.site-footer--premium-luxury .footer-main--premium-luxury .row > [class*="col"]:hover {
	background: rgba(255, 255, 255, 0.045);
	transform: translateY(-2px);
}

#footer.site-footer--premium-luxury .footer-heading {
	color: #fff;
}

#footer.site-footer--premium-luxury .footer-wrap a:not(.support-btn) {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding-block: 0.08rem;
}

#footer.site-footer--premium-luxury .footer-wrap a:not(.support-btn)::before {
	content: "";
	width: 0.32rem;
	height: 0.32rem;
	border-radius: 999px;
	background: rgba(var(--th-rgb-turquoise), 0.75);
	opacity: 0;
	transform: scale(0.4);
	transition: opacity 0.22s ease, transform 0.22s ease;
}

#footer.site-footer--premium-luxury .footer-wrap a:not(.support-btn):hover::before {
	opacity: 1;
	transform: scale(1);
}

#footer.site-footer--premium-luxury .footer-secondary--premium-luxury {
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: clamp(1.15rem, 2.5vw, 1.5rem);
	background: rgba(255, 255, 255, 0.045);
}

@media (max-width: 991.98px) {
	.footer-mailinglist--premium-luxury #mailing-list-form,
	#footer.site-footer--premium-luxury .footer-brand-panel,
	#footer.site-footer--premium-luxury .footer-main--premium-luxury,
	#footer.site-footer--premium-luxury .footer-secondary--premium-luxury {
		border-radius: 1.2rem;
	}

	#footer.site-footer--premium-luxury .footer-brand-panel {
		grid-template-columns: 1fr;
		text-align: center;
	}

	#footer.site-footer--premium-luxury .footer-brand-panel__identity,
	#footer.site-footer--premium-luxury .footer-brand-panel__logo {
		align-items: center;
		margin-inline: auto;
	}

	#footer.site-footer--premium-luxury .footer-wrap a:not(.support-btn) {
		justify-content: center;
	}
}
