/* Diginamics 1.3: Three.js hero composition and mobile color-mode control. */
.dgm-hero__layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);
	width: var(--dgm-content);
	margin-inline: auto;
}

.dgm-hero__layout .dgm-hero__content {
	width: auto;
	margin: 0;
}

.dgm-mobile-theme-row {
	display: none;
}

@media (max-width: 1000px) {
	.dgm-hero__layout {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
	}
}

@media (max-width: 782px) {
	.dgm-hero__layout {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.dgm-hero__layout .dgm-hero-scene {
		min-height: 320px;
	}

	.dgm-header-actions > .dgm-theme-toggle {
		display: none;
	}

	.wp-block-navigation__responsive-container-content .dgm-mobile-theme-row {
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		margin-top: 2rem;
		padding-top: 1.25rem;
		border-top: 1px solid var(--dgm-color-border);
	}

	.dgm-mobile-theme-row__title {
		color: var(--dgm-color-text-muted);
		font: 700 .74rem/1.3 var(--wp--preset--font-family--mono);
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	.dgm-theme-toggle--mobile {
		display: inline-grid;
		width: auto;
		min-width: 10.5rem;
		height: 46px;
		grid-template-columns: 1.25rem 1fr;
		gap: .65rem;
		padding: 0 .9rem;
		border-radius: 6px;
		text-align: left;
	}

	.dgm-theme-toggle--mobile .dgm-theme-toggle__label {
		display: block;
		font: 700 .76rem/1.2 var(--wp--preset--font-family--mono);
		letter-spacing: .03em;
		text-transform: uppercase;
	}
}

@media (max-width: 420px) {
	.dgm-hero__layout .dgm-hero-scene {
		min-height: 290px;
	}
}


/* Editable block compatibility refinements. */
.dgm-hero__meta {
	padding: 0;
	list-style: none;
}

.dgm-hero__meta li {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
}

.dgm-hero__meta li::before {
	width: 5px;
	height: 5px;
	background: var(--dgm-color-accent);
	box-shadow: 0 0 12px var(--dgm-color-accent);
	content: "";
}

.dgm-process-step > .dgm-card-index {
	display: none;
}

.dgm-stat > .dgm-card-index {
	display: block;
	margin: 0 0 .75rem;
	color: var(--dgm-color-secondary);
	font: 800 clamp(1.35rem, 2.2vw, 2.4rem)/1 var(--wp--preset--font-family--mono);
}

.dgm-stat > h3 {
	margin: 0 0 .65rem;
	font-size: 1rem;
}

.dgm-stat > p:last-child {
	margin: 0;
	color: var(--dgm-copy, var(--dgm-color-text-muted));
}

.dgm-chip-list {
	padding: 0;
	list-style: none;
}

.dgm-chip-list li {
	padding: .4rem .55rem;
	border: 1px solid rgba(29, 70, 107, .8);
	border-radius: 3px;
	color: var(--dgm-color-text-muted);
	background: rgba(5, 18, 37, .66);
	font: 600 .68rem/1.15 var(--wp--preset--font-family--mono);
	letter-spacing: .04em;
	text-transform: uppercase;
}

.dgm-cpt-card > .dgm-icon-block {
	display: inline-flex;
	margin-bottom: 1rem;
}

.dgm-form-context {
	margin: 0 0 1rem;
	padding: .8rem 1rem;
	border-left: 3px solid var(--dgm-color-secondary);
	color: var(--dgm-color-text-muted);
	background: color-mix(in srgb, var(--dgm-color-secondary) 7%, transparent);
}

html[data-dgm-theme="light"] .dgm-chip-list li {
	border-color: #91bbd3;
	color: #38566d;
	background: #fff;
}


/* Keep cyan/blue WebGL lines legible on the light surface. */
html[data-dgm-theme="light"] .dgm-hero-scene__canvas {
	filter: saturate(1.35) contrast(1.25) brightness(.78);
}

html[data-dgm-theme="light"] .dgm-hero-scene__fallback {
	filter: saturate(1.3) contrast(1.2) brightness(.82);
}
