/* =========================================================
   DirektSupport — main.css
   Stiluri pentru header, footer, blog/noutăți, pagini, 404.
   Conținutul de homepage (lipit în editor) își aduce propriul
   <style> — nu depinde de acest fișier.
   ========================================================= */

:root {
	--ds-bg: #08060D;
	--ds-bg-alt: #0B0813;
	--ds-bg-card: #0D0A16;
	--ds-purple: #C77DFF;
	--ds-purple-deep: #8E2DE2;
	--ds-purple-mid: #C026D3;
	--ds-orange: #FF9A33;
	--ds-orange-deep: #F97316;
	--ds-green: #3DDC84;
	--ds-text: #E9E4F2;
	--ds-text-dim: #ADA2BF;
	--ds-text-dimmer: #9A8FB0;
	--ds-text-faint: #8D82A3;
	--ds-text-faintest: #7E7394;
	--ds-border: rgba(255,255,255,.09);
	--ds-border-purple: rgba(199,125,255,.18);
	--ds-font-head: 'Space Grotesk', sans-serif;
	--ds-font-body: 'IBM Plex Sans', system-ui, sans-serif;
	--ds-font-mono: 'JetBrains Mono', monospace;
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	background: var(--ds-bg);
}

body {
	color: var(--ds-text);
	font-family: var(--ds-font-body);
	font-size: 16px;
	line-height: 1.6;
	min-height: 100vh;
	overflow-x: hidden;
}

a {
	color: var(--ds-purple);
	text-decoration: none;
	transition: color .15s ease;
}
a:hover { color: var(--ds-orange); }

img { max-width: 100%; height: auto; display: block; }

::selection { background: #7B2CBF; color: #fff; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}

.ds-site { min-height: 100vh; display: flex; flex-direction: column; }
.ds-main { flex: 1 1 auto; }

/* ---------- Buttons ---------- */
.ds-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ds-font-head);
	font-size: 15px;
	font-weight: 600;
	padding: 12px 22px;
	border-radius: 10px;
	border: none;
	cursor: pointer;
	white-space: nowrap;
}
.ds-btn-primary {
	color: #fff;
	background: linear-gradient(135deg, var(--ds-purple-deep) 0%, var(--ds-purple-mid) 100%);
	box-shadow: 0 6px 22px rgba(160,40,220,.35);
}
.ds-btn-primary:hover { color: #fff; filter: brightness(1.1); }
.ds-btn-outline {
	color: var(--ds-text);
	background: rgba(255,255,255,.035);
	border: 1px solid rgba(255,255,255,.14);
}
.ds-btn-outline:hover { color: #fff; border-color: rgba(255,154,51,.5); }

/* ---------- Header ---------- */
.ds-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(8,6,13,.9);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(199,125,255,.14);
}
.ds-header-inner {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 28px;
	height: 76px;
	display: flex;
	align-items: center;
	gap: 22px;
}
.ds-logo { display: flex; align-items: center; flex: 0 0 auto; max-height: 44px; overflow: hidden; }
.ds-logo a { display: flex; align-items: center; }
.ds-logo img,
.ds-logo .custom-logo {
	height: 34px !important;
	width: auto !important;
	max-width: 220px;
	filter: brightness(1.35) saturate(1.15);
}

.ds-nav { flex: 1 1 auto; min-width: 0; }
.ds-nav-list {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	align-items: center;
	gap: 2px;
	flex-wrap: nowrap;
}
.ds-nav-item { position: relative; }
.ds-nav-item.ds-has-mega { position: static; }
.ds-nav-link, .ds-dropdown-link { display: flex; align-items: center; gap: 6px; }
.ds-nav-link {
	font-family: var(--ds-font-head);
	font-size: 14.5px;
	font-weight: 500;
	color: #CFC7DE;
	padding: 10px 13px;
	border-radius: 8px;
	white-space: nowrap;
}
.ds-nav-link:hover, .ds-current > .ds-nav-link { background: rgba(199,125,255,.09); color: #fff; }
.ds-caret { font-size: 9px; opacity: .55; }

.ds-dropdown {
	list-style: none;
	margin: 0; padding: 8px;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	background: #0C0914;
	border: 1px solid rgba(199,125,255,.16);
	border-radius: 12px;
	box-shadow: 0 30px 60px -20px rgba(0,0,0,.85);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.ds-has-dropdown:hover > .ds-dropdown,
.ds-has-dropdown.ds-open > .ds-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.ds-dropdown-link {
	font-size: 13.5px;
	color: #B4AAC6;
	padding: 9px 12px;
	border-radius: 8px;
}
.ds-dropdown-link:hover { color: #fff; background: rgba(199,125,255,.08); }

.ds-mega-panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #0C0914;
	border-top: 1px solid rgba(199,125,255,.16);
	border-bottom: 1px solid rgba(199,125,255,.16);
	box-shadow: 0 40px 70px -20px rgba(0,0,0,.85);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.ds-has-mega:hover > .ds-mega-panel,
.ds-has-mega.ds-open > .ds-mega-panel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.ds-mega-columns {
	max-width: 1360px;
	margin: 0 auto;
	padding: 32px 28px 36px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 30px 32px;
}
.ds-mega-col { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ds-mega-col-title {
	font-family: var(--ds-font-mono);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255,255,255,.09);
	margin-bottom: 2px;
}
.ds-mega-col-title a { color: var(--ds-orange); }
.ds-mega-col-title a:hover { color: var(--ds-orange); opacity: .8; }
.ds-mega-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ds-mega-link { font-size: 13px; color: var(--ds-text-dimmer); line-height: 1.4; }
.ds-mega-link:hover { color: var(--ds-purple); }

@media (max-width: 900px) {
	.ds-mega-panel {
		position: static;
		opacity: 1; visibility: visible; transform: none;
		display: none;
		box-shadow: none;
		border: none;
		background: rgba(255,255,255,.02);
		margin: 2px 0 6px 12px;
	}
	.ds-has-mega.ds-open > .ds-mega-panel { display: block; }
	.ds-mega-columns { grid-template-columns: 1fr; padding: 10px 12px; gap: 18px; }
}

.ds-header-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.ds-link-contact { font-family: var(--ds-font-head); font-size: 14px; font-weight: 500; color: #CFC7DE; padding: 10px 14px; }
.ds-link-contact:hover { color: #fff; }
.ds-header-actions .ds-btn { padding: 11px 20px; font-size: 14px; }

.ds-menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px; height: 40px;
	background: transparent;
	border: 1px solid var(--ds-border);
	border-radius: 8px;
	cursor: pointer;
}
.ds-menu-toggle span { display: block; height: 2px; width: 18px; margin: 0 auto; background: var(--ds-text); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.ds-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ds-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ds-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
	.ds-header-inner { padding: 0 18px; height: 66px; }
	.ds-menu-toggle { display: flex; }
	.ds-link-contact { display: none; }
	.ds-nav {
		position: fixed;
		top: 66px; left: 0; right: 0;
		max-height: calc(100vh - 66px);
		overflow-y: auto;
		background: #0B0813;
		border-bottom: 1px solid rgba(199,125,255,.16);
		transform: translateY(-8px);
		opacity: 0;
		visibility: hidden;
		transition: opacity .18s ease, transform .18s ease, visibility .18s;
	}
	.ds-nav.ds-nav-open { opacity: 1; transform: translateY(0); visibility: visible; }
	.ds-nav-list { flex-direction: column; align-items: stretch; gap: 0; padding: 10px; }
	.ds-nav-link { padding: 13px 12px; }
	.ds-dropdown {
		position: static;
		opacity: 1; visibility: visible; transform: none;
		display: none;
		box-shadow: none;
		border: none;
		background: rgba(255,255,255,.02);
		margin: 2px 0 6px 12px;
	}
	.ds-has-dropdown.ds-open > .ds-dropdown { display: block; }
}

/* ---------- Formular „Request Support” (shortcode [ds_support_form]) ---------- */
.ds-support-form-card {
	background: linear-gradient(180deg, rgba(24,17,36,.96) 0%, rgba(14,10,22,.96) 100%);
	border: 1px solid rgba(199,125,255,.22);
	border-radius: 16px;
	padding: 30px;
	box-shadow: 0 30px 70px -25px rgba(0,0,0,.9);
	max-width: 460px;
}
.ds-support-form-title { font-family: var(--ds-font-head); font-size: 22px; font-weight: 600; margin: 0 0 8px; color: #fff; }
.ds-support-form-desc { font-size: 14px; color: var(--ds-text-dimmer); margin: 0 0 22px; }
.ds-support-form { display: flex; flex-direction: column; gap: 12px; }
.ds-support-form input[type="text"],
.ds-support-form input[type="email"],
.ds-support-form select,
.ds-support-form textarea {
	width: 100%;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.11);
	border-radius: 10px;
	padding: 14px 16px;
	color: #fff;
	font-family: var(--ds-font-body);
	font-size: 14.5px;
	outline: none;
}
.ds-support-form select { color: #B4AAC6; }
.ds-support-form textarea { resize: vertical; }
.ds-support-form-note { font-family: var(--ds-font-mono); font-size: 11px; color: var(--ds-text-faintest); margin: 2px 0 0; text-align: center; }
.ds-support-form-msg { border-radius: 10px; padding: 13px 16px; font-size: 14px; margin-bottom: 16px; line-height: 1.5; }
.ds-support-form-msg-success { background: rgba(61,220,132,.1); border: 1px solid rgba(61,220,132,.35); color: #8FEFB8; }
.ds-support-form-msg-error { background: rgba(255,90,90,.1); border: 1px solid rgba(255,90,90,.35); color: #FFB3B3; }
.ds-support-form-honeypot { position: absolute; left: -9999px; top: -9999px; }
.cf-turnstile { margin: 2px 0; }

.ds-request-form-card {
	background: linear-gradient(180deg, rgba(24,17,36,.96) 0%, rgba(14,10,22,.96) 100%);
	border: 1px solid rgba(199,125,255,.22);
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 30px 70px -25px rgba(0,0,0,.9);
	max-width: 720px;
}
.ds-request-form-section-label {
	font-family: var(--ds-font-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ds-orange);
	margin: 10px 0 -2px;
	padding-bottom: 6px;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.ds-request-form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ds-request-form-hint { font-size: 12.5px; color: var(--ds-text-faint); line-height: 1.55; margin: 0; }
.ds-request-form-checkbox-row { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: var(--ds-text-dim); line-height: 1.5; cursor: pointer; }
.ds-request-form-checkbox-row input[type="checkbox"] { margin-top: 3px; flex: 0 0 auto; width: auto; }
.ds-request-form-checkbox-row em { color: var(--ds-text-faint); font-style: normal; }
@media (max-width: 560px) { .ds-request-form-grid-2 { grid-template-columns: 1fr; } .ds-request-form-card { padding: 22px; } }

/* ---------- Footer CTA (bloc de suport, permanent pe toate paginile) ---------- */
.ds-footer-cta { background: var(--ds-bg-alt); border-top: 1px solid rgba(255,255,255,.06); padding: 88px 28px; text-align: center; }
.ds-footer-cta-inner { max-width: 780px; margin: 0 auto; }
.ds-footer-cta h2 { font-family: var(--ds-font-head); font-size: 36px; line-height: 1.15; font-weight: 700; letter-spacing: -.02em; margin: 0 0 18px; color: #fff; }
.ds-footer-cta-text { font-size: 16px; color: var(--ds-text-dim); margin: 0 0 12px; }
.ds-footer-cta-tagline { font-family: var(--ds-font-head); font-size: 20px; font-weight: 600; color: var(--ds-orange); margin: 0 0 8px; }
.ds-footer-cta-meta { font-family: var(--ds-font-mono); font-size: 12px; letter-spacing: .08em; color: var(--ds-text-faint); margin: 0 0 30px; }
.ds-footer-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 640px) { .ds-footer-cta { padding: 60px 20px; } .ds-footer-cta h2 { font-size: 26px; } }

/* ---------- Footer ---------- */
.ds-footer { background: #07050C; border-top: 1px solid rgba(199,125,255,.16); }
.ds-footer-inner { max-width: 1360px; margin: 0 auto; padding: 56px 28px 36px; }

.ds-footer-columns {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 34px 28px;
}
.ds-footer-col { display: flex; flex-direction: column; gap: 8px; }
.ds-footer-col-title {
	font-family: var(--ds-font-mono);
	font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--ds-orange);
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255,255,255,.09);
	margin-bottom: 2px;
}
.ds-footer-col a { font-size: 13px; color: var(--ds-text-dimmer); line-height: 1.5; }
.ds-footer-col a:hover { color: var(--ds-purple); }

.ds-footer-menu-list {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
}
.ds-footer-menu-list a { font-size: 13.5px; color: var(--ds-text-dimmer); }
.ds-footer-menu-list a:hover { color: var(--ds-purple); }

.ds-footer-bottom {
	margin-top: 48px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.08);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 36px;
	flex-wrap: wrap;
}
.ds-footer-about { max-width: 420px; }
.ds-footer-logo { height: 28px; width: auto; margin-bottom: 12px; filter: brightness(1.35) saturate(1.15); }
.ds-footer-about p { font-size: 13.5px; color: var(--ds-text-faintest); margin: 0 0 8px; line-height: 1.6; }
.ds-footer-domain { font-family: var(--ds-font-mono); font-size: 11.5px; color: #635873; }

.ds-footer-legal { display: flex; gap: 20px; flex-wrap: wrap; }
.ds-footer-legal a { font-size: 12.5px; color: var(--ds-text-faintest); }
.ds-footer-legal a:hover { color: var(--ds-purple); }

@media (max-width: 1100px) {
	.ds-footer-columns { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
	.ds-footer-columns { grid-template-columns: repeat(2, 1fr); }
	.ds-footer-bottom { align-items: flex-start; }
}

/* ---------- Blog / Noutăți ---------- */
.ds-blog-section { max-width: 1200px; margin: 0 auto; padding: 64px 28px 96px; }
.ds-blog-title { font-family: var(--ds-font-head); font-size: 38px; font-weight: 700; color: #fff; margin: 0 0 14px; letter-spacing: -.02em; }
.ds-blog-desc { color: var(--ds-text-dim); margin-bottom: 30px; }

.ds-post-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin-top: 34px;
}
.ds-post-card {
	background: var(--ds-bg-card);
	border: 1px solid var(--ds-border);
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: border-color .15s ease;
}
.ds-post-card:hover { border-color: rgba(199,125,255,.4); }
.ds-post-card-thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #14101F; }
.ds-post-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ds-post-card-thumb-placeholder {
	display: block; width: 100%; height: 100%;
	background: linear-gradient(135deg, rgba(142,45,226,.25), rgba(255,138,31,.12));
}
.ds-post-card-body { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; }
.ds-post-card-meta { display: flex; align-items: center; gap: 10px; font-family: var(--ds-font-mono); font-size: 11.5px; color: var(--ds-text-faint); text-transform: uppercase; letter-spacing: .06em; }
.ds-post-card-cat { color: var(--ds-orange); }
.ds-post-card-title { font-family: var(--ds-font-head); font-size: 19px; font-weight: 600; margin: 0; line-height: 1.3; }
.ds-post-card-title a { color: #fff; }
.ds-post-card-title a:hover { color: var(--ds-purple); }
.ds-post-card-excerpt { font-size: 14.5px; color: var(--ds-text-dimmer); line-height: 1.55; }
.ds-post-card-more { font-family: var(--ds-font-mono); font-size: 12.5px; color: var(--ds-orange); margin-top: auto; padding-top: 6px; }

.ds-no-posts { color: var(--ds-text-dim); }

.ds-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 52px; flex-wrap: wrap; }
.ds-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 12px;
	border-radius: 8px;
	background: var(--ds-bg-card);
	border: 1px solid var(--ds-border);
	color: var(--ds-text-dim);
	font-family: var(--ds-font-mono);
	font-size: 13.5px;
}
.ds-pagination .page-numbers:hover { color: #fff; border-color: rgba(199,125,255,.4); }
.ds-pagination .page-numbers.current { color: #fff; background: linear-gradient(135deg, var(--ds-purple-deep), var(--ds-purple-mid)); border-color: transparent; }
.ds-pagination .page-numbers.dots { background: transparent; border-color: transparent; }

@media (max-width: 1000px) { .ds-post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ds-post-grid { grid-template-columns: 1fr; } .ds-blog-title { font-size: 28px; } }

/* ---------- Articol individual ---------- */
.ds-single-inner { max-width: 800px; margin: 0 auto; padding: 64px 28px 40px; }
.ds-single-meta { display: flex; align-items: center; gap: 14px; font-family: var(--ds-font-mono); font-size: 12px; color: var(--ds-text-faint); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 18px; flex-wrap: wrap; }
.ds-back-link { color: var(--ds-purple); text-transform: none; letter-spacing: normal; }
.ds-single-title { font-family: var(--ds-font-head); font-size: 40px; font-weight: 700; line-height: 1.15; color: #fff; margin: 0 0 24px; letter-spacing: -.02em; }
.ds-single-thumb { border-radius: 14px; overflow: hidden; margin-bottom: 30px; border: 1px solid var(--ds-border); }
.ds-single-content { font-size: 17px; line-height: 1.75; color: var(--ds-text-dim); }
.ds-single-content h2, .ds-single-content h3, .ds-single-content h4 { font-family: var(--ds-font-head); color: #fff; margin: 1.6em 0 .6em; }
.ds-single-content p { margin: 0 0 1.2em; }
.ds-single-content a { text-decoration: underline; text-underline-offset: 2px; }
.ds-single-content img { border-radius: 12px; margin: 1.5em 0; }
.ds-single-content blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--ds-purple); color: var(--ds-text); font-style: italic; }
.ds-single-content ul, .ds-single-content ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.ds-single-content pre, .ds-single-content code { font-family: var(--ds-font-mono); background: var(--ds-bg-card); border: 1px solid var(--ds-border); border-radius: 8px; }
.ds-single-content code { padding: 2px 6px; font-size: 13.5px; }
.ds-single-content pre { padding: 16px; overflow-x: auto; }
.ds-single-content pre code { border: none; padding: 0; }

.ds-single-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.ds-chip { font-size: 13px; color: #C3B9D3; background: rgba(255,255,255,.04); border: 1px solid var(--ds-border); border-radius: 999px; padding: 6px 13px; }
.ds-chip:hover { color: #fff; border-color: rgba(199,125,255,.4); }

/* ---------- Comentarii ---------- */
.ds-comments-wrap { border-top: 1px solid var(--ds-border); }
.ds-comments-title { font-family: var(--ds-font-head); font-size: 22px; color: #fff; margin: 40px 0 20px; }
.ds-comment-list { list-style: none; margin: 0 0 30px; padding: 0; }
.ds-comment-list .comment-body { background: var(--ds-bg-card); border: 1px solid var(--ds-border); border-radius: 12px; padding: 18px 20px; margin-bottom: 16px; }
.ds-comment-list .comment-author { font-weight: 600; color: #fff; font-size: 14.5px; }
.ds-comment-list .comment-metadata { font-size: 12px; color: var(--ds-text-faint); margin-bottom: 8px; }
.ds-comment-list .comment-metadata a { color: inherit; }
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea {
	width: 100%;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.11);
	border-radius: 10px;
	padding: 13px 15px;
	color: #fff;
	font-family: var(--ds-font-body);
	font-size: 14.5px;
	margin-bottom: 12px;
}
.comment-respond .comment-form-comment textarea { min-height: 120px; }
.comment-respond .form-submit input[type="submit"] {
	font-family: var(--ds-font-head);
	font-weight: 600;
	color: #fff;
	background: linear-gradient(135deg, var(--ds-purple-deep), var(--ds-purple-mid));
	border: none;
	border-radius: 10px;
	padding: 13px 26px;
	cursor: pointer;
}
.comment-reply-title { font-family: var(--ds-font-head); font-size: 20px; color: #fff; }

/* ---------- Pagini generice (page.php) ---------- */
.ds-page-content { max-width: 800px; margin: 0 auto; padding: 64px 28px 96px; }
.ds-page-title { font-family: var(--ds-font-head); font-size: 40px; font-weight: 700; color: #fff; margin: 0 0 30px; letter-spacing: -.02em; }
.ds-page-body { font-size: 17px; line-height: 1.75; color: var(--ds-text-dim); }
.ds-page-body h2, .ds-page-body h3 { font-family: var(--ds-font-head); color: #fff; margin: 1.6em 0 .6em; }
.ds-page-body p { margin: 0 0 1.2em; }
.ds-page-body a { text-decoration: underline; text-underline-offset: 2px; }
.ds-page-body img { border-radius: 12px; margin: 1.5em 0; }
.ds-page-body ul, .ds-page-body ol { padding-left: 1.3em; margin: 0 0 1.2em; }

/* ---------- 404 ---------- */
.ds-404 { display: flex; align-items: center; justify-content: center; min-height: 60vh; padding: 60px 28px; }
.ds-404-inner { text-align: center; max-width: 480px; }
.ds-404-code { font-family: var(--ds-font-head); font-size: 90px; font-weight: 700; color: var(--ds-purple); line-height: 1; margin-bottom: 10px; }
.ds-404-inner h1 { font-family: var(--ds-font-head); font-size: 26px; color: #fff; margin: 0 0 10px; }
.ds-404-inner p { color: var(--ds-text-dim); margin: 0 0 26px; }
