/*
 * LDR_Footer — site-wide navy footer.
 */

.ldr-footer {
	background-color: var(--ldr-navy);
	color: rgb(255 255 255 / 0.9);
}

.ldr-footer .ldr-container {
	padding-top: 64px;
	padding-bottom: 32px;
}

.ldr-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}
@media (min-width: 768px) {
	.ldr-footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.ldr-footer__grid { grid-template-columns: repeat(4, 1fr); }
}

.ldr-footer__col { display: flex; flex-direction: column; gap: 16px; }

.ldr-footer__brand-col { gap: 16px; }
.ldr-footer img.ldr-footer__logo {
	height: 56px;
	width: auto;
	max-width: none;
	display: block;
}
.ldr-footer img.ldr-footer__logo--invert { filter: brightness(0) invert(1); }

.ldr-footer__tagline {
	font-size: 0.875rem;
	line-height: 1.6;
	color: rgb(255 255 255 / 0.7);
	margin: 0;
}

.ldr-footer__location {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ldr-gold);
	font-family: var(--ldr-font-heading);
	font-weight: 600;
	font-size: 0.875rem;
}

.ldr-footer__heading {
	font-family: var(--ldr-font-heading);
	font-weight: 700;
	font-size: 1.125rem;       /* text-lg */
	color: #fff;
	margin: 0 0 16px;
	line-height: 1.2;
}

.ldr-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 0.875rem;
}
.ldr-footer__list a {
	color: rgb(255 255 255 / 0.7);
	text-decoration: none;
	transition: color var(--ldr-dur-fast) var(--ldr-ease);
}
.ldr-footer__list a:hover { color: var(--ldr-gold); }

/* Contact + hours rows have icons */
.ldr-footer__contact li,
.ldr-footer__hours li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: rgb(255 255 255 / 0.7);
}
.ldr-footer__contact li svg,
.ldr-footer__hours li svg {
	flex-shrink: 0;
	color: var(--ldr-gold);
	margin-top: 2px;
}
.ldr-footer__hours-label { font-weight: 600; color: #fff; margin: 0; }
.ldr-footer__hours-value { margin: 0; font-size: 0.875rem; line-height: 1.5; }

/* Bottom bar */
.ldr-footer__bottom {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid rgb(255 255 255 / 0.1);
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
	font-size: 0.875rem;
	color: rgb(255 255 255 / 0.5);
	text-align: center;
}
@media (min-width: 768px) {
	.ldr-footer__bottom { flex-direction: row; justify-content: space-between; text-align: left; }
}
.ldr-footer__bottom p { margin: 0; }

.ldr-footer__legal { display: flex; gap: 24px; }
.ldr-footer__legal a {
	color: rgb(255 255 255 / 0.5);
	text-decoration: none;
	transition: color var(--ldr-dur-fast) var(--ldr-ease);
}
.ldr-footer__legal a:hover { color: var(--ldr-gold); }
