/**
* Block: Hero (dhukr/hero).
* Depends on tokens.css and global.css (.dh-section--bg-*, .dh-display-*, .dh-btn).
*/

.dh-hero__section {
	position: relative;
	isolation: isolate;
	color: var(--dh-color-text-on-dark);
	--dh-color-heading: var(--dh-color-text-on-dark);
	--dh-color-focus: var(--dh-color-focus-on-dark);
}

.dh-hero__pre_title {
    color: var(--dh-color-accent-text);
    font-family: var(--dh-font-body);
    font-size: var(--dh-fs-body-20);
    font-weight: var(--dh-fw-semibold);
    line-height: 1.4;
    text-transform: uppercase;
}

.dh-hero__title {
	color: var(--dh-color-heading);
	text-transform: uppercase;
}

.page-template-template-custom-blocks .dh-hero__subtitle {
	color: var(--dh-color-heading);
	font-family: var(--dh-font-display);
	font-size: var(--dh-fs-heading-40);
	line-height: var(--dh-lh-display);
	text-transform: uppercase;
	margin-bottom: 0;
}

.dh-hero__text {
	max-width: 32ch;
	color: var(--dh-color-text-on-dark);
	font-size: var(--dh-fs-body-24);
	line-height: var(--dh-lh-tight);
}

.dh-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--dh-space-16);
}

.dh-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dh-space-16);
	margin-top: var(--dh-space-24);
}

/* ==========================================================================
Background layout
========================================================================== */

.dh-hero__section--background {
	display: flex;
	flex-direction: column;
	min-height: var(--dh-hero-min-height);
}

/* Overlay between the image (z -1) and the content. */
.dh-hero__section--background::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--dh-overlay-hero);
}

.dh-hero__section--background .dh-hero__body {
	display: flex;
	flex: 1;
	align-items: center;
	width: min(100% - (var(--dh-gutter) * 2), var(--dh-container-max));
	margin-inline: auto;
	padding-block: var(--dh-space-64);
}

.dh-hero__section--background .dh-hero__subtitle {
	font-size: var(--dh-fs-display-80);
}

/* Feature bar */

.dh-hero__features {
	padding: 15px 0;
	display: flex;
	background: var(--dh-overlay-feature-bar);
	justify-content: center;
}

.dh-hero__features-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--dh-space-24);
	width: min(100% - (var(--dh-gutter) * 2), var(--dh-container-max));
	margin-inline: auto;
	padding-block: var(--dh-space-24);
}

/* Top-aligned so feature titles line up across items regardless of text length. */
.dh-hero__feature {
	display: flex;
	align-items: flex-start;
	gap: var(--dh-space-16);
}

.dh-hero__feature-icon {
	flex: none;
	width: var(--dh-feature-icon);
	height: var(--dh-feature-icon);
	object-fit: contain;
}

.dh-hero__feature-title {
	font-family: var(--dh-font-display);
	font-size: var(--dh-fs-heading-20);
	line-height: var(--dh-lh-tight);
	text-transform: uppercase;
}

.dh-hero__feature-text {
	color: var(--dh-color-text-on-dark-muted);
	font-size: var(--dh-fs-body-15);
	line-height: var(--dh-lh-tight);
}

/* ==========================================================================
Split layout
========================================================================== */

.dh-hero__section--split .dh-hero__body {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-height: var(--dh-hero-split-min-height);
}

/* Content aligns with the 1440 container edge on wide screens. */
.dh-hero__section--split .dh-hero__content {
	justify-content: center;
	padding-block: var(--dh-space-64);
	padding-inline-start: max(var(--dh-gutter), (100vw - var(--dh-container-max)) / 2);
	padding-inline-end: var(--dh-space-48);
}

.dh-hero__media {
	position: relative;
	min-width: 0;
}

.dh-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ==========================================================================
Simple layout
========================================================================== */

.dh-hero__section--simple .dh-hero__body {
	width: min(100% - (var(--dh-gutter) * 2), var(--dh-container-max));
	margin-inline: auto;
	padding-block: calc(var(--dh-section-py) * 1.25);
}

.dh-hero__section--simple .dh-hero__content {
	align-items: center;
	text-align: center;
}

/* ==========================================================================
Responsive
========================================================================== */

@media screen and (max-width: 1200px) {
	.dh-hero__features-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 768px) {

	/* Background layout: the image covers only the hero body, not the feature bar. */
	.dh-hero__section--background {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.dh-hero__section--background > .dh-section__bg-media {
		position: relative;
		grid-row: 1;
		grid-column: 1;
		height: 0;          /* the image does not size the row... */
		min-height: 100%;   /* ...it only fills the row the body creates */
	}

	.dh-hero__section--background > .dh-hero__body {
		grid-row: 1;
		grid-column: 1;
	}

	.dh-hero__section--background > .dh-hero__features {
		grid-row: 2;
	}

	.dh-hero__section--split .dh-hero__body {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.dh-hero__section--split .dh-hero__content {
		padding-inline: var(--dh-gutter);
		padding-block: var(--dh-space-48);
	}

	.dh-hero__media {
		aspect-ratio: 4 / 3;
	}

	.dh-hero__features-list {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--dh-space-16);
	}

	.dh-hero__feature {
		flex-direction: column;
	}
}