/* Everest Header & Footer — footer.css */

.ehf-footer {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, #0b6993 0%, #084f70 55%, #063a52 100%);
	color: #eaf6fc;
	padding: 48px 0 0;
	width: 100%;
	max-width: none;
	margin: 0;
}

.ehf-footer__accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, #17a2c9, #0b6993, #17a2c9);
	background-size: 200% 100%;
	animation: ehf-shift 6s linear infinite;
}

.ehf-footer__col,
.ehf-footer__trust-heading,
.ehf-footer__badges,
.ehf-footer__reviews {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.ehf-footer__col.is-visible,
.ehf-footer__trust-heading.is-visible,
.ehf-footer__badges.is-visible,
.ehf-footer__reviews.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.ehf-footer__col,
	.ehf-footer__trust-heading,
	.ehf-footer__badges,
	.ehf-footer__reviews {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.ehf-footer__accent {
		animation: none;
	}
}

.ehf-footer__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	opacity: 0.16;
	pointer-events: none;
}

.ehf-footer__blob--a {
	width: 420px;
	height: 420px;
	background: #17a2c9;
	top: -180px;
	right: -120px;
}

.ehf-footer__blob--b {
	width: 320px;
	height: 320px;
	background: #ffffff;
	bottom: -40px;
	left: -100px;
	opacity: 0.06;
}

.ehf-footer__nap {
	position: relative;
	z-index: 1;
	max-width: var(--ehf-container, 1200px);
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
	display: grid;
	grid-template-columns: 1.1fr 1.2fr 1fr;
	gap: 28px;
	box-sizing: border-box;
}

.ehf-footer__col {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.ehf-footer__logo {
	width: 140px;
	height: auto;
}

.ehf-footer__heading {
	margin: 0;
	font-family: "Nunito", sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #ffffff;
}

.ehf-footer__text {
	margin: 0;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: #eaf2f6;
}

.ehf-footer__text a,
.ehf-footer__text a:link,
.ehf-footer__text a:visited {
	color: #ffffff !important;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	transition: border-color 0.15s ease;
}

.ehf-footer__text a:hover,
.ehf-footer__text a:focus-visible,
.ehf-footer__text a:active {
	border-color: #ffffff;
	color: #ffffff !important;
}

.ehf-footer__socials {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.ehf-footer__social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #ffffff;
	flex-shrink: 0;
	transition: transform 0.15s ease;
}

.ehf-footer__social:hover,
.ehf-footer__social:focus-visible {
	transform: scale(1.08);
}

.ehf-footer__social svg {
	width: 14px;
	height: 14px;
	fill: #0b6993;
}

.ehf-footer__locations {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ehf-footer__locations li {
	display: flex;
	align-items: baseline;
	gap: 8px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	color: #eaf2f6;
}

.ehf-footer__locations svg {
	width: 12px;
	height: 12px;
	fill: #eaf2f6;
	flex-shrink: 0;
	transform: translateY(2px);
}

.ehf-footer__locations a,
.ehf-footer__locations a:link,
.ehf-footer__locations a:visited {
	color: #ffffff !important;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.ehf-footer__locations a:hover,
.ehf-footer__locations a:focus-visible,
.ehf-footer__locations a:active {
	border-color: #ffffff;
	color: #ffffff !important;
}

.ehf-footer__more,
.ehf-footer__links a,
.ehf-footer__links a:link,
.ehf-footer__links a:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffffff !important;
	text-decoration: none;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	font-weight: 600;
}

.ehf-footer__more svg,
.ehf-footer__links svg {
	width: 12px;
	height: 12px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform 0.15s ease;
}

.ehf-footer__more:hover svg,
.ehf-footer__links a:hover svg {
	transform: translateX(3px);
}

.ehf-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ehf-footer__links a {
	opacity: 0.92;
	transition: opacity 0.15s ease;
}

.ehf-footer__links a:hover,
.ehf-footer__links a:focus-visible,
.ehf-footer__links a:active {
	opacity: 1;
	color: #ffffff !important;
}

.ehf-footer__cta,
.ehf-footer__cta:link,
.ehf-footer__cta:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #ffffff;
	color: #0b6993 !important;
	text-decoration: none;
	font-family: "Nunito", sans-serif;
	font-size: 13px;
	font-weight: 700;
	padding: 10px 16px;
	border-radius: var(--ehf-r-sm, 8px);
	margin-top: 4px;
	width: fit-content;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ehf-footer__cta:hover,
.ehf-footer__cta:focus-visible,
.ehf-footer__cta:active {
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
	color: #0b6993 !important;
}

.ehf-footer__cta svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Trust band */
.ehf-footer__trust {
	position: relative;
	z-index: 1;
	max-width: var(--ehf-container, 1200px);
	margin: 32px auto 0;
	padding: 24px 24px 32px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	box-sizing: border-box;
}

.ehf-footer__trust-heading {
	margin: 0;
	font-family: "Nunito", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #ffffff;
	text-align: center;
}

.ehf-footer__badges {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 28px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--ehf-r-lg, 16px);
	padding: 20px 24px;
	width: 100%;
}

.ehf-footer__reviews {
	width: 100%;
}

/* Google Reviews (GRW shortcode). Scoped overrides — do not edit widget-google-reviews.
   Plugin uses !important + --col breakpoints: xs<510, x<750, s<1050, m<1450. */
.ehf-footer__reviews .wp-gr {
	--card-gap: 16px;
	--slider-gap: 16px;
	--slider-btn-offset: 4px;
}

.ehf-footer__reviews .wp-gr .rpi-slides {
	gap: 16px !important;
}

.ehf-footer__reviews .wp-gr .rpi-slide.grw-review {
	aspect-ratio: 1 / 1;
	height: auto !important;
	align-items: stretch !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: var(--ehf-r-lg, 16px) !important;
	box-sizing: border-box;
}

.ehf-footer__reviews .wp-gr .grw-review-inner {
	height: 100% !important;
	margin: 0 !important;
	padding: 20px !important;
	border-radius: var(--ehf-r-lg, 16px) !important;
	overflow: hidden;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box;
}

.ehf-footer__reviews .wp-gr .grw-review .wp-google-feedback {
	height: auto !important;
	flex: 1 1 auto !important;
	min-height: 0;
	overflow-y: auto !important;
}

/* GRW row-x (container <750) splits header|cards 50/50. Stack on the
   class GRW actually sets — viewport queries miss the pad-adjusted row. */
.ehf-footer__reviews .wp-gr .grw-row-x,
.ehf-footer__reviews .wp-gr .grw-row-xs {
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 16px;
}

.ehf-footer__reviews .wp-gr .grw-row-x .grw-header,
.ehf-footer__reviews .wp-gr .grw-row-x .grw-content,
.ehf-footer__reviews .wp-gr .grw-row-xs .grw-header,
.ehf-footer__reviews .wp-gr .grw-row-xs .grw-content {
	flex: 1 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* row-x sets --col:1 on reviews inside content (one giant square). Show two. */
.ehf-footer__reviews .wp-gr .grw-row-x .grw-header + .grw-content .grw-review,
.ehf-footer__reviews .wp-gr .grw-row-x .grw-review {
	--col: 2;
}

.ehf-footer__reviews .wp-gr .grw-row-xs .grw-header + .grw-content .grw-review,
.ehf-footer__reviews .wp-gr .grw-row-xs .grw-review {
	--col: 1;
}

.ehf-footer__reviews .wp-gr .grw-row-xs .grw-review-inner {
	padding: 16px !important;
}

/* Bottom bar — full-bleed ribbon (same pattern as .ehf-utility).
   Parent .ehf-footer has no horizontal padding so this hits viewport corners. */
.ehf-footer__bottom {
	position: relative;
	z-index: 1;
	margin: 0;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	background: #0b1220;
	padding: 14px 24px;
}

.ehf-footer__bottom-row {
	max-width: var(--ehf-container, 1200px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr) 140px;
	align-items: center;
	column-gap: 16px;
}

.ehf-footer__bottom p {
	grid-column: 2;
	margin: 0;
	text-align: center;
	font-family: "Nunito Sans", sans-serif;
	font-size: 13px;
	line-height: 1.4;
	color: #ffffff;
}

/* Official Overlord badge. Isolated from footer link/tile rules.
   Empty first column matches the 140px badge so the copyright line stays centered. */
.ehf-footer__overlord {
	grid-column: 3;
	justify-self: end;
	line-height: 0;
}

.ehf-footer__overlord .overlord-badge,
.ehf-footer__overlord .overlord-badge:link,
.ehf-footer__overlord .overlord-badge:visited,
.ehf-footer__overlord .overlord-badge:hover,
.ehf-footer__overlord .overlord-badge:focus,
.ehf-footer__overlord .overlord-badge:active {
	display: inline-block;
	box-sizing: content-box;
	width: 140px;
	height: 40px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-decoration: none;
	line-height: 40px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 11px;
	font-weight: 600;
	color: #ffffff;
	text-align: center;
	overflow: hidden;
	vertical-align: middle;
	transform: none;
}

.ehf-footer__overlord .overlord-badge:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

.ehf-footer__overlord .overlord-badge img {
	display: block;
	width: 140px;
	height: 40px;
	max-width: 140px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	object-fit: contain;
}

@media (max-width: 1024px) {
	.ehf-footer__nap {
		grid-template-columns: 1fr;
		gap: 32px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.ehf-footer__trust {
		padding-left: 16px;
		padding-right: 16px;
	}

	.ehf-footer__bottom {
		padding-left: 16px;
		padding-right: 16px;
	}

	.ehf-footer__bottom-row {
		grid-template-columns: 1fr;
		row-gap: 10px;
		justify-items: center;
	}

	.ehf-footer__bottom p,
	.ehf-footer__overlord {
		grid-column: 1;
		justify-self: center;
	}

	.ehf-footer__bottom p {
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ehf-footer * {
		transition-duration: 0.001ms !important;
	}
}

/* ---- Shared badge-tile component: normalizes wildly different logo aspect
   ratios (wide horizontal marks vs. tall vertical seals vs. square crests)
   into one consistent visual unit, used by both the stats band and the
   footer. Every tile is the SAME fixed box; the logo scales to fit inside
   via object-fit:contain (never cropped, never stretched) regardless of its
   real aspect ratio. Fixed box size (not just min-width) is what actually
   makes a row of unrelated logos read as one deliberate, uniform group
   instead of a jumble of different-width chips. ---- */
.ehf-badge-tile {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 108px;
	height: 72px;
	padding: 12px;
	border-radius: var(--ehf-r-md, 12px);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	flex-shrink: 0;
}

.ehf-badge-tile img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(10%);
	transition: filter 0.2s ease;
}

.ehf-badge-tile:hover,
.ehf-badge-tile:focus-visible {
	transform: translateY(-3px);
}

.ehf-badge-tile:hover img,
.ehf-badge-tile:focus-visible img {
	filter: grayscale(0%);
}

.ehf-badge-tile--light {
	background: #ffffff;
	box-shadow: var(--ehf-shadow-1, 0 1px 2px rgba(17, 24, 39, 0.06));
	border: 1px solid #eef1f3;
}

/* ---- Hover lock (moved here from hover.css in 1.4.0: Hello Elementor a:hover{color:#336} reset) ---- */
.ehf-footer__cta:hover,
.ehf-footer__cta:focus,
.ehf-footer__cta:focus-visible,
.ehf-footer__cta:active {
	color: #0b6993 !important;
}

.ehf-footer__text a:hover,
.ehf-footer__text a:focus-visible,
.ehf-footer__text a:active,
.ehf-footer__locations a:hover,
.ehf-footer__locations a:focus-visible,
.ehf-footer__locations a:active,
.ehf-footer__links a:hover,
.ehf-footer__links a:focus-visible,
.ehf-footer__links a:active,
.ehf-footer__more:hover,
.ehf-footer__more:focus-visible,
.ehf-footer__more:active {
	color: #ffffff !important;
}

.ehf-footer__reviews button.rpi-ltgt,
.ehf-footer__reviews button.rpi-ltgt[type="button"] {
	width: auto !important;
	color: #555555 !important;
	--slider-btn-color: #555555;
}

.ehf-footer__reviews button.rpi-ltgt:hover,
.ehf-footer__reviews button.rpi-ltgt:focus,
.ehf-footer__reviews button.rpi-ltgt:focus-visible,
.ehf-footer__reviews button.rpi-ltgt:active,
.ehf-footer__reviews button.rpi-ltgt[type="button"]:hover,
.ehf-footer__reviews button.rpi-ltgt[type="button"]:focus,
.ehf-footer__reviews button.rpi-ltgt[type="button"]:focus-visible,
.ehf-footer__reviews button.rpi-ltgt[type="button"]:active {
	color: #0b6993 !important;
	background-color: #ffffff !important;
	--slider-btn-color: #0b6993;
}
