/* Sticky footer via flex. Short page: footer on the viewport bottom.
   Tall page: as tall as the content, document scrolls. Not a 100dvh lock.
   Never leave a gap after the footer (cart/checkout main is flex: 0 —
   leftover space goes above the footer via margin-block-start: auto).
   Contacto is excluded — it keeps teixidets-contacto.css. */

body.txd-leftover .wp-site-blocks {
	gap: 0 !important;
	row-gap: 0 !important;
}

body.txd-leftover footer.site-footer {
	margin-block-start: 0 !important;
}

@media (min-width: 900px) {
	body.txd-leftover {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		min-height: 100dvh;
	}

	body.txd-leftover.admin-bar {
		min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
	}

	body.txd-leftover .wp-site-blocks {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		width: 100%;
	}

	body.txd-leftover .wp-site-blocks > header {
		flex: 0 0 0;
	}

	body.txd-leftover .wp-site-blocks > main,
	body.txd-leftover .wp-block-post-content {
		display: flex;
		flex-direction: column;
		flex: 1 0 auto;
		align-items: stretch;
		width: 100%;
		height: auto;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* Cart/checkout set main to flex: 0 so the white card stays short.
	   Leftover space must sit ABOVE the footer, never below it. */
	body.txd-leftover .wp-site-blocks > footer,
	body.txd-leftover footer.site-footer {
		flex: 0 0 auto;
		margin-block-start: auto !important;
	}

	body.txd-leftover.txd-legal .wp-block-post-content,
	body.txd-leftover.error404 .wp-block-post-content {
		flex: 1 0 auto;
		width: min(var(--txd-max, 1360px), calc(100% - 2.5rem));
		margin: 1.25rem auto !important;
		overflow: visible;
		box-sizing: border-box;
		background: #fff;
		border: 1px solid rgba(197, 155, 39, 0.22);
		border-radius: 6px;
		box-shadow: 0 8px 24px -6px rgba(58, 35, 64, 0.06);
		padding: 2rem 2.25rem 2.1rem !important;
	}
}
