/*
Theme Name: Delightful Quotes
Theme URI: https://www.delightfulquotes.com/
Author: Wisdom Healing Center
Author URI: https://wisdomhealingcenter.com/
Description: A lightweight, ultra-fast editorial theme built for Delightful Quotes. Clean white magazine layout, square quote-image cards, self-hosted variable fonts, JSON-LD schema, CLS-safe AdSense slots and no third-party JavaScript. Classic templates throughout — no page builder, no framework, no jQuery.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: delightful-quotes
Tags: blog, news, one-column, two-columns, right-sidebar, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, block-styles, accessibility-ready

Delightful Quotes WordPress theme, (C) 2026 Wisdom Healing Center.
Delightful Quotes is distributed under the terms of the GNU GPL v2 or later.

--------------------------------------------------------------------------
COLOUR NOTE
The brand page colour is a warm cream (#FAFBF4). This theme is set on pure
white by design decision; the cream survives as --dq-surface, the tint used
for bands, widget grounds and card hovers so the palette still reads warm.

Every ratio in this file is MEASURED against #FFFFFF, not estimated:
  --dq-ink          #0E1F1D  17.04:1  body text
  --dq-ink-soft     #42544F   8.04:1  meta, captions
  --dq-accent       #097D74   5.00:1  links, buttons (white on it is also 5.00:1)
  --dq-accent-deep  #07615A   7.33:1  hover
  --dq-brand        #0A8B81   4.18:1  LARGE TEXT + FILLS ONLY — never body copy
  --dq-aqua         #10A79B   2.99:1  FILL ONLY
On the deep ground (#063634): page 12.73:1, sage-tint 10.39:1, aqua-light 6.21:1.
Greens invert there and must not be used — see the brand kit's rule 4.
--------------------------------------------------------------------------
*/

/* ==========================================================================
   1. FONTS — self-hosted, latin subset, variable. No third-party connection.
   ========================================================================== */

@font-face {
	font-family: "Fraunces";
	src: url("assets/fonts/fraunces-latin-var.woff2") format("woff2-variations"),
	     url("assets/fonts/fraunces-latin-var.woff2") format("woff2");
	font-weight: 400 700;
	font-stretch: normal;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Inter";
	src: url("assets/fonts/inter-latin-var.woff2") format("woff2-variations"),
	     url("assets/fonts/inter-latin-var.woff2") format("woff2");
	font-weight: 400 700;
	font-stretch: normal;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   2. TOKENS
   ========================================================================== */

:root {
	/* brand ramp */
	--dq-deep:         #063634;
	--dq-accent-deep:  #07615A;
	--dq-accent:       #097D74;
	--dq-brand:        #0A8B81;
	--dq-aqua:         #10A79B;
	--dq-aqua-light:   #43C4BA;

	/* botanical */
	--dq-green-deep:   #3C4E41;
	--dq-green:        #526C53;
	--dq-sage:         #7C9679;
	--dq-sage-tint:    #D8EAC2;
	--dq-blush:        #F3EAEA;

	/* neutrals */
	--dq-ink:          #0E1F1D;
	--dq-ink-soft:     #42544F;
	--dq-page:         #FFFFFF;
	--dq-surface:      #FAFBF4;
	--dq-line:         #E2E8DC;
	--dq-line-strong:  #C9D4C6;

	/* type */
	--dq-display: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;
	--dq-ui: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	/* fluid type scale — clamp() so nothing needs a media query to resize */
	--dq-fs-xs:   0.6875rem;                              /* 11px  eyebrows, dates   */
	--dq-fs-sm:   0.8125rem;                              /* 13px  meta              */
	--dq-fs-base: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
	--dq-fs-lg:   clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
	--dq-fs-h6:   clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
	--dq-fs-h5:   clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem);
	--dq-fs-h4:   clamp(1.25rem, 1.13rem + 0.6vw, 1.5rem);
	--dq-fs-h3:   clamp(1.4375rem, 1.25rem + 0.9vw, 1.875rem);
	--dq-fs-h2:   clamp(1.625rem, 1.35rem + 1.35vw, 2.25rem);
	--dq-fs-h1:   clamp(1.875rem, 1.45rem + 2.1vw, 3rem);

	/* spacing */
	--dq-gap:     clamp(1.5rem, 1rem + 2vw, 3rem);
	--dq-gutter:  clamp(1rem, 0.6rem + 1.6vw, 1.75rem);
	--dq-section: clamp(2.5rem, 1.8rem + 3vw, 4.5rem);

	/* structure */
	--dq-wrap: 1200px;
	--dq-read: 44rem;               /* single-post reading measure  */
	--dq-sidebar: 320px;
	--dq-radius: 4px;               /* editorial = nearly square    */
	--dq-radius-lg: 10px;

	--dq-shadow-sm: 0 1px 2px rgba(6, 54, 52, 0.06), 0 2px 8px rgba(6, 54, 52, 0.05);
	--dq-shadow-md: 0 4px 14px rgba(6, 54, 52, 0.10), 0 12px 32px rgba(6, 54, 52, 0.07);

	--dq-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ==========================================================================
   3. RESET & BASE
   ========================================================================== */

*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 6rem;
}

body {
	margin: 0;
	background: var(--dq-page);
	color: var(--dq-ink);
	font-family: var(--dq-ui);
	font-size: var(--dq-fs-base);
	line-height: 1.7;
	font-synthesis-weight: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}

/* Sticky footer without a wrapper element. */
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.dq-site-content { flex: 1 0 auto; }

img,
picture,
video,
iframe,
embed,
object {
	max-width: 100%;
	height: auto;
}

img { border: 0; }

svg { fill: currentColor; }

iframe,
embed,
object { max-width: 100%; }

figure { margin: 0; }

hr {
	border: 0;
	border-top: 1px solid var(--dq-line);
	margin: var(--dq-gap) 0;
	height: 0;
}

/* --- headings ----------------------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
	font-family: var(--dq-display);
	font-weight: 600;
	line-height: 1.18;
	letter-spacing: -0.011em;
	color: var(--dq-ink);
	margin: 0 0 0.5em;
	font-variation-settings: "SOFT" 0, "WONK" 0;
	text-wrap: balance;
}

h1 { font-size: var(--dq-fs-h1); }
h2 { font-size: var(--dq-fs-h2); }
h3 { font-size: var(--dq-fs-h3); }
h4 { font-size: var(--dq-fs-h4); }
h5 { font-size: var(--dq-fs-h5); }
h6 { font-size: var(--dq-fs-h6); }

p { margin: 0 0 1.3em; }
p:last-child { margin-bottom: 0; }

/* --- links -------------------------------------------------------------- */

a {
	color: var(--dq-accent);            /* 5.00:1 on white */
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	transition: color 0.15s var(--dq-ease);
}

a:hover,
a:focus { color: var(--dq-accent-deep); }   /* 7.33:1 */

/* Headline links stay ink-coloured — the teal is reserved for real links. */
a.dq-permalink,
.dq-card__title a,
.dq-widget a.dq-widget__link {
	color: inherit;
	text-decoration: none;
	background-image: linear-gradient(var(--dq-brand), var(--dq-brand));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 1px;
	transition: background-size 0.28s var(--dq-ease), color 0.15s var(--dq-ease);
}

.dq-card__title a:hover,
.dq-card__title a:focus,
a.dq-permalink:hover,
a.dq-permalink:focus,
.dq-widget a.dq-widget__link:hover,
.dq-widget a.dq-widget__link:focus {
	color: var(--dq-accent-deep);
	background-size: 100% 1px;
}

/* --- focus -------------------------------------------------------------- */

:focus-visible {
	outline: 3px solid var(--dq-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Only remove the default ring where :focus-visible is supported. */
@supports selector(:focus-visible) {
	:focus:not(:focus-visible) { outline: none; }
}

::selection {
	background: var(--dq-sage-tint);
	color: var(--dq-deep);
}

/* --- lists -------------------------------------------------------------- */

ul, ol { padding-left: 1.35em; }

/* --- tables ------------------------------------------------------------- */

table {
	border-collapse: collapse;
	width: 100%;
	margin: 0 0 var(--dq-gutter);
	font-size: var(--dq-fs-sm);
}

th, td {
	border: 1px solid var(--dq-line);
	padding: 0.6em 0.8em;
	text-align: left;
}

th {
	background: var(--dq-surface);
	font-weight: 600;
}

/* --- code --------------------------------------------------------------- */

code, kbd, samp, pre {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 0.9em;
}

code {
	background: var(--dq-surface);
	border: 1px solid var(--dq-line);
	border-radius: 3px;
	padding: 0.12em 0.35em;
}

pre {
	background: var(--dq-surface);
	border: 1px solid var(--dq-line);
	border-left: 3px solid var(--dq-brand);
	border-radius: var(--dq-radius);
	padding: 1rem 1.15rem;
	overflow-x: auto;
	line-height: 1.55;
}

pre code {
	background: none;
	border: 0;
	padding: 0;
}

/* ==========================================================================
   4. ACCESSIBILITY UTILITIES
   ========================================================================== */

.screen-reader-text,
.dq-sr-only {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.dq-skip-link:focus {
	background: var(--dq-deep);
	color: #FFFFFF;                          /* 13.25:1 */
	clip: auto !important;
	clip-path: none;
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	height: auto;
	left: 1rem;
	line-height: normal;
	padding: 0.85rem 1.25rem;
	text-decoration: none;
	top: 1rem;
	width: auto;
	z-index: 100000;
	border-radius: var(--dq-radius);
	box-shadow: var(--dq-shadow-md);
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ==========================================================================
   5. LAYOUT
   ========================================================================== */

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

.dq-main {
	padding-block: var(--dq-section);
}

/* content + sidebar, split by the Spotlight hairline */
.dq-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--dq-gap);
	align-items: start;
}

@media (min-width: 62rem) {
	.dq-layout--sidebar {
		grid-template-columns: minmax(0, 1fr) var(--dq-sidebar);
		gap: clamp(2rem, 1rem + 2.6vw, 3.25rem);
	}

	.dq-layout--sidebar > .dq-sidebar {
		border-left: 1px solid var(--dq-line);
		padding-left: clamp(1.5rem, 0.8rem + 2vw, 2.5rem);
	}
}

/* Grid children need this or a long word inside a card blows the column out. */
.dq-content,
.dq-sidebar,
.dq-card__body,
.dq-hero__body { min-width: 0; }

/* narrow reading column for single posts and pages */
.dq-measure {
	max-width: var(--dq-read);
	margin-inline: auto;
}

/* ==========================================================================
   6. SECTION HEADINGS — the marker square is the Spotlight signature,
      recoloured to the brand teal.
   ========================================================================== */

.dq-section-head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: clamp(1.25rem, 1rem + 0.8vw, 1.75rem);
	border-bottom: 1px solid var(--dq-line);
	padding-bottom: 0.7rem;
}

.dq-section-head__title {
	font-family: var(--dq-ui);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	margin: 0;
	line-height: 1.2;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--dq-ink);
}

.dq-section-head__title::before {
	content: "";
	width: 9px;
	height: 9px;
	background: var(--dq-brand);           /* decorative fill — no text on it */
	flex: 0 0 auto;
	border-radius: 1px;
}

.dq-section-head__more {
	margin-left: auto;
	font-size: var(--dq-fs-xs);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

.dq-section-head__more::after {
	content: " \2192";
}

/* ==========================================================================
   7. HEADER
   ========================================================================== */

/*
 * One row: logo, then the menu immediately beside it, then the actions.
 * Sticky lives on <header> itself, which is a direct child of <body> — sticky
 * is bounded by its containing block, so nesting it would break it.
 */
.dq-header {
	background: var(--dq-page);
	position: relative;
	z-index: 60;
	border-bottom: 1px solid var(--dq-line);
}

@media (min-width: 62rem) {
	.dq-header--sticky {
		position: sticky;
		top: 0;
	}
}

.dq-header__inner {
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 0.2rem + 2vw, 2.25rem);
	min-height: 68px;
	padding-block: 0.6rem;
}

.dq-branding {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 0 0 auto;
}

.dq-branding__logo {
	display: block;
	line-height: 0;
}

.dq-branding__logo img,
.dq-branding__logo svg {
	display: block;
	width: auto;
	height: clamp(40px, 2.4rem + 1.6vw, 58px);
	max-width: min(100%, 320px);
}

/* The logo image carries the site name, so this wrapper is structural only —
   its font styling is the fallback for a site with no logo file at all. */
.dq-branding__text {
	font-family: var(--dq-display);
	font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);
	font-weight: 600;
	margin: 0;
	line-height: 1.1;
	letter-spacing: -0.02em;
	max-width: 100%;
}

.dq-branding__text a {
	color: var(--dq-deep);
	text-decoration: none;
	display: inline-block;
	max-width: 100%;
}



/* Pushed to the far right; the menu takes the space in between. */
.dq-header__actions {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-left: auto;
	flex: 0 0 auto;
}

/* --- social icons ------------------------------------------------------- */

.dq-social {
	display: flex;
	align-items: center;
	gap: 0.15rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dq-social a {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;                    /* comfortable touch target */
	color: var(--dq-ink-soft);       /* 8.04:1 */
	border-radius: 50%;
	transition: color 0.15s var(--dq-ease), background-color 0.15s var(--dq-ease);
}

.dq-social a:hover,
.dq-social a:focus {
	color: var(--dq-accent-deep);
	background: var(--dq-surface);
}

.dq-social svg {
	width: 18px;
	height: 18px;
}

/* --- buttons ------------------------------------------------------------ */

.dq-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: var(--dq-accent);         /* white on it = 5.00:1 */
	color: #FFFFFF;
	font-family: var(--dq-ui);
	font-size: var(--dq-fs-sm);
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.2;
	padding: 0.8rem 1.35rem;
	min-height: 44px;
	border: 1px solid transparent;
	border-radius: var(--dq-radius);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.16s var(--dq-ease), color 0.16s var(--dq-ease), border-color 0.16s var(--dq-ease);
}

.dq-btn:hover,
.dq-btn:focus {
	background: var(--dq-accent-deep);    /* 7.33:1 */
	color: #FFFFFF;
}

.dq-btn--ghost {
	background: transparent;
	color: var(--dq-accent);
	border-color: var(--dq-line-strong);
}

.dq-btn--ghost:hover,
.dq-btn--ghost:focus {
	background: var(--dq-surface);
	color: var(--dq-accent-deep);
	border-color: var(--dq-accent);
}

.dq-btn--sm {
	padding: 0.55rem 1rem;
	min-height: 38px;
	font-size: var(--dq-fs-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* --- icon buttons (hamburger, search) ----------------------------------- */

.dq-icon-btn {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: none;
	border: 0;
	border-radius: var(--dq-radius);
	color: var(--dq-ink);
	cursor: pointer;
	transition: background-color 0.15s var(--dq-ease), color 0.15s var(--dq-ease);
}

.dq-icon-btn:hover,
.dq-icon-btn:focus { background: var(--dq-surface); }

.dq-icon-btn svg {
	width: 21px;
	height: 21px;
	pointer-events: none;
}

.dq-icon-btn__close { display: none; }
.dq-icon-btn[aria-expanded="true"] .dq-icon-btn__open { display: none; }
.dq-icon-btn[aria-expanded="true"] .dq-icon-btn__close { display: block; }

/* --- the menu ------------------------------------------------------------ */

/* flex: 1 is what closes the gap beside the logo — the list starts right
   after the branding and the actions are pushed to the far edge. */
.dq-nav {
	min-width: 0;
	flex: 1 1 auto;
}

.dq-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0;
}

.dq-nav__list li { position: relative; }

/* Tight horizontal padding: the menu shares its row with the logo and the
   header actions, so every spare pixel buys another item on one line. */
.dq-nav__list a {
	display: block;
	padding: 0.6rem 0.7rem;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.005em;
	color: var(--dq-ink);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.15s var(--dq-ease);
}

@media (min-width: 75rem) {
	.dq-nav__list a { padding-inline: 0.85rem; }
}

.dq-nav__list a:hover,
.dq-nav__list a:focus { color: var(--dq-accent-deep); }

.dq-nav__list > li.current-menu-item > a,
.dq-nav__list > li.current-menu-ancestor > a,
.dq-nav__list > li.current_page_item > a,
.dq-nav__list > li[class*="current"] > a { color: var(--dq-accent); }

.dq-nav__list > li > a::after {
	content: "";
	display: block;
	height: 2px;
	margin-top: 0.3rem;
	background: var(--dq-brand);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s var(--dq-ease);
}

.dq-nav__list > li:hover > a::after,
.dq-nav__list > li:focus-within > a::after,
.dq-nav__list > li[class*="current"] > a::after { transform: scaleX(1); }

/* submenu */
.dq-nav__list ul {
	list-style: none;
	margin: 0;
	padding: 0.4rem 0;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 15rem;
	background: var(--dq-page);
	border: 1px solid var(--dq-line);
	border-radius: var(--dq-radius);
	box-shadow: var(--dq-shadow-md);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.18s var(--dq-ease), transform 0.18s var(--dq-ease), visibility 0.18s;
	z-index: 70;
}

.dq-nav__list ul ul {
	top: -0.4rem;
	left: 100%;
}

.dq-nav__list li:hover > ul,
.dq-nav__list li:focus-within > ul,
.dq-nav__list li.dq-nav--open > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.dq-nav__list ul a {
	padding: 0.6rem 1.1rem;
	font-weight: 500;
	white-space: normal;
}

.dq-nav__list ul a::after { display: none; }

.dq-nav__list ul li + li { border-top: 1px solid var(--dq-line); }

/* submenu disclosure button, injected by the walker for keyboard + touch */
.dq-submenu-toggle {
	position: absolute;
	top: 0.5rem;
	right: 0.1rem;
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
	border-radius: 3px;
}

.dq-submenu-toggle svg {
	width: 12px;
	height: 12px;
	transition: transform 0.2s var(--dq-ease);
}

.dq-submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

/* On desktop the caret is decoration; hover/focus-within opens the menu. */
@media (min-width: 62rem) {
	.dq-nav__list > li.menu-item-has-children > a { padding-right: 1.65rem; }

	.dq-submenu-toggle {
		pointer-events: auto;
		top: 0.85rem;
		right: 0.3rem;
		width: 20px;
		height: 20px;
	}

	.dq-nav__list ul .dq-submenu-toggle {
		top: 0.5rem;
		right: 0.5rem;
	}
}

/* --- mobile navigation --------------------------------------------------- */

.dq-nav-toggle { display: none; }

@media (max-width: 61.9375rem) {
	/* Hamburger, logo, then the actions — the usual phone header. */
	.dq-nav-toggle {
		display: grid;
		flex: 0 0 auto;
		margin-left: -0.6rem;
	}

	.dq-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex: 0 0 auto;
		background: var(--dq-page);
		border-bottom: 1px solid var(--dq-line);
		box-shadow: var(--dq-shadow-md);
		max-height: calc(100vh - 100%);
		max-height: calc(100dvh - 100%);
		overflow-y: auto;
		overscroll-behavior: contain;
		display: none;
		z-index: 65;
	}

	.dq-nav.is-open { display: block; }

	.dq-nav__list {
		display: block;
		padding: 0.5rem var(--dq-gutter) 1.25rem;
	}

	.dq-nav__list > li + li { border-top: 1px solid var(--dq-line); }

	.dq-nav__list a {
		padding: 0.95rem 2.75rem 0.95rem 0;
		white-space: normal;
		font-size: 1rem;
	}

	.dq-nav__list > li > a::after { display: none; }

	.dq-nav__list ul {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		border: 0;
		box-shadow: none;
		padding: 0 0 0.5rem 0.9rem;
		min-width: 0;
		display: none;
		background: transparent;
	}

	.dq-nav__list li.dq-nav--open > ul { display: block; }
	.dq-nav__list li:hover > ul,
	.dq-nav__list li:focus-within > ul { display: none; }
	.dq-nav__list li.dq-nav--open > ul { display: block; }

	.dq-nav__list ul li + li { border-top: 1px solid var(--dq-line); }

	.dq-nav__list ul a {
		padding-block: 0.75rem;
		font-size: 0.9375rem;
		color: var(--dq-ink-soft);
	}

	.dq-submenu-toggle {
		top: 0.6rem;
		right: 0;
		width: 40px;
		height: 40px;
	}

	.dq-nav__list ul .dq-submenu-toggle { top: 0.4rem; }
}

/* The logo, menu and actions now share one row, so the social icons and the
   Subscribe button stand down before the row gets crowded. Both repeat in the
   footer, so nothing is actually lost. */
@media (max-width: 74.9375rem) {
	.dq-header__actions .dq-social { display: none; }
}

@media (max-width: 61.9375rem) {
	.dq-header__subscribe { display: none; }
}

/* --- search panel -------------------------------------------------------- */

.dq-search-panel {
	display: none;
	border-top: 1px solid var(--dq-line);
	background: var(--dq-surface);
	padding-block: clamp(1rem, 0.7rem + 1.2vw, 1.75rem);
}

.dq-search-panel.is-open { display: block; }

.dq-search-panel .dq-search-form { max-width: 40rem; margin-inline: auto; }

/* ==========================================================================
   8. SEARCH FORM
   ========================================================================== */

.dq-search-form {
	display: flex;
	gap: 0.5rem;
	width: 100%;
}

.dq-search-form__field {
	flex: 1 1 auto;
	min-width: 0;
}

input[type="search"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="date"],
select,
textarea {
	width: 100%;
	font-family: inherit;
	font-size: 1rem;                    /* 16px stops iOS zoom-on-focus */
	line-height: 1.5;
	color: var(--dq-ink);
	background: var(--dq-page);
	border: 1px solid var(--dq-line-strong);
	border-radius: var(--dq-radius);
	padding: 0.7rem 0.9rem;
	min-height: 44px;
	transition: border-color 0.15s var(--dq-ease), box-shadow 0.15s var(--dq-ease);
	-webkit-appearance: none;
	appearance: none;
}

textarea {
	min-height: 9rem;
	resize: vertical;
}

select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%2342544F' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	background-size: 11px;
	padding-right: 2.4rem;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--dq-accent);
	box-shadow: 0 0 0 3px rgba(9, 125, 116, 0.16);
	outline: none;
}

::placeholder {
	color: var(--dq-ink-soft);
	opacity: 1;
}

label {
	display: block;
	font-size: var(--dq-fs-sm);
	font-weight: 600;
	margin-bottom: 0.35rem;
}

/* ==========================================================================
   9. CARDS
   ========================================================================== */

.dq-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	position: relative;
}

.dq-card__media {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: var(--dq-radius);
	background: var(--dq-surface);
	margin-bottom: 0.9rem;
	line-height: 0;
}

/* The quote images are square originals (600x600) — the grid is built
   around that rather than fighting it with a 16:9 crop. */
.dq-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	transition: transform 0.5s var(--dq-ease);
}

.dq-card:hover .dq-card__media img { transform: scale(1.035); }

.dq-card__media--wide img { aspect-ratio: 4 / 3; }

.dq-card__media--placeholder {
	display: grid;
	place-items: center;
	aspect-ratio: 1 / 1;
	background: var(--dq-surface);
	border: 1px solid var(--dq-line);
	color: var(--dq-sage);
	line-height: 1;
}

.dq-card__media--placeholder svg {
	width: 34%;
	height: auto;
	opacity: 0.55;
}

.dq-card__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.dq-card__title {
	font-size: var(--dq-fs-h6);
	line-height: 1.28;
	margin: 0 0 0.45rem;
	letter-spacing: -0.008em;
}

.dq-card__excerpt {
	color: var(--dq-ink-soft);
	font-size: var(--dq-fs-sm);
	line-height: 1.62;
	margin: 0 0 0.6rem;
}

/* --- eyebrow (category label) ------------------------------------------- */

.dq-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: var(--dq-fs-xs);
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--dq-accent);              /* 5.00:1 */
	text-decoration: none;
	margin-bottom: 0.5rem;
	line-height: 1.3;
}

.dq-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.dq-eyebrow a:hover,
.dq-eyebrow a:focus {
	color: var(--dq-accent-deep);
	text-decoration: underline;
}

/* --- meta line ---------------------------------------------------------- */

.dq-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.75rem;
	font-size: var(--dq-fs-xs);
	letter-spacing: 0.045em;
	text-transform: uppercase;
	color: var(--dq-ink-soft);            /* 8.04:1 */
	margin-top: auto;
	padding-top: 0.15rem;
}

.dq-meta a {
	color: inherit;
	text-decoration: none;
}

.dq-meta a:hover,
.dq-meta a:focus {
	color: var(--dq-accent-deep);
	text-decoration: underline;
}

.dq-meta__item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.dq-meta__sep {
	color: var(--dq-line-strong);
	user-select: none;
}

.dq-meta svg {
	width: 13px;
	height: 13px;
	flex: 0 0 auto;
	opacity: 0.8;
}

.dq-avatar {
	border-radius: 50%;
	display: block;
	flex: 0 0 auto;
}

/* --- grids -------------------------------------------------------------- */

.dq-grid {
	display: grid;
	gap: clamp(1.5rem, 1rem + 2vw, 2.5rem) clamp(1.25rem, 0.9rem + 1.5vw, 2rem);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 15.5rem), 1fr));
}

.dq-grid--2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); }
.dq-grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 12.5rem), 1fr)); }

/* --- list card (image beside text) -------------------------------------- */

.dq-card--list {
	flex-direction: row;
	gap: clamp(1rem, 0.6rem + 1.4vw, 1.75rem);
	align-items: flex-start;
	padding-bottom: clamp(1.25rem, 0.9rem + 1.2vw, 1.75rem);
	border-bottom: 1px solid var(--dq-line);
}

.dq-list-stack > .dq-card--list:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.dq-list-stack {
	display: flex;
	flex-direction: column;
	gap: clamp(1.25rem, 0.9rem + 1.2vw, 1.75rem);
}

.dq-card--list .dq-card__media {
	flex: 0 0 clamp(6.5rem, 4rem + 12vw, 13rem);
	width: clamp(6.5rem, 4rem + 12vw, 13rem);
	margin-bottom: 0;
}

.dq-card--list .dq-card__title { font-size: var(--dq-fs-h5); }

@media (max-width: 29.9375rem) {
	.dq-card--list {
		flex-direction: column;
		gap: 0.85rem;
	}

	.dq-card--list .dq-card__media {
		flex-basis: auto;
		width: 100%;
	}
}

/* --- compact card (sidebar) --------------------------------------------- */

.dq-card--compact {
	flex-direction: row;
	gap: 0.85rem;
	align-items: flex-start;
}

.dq-card--compact .dq-card__media {
	flex: 0 0 76px;
	width: 76px;
	margin-bottom: 0;
}

.dq-card--compact .dq-card__title {
	font-size: 0.9375rem;
	line-height: 1.35;
	margin-bottom: 0.3rem;
}

.dq-card--compact .dq-meta { font-size: 0.6875rem; }

/* --- numbered list (the "Trending Now" treatment) ----------------------- */

.dq-rank {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
	counter-reset: dq-rank;
}

.dq-rank > li {
	counter-increment: dq-rank;
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid var(--dq-line);
}

.dq-rank > li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.dq-rank > li::before {
	content: counter(dq-rank);
	font-family: var(--dq-display);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
	color: var(--dq-brand);              /* large display type — 4.18:1 is fine */
	flex: 0 0 auto;
	min-width: 1.4rem;
	padding-top: 0.1rem;
}

/* ==========================================================================
   10. HERO — the lead story. Two columns because the source images are
       600px square; blowing one up to full-bleed would only soften it.
   ========================================================================== */

.dq-hero {
	display: grid;
	gap: clamp(1.5rem, 1rem + 2.4vw, 3rem);
	align-items: center;
	padding-bottom: var(--dq-gap);
	margin-bottom: var(--dq-gap);
	border-bottom: 1px solid var(--dq-line);
}

@media (min-width: 48rem) {
	.dq-hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

.dq-hero__media {
	display: block;
	border-radius: var(--dq-radius-lg);
	overflow: hidden;
	background: var(--dq-surface);
	line-height: 0;
	max-width: 600px;
	margin-inline: auto;
	width: 100%;
}

.dq-hero__media img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform 0.6s var(--dq-ease);
}

.dq-hero:hover .dq-hero__media img { transform: scale(1.025); }

.dq-hero__body { min-width: 0; }

.dq-hero__title {
	font-size: var(--dq-fs-h2);
	line-height: 1.14;
	letter-spacing: -0.018em;
	margin: 0 0 0.6rem;
}

.dq-hero__excerpt {
	font-size: var(--dq-fs-lg);
	line-height: 1.65;
	color: var(--dq-ink-soft);
	margin: 0 0 1rem;
}

/* ==========================================================================
   11. ARCHIVE / PAGE HEADERS
   ========================================================================== */

.dq-page-header {
	padding-bottom: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
	margin-bottom: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem);
	border-bottom: 1px solid var(--dq-line);
}

.dq-page-header__title {
	font-size: var(--dq-fs-h1);
	margin: 0 0 0.35rem;
	letter-spacing: -0.022em;
}

.dq-page-header__meta,
.dq-page-header__desc {
	color: var(--dq-ink-soft);
	font-size: var(--dq-fs-lg);
	margin: 0;
	max-width: 46rem;
}

.dq-page-header__meta {
	font-size: var(--dq-fs-sm);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-top: 0.6rem;
}

.dq-page-header__kicker {
	font-size: var(--dq-fs-xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dq-brand);
	margin: 0 0 0.6rem;
	display: block;
}

/* ==========================================================================
   12. BREADCRUMBS
   ========================================================================== */

.dq-breadcrumbs {
	font-size: var(--dq-fs-xs);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--dq-ink-soft);
	margin-bottom: clamp(1rem, 0.8rem + 0.8vw, 1.5rem);
}

.dq-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 0.55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dq-breadcrumbs li {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.dq-breadcrumbs li + li::before {
	content: "\203A";
	color: var(--dq-line-strong);
	font-size: 1.1em;
	line-height: 1;
}

.dq-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.dq-breadcrumbs a:hover,
.dq-breadcrumbs a:focus {
	color: var(--dq-accent-deep);
	text-decoration: underline;
}

.dq-breadcrumbs [aria-current="page"] {
	color: var(--dq-ink);
	font-weight: 600;
}

/* ==========================================================================
   13. SINGLE POST
   ========================================================================== */

.dq-entry-header {
	margin-bottom: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
	text-align: center;
}

.dq-entry-header__title {
	font-size: var(--dq-fs-h1);
	line-height: 1.12;
	letter-spacing: -0.022em;
	margin: 0 0 0.75rem;
}

.dq-entry-header .dq-meta {
	justify-content: center;
	margin-top: 0.9rem;
}

.dq-entry-header .dq-eyebrow { margin-bottom: 0.7rem; }

.dq-featured-media {
	margin: 0 auto clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem);
	max-width: 600px;                    /* the native size of the artwork */
	border-radius: var(--dq-radius-lg);
	overflow: hidden;
	background: var(--dq-surface);
	line-height: 0;
}

.dq-featured-media img {
	display: block;
	width: 100%;
	height: auto;
}

.dq-featured-media figcaption {
	font-size: var(--dq-fs-sm);
	color: var(--dq-ink-soft);
	line-height: 1.5;
	padding: 0.6rem 0.2rem 0;
	text-align: center;
}

/* --- entry content ------------------------------------------------------ */

.dq-entry-content {
	font-size: var(--dq-fs-lg);
	line-height: 1.78;
}

.dq-entry-content > * + * { margin-top: 1.3em; }

.dq-entry-content h2,
.dq-entry-content h3,
.dq-entry-content h4,
.dq-entry-content h5,
.dq-entry-content h6 {
	margin-top: 1.7em;
	margin-bottom: 0.55em;
	scroll-margin-top: 6rem;
}

.dq-entry-content h2 { font-size: var(--dq-fs-h3); }
.dq-entry-content h3 { font-size: var(--dq-fs-h4); }
.dq-entry-content h4 { font-size: var(--dq-fs-h5); }

.dq-entry-content img {
	height: auto;
	border-radius: var(--dq-radius);
}

.dq-entry-content a { font-weight: 500; }

/* The archive is written with the quote body wrapped in <strong>. Rather
   than fight it, that becomes the quote voice: display face, medium weight,
   not the heavy black a browser would give it. */
.dq-entry-content p > strong:only-child,
.dq-entry-content p > b:only-child {
	display: block;
	font-family: var(--dq-display);
	font-weight: 500;
	font-size: 1.14em;
	line-height: 1.55;
	letter-spacing: -0.006em;
	color: var(--dq-deep);
}

/* Justified text is set inline throughout the archive. It produces rivers
   on a narrow column, so it is overridden below the tablet breakpoint —
   inline styles need the !important to lose. */
@media (max-width: 47.9375rem) {
	.dq-entry-content [style*="justify"] { text-align: left !important; }
}

.dq-entry-content blockquote {
	margin: 1.8em 0;
	padding: 0.2em 0 0.2em 1.4em;
	border-left: 3px solid var(--dq-brand);
	font-family: var(--dq-display);
	font-size: 1.15em;
	line-height: 1.55;
	color: var(--dq-deep);
	font-style: italic;
}

.dq-entry-content blockquote cite {
	display: block;
	margin-top: 0.7em;
	font-family: var(--dq-ui);
	font-size: 0.75em;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--dq-ink-soft);
}

.dq-entry-content ul,
.dq-entry-content ol { padding-left: 1.4em; }

.dq-entry-content li + li { margin-top: 0.4em; }

.dq-entry-content li::marker { color: var(--dq-brand); }

/* WordPress core alignment + caption classes */
.alignleft {
	float: left;
	margin: 0.4em 1.6em 1.2em 0;
	max-width: 50%;
}

.alignright {
	float: right;
	margin: 0.4em 0 1.2em 1.6em;
	max-width: 50%;
}

.aligncenter {
	display: block;
	margin-inline: auto;
	clear: both;
}

.alignwide,
.alignfull { clear: both; }

.alignfull {
	max-width: 100vw;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

@media (max-width: 35.9375rem) {
	.alignleft,
	.alignright {
		float: none;
		margin-inline: auto;
		max-width: 100%;
		display: block;
	}
}

.wp-caption {
	max-width: 100%;
	margin-bottom: 1.3em;
}

.wp-caption img { display: block; }

.wp-caption-text,
.wp-element-caption,
figcaption {
	font-size: var(--dq-fs-sm);
	line-height: 1.5;
	color: var(--dq-ink-soft);
	text-align: center;
	margin-top: 0.6rem;
}

.sticky .dq-card__title::after {
	content: "\2605";
	color: var(--dq-brand);
	margin-left: 0.35em;
}

.gallery {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	margin-bottom: 1.3em;
}

.gallery-item { margin: 0; }
.gallery-item img { border-radius: var(--dq-radius); }

.bypostauthor { display: block; }

/* --- entry footer ------------------------------------------------------- */

.dq-entry-footer {
	margin-top: clamp(2rem, 1.5rem + 1.6vw, 3rem);
	padding-top: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	border-top: 1px solid var(--dq-line);
}

.dq-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dq-tags__label {
	font-size: var(--dq-fs-xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dq-ink-soft);
	margin-right: 0.2rem;
}

.dq-tag {
	display: inline-block;
	font-size: var(--dq-fs-sm);
	line-height: 1.2;
	padding: 0.45rem 0.75rem;
	background: var(--dq-surface);
	border: 1px solid var(--dq-line);
	border-radius: 999px;
	color: var(--dq-ink-soft);
	text-decoration: none;
	transition: background-color 0.15s var(--dq-ease), color 0.15s var(--dq-ease), border-color 0.15s var(--dq-ease);
}

.dq-tag:hover,
.dq-tag:focus {
	background: var(--dq-accent);
	border-color: var(--dq-accent);
	color: #FFFFFF;                       /* 5.00:1 */
}

/* --- share -------------------------------------------------------------- */

/* Plain links to share endpoints — no vendor JavaScript, no tracking. */
.dq-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
}

.dq-share__label {
	font-size: var(--dq-fs-xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dq-ink-soft);
	margin-right: 0.3rem;
}

.dq-share a,
.dq-share button {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--dq-surface);
	border: 1px solid var(--dq-line);
	color: var(--dq-ink-soft);
	cursor: pointer;
	transition: background-color 0.15s var(--dq-ease), color 0.15s var(--dq-ease), border-color 0.15s var(--dq-ease);
	padding: 0;
}

.dq-share a:hover,
.dq-share a:focus,
.dq-share button:hover,
.dq-share button:focus {
	background: var(--dq-accent);
	border-color: var(--dq-accent);
	color: #FFFFFF;
}

.dq-share svg {
	width: 17px;
	height: 17px;
}

/* --- author box --------------------------------------------------------- */

.dq-author-box {
	display: flex;
	gap: clamp(1rem, 0.7rem + 1.2vw, 1.6rem);
	align-items: flex-start;
	background: var(--dq-surface);
	border: 1px solid var(--dq-line);
	border-radius: var(--dq-radius-lg);
	padding: clamp(1.25rem, 1rem + 1.2vw, 2rem);
	margin-top: clamp(2rem, 1.5rem + 1.6vw, 3rem);
}

.dq-author-box__avatar {
	flex: 0 0 auto;
	border-radius: 50%;
}

.dq-author-box__name {
	font-size: var(--dq-fs-h5);
	margin: 0 0 0.3rem;
}

.dq-author-box__name a {
	color: inherit;
	text-decoration: none;
}

.dq-author-box__name a:hover,
.dq-author-box__name a:focus {
	color: var(--dq-accent-deep);
	text-decoration: underline;
}

.dq-author-box__bio {
	color: var(--dq-ink-soft);
	font-size: var(--dq-fs-sm);
	line-height: 1.65;
	margin: 0;
}

@media (max-width: 29.9375rem) {
	.dq-author-box {
		flex-direction: column;
		text-align: center;
		align-items: center;
	}
}

/* --- prev / next -------------------------------------------------------- */

.dq-post-nav {
	display: grid;
	gap: 1px;
	margin-top: clamp(2rem, 1.5rem + 1.6vw, 3rem);
	background: var(--dq-line);
	border: 1px solid var(--dq-line);
	border-radius: var(--dq-radius-lg);
	overflow: hidden;
}

/* Two cells only when there are two links. The newest and oldest posts have
   just one neighbour, and an empty grey half looks like a broken component. */
@media (min-width: 40rem) {
	.dq-post-nav--both { grid-template-columns: 1fr 1fr; }
}

.dq-post-nav__link {
	display: block;
	background: var(--dq-page);
	padding: clamp(1rem, 0.8rem + 1vw, 1.6rem);
	text-decoration: none;
	color: inherit;
	transition: background-color 0.15s var(--dq-ease);
}

.dq-post-nav__link:hover,
.dq-post-nav__link:focus { background: var(--dq-surface); }

.dq-post-nav__label {
	display: block;
	font-size: var(--dq-fs-xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dq-accent);
	margin-bottom: 0.4rem;
}

.dq-post-nav__title {
	font-family: var(--dq-display);
	font-size: var(--dq-fs-h6);
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}

.dq-post-nav__link--next { text-align: right; }

@media (max-width: 39.9375rem) {
	.dq-post-nav__link--next { text-align: left; }
}

/* --- related ------------------------------------------------------------ */

.dq-related { margin-top: clamp(2.5rem, 1.8rem + 2vw, 4rem); }

/* ==========================================================================
   14. SIDEBAR & WIDGETS
   ========================================================================== */

.dq-sidebar {
	min-width: 0;
	font-size: var(--dq-fs-sm);
}

.dq-widget + .dq-widget { margin-top: clamp(2rem, 1.6rem + 1.6vw, 2.75rem); }

.dq-widget__title,
.dq-sidebar .widget-title,
.dq-sidebar .widgettitle {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-family: var(--dq-ui);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--dq-ink);
	margin: 0 0 1.1rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid var(--dq-line);
}

.dq-widget__title::before,
.dq-sidebar .widget-title::before,
.dq-sidebar .widgettitle::before {
	content: "";
	width: 9px;
	height: 9px;
	background: var(--dq-brand);
	flex: 0 0 auto;
	border-radius: 1px;
}

/* core widget lists */
.dq-widget ul,
.dq-sidebar .widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dq-widget li,
.dq-sidebar .widget li {
	padding: 0.55rem 0;
	border-bottom: 1px solid var(--dq-line);
	line-height: 1.5;
}

.dq-widget li:last-child,
.dq-sidebar .widget li:last-child { border-bottom: 0; }

.dq-widget li a,
.dq-sidebar .widget li a {
	color: var(--dq-ink);
	text-decoration: none;
}

.dq-widget li a:hover,
.dq-widget li a:focus,
.dq-sidebar .widget li a:hover,
.dq-sidebar .widget li a:focus {
	color: var(--dq-accent-deep);
	text-decoration: underline;
}

.dq-widget li ul { padding-left: 0.9rem; }

/* category counts */
.dq-widget li .count,
.dq-count {
	color: var(--dq-ink-soft);
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
}

/* --- topic cloud -------------------------------------------------------- */

.dq-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.dq-topics a,
.dq-sidebar .tagcloud a,
.wp-block-tag-cloud a {
	display: inline-block;
	font-size: var(--dq-fs-sm) !important;
	line-height: 1.2;
	padding: 0.42rem 0.7rem;
	background: var(--dq-surface);
	border: 1px solid var(--dq-line);
	border-radius: 999px;
	color: var(--dq-ink-soft);
	text-decoration: none;
	transition: background-color 0.15s var(--dq-ease), color 0.15s var(--dq-ease), border-color 0.15s var(--dq-ease);
}

.dq-topics a:hover,
.dq-topics a:focus,
.dq-sidebar .tagcloud a:hover,
.dq-sidebar .tagcloud a:focus {
	background: var(--dq-accent);
	border-color: var(--dq-accent);
	color: #FFFFFF;
	text-decoration: none;
}

/* --- newsletter / callout panel ----------------------------------------- */

.dq-panel {
	background: var(--dq-deep);
	color: var(--dq-surface);            /* 12.73:1 */
	border-radius: var(--dq-radius-lg);
	padding: clamp(1.35rem, 1.1rem + 1.2vw, 2rem);
}

.dq-panel .dq-widget__title,
.dq-panel__title {
	color: #FFFFFF;
	border-bottom-color: rgba(216, 234, 194, 0.28);
}

.dq-panel__title {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-family: var(--dq-ui);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	margin: 0 0 1rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid rgba(216, 234, 194, 0.28);
}

.dq-panel__title::before {
	content: "";
	width: 9px;
	height: 9px;
	background: var(--dq-aqua-light);
	flex: 0 0 auto;
	border-radius: 1px;
}

.dq-panel p {
	color: var(--dq-sage-tint);          /* 10.39:1 on deep */
	font-size: var(--dq-fs-sm);
	line-height: 1.6;
}

.dq-panel a { color: var(--dq-aqua-light); }   /* 6.21:1 on deep */

.dq-panel .dq-btn {
	background: var(--dq-aqua-light);
	color: var(--dq-deep);               /* 6.21:1 — ink on aqua, never white */
	width: 100%;
}

.dq-panel .dq-btn:hover,
.dq-panel .dq-btn:focus {
	background: var(--dq-sage-tint);
	color: var(--dq-deep);               /* 10.39:1 */
}

.dq-panel input[type="email"],
.dq-panel input[type="text"] {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(216, 234, 194, 0.35);
	color: #FFFFFF;
	margin-bottom: 0.6rem;
}

.dq-panel ::placeholder { color: rgba(216, 234, 194, 0.72); }

.dq-panel input:focus {
	border-color: var(--dq-aqua-light);
	box-shadow: 0 0 0 3px rgba(67, 196, 186, 0.25);
}

/* Subscribe2 and similar plugin forms dropped into the panel */
.dq-panel form,
.dq-widget form { margin: 0; }

.dq-widget input[type="submit"],
.dq-widget button[type="submit"] {
	width: 100%;
	background: var(--dq-accent);
	color: #FFFFFF;
	border: 0;
	border-radius: var(--dq-radius);
	font-family: var(--dq-ui);
	font-size: var(--dq-fs-sm);
	font-weight: 600;
	min-height: 44px;
	padding: 0.7rem 1rem;
	cursor: pointer;
}

.dq-widget input[type="submit"]:hover,
.dq-widget input[type="submit"]:focus { background: var(--dq-accent-deep); }

/* Sticky sidebar rail — cheap, no JS. */
@media (min-width: 62rem) {
	.dq-sidebar__sticky {
		position: sticky;
		top: 5rem;
	}
}

/* ==========================================================================
   15. PAGINATION
   ========================================================================== */

.dq-pagination {
	margin-top: clamp(2.5rem, 1.8rem + 2vw, 3.5rem);
	padding-top: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
	border-top: 1px solid var(--dq-line);
}

.dq-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.4rem;
}

.dq-pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 0.75rem;
	font-size: var(--dq-fs-sm);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--dq-ink);
	background: var(--dq-page);
	border: 1px solid var(--dq-line);
	border-radius: var(--dq-radius);
	text-decoration: none;
	transition: background-color 0.15s var(--dq-ease), color 0.15s var(--dq-ease), border-color 0.15s var(--dq-ease);
}

.dq-pagination a.page-numbers:hover,
.dq-pagination a.page-numbers:focus {
	background: var(--dq-surface);
	border-color: var(--dq-accent);
	color: var(--dq-accent-deep);
}

.dq-pagination .page-numbers.current {
	background: var(--dq-accent);
	border-color: var(--dq-accent);
	color: #FFFFFF;                       /* 5.00:1 */
}

.dq-pagination .page-numbers.dots {
	border-color: transparent;
	background: none;
}

/* paginated single posts (<!--nextpage-->) */
.dq-page-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin-top: 2rem;
	font-size: var(--dq-fs-sm);
	font-weight: 600;
}

.dq-page-links a,
.dq-page-links > span {
	display: grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	border: 1px solid var(--dq-line);
	border-radius: var(--dq-radius);
	text-decoration: none;
	color: var(--dq-ink);
}

.dq-page-links > span:not(.dq-page-links__label) {
	background: var(--dq-accent);
	border-color: var(--dq-accent);
	color: #FFFFFF;
}

.dq-page-links__label {
	border: 0 !important;
	background: none !important;
	color: var(--dq-ink-soft) !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: var(--dq-fs-xs);
	padding-right: 0.4rem;
	min-width: 0 !important;
}

/* ==========================================================================
   16. COMMENTS
   ========================================================================== */

.dq-comments {
	margin-top: clamp(2.5rem, 1.8rem + 2vw, 4rem);
	padding-top: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	border-top: 1px solid var(--dq-line);
}

.dq-comments__title {
	font-size: var(--dq-fs-h4);
	margin-bottom: 1.5rem;
}

.dq-comment-list {
	list-style: none;
	margin: 0 0 2.5rem;
	padding: 0;
}

.dq-comment-list ol.children {
	list-style: none;
	margin: 1.25rem 0 0;
	padding-left: clamp(1rem, 0.5rem + 2vw, 2.5rem);
	border-left: 2px solid var(--dq-line);
}

.dq-comment-list .comment-body {
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--dq-line);
}

.dq-comment-list > li:last-child > .comment-body { border-bottom: 0; }

.dq-comment__header {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-bottom: 0.7rem;
}

.dq-comment__avatar { border-radius: 50%; flex: 0 0 auto; }

.dq-comment__author {
	font-weight: 600;
	font-size: var(--dq-fs-base);
	margin: 0;
	line-height: 1.3;
}

.dq-comment__author a {
	color: var(--dq-ink);
	text-decoration: none;
}

.dq-comment__meta {
	font-size: var(--dq-fs-xs);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--dq-ink-soft);
	margin: 0.1rem 0 0;
}

.dq-comment__content { font-size: var(--dq-fs-base); }

.dq-comment__actions {
	margin-top: 0.6rem;
	font-size: var(--dq-fs-sm);
	display: flex;
	gap: 1rem;
}

.comment-reply-link,
.comment-edit-link {
	font-weight: 600;
	font-size: var(--dq-fs-sm);
	text-decoration: none;
}

.comment-respond { margin-top: 2rem; }

.comment-reply-title {
	font-size: var(--dq-fs-h5);
	margin-bottom: 0.4rem;
}

.comment-form {
	display: grid;
	gap: 1rem;
}

@media (min-width: 40rem) {
	.comment-form .comment-form-author,
	.comment-form .comment-form-email { width: 100%; }

	.comment-form__row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}
}

.comment-form p { margin: 0; }

.comment-notes,
.comment-form .logged-in-as,
.form-allowed-tags {
	font-size: var(--dq-fs-sm);
	color: var(--dq-ink-soft);
}

.comment-form .form-submit { margin: 0; }

.comment-form input[type="submit"] {
	background: var(--dq-accent);
	color: #FFFFFF;
	border: 0;
	border-radius: var(--dq-radius);
	font-family: var(--dq-ui);
	font-size: var(--dq-fs-sm);
	font-weight: 600;
	letter-spacing: 0.04em;
	min-height: 46px;
	padding: 0.8rem 1.6rem;
	cursor: pointer;
	transition: background-color 0.15s var(--dq-ease);
}

.comment-form input[type="submit"]:hover,
.comment-form input[type="submit"]:focus { background: var(--dq-accent-deep); }

.comment-form .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-size: var(--dq-fs-sm);
}

.comment-form .comment-form-cookies-consent input {
	width: auto;
	min-height: 0;
	margin-top: 0.35rem;
	flex: 0 0 auto;
}

.comment-form .comment-form-cookies-consent label {
	font-weight: 400;
	margin: 0;
	color: var(--dq-ink-soft);
}

.dq-comments__closed,
.dq-comments__none {
	font-size: var(--dq-fs-sm);
	color: var(--dq-ink-soft);
	font-style: italic;
}

.dq-comment-nav {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: var(--dq-fs-sm);
	font-weight: 600;
	margin: 1.5rem 0;
}

/* ==========================================================================
   17. ADS — every slot reserves its height so AdSense cannot shift layout.
   ========================================================================== */

.dq-ad {
	display: block;
	margin-inline: auto;
	text-align: center;
	overflow: hidden;
	clear: both;
}

.dq-ad__inner {
	display: block;
	margin-inline: auto;
	max-width: 100%;
}

.dq-ad__label {
	display: block;
	font-size: 0.625rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--dq-sage);
	margin-bottom: 0.4rem;
	line-height: 1.4;
}

/*
 * Slot sizing lives here, not on the ad tag, and every size is an IAB standard
 * one rather than "auto".
 *
 * That is not a style preference. A measured render showed that an `auto`
 * responsive unit makes the AdSense script stamp `height: auto !important` on
 * the wrapper element and then occupy 280px — or 600px in the sidebar — even
 * with nothing to show. An inline `!important` beats any stylesheet, so the
 * only way to hold the box is to give the unit itself a fixed size and let
 * the wrapper size to it.
 *
 * Each slot therefore declares a real ad size per breakpoint. The reserved
 * space is exact before the script runs and identical after it, so these
 * slots contribute nothing to CLS whether they fill or not.
 */
.dq-ad .adsbygoogle {
	display: inline-block;
	margin-inline: auto;
}

/* --- leaderboard: 320x100 -> 468x60 -> 728x90 --------------------------- */

.dq-ad--leaderboard {
	margin-block: var(--dq-gutter);
	min-height: 120px;                          /* 100px unit + label */
}

.dq-ad--leaderboard .adsbygoogle {
	width: 320px;
	height: 100px;
}

@media (min-width: 34rem) {
	.dq-ad--leaderboard { min-height: 80px; }
	.dq-ad--leaderboard .adsbygoogle {
		width: 468px;
		height: 60px;
	}
}

@media (min-width: 50rem) {
	.dq-ad--leaderboard { min-height: 110px; }
	.dq-ad--leaderboard .adsbygoogle {
		width: 728px;
		height: 90px;
	}
}

/* --- in-article: 300x250 -> 336x280 ------------------------------------- */

.dq-ad--incontent {
	margin-block: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	min-height: 270px;
}

.dq-ad--incontent .adsbygoogle {
	width: 300px;
	height: 250px;
}

@media (min-width: 26rem) {
	.dq-ad--incontent { min-height: 300px; }
	.dq-ad--incontent .adsbygoogle {
		width: 336px;
		height: 280px;
	}
}

/* --- sidebar: the classic 300x250 medium rectangle ---------------------- */

.dq-ad--sidebar {
	min-height: 270px;
	margin-bottom: clamp(2rem, 1.6rem + 1.6vw, 2.75rem);
}

.dq-ad--sidebar .adsbygoogle {
	width: 300px;
	height: 250px;
}

/* Nothing prints at all while the customiser has no publisher ID. */

/* ==========================================================================
   18. FOOTER
   ========================================================================== */

.dq-footer {
	background: var(--dq-deep);
	color: var(--dq-surface);
	margin-top: var(--dq-section);
	flex-shrink: 0;
}

.dq-footer a { color: var(--dq-aqua-light); }

.dq-footer a:hover,
.dq-footer a:focus {
	color: var(--dq-sage-tint);
	text-decoration: underline;
}

.dq-footer__top {
	display: grid;
	gap: var(--dq-gap);
	padding-block: clamp(2.5rem, 2rem + 2vw, 4rem);
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 48rem) {
	.dq-footer__top { grid-template-columns: 1.4fr 1fr 1fr; }
}

@media (min-width: 62rem) {
	.dq-footer__top { grid-template-columns: 1.5fr 1fr 1fr 1.2fr; }
}

.dq-footer__logo img {
	height: 52px;
	width: auto;
	max-width: 260px;
	display: block;
	margin-bottom: 1rem;
}

.dq-footer__about {
	color: var(--dq-sage-tint);           /* 10.39:1 */
	font-size: var(--dq-fs-sm);
	line-height: 1.68;
	max-width: 34ch;
}

.dq-footer__heading {
	font-family: var(--dq-ui);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: #FFFFFF;
	margin: 0 0 1rem;
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.dq-footer__heading::before {
	content: "";
	width: 9px;
	height: 9px;
	background: var(--dq-aqua-light);
	flex: 0 0 auto;
	border-radius: 1px;
}

.dq-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--dq-fs-sm);
}

.dq-footer li { padding: 0.3rem 0; }

.dq-footer li a {
	color: var(--dq-sage-tint);
	text-decoration: none;
}

.dq-footer li a:hover,
.dq-footer li a:focus {
	color: #FFFFFF;
	text-decoration: underline;
}

.dq-footer .dq-social a {
	color: var(--dq-sage-tint);
	background: rgba(255, 255, 255, 0.06);
}

.dq-footer .dq-social a:hover,
.dq-footer .dq-social a:focus {
	color: var(--dq-deep);
	background: var(--dq-aqua-light);
}

.dq-footer__bottom {
	border-top: 1px solid rgba(216, 234, 194, 0.2);
	padding-block: 1.4rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	font-size: var(--dq-fs-sm);
	color: var(--dq-sage-tint);
}

.dq-footer__bottom p { margin: 0; }

.dq-footer__bottom ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.25rem;
}

.dq-footer__bottom li { padding: 0; }

/* ==========================================================================
   19. BACK TO TOP
   ========================================================================== */

.dq-to-top {
	position: fixed;
	right: clamp(0.75rem, 0.4rem + 1vw, 1.5rem);
	bottom: clamp(0.75rem, 0.4rem + 1vw, 1.5rem);
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	background: var(--dq-deep);
	color: #FFFFFF;
	border: 0;
	border-radius: 50%;
	box-shadow: var(--dq-shadow-md);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s var(--dq-ease), transform 0.2s var(--dq-ease), visibility 0.2s, background-color 0.15s var(--dq-ease);
	z-index: 80;
}

.dq-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.dq-to-top:hover,
.dq-to-top:focus { background: var(--dq-accent-deep); }

.dq-to-top svg {
	width: 18px;
	height: 18px;
}

@media print {
	.dq-to-top { display: none; }
}

/* ==========================================================================
   20. 404 / NO RESULTS
   ========================================================================== */

.dq-notfound {
	text-align: center;
	padding-block: clamp(2rem, 1.5rem + 2vw, 4rem);
	max-width: 40rem;
	margin-inline: auto;
}

.dq-notfound__code {
	font-family: var(--dq-display);
	font-size: clamp(4rem, 2rem + 14vw, 9rem);
	font-weight: 600;
	line-height: 0.9;
	color: var(--dq-brand);              /* very large display — 4.18:1 is fine */
	margin: 0 0 0.5rem;
	letter-spacing: -0.04em;
}

.dq-notfound__text {
	color: var(--dq-ink-soft);
	font-size: var(--dq-fs-lg);
	margin-bottom: 1.75rem;
}

.dq-notfound .dq-search-form {
	max-width: 26rem;
	margin: 0 auto 2rem;
}

.dq-notfound__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
}

/* ==========================================================================
   21. BLOCK EDITOR SAFETY NET
   Classic content dominates this archive, but a newer post may use blocks.
   ========================================================================== */

.dq-entry-content .wp-block-image { margin-block: 1.6em; }
.dq-entry-content .wp-block-image img { border-radius: var(--dq-radius); }

.dq-entry-content .wp-block-quote {
	margin: 1.8em 0;
	padding-left: 1.4em;
	border-left: 3px solid var(--dq-brand);
	font-family: var(--dq-display);
	font-size: 1.12em;
}

.dq-entry-content .wp-block-pullquote {
	border-top: 2px solid var(--dq-line);
	border-bottom: 2px solid var(--dq-line);
	padding: 1.5em 0;
	text-align: center;
	font-family: var(--dq-display);
}

.dq-entry-content .wp-block-button__link {
	background: var(--dq-accent);
	color: #FFFFFF;
	border-radius: var(--dq-radius);
	font-family: var(--dq-ui);
	font-size: var(--dq-fs-sm);
	font-weight: 600;
	padding: 0.8rem 1.35rem;
}

.dq-entry-content .wp-block-separator {
	border-top: 1px solid var(--dq-line);
	max-width: 8rem;
	margin-inline: auto;
}

.dq-entry-content .wp-block-embed { margin-block: 1.6em; }

.dq-entry-content .wp-block-embed__wrapper iframe,
.dq-entry-content .wp-embed-responsive iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border-radius: var(--dq-radius);
}

/* ==========================================================================
   21b. ODDS AND ENDS
   ========================================================================== */

.dq-icon {
	display: block;
	flex: 0 0 auto;
}

/* author archive header */
.dq-author-header {
	display: flex;
	align-items: flex-start;
	gap: clamp(1rem, 0.7rem + 1.2vw, 1.6rem);
}

.dq-author-header .dq-page-header__title { margin-bottom: 0.4rem; }

@media (max-width: 35.9375rem) {
	.dq-author-header {
		flex-direction: column;
		gap: 1rem;
	}
}

/* responsive oEmbed wrapper */
.dq-embed {
	position: relative;
	margin-block: 1.6em;
}

.dq-embed iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: var(--dq-radius);
	display: block;
}

/* the read-more link produced by <!--more--> */
.dq-more-link {
	font-weight: 600;
	white-space: nowrap;
}

/* topic row on 404 and empty-search pages */
.dq-notfound__topics {
	margin-top: 2.5rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--dq-line);
}

.dq-notfound__topics .dq-tags__label {
	display: block;
	margin-bottom: 0.9rem;
}

.dq-notfound__topics .dq-topics { justify-content: center; }

/* footer columns */
.dq-footer__col { min-width: 0; }

.dq-footer__col .dq-social { margin-top: 1rem; }

.dq-footer__menu,
.dq-footer__legal {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dq-footer__legal { display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem; }

/* A newsletter panel dropped into a footer column already sits on the deep
   ground, so it drops the second background and keeps only the rule. */
.dq-footer .dq-panel {
	background: transparent;
	padding: 0;
	border-radius: 0;
}

/* widget areas in the footer reuse the sidebar list styling */
.dq-footer .widget + .widget { margin-top: 2rem; }

.dq-footer .dq-widget__title {
	color: #FFFFFF;
	border-bottom-color: rgba(216, 234, 194, 0.2);
}

.dq-footer .dq-widget__title::before { background: var(--dq-aqua-light); }

.dq-footer .dq-widget li { border-bottom-color: rgba(216, 234, 194, 0.16); }

.dq-footer .dq-widget li a { color: var(--dq-sage-tint); }

/* ==========================================================================
   21c. TOUCH TARGETS
   WCAG 2.2 2.5.8 asks for 24x24 CSS px. Measured at 390px, four standalone
   links came in just under on the vertical axis — the category eyebrow at
   14px, one-line card headlines at 20px, the section "view all" at 19px and
   the comment count at 19px. None is inline in a sentence, so none qualifies
   for that exemption, and the eyebrow sits close enough above the headline
   that the spacing exemption does not save it either.

   Fixed by growing the link box, not by adding margin, so the visual rhythm
   is unchanged. Scoped below the desktop breakpoint: this is a touch problem
   and there is no reason to disturb the desktop type.
   ========================================================================== */

@media (max-width: 61.9375rem) {
	.dq-eyebrow a,
	.dq-section-head__more,
	.dq-meta a,
	.dq-breadcrumbs a,
	.dq-footer li a,
	.dq-widget li a,
	.dq-sidebar .widget li a {
		display: inline-flex;
		align-items: center;
		min-height: 24px;
	}

	/* Pull back the space the taller box would otherwise add. */
	.dq-eyebrow { margin-bottom: 0.25rem; }

	.dq-footer li,
	.dq-widget li,
	.dq-sidebar .widget li { padding-block: 0.2rem; }

	.dq-card__title a,
	.dq-hero__title a {
		display: inline-block;
		min-height: 24px;
	}

	/* 13px is too small for a card excerpt on a phone. */
	.dq-card__excerpt { font-size: 0.875rem; }
}

/* ==========================================================================
   22. PRINT
   ========================================================================== */

@media print {
	.dq-header,
	.dq-footer,
	.dq-sidebar,
	.dq-ad,
	.dq-share,
	.dq-post-nav,
	.dq-related,
	.dq-comments,
	.dq-breadcrumbs,
	.dq-pagination { display: none !important; }

	body {
		background: #FFFFFF;
		color: #000000;
		font-size: 11pt;
	}

	.dq-layout--sidebar { display: block; }

	.dq-entry-content a::after {
		content: " (" attr(href) ")";
		font-size: 0.85em;
		color: #555555;
		word-break: break-all;
	}

	.dq-featured-media { max-width: 90mm; }
}

/* ==========================================================================
   23. FORCED COLOURS (Windows high-contrast)
   ========================================================================== */

@media (forced-colors: active) {
	.dq-section-head__title::before,
	.dq-widget__title::before,
	.dq-footer__heading::before,
	.dq-panel__title::before { forced-color-adjust: none; background: CanvasText; }

	.dq-btn,
	.dq-tag,
	.dq-pagination .page-numbers { border: 1px solid CanvasText; }
}
