/* Extracted from lib.css — loaded conditionally via functions.php */

/* Remove default Gutenberg group padding within lib context */

/* ── Footer strip ────────────────────────────────────────────── */

.lib-footer-strip {
	background: var(--off-white);
	text-align: center;
	padding: 1.5rem;
	border-top: 1px solid var(--border);
}

.lib-footer-strip p {
	font-family: var(--font-body) !important;
	font-size: 0.78rem !important;
	color: var(--mid-grey) !important;
	margin: 0 !important;
}

.lib-footer-strip a { color: var(--salmon) !important; }

/* ── Site footer ─────────────────────────────────────────────── */

.lib-site-footer {
	font-family: var(--font-body);
}

/* Top bar — off-white background with feature, contact, podcast cols */

.lib-footer-top {
	background: var(--off-white);
	padding: 3rem 1.5rem;
}

.lib-footer-top-inner {
	max-width: 960px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
}

@media (min-width: 700px) {
	.lib-footer-top-inner { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 960px) {
	.lib-footer-top-inner { grid-template-columns: 1.2fr 1fr 1.4fr; }
}

/* Feature column (phone image beside text) */

.lib-footer-feature {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.lib-footer-feature-img {
	width: 64px;
	height: auto;
	max-height: 120px;
	object-fit: contain;
	flex-shrink: 0;
	display: block;
	filter: drop-shadow(0 4px 12px rgba(0,0,0,0.1));
}

.lib-footer-feature-text {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.lib-footer-feature-link {
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--teal) !important;
	letter-spacing: -0.02em;
	text-decoration: none !important;
}

.lib-footer-feature-link:hover {
	color: var(--teal-dark) !important;
}

.lib-footer-feature p {
	font-size: 0.83rem;
	color: var(--mid-grey);
	line-height: 1.5;
	margin: 0;
}

/* Contact column */

.lib-footer-contact {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	justify-content: center;
}

.lib-footer-contact a {
	font-size: 0.9rem;
	color: var(--primary) !important;
	display: block;
}

.lib-footer-contact a:hover { color: var(--salmon) !important; }

/* Podcast + socials column */

.lib-footer-podcast-col {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.lib-footer-podcast-row {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.lib-footer-podcast-icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	background: var(--salmon-light);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lib-footer-podcast-label {
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--salmon) !important;
	margin: 0 0 0.35rem !important;
}

.lib-footer-podcast-col p {
	font-size: 0.83rem;
	color: var(--mid-grey);
	line-height: 1.55;
	margin: 0;
}

.lib-footer-socials {
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.lib-footer-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(58,58,58,0.08);
	color: var(--primary) !important;
	transition: background 0.2s ease, color 0.2s ease;
}

.lib-footer-social-icon:hover {
	background: var(--salmon);
	color: var(--white) !important;
}

/* Main section — navy with office locations */

.lib-footer-main {
	background: var(--navy);
	padding: 3rem 1.5rem;
}

.lib-footer-offices {
	max-width: 960px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem 1.5rem;
}

@media (min-width: 600px) {
	.lib-footer-offices { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 960px) {
	.lib-footer-offices { grid-template-columns: repeat(6, 1fr); gap: 1.5rem; }
}

.lib-footer-office-name {
	font-family: var(--font-display) !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	color: var(--white) !important;
	margin: 0 0 0.5rem !important;
	letter-spacing: -0.01em !important;
}

.lib-footer-office-tag {
	font-size: 0.68rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--salmon) !important;
	margin: 0 0 0.5rem !important;
}

.lib-footer-office-divider {
	width: 24px;
	height: 2px;
	background: var(--salmon);
	margin: 0.5rem 0 0.75rem;
	display: block;
}

.lib-footer-office-address {
	font-size: 0.78rem !important;
	color: rgba(255,255,255,0.55) !important;
	line-height: 1.65 !important;
	margin: 0 !important;
}

/* Acknowledgement section */

.lib-footer-ack-section {
	background: var(--navy);
	border-top: 1px solid rgba(255,255,255,0.08);
	padding: 2.5rem 1.5rem;
	text-align: center;
}

.lib-footer-ack-inner {
	max-width: 760px;
	margin: 0 auto;
}

.lib-footer-flag {
	width: 48px;
	height: auto;
	margin: 0 auto 1rem;
	display: block;
}

.lib-footer-ack-text {
	font-size: 0.78rem !important;
	color: rgba(255,255,255,0.45) !important;
	line-height: 1.75 !important;
	margin: 0 0 1.5rem !important;
}

.lib-footer-copyright {
	font-size: 0.78rem !important;
	color: rgba(255,255,255,0.55) !important;
	margin: 0 !important;
}

.lib-footer-copyright a { color: rgba(255,255,255,0.7) !important; }

.lib-footer-copyright a:hover { color: var(--salmon) !important; }

/* Legal links bar */

.lib-footer-legal {
	background: var(--navy);
	border-top: 1px solid rgba(255,255,255,0.06);
	padding: 1.25rem 1.5rem;
	text-align: center;
}

.lib-footer-legal a {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.4) !important;
	transition: color 0.2s ease;
}

.lib-footer-legal a:hover { color: var(--salmon) !important; }

.lib-footer-legal span {
	color: rgba(255,255,255,0.2);
	margin: 0 0.5rem;
}
