/*
Theme: Custom Block Theme
Utility classes
*/

/* Hide on desktop */
@media (min-width: 768px) {
	.desktop-hide {
		display: none !important;
	}
}

/* Mobile utilities */
@media (max-width: 768px) {
	.mobile-align-left,
	.mobile-align-left > * {
		float: left !important;
	}

	.mobile-align-children-left {
		justify-content: flex-start !important;
	}

	.mobile-align-left.wp-block-buttons,
	.mobile-align-left .wp-block-buttons {
		justify-content: flex-start !important;
	}

	.mobile-align-center {
		justify-content: center !important;
	}

	.mobile-align-center.wp-block-buttons,
	.mobile-align-center .wp-block-buttons {
		justify-content: center !important;
	}

	.mobile-align-text-center {
		text-align: center !important;
	}

	.mobile-hide {
		display: none !important;
	}

	/* Stacking helpers for flex wrappers */
	.mobile-stack {
		flex-direction: column !important;
	}

	.mobile-stack-reverse {
		flex-direction: column-reverse !important;
	}

	/* Quick mobile spacing helpers (use in Block → Advanced → Additional CSS class(es)) */
	.mobile-tight {
		margin: 0 !important;
		padding: 0 !important;
	}

	.mobile-tight-top {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.mobile-tight-bottom {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	/* No horizontal padding on mobile only (Block → Advanced → Additional CSS class(es)) */
	.mobile-padding-x-0 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Right padding only — mobile (Block → Advanced → Additional CSS class(es)) */
	.mobile-padding-right-0 {
		padding-right: 0 !important;
	}

	/* Mobile padding helpers (use when you want "normal" padding, just tighter). */
	.mobile-padding-40 {
		padding: var(--wp--preset--spacing--40, 40px) !important;
	}

	.mobile-padding-32 {
		padding: var(--wp--preset--spacing--32, 32px) !important;
	}

	/* No border on mobile only (Block → Advanced → Additional CSS class(es)) */
	.mobile-border-0 {
		border: none !important;
	}

	/* No gap on mobile only — flex/grid gap (Block → Advanced → Additional CSS class(es)) */
	.mobile-gap-0 {
		gap: 0 !important;
	}
}

/* Column ordering + mobile gap helpers (WP sidebar breakpoint is 782px) */
@media (max-width: 781px) {
	/* Column → Advanced → Additional CSS class(es): column-first-mobile */
	.wp-block-column.column-first-mobile {
		order: -1;
	}

	/* Flex/grid section: gap between inner items when stacked (same breakpoint as columns). */
	.section-inner-gap-mobile {
		gap: 42px;
	}

	.section-inner-gap-mobile-32 {
		gap: 32px;
	}
}

/* Column ordering — tablet only (mirrors column-first-mobile; WP columns align ≥782px) */
@media (min-width: 782px) and (max-width: 1024px) {
	/* Column → Advanced → Additional CSS class(es): column-first-tablet */
	.wp-block-column.column-first-tablet {
		order: -1;
	}
}

/* Google Maps embed (generic wrapper; optional classes from the block editor) */
.map-embed {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	min-height: 220px;
	max-height: 450px;
	margin-inline: auto;
}

.map-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: 100%;
	border: 0;
	display: block;
}
