/* WordPress / Gutenberg wrappers for the Buragina's redesign CSS. */

.wp-site-blocks,
.wp-block-post-content {
	margin: 0;
	padding: 0;
	overflow: visible;
}

.wp-block-post-content > .wp-block-group.alignfull {
	margin-block-start: 0;
	margin-block-end: 0;
}

.wp-block-group.alignfull:not(.container) {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wp-block-group.is-layout-constrained > * {
	max-width: none;
}

.wp-block-group.container,
.container.wp-block-group {
	max-width: var(--container) !important;
	width: 100%;
	margin-inline: auto !important;
	padding-inline: var(--gutter) !important;
}

.wp-block-group.section {
	padding-block: var(--section-y) !important;
}

.wp-block-group.page-hero {
	padding-block: clamp(56px, 8vw, 96px) !important;
}

.wp-block-group.value-band {
	padding-block: clamp(36px, 5vw, 54px) !important;
}

/* Keep designed grids as grids — WP layout classes try to turn groups into flow/flex */
.wp-block-group.moved-grid,
.wp-block-group.cat-grid,
.wp-block-group.expertise-grid,
.wp-block-group.expertise-cards,
.wp-block-group.featured-grid,
.wp-block-group.featured-imgs,
.wp-block-group.social-feed-grid,
.wp-block-group.visit-grid,
.wp-block-group.contact-grid,
.wp-block-group.split,
.wp-block-group.value-grid,
.wp-block-group.brand-groups,
.wp-block-group.form-row {
	display: grid !important;
}

.wp-block-group.hero-actions,
p.hero-actions,
.wp-block-group.moved-actions,
p.moved-actions,
.wp-block-group.social-feed-actions,
p.social-feed-actions,
.wp-block-group.cta-actions,
p.cta-actions {
	display: flex !important;
	flex-wrap: wrap;
	gap: 14px;
}

.wp-block-group.value-item {
	display: flex !important;
	align-items: center;
	gap: 18px;
}

.wp-block-image {
	margin: 0;
}

.hero-media .wp-block-image,
.hero-media .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% 30%;
}
.hero-media .wp-block-image {
	height: 100%;
}

.moved-media .wp-block-image img,
.visit-media .wp-block-image img,
.split-media .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cat-card .wp-block-image,
.cat-card .wp-block-image.frame,
.cat-card .frame.wp-block-image {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius);
	aspect-ratio: 4 / 5;
	margin: 0 0 20px;
	background: var(--cream-100);
}
.cat-card .wp-block-image a {
	position: absolute;
	inset: 0;
	display: block;
}
.cat-card .wp-block-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.featured-imgs > .wp-block-image {
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius);
	aspect-ratio: 3 / 4;
}
.featured-imgs .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--ease);
}
.featured-imgs .wp-block-image:hover img {
	transform: scale(1.05);
}

.split-media .wp-block-image img {
	aspect-ratio: 5 / 4;
}

/* WordPress menu markup inside .site-nav */
.site-nav ul {
	display: flex;
	align-items: center;
	gap: inherit;
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-nav li {
	margin: 0;
}

.section-cream .section-head {
	margin-bottom: 42px;
}
.section-dark .section-head {
	margin-bottom: 48px;
}
.cta-band .section-head {
	margin-bottom: 0;
}

.contact-form.wp-block-shortcode,
.wp-block-shortcode {
	max-width: none;
}

@media (max-width: 900px) {
	.site-nav ul {
		flex-direction: column;
		justify-content: center;
		gap: 30px;
		height: 100%;
	}
	.hero-media {
		position: relative;
		inset: auto;
		width: 100%;
		height: 340px;
	}
	.hero-media .wp-block-image {
		height: 340px;
	}
}
