/* ==========================================================================
   Footer — mobile first.
   Mobile: brand full width, menu columns 2-up. Desktop (992px): 4 columns.
   ========================================================================== */
.dd-footer {
	background: var(--dd-dark);
	color: var(--dd-white);
	font-size: 15px;
}
.dd-footer ul { margin: 0; padding: 0; list-style: none; }
.dd-footer a { color: inherit; text-decoration: none; }

.dd-footer__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px 32px;
	padding-block: 48px 40px;
}
.dd-footer__brand { grid-column: 1 / -1; }

/* Site logo, turned white for the dark background */
.dd-footer__logo {
	display: inline-block;
	color: var(--dd-white) !important;
	font: 700 22px/1.2 var(--dd-font-heading);
}
.dd-footer__logo img { display: block; width: auto; max-height: 48px; filter: grayscale(1) invert(1) brightness(3); } /* dark text + red mark → white; white "d" → dark cut-out */
.dd-footer__about { max-width: 420px; margin: 18px 0 0; line-height: 1.7; }

.dd-footer__contact { display: grid; gap: 12px; margin-top: 22px !important; }
.dd-footer__contact li { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.dd-footer__contact .dd-icon { margin-top: 3px; color: var(--dd-white); font-size: 16px; }

.dd-footer__title {
	position: relative;
	margin: 0 0 20px;
	padding-bottom: 12px;
	color: var(--dd-white);
	font-size: 17px;
	font-weight: 600;
}
.dd-footer__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 3px;
	border-radius: 2px;
	background: var(--dd-primary);
}

.dd-footer__menu { display: grid; gap: 10px; }
.dd-footer__menu a { display: inline-block; }

/* Animated primary underline on menu, email and phone links (grows left → right) */
.dd-footer__menu a,
.dd-footer__contact a {
	padding-bottom: 3px;
	background: linear-gradient(var(--dd-primary), var(--dd-primary)) left bottom / 0 2px no-repeat;
	transition: color var(--dd-ease), background-size .3s ease;
}
.dd-footer__menu a:hover,
.dd-footer__menu a:focus-visible,
.dd-footer__contact a:hover,
.dd-footer__contact a:focus-visible { background-size: 100% 2px; }

/* Bottom bar: copyright left, payment image right */
.dd-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .1); font-size: 14px; }
.dd-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding-block: 18px;
}
.dd-footer__copy { margin: 0; }
.dd-footer__payments { display: block; width: auto; max-width: 100%; height: auto; max-height: 32px; }

@media (max-width: 575.98px) {
	.dd-footer__bottom-inner { flex-direction: column; text-align: center; }
}

@media (min-width: 992px) {
	.dd-footer__grid { grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr)); gap: 40px; padding-block: 64px 48px; }
	.dd-footer__brand { grid-column: auto; padding-right: 24px; }
}

/* Back to top */
.dd-totop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--dd-primary);
	color: var(--dd-white);
	font-size: 22px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity var(--dd-ease), visibility var(--dd-ease), transform var(--dd-ease), background-color var(--dd-ease);
}
.dd-totop .dd-icon { transform: rotate(180deg); }
.dd-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.dd-totop:hover { background: var(--dd-primary-hover); }
@media (max-width: 575.98px) {
	.dd-totop { right: 14px; bottom: 14px; width: 42px; height: 42px; }
}
