/**
 * Floor Ready Pro - Footer
 *
 * Dark navy footer: brand column with newsletter signup, three link
 * columns, and a bottom bar with socials + copyright.
 */

.frp-footer {
	background: var(--frp-navy);
	color: var(--frp-on-dark-70);
}

.frp-footer a {
	color: var(--frp-on-dark-70);
}

.frp-footer a:hover,
.frp-footer a:focus-visible {
	color: var(--frp-gold);
}

.frp-footer__top {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.1fr;
	gap: var(--frp-space-10);
	padding-block: var(--frp-space-20) var(--frp-space-12);
}

.frp-footer__heading {
	margin: 0 0 var(--frp-space-5);
	font-size: var(--frp-fs-h5);
	font-weight: var(--frp-fw-semibold);
	color: var(--frp-white);
}

/* ----------------------------------------------------------------------
 * Brand column
 * -------------------------------------------------------------------- */
.frp-footer__brand {
	display: flex;
	flex-direction: column;
	gap: var(--frp-space-5);
}

.frp-footer__logo--fallback {
	font-size: var(--frp-fs-h4);
	font-weight: var(--frp-fw-bold);
	color: var(--frp-white);
}

.frp-footer__about {
	margin: 0;
	font-size: var(--frp-fs-sm);
	line-height: var(--frp-lh-loose);
}

.frp-newsletter,
.frp-newsletter-embed {
	display: flex;
	align-items: center;
	max-width: 340px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--frp-hairline);
	border-radius: var(--frp-radius-pill);
	padding: var(--frp-space-1);
}

.frp-newsletter__field {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: none;
	padding: var(--frp-space-3) var(--frp-space-5);
	color: var(--frp-white);
	font-size: var(--frp-fs-sm);
}

.frp-newsletter__field::placeholder {
	color: var(--frp-on-dark-40);
}

.frp-newsletter__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: var(--frp-radius-circle);
	background: var(--frp-gold);
	color: var(--frp-white);
	border: none;
	transition: background-color var(--frp-transition);
}

.frp-newsletter__submit:hover,
.frp-newsletter__submit:focus-visible {
	background: var(--frp-gold-dark);
}

/* ----------------------------------------------------------------------
 * Link columns
 * -------------------------------------------------------------------- */
.frp-footer__menu {
	display: flex;
	flex-direction: column;
	gap: var(--frp-space-3);
}

.frp-footer__menu a {
	font-size: var(--frp-fs-sm);
}

/* ----------------------------------------------------------------------
 * Contact column
 * -------------------------------------------------------------------- */
.frp-footer__contact {
	display: flex;
	flex-direction: column;
	gap: var(--frp-space-4);
}

.frp-footer__contact-item {
	display: flex;
	align-items: flex-start;
	gap: var(--frp-space-3);
	margin: 0;
	font-size: var(--frp-fs-sm);
	line-height: var(--frp-lh-snug);
}

.frp-footer__contact-item .frp-icon {
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--frp-gold);
}

/* ----------------------------------------------------------------------
 * Bottom bar
 * -------------------------------------------------------------------- */
.frp-footer__bottom {
	border-top: 1px solid var(--frp-hairline);
}

.frp-footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--frp-space-4);
	padding-block: var(--frp-space-5);
	font-size: var(--frp-fs-xs);
}

.frp-socials {
	display: flex;
	align-items: center;
	gap: var(--frp-space-2);
}

.frp-socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: var(--frp-radius-circle);
	background: rgba(255, 255, 255, 0.08);
}

.frp-socials a:hover,
.frp-socials a:focus-visible {
	background: var(--frp-gold);
	color: var(--frp-white);
}

.frp-footer__copyright {
	margin: 0;
	color: var(--frp-on-dark-40);
}

/* ----------------------------------------------------------------------
 * Responsive
 * -------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.frp-footer__top {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.frp-footer__top {
		grid-template-columns: 1fr;
	}

	.frp-footer__bottom-inner {
		flex-direction: column-reverse;
		text-align: center;
	}
}
