/**
 * Page Section block layout shell (all disk templates).
 *
 * Hierarchy: .iw-ps-block (section) → __row → __col → __content
 * Template-specific layout lives in each template style.css; target rows/cols there.
 */

.iw-ps-block {
	box-sizing: border-box;
	width: 100%;
}

.iw-ps-block *,
.iw-ps-block *::before,
.iw-ps-block *::after {
	box-sizing: border-box;
}

.iw-ps-block__row {
	width: 100%;
}

.iw-ps-block__col {
	min-width: 0;
}

.iw-ps-block__content {
	width: 100%;
}

/*
 * When no media column is output, use a single track (no empty grid column).
 */
.iw-ps-block__row:has(> [class*="__col--content"]:only-child) {
	grid-template-columns: minmax(0, 1fr) !important;
}

.iw-ps-block__row:has(> [class*="__col--content"]:only-child) > [class*="__col--content"] {
	max-width: none;
}

.iw-ps-hero__visuals-wrap--secondary-only {
	position: relative;
	width: auto;
	height: auto;
	padding: 0;
}

/*
 * Design → Reverse Horizontal Layout: swap side-by-side columns without changing HTML.
 * Uses direction on the row so grid and flex row layouts flip; children reset to LTR text.
 */
.iw-ps-block--layout-reverse > .iw-ps-block__row {
	direction: rtl;
}

.iw-ps-block--layout-reverse > .iw-ps-block__row > * {
	direction: ltr;
}

@media (max-width: 576px) {
	.iw-ps-block--layout-reverse > .iw-ps-block__row {
		direction: ltr;
	}
}

body.iw-admin .iw-ft-admin-preview-device--mobile .iw-ps-block--layout-reverse > .iw-ps-block__row {
	direction: ltr;
}

.iw-ps-block[id] {
	scroll-margin-top: 5.5rem;
}

@media (max-width: 576px) {
	.iw-ps-block--hero [class*="__badge"],
	.iw-ps-block--about_us .iw-ps-block__content,
	.iw-ps-block--why_choose_us .iw-ps-block__content,
	.iw-ps-block--service_areas .iw-ps-block__content,
	.iw-ps-block--working_hours .iw-ps-block__content {
		text-align: center;
	}

	.iw-ps-block--hero [class*="__badge"] {
		margin-inline: auto;
	}

	.iw-ps-block--about_us .iw-ps-block__row,
	.iw-ps-block--why_choose_us .iw-ps-block__row,
	.iw-ps-block--service_areas .iw-ps-block__row,
	.iw-ps-block--working_hours .iw-ps-block__row {
		justify-items: center;
	}
}

body.iw-admin .iw-ft-admin-preview-device--mobile .iw-ps-block--hero [class*="__badge"],
body.iw-admin .iw-ft-admin-preview-device--mobile .iw-ps-block--about_us .iw-ps-block__content,
body.iw-admin .iw-ft-admin-preview-device--mobile .iw-ps-block--why_choose_us .iw-ps-block__content,
body.iw-admin .iw-ft-admin-preview-device--mobile .iw-ps-block--service_areas .iw-ps-block__content,
body.iw-admin .iw-ft-admin-preview-device--mobile .iw-ps-block--working_hours .iw-ps-block__content {
	text-align: center;
}

body.iw-admin .iw-ft-admin-preview-device--mobile .iw-ps-block--hero [class*="__badge"] {
	margin-inline: auto;
}
