/**
 * Footer design: Harbor — .esptb-ft-harbor
 *
 * The help band on the band colour, then brand + link columns + contact.
 * Every colour, font and size comes from the kit tokens (the theme's
 * settings) unless the block sets its own. Phones: one column; the link
 * lists fold (footer.js) and the contact details stay open.
 */

.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-band {
	margin-bottom: calc(var(--ft-col-gap, var(--fk-col-gap)) * 1.25);
}

.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-grid {
	display: grid;
	gap: var(--ft-col-gap, var(--fk-col-gap));
	grid-template-columns: minmax(0, 1fr);
}

/* Folded rows sit flush; the brand block and the contact details keep air. */
.espt-block-footer .esptb-ft-harbor.is-folded .esptb-ft-hb-grid { row-gap: 0; }
.espt-block-footer .esptb-ft-harbor.is-folded .esptb-ft-hb-grid > .esptb-ft-brand { padding-bottom: 22px; }
.espt-block-footer .esptb-ft-harbor.is-folded .esptb-ft-hb-grid > .is-contact { padding-top: 24px; }

@media (min-width: 768px) {
	.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-grid > .esptb-ft-brand { grid-column: 1 / -1; }
	.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-grid.has-1 { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 1024px) {
	.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-grid > .esptb-ft-brand { grid-column: auto; padding-right: 12px; }
	.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-grid.has-2 { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
	.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-grid.has-3 { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.3fr); }
	.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-grid.has-4 { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr); }
	.espt-block-footer .esptb-ft-harbor .esptb-ft-hb-grid.has-5 { grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.3fr); }
}
