/* Evde Doktorum — Blog / Single (rich v2) */

.ed-archive-list { padding-block: var(--ed-s8); }
.ed-archive-list .ed-grid { margin-bottom: var(--ed-s7); }

/* ===== NEW SINGLE HERO ===== */
.ed-single-hero {
	position: relative;
	padding-block: clamp(40px, 6vw, 80px) clamp(32px, 5vw, 64px);
	background: linear-gradient(180deg, #f3f3ff 0%, #ffffff 70%, #ffffff 100%);
	overflow: hidden;
	border-bottom: 1px solid var(--ed-line-soft);
}
.ed-single-hero__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(900px 450px at 10% 0%, rgba(68, 87, 199, 0.18) 0%, transparent 55%),
		radial-gradient(700px 350px at 95% 20%, rgba(26, 204, 191, 0.16) 0%, transparent 55%);
	pointer-events: none;
}
.ed-single-hero__bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(25, 34, 115, 0.05) 1px, transparent 1px);
	background-size: 24px 24px;
	mask-image: linear-gradient(180deg, #000 0%, transparent 80%);
	-webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 80%);
}
.ed-single-hero > .ed-container { position: relative; z-index: 2; }

.ed-single-hero__inner { max-width: 820px; }
.ed-single-hero__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: var(--ed-accent-100);
	color: var(--ed-accent-700);
	border-radius: var(--ed-r-full);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: var(--ed-s3);
}
.ed-single-hero__chip svg { color: var(--ed-accent-700); }

.ed-single-hero__title {
	font-size: clamp(1.875rem, 1.4rem + 2vw, 3rem);
	line-height: 1.1;
	margin: 0 0 var(--ed-s4);
	letter-spacing: -0.02em;
	font-weight: 800;
	color: var(--ed-ink);
}

.ed-single-hero__lede {
	font-size: var(--ed-fs-md);
	color: var(--ed-body);
	line-height: 1.65;
	max-width: 720px;
	margin: 0 0 var(--ed-s5);
}

.ed-single-hero__actions {
	display: flex;
	gap: var(--ed-s2);
	flex-wrap: wrap;
	margin-bottom: var(--ed-s5);
}

.ed-single-hero__mini {
	display: flex;
	gap: var(--ed-s5);
	flex-wrap: wrap;
	padding-top: var(--ed-s4);
	border-top: 1px solid var(--ed-line);
	font-size: var(--ed-fs-sm);
	color: var(--ed-muted);
}
.ed-single-hero__mini span { display: inline-flex; align-items: center; gap: 8px; }
.ed-single-hero__mini svg { color: var(--ed-accent-600); }
.ed-single-hero__mini strong { color: var(--ed-ink); font-weight: 700; }

/* ===== SINGLE LAYOUT ===== */
.ed-single {
	padding-block: var(--ed-s7);
	background: var(--ed-surface);
}

.ed-single__layout {
	display: grid;
	gap: var(--ed-s7);
}
@media (min-width: 1020px) {
	.ed-single__layout {
		grid-template-columns: minmax(0, 1fr) 340px;
		align-items: start;
	}
}

.ed-single__article > * { margin-bottom: var(--ed-s6); }
.ed-single__article > *:last-child { margin-bottom: 0; }

.ed-single__featured {
	border-radius: var(--ed-r-lg);
	overflow: hidden;
	box-shadow: var(--ed-sh-2);
}
.ed-single__featured img { width: 100%; height: auto; display: block; }

/* ===== PROSE (rich content typography) ===== */
.ed-prose {
	font-size: 17px;
	line-height: 1.75;
	color: var(--ed-body);
}
.ed-prose > * + * { margin-top: var(--ed-s4); }
.ed-prose p { margin: 0; }
.ed-prose h2 {
	font-size: clamp(1.4rem, 1.1rem + 0.8vw, 1.75rem);
	line-height: 1.3;
	margin: var(--ed-s7) 0 var(--ed-s3);
	color: var(--ed-ink);
	font-weight: 800;
	letter-spacing: -0.015em;
	padding-bottom: var(--ed-s2);
	border-bottom: 3px solid var(--ed-accent);
	display: inline-block;
}
.ed-prose h3 {
	font-size: clamp(1.2rem, 1rem + 0.5vw, 1.375rem);
	line-height: 1.35;
	margin: var(--ed-s6) 0 var(--ed-s2);
	color: var(--ed-ink);
	font-weight: 700;
}
.ed-prose ul, .ed-prose ol { padding-inline-start: 1.5rem; margin: 0; }
.ed-prose ul > li, .ed-prose ol > li { margin-bottom: 8px; line-height: 1.7; }
.ed-prose ul > li::marker { color: var(--ed-accent-600); }
.ed-prose a {
	color: var(--ed-primary-500);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
	text-decoration-color: var(--ed-accent);
}
.ed-prose a:hover { color: var(--ed-primary); text-decoration-color: var(--ed-primary); }
.ed-prose blockquote {
	margin: var(--ed-s5) 0;
	padding: var(--ed-s4) var(--ed-s5);
	border-inline-start: 4px solid var(--ed-accent);
	background: var(--ed-surface-2);
	border-radius: var(--ed-r-md);
	color: var(--ed-ink-soft);
	font-style: italic;
	font-size: var(--ed-fs-md);
}
.ed-prose strong { color: var(--ed-ink); font-weight: 700; }

/* ===== INLINE BLOCKS (cross links, process, FAQ inside article) ===== */
.ed-single__block {
	margin-top: var(--ed-s8);
	padding-top: var(--ed-s6);
	border-top: 1px dashed var(--ed-line);
}
.ed-single__block-head { margin-bottom: var(--ed-s5); }
.ed-single__block-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	background: var(--ed-accent-100);
	color: var(--ed-accent-700);
	border-radius: var(--ed-r-full);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: var(--ed-s2);
}
.ed-single__block h2 {
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	line-height: 1.25;
	margin: 0;
	color: var(--ed-ink);
	letter-spacing: -0.02em;
	font-weight: 800;
	border: 0;
	padding: 0;
	display: block;
}

/* CTA banner inside article */
.ed-single__cta-banner {
	margin-top: var(--ed-s8);
	padding: clamp(28px, 4vw, 48px);
	background:
		radial-gradient(600px 300px at 80% 0%, rgba(26, 204, 191, 0.28) 0%, transparent 60%),
		linear-gradient(135deg, #192273 0%, #4457c7 100%);
	border-radius: var(--ed-r-xl);
	color: #fff;
	text-align: start;
	position: relative;
	overflow: hidden;
}
.ed-single__cta-banner::after {
	content: "";
	position: absolute;
	inset: auto -60px -60px auto;
	width: 220px; height: 220px;
	background: radial-gradient(circle, rgba(26, 204, 191, 0.22) 0%, transparent 60%);
	pointer-events: none;
}
.ed-single__cta-banner-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	background: rgba(26, 204, 191, 0.2);
	border: 1px solid rgba(26, 204, 191, 0.4);
	color: #d0f9f3;
	border-radius: var(--ed-r-full);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: var(--ed-s4);
}
.ed-single__cta-banner h3 {
	color: #fff;
	font-size: clamp(1.375rem, 1.1rem + 1vw, 1.875rem);
	margin: 0 0 var(--ed-s3);
	line-height: 1.25;
	letter-spacing: -0.02em;
}
.ed-single__cta-banner p { color: rgba(255, 255, 255, 0.85); margin: 0 0 var(--ed-s5); line-height: 1.65; }
.ed-single__cta-banner-actions { display: flex; gap: var(--ed-s3); flex-wrap: wrap; position: relative; z-index: 2; }

/* Share row */
.ed-single__share {
	display: flex;
	align-items: center;
	gap: var(--ed-s2);
	padding: var(--ed-s5) 0;
	border-block: 1px solid var(--ed-line);
	margin-top: var(--ed-s7) !important;
}
.ed-single__share strong { color: var(--ed-ink-soft); margin-inline-end: var(--ed-s2); }
.ed-single__share a {
	width: 40px; height: 40px;
	border-radius: var(--ed-r-full);
	background: var(--ed-surface-2);
	color: var(--ed-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all .2s var(--ed-ease);
}
.ed-single__share a:hover {
	background: var(--ed-primary);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(25, 34, 115, 0.25);
}
.ed-single__share svg { width: 16px; height: 16px; }

/* ===== RICH SIDEBAR ===== */
.ed-sidebar--rich {
	display: flex;
	flex-direction: column;
	gap: var(--ed-s4);
	position: sticky;
	top: 120px;
	align-self: start;
}
@media (max-width: 1019px) { .ed-sidebar--rich { position: static; } }

.ed-sw {
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: var(--ed-r-lg);
	padding: var(--ed-s5);
	box-shadow: var(--ed-sh-1);
}

/* Appointment widget */
.ed-sw--appointment {
	background: linear-gradient(180deg, #ffffff 0%, #f3f3ff 100%);
	border: 1px solid var(--ed-primary-100);
	position: relative;
	overflow: hidden;
}
.ed-sw--appointment::before {
	content: "";
	position: absolute;
	inset: auto -40px -40px auto;
	width: 140px; height: 140px;
	background: radial-gradient(circle, rgba(26, 204, 191, 0.18) 0%, transparent 60%);
	pointer-events: none;
}
.ed-sw__header {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 10px;
	background: rgba(16, 185, 129, 0.12);
	color: #0d8a5f;
	border-radius: var(--ed-r-full);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: var(--ed-s3);
}
.ed-sw__live {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #10b981;
	box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
	animation: ed-pulse 1.8s infinite;
}
.ed-sw__title { font-size: 1.25rem; margin: 0 0 8px; color: var(--ed-ink); font-weight: 800; letter-spacing: -0.01em; }
.ed-sw__text { font-size: var(--ed-fs-sm); color: var(--ed-muted); margin: 0 0 var(--ed-s4); line-height: 1.55; }
.ed-sw__form { display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 1; }
.ed-sw__form .ed-input {
	width: 100%;
	padding: 12px 14px;
	font-size: var(--ed-fs-sm);
	background: #fff;
	border: 1.5px solid var(--ed-line);
	border-radius: var(--ed-r-sm);
	transition: all .2s var(--ed-ease);
}
.ed-sw__form .ed-input:focus { outline: none; border-color: var(--ed-accent); box-shadow: 0 0 0 3px rgba(26, 204, 191, 0.2); }
.ed-sw__form .ed-btn { margin-top: 4px; }

.ed-sw__divider {
	display: flex; align-items: center;
	margin: var(--ed-s4) 0 var(--ed-s3);
	color: var(--ed-muted);
	font-size: 11px; font-weight: 600;
	letter-spacing: 0.1em; text-transform: uppercase;
}
.ed-sw__divider::before, .ed-sw__divider::after { content: ""; flex: 1; height: 1px; background: var(--ed-line); }
.ed-sw__divider span { padding: 0 10px; }

.ed-sw__quick { display: flex; flex-direction: column; gap: 8px; }
.ed-sw__quick-btn {
	display: flex; align-items: center; gap: 12px;
	padding: 12px 14px;
	background: #fff;
	border: 1.5px solid var(--ed-line);
	border-radius: var(--ed-r-sm);
	color: var(--ed-ink);
	text-decoration: none;
	transition: all .2s var(--ed-ease);
}
.ed-sw__quick-btn svg { color: var(--ed-primary); width: 22px; height: 22px; flex-shrink: 0; }
.ed-sw__quick-btn small { display: block; font-size: 11px; color: var(--ed-muted); letter-spacing: 0.04em; text-transform: uppercase; font-weight: 700; }
.ed-sw__quick-btn strong { display: block; font-size: var(--ed-fs-sm); font-weight: 700; color: var(--ed-ink); line-height: 1.2; margin-top: 1px; }
.ed-sw__quick-btn:hover { border-color: var(--ed-accent); background: var(--ed-accent-100); transform: translateX(2px); }
.ed-sw__quick-btn--wa:hover { background: rgba(37, 211, 102, 0.08); border-color: #25d366; }
.ed-sw__quick-btn--wa:hover svg { color: #25d366; }

/* Trust widget */
.ed-sw__small-title {
	font-size: var(--ed-fs-sm); font-weight: 800;
	color: var(--ed-ink); letter-spacing: -0.01em;
	margin: 0 0 var(--ed-s3);
	display: inline-flex; align-items: center; gap: 8px;
}
.ed-sw__small-title svg { color: var(--ed-accent-600); }

.ed-sw__check { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ed-sw__check li { display: flex; align-items: flex-start; gap: 10px; font-size: var(--ed-fs-sm); color: var(--ed-body); line-height: 1.45; }
.ed-sw__check svg {
	width: 18px; height: 18px; flex-shrink: 0;
	color: var(--ed-success);
	background: var(--ed-success-100);
	border-radius: 50%;
	padding: 3px;
	box-sizing: content-box;
	margin-top: 1px;
}

/* List widgets */
.ed-sw--list .ed-sw__links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.ed-sw__links a {
	display: flex; align-items: center; gap: 10px;
	padding: 10px 12px;
	color: var(--ed-ink-soft);
	text-decoration: none;
	font-size: var(--ed-fs-sm); font-weight: 600;
	border-radius: var(--ed-r-sm);
	transition: all .2s var(--ed-ease);
	line-height: 1.3;
}
.ed-sw__links a > span { flex: 1; }
.ed-sw__links a svg { color: var(--ed-accent-600); flex-shrink: 0; }
.ed-sw__links a svg:last-child { color: var(--ed-muted); opacity: 0.7; }
.ed-sw__links a:hover { background: var(--ed-primary-50); color: var(--ed-primary); transform: translateX(2px); }
.ed-sw__links a:hover svg:last-child { color: var(--ed-primary); opacity: 1; }

/* Related posts with thumbnails */
.ed-sw__posts { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.ed-sw__posts a { display: grid; grid-template-columns: 60px 1fr; gap: 12px; align-items: center; text-decoration: none; transition: transform .2s var(--ed-ease); }
.ed-sw__posts a:hover { transform: translateX(2px); }
.ed-sw__post-thumb { width: 60px; height: 60px; border-radius: var(--ed-r-sm); overflow: hidden; background: var(--ed-primary-50); display: flex; align-items: center; justify-content: center; }
.ed-sw__post-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ed-sw__post-thumb--fallback { color: var(--ed-primary); }
.ed-sw__post-thumb--fallback svg { width: 24px; height: 24px; opacity: 0.5; }
.ed-sw__post-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ed-sw__post-text strong {
	font-size: 13px; line-height: 1.4;
	color: var(--ed-ink); font-weight: 600;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ed-sw__post-text time { font-size: 11px; color: var(--ed-muted); }

/* Process grid inside single block */
.ed-single__block--process .ed-process__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--ed-s4);
}

/* 404 */
.ed-404 { text-align: center; padding: var(--ed-s10) var(--ed-s4); max-width: 640px; margin-inline: auto; }
.ed-404__num {
	font-size: clamp(4rem, 3rem + 6vw, 8rem);
	font-weight: 800;
	line-height: 1;
	background: var(--ed-gr-accent);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.ed-404__title { font-size: var(--ed-fs-h2); margin-block: var(--ed-s4) var(--ed-s3); }
.ed-404__lede { color: var(--ed-muted); margin-bottom: var(--ed-s5); }
