/* Global One Meter footer. Scoped to avoid affecting Blocksy, Elementor, and WooCommerce content. */
#footer:has(.om-footer) {
	background: #FF0C2B;
	color: #FFFFFF;
}

#footer .om-footer {
	background: #FF0C2B;
	color: #FFFFFF;
	font-family: "Alibaba PuHuiTi 3", Arial, sans-serif;
}

#footer .om-footer__container,
#footer .om-footer__bottom {
	width: min(1180px, calc(100% - 72px));
	margin: 0 auto;
}

#footer .om-footer__container {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(180px, .62fr) minmax(300px, .98fr);
	gap: clamp(3rem, 6vw, 7rem);
	padding: 4.6rem 0 3.5rem;
}

#footer .om-footer__brand,
#footer .om-footer__nav,
#footer .om-footer__contact {
	min-width: 0;
}

#footer .om-footer__logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

#footer .om-footer__logo .custom-logo {
	display: block;
	width: auto;
	max-width: 176px;
	height: auto;
	max-height: 70px;
	filter: none;
}

#footer .om-footer__description {
	max-width: 25rem;
	margin: 1.4rem 0 0;
	color: rgba(255, 255, 255, .82);
	font-size: .98rem;
	line-height: 1.72;
}

#footer .om-footer__heading,
#footer .om-footer__social-heading {
	margin: 0 0 1.2rem;
	color: #FFFFFF;
	font-family: "Alibaba PuHuiTi 3", Arial, sans-serif !important;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

#footer .om-footer__menu,
#footer .om-footer__contact-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer .om-footer__menu {
	display: grid;
	gap: .68rem;
}

#footer .om-footer__menu--legal {
	margin-top: .68rem;
}

#footer .om-footer__menu a,
#footer .om-footer__contact-item,
#footer .om-footer__contact-item a {
	color: rgba(255, 255, 255, .88);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
	line-height: 1.55;
	text-decoration: none;
}

#footer .om-footer__menu a {
	display: inline-block;
	transition: color .2s ease, transform .2s ease, opacity .2s ease;
}

#footer .om-footer__menu a:hover,
#footer .om-footer__menu a:focus-visible {
	color: #FFFFFF;
	transform: translateX(3px);
}

#footer .om-footer__contact-list {
	display: grid;
	gap: 1rem;
}

#footer .om-footer__contact-item {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: .8rem;
	align-items: start;
}

#footer .om-footer__contact-item img {
	display: block;
	width: 30px;
	height: 30px;
	object-fit: contain;
}

#footer .om-footer__contact-item--address {
	line-height: 1.58;
}

#footer .om-footer__contact-item a {
	transition: color .2s ease, opacity .2s ease;
}

#footer .om-footer__contact-item a:hover,
#footer .om-footer__contact-item a:focus-visible {
	color: #FFFFFF;
}

#footer .om-footer__social {
	margin-top: 1.75rem;
}

#footer .om-footer__social-heading {
	margin-bottom: .8rem;
	font-size: .95rem;
}

#footer .om-footer__instagram {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	transition: transform .2s ease, filter .2s ease, opacity .2s ease;
}

#footer .om-footer__instagram img {
	display: block;
	width: 38px;
	height: 38px;
	object-fit: contain;
}

#footer .om-footer__instagram:hover,
#footer .om-footer__instagram:focus-visible {
	filter: brightness(1.12);
	transform: translateY(-3px) scale(1.04);
}

#footer .om-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 0 1.8rem;
	color: rgba(255, 255, 255, .70);
	font-size: 13px;
	font-weight: 400;
}

#footer .om-footer__bottom p {
	margin: 0;
}

#footer .om-footer__bottom a {
	color: rgba(255, 255, 255, .88);
	font-weight: 500;
	text-decoration: none;
	transition: color .2s ease, opacity .2s ease;
}

#footer .om-footer__bottom a:hover,
#footer .om-footer__bottom a:focus-visible {
	color: #FFFFFF;
}

#footer .om-footer a:focus-visible {
	outline: 2px solid #FFFFFF;
	outline-offset: 4px;
	border-radius: 2px;
}

@media (max-width: 1000px) {
	#footer .om-footer__container,
	#footer .om-footer__bottom {
		width: min(100% - 56px, 800px);
	}

	#footer .om-footer__container {
		grid-template-columns: minmax(0, 1fr) minmax(250px, 1fr);
		gap: 3rem 4rem;
		padding: 3.8rem 0 3rem;
	}

	#footer .om-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	#footer .om-footer__container,
	#footer .om-footer__bottom {
		width: calc(100% - 40px);
	}

	#footer .om-footer__container {
		grid-template-columns: 1fr;
		gap: 2.35rem;
		padding: 3rem 0 2.5rem;
	}

	#footer .om-footer__brand {
		grid-column: auto;
	}

	#footer .om-footer__logo .custom-logo {
		max-width: 150px;
		max-height: 60px;
	}

	#footer .om-footer__description {
		margin-top: 1.1rem;
		font-size: 15px;
	}

	#footer .om-footer__heading,
	#footer .om-footer__social-heading {
		font-size: 16px;
	}

	#footer .om-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		padding: .85rem 0 1.45rem;
	}
}
