.srk-dfc-footer {
	width: 100%;
	box-sizing: border-box;
}

.srk-dfc-footer *,
.srk-dfc-footer *::before,
.srk-dfc-footer *::after {
	box-sizing: border-box;
}

.srk-dfc-inner {
	width: 100%;
	max-width: var(--srk-dfc-max-width, 1200px);
	margin: 0 auto;
	padding: var(--srk-dfc-padding-top, 40px) 20px var(--srk-dfc-padding-bottom, 40px);
	display: grid;
	grid-template-columns: repeat(var(--srk-dfc-cols-desktop, 3), minmax(0, 1fr));
	gap: var(--srk-dfc-column-gap, 30px);
	align-items: start;
}

.srk-dfc-column {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--srk-dfc-widget-gap, 20px);
}

.srk-dfc-widget {
	margin: 0;
	min-width: 0;
}

.srk-dfc-widget-title {
	margin-top: 0;
}

@media (max-width: 1024px) {
	.srk-dfc-inner {
		grid-template-columns: repeat(var(--srk-dfc-cols-tablet, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.srk-dfc-inner {
		grid-template-columns: repeat(var(--srk-dfc-cols-mobile, 1), minmax(0, 1fr));
	}
}


/* Desktop alignment: keep the first widget group left, the middle group centered,
   and the final group right when the footer uses three columns. */
@media (min-width: 1025px) {
	.srk-dfc-desktop-cols-3 .srk-dfc-column-1 {
		justify-self: start;
	}

	.srk-dfc-desktop-cols-3 .srk-dfc-column-2 {
		justify-self: center;
		width: fit-content;
		max-width: 100%;
	}

	.srk-dfc-desktop-cols-3 .srk-dfc-column-3 {
		justify-self: end;
		width: fit-content;
		max-width: 100%;
	}
}
