/* ==========================================================================
   Global footer: [ce_footer] columns + Flatsome absolute footer
   ========================================================================== */

#footer {
	background-color: var(--ce-forest-dark);
	color: var(--ce-on-dark);
}

.ce-footer {
	border-top: 1px solid var(--ce-brass);
	padding-block: var(--ce-space-16) var(--ce-space-12);
}

.ce-footer__inner {
	display: grid;
	gap: var(--ce-space-8) var(--ce-space-6);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	margin-inline: auto;
	max-width: var(--ce-container);
	padding-inline: var(--ce-gutter);
}

.ce-footer__title {
	color: var(--ce-on-dark);
	font-family: var(--ce-font-serif);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0;
	margin-bottom: var(--ce-space-4);
}

.ce-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ce-footer__links li {
	margin: 0;
}

.ce-footer__links a {
	color: var(--ce-on-dark);
	display: inline-flex;
	align-items: center;
	font-size: .9375rem;
	min-height: 44px;
	opacity: .86;
	text-decoration: none;
	transition: opacity var(--ce-dur-fast) var(--ce-ease);
}

.ce-footer__links a:hover,
.ce-footer__links a:focus-visible {
	opacity: 1;
	text-decoration: underline;
}

.ce-footer__note {
	font-size: var(--ce-fs-small);
	opacity: .86;
	padding-block: var(--ce-space-2);
}

#footer :focus-visible {
	box-shadow: 0 0 0 2px var(--ce-forest-dark), 0 0 0 4px var(--ce-brass);
}

/* Bottom bar */
.absolute-footer,
.absolute-footer.dark {
	background-color: var(--ce-forest-dark);
	border-top: 1px solid rgba(248, 244, 236, .14);
	color: var(--ce-on-dark);
	font-size: var(--ce-fs-small);
	padding-block: var(--ce-space-6);
}

.absolute-footer .container {
	max-width: var(--ce-container);
	padding-inline: var(--ce-gutter);
}

.absolute-footer .copyright-footer,
.absolute-footer a {
	color: var(--ce-on-dark);
	opacity: .86;
}

.absolute-footer .footer-nav > li > a,
.absolute-footer .links > li > a {
	display: inline-flex;
	align-items: center;
	font-size: var(--ce-fs-small);
	font-weight: 500;
	letter-spacing: 0;
	min-height: 44px;
	text-transform: none;
}

.absolute-footer .payment-icons .payment-icon {
	background-color: rgba(248, 244, 236, .1);
	opacity: 1;
}

.absolute-footer .payment-icons .payment-icon svg {
	fill: var(--ce-on-dark);
}

/* Back-to-top button */
#top-link,
.back-to-top {
	background-color: var(--ce-forest);
	border-color: var(--ce-forest);
	color: var(--ce-on-dark);
}
