/*
 * PCL Footer — Custom dark footer replacing Astra's default
 */
.pcl-site-footer,
.pcl-footer {
	background: var(--pcl-purple-deep);
	border-top: 1px solid var(--pcl-line-dark);
	color: var(--pcl-text-inv-soft);
	padding: 66px 0 42px;
	position: relative;
}

.pcl-footer-in,
.pcl-f-in {
	max-width: var(--pcl-maxw);
	margin: 0 auto;
	padding: 0 var(--pcl-gutter);
}

.pcl-footer-top,
.pcl-f-top {
	display: flex;
	justify-content: space-between;
	gap: 36px;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 38px;
	border-bottom: 1px solid var(--pcl-line-dark);
}

.pcl-footer-top .pcl-logo-lockup,
.pcl-footer-top .pcl-footer-logo { color: #fff; }
.pcl-footer-top .pcl-logo-lockup svg,
.pcl-footer-top .pcl-footer-logo svg { height: auto; }
.pcl-footer-logo {
	display: flex;
	align-items: center;
	gap: 13px;
	text-decoration: none;
}
.pcl-footer-logo .pcl-logo-lockup,
.pcl-footer-logo svg.pcl-logo-lockup {
	width: 38px !important;
	max-width: 38px !important;
	min-width: 38px !important;
	color: var(--pcl-cyan);
	flex-shrink: 0;
}
.pcl-footer-logo .pcl-logo-lockup svg,
.pcl-footer-logo svg.pcl-logo-lockup {
	width: 38px !important;
	max-width: 38px !important;
	min-width: 38px !important;
	height: auto !important;
}
.pcl-brand-name {
	font-family: var(--pcl-display);
	font-size: 1.08rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--pcl-text-inv);
	line-height: 1.2;
}
.pcl-brand-name small {
	display: block;
	font-family: var(--pcl-body);
	font-size: .54rem;
	letter-spacing: .4em;
	color: var(--pcl-teal);
	margin-top: 2px;
}

.pcl-footer-links,
.pcl-f-links { display: flex; gap: 28px; font-size: .84rem; }
.pcl-footer-links a,
.pcl-f-links a {
	color: var(--pcl-text-inv-soft);
	text-decoration: none;
	transition: color .25s;
	display: inline-flex;
	align-items: center;
	min-height: 36px;
}
.pcl-footer-links a:hover,
.pcl-f-links a:hover { color: var(--pcl-cyan); }

.pcl-footer-reg,
.pcl-f-reg {
	padding-top: 30px;
	font-size: .8rem;
	line-height: 1.8;
	max-width: 76ch;
}

.pcl-footer-bottom,
.pcl-f-bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 26px;
	font-size: .78rem;
	letter-spacing: .06em;
	align-items: center;
}

.pcl-social { display: flex; gap: 12px; align-items: center; }

.pcl-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid var(--pcl-line-dark);
	color: var(--pcl-mint);
	transition: all .3s;
	text-decoration: none;
}

.pcl-social a:hover {
	color: var(--pcl-purple-ink);
	background: var(--pcl-cyan);
	border-color: var(--pcl-cyan);
	transform: translateY(-3px);
}

.pcl-social a.pcl-social-text,
.pcl-social a.pcl-social-link-text {
	width: auto;
	border: none;
	background: none;
	padding: 0;
	font-size: .78rem;
	letter-spacing: .06em;
	min-height: 36px;
	display: inline-flex;
	align-items: center;
}
