/* Data Guide site styles, layered on Kadence. Source of truth: NewPageDesign/project/*.dc.html */

/* ---------- Tokens ---------- */
:root {
	--dg-bg: #F7F8FA;
	--dg-surface: #FFFFFF;
	--dg-text: #0E1116;
	--dg-muted: #3F4752;
	--dg-subtle: #5B6472;
	--dg-faint: #8A93A1;
	--dg-border: #E3E6EB;
	--dg-border-strong: #D5DAE1;
	--dg-accent: #0B7A6F;
	--dg-accent-hover: #075A52;
	--dg-accent-soft: #E6F3F1;
	--dg-warn-bg: #FFF4E5;
	--dg-warn-title: #7A3E00;
	--dg-warn-text: #4A2A00;
	--dg-code-bg: #0E1116;
	--dg-code-bar: #1A1F27;
	--dg-font-head: 'Space Grotesk', system-ui, sans-serif;
	--dg-font-body: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--dg-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

	/* Map onto Kadence's global palette so theme components follow along. */
	--global-palette1: var(--dg-accent);
	--global-palette2: var(--dg-accent-hover);
	--global-palette3: var(--dg-text);
	--global-palette4: var(--dg-muted);
	--global-palette5: var(--dg-subtle);
	--global-palette6: var(--dg-faint);
	--global-palette7: var(--dg-border);
	--global-palette8: var(--dg-bg);
	--global-palette9: var(--dg-surface);
	--global-body-font-family: var(--dg-font-body);
	--global-heading-font-family: var(--dg-font-head);
	--global-content-width: 1180px;
}

body { background: var(--dg-bg); color: var(--dg-text); font-family: var(--dg-font-body); }
h1, h2, h3, h4, .entry-title, .site-title { font-family: var(--dg-font-head); letter-spacing: -0.01em; }
a { color: var(--dg-accent); }
a:hover, a:focus { color: var(--dg-accent-hover); }

.dg-eyebrow {
	font-family: var(--dg-font-mono); font-size: 12px; font-weight: 500;
	letter-spacing: 0.06em; text-transform: uppercase; color: var(--dg-subtle);
}

/* ---------- Single post: badge, read time ---------- */
.dg-series-badge {
	display: inline-block; margin-bottom: 14px; padding: 6px 10px; border-radius: 6px;
	background: var(--dg-accent-soft); color: var(--dg-accent-hover); text-decoration: none;
	font-family: var(--dg-font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase;
}
.dg-series-badge:hover { color: var(--dg-text); }
.dg-readtime { margin-top: 6px; font-size: 14px; color: var(--dg-subtle); }

/* Kadence's date-based prev/next is replaced by series navigation on series posts. */
.dg-in-series .post-navigation, .dg-in-series .post-navigation-wrap { display: none; }

/* ---------- Post body ---------- */
.single-content { font-size: 17px; line-height: 1.65; }
.single-content h2 { font-size: 30px; line-height: 1.2; margin-top: 1.6em; }
.single-content h3 { font-size: 23px; line-height: 1.25; }

/* C4 inline code */
.single-content :not(pre) > code {
	padding: 2px 6px; border-radius: 5px; background: #EEF1F4; border: 1px solid var(--dg-border);
	font-family: var(--dg-font-mono); font-size: 0.86em; color: var(--dg-text);
}

/* Figures and captions */
.single-content figure figcaption, .single-content .wp-element-caption { font-size: 14px; color: var(--dg-subtle); }
.single-content .wp-block-image img { border-radius: 10px; }

/* ---------- Quotes (Q1–Q4) ---------- */
/* Shared callout box for Q1–Q3 */
.wp-block-quote.is-style-dg-status,
.wp-block-quote.is-style-dg-preview,
.wp-block-quote.is-style-dg-note {
	position: relative; margin: 24px 0; padding: 18px 20px 18px 56px; border: 0; border-radius: 10px;
	font-size: 15px; line-height: 1.6; font-style: normal; color: var(--dg-muted);
}
.wp-block-quote.is-style-dg-status::before,
.wp-block-quote.is-style-dg-preview::before,
.wp-block-quote.is-style-dg-note::before {
	content: ""; position: absolute; left: 20px; top: 20px; width: 22px; height: 22px;
	background: currentColor; -webkit-mask: var(--dg-icon) center / contain no-repeat; mask: var(--dg-icon) center / contain no-repeat;
}
.wp-block-quote.is-style-dg-status,
.wp-block-quote.is-style-dg-preview,
.wp-block-quote.is-style-dg-note { color: var(--dg-muted); }
.wp-block-quote[class*="is-style-dg-"] p { margin: 0 0 8px; font-size: 15px; color: inherit; }
.wp-block-quote[class*="is-style-dg-"] p:last-child { margin-bottom: 0; }
.wp-block-quote[class*="is-style-dg-"] cite { font-size: 13px; color: var(--dg-subtle); font-style: normal; }

/* Q1 status / verified */
.wp-block-quote.is-style-dg-status { background: var(--dg-accent-soft); }
.wp-block-quote.is-style-dg-status::before {
	color: var(--dg-accent-hover);
	--dg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l2.5 2.5L16 9.5'/%3E%3C/svg%3E");
}
.wp-block-quote.is-style-dg-status strong:first-child { color: var(--dg-accent-hover); }

/* Q2 preview / caution */
.wp-block-quote.is-style-dg-preview { background: var(--dg-warn-bg); color: var(--dg-warn-text); }
.wp-block-quote.is-style-dg-preview::before {
	color: var(--dg-warn-title);
	--dg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l10 18H2z'/%3E%3Cpath d='M12 10v5M12 18h.01'/%3E%3C/svg%3E");
}
.wp-block-quote.is-style-dg-preview strong:first-child { color: var(--dg-warn-title); }

/* Q3 note / tip */
.wp-block-quote.is-style-dg-note { background: var(--dg-surface); border: 1px solid var(--dg-border); }
.wp-block-quote.is-style-dg-note::before {
	color: var(--dg-subtle);
	--dg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5h.01'/%3E%3C/svg%3E");
}

/* Q4 quotation: default for any plain quote */
.wp-block-quote:not([class*="is-style-dg-"]) {
	margin: 28px 0; padding: 4px 0 4px 22px; border: 0; border-left: 3px solid var(--dg-accent);
	font-family: var(--dg-font-head); font-size: 20px; line-height: 1.45; font-style: normal; color: var(--dg-text);
}
.wp-block-quote:not([class*="is-style-dg-"]) cite { display: block; margin-top: 8px; font-family: var(--dg-font-body); font-size: 14px; font-style: normal; color: var(--dg-subtle); }

/* ---------- Tables (T1–T4) ---------- */
.single-content .wp-block-table {
	margin: 24px 0; overflow-x: auto; -webkit-overflow-scrolling: touch;
	background: var(--dg-surface); border: 1px solid var(--dg-border); border-radius: 10px;
}
.single-content .wp-block-table table { width: 100%; min-width: 520px; border-collapse: collapse; border: 0; font-size: 15px; line-height: 1.5; }
.single-content .wp-block-table th,
.single-content .wp-block-table td { padding: 12px 16px; border: 0; border-top: 1px solid var(--dg-border); text-align: left; vertical-align: top; }
.single-content .wp-block-table thead th { border-top: 0; background: #F0F2F5; font-size: 13px; font-weight: 600; color: var(--dg-text); }
.single-content .wp-block-table thead { border-bottom: 0; }
.single-content .wp-block-table tbody tr:nth-child(even) { background: #FAFBFC; }
.single-content .wp-block-table tbody td:first-child { font-weight: 600; } /* T1: row label */
.single-content .wp-block-table figcaption { order: -1; margin: 0; padding: 12px 16px 0; text-align: left; font-family: var(--dg-font-mono); font-size: 12px; color: var(--dg-subtle); }
/* T3 comparison: criteria column */
.single-content .wp-block-table.is-style-dg-comparison tbody td:first-child,
.single-content .wp-block-table.is-style-dg-comparison tbody th { width: 28%; background: #FAFBFC; font-weight: 600; }
/* T4 reference: compact rows, no row-label bolding */
.single-content .wp-block-table.is-style-dg-reference td,
.single-content .wp-block-table.is-style-dg-reference th { padding: 9px 14px; }
.single-content .wp-block-table.is-style-dg-reference tbody td:first-child { font-weight: 400; }
/* Override core's stripes style so ours wins */
.single-content .wp-block-table.is-style-stripes { border-bottom: 1px solid var(--dg-border); }

/* ---------- Group callouts ---------- */
.wp-block-group.is-style-dg-before { padding: 18px 20px; border-radius: 10px; background: var(--dg-surface); border: 1px solid var(--dg-border); font-size: 15px; color: var(--dg-muted); }
.wp-block-group.is-style-dg-watch { padding: 18px 20px; border-radius: 10px; background: var(--dg-warn-bg); font-size: 15px; color: var(--dg-warn-text); }
.wp-block-group.is-style-dg-before > :first-child,
.wp-block-group.is-style-dg-watch > :first-child { margin-top: 0; }
.wp-block-group.is-style-dg-before > :last-child,
.wp-block-group.is-style-dg-watch > :last-child { margin-bottom: 0; }

/* ---------- Code Block Pro chrome (C1–C3) ---------- */
/* Token colours come from the block's Code Block Pro theme; this only shapes the frame. */
.wp-block-kevinbatdorf-code-block-pro { margin: 24px 0; border-radius: 10px; overflow: hidden; }
.wp-block-kevinbatdorf-code-block-pro pre { border-radius: 0; }

/* ---------- Series navigation ---------- */
.dg-series-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 40px; }
.dg-series-nav__item { display: flex; flex-direction: column; gap: 6px; padding: 20px; border: 1px solid var(--dg-border); border-radius: 12px; background: var(--dg-surface); color: var(--dg-text); text-decoration: none; }
.dg-series-nav__item.is-next { text-align: right; }
a.dg-series-nav__item:hover { border-color: var(--dg-accent); color: var(--dg-text); }
.dg-series-nav__item.is-planned { border-style: dashed; border-color: #C9D0D8; background: transparent; }
.dg-series-nav__kicker, .dg-series-nav__note { font-size: 13px; color: var(--dg-subtle); }
.dg-series-nav__title { font-family: var(--dg-font-head); font-weight: 600; font-size: 18px; line-height: 1.3; }

.dg-series-box { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; padding: 20px; border-radius: 12px; background: var(--dg-text); color: #FFFFFF; }
.dg-series-box .dg-eyebrow { color: #9FE3D8; }
.dg-series-box__name { font-family: var(--dg-font-head); font-weight: 600; font-size: 17px; line-height: 1.3; color: #FFFFFF; text-decoration: none; }
.dg-series-box__name:hover { color: #9FE3D8; }
.dg-series-box ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.dg-series-box a { color: #C3C9D2; }
.dg-series-box a:hover { color: #FFFFFF; }
.dg-series-box .is-current { color: #FFFFFF; font-weight: 600; }
.dg-series-box .is-planned { color: var(--dg-faint); }

/* Sidebar mini cards [dg_series_cards] */
.dg-series-cards { display: flex; flex-direction: column; gap: 12px; }
.dg-series-mini { display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: 12px; background: var(--dg-surface); border: 1px solid var(--dg-border); }
.dg-series-mini__name { font-family: var(--dg-font-head); font-weight: 600; font-size: 17px; line-height: 1.3; color: var(--dg-text); text-decoration: none; }
.dg-series-mini ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.dg-series-mini .is-planned { color: var(--dg-faint); }

/* Series page [dg_series_index] */
.dg-series-index { display: flex; flex-direction: column; gap: 28px; }
.dg-series-card { padding: 28px; border-radius: 14px; background: var(--dg-surface); border: 1px solid var(--dg-border); }
.dg-series-card header { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.dg-series-card h2 { margin: 0; font-size: 28px; line-height: 1.2; }
.dg-series-card h2 a { color: var(--dg-text); text-decoration: none; }
.dg-series-card p { margin: 0; color: var(--dg-muted); }
.dg-progress { height: 6px; border-radius: 999px; background: var(--dg-border); overflow: hidden; max-width: 360px; }
.dg-progress span { display: block; height: 100%; background: var(--dg-accent); }
.dg-series-parts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.dg-series-parts li > a, .dg-series-parts li > div {
	display: grid; grid-template-columns: 80px 1fr auto; gap: 4px 16px; align-items: baseline;
	padding: 14px 0; border-top: 1px solid var(--dg-border); color: var(--dg-text); text-decoration: none;
}
.dg-series-parts li > a:hover .dg-part-title { color: var(--dg-accent); }
.dg-part { font-family: var(--dg-font-mono); font-size: 12px; color: var(--dg-accent); }
.dg-part-title { font-weight: 600; }
.dg-part-meta { font-size: 14px; color: var(--dg-subtle); }
.dg-series-parts .is-planned .dg-part, .dg-series-parts .is-planned .dg-part-title { color: var(--dg-faint); }
@media (max-width: 600px) {
	.dg-series-parts li > a, .dg-series-parts li > div { grid-template-columns: 1fr; }
	.dg-series-card { padding: 20px; }
}

/* ---------- Core code block (C3 frame) + PROMPT style ---------- */
.single-content .wp-block-code {
	position: relative; margin: 24px 0; padding: 48px 16px 16px; border: 0; border-radius: 10px;
	background: var(--dg-code-bg); color: #E8ECF1; font-family: var(--dg-font-mono); font-size: 14px; line-height: 1.6;
	overflow-x: auto;
}
.single-content .wp-block-code::before {
	content: "CODE"; position: absolute; left: 0; right: 0; top: 0; height: 40px; padding: 0 16px;
	display: flex; align-items: center; background: var(--dg-code-bar); color: #C3C9D2; font-size: 12px; letter-spacing: 0.04em;
}
.single-content .wp-block-code.is-style-dg-prompt::before { content: "PROMPT"; }
.single-content .wp-block-code.is-style-dg-prompt { white-space: pre-wrap; }
.single-content .wp-block-code code { background: none; border: 0; padding: 0; color: inherit; font-size: inherit; white-space: inherit; }
.dg-copy {
	position: absolute; top: 4px; right: 8px; min-height: 32px; padding: 4px 12px; border: 1px solid #3A4250; border-radius: 6px;
	background: transparent; color: #FFFFFF; font: 500 12px var(--dg-font-body); cursor: pointer;
}
.dg-copy:hover, .dg-copy:focus-visible { background: #2B323D; }

/* ======================================================================
 * Layout (layout.php)
 * ==================================================================== */
.dg-wrap { max-width: 1180px; margin: 0 auto; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
.dg-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 8px; background: var(--dg-accent); color: #FFFFFF; font-weight: 600; font-size: 14px; text-decoration: none; }
.dg-btn:hover, .dg-btn:focus { background: var(--dg-accent-hover); color: #FFFFFF; }
.dg-btn--dark { background: var(--dg-text); }
.dg-btn--dark:hover, .dg-btn--dark:focus { background: #2B323D; }

/* Masthead */
.dg-header { background: var(--dg-surface); border-bottom: 1px solid var(--dg-border); }
.dg-header__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; padding-top: 36px; padding-bottom: 20px; }
.dg-brand { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--dg-text); }
.dg-brand:hover { color: var(--dg-text); }
.dg-brand__logo { width: 56px; height: 56px; object-fit: contain; flex: 0 0 56px; }
.dg-brand__text { display: flex; flex-direction: column; gap: 4px; }
.dg-brand__name { font-family: var(--dg-font-head); font-weight: 700; font-size: 40px; line-height: 1; letter-spacing: -0.02em; }
.dg-brand__dot { color: var(--dg-accent); }
.dg-brand__tag { font-size: 15px; color: var(--dg-subtle); }
.dg-header__actions { display: flex; align-items: center; gap: 8px; position: relative; }
.dg-search summary { list-style: none; width: 44px; height: 44px; border: 1px solid var(--dg-border); border-radius: 8px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--dg-text); background: var(--dg-surface); }
.dg-search summary::-webkit-details-marker { display: none; }
.dg-search[open] summary { border-color: var(--dg-accent); }
.dg-search__form { position: absolute; right: 0; top: 52px; z-index: 50; display: flex; gap: 8px; width: min(420px, calc(100vw - 48px)); padding: 12px; background: var(--dg-surface); border: 1px solid var(--dg-border); border-radius: 10px; box-shadow: 0 8px 24px rgba(14,17,22,0.08); }
.dg-search__form input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #B9C4CF; border-radius: 8px; font: 15px var(--dg-font-body); }
.dg-search__form button { height: 44px; padding: 0 16px; border: 0; border-radius: 8px; background: var(--dg-accent); color: #FFFFFF; font: 600 14px var(--dg-font-body); cursor: pointer; }
.dg-nav { display: flex; flex-wrap: wrap; gap: 4px; font-size: 15px; }
.dg-nav a { padding: 12px; color: var(--dg-muted); text-decoration: none; font-weight: 500; border-bottom: 2px solid transparent; }
.dg-nav a:hover { color: var(--dg-text); }
.dg-nav a[aria-current="page"] { color: var(--dg-text); font-weight: 600; border-bottom-color: var(--dg-accent); }
@media (max-width: 600px) {
	.dg-header__top { padding-top: 20px; align-items: center; }
	.dg-brand__name { font-size: 30px; }
	.dg-brand__logo { width: 40px; height: 40px; flex-basis: 40px; }
	.dg-nav a { padding: 12px 10px; }
}

/* Footer */
.dg-footer { background: var(--dg-surface); border-top: 1px solid var(--dg-border); }
.dg-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-top: 32px; padding-bottom: 32px; font-size: 14px; color: var(--dg-subtle); }
.dg-footer__nav { display: flex; flex-wrap: wrap; gap: 20px; }
.dg-footer__nav a { color: var(--dg-subtle); }

/* Page frame: content + sidebar */
.site-container { max-width: 1180px; }
.content-area { margin-top: 40px; margin-bottom: 64px; }
.has-sidebar .content-container { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; }
.has-sidebar #secondary { grid-column: 2; grid-row: 1; min-width: 0; }
.has-sidebar #primary .content-container > #main { grid-column: 1; }
.content-style-unboxed .entry.single-entry, .content-style-unboxed .entry-content-wrap { padding: 0; background: transparent; box-shadow: none; }
@media (max-width: 1024px) {
	.has-sidebar .content-container { grid-template-columns: minmax(0, 1fr); }
	.has-sidebar #secondary { grid-column: 1; grid-row: auto; }
}
.primary-sidebar.widget-area { padding: 0; }
.single-post .dg-rail { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 20px; }
.single-post .dg-rail .dg-series-box { margin-top: 0; }

/* Breadcrumb */
.dg-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; font-size: 14px; color: var(--dg-subtle); }
.dg-breadcrumb a { color: var(--dg-subtle); }

/* Single post header */
.single-post .single-entry > .entry-content-wrap > .entry-header .entry-title { font-size: 48px; line-height: 1.1; letter-spacing: -0.02em; }
.single-post .entry-header .entry-meta { font-size: 14px; color: var(--dg-subtle); }
.single-post .post-thumbnail img, .single-post .article-post-thumbnail img { border-radius: 14px; }
@media (max-width: 600px) { .single-post .single-entry > .entry-content-wrap > .entry-header .entry-title { font-size: 34px; } }

/* Table of contents */
.dg-toc { padding: 20px; border-radius: 12px; background: var(--dg-surface); border: 1px solid var(--dg-border); }
.dg-toc .dg-eyebrow { margin: 0 0 10px; }
.dg-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.dg-toc a { display: block; padding: 4px 0 4px 12px; border-left: 2px solid transparent; font-size: 15px; line-height: 1.4; color: var(--dg-muted); text-decoration: none; }
.dg-toc a:hover { color: var(--dg-text); }
.dg-toc a.is-active { color: var(--dg-text); font-weight: 600; border-left-color: var(--dg-accent); padding-left: 10px; }
.single-content h2[id] { scroll-margin-top: 24px; }

/* Author box (Kadence) */
.entry-author { margin-top: 24px; padding: 24px; border-radius: 12px; background: var(--dg-surface); border: 1px solid var(--dg-border); }

/* Kadence date-based post navigation (non-series posts) */
.post-navigation .nav-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.post-navigation .nav-previous a, .post-navigation .nav-next a { display: block; padding: 20px; border: 1px solid var(--dg-border); border-radius: 12px; background: var(--dg-surface); font-family: var(--dg-font-head); font-weight: 600; font-size: 18px; color: var(--dg-text); text-decoration: none; }
.post-navigation a:hover { border-color: var(--dg-accent); }

/* Subscribe box */
.dg-subscribe { display: flex; flex-direction: column; gap: 8px; padding: 20px; border-radius: 12px; background: var(--dg-accent-soft); }
.dg-subscribe__title { margin: 0; font-family: var(--dg-font-head); font-weight: 600; font-size: 18px; color: var(--dg-text); }
.dg-subscribe__note { margin: 0; font-size: 14px; color: var(--dg-muted); }
.dg-subscribe--wide { margin-top: 24px; padding: 24px; }
.dg-subscribe--wide .dg-subscribe__title { font-size: 20px; }
.dg-subscribe .wp-block-jetpack-subscriptions { margin: 4px 0 0; }
.dg-subscribe .wp-block-jetpack-subscriptions form { margin: 0; }
.dg-subscribe .wp-block-jetpack-subscriptions input[type="email"] { height: 44px; padding: 0 12px !important; border: 1px solid #B9C4CF !important; border-radius: 8px !important; background: #FFFFFF; font: 15px var(--dg-font-body) !important; }
.dg-subscribe .wp-block-jetpack-subscriptions button { min-height: 44px; border: 0 !important; border-radius: 8px !important; background: var(--dg-accent) !important; color: #FFFFFF !important; font: 600 15px var(--dg-font-body) !important; }

/* Blog sidebar */
.dg-side { margin-bottom: 28px; }
.dg-side h2.dg-eyebrow { margin: 0 0 12px; font-size: 13px; }
.dg-about { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.dg-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: 0 0 64px; }
.dg-about__name { margin: 0; font-family: var(--dg-font-head); font-weight: 600; font-size: 18px; line-height: 1.3; }
.dg-about__role { margin: 0; font-size: 14px; color: var(--dg-subtle); }
.dg-about__text { margin: 0 0 12px; font-size: 15px; color: var(--dg-muted); }
.dg-about__links { display: flex; gap: 16px; margin: 0; font-size: 14px; font-weight: 600; }
.dg-cats, .dg-cats ul { list-style: none; margin: 0; padding: 0; font-size: 15px; }
.dg-cats ul.children { padding-left: 14px; }
.dg-cats a { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--dg-border); color: var(--dg-text); text-decoration: none; }
.dg-cats a:hover { color: var(--dg-accent); }
.dg-cats .current-cat > a { color: var(--dg-accent); font-weight: 600; }
.dg-count { color: var(--dg-subtle); font-weight: 400; }
.dg-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; font-size: 13px; }
.dg-tags a { padding: 6px 12px; border-radius: 999px; background: var(--dg-surface); border: 1px solid var(--dg-border-strong); color: var(--dg-text); text-decoration: none; }
.dg-tags a:hover, .dg-tags a[aria-current="page"] { border-color: var(--dg-accent); color: var(--dg-accent-hover); }

/* Post list (home, archives, search) */
#archive-container.kadence-posts-list { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
#archive-container .entry-list-item { width: 100%; margin: 0; padding: 0; }
#archive-container .loop-entry { display: flex; flex-wrap: wrap; gap: 24px; margin: 0; padding: 24px 0; border-bottom: 1px solid var(--dg-border); border-radius: 0; background: transparent; box-shadow: none; }
#archive-container .loop-entry .post-thumbnail { flex: 0 0 220px; height: 148px; margin: 0; border-radius: 10px; overflow: hidden; background: #E3E8EE; }
#archive-container .loop-entry .post-thumbnail-inner { position: relative; height: 100%; padding: 0 !important; }
#archive-container .loop-entry .post-thumbnail img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#archive-container .loop-entry .entry-content-wrap { flex: 1 1 300px; min-width: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
#archive-container .loop-entry .entry-header { margin: 0; }
#archive-container .entry-taxonomies { margin: 0 0 6px; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
#archive-container .entry-taxonomies a { color: var(--dg-accent); }
#archive-container .loop-entry .entry-title { margin: 0; font-size: 23px; line-height: 1.25; }
#archive-container .loop-entry .entry-title a { color: var(--dg-text); text-decoration: none; }
#archive-container .loop-entry .entry-title a:hover { color: var(--dg-accent); }
#archive-container .entry-meta { margin: 6px 0 0; font-size: 13px; color: var(--dg-subtle); }
#archive-container .entry-meta .posted-by { display: none; }
#archive-container .dg-loop-readtime { font-size: 13px; color: var(--dg-subtle); }
#archive-container .entry-summary { margin: 0; font-size: 15px; color: var(--dg-muted); }
#archive-container .entry-summary p { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#archive-container .entry-footer { display: none; }
.dg-recent-label { list-style: none; margin: 28px 0 0; }
.dg-recent-label h2 { margin: 0; font-size: 13px; }
/* Featured first post on the home page */
#archive-container .loop-entry.dg-featured { flex-direction: column; gap: 16px; padding: 0 0 36px; }
#archive-container .loop-entry.dg-featured .post-thumbnail { flex: none; width: 100%; height: 340px; border-radius: 12px; }
#archive-container .loop-entry.dg-featured .entry-title { font-size: 38px; line-height: 1.15; letter-spacing: -0.01em; }
#archive-container .loop-entry.dg-featured .entry-summary { font-size: 18px; }
#archive-container .loop-entry.dg-featured .entry-footer { display: block; }
#archive-container .loop-entry.dg-featured .post-more-link { font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--dg-accent); }
@media (max-width: 600px) {
	#archive-container .loop-entry .post-thumbnail { flex-basis: 100%; height: 190px; }
	#archive-container .loop-entry.dg-featured .post-thumbnail { height: 220px; }
	#archive-container .loop-entry.dg-featured .entry-title { font-size: 30px; }
}

/* Pagination */
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 28px; }
.pagination .page-numbers { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid var(--dg-border-strong); border-radius: 8px; background: var(--dg-surface); color: var(--dg-text); text-decoration: none; font-weight: 600; }
.pagination .page-numbers.current { background: var(--dg-text); border-color: var(--dg-text); color: #FFFFFF; }

/* Archive header */
.post-archive-title, .archive .entry-header.post-archive-title { margin-bottom: 8px; }
.archive-title, .page-title.archive-title { font-size: 44px; line-height: 1.1; letter-spacing: -0.02em; }
.post-archive-title .archive-description { display: none; } /* we print the description ourselves */
.dg-archive-intro { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin: 0 0 16px; padding-bottom: 24px; border-bottom: 1px solid var(--dg-border); }
.dg-archive-desc { flex-basis: 100%; max-width: 760px; margin: 0; font-size: 18px; color: var(--dg-muted); }
.dg-archive-more { font-size: 14px; font-weight: 600; }

/* Pages */
.page .entry-header .entry-title { font-size: 44px; line-height: 1.1; letter-spacing: -0.02em; }
.page .entry-content.single-content { max-width: 900px; }
/* About: photo + text side by side (existing media-text block) */
.page .wp-block-media-text { gap: 32px; align-items: start; }
.page .wp-block-media-text__media img { border-radius: 14px; }
/* Contact / newsletter forms */
.page .wpforms-container { max-width: 640px; padding: 28px; border-radius: 14px; background: var(--dg-surface); border: 1px solid var(--dg-border); }
.page .wpforms-container input, .page .wpforms-container textarea, .page .wpforms-container select { border-radius: 8px !important; border-color: #B9C4CF !important; font-family: var(--dg-font-body) !important; }
.page .wpforms-container .wpforms-submit { min-height: 44px; padding: 0 22px !important; border-radius: 8px !important; background: var(--dg-accent) !important; color: #FFFFFF !important; font: 600 15px var(--dg-font-body) !important; }
.page .wpforms-container .wpforms-field-label { color: var(--dg-text) !important; font-weight: 600 !important; }
.dg-page-subscribe { max-width: 640px; }

/* Focus visibility */
.dg-header a:focus-visible, .dg-search summary:focus-visible, .dg-btn:focus-visible, .dg-toc a:focus-visible { outline: 2px solid var(--dg-accent); outline-offset: 2px; }

/* ---------- v0.2.1 fixes ---------- */
/* Thumbnails: drop Kadence's portrait ratio padding */
#archive-container .loop-entry .post-thumbnail { padding-bottom: 0 !important; position: relative; }
#archive-container .loop-entry .post-thumbnail-inner { position: absolute !important; inset: 0; height: auto; }
/* Series lists: explicit markers (Extra shows "+", planned parts keep their number) */
.dg-plist { list-style: none !important; padding-left: 0 !important; }
.dg-plist li { display: grid; grid-template-columns: 22px 1fr; gap: 6px; align-items: baseline; }
.dg-pn { font-family: var(--dg-font-mono); font-size: 12px; color: var(--dg-subtle); }
.dg-series-box .dg-pn { color: #9FE3D8; }
.dg-series-box .is-planned .dg-pn, .dg-series-mini .is-planned .dg-pn { color: var(--dg-faint); }
/* Sidebar subscribe: stack field and button */
.dg-subscribe--stack .wp-block-jetpack-subscriptions__form-elements { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.dg-subscribe .wp-block-jetpack-subscriptions__form-elements p { margin: 0 !important; width: 100%; }
.dg-subscribe .wp-block-jetpack-subscriptions input[type="email"] { width: 100% !important; box-sizing: border-box; }
.dg-subscribe--stack .wp-block-jetpack-subscriptions button { width: 100%; }
.dg-subscribe--wide .wp-block-jetpack-subscriptions__form-elements { display: flex; flex-wrap: wrap; gap: 8px; }
.dg-subscribe--wide .wp-block-jetpack-subscriptions__form-elements p:first-child { flex: 1 1 260px; }
.dg-subscribe--wide .wp-block-jetpack-subscriptions__form-elements p:last-child { flex: 0 0 auto; width: auto; }
/* List meta on one line: date · read time */
#archive-container .loop-entry .entry-meta { display: inline-flex; margin-right: 6px; }
#archive-container .loop-entry .dg-loop-readtime { display: inline; }
#archive-container .loop-entry .dg-loop-readtime::before { content: "· "; }
#archive-container .loop-entry .entry-header { display: block; }
.dg-subscribe .wp-block-jetpack-subscriptions input[type="email"] { min-height: 44px; line-height: 1.2; }
.single-post .entry-content-wrap > .post-thumbnail, .single-post .article-post-thumbnail { margin: 8px 0 28px; }
.dg-readtime { margin-top: 2px; }

/* Similar posts carousel (Kadence related posts) */
.entry-related .entry-title { font-size: 18px !important; line-height: 1.3; letter-spacing: 0; }
.entry-related .entry-title a { color: var(--dg-text); text-decoration: none; }
.entry-related .entry-meta, .entry-related .dg-loop-readtime { font-size: 13px; color: var(--dg-subtle); }
.entry-related .entry-related-title, .entry-related h2 { font-size: 22px; }
.entry-related .post-thumbnail { border-radius: 10px; overflow: hidden; }
/* Code Block Pro: frame in the design palette (token colours come from the block theme) */
.wp-block-kevinbatdorf-code-block-pro pre, .wp-block-kevinbatdorf-code-block-pro pre.shiki { background-color: var(--dg-code-bg) !important; }
.wp-block-kevinbatdorf-code-block-pro > span:first-child { background-color: var(--dg-code-bar) !important; color: #C3C9D2 !important; font-family: var(--dg-font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
.wp-block-kevinbatdorf-code-block-pro { background-color: var(--dg-code-bg) !important; }
/* v0.2.3 polish */
.dg-footer a, .dg-nav a, .dg-brand, .dg-breadcrumb a { text-decoration: none; }
.dg-footer a:hover, .dg-breadcrumb a:hover { color: var(--dg-accent); }
.page .single-content .wpforms-container { margin: 24px 0 0 !important; padding: 28px !important; max-width: 640px; background: var(--dg-surface) !important; border: 1px solid var(--dg-border) !important; border-radius: 14px !important; box-sizing: border-box; }
.page .single-content .wpforms-container .wpforms-field { padding-left: 0 !important; padding-right: 0 !important; }
.page .single-content .wpforms-container .wpforms-field-medium { max-width: 100% !important; }
.page .single-content .wp-block-jetpack-subscriptions { max-width: 640px; }
.page .single-content .wp-block-jetpack-subscriptions input[type="email"] { min-height: 48px; border: 1px solid #B9C4CF !important; border-radius: 8px !important; font: 16px var(--dg-font-body) !important; }
.page .single-content .wp-block-jetpack-subscriptions button { min-height: 48px; border: 0 !important; border-radius: 8px !important; background: var(--dg-accent) !important; color: #FFFFFF !important; font: 600 15px var(--dg-font-body) !important; }
.post-archive-title { margin: 0; padding: 0; background: none; }
