/* ==========================================================================
   Prestige Detailing — footer (pd-footer)
   Rendered in Enfold's footer slot, INSIDE #wrap_all, so every rule is paired
   with a "#top #wrap_all .pd-foot" twin to beat Enfold's colour-set rules.
   Tokens (--pd-nav-*) and the .pd-nav-t cap-trim utility come from pd-main-nav.
   No !important, no margin/padding shorthands.
   ========================================================================== */

/* ---------- Enfold's own footer stands down ---------- */
body.pd-foot-on #footer,
body.pd-foot-on #socket,
body.pd-foot-on .footer-page-content,
body.pd-foot-on #scroll-top-link,
#top.pd-foot-on #wrap_all #footer,
#top.pd-foot-on #wrap_all #socket,
#top.pd-foot-on #wrap_all .footer-page-content,
#top.pd-foot-on #scroll-top-link {
	display: none;
}

/* ---------- Tokens (desktop) ---------- */
.pd-foot {
	--pd-foot-pt: clamp(96px, 9.259vw, 160px);      /* 160 @ 1728 */
	--pd-foot-pb: 96px;
	--pd-foot-gap: 96px;
	--pd-foot-col-w: 225px;
	--pd-foot-link-fs: 18px;
	--pd-foot-link-lh: 28px;
	--pd-foot-list-gap: 20px;
	--pd-foot-col-gap: 28px;
	--pd-foot-caption-fs: 16px;
	--pd-foot-caption-lh: 24px;
	--pd-foot-value-fs: 18px;
	--pd-foot-value-lh: 28px;
	--pd-foot-address-lh: 24px;
	--pd-foot-group-gap: 36px;
	--pd-foot-top: 48px;
	--pd-foot-top-icon: 24px;
}

/* ---------- Root ---------- */
.pd-foot,
#top #wrap_all .pd-foot {
	position: relative;
	z-index: 1;
	overflow: hidden;
	clear: both;
	padding-top: var(--pd-foot-pt);
	padding-right: var(--pd-nav-px);
	padding-bottom: var(--pd-foot-pb);
	padding-left: var(--pd-nav-px);
	background-color: var(--pd-nav-bg);
	color: var(--pd-nav-white);
	font-family: var(--pd-nav-font);
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
}

.pd-foot *,
#top #wrap_all .pd-foot * {
	box-sizing: border-box;
}

.pd-foot a,
#top #wrap_all .pd-foot a {
	color: var(--pd-nav-white);
	text-decoration: none;
	border-bottom-width: 0;
}

.pd-foot a:hover,
.pd-foot a:focus,
#top #wrap_all .pd-foot a:hover,
#top #wrap_all .pd-foot a:focus {
	color: var(--pd-nav-white);
	text-decoration: none;
}

.pd-foot :focus-visible,
#top #wrap_all .pd-foot :focus-visible {
	outline: 1px solid var(--pd-nav-white);
	outline-offset: 4px;
}

.pd-foot svg,
#top #wrap_all .pd-foot svg {
	display: block;
	width: 100%;
	height: 100%;
}

.pd-foot p,
.pd-foot h2,
.pd-foot ul,
.pd-foot li,
.pd-foot address,
#top #wrap_all .pd-foot p,
#top #wrap_all .pd-foot h2,
#top #wrap_all .pd-foot ul,
#top #wrap_all .pd-foot li,
#top #wrap_all .pd-foot address {
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
	list-style: none;
	font-style: normal;
	color: inherit;
}

/* Text elements with the cap trim: size + line height via --fs / --lh */
.pd-foot .pd-nav-t,
#top #wrap_all .pd-foot .pd-nav-t {
	--fs: 16px;
	--lh: 24px;
	font-family: var(--pd-nav-font);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

/* ---------- Main ---------- */
.pd-foot .pd-foot__main,
#top #wrap_all .pd-foot .pd-foot__main {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: var(--pd-foot-gap);
}

.pd-foot .pd-foot__brand,
.pd-foot .pd-foot__cols,
.pd-foot .pd-foot__bar,
#top #wrap_all .pd-foot .pd-foot__brand,
#top #wrap_all .pd-foot .pd-foot__cols,
#top #wrap_all .pd-foot .pd-foot__bar {
	position: relative;
	z-index: 1;
}

/* Brand row */
.pd-foot .pd-foot__brand,
#top #wrap_all .pd-foot .pd-foot__brand {
	display: flex;
	align-items: center;
	column-gap: 48px;
	max-width: 100%;
}

.pd-foot .pd-foot__logo,
#top #wrap_all .pd-foot .pd-foot__logo {
	display: block;
	flex: none;
	width: var(--pd-nav-logo-w);
	height: var(--pd-nav-logo-h);
}

.pd-foot .pd-foot__divider,
#top #wrap_all .pd-foot .pd-foot__divider {
	display: block;
	flex: none;
	width: 1px;
	height: 24px;
	background-color: var(--pd-nav-white);
	opacity: 0.2;
}

.pd-foot .pd-foot__tagline,
#top #wrap_all .pd-foot .pd-foot__tagline {
	--fs: 18px;
	--lh: 28px;
	width: 349px;
	max-width: 100%;
	opacity: 0.72;
}

/* ---------- Columns ---------- */
.pd-foot .pd-foot__cols,
#top #wrap_all .pd-foot .pd-foot__cols {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	column-gap: 32px;
	width: 100%;
}

.pd-foot .pd-foot__col,
#top #wrap_all .pd-foot .pd-foot__col {
	display: flex;
	flex-direction: column;
	row-gap: var(--pd-foot-col-gap);
	flex: 0 1 var(--pd-foot-col-w);
	min-width: 0;
}

.pd-foot .pd-foot__col--contact,
#top #wrap_all .pd-foot .pd-foot__col--contact {
	flex: 0 1 auto;
}

.pd-foot .pd-foot__title,
#top #wrap_all .pd-foot .pd-foot__title {
	--fs: 16px;
	--lh: 24px;
	letter-spacing: 0.03em;                          /* 0.48px */
	text-transform: uppercase;
}

.pd-foot .pd-foot__rule,
#top #wrap_all .pd-foot .pd-foot__rule {
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--pd-nav-white);
	opacity: 0.4;
}

.pd-foot .pd-foot__list,
#top #wrap_all .pd-foot .pd-foot__list {
	display: flex;
	flex-direction: column;
	row-gap: var(--pd-foot-list-gap);
}

.pd-foot .pd-foot__link,
#top #wrap_all .pd-foot .pd-foot__link {
	display: flex;
	align-items: center;
	column-gap: 8px;
}

.pd-foot .pd-foot__dash,
#top #wrap_all .pd-foot .pd-foot__dash {
	display: block;
	flex: none;
	width: 12px;
	height: 1px;
	background-color: rgba(255, 255, 255, 0.4);
	transition: background-color 0.3s ease;
}

.pd-foot .pd-foot__text,
#top #wrap_all .pd-foot .pd-foot__text {
	--fs: var(--pd-foot-link-fs);
	--lh: var(--pd-foot-link-lh);
	opacity: var(--pd-nav-dim);
	transition: opacity 0.3s ease;
}

.pd-foot .pd-foot__link:hover .pd-foot__dash,
.pd-foot .pd-foot__link:focus-visible .pd-foot__dash,
.pd-foot .pd-foot__link.is-current .pd-foot__dash,
#top #wrap_all .pd-foot .pd-foot__link:hover .pd-foot__dash,
#top #wrap_all .pd-foot .pd-foot__link:focus-visible .pd-foot__dash,
#top #wrap_all .pd-foot .pd-foot__link.is-current .pd-foot__dash {
	background-color: var(--pd-nav-red);
}

.pd-foot .pd-foot__link:hover .pd-foot__text,
.pd-foot .pd-foot__link:focus-visible .pd-foot__text,
.pd-foot .pd-foot__link.is-current .pd-foot__text,
#top #wrap_all .pd-foot .pd-foot__link:hover .pd-foot__text,
#top #wrap_all .pd-foot .pd-foot__link:focus-visible .pd-foot__text,
#top #wrap_all .pd-foot .pd-foot__link.is-current .pd-foot__text {
	opacity: 1;
}

/* Contact */
.pd-foot .pd-foot__contact,
#top #wrap_all .pd-foot .pd-foot__contact {
	display: flex;
	flex-direction: column;
	row-gap: var(--pd-foot-group-gap);
}

.pd-foot .pd-foot__group,
#top #wrap_all .pd-foot .pd-foot__group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: 12px;
}

.pd-foot .pd-foot__caption,
#top #wrap_all .pd-foot .pd-foot__caption {
	--fs: var(--pd-foot-caption-fs);
	--lh: var(--pd-foot-caption-lh);
	opacity: var(--pd-nav-dim);
}

.pd-foot .pd-foot__value,
#top #wrap_all .pd-foot .pd-foot__value {
	--fs: var(--pd-foot-value-fs);
	--lh: var(--pd-foot-value-lh);
	overflow-wrap: anywhere;
}

.pd-foot .pd-foot__value--address,
#top #wrap_all .pd-foot .pd-foot__value--address {
	--lh: var(--pd-foot-address-lh);
}

/* ---------- Background mark — cropped by the footer bottom, as in the design ---------- */
.pd-foot .pd-foot__mark,
#top #wrap_all .pd-foot .pd-foot__mark {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 0;
	display: block;
	width: 462px;
	height: 155px;
	color: var(--pd-nav-white);
	opacity: 0.08;
	transform: translateX(-50%);
	pointer-events: none;
}

/* ---------- Back to top ---------- */
.pd-foot .pd-foot__top,
#top #wrap_all .pd-foot .pd-foot__top {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--pd-foot-top);
	height: var(--pd-foot-top);
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
	border-width: 0;
	border-radius: 0;
	background-color: var(--pd-nav-red);
	color: var(--pd-nav-white);
	box-shadow: none;
	cursor: pointer;
	line-height: 0;
	transition: background-color 0.3s ease;
}

.pd-foot .pd-foot__top:hover,
#top #wrap_all .pd-foot .pd-foot__top:hover {
	background-color: #b00a0a;
}

.pd-foot .pd-foot__top-icon,
#top #wrap_all .pd-foot .pd-foot__top-icon {
	display: block;
	width: var(--pd-foot-top-icon);
	height: var(--pd-foot-top-icon);
	transition: transform 0.3s ease;
}

.pd-foot .pd-foot__top:hover .pd-foot__top-icon,
#top #wrap_all .pd-foot .pd-foot__top:hover .pd-foot__top-icon {
	transform: translateY(-3px);
}

/* ---------- Bottom bar ---------- */
.pd-foot .pd-foot__bar,
#top #wrap_all .pd-foot .pd-foot__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	column-gap: 24px;
	row-gap: 24px;
	margin-top: var(--pd-foot-gap);
}

.pd-foot .pd-foot__copy,
#top #wrap_all .pd-foot .pd-foot__copy {
	color: rgba(255, 255, 255, 0.56);
}

.pd-foot .pd-foot__copy-link,
.pd-foot .pd-foot__copy-link:hover,
.pd-foot .pd-foot__copy-link:focus,
#top #wrap_all .pd-foot .pd-foot__copy-link,
#top #wrap_all .pd-foot .pd-foot__copy-link:hover,
#top #wrap_all .pd-foot .pd-foot__copy-link:focus {
	color: var(--pd-nav-red);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: from-font;
	text-underline-position: from-font;
}

.pd-foot .pd-foot__socials,
#top #wrap_all .pd-foot .pd-foot__socials {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 24px;
	row-gap: 12px;
}

.pd-foot .pd-foot__social,
#top #wrap_all .pd-foot .pd-foot__social {
	display: flex;
	align-items: center;
	column-gap: 6px;
}

.pd-foot .pd-foot__icon,
#top #wrap_all .pd-foot .pd-foot__icon {
	display: block;
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--pd-nav-red);
}

.pd-foot .pd-foot__social-text,
#top #wrap_all .pd-foot .pd-foot__social-text {
	opacity: var(--pd-nav-dim);
	transition: opacity 0.3s ease;
}

.pd-foot .pd-foot__social:hover .pd-foot__social-text,
.pd-foot .pd-foot__social:focus-visible .pd-foot__social-text,
#top #wrap_all .pd-foot .pd-foot__social:hover .pd-foot__social-text,
#top #wrap_all .pd-foot .pd-foot__social:focus-visible .pd-foot__social-text {
	opacity: 1;
}

/* ---------- Small desktop: 2 × 2 columns ---------- */
@media (min-width: 990px) and (max-width: 1199px) {
	.pd-foot .pd-foot__cols,
	#top #wrap_all .pd-foot .pd-foot__cols {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 64px;
		row-gap: 64px;
	}
}

/* ---------- Mobile (Enfold's breakpoint) ---------- */
@media (max-width: 989px) {
	.pd-foot {
		--pd-foot-gap: 64px;
		--pd-foot-link-fs: 16px;
		--pd-foot-link-lh: 24px;
		--pd-foot-list-gap: 16px;
		--pd-foot-col-gap: 20px;
		--pd-foot-caption-fs: 14px;
		--pd-foot-caption-lh: 20px;
		--pd-foot-value-fs: 16px;
		--pd-foot-value-lh: 24px;
		--pd-foot-address-lh: 20px;
		--pd-foot-group-gap: 32px;
		--pd-foot-top: 44px;
		--pd-foot-top-icon: 20px;
	}

	.pd-foot,
	#top #wrap_all .pd-foot {
		padding-top: 0;
		padding-right: 0;
		padding-bottom: 0;
		padding-left: 0;
	}

	.pd-foot .pd-foot__main,
	#top #wrap_all .pd-foot .pd-foot__main {
		position: relative;
		align-items: stretch;
		padding-top: 64px;
		padding-right: 16px;
		padding-bottom: 48px;
		padding-left: 16px;
	}

	.pd-foot .pd-foot__logo,
	#top #wrap_all .pd-foot .pd-foot__logo {
		width: 175px;
		height: 20px;
	}

	.pd-foot .pd-foot__divider,
	.pd-foot .pd-foot__tagline,
	.pd-foot .pd-foot__mark,
	#top #wrap_all .pd-foot .pd-foot__divider,
	#top #wrap_all .pd-foot .pd-foot__tagline,
	#top #wrap_all .pd-foot .pd-foot__mark {
		display: none;
	}

	.pd-foot .pd-foot__cols,
	#top #wrap_all .pd-foot .pd-foot__cols {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--pd-foot-gap);
		column-gap: 32px;
	}

	/* White bar */
	.pd-foot .pd-foot__bar,
	#top #wrap_all .pd-foot .pd-foot__bar {
		flex-direction: column;
		justify-content: center;
		row-gap: 48px;
		margin-top: 0;
		padding-top: 48px;
		padding-right: 16px;
		padding-bottom: 48px;
		padding-left: 16px;
		background-color: var(--pd-nav-white);
		text-align: center;
	}

	.pd-foot .pd-foot__copy,
	.pd-foot .pd-foot__social,
	.pd-foot .pd-foot__social:hover,
	.pd-foot .pd-foot__social:focus,
	#top #wrap_all .pd-foot .pd-foot__copy,
	#top #wrap_all .pd-foot .pd-foot__social,
	#top #wrap_all .pd-foot .pd-foot__social:hover,
	#top #wrap_all .pd-foot .pd-foot__social:focus {
		color: var(--pd-nav-bg);
	}

	.pd-foot .pd-foot__copy-after,
	#top #wrap_all .pd-foot .pd-foot__copy-after {
		display: block;
	}

	.pd-foot .pd-foot__social-text,
	#top #wrap_all .pd-foot .pd-foot__social-text {
		opacity: 1;
	}

	.pd-foot .pd-foot__socials,
	#top #wrap_all .pd-foot .pd-foot__socials {
		justify-content: center;
	}

	.pd-foot .pd-foot__bar :focus-visible,
	#top #wrap_all .pd-foot .pd-foot__bar :focus-visible {
		outline-color: var(--pd-nav-bg);
	}
}

/* Tablet: two columns of links */
@media (min-width: 600px) and (max-width: 989px) {
	.pd-foot .pd-foot__cols,
	#top #wrap_all .pd-foot .pd-foot__cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.pd-foot *,
	#top #wrap_all .pd-foot * {
		transition-duration: 0.01ms;
	}
}
