/* Evde Doktorum — layout primitives */

.ed-container {
	width: 100%;
	max-width: var(--ed-container);
	margin-inline: auto;
	padding-inline: var(--ed-gutter);
}

.ed-container--wide { max-width: var(--ed-container-wide); }
.ed-container--narrow { max-width: var(--ed-container-narrow); }
.ed-container--prose { max-width: var(--ed-container-prose); }

.ed-section {
	padding-block: var(--ed-section-y);
}

.ed-section--tight { padding-block: clamp(32px, 6vw, 80px); }
.ed-section--loose { padding-block: clamp(64px, 10vw, 160px); }

.ed-section--alt { background: var(--ed-surface-2); }
.ed-section--brand {
	background: var(--ed-gr-primary);
	color: rgba(255, 255, 255, 0.92);
}
.ed-section--brand h1, .ed-section--brand h2, .ed-section--brand h3 { color: #fff; }

.ed-grid { display: grid; gap: var(--ed-s5); }

.ed-grid--2col { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.ed-grid--3col { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.ed-grid--4col { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.ed-grid--cards { gap: var(--ed-s5); }

@media (min-width: 900px) {
	.ed-grid--3col { grid-template-columns: repeat(3, 1fr); }
	.ed-grid--4col { grid-template-columns: repeat(4, 1fr); }
	.ed-grid--2col { grid-template-columns: repeat(2, 1fr); }
}

.ed-stack { display: flex; flex-direction: column; gap: var(--ed-s4); }
.ed-stack--sm { gap: var(--ed-s2); }
.ed-stack--lg { gap: var(--ed-s6); }
.ed-stack--xl { gap: var(--ed-s7); }

.ed-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ed-s4);
	align-items: center;
}

.ed-row--between { justify-content: space-between; }
.ed-row--center { justify-content: center; }
.ed-row--end { justify-content: flex-end; }
.ed-row--baseline { align-items: baseline; }

.ed-split {
	display: grid;
	gap: var(--ed-s7);
}
@media (min-width: 900px) {
	.ed-split { grid-template-columns: 1fr 1fr; align-items: center; }
	.ed-split--mediaLeft { grid-template-columns: 1.1fr 1fr; }
	.ed-split--mediaRight { grid-template-columns: 1fr 1.1fr; }
}

.ed-section__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto var(--ed-s7);
}

.ed-section__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--ed-s2);
	font-size: var(--ed-fs-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ed-accent-600);
	background: var(--ed-accent-100);
	padding: 6px 14px;
	border-radius: var(--ed-r-full);
	margin-bottom: var(--ed-s3);
}

.ed-section__title {
	font-size: var(--ed-fs-h2);
	margin-bottom: var(--ed-s3);
}

.ed-section__lede {
	font-size: var(--ed-fs-md);
	color: var(--ed-muted);
	line-height: var(--ed-lh-relaxed);
	max-width: 640px;
	margin-inline: auto;
}

.ed-section__head--start {
	text-align: start;
	max-width: none;
	margin-inline-start: 0;
}

/* Visibility utilities */
.ed-hide { display: none !important; }
.ed-hide-mobile { display: inherit; }
.ed-hide-desktop { display: inherit; }

@media (max-width: 767px) {
	.ed-hide-mobile { display: none !important; }
}
@media (min-width: 768px) {
	.ed-hide-desktop { display: none !important; }
}

/* Entry animation hook */
.ed-animate-in {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 600ms var(--ed-ease-out), transform 600ms var(--ed-ease-out);
}
.ed-animate-in.is-visible {
	opacity: 1;
	transform: none;
}
