/*
Theme Name: Dynamics Republic
Theme URI: https://www.dynamicsrepublic.com/
Author: Dynamics Republic
Author URI: https://www.dynamicsrepublic.com/
Description: Block theme for Dynamics Republic: an editorial home page, colour-coded topic hubs, a Release Radar strip and a reading-focused article layout in the Microsoft colour family. Una nación de colaboración y conocimiento.
Requires at least: 6.6
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dynamics-republic
Tags: blog, news, education, full-site-editing, block-patterns, wide-blocks, translation-ready, one-column, three-columns
*/

/* ---------- Tokens ---------- */
:root {
	--dr-deep: var(--wp--preset--color--deep);
	--dr-deep-2: var(--wp--preset--color--deep-2);
	--dr-blue: var(--wp--preset--color--blue);
	--dr-blue-dark: var(--wp--preset--color--blue-dark);
	--dr-cyan: var(--wp--preset--color--cyan);
	--dr-green: var(--wp--preset--color--green);
	--dr-yellow: var(--wp--preset--color--yellow);
	--dr-orange: var(--wp--preset--color--orange);
	--dr-purple: var(--wp--preset--color--purple);
	--dr-line: var(--wp--preset--color--line);
	--dr-paper: var(--wp--preset--color--paper);
	--dr-muted: var(--wp--preset--color--muted);
	--dr-glass: rgba(255, 255, 255, .07);
	--dr-glass-line: rgba(255, 255, 255, .16);
	--dr-soft-white: rgba(255, 255, 255, .74);
	--dr-radius: 16px;
	--dr-radius-l: 24px;
	--dr-shadow: 0 10px 30px -18px rgba(11, 30, 54, .35);
	--dr-shadow-lift: 0 24px 60px -24px rgba(11, 30, 54, .45);
	/* topic colour, overridden per category */
	--dr-topic: var(--dr-deep-2);
	--dr-topic-soft: rgba(36, 58, 94, .1);
	--dr-topic-text: var(--dr-deep-2);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
::selection { background: rgba(80, 230, 255, .35); }
:focus-visible { outline: 2px solid var(--dr-blue); outline-offset: 2px; }

/* ---------- Header ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 0; position: relative; } }

.dr-header {
	background: rgba(11, 30, 54, .92);
	backdrop-filter: saturate(160%) blur(12px);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	border-bottom: 1px solid var(--dr-glass-line);
	color: #fff;
}
.dr-header a { color: #fff; }
.dr-header .wp-block-site-title { font-weight: 700; letter-spacing: -.01em; margin: 0; }
.dr-header .wp-block-site-title a { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; }
.dr-header .wp-block-site-title a::before,
.dr-emblem {
	content: "DR";
	display: inline-grid;
	place-items: center;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 12px;
	font-weight: 800;
	font-size: .9rem;
	color: #fff;
	background: linear-gradient(135deg, var(--dr-blue), #00A4EF 60%, var(--dr-cyan));
	box-shadow: 0 8px 22px -8px rgba(0, 120, 212, .8), inset 0 0 0 1px rgba(255, 255, 255, .25);
	flex-shrink: 0;
}
.dr-header .wp-block-site-logo + .wp-block-site-title a::before { display: none; }
.dr-header .wp-block-navigation { color: var(--dr-soft-white); }
.dr-header .wp-block-navigation a:hover { color: #fff; text-decoration: none; }
.dr-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--dr-deep) !important;
	border: 1px solid var(--dr-glass-line) !important;
	border-radius: 12px;
	padding: .4rem;
	box-shadow: var(--dr-shadow-lift);
}
.dr-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--dr-deep) !important; color: #fff !important; }
.dr-header .wp-block-search__inside-wrapper {
	background: var(--dr-glass);
	border: 1px solid var(--dr-glass-line) !important;
	border-radius: 10px;
	padding: 2px;
}
.dr-header .wp-block-search__input { background: transparent; border: 0; color: #fff; min-inline-size: 190px; font-size: .9rem; }
.dr-header .wp-block-search__input::placeholder { color: rgba(255, 255, 255, .55); }
.dr-header .wp-block-search__button { background: transparent; color: #fff; padding: .35rem .5rem; }
@media (max-width: 900px) { .dr-header .wp-block-search { display: none; } }

/* ---------- Reading progress (CSS scroll timeline, no JavaScript) ---------- */
.dr-readbar {
	position: fixed; inset-inline: 0; top: 0; block-size: 4px; z-index: 1000;
	background: linear-gradient(90deg, var(--dr-blue), var(--dr-cyan));
	transform-origin: 0 50%; transform: scaleX(0);
	animation: dr-grow linear both; animation-timeline: scroll(root);
}
@keyframes dr-grow { to { transform: scaleX(1); } }
@supports not (animation-timeline: scroll()) { .dr-readbar { display: none; } }

/* ---------- Dark sections ---------- */
.dr-dark {
	position: relative; overflow: hidden; color: #fff;
	background:
		radial-gradient(circle at 85% 0%, rgba(0, 120, 212, .55), transparent 45%),
		radial-gradient(circle at 5% 110%, rgba(80, 230, 255, .25), transparent 45%),
		var(--dr-deep);
}
.dr-dark::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
	background-image: linear-gradient(var(--dr-glass) 1px, transparent 1px), linear-gradient(90deg, var(--dr-glass) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(ellipse at 70% 30%, #000 15%, transparent 70%);
	mask-image: radial-gradient(ellipse at 70% 30%, #000 15%, transparent 70%);
}
.dr-dark > * { position: relative; }
.dr-dark :where(h1, h2, h3, h4, h5, h6), .dr-dark .wp-block-post-title a { color: #fff; }
.dr-dark p, .dr-dark .wp-block-post-excerpt, .dr-dark .wp-block-post-date, .dr-dark .wp-block-post-author-name { color: var(--dr-soft-white); }
.dr-dark a:where(:not(.wp-element-button)) { color: #fff; }

.dr-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--dr-blue);
}
.dr-dark .dr-eyebrow { color: var(--dr-cyan); }
.dr-pill {
	display: inline-flex; align-items: center; gap: .55rem; inline-size: fit-content;
	padding: .4rem .9rem; border-radius: 999px; font-size: var(--wp--preset--font-size--x-small);
	background: var(--dr-glass); border: 1px solid var(--dr-glass-line); color: var(--dr-soft-white) !important;
}
.dr-pill::before { content: ""; inline-size: 8px; block-size: 8px; border-radius: 50%; background: var(--dr-cyan); box-shadow: 0 0 0 4px rgba(80, 230, 255, .2); }
.dr-gradient-text {
	background: linear-gradient(100deg, #2899F5 0%, var(--dr-cyan) 55%, var(--dr-yellow) 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- Hero ---------- */
.dr-hero { padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.dr-hero .dr-hero-title { font-size: var(--wp--preset--font-size--huge); margin-block: 1rem; }
.dr-hero .dr-lede { font-size: var(--wp--preset--font-size--large); max-inline-size: 36rem; line-height: 1.5; }
.dr-btn-ghost .wp-block-button__link { background: transparent; border: 1px solid var(--dr-glass-line); color: #fff; }
.dr-btn-ghost .wp-block-button__link:hover { background: var(--dr-glass); }
.dr-stats { display: flex; flex-wrap: wrap; gap: 2rem; margin-block-start: 2rem; }
.dr-stats p { margin: 0; font-size: var(--wp--preset--font-size--x-small); }
.dr-stats strong { display: block; font-size: 1.6rem; color: #fff; letter-spacing: -.02em; }

.dr-feature {
	border-radius: var(--dr-radius-l); overflow: hidden;
	background: var(--dr-glass); border: 1px solid var(--dr-glass-line);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .55);
}
.dr-feature .wp-block-post-template { margin: 0; }
.dr-feature .wp-block-post-featured-image { margin: 0; }
.dr-feature .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; inline-size: 100%; }
.dr-feature .dr-feature-body { padding: 1.4rem 1.6rem 1.6rem; }
.dr-feature .wp-block-post-title { font-size: var(--wp--preset--font-size--large); margin-block: .6rem; }
.dr-feature .dr-label {
	font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dr-cyan);
}

/* ---------- Release Radar strip ---------- */
.dr-radar { background: var(--dr-paper); border-bottom: 1px solid var(--dr-line); padding-block: .9rem; }
.dr-radar .dr-radar-label {
	margin: 0; white-space: nowrap; font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem; font-weight: 700; letter-spacing: .12em; color: var(--dr-blue);
}
.dr-radar .wp-block-post-template { display: flex; flex-wrap: wrap; gap: .4rem 1.8rem; margin: 0; padding: 0; list-style: none; }
.dr-radar .wp-block-post-title { margin: 0; font-size: var(--wp--preset--font-size--small); font-weight: 500; letter-spacing: 0; }
.dr-radar .wp-block-post-title::before { content: "●"; color: var(--dr-green); font-size: .6rem; margin-inline-end: .5rem; vertical-align: middle; }
.dr-radar .wp-block-post-title a { color: var(--wp--preset--color--ink); }

/* ---------- Section heads ---------- */
.dr-section { padding-block: var(--wp--preset--spacing--60); }
.dr-section-head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; flex-wrap: wrap; }
.dr-section-head h2 { margin: 0; }
.dr-more a { font-weight: 600; font-size: var(--wp--preset--font-size--small); }

/* ---------- Post cards ---------- */
.dr-grid .wp-block-post-template { gap: 1.5rem; }
.dr-card {
	block-size: 100%; display: flex; flex-direction: column;
	background: #fff; border: 1px solid var(--dr-line); border-radius: var(--dr-radius-l);
	overflow: hidden; box-shadow: var(--dr-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}
.dr-card:hover { transform: translateY(-4px); box-shadow: var(--dr-shadow-lift); }
.dr-card > .wp-block-post-featured-image { margin: 0; }
.dr-card > .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; inline-size: 100%; transition: transform .5s ease; }
.dr-card:hover > .wp-block-post-featured-image img { transform: scale(1.04); }
/* Posts without a featured image get a branded band instead of a blank gap */
.dr-card:not(:has(> .wp-block-post-featured-image))::before {
	content: ""; display: block; aspect-ratio: 16 / 6;
	background:
		linear-gradient(rgba(255, 255, 255, .12) 1px, transparent 1px) 0 0 / 22px 22px,
		linear-gradient(90deg, rgba(255, 255, 255, .12) 1px, transparent 1px) 0 0 / 22px 22px,
		linear-gradient(135deg, var(--dr-deep), var(--dr-blue));
}
.dr-card .dr-card-body { padding: 1.25rem 1.4rem 1.4rem; display: flex; flex-direction: column; gap: .6rem; flex: 1; }
.dr-card .wp-block-post-title { font-size: 1.15rem; line-height: 1.3; letter-spacing: -.01em; margin: 0; }
.dr-card .wp-block-post-excerpt { margin: 0; }
.dr-card .wp-block-post-excerpt__more-text { display: none; }
.dr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .9rem; font-size: var(--wp--preset--font-size--x-small); color: var(--dr-muted); margin-block-start: auto !important; }
.dr-meta > * { margin: 0 !important; }
.dr-reading-time::before { content: "◷ "; }

/* ---------- Category chips (colour by slug) ---------- */
.dr-terms { display: flex; flex-wrap: wrap; gap: .35rem; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.dr-terms .wp-block-post-terms__separator { display: none; }
.dr-terms a {
	--dr-topic-soft: rgba(36, 58, 94, .1); --dr-topic-text: var(--dr-deep-2);
	display: inline-block; padding: .25rem .7rem; border-radius: 999px;
	background: var(--dr-topic-soft); color: var(--dr-topic-text); text-decoration: none !important;
}
.dr-dark .dr-terms a { background: var(--dr-glass); color: #fff; border: 1px solid var(--dr-glass-line); }

:is(.dr-terms a, .dr-hubs li > a)[href*="finance"],
:is(.dr-terms a, .dr-hubs li > a)[href*="finanzas"],
:is(.dr-terms a, .dr-hubs li > a)[href*="operations"] { --dr-topic: var(--dr-blue); --dr-topic-soft: #DEECF9; --dr-topic-text: #005A9E; }
:is(.dr-terms a, .dr-hubs li > a)[href*="supply"],
:is(.dr-terms a, .dr-hubs li > a)[href*="planificacion"],
:is(.dr-terms a, .dr-hubs li > a)[href*="warehouse"],
:is(.dr-terms a, .dr-hubs li > a)[href*="almacen"] { --dr-topic: var(--dr-green); --dr-topic-soft: #E8F4D9; --dr-topic-text: #107C10; }
:is(.dr-terms a, .dr-hubs li > a)[href*="copilot"],
:is(.dr-terms a, .dr-hubs li > a)[href*="agente"],
:is(.dr-terms a, .dr-hubs li > a)[href*="inteligencia"],
:is(.dr-terms a, .dr-hubs li > a)[href*="/ia/"] { --dr-topic: var(--dr-purple); --dr-topic-soft: #EFE9F8; --dr-topic-text: #5C2E91; }
:is(.dr-terms a, .dr-hubs li > a)[href*="power"],
:is(.dr-terms a, .dr-hubs li > a)[href*="dataverse"],
:is(.dr-terms a, .dr-hubs li > a)[href*="datos"] { --dr-topic: var(--dr-yellow); --dr-topic-soft: #FFF4CE; --dr-topic-text: #8A5A00; }
:is(.dr-terms a, .dr-hubs li > a)[href*="administracion"],
:is(.dr-terms a, .dr-hubs li > a)[href*="admin"],
:is(.dr-terms a, .dr-hubs li > a)[href*="licencia"] { --dr-topic: var(--dr-orange); --dr-topic-soft: #FDE7E9; --dr-topic-text: #C50F1F; }

/* ---------- Topic hubs (core Categories block) ---------- */
.dr-hubs.wp-block-categories, .dr-hubs .wp-block-categories {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1rem;
}
.dr-hubs li {
	position: relative; padding: 1.25rem 1.25rem 1.1rem; border-radius: var(--dr-radius);
	background: #fff; border: 1px solid var(--dr-line); box-shadow: var(--dr-shadow);
	font-size: var(--wp--preset--font-size--x-small); color: var(--dr-muted);
	transition: transform .25s ease, box-shadow .25s ease; overflow: hidden;
}
.dr-hubs li::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: 0; block-size: 4px; background: var(--dr-deep-2); }
.dr-hubs li:has(> a[href*="finance"], > a[href*="finanzas"], > a[href*="operations"])::before { background: var(--dr-blue); }
.dr-hubs li:has(> a[href*="supply"], > a[href*="planificacion"], > a[href*="warehouse"], > a[href*="almacen"])::before { background: var(--dr-green); }
.dr-hubs li:has(> a[href*="copilot"], > a[href*="agente"], > a[href*="inteligencia"], > a[href*="/ia/"])::before { background: var(--dr-purple); }
.dr-hubs li:has(> a[href*="power"], > a[href*="dataverse"], > a[href*="datos"])::before { background: var(--dr-yellow); }
.dr-hubs li:has(> a[href*="administracion"], > a[href*="admin"], > a[href*="licencia"])::before { background: var(--dr-orange); }
.dr-hubs li:hover { transform: translateY(-3px); box-shadow: var(--dr-shadow-lift); }
.dr-hubs li > a {
	display: block; font-size: var(--wp--preset--font-size--medium); font-weight: 700; color: var(--wp--preset--color--deep);
	margin-block-end: .3rem; text-decoration: none !important;
}
.dr-hubs li > a::after { content: ""; position: absolute; inset: 0; }
.dr-hubs .children { display: none; }

/* ---------- Learning paths + book ---------- */
.dr-paths { background: var(--dr-paper); border: 1px solid var(--dr-line); border-radius: var(--dr-radius-l); padding: 1.75rem; }
.dr-path {
	display: flex; align-items: center; gap: 1rem; margin-block-start: .75rem !important;
	padding: .9rem 1rem; border-radius: 14px; background: #fff; border: 1px solid var(--dr-line);
	transition: border-color .2s ease, transform .2s ease;
}
.dr-path:hover { border-color: var(--dr-blue); transform: translateX(3px); }
.dr-path p { margin: 0; }
.dr-path .dr-path-icon {
	inline-size: 42px; block-size: 42px; flex-shrink: 0; border-radius: 12px; display: grid; place-items: center;
	color: #fff; font-size: 1.1rem; background: linear-gradient(135deg, var(--dr-blue), var(--dr-blue-dark));
}
.dr-path:nth-of-type(2) .dr-path-icon { background: linear-gradient(135deg, var(--dr-green), #107C10); }
.dr-path:nth-of-type(3) .dr-path-icon { background: linear-gradient(135deg, var(--dr-orange), #C50F1F); }
.dr-path a { font-weight: 700; color: var(--wp--preset--color--deep); }
.dr-path a::after { content: ""; position: absolute; inset: 0; }
.dr-path { position: relative; }
.dr-path small { display: block; color: var(--dr-muted); font-size: var(--wp--preset--font-size--x-small); }

.dr-book { border-radius: var(--dr-radius-l); padding: 2rem; }
.dr-book-cover {
	block-size: 190px; inline-size: 135px; margin-inline: auto; border-radius: 6px 12px 12px 6px; padding: 14px 12px 12px 18px;
	display: flex; flex-direction: column; justify-content: space-between;
	background: linear-gradient(160deg, var(--dr-yellow), var(--dr-orange) 60%, var(--dr-purple));
	box-shadow: inset 6px 0 0 rgba(0, 0, 0, .2), 18px 22px 30px -10px rgba(0, 0, 0, .6);
	transform: perspective(500px) rotateY(-14deg);
	color: var(--wp--preset--color--deep); font-weight: 800; line-height: 1.1;
}
.dr-book-cover p { margin: 0; color: var(--wp--preset--color--deep) !important; }
.dr-book-cover p:first-child, .dr-book-cover p:last-child { font-size: .6rem; letter-spacing: .1em; font-weight: 600; }

/* ---------- Newsletter band ---------- */
.dr-newsletter {
	position: relative; overflow: hidden; border-radius: var(--dr-radius-l); color: #fff;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	background: linear-gradient(120deg, #004E8C, var(--dr-blue) 60%, #00A4EF);
}
.dr-newsletter::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: radial-gradient(rgba(255, 255, 255, .18) 1px, transparent 1px); background-size: 16px 16px;
}
.dr-newsletter > * { position: relative; }
.dr-newsletter h2 { color: #fff; font-size: var(--wp--preset--font-size--x-large); margin: 0; }
.dr-newsletter p { color: rgba(255, 255, 255, .88); }
.dr-newsletter .wp-block-button__link { background: var(--wp--preset--color--deep); color: #fff; }
.dr-newsletter .wp-block-button__link:hover { background: #000; }

/* ---------- Single post ---------- */
.dr-post-hero { padding-block: clamp(3rem, 7vw, 5rem) clamp(5rem, 10vw, 8rem); }
.dr-post-hero .wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.08; letter-spacing: -.035em; }
.dr-post-hero .dr-meta { color: var(--dr-soft-white); font-size: var(--wp--preset--font-size--small); }
.dr-post-hero .wp-block-post-author { align-items: center; }
.dr-post-hero .wp-block-post-author__avatar img { border-radius: 50%; }
.dr-post-image { margin-block-start: calc(-1 * clamp(3.5rem, 8vw, 6rem)) !important; position: relative; z-index: 2; }
.dr-post-image img { border-radius: var(--dr-radius-l); box-shadow: var(--dr-shadow-lift); aspect-ratio: 16 / 8; object-fit: cover; }
.single .wp-block-post-content { font-size: 1.125rem; }
.single .wp-block-post-content > p { font-family: var(--wp--preset--font-family--serif); }
.single .wp-block-post-content :where(h2, h3) { margin-block-start: 2.5rem; scroll-margin-top: 90px; }
.single .wp-block-post-content :where(img) { border-radius: 14px; }
.wp-block-post-content :not(pre) > code {
	font-family: var(--wp--preset--font-family--mono); font-size: .88em;
	background: var(--dr-paper); border: 1px solid var(--dr-line); border-radius: 6px; padding: .1em .4em;
}

.dr-author-box {
	border-radius: var(--dr-radius-l); padding: 1.5rem 1.75rem; background: var(--dr-paper); border: 1px solid var(--dr-line);
}
.dr-author-box .wp-block-post-author__avatar img { border-radius: 50%; }
.dr-author-box .wp-block-post-author__name { font-weight: 700; color: var(--wp--preset--color--deep); }
.dr-author-box .wp-block-post-author__bio { color: var(--dr-muted); font-size: var(--wp--preset--font-size--small); }

/* Post patterns: TL;DR, version badge, field tip */
.dr-tldr {
	border-radius: var(--dr-radius); padding: 1.25rem 1.5rem !important;
	background: linear-gradient(135deg, #DEECF9, #E5FAFF); border: 1px solid #C7E0F4;
	font-family: var(--wp--preset--font-family--segoe);
}
.dr-tldr .dr-eyebrow { margin: 0; }
.dr-tldr ul { margin-block: .5rem 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink); }
.dr-badges { display: flex; flex-wrap: wrap; gap: .5rem; }
.dr-badge {
	display: inline-block; margin: 0 !important; padding: .3rem .7rem; border-radius: 8px;
	font-family: var(--wp--preset--font-family--mono) !important; font-size: .75rem !important;
	background: var(--wp--preset--color--deep); color: #fff;
}
.dr-badge.is-verified { background: #E8F4D9; color: #107C10; }
.dr-tip {
	border-radius: var(--dr-radius); padding: 1rem 1.25rem !important;
	background: #FFF4CE; border: 1px solid #FFE8A3; color: #5C3D00; font-family: var(--wp--preset--font-family--segoe);
	font-size: var(--wp--preset--font-size--small);
}
.dr-tip p { margin: 0; font-family: inherit !important; }

/* ---------- Archive / search head ---------- */
.dr-archive-head { padding-block: clamp(3rem, 6vw, 4.5rem); }
.dr-archive-head .wp-block-query-title { font-size: var(--wp--preset--font-size--xx-large); margin: 0; }
.dr-archive-head .wp-block-term-description { color: var(--dr-soft-white); max-inline-size: 42rem; }

/* ---------- Pagination ---------- */
.wp-block-query-pagination { gap: .4rem; margin-block-start: 2.5rem; }
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-grid; place-items: center; min-inline-size: 38px; block-size: 38px; padding-inline: .5rem;
	border-radius: 10px; border: 1px solid var(--dr-line); color: var(--wp--preset--color--ink);
}
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--wp--preset--color--deep); border-color: var(--wp--preset--color--deep); color: #fff; }

/* ---------- Footer ---------- */
.dr-footer { background: #08152A; color: rgba(255, 255, 255, .65); font-size: var(--wp--preset--font-size--small); }
.dr-footer h2, .dr-footer h3, .dr-footer .wp-block-site-title, .dr-footer .wp-block-site-title a { color: #fff; }
.dr-footer h3 { font-size: var(--wp--preset--font-size--small); letter-spacing: .02em; margin-block-end: .75rem; }
.dr-footer a { color: rgba(255, 255, 255, .72); }
.dr-footer a:hover { color: #fff; }
.dr-footer ul { list-style: none; padding: 0; margin: 0; }
.dr-footer li { margin-block: .35rem; }
.dr-footer .wp-block-site-title a { display: inline-flex; align-items: center; gap: .7rem; font-weight: 700; }
.dr-footer .wp-block-site-title a::before {
	content: "DR"; display: inline-grid; place-items: center; inline-size: 36px; block-size: 36px; border-radius: 10px;
	font-weight: 800; font-size: .8rem; color: #fff; background: linear-gradient(135deg, var(--dr-blue), var(--dr-cyan));
}
.dr-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .1); font-size: var(--wp--preset--font-size--x-small); }
.dr-footer .wp-block-social-links .wp-social-link { background: rgba(255, 255, 255, .1); color: #fff; }

/* ---------- Motion & print ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.dr-readbar { display: none; }
}
@media print {
	header.wp-block-template-part, footer.wp-block-template-part, .dr-readbar, .dr-newsletter, .wp-block-comments { display: none !important; }
	.dr-dark { background: none !important; color: #000; }
	.dr-dark :where(h1, h2, p, a) { color: #000 !important; }
}
