/*
Theme Name: Smoke Mziki
Theme URI: https://sembosidigital.com/
Author: David Sembosi +255664 579 651
Author URI: https://sembosidigital.com/
Description: Smoke Mziki is a fast, lightweight, responsive WordPress media magazine theme for music, videos, news, artists, podcasts, sports, and entertainment sites. Includes a featured hero row, latest-post card grid, trending-by-views widget, mobile quick navigation, AJAX live search, widget-ready sidebar/footer, SEO module, and Customizer color controls.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: smoke-mziki
Tags: blog, news, entertainment, custom-logo, custom-menu, featured-images, right-sidebar, threaded-comments, translation-ready, responsive-layout
*/

:root {
	--dm-accent: #14856f;
	--dm-accent-2: #12a088;
	--dm-bg: #ffffff;
	--dm-page-bg: #f8f9fa;
	--dm-surface: #ffffff;
	--dm-surface-2: #f4f4f5;
	--dm-text: #1a1a1a;
	--dm-muted: #868e96;
	--dm-border: #e9ecef;
	--dm-strong-border: #dee2e6;
	--dm-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
	--dm-radius: 16px;
	--dm-container: 1180px;
	--dm-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

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

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--dm-bg);
	color: var(--dm-text);
	font-family: var(--dm-font);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.dm-dark {
	--dm-bg: #0f172a;
	--dm-page-bg: #0f172a;
	--dm-surface: #111827;
	--dm-surface-2: #172033;
	--dm-text: #f8fafc;
	--dm-muted: #cbd5e1;
	--dm-border: #293548;
	--dm-strong-border: #3a475c;
	--dm-shadow: 0 14px 36px rgba(0, 0, 0, 0.32);
}

body.dm-modal-open {
	overflow: hidden;
}

img,
picture,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

button,
input,
textarea,
select {
	font: inherit;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, opacity 0.18s ease;
}

a:hover,
a:focus {
	color: var(--dm-accent);
}

p {
	margin: 0 0 1rem;
}

ul,
ol {
	margin-top: 0;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	z-index: 100000;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	clip: auto;
	padding: 10px 14px;
	background: var(--dm-accent);
	color: #fff;
	border-radius: 4px;
	font-weight: 800;
	white-space: normal;
}

.dm-container {
	width: 100%;
	max-width: var(--dm-container);
	margin-right: auto;
	margin-left: auto;
	padding-right: 12px;
	padding-left: 12px;
}

.dm-site {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* Header */
.dm-site-header {
	background: var(--dm-surface);
}

.dm-logo-row {
	position: relative;
	min-height: 188px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.dm-branding {
	max-width: min(420px, 80vw);
}

.custom-logo-link,
.custom-logo-link img {
	display: inline-block;
}

.custom-logo-link img {
	max-height: 120px;
	width: auto;
	margin: 0 auto;
}

.dm-site-title {
	margin: 0;
	font-size: clamp(2rem, 5vw, 3.2rem);
	font-weight: 950;
	letter-spacing: -0.06em;
	line-height: 1;
}

.dm-site-title a {
	background: linear-gradient(110deg, var(--dm-accent), #555);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.dm-site-description {
	margin: 8px 0 0;
	color: var(--dm-muted);
	font-size: 0.9rem;
}

.dm-main-nav-wrap {
	background: var(--dm-surface);
}

.dm-nav-bar {
	min-height: 76px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dm-primary-nav {
	display: flex;
	justify-content: center;
	min-width: 0;
}

.dm-menu,
.dm-mobile-menu,
.dm-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dm-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
}

.dm-menu > li {
	position: relative;
}

.dm-menu > li > a {
	position: relative;
	display: block;
	padding: 16px 5px;
	font-size: 0.96rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dm-menu > li > a::after {
	content: "";
	position: absolute;
	right: 5px;
	bottom: 6px;
	left: 5px;
	height: 3px;
	background: var(--dm-accent);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.18s ease;
}

.dm-menu > li:hover > a::after,
.dm-menu > li:focus-within > a::after,
.dm-menu > .current-menu-item > a::after,
.dm-menu > .current-menu-ancestor > a::after {
	transform: scaleX(1);
}

.dm-menu .sub-menu {
	position: absolute;
	z-index: 100;
	top: 100%;
	left: 0;
	min-width: 210px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--dm-surface);
	border: 1px solid var(--dm-border);
	border-radius: 0 0 10px 10px;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.1);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.dm-menu li:hover > .sub-menu,
.dm-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.dm-menu .sub-menu a {
	display: block;
	padding: 9px 10px;
	border-radius: 6px;
	font-size: 0.9rem;
	font-weight: 800;
}

.dm-menu .sub-menu a:hover,
.dm-menu .sub-menu a:focus {
	background: var(--dm-surface-2);
}

.dm-nav-actions {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-left: 24px;
}

.dm-icon-button,
.dm-menu-toggle,
.dm-search-close,
.dm-search-submit {
	border: 0;
	cursor: pointer;
}

.dm-icon-button {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: transparent;
	color: var(--dm-text);
	font-weight: 900;
	font-size: 1.35rem;
}

.dm-search-toggle {
	color: var(--dm-accent);
}

.dm-icon-button:hover,
.dm-icon-button:focus {
	background: var(--dm-surface-2);
	color: var(--dm-accent);
	outline: none;
}

.dm-mobile-action,
.dm-menu-toggle,
.dm-mobile-nav {
	display: none;
}

.dm-menu-toggle {
	align-items: center;
	gap: 8px;
	padding: 9px 12px;
	background: var(--dm-surface-2);
	color: var(--dm-text);
	border-radius: 4px;
	font-weight: 800;
}

.dm-menu-toggle-lines,
.dm-menu-toggle-lines::before,
.dm-menu-toggle-lines::after {
	display: block;
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
}

.dm-menu-toggle-lines {
	position: relative;
}

.dm-menu-toggle-lines::before,
.dm-menu-toggle-lines::after {
	content: "";
	position: absolute;
	left: 0;
}

.dm-menu-toggle-lines::before {
	top: -6px;
}

.dm-menu-toggle-lines::after {
	top: 6px;
}

/* Mobile quick menu icons use inline SVG masks, no external icon font needed. */
.dm-mobile-menu li:nth-child(1) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.6 12 3l9 7.6V21h-6v-6H9v6H3V10.6z'/%3E%3C/svg%3E");
}

.dm-mobile-menu li:nth-child(2) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 4v11.1A4.5 4.5 0 1 1 8 11.3V4h12v9.1A4.5 4.5 0 1 1 18 9.3V6h-8z'/%3E%3C/svg%3E");
}

.dm-mobile-menu li:nth-child(3) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3.8 21 12 7 20.2V3.8z'/%3E%3C/svg%3E");
}

.dm-mobile-menu li:nth-child(4) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h14v14H3V5zm16 3h2v11a3 3 0 0 1-3 3H6v-2h12a1 1 0 0 0 1-1V8zM6 8v3h8V8H6zm0 5v2h8v-2H6zm0 3v1h6v-1H6z'/%3E%3C/svg%3E");
}

.dm-mobile-menu li:nth-child(5) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm8-1a3 3 0 1 1 0-6 3 3 0 0 1 0 6zM2 21a7 7 0 0 1 14 0H2zm13.7 0a8.4 8.4 0 0 0-2.2-5.7A5.5 5.5 0 0 1 22 20.1v.9h-6.3z'/%3E%3C/svg%3E");
}

/* Featured top row */
.dm-hero {
	margin-top: 34px;
	margin-bottom: 34px;
}

.dm-hero-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.dm-hero-link {
	position: relative;
	display: block;
	min-height: 315px;
	overflow: hidden;
	background: linear-gradient(135deg, var(--dm-accent), var(--dm-accent-2));
	border-radius: 12px;
	isolation: isolate;
}

.dm-hero-card .dm-thumb-img,
.dm-hero-card .dm-thumb-fallback {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.28s ease;
}

.dm-hero-link:hover .dm-thumb-img,
.dm-hero-link:focus .dm-thumb-img {
	transform: scale(1.04);
}

.dm-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.28) 45%, rgba(0, 0, 0, 0.82) 100%);
}

.dm-hero-content {
	position: absolute;
	z-index: 2;
	right: 22px;
	bottom: 22px;
	left: 22px;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
}

.dm-hero-date {
	display: block;
	margin-bottom: 8px;
	font-size: 1.05rem;
	font-weight: 900;
}

.dm-hero-title {
	display: block;
	font-size: clamp(1.3rem, 2vw, 1.65rem);
	font-weight: 950;
	line-height: 1.16;
	letter-spacing: -0.035em;
}

/* Layout */
.dm-main {
	margin-top: 18px;
	margin-bottom: 72px;
	flex: 1 0 auto;
}

.dm-content-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 342px;
	gap: 28px;
	align-items: start;
}

.dm-main-column {
	min-width: 0;
}

.dm-list-panel {
	padding: 28px 30px 32px;
	background: var(--dm-surface);
	border: 1px solid var(--dm-border);
	border-radius: 18px;
	box-shadow: var(--dm-shadow);
}

.dm-section-header {
	margin-bottom: 8px;
	padding: 0 0 20px;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dm-section-header::after {
	content: "";
	display: block;
	width: 145px;
	height: 3px;
	margin-top: 16px;
	background: var(--dm-accent);
}

.dm-section-title,
.dm-widget-title,
.dm-footer-widget-title {
	margin: 0;
	font-weight: 950;
	letter-spacing: -0.045em;
}

.dm-section-title {
	display: block;
	font-size: clamp(1.6rem, 2.5vw, 2rem);
	line-height: 1.1;
	text-transform: uppercase;
}

.dm-section-title::before {
	display: none;
}

.dm-archive-description {
	margin-top: 10px;
	color: var(--dm-muted);
}

/* Post cards and post list */
.dm-post-card {
	min-width: 0;
	overflow: hidden;
	background: var(--dm-surface);
	border: 1px solid var(--dm-border);
	border-radius: 12px;
}

.dm-card-thumb {
	position: relative;
	display: block;
	aspect-ratio: 390 / 220;
	overflow: hidden;
	background: var(--dm-surface-2);
}

.dm-card-thumb .dm-thumb-img,
.dm-card-thumb .dm-thumb-fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.dm-post-card:hover .dm-card-thumb .dm-thumb-img,
.dm-card-thumb:focus .dm-thumb-img {
	transform: scale(1.035);
}

.dm-card-body {
	padding: 14px 16px 16px;
}

.dm-card-cat {
	margin-bottom: 10px;
}

.dm-cat-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	background: transparent;
	color: var(--dm-text);
	border: 1px solid currentColor;
	border-radius: 4px;
	font-size: 0.73rem;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.dm-cat-badge:hover,
.dm-cat-badge:focus {
	background: var(--dm-text);
	border-color: var(--dm-text);
	color: var(--dm-surface);
}

.dm-post-meta,
.dm-single-meta {
	color: var(--dm-muted);
	font-size: 0.88rem;
	font-weight: 800;
}

.dm-post-meta time::before {
	content: "";
	margin-right: 4px;
	font-size: 0.9em;
}

.dm-card-title {
	margin: 0;
	font-size: 1.12rem;
	font-weight: 950;
	line-height: 1.3;
	letter-spacing: -0.035em;
}

.dm-card-title + .dm-post-meta {
	margin-top: 8px;
}

.dm-post-list {
	display: block;
}

.dm-post-list .dm-post-card {
	display: grid;
	grid-template-columns: minmax(240px, 295px) minmax(0, 1fr);
	gap: 32px;
	align-items: center;
	padding: 26px 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--dm-strong-border);
	border-radius: 0;
	overflow: visible;
}

.dm-post-list .dm-post-card:last-child {
	border-bottom: 0;
}

.dm-post-list .dm-card-thumb {
	border-radius: 12px;
}

.dm-post-list .dm-card-body {
	padding: 0;
}

.dm-post-list .dm-card-title {
	font-size: clamp(1.45rem, 2.4vw, 1.82rem);
	line-height: 1.22;
}

.dm-thumb-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--dm-accent), var(--dm-accent-2));
	color: #fff;
	font-size: 3rem;
	font-weight: 950;
	letter-spacing: -0.08em;
}

.dm-thumb-fallback span {
	transform: translateY(-2px);
}

/* Sidebar */
.dm-sidebar {
	position: sticky;
	top: 18px;
	min-width: 0;
}

.dm-widget {
	margin-bottom: 20px;
	padding: 36px 44px 30px;
	background: var(--dm-surface);
	border: 1px solid var(--dm-border);
	border-radius: 18px;
	box-shadow: var(--dm-shadow);
}

.dm-widget-title {
	position: relative;
	display: block;
	margin-bottom: 20px;
	padding-bottom: 13px;
	border-bottom: 0;
	font-size: clamp(1.45rem, 2vw, 1.75rem);
	line-height: 1;
	text-transform: uppercase;
}

.dm-widget-title::before {
	content: "";
	margin-right: 8px;
	color: var(--dm-accent);
	font-size: 0.95em;
	text-shadow: 0 0 0 #0d6b32;
}

.dm-widget-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 142px;
	height: 3px;
	background: var(--dm-accent);
}

.dm-trending-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dm-trending-list li {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--dm-strong-border);
}

.dm-trending-list li:first-child {
	padding-top: 0;
}

.dm-trending-list li:last-child {
	border-bottom: 0;
}

.dm-trend-thumb {
	position: relative;
	width: 96px;
	height: 96px;
	overflow: hidden;
	background: var(--dm-surface-2);
	border-radius: 999px;
}

.dm-trend-thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.18);
}

.dm-trend-rank {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 2rem;
	font-weight: 950;
	line-height: 1;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}

.dm-trend-thumb .dm-thumb-img,
.dm-trend-thumb .dm-thumb-fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-size: 1.8rem;
}

.dm-trend-text a {
	display: block;
	font-size: 1.04rem;
	font-weight: 950;
	line-height: 1.22;
	letter-spacing: -0.025em;
}

.dm-trend-text time {
	display: block;
	margin-top: 6px;
	color: var(--dm-muted);
	font-size: 0.75rem;
	font-weight: 800;
}

.dm-trending-pager {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 14px;
	align-items: center;
	margin-top: 22px;
	font-weight: 900;
	text-align: center;
}

.dm-trending-pager a,
.dm-trending-pager span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 45px;
}

.dm-trending-pager a,
.dm-trending-disabled {
	padding: 0 14px;
	border: 1px solid var(--dm-text);
	border-radius: 4px;
}

.dm-trending-disabled {
	color: #c7c7c7;
	border-color: #d5d5d5;
}

.dm-category-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dm-category-list li {
	display: flex;
	justify-content: space-between;
	padding: 9px 0;
	border-bottom: 1px solid var(--dm-border);
	font-weight: 800;
}

.dm-category-list li:last-child {
	border-bottom: 0;
}

/* Pagination */
.dm-pagination {
	margin-top: 30px;
}

.dm-pagination > .page-numbers {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.dm-pagination li {
	margin: 0;
	padding: 0;
}

.dm-pagination a,
.dm-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 51px;
	height: 51px;
	padding: 0 16px;
	background: var(--dm-surface-2);
	border: 1px solid var(--dm-border);
	border-radius: 5px;
	font-weight: 950;
	font-size: 1.04rem;
}

.dm-pagination .current,
.dm-pagination a:hover,
.dm-pagination a:focus {
	background: #000;
	border-color: #000;
	color: #fff;
}

.dm-pagination .dots {
	min-width: auto;
	padding: 0 4px;
	background: transparent;
	border: 0;
	color: var(--dm-muted);
}

.dm-pagination .last {
	min-width: 78px;
}

/* Single and page content */
.dm-single-card,
.dm-comments,
.post-navigation,
.dm-related-posts,
.dm-empty-results,
.dm-error-404 {
	margin-bottom: 22px;
	padding: clamp(24px, 3vw, 30px);
	background: var(--dm-surface);
	border: 1px solid var(--dm-border);
	border-radius: 18px;
	box-shadow: var(--dm-shadow);
}

.dm-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	align-items: center;
	margin-bottom: 22px;
	color: #555b61;
	font-size: 0.9rem;
	font-weight: 900;
}

.dm-breadcrumbs a:first-child::before {
	content: "⌂";
	margin-right: 3px;
	font-size: 0.95em;
}

.dm-breadcrumb-sep {
	margin: 0 1px;
}

.dm-single-cat {
	margin-bottom: 16px;
}

.dm-single-title {
	margin: 0;
	font-size: clamp(2rem, 4vw, 2.65rem);
	font-weight: 950;
	line-height: 1.16;
	letter-spacing: -0.055em;
}

.dm-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 13px;
	align-items: center;
	margin-top: 18px;
	color: #111;
	font-size: 0.9rem;
}

body.dm-dark .dm-single-meta {
	color: var(--dm-muted);
}

.dm-single-author::before {
	content: "◉";
	margin-right: 4px;
	font-size: 0.82em;
}

.dm-single-date::before {
	content: "·";
	margin-right: 12px;
	color: var(--dm-muted);
}


.dm-single-thumb {
	margin: 30px -30px 0;
	overflow: hidden;
	border-radius: 12px;
}

.dm-single-thumb img {
	width: 100%;
}

.dm-entry-content {
	margin-top: 30px;
	font-size: 1.04rem;
	line-height: 1.78;
}

.dm-entry-content > *:first-child {
	margin-top: 0;
}

.dm-entry-content > *:last-child {
	margin-bottom: 0;
}

.dm-entry-content a {
	color: var(--dm-accent);
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.dm-entry-content h1,
.dm-entry-content h2,
.dm-entry-content h3,
.dm-entry-content h4,
.dm-entry-content h5,
.dm-entry-content h6 {
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.dm-entry-content blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--dm-accent);
	background: var(--dm-surface-2);
	font-size: 1.1rem;
	font-weight: 650;
}

.dm-entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
}

.dm-entry-content th,
.dm-entry-content td {
	padding: 10px;
	border: 1px solid var(--dm-border);
	text-align: left;
}

.dm-entry-content pre {
	overflow: auto;
	padding: 16px;
	background: #0f172a;
	color: #e5e7eb;
	border-radius: 8px;
}

.dm-entry-footer {
	margin-top: 24px;
}

.dm-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.dm-tags span {
	font-weight: 900;
}

.dm-tags a {
	display: inline-flex;
	padding: 6px 9px;
	background: var(--dm-surface-2);
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 800;
}

.nav-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.nav-next {
	text-align: right;
}

.nav-subtitle {
	display: block;
	color: var(--dm-muted);
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
}

.nav-title {
	font-weight: 900;
}

.dm-related-posts .dm-section-title {
	margin-bottom: 16px;
}

.dm-related-posts .dm-section-title::after {
	content: "";
	display: block;
	width: 118px;
	height: 3px;
	margin-top: 12px;
	background: var(--dm-accent);
}

.dm-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.dm-related-grid .dm-card-title {
	font-size: 0.98rem;
}

/* Comments */
.dm-comments-title {
	margin: 0 0 16px;
	font-size: 1.25rem;
}

.dm-comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dm-comment-list .comment {
	padding: 14px 0;
	border-bottom: 1px solid var(--dm-border);
}

.dm-comment-list .comment:last-child {
	border-bottom: 0;
}

.comment-form-comment label,
.comment-form-author label,
.comment-form-email label,
.comment-form-url label {
	display: block;
	margin-bottom: 6px;
	font-weight: 800;
}

.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
	width: 100%;
	padding: 12px 14px;
	background: var(--dm-surface-2);
	color: var(--dm-text);
	border: 1px solid var(--dm-border);
	border-radius: 4px;
}

.form-submit .submit {
	padding: 11px 16px;
	background: var(--dm-accent);
	color: #fff;
	border: 0;
	border-radius: 4px;
	font-weight: 900;
	cursor: pointer;
}

/* Search modal */
.dm-search-modal[hidden] {
	display: none;
}

.dm-search-modal {
	position: fixed;
	z-index: 9999;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 22px;
	background: rgba(2, 6, 23, 0.78);
	backdrop-filter: blur(4px);
}

.dm-search-panel {
	width: min(680px, 100%);
	padding: clamp(22px, 4vw, 36px);
	background: var(--dm-surface);
	border-radius: 14px;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

.dm-search-panel h2 {
	margin: 0 0 18px;
	font-size: clamp(1.6rem, 5vw, 2.5rem);
	font-weight: 950;
	letter-spacing: -0.055em;
}

.dm-search-close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 44px;
	height: 44px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border-radius: 999px;
	font-size: 2rem;
	line-height: 1;
}

.dm-search-close:hover,
.dm-search-close:focus {
	background: var(--dm-accent);
}

.dm-search-form {
	display: flex;
	gap: 10px;
}

.dm-search-form label {
	flex: 1;
}

.dm-search-field {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	background: var(--dm-surface-2);
	color: var(--dm-text);
	border: 1px solid var(--dm-border);
	border-radius: 4px;
}

.dm-search-submit {
	min-height: 48px;
	padding: 0 18px;
	background: var(--dm-accent);
	color: #fff;
	border-radius: 4px;
	font-weight: 900;
}

.dm-search-submit:hover,
.dm-search-submit:focus {
	background: #000;
}

/* Footer */
.dm-site-footer {
	margin-top: auto;
	background: #f2f2f3;
	color: #111;
}

body.dm-dark .dm-site-footer {
	background: #111827;
	color: #e5e7eb;
}

.dm-footer-widgets {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	padding-top: 36px;
	padding-bottom: 34px;
}

.dm-footer-widget-title {
	margin-bottom: 12px;
	font-size: 1rem;
}

.dm-site-info-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding-top: 34px;
	padding-bottom: 34px;
	font-size: 0.98rem;
	font-weight: 500;
	text-align: center;
}

.dm-site-info p {
	margin: 0;
}

.dm-footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.dm-footer-menu a {
	font-weight: 800;
}

/* WordPress core alignment and media */
.alignleft {
	float: left;
	margin: 0.35rem 1.2rem 1rem 0;
}

.alignright {
	float: right;
	margin: 0.35rem 0 1rem 1.2rem;
}

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

.alignwide {
	margin-right: calc(50% - 50vw + 20px);
	margin-left: calc(50% - 50vw + 20px);
	max-width: calc(100vw - 40px);
}

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

.wp-caption,
.wp-caption img {
	max-width: 100%;
}

.wp-caption-text,
.gallery-caption {
	margin-top: 6px;
	color: var(--dm-muted);
	font-size: 0.85rem;
}

.sticky .dm-card-title::after {
	content: "Featured";
	display: inline-flex;
	margin-left: 8px;
	padding: 3px 6px;
	background: var(--dm-accent);
	color: #fff;
	border-radius: 999px;
	font-size: 0.62rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	vertical-align: middle;
}

.bypostauthor {
	outline: 0;
}

/* Responsive */
@media (max-width: 1120px) {
	.dm-content-layout {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 20px;
	}

	.dm-widget {
		padding-right: 28px;
		padding-left: 28px;
	}

	.dm-post-list .dm-post-card {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 24px;
	}
}

@media (max-width: 960px) {
	.dm-hero-grid {
		gap: 16px;
	}

	.dm-hero-link {
		min-height: 250px;
	}

	.dm-content-layout {
		grid-template-columns: 1fr;
	}

	.dm-sidebar {
		position: static;
	}

	.dm-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	body {
		background: var(--dm-page-bg);
	}

	.dm-container {
		padding-right: 10px;
		padding-left: 10px;
	}

	.dm-logo-row {
		min-height: 114px;
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		gap: 8px;
		background: var(--dm-surface);
	}

	.dm-mobile-action {
		display: inline-flex;
	}

	.dm-mobile-action.dm-search-toggle {
		justify-self: end;
	}

	.dm-mobile-action.dm-theme-toggle {
		justify-self: start;
		color: var(--dm-text);
	}

	.dm-nav-actions,
	.dm-main-nav-wrap {
		display: none;
	}

	.custom-logo-link img {
		max-height: 74px;
	}

	.dm-site-title {
		font-size: clamp(1.65rem, 9vw, 2.45rem);
	}

	.dm-site-description {
		display: none;
	}

	.dm-mobile-nav {
		display: block;
		margin: 0 10px 18px;
		background: var(--dm-surface);
		border: 1px solid var(--dm-border);
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.dm-mobile-menu {
		display: grid;
		grid-template-columns: repeat(5, minmax(76px, 1fr));
		min-width: 100%;
	}

	.dm-mobile-menu a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 7px;
		min-height: 104px;
		padding: 12px 7px;
		font-size: 0.82rem;
		font-weight: 950;
		letter-spacing: 0.02em;
		text-transform: uppercase;
	}

	.dm-mobile-menu a::before {
		content: "";
		display: block;
		width: 31px;
		height: 31px;
		background: currentColor;
		-webkit-mask: var(--dm-mobile-icon) center / contain no-repeat;
		mask: var(--dm-mobile-icon) center / contain no-repeat;
	}

	.dm-hero {
		display: none;
	}

	.dm-main {
		margin-top: 14px;
		margin-bottom: 44px;
	}

	.dm-list-panel,
	.dm-single-card,
	.dm-comments,
	.post-navigation,
	.dm-related-posts,
	.dm-empty-results,
	.dm-error-404,
	.dm-widget {
		border-radius: 17px;
	}

	.dm-list-panel {
		padding: 28px 20px 26px;
	}

	.dm-section-title {
		font-size: 1.75rem;
	}

	.dm-post-list .dm-post-card {
		grid-template-columns: minmax(118px, 38%) minmax(0, 1fr);
		gap: 14px;
		padding: 16px 0;
	}

	.dm-post-list .dm-card-thumb {
		height: 120px;
		aspect-ratio: auto;
	}

	.dm-post-list .dm-card-cat {
		margin-bottom: 7px;
	}

	.dm-post-list .dm-card-title {
		font-size: 1.14rem;
		line-height: 1.25;
	}

	.dm-post-meta {
		font-size: 0.84rem;
	}

	.dm-sidebar {
		margin-top: 28px;
	}

	.dm-widget {
		padding: 40px 36px 30px;
	}

	.dm-content-layout {
		gap: 0;
	}

	.dm-single-card {
		padding: 26px 24px;
	}

	.dm-single-thumb {
		margin-right: -24px;
		margin-left: -24px;
	}

	.dm-breadcrumb-current {
		display: none;
	}

	.dm-footer-widgets {
		grid-template-columns: 1fr;
	}

	.dm-site-info-inner {
		flex-direction: column;
		line-height: 1.8;
	}
}

@media (max-width: 640px) {
	body {
		font-size: 15px;
	}

	.dm-main {
		margin-bottom: 38px;
	}

	.dm-list-panel {
		padding: 26px 18px 24px;
	}

	.dm-section-header {
		padding-bottom: 16px;
	}

	.dm-section-header::after {
		width: 140px;
		margin-top: 14px;
	}

	.dm-post-list .dm-post-card {
		grid-template-columns: minmax(112px, 38%) minmax(0, 1fr);
		gap: 13px;
	}

	.dm-post-list .dm-card-thumb {
		height: 118px;
		border-radius: 12px;
	}

	.dm-post-list .dm-card-title {
		font-size: 1.1rem;
	}

	.dm-cat-badge {
		font-size: 0.69rem;
		padding: 3px 7px;
	}

	.dm-related-grid {
		display: block;
	}

	.dm-related-grid .dm-post-card {
		margin-bottom: 12px;
	}

	.dm-search-form {
		flex-direction: column;
	}

	.nav-links {
		grid-template-columns: 1fr;
	}

	.nav-next {
		text-align: left;
	}

	.dm-trending-list li {
		grid-template-columns: 100px minmax(0, 1fr);
		gap: 18px;
	}

	.dm-trend-thumb {
		width: 100px;
		height: 100px;
	}

	.dm-trend-text a {
		font-size: 1.18rem;
	}

	.dm-pagination > .page-numbers {
		justify-content: flex-start;
		gap: 11px;
	}
}

@media (max-width: 430px) {
	.dm-container {
		padding-right: 8px;
		padding-left: 8px;
	}

	.dm-mobile-nav {
		margin-right: 8px;
		margin-left: 8px;
	}

	.dm-mobile-menu {
		grid-template-columns: repeat(5, minmax(68px, 1fr));
	}

	.dm-mobile-menu a {
		min-height: 95px;
		font-size: 0.76rem;
	}

	.dm-mobile-menu a::before {
		width: 28px;
		height: 28px;
	}

	.dm-list-panel,
	.dm-single-card {
		padding-right: 16px;
		padding-left: 16px;
	}

	.dm-post-list .dm-post-card {
		grid-template-columns: 126px minmax(0, 1fr);
		gap: 13px;
	}

	.dm-post-list .dm-card-thumb {
		height: 106px;
	}

	.dm-post-list .dm-card-title {
		font-size: 1.02rem;
	}

	.dm-widget {
		padding: 34px 28px 28px;
	}

	.dm-trending-list li {
		grid-template-columns: 90px minmax(0, 1fr);
	}

	.dm-trend-thumb {
		width: 90px;
		height: 90px;
	}

	.dm-trend-text a {
		font-size: 1.05rem;
	}

	.dm-single-title {
		font-size: 2rem;
	}

	.dm-single-thumb {
		margin-right: -16px;
		margin-left: -16px;
	}

	.dm-pagination a,
	.dm-pagination span {
		min-width: 48px;
		height: 48px;
	}
}


/* Smoke Mziki 1.2 feature refinements */
.dm-mobile-menu li:nth-child(6) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v14H4V5zm3 3v8h10V8H7zm2 2h6v4H9v-4z'/%3E%3C/svg%3E");
}

.dm-mobile-menu li:nth-child(7) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h10v3h4v2a6 6 0 0 1-5 5.9A5 5 0 0 1 13 17v2h4v2H7v-2h4v-2a5 5 0 0 1-3-2.1A6 6 0 0 1 3 9V7h4V4zm0 5H5a4 4 0 0 0 2.5 3.7A7.8 7.8 0 0 1 7 10V9zm10 1c0 1-.2 1.9-.5 2.7A4 4 0 0 0 19 9h-2v1z'/%3E%3C/svg%3E");
}

.dm-mobile-menu li:nth-child(8) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 6 6.6 1-4.8 4.7 1.1 6.6L12 17.7l-5.8 3.1 1.1-6.6-4.8-4.7 6.6-1L12 2.5z'/%3E%3C/svg%3E");
}

.dm-mobile-menu li:nth-child(9) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 10-13h-7l1-7z'/%3E%3C/svg%3E");
}

.dm-mobile-menu li:nth-child(10) a::before {
	--dm-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.3 1.2.4 2.4.6 3.5.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.5.1.4 0 .8-.3 1.1l-2.2 2.2z'/%3E%3C/svg%3E");
}

.dm-search-input-wrap {
	position: relative;
	flex: 1;
	min-width: 0;
}

.dm-search-input-wrap label {
	display: block;
	flex: none;
}

.dm-live-search-results {
	position: absolute;
	z-index: 50;
	top: calc(100% + 8px);
	right: 0;
	left: 0;
	max-height: min(420px, 70vh);
	overflow: auto;
	padding: 8px;
	background: var(--dm-surface);
	border: 1px solid var(--dm-border);
	border-radius: 10px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.dm-live-search-item {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	padding: 8px;
	border-radius: 8px;
}

.dm-live-search-item:hover,
.dm-live-search-item:focus {
	background: var(--dm-surface-2);
}

.dm-live-search-item img,
.dm-live-search-fallback {
	width: 54px;
	height: 54px;
	object-fit: cover;
	border-radius: 8px;
}

.dm-live-search-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--dm-accent), var(--dm-accent-2));
	color: #fff;
	font-weight: 950;
}

.dm-live-search-item strong,
.dm-live-search-item em {
	display: block;
}

.dm-live-search-item strong {
	font-size: 0.94rem;
	font-weight: 950;
	line-height: 1.2;
}

.dm-live-search-item em,
.dm-live-search-empty {
	color: var(--dm-muted);
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 750;
}

.dm-live-search-empty {
	padding: 12px;
	text-align: center;
}

.dm-trending-list li.is-hidden {
	display: none;
}

.dm-trending-pager button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	padding: 0 14px;
	background: var(--dm-surface);
	color: var(--dm-text);
	border: 1px solid var(--dm-text);
	border-radius: 4px;
	font-weight: 900;
	cursor: pointer;
}

.dm-trending-pager button:disabled {
	color: #c7c7c7;
	border-color: #d5d5d5;
	cursor: not-allowed;
	opacity: 1;
}

.dm-share-box {
	margin-top: 30px;
	padding: 18px;
	background: var(--dm-surface-2);
	border: 1px solid var(--dm-border);
	border-radius: 14px;
}

.dm-share-box h2 {
	margin: 0 0 14px;
	font-size: 1rem;
	font-weight: 950;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.dm-share-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dm-share-icon {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 950;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.14);
	cursor: pointer;
	transform: translateY(0);
	transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.dm-share-icon:hover,
.dm-share-icon:focus {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 14px 26px rgba(0, 0, 0, 0.2);
}

.dm-share-facebook { background: #1877f2; }
.dm-share-x { background: #000; }
.dm-share-telegram { background: #229ed9; }
.dm-share-copy { background: linear-gradient(135deg, var(--dm-accent), var(--dm-accent-2)); }
.dm-share-copy.is-copied { background: #111827; }


@media (max-width: 782px) {
	.dm-mobile-nav {
		overflow: visible;
	}

	.dm-mobile-menu {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		grid-auto-rows: 86px;
	}

	.dm-mobile-menu a {
		min-height: 86px;
		font-size: 0.68rem;
		line-height: 1.1;
	}

	.dm-mobile-menu a::before {
		width: 27px;
		height: 27px;
	}
}

@media (max-width: 640px) {
	.dm-related-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.dm-related-grid .dm-post-card {
		display: block;
		margin-bottom: 0;
		padding: 0;
		border: 1px solid var(--dm-border);
		border-radius: 12px;
		overflow: hidden;
	}

	.dm-related-grid .dm-card-thumb {
		height: auto;
		aspect-ratio: 390 / 220;
		border-radius: 0;
	}

	.dm-related-grid .dm-card-body {
		padding: 10px;
	}

	.dm-related-grid .dm-card-title {
		font-size: 0.88rem;
		line-height: 1.25;
	}

	.dm-related-grid .dm-post-meta {
		font-size: 0.74rem;
	}

	.dm-share-icon {
		width: 42px;
		height: 42px;
	}

}

@media (max-width: 430px) {
	.dm-mobile-menu {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		grid-auto-rows: 78px;
	}

	.dm-mobile-menu a {
		min-height: 78px;
		font-size: 0.61rem;
		padding-right: 3px;
		padding-left: 3px;
	}

	.dm-mobile-menu a::before {
		width: 24px;
		height: 24px;
	}
}

/* Smoke Mziki 1.3 image, icon, slider, and dashboard-setting refinements */
.dm-site-footer {
	background: var(--dm-footer-bg);
	color: var(--dm-footer-text);
}

.dm-mobile-menu-custom a::before {
	display: none !important;
}

.dm-mobile-icon,
.dm-mobile-label {
	display: block;
}

.dm-mobile-icon svg {
	width: 31px;
	height: 31px;
	display: block;
}

.dm-hero-grid {
	display: flex;
	gap: 28px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.dm-hero-grid::-webkit-scrollbar {
	display: none;
}

.dm-hero-card {
	flex: 0 0 calc((100% - 56px) / 3);
	scroll-snap-align: start;
}

.dm-hero-card .dm-thumb-img,
.dm-post-list .dm-card-thumb .dm-thumb-img {
	object-fit: contain;
	background: var(--dm-surface-2);
}

.dm-hero-card .dm-thumb-img {
	padding: 0;
}

.dm-post-list .dm-card-thumb {
	background: var(--dm-surface-2);
}

.dm-share-icon svg {
	width: 22px;
	height: 22px;
	display: block;
}


@media (max-width: 960px) {
	.dm-hero-card {
		flex-basis: calc((100% - 32px) / 3);
	}
}

@media (max-width: 782px) {
	.dm-hero-grid {
		display: none;
	}

	.dm-mobile-icon svg {
		width: 27px;
		height: 27px;
	}
}

@media (max-width: 430px) {
	.dm-mobile-icon svg {
		width: 24px;
		height: 24px;
	}
}
body.dm-dark .dm-site-footer {
	background: var(--dm-footer-bg);
	color: var(--dm-footer-text);
}
.dm-icon-button svg {
	width: 20px;
	height: 20px;
	display: block;
}

/* Smoke Mziki 1.3.1: lock original card dimensions while showing full images */
.dm-hero-link {
	height: 315px;
	min-height: 315px;
}

.dm-card-thumb,
.dm-related-grid .dm-card-thumb {
	aspect-ratio: 390 / 220;
}

.dm-post-list .dm-card-thumb {
	height: 166px;
	aspect-ratio: auto;
}

.dm-card-thumb .dm-thumb-img,
.dm-hero-card .dm-thumb-img,
.dm-related-grid .dm-card-thumb .dm-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: contain !important;
	background: var(--dm-surface-2);
}


.dm-no-trending {
	margin: 0;
	color: var(--dm-muted);
	font-weight: 800;
	line-height: 1.55;
}

@media (max-width: 782px) {
	.dm-post-list .dm-card-thumb {
		height: 120px;
	}
}

@media (max-width: 430px) {
	.dm-post-list .dm-card-thumb {
		height: 106px;
	}
}


/* Smoke Mziki 1.3.2: latest-post cards use equal cropped thumbnails with rounded corners */
.dm-post-list .dm-post-card {
	grid-template-columns: 295px minmax(0, 1fr);
}

.dm-post-list .dm-card-thumb {
	width: 295px;
	height: 166px;
	aspect-ratio: auto;
	border-radius: 14px;
	overflow: hidden;
}

.dm-post-list .dm-card-thumb .dm-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	border-radius: 14px;
}

.dm-post-list .dm-thumb-fallback {
	width: 100%;
	height: 100%;
	border-radius: 14px;
}

@media (max-width: 1120px) {
	.dm-post-list .dm-post-card {
		grid-template-columns: 260px minmax(0, 1fr);
	}

	.dm-post-list .dm-card-thumb {
		width: 260px;
		height: 146px;
	}
}

@media (max-width: 782px) {
	.dm-post-list .dm-post-card {
		grid-template-columns: 126px minmax(0, 1fr);
	}

	.dm-post-list .dm-card-thumb {
		width: 126px;
		height: 106px;
		border-radius: 12px;
	}

	.dm-post-list .dm-card-thumb .dm-thumb-img,
	.dm-post-list .dm-thumb-fallback {
		border-radius: 12px;
	}
}

@media (max-width: 430px) {
	.dm-post-list .dm-post-card {
		grid-template-columns: 118px minmax(0, 1fr);
	}

	.dm-post-list .dm-card-thumb {
		width: 118px;
		height: 96px;
	}
}


/* Smoke Mziki 1.3.3: crop header slider and related-post images too */
.dm-hero-link {
	border-radius: 14px;
	overflow: hidden;
}

.dm-hero-card .dm-thumb-img,
.dm-hero-card .dm-thumb-fallback {
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	border-radius: 14px;
}

.dm-related-grid .dm-card-thumb {
	aspect-ratio: 390 / 220;
	border-radius: 12px 12px 0 0;
	overflow: hidden;
}

.dm-related-grid .dm-card-thumb .dm-thumb-img,
.dm-related-grid .dm-card-thumb .dm-thumb-fallback {
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	border-radius: 12px 12px 0 0;
}

.dm-related-grid .dm-post-card {
	border-radius: 12px;
	overflow: hidden;
}


/* Smoke Mziki 1.3.4: footer credit link and clean content button styling */
.dm-footer-credit-link {
	color: inherit;
	text-decoration: none;
	font-weight: 700;
}

.dm-footer-credit-link:hover,
.dm-footer-credit-link:focus {
	color: var(--dm-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.dm-entry-content .wp-block-buttons,
.dm-entry-content .is-layout-flex.wp-block-buttons {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center;
	gap: 10px 12px;
	margin: 1.35rem 0;
}

.dm-entry-content .wp-block-button {
	display: inline-flex;
	width: auto !important;
	max-width: 100%;
	margin: 0;
	line-height: 1.2;
}

.dm-entry-content .wp-block-button__link,
.dm-entry-content a.wp-block-button__link,
.dm-entry-content .button,
.dm-entry-content a.button,
.dm-entry-content button:not(.dm-share-icon) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	max-width: 100%;
	min-height: 42px;
	padding: 11px 18px;
	background: var(--dm-accent);
	color: #fff !important;
	border: 2px solid var(--dm-accent);
	border-radius: 9px;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
	font-size: 0.96rem;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	white-space: normal;
	word-break: normal;
	cursor: pointer;
}

.dm-entry-content .wp-block-button__link:hover,
.dm-entry-content .wp-block-button__link:focus,
.dm-entry-content .button:hover,
.dm-entry-content .button:focus,
.dm-entry-content button:not(.dm-share-icon):hover,
.dm-entry-content button:not(.dm-share-icon):focus {
	background: #000;
	border-color: #000;
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
}

.dm-entry-content .wp-block-button.is-style-outline .wp-block-button__link,
.dm-entry-content .wp-block-button__link.has-background.is-style-outline {
	background: transparent;
	color: var(--dm-accent) !important;
	border-color: var(--dm-accent);
	box-shadow: none;
}

.dm-entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover,
.dm-entry-content .wp-block-button.is-style-outline .wp-block-button__link:focus {
	background: var(--dm-accent);
	color: #fff !important;
}

.dm-entry-content .wp-block-button.aligncenter {
	display: flex;
	justify-content: center;
}

.dm-entry-content .wp-block-button.aligncenter .wp-block-button__link {
	margin-right: auto;
	margin-left: auto;
}

.dm-entry-content .wp-block-button.alignwide .wp-block-button__link,
.dm-entry-content .wp-block-button.alignfull .wp-block-button__link,
.dm-entry-content .wp-block-button__width-25 .wp-block-button__link,
.dm-entry-content .wp-block-button__width-50 .wp-block-button__link,
.dm-entry-content .wp-block-button__width-75 .wp-block-button__link,
.dm-entry-content .wp-block-button__width-100 .wp-block-button__link {
	width: auto !important;
}

@media (max-width: 640px) {
	.dm-entry-content .wp-block-buttons,
	.dm-entry-content .is-layout-flex.wp-block-buttons {
		flex-direction: row !important;
		align-items: center;
		gap: 8px;
	}

	.dm-entry-content .wp-block-button__link,
	.dm-entry-content a.wp-block-button__link,
	.dm-entry-content .button,
	.dm-entry-content a.button,
	.dm-entry-content button:not(.dm-share-icon) {
		min-height: 40px;
		padding: 10px 14px;
		border-radius: 8px;
		font-size: 0.92rem;
	}
}


/* Smoke Mziki 1.3.5: multiple links inside footer credit */
.dm-footer-credit a {
	color: inherit;
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.dm-footer-credit a:hover,
.dm-footer-credit a:focus {
	color: var(--dm-accent);
}


/* Smoke Mziki 1.3.6: footer credit link color setting, no underline */
.dm-footer-credit a,
.dm-footer-credit-link {
	color: var(--dm-footer-credit-link);
	text-decoration: none !important;
	border-bottom: 0 !important;
}

.dm-footer-credit a:hover,
.dm-footer-credit a:focus,
.dm-footer-credit-link:hover,
.dm-footer-credit-link:focus {
	color: var(--dm-footer-credit-link);
	text-decoration: none !important;
	border-bottom: 0 !important;
	opacity: 0.82;
}


/* Smoke Mziki 1.3.7: large AJAX search bar below menu/mobile icons */
.dm-header-search-wrap {
	background: var(--dm-surface);
	padding: 8px 0 24px;
}

.dm-header-search-form {
	position: relative;
	display: flex;
	align-items: center;
	width: min(680px, 100%);
	min-height: 62px;
	margin: 0 auto;
	padding: 5px;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 999px;
	box-shadow: 0 5px 16px rgba(15, 23, 42, 0.12);
}

body.dm-dark .dm-header-search-form {
	background: var(--dm-surface-2);
}

.dm-header-search-form .dm-search-input-wrap {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}

.dm-header-search-form label {
	display: block;
}

.dm-header-search-form .dm-search-field {
	width: 100%;
	min-height: 52px;
	padding: 0 18px;
	background: transparent;
	color: var(--dm-text);
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	font-size: clamp(1.25rem, 4vw, 2rem);
	font-weight: 400;
	outline: none;
}

.dm-header-search-form .dm-search-field::placeholder {
	color: #777;
	opacity: 1;
}

.dm-header-search-form .dm-search-submit {
	flex: 0 0 auto;
	min-width: 170px;
	min-height: 52px;
	padding: 0 28px;
	background: var(--dm-search-button);
	color: var(--dm-search-button-text);
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	font-size: clamp(1rem, 3vw, 1.45rem);
	font-weight: 900;
	line-height: 1;
}

.dm-header-search-form .dm-search-submit:hover,
.dm-header-search-form .dm-search-submit:focus {
	background: var(--dm-search-button);
	color: var(--dm-search-button-text);
	filter: brightness(0.92);
}

.dm-header-search-form .dm-live-search-results {
	top: calc(100% + 10px);
	left: 8px;
	right: 8px;
	border-radius: 14px;
}

@media (max-width: 782px) {
	.dm-header-search-wrap {
		padding: 0 10px 18px;
	}

	.dm-header-search-form {
		min-height: 56px;
		padding: 4px;
	}

	.dm-header-search-form .dm-search-field {
		min-height: 48px;
		padding: 0 14px;
		font-size: 1.45rem;
	}

	.dm-header-search-form .dm-search-submit {
		min-width: 118px;
		min-height: 48px;
		padding: 0 18px;
		font-size: 1.05rem;
	}
}

@media (max-width: 430px) {
	.dm-header-search-form .dm-search-field {
		font-size: 1.22rem;
	}

	.dm-header-search-form .dm-search-submit {
		min-width: 98px;
		padding: 0 15px;
		font-size: 0.98rem;
	}
}


/* Smoke Mziki 1.3.8: responsive theme-colored header search */
.dm-header-search-form {
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	background: var(--dm-search-bg);
	border-color: var(--dm-search-border);
	width: min(680px, calc(100vw - 24px));
	max-width: 100%;
}

.dm-header-search-form .dm-search-input-wrap {
	flex: 1 1 auto;
	min-width: 0;
}

.dm-header-search-form .dm-search-field {
	color: var(--dm-search-text);
	min-width: 0;
}

.dm-header-search-form .dm-search-field::placeholder {
	color: var(--dm-search-placeholder);
}

.dm-header-search-form .dm-search-submit {
	background: var(--dm-search-button);
	color: var(--dm-search-button-text) !important;
	width: auto !important;
	white-space: nowrap;
}

body.dm-dark .dm-header-search-form {
	background: var(--dm-search-bg);
	border-color: var(--dm-search-border);
}

@media (max-width: 640px) {
	.dm-header-search-wrap {
		padding-right: 8px;
		padding-left: 8px;
	}

	.dm-header-search-form,
	.dm-search-form.dm-header-search-form {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 0 !important;
		width: 100%;
		min-height: 50px;
		padding: 4px;
	}

	.dm-header-search-form .dm-search-input-wrap {
		flex: 1 1 auto;
		min-width: 0;
	}

	.dm-header-search-form .dm-search-field {
		min-height: 42px;
		padding-right: 10px;
		padding-left: 14px;
		font-size: clamp(1rem, 5vw, 1.25rem);
	}

	.dm-header-search-form .dm-search-submit {
		flex: 0 0 auto;
		min-width: 88px;
		min-height: 42px;
		padding: 0 14px;
		font-size: 0.95rem;
	}
}

@media (max-width: 360px) {
	.dm-header-search-form .dm-search-field {
		font-size: 0.95rem;
		padding-left: 12px;
	}

	.dm-header-search-form .dm-search-submit {
		min-width: 78px;
		padding-right: 12px;
		padding-left: 12px;
		font-size: 0.88rem;
	}
}


/* Smoke Mziki 1.3.9: improved typography */
body {
	font-family: var(--dm-font);
	font-size: var(--dm-body-size);
	font-weight: 500;
	letter-spacing: 0.002em;
}

h1, h2, h3, h4, h5, h6,
.dm-site-title,
.dm-section-title,
.dm-widget-title,
.dm-card-title,
.dm-hero-title,
.dm-single-title,
.dm-trend-text a,
.dm-menu > li > a,
.dm-mobile-menu a,
.dm-search-submit {
	font-family: var(--dm-heading-font);
}

.dm-section-title,
.dm-widget-title,
.dm-card-title,
.dm-hero-title,
.dm-single-title,
.dm-trend-text a {
	font-weight: var(--dm-heading-weight);
	letter-spacing: var(--dm-title-spacing);
}

.dm-card-title,
.dm-post-list .dm-card-title {
	line-height: 1.18;
}

.dm-single-title {
	line-height: 1.08;
}

.dm-entry-content {
	font-family: var(--dm-font);
	font-size: calc(var(--dm-body-size) + 1px);
	font-weight: 500;
	line-height: 1.82;
}

.dm-entry-content strong,
.dm-entry-content b {
	font-weight: 850;
}

.dm-menu > li > a {
	font-weight: 850;
	letter-spacing: 0.075em;
}

.dm-mobile-menu a {
	font-weight: 850;
	letter-spacing: 0.01em;
}

.dm-post-meta,
.dm-single-meta,
.dm-trend-text time {
	font-weight: 700;
	letter-spacing: 0.005em;
}

.dm-cat-badge {
	font-family: var(--dm-heading-font);
	font-weight: 850;
	letter-spacing: 0.04em;
}

.dm-search-field,
.dm-header-search-form .dm-search-field {
	font-family: var(--dm-font);
	font-weight: 500;
}

@media (max-width: 640px) {
	.dm-post-list .dm-card-title {
		line-height: 1.22;
	}

	.dm-entry-content {
		font-size: var(--dm-body-size);
		line-height: 1.75;
	}
}


/* Smoke Mziki 1.4.0: normal, cleaner font weight */
body {
	font-weight: 400;
	letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
.dm-site-title,
.dm-section-title,
.dm-widget-title,
.dm-card-title,
.dm-hero-title,
.dm-single-title,
.dm-trend-text a,
.dm-menu > li > a,
.dm-mobile-menu a,
.dm-search-submit,
.dm-cat-badge {
	font-weight: var(--dm-heading-weight, 600) !important;
	letter-spacing: var(--dm-title-spacing, -0.01em) !important;
}

.dm-menu > li > a,
.dm-mobile-menu a,
.dm-post-meta,
.dm-single-meta,
.dm-trend-text time,
.dm-search-submit {
	font-weight: 600 !important;
}

.dm-entry-content {
	font-weight: 400;
	letter-spacing: 0;
}

.dm-entry-content p,
.dm-entry-content li,
.dm-entry-content td,
.dm-entry-content blockquote {
	font-weight: 400;
}

.dm-card-title,
.dm-post-list .dm-card-title,
.dm-trend-text a {
	line-height: 1.24;
}

.dm-single-title {
	line-height: 1.13;
}


/* Smoke Mziki 1.4.2: dashboard-controlled logo size */
.custom-logo-link img,
.dm-branding .custom-logo,
#masthead .custom-logo-link img {
	max-height: var(--dm-logo-desktop-height) !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
}

.dm-logo-row {
	min-height: max(120px, calc(var(--dm-logo-desktop-height) + 68px));
}

@media (max-width: 782px) {
	.custom-logo-link img,
	.dm-branding .custom-logo,
	#masthead .custom-logo-link img {
		max-height: var(--dm-logo-mobile-height) !important;
	}

	.dm-logo-row {
		min-height: max(86px, calc(var(--dm-logo-mobile-height) + 38px));
	}
}


/* Smoke Mziki 1.4.3: two cards on desktop */
@media (min-width: 783px) {
	.dm-hero-card {
		flex: 0 0 calc((100% - 28px) / 2) !important;
	}

	.dm-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}


/* Smoke Mziki 1.4.4: only Latest posts can be two cards; restore slider/related */
@media (min-width: 961px) {
	.dm-hero-card {
		flex: 0 0 calc((100% - 56px) / 3) !important;
	}

	.dm-related-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 783px) and (max-width: 960px) {
	.dm-hero-card {
		flex: 0 0 calc((100% - 32px) / 3) !important;
	}
}

@media (min-width: 641px) {
	.dm-post-list.dm-latest-desktop-2 {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	.dm-post-list.dm-latest-desktop-2 .dm-post-card {
		display: block;
		padding: 0;
		background: var(--dm-surface);
		border: 1px solid var(--dm-border);
		border-radius: 14px;
		overflow: hidden;
	}

	.dm-post-list.dm-latest-desktop-2 .dm-card-thumb {
		width: 100%;
		height: auto;
		aspect-ratio: 390 / 220;
		border-radius: 14px 14px 0 0;
	}

	.dm-post-list.dm-latest-desktop-2 .dm-card-thumb .dm-thumb-img,
	.dm-post-list.dm-latest-desktop-2 .dm-thumb-fallback {
		width: 100%;
		height: 100%;
		object-fit: cover !important;
		border-radius: 14px 14px 0 0;
	}

	.dm-post-list.dm-latest-desktop-2 .dm-card-body {
		padding: 14px 16px 16px;
	}

	.dm-post-list.dm-latest-desktop-2 .dm-card-title {
		font-size: clamp(1.12rem, 1.6vw, 1.35rem);
	}
}

@media (max-width: 640px) {
	.dm-post-list.dm-latest-mobile-1,
	.dm-post-list.dm-latest-mobile-2 {
		display: grid;
		gap: 14px;
	}

	.dm-post-list.dm-latest-mobile-1 {
		grid-template-columns: 1fr;
	}

	.dm-post-list.dm-latest-mobile-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-post-card,
	.dm-post-list.dm-latest-mobile-2 .dm-post-card {
		display: block;
		padding: 0;
		margin: 0;
		background: var(--dm-surface);
		border: 1px solid var(--dm-border);
		border-radius: 14px;
		overflow: hidden;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-thumb,
	.dm-post-list.dm-latest-mobile-2 .dm-card-thumb {
		width: 100%;
		height: auto;
		aspect-ratio: 390 / 220;
		border-radius: 14px 14px 0 0;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-thumb .dm-thumb-img,
	.dm-post-list.dm-latest-mobile-2 .dm-card-thumb .dm-thumb-img,
	.dm-post-list.dm-latest-mobile-1 .dm-thumb-fallback,
	.dm-post-list.dm-latest-mobile-2 .dm-thumb-fallback {
		width: 100%;
		height: 100%;
		object-fit: cover !important;
		border-radius: 14px 14px 0 0;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-body,
	.dm-post-list.dm-latest-mobile-2 .dm-card-body {
		padding: 12px;
	}

	.dm-post-list.dm-latest-mobile-2 .dm-card-title {
		font-size: 0.86rem;
		line-height: 1.22;
	}

	.dm-post-list.dm-latest-mobile-2 .dm-post-meta {
		font-size: 0.68rem;
	}

	.dm-post-list.dm-latest-mobile-2 .dm-cat-badge {
		font-size: 0.58rem;
		padding: 3px 5px;
	}
}


/* Smoke Mziki 1.4.5: related posts show 4 on mobile, keep 3 on desktop */
@media (min-width: 641px) {
	.dm-related-grid .dm-post-card:nth-child(n+4) {
		display: none !important;
	}
}

@media (max-width: 640px) {
	.dm-related-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	.dm-related-grid .dm-post-card:nth-child(n+4) {
		display: block !important;
	}
}


/* Smoke Mziki 1.4.6: restore previous mobile one-card Latest Posts style */
@media (max-width: 640px) {
	.dm-post-list.dm-latest-mobile-1 {
		display: block !important;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-post-card {
		display: grid !important;
		grid-template-columns: 126px minmax(0, 1fr) !important;
		gap: 13px !important;
		align-items: center;
		padding: 14px 0 !important;
		margin: 0 !important;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid var(--dm-strong-border) !important;
		border-radius: 0 !important;
		overflow: visible !important;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-post-card:last-child {
		border-bottom: 0 !important;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-thumb {
		width: 126px !important;
		height: 106px !important;
		aspect-ratio: auto !important;
		border-radius: 12px !important;
		overflow: hidden !important;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-thumb .dm-thumb-img,
	.dm-post-list.dm-latest-mobile-1 .dm-thumb-fallback {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		border-radius: 12px !important;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-body {
		padding: 0 !important;
		min-width: 0;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-cat {
		margin-bottom: 7px !important;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-title {
		font-size: 1.02rem !important;
		line-height: 1.25 !important;
		margin: 0 !important;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-post-meta {
		margin-top: 6px !important;
		font-size: 0.8rem !important;
	}
}

@media (max-width: 430px) {
	.dm-post-list.dm-latest-mobile-1 .dm-post-card {
		grid-template-columns: 118px minmax(0, 1fr) !important;
		gap: 12px !important;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-thumb {
		width: 118px !important;
		height: 96px !important;
	}

	.dm-post-list.dm-latest-mobile-1 .dm-card-title {
		font-size: 0.96rem !important;
	}
}


/* Smoke Mziki 1.4.7: unrestricted dashboard-controlled logo size */
.dm-logo-row {
	min-height: calc(var(--dm-logo-desktop-height) + 68px) !important;
}

@media (max-width: 782px) {
	.dm-logo-row {
		min-height: calc(var(--dm-logo-mobile-height) + 38px) !important;
	}
}


/* Smoke Mziki 1.4.8: force original mobile Latest Posts list style unless admin explicitly chooses 2-card grid */
@media (max-width: 640px) {
	.dm-post-list.dm-latest-mobile-list {
		display: block !important;
	}

	.dm-post-list.dm-latest-mobile-list .dm-post-card {
		display: grid !important;
		grid-template-columns: 126px minmax(0, 1fr) !important;
		gap: 13px !important;
		align-items: center !important;
		padding: 14px 0 !important;
		margin: 0 !important;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid var(--dm-strong-border) !important;
		border-radius: 0 !important;
		overflow: visible !important;
		box-shadow: none !important;
	}

	.dm-post-list.dm-latest-mobile-list .dm-post-card:last-child {
		border-bottom: 0 !important;
	}

	.dm-post-list.dm-latest-mobile-list .dm-card-thumb {
		width: 126px !important;
		height: 106px !important;
		aspect-ratio: auto !important;
		border-radius: 12px !important;
		overflow: hidden !important;
	}

	.dm-post-list.dm-latest-mobile-list .dm-card-thumb .dm-thumb-img,
	.dm-post-list.dm-latest-mobile-list .dm-thumb-fallback {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		border-radius: 12px !important;
	}

	.dm-post-list.dm-latest-mobile-list .dm-card-body {
		padding: 0 !important;
		min-width: 0 !important;
	}

	.dm-post-list.dm-latest-mobile-list .dm-card-title {
		font-size: 1.02rem !important;
		line-height: 1.25 !important;
		margin: 0 !important;
	}

	.dm-post-list.dm-latest-mobile-list .dm-post-meta {
		margin-top: 6px !important;
		font-size: 0.8rem !important;
	}
}

@media (max-width: 430px) {
	.dm-post-list.dm-latest-mobile-list .dm-post-card {
		grid-template-columns: 118px minmax(0, 1fr) !important;
	}

	.dm-post-list.dm-latest-mobile-list .dm-card-thumb {
		width: 118px !important;
		height: 96px !important;
	}
}

/* Smoke Mziki 1.4.9: requested admin controls */
@media (max-width: 782px) {
	.dm-mobile-menu-custom .dm-mobile-icon,
	.dm-mobile-menu-custom .dm-mobile-icon svg {
		color: var(--dm-mobile-menu-icon) !important;
		fill: currentColor;
	}

	.dm-mobile-menu-custom .dm-mobile-label {
		color: var(--dm-mobile-menu-text) !important;
	}

	.dm-sticky-top-enabled .dm-site-header {
		padding-top: calc(var(--dm-logo-mobile-height) + 38px);
	}

	.dm-sticky-top-enabled .dm-logo-row {
		position: fixed !important;
		top: var(--wp-admin--admin-bar--height, 0px);
		left: 0;
		right: 0;
		z-index: 10000;
		width: 100%;
		max-width: none;
		margin: 0;
		background: var(--dm-surface);
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	}
}

.dm-extra-home-section {
	margin-top: 34px;
}

.dm-extra-home-section .dm-section-header {
	margin-top: 0;
}

/* Smoke Mziki 1.5.0: Latest Posts desktop card count from admin */
@media (min-width: 783px) {
	.dm-post-list.dm-latest-desktop-2,
	.dm-post-list.dm-latest-desktop-3,
	.dm-post-list.dm-latest-desktop-4 {
		display: grid;
		gap: 18px;
	}

	.dm-post-list.dm-latest-desktop-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dm-post-list.dm-latest-desktop-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dm-post-list.dm-latest-desktop-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

	.dm-post-list.dm-latest-desktop-2 .dm-post-card,
	.dm-post-list.dm-latest-desktop-3 .dm-post-card,
	.dm-post-list.dm-latest-desktop-4 .dm-post-card {
		display: block;
		padding: 0;
		background: var(--dm-surface);
		border: 1px solid var(--dm-border);
		border-radius: 14px;
		overflow: hidden;
	}

	.dm-post-list.dm-latest-desktop-2 .dm-card-thumb,
	.dm-post-list.dm-latest-desktop-3 .dm-card-thumb,
	.dm-post-list.dm-latest-desktop-4 .dm-card-thumb {
		width: 100%;
		height: auto;
		aspect-ratio: 390 / 220;
		border-radius: 14px 14px 0 0;
	}

	.dm-post-list.dm-latest-desktop-2 .dm-card-thumb .dm-thumb-img,
	.dm-post-list.dm-latest-desktop-3 .dm-card-thumb .dm-thumb-img,
	.dm-post-list.dm-latest-desktop-4 .dm-card-thumb .dm-thumb-img,
	.dm-post-list.dm-latest-desktop-2 .dm-thumb-fallback,
	.dm-post-list.dm-latest-desktop-3 .dm-thumb-fallback,
	.dm-post-list.dm-latest-desktop-4 .dm-thumb-fallback {
		width: 100%;
		height: 100%;
		object-fit: cover !important;
		border-radius: 14px 14px 0 0;
	}

	.dm-post-list.dm-latest-desktop-2 .dm-card-body,
	.dm-post-list.dm-latest-desktop-3 .dm-card-body,
	.dm-post-list.dm-latest-desktop-4 .dm-card-body {
		padding: 14px 14px 16px;
	}

	.dm-post-list.dm-latest-desktop-3 .dm-card-title { font-size: 1.05rem !important; }
	.dm-post-list.dm-latest-desktop-4 .dm-card-title { font-size: 0.92rem !important; line-height: 1.22 !important; }
	.dm-post-list.dm-latest-desktop-4 .dm-post-meta { font-size: 0.72rem !important; }
	.dm-post-list.dm-latest-desktop-4 .dm-cat-badge { font-size: 0.62rem !important; padding: 3px 6px; }
}

/* Smoke Mziki unique features */
.mm-pulse-ticker {
	background: linear-gradient(90deg, var(--dm-accent), var(--dm-accent-2));
	color: #fff;
	overflow: hidden;
}

.mm-pulse-inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	min-height: 42px;
}

.mm-pulse-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	background: rgba(0, 0, 0, 0.22);
	border-radius: 999px;
	font-weight: 800;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.mm-pulse-track-wrap {
	overflow: hidden;
	min-width: 0;
}

.mm-pulse-track {
	display: inline-flex;
	gap: 24px;
	align-items: center;
	white-space: nowrap;
	animation: mmPulseMarquee 30s linear infinite;
}

.mm-pulse-track a {
	color: #fff;
	font-weight: 650;
}

.mm-pulse-track a::after {
	content: "•";
	margin-left: 24px;
	opacity: 0.75;
}

@keyframes mmPulseMarquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.mm-reading-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100000;
	height: 4px;
	background: transparent;
}

.mm-reading-progress span {
	display: block;
	width: 0;
	height: 100%;
	background: linear-gradient(90deg, var(--dm-accent), var(--dm-accent-2));
	transition: width 0.08s linear;
}

.mm-back-to-top {
	position: fixed;
	right: 20px;
	bottom: 88px;
	z-index: 9997;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: var(--dm-accent);
	color: #fff;
	box-shadow: 0 12px 28px rgba(0,0,0,.18);
	font-size: 1.4rem;
	font-weight: 800;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

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

@media (max-width: 640px) {
	.mm-pulse-inner {
		min-height: 38px;
		gap: 10px;
	}
	.mm-pulse-label {
		font-size: .68rem;
		padding: 5px 8px;
	}
	.mm-pulse-track {
		gap: 18px;
		animation-duration: 24s;
	}
	.mm-back-to-top {
		right: 14px;
		bottom: 72px;
	}
}

/* Smoke Mziki 1.0.1: gold palette and requested header layout */
.dm-header-main-row {
	display: grid !important;
	grid-template-columns: minmax(160px, auto) minmax(0, 1fr) 44px;
	gap: 24px;
	align-items: center;
	justify-content: stretch;
	min-height: calc(var(--dm-logo-desktop-height) + 34px) !important;
	text-align: left;
}

.dm-header-main-row .dm-branding {
	grid-column: 1;
	justify-self: start;
	max-width: 260px;
	text-align: left;
}

.dm-header-main-row .custom-logo-link img {
	margin: 0;
}

.dm-header-main-row .dm-primary-nav {
	grid-column: 2;
	display: flex;
	justify-content: center;
	align-items: center;
}

.dm-header-actions {
	grid-column: 3;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.dm-mobile-hamburger {
	display: none;
}

.dm-header-main-row .dm-menu-toggle-lines,
.dm-header-main-row .dm-menu-toggle-lines::before,
.dm-header-main-row .dm-menu-toggle-lines::after {
	width: 22px;
	height: 2px;
}

.dm-site-title a {
	background: linear-gradient(110deg, var(--dm-accent), var(--dm-accent-2));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

@media (max-width: 782px) {
	.dm-header-main-row {
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		gap: 8px;
		min-height: calc(var(--dm-logo-mobile-height) + 30px) !important;
		padding-top: 0;
		padding-bottom: 0;
		position: relative;
	}

	.dm-mobile-hamburger {
		grid-column: 1;
		display: inline-flex !important;
		justify-self: start;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		background: transparent;
		color: var(--dm-text);
		border-radius: 999px;
	}

	.dm-mobile-hamburger:hover,
	.dm-mobile-hamburger:focus {
		background: var(--dm-surface-2);
		color: var(--dm-accent);
	}

	.dm-header-main-row .dm-branding {
		grid-column: 2;
		justify-self: center;
		text-align: center;
		max-width: min(70vw, 260px);
	}

	.dm-header-main-row .custom-logo-link img {
		margin: 0 auto;
	}

	.dm-header-actions {
		grid-column: 3;
		justify-self: end;
	}

	.dm-header-actions .dm-theme-toggle {
		display: inline-flex !important;
	}

	.dm-header-main-row .dm-primary-nav {
		position: absolute;
		z-index: 10020;
		top: calc(100% - 2px);
		left: 10px;
		right: 10px;
		display: none;
		padding: 10px;
		background: var(--dm-surface);
		border: 1px solid var(--dm-border);
		border-radius: 14px;
		box-shadow: 0 16px 38px rgba(0, 0, 0, 0.14);
	}

	.dm-header-main-row .dm-primary-nav.is-open {
		display: block;
	}

	.dm-header-main-row .dm-menu {
		display: block;
	}

	.dm-header-main-row .dm-menu > li > a {
		padding: 12px 10px;
		font-size: 0.95rem;
		letter-spacing: 0.04em;
	}

	.dm-header-main-row .dm-menu > li > a::after {
		display: none;
	}

	.dm-header-main-row .dm-menu .sub-menu {
		position: static;
		visibility: visible;
		opacity: 1;
		transform: none;
		box-shadow: none;
		border: 0;
		padding: 0 0 0 12px;
	}

	.dm-mobile-nav,
	.dm-mobile-menu {
		display: none !important;
	}

	.dm-header-search-wrap {
		padding-top: 10px;
	}

	.dm-sticky-top-enabled .dm-site-header {
		padding-top: calc(var(--dm-logo-mobile-height) + 30px) !important;
	}

	.dm-sticky-top-enabled .dm-header-main-row {
		position: fixed !important;
		top: var(--wp-admin--admin-bar--height, 0px);
		left: 0;
		right: 0;
		z-index: 10000;
		width: 100%;
		max-width: none;
		margin: 0;
		background: var(--dm-surface);
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	}
}


/* Smoke Mziki 1.0.2: requested song layout fixes */
.dm-widget-title::before {
	content: "" !important;
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 8px;
	background: var(--dm-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 10-13h-7l1-7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 10-13h-7l1-7z'/%3E%3C/svg%3E") center / contain no-repeat;
	vertical-align: -0.12em;
	text-shadow: none !important;
}

.dm-post-meta time::before {
	content: "" !important;
	display: inline-block;
	width: 0.95em;
	height: 0.95em;
	margin-right: 5px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 11h5v-2h-4V6h-2v7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 11h5v-2h-4V6h-2v7z'/%3E%3C/svg%3E") center / contain no-repeat;
	vertical-align: -0.12em;
}

.dm-trend-thumb,
.dm-trend-thumb .dm-thumb-img,
.dm-trend-thumb .dm-thumb-fallback {
	border-radius: 12px !important;
}

.mm-back-to-top svg {
	width: 22px;
	height: 22px;
	display: block;
}

.dm-entry-content .wp-audio-shortcode,
.dm-entry-content .mejs-container {
	width: 100% !important;
	max-width: 100%;
	margin: 1.25rem 0;
	border-radius: 8px;
	overflow: hidden;
}

.dm-entry-content .mejs-container button,
.dm-entry-content .mejs-controls .mejs-button button,
.dm-entry-content .mejs-controls button {
	min-width: 0 !important;
	min-height: 0 !important;
	width: 20px !important;
	height: 20px !important;
	padding: 0 !important;
	margin: 10px 6px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: inherit !important;
	font-size: 0 !important;
	line-height: 1 !important;
	transform: none !important;
}

.dm-entry-content .mejs-controls .mejs-button button {
	background-color: transparent !important;
	background-image: url("/wp-includes/js/mediaelement/mejs-controls.svg") !important;
	background-repeat: no-repeat !important;
}

.dm-entry-content .mejs-play > button { background-position: 0 0 !important; }
.dm-entry-content .mejs-pause > button { background-position: -20px 0 !important; }
.dm-entry-content .mejs-replay > button { background-position: -160px 0 !important; }
.dm-entry-content .mejs-mute > button { background-position: -60px 0 !important; }
.dm-entry-content .mejs-unmute > button { background-position: -40px 0 !important; }
.dm-entry-content .mejs-fullscreen-button > button { background-position: -80px 0 !important; }


/* Smoke Mziki 1.0.3: dark-mode search/footer, single-post media layout, title case headings */
body.dm-dark .dm-header-search-wrap {
	background: var(--dm-surface) !important;
}

body.dm-dark .dm-header-search-form,
body.dm-dark .dm-search-form.dm-header-search-form {
	background: var(--dm-surface-2) !important;
	border-color: var(--dm-border) !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.32) !important;
}

body.dm-dark .dm-header-search-form .dm-search-field {
	color: var(--dm-text) !important;
}

body.dm-dark .dm-header-search-form .dm-search-field::placeholder {
	color: var(--dm-muted) !important;
}

body.dm-dark .dm-site-footer {
	background: var(--dm-surface) !important;
	color: var(--dm-text) !important;
}

body.dm-dark .dm-site-footer a,
body.dm-dark .dm-footer-menu a,
body.dm-dark .dm-footer-credit a {
	color: var(--dm-footer-credit-link) !important;
}

.dm-section-title,
.dm-widget-title,
.dm-footer-widget-title,
.dm-related-posts .dm-section-title {
	text-transform: none !important;
}

.dm-single-hero {
	display: grid;
	grid-template-columns: minmax(260px, 42%) minmax(0, 1fr);
	gap: clamp(18px, 3vw, 30px);
	align-items: center;
	margin-top: 18px;
}

.dm-single-hero.no-thumbnail {
	display: block;
}

.dm-single-hero .dm-single-thumb {
	margin: 0 !important;
	border-radius: 14px;
	overflow: hidden;
	background: var(--dm-surface-2);
}

.dm-single-hero .dm-single-thumb img {
	width: 100%;
	height: clamp(220px, 30vw, 360px);
	object-fit: cover;
	border-radius: 14px;
}

.dm-single-summary {
	min-width: 0;
}

.dm-single-summary .dm-single-cat {
	margin-bottom: 14px;
}

.dm-single-summary .dm-single-title {
	font-size: clamp(1.8rem, 3.5vw, 3rem);
}

.dm-single-summary .dm-single-meta {
	margin-top: 16px;
}

@media (max-width: 782px) {
	.dm-single-hero {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.dm-single-hero .dm-single-thumb img {
		height: auto;
		max-height: 320px;
	}
}


/* Smoke Mziki 1.0.4: heading SVG icons, WhatsApp share and compact homepage titles */
.dm-title-with-icon {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
}

.dm-title-with-icon::before {
	display: none !important;
}

.dm-heading-svg-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--dm-accent);
	line-height: 1;
}

.dm-heading-svg-icon svg {
	width: 1em;
	height: 1em;
	display: block;
}

.dm-share-whatsapp {
	background: #25d366;
}

.dm-home-latest-panel > .dm-post-list .dm-card-title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}


/* Smoke Mziki 1.0.5: compact titles for all homepage sections */
.dm-home-latest-panel .dm-extra-post-list .dm-card-title a,
.dm-extra-home-section .dm-card-title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.dm-no-menu-note {
	font-size: 13px;
	color: var(--dm-muted, #6f7378);
	padding: 8px 0;
	margin: 0;
}


/* ==========================================================================
   Smoke Mziki 1.0.0 — independent design refresh
   Header (logo | search | nav), Fresh drops card grid, round pagination
   and the dark three-column footer. Uses the dashboard CSS variables so
   all Smoke Mziki color controls keep working.
   ========================================================================== */

/* --- Header: single row on desktop, stacked on mobile ------------------ */
.dm-site-header {
	background: var(--dm-page-bg);
	border-bottom: 1px solid var(--dm-border);
}

.dm-logo-row.dm-header-main-row {
	position: relative;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	gap: 28px;
	padding-top: 22px;
	padding-bottom: 22px;
}

.dm-logo-row .dm-branding {
	order: 1;
	flex: 0 0 auto;
	max-width: 250px;
}

.dm-logo-row .custom-logo-link img {
	max-height: 64px;
	margin: 0;
}

.dm-logo-row .dm-site-title {
	font-size: clamp(1.5rem, 3vw, 1.9rem);
	font-weight: 900;
	letter-spacing: -0.03em;
}

.dm-logo-row .dm-site-description {
	display: none;
}

/* Search pill sits just after the logo on wide desktops (as per the
   Smoke Mziki reference design); the menu stays pinned to the right. */
.dm-logo-row .dm-header-search-wrap {
	order: 2;
	flex: 0 1 564px;
	min-width: 240px;
	width: auto;
	margin: 0 0 0 clamp(24px, 3.8vw, 72px);
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dm-header-search-form {
	display: flex;
	align-items: stretch;
	height: 52px;
	background: var(--dm-search-bg, #ffffff);
	border: 1px solid var(--dm-search-border, #e5e8eb);
	border-radius: 999px;
	box-shadow: none;
	overflow: visible;
}

.dm-header-search-form .dm-search-input-wrap {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	position: relative;
}

.dm-header-search-form .dm-search-input-wrap label {
	flex: 1 1 auto;
	display: flex;
	margin: 0;
}

.dm-header-search-form .dm-search-field {
	width: 100%;
	height: 100%;
	padding: 0 20px;
	border: 0;
	background: transparent;
	color: var(--dm-search-text, #333333);
	font-size: 15.5px;
	border-radius: 999px 0 0 999px;
}

.dm-header-search-form .dm-search-field::placeholder {
	color: var(--dm-search-placeholder, #6c7278);
	opacity: 1;
}

.dm-header-search-form .dm-search-field:focus {
	outline: none;
}

.dm-header-search-form .dm-search-submit {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	margin: 0;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--dm-search-border, #e5e8eb);
	border-radius: 0 999px 999px 0;
	background: var(--dm-search-button, #f8f9fa);
	color: var(--dm-search-button-text, #333333);
	cursor: pointer;
}

.dm-header-search-form .dm-search-submit .sm-search-icon {
	width: 20px;
	height: 20px;
	display: block;
}

.dm-header-search-form .dm-search-submit:hover,
.dm-header-search-form .dm-search-submit:focus {
	color: var(--dm-accent);
}

/* Primary navigation on the right. */
.dm-logo-row .dm-primary-nav {
	order: 3;
	display: flex;
	justify-content: flex-end;
	margin-left: auto;
	min-width: 0;
}

.dm-logo-row .dm-menu {
	gap: 34px;
	flex-wrap: wrap;
}

.dm-logo-row .dm-menu > li > a {
	padding: 6px 0;
	color: var(--dm-text, #333333);
	font-size: 16.5px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	background: transparent;
	border: 0;
}

.dm-logo-row .dm-menu > li > a::before,
.dm-logo-row .dm-menu > li > a::after {
	display: none;
}

.dm-logo-row .dm-menu > li > a:hover,
.dm-logo-row .dm-menu > li > a:focus,
.dm-logo-row .dm-menu > li.current-menu-item > a,
.dm-logo-row .dm-menu > li.current_page_item > a,
.dm-logo-row .dm-menu > li.current-menu-ancestor > a {
	color: var(--dm-accent);
}

.dm-logo-row .dm-menu > li.current-menu-item > a,
.dm-logo-row .dm-menu > li.current_page_item > a {
	font-weight: 600;
}

/* Header tools: skin toggle (all sizes) + hamburger (mobile only). */
.dm-logo-row .dm-header-actions {
	order: 4;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: 0;
}

.dm-logo-row .dm-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--dm-text);
	opacity: 0.72;
}

.dm-logo-row .dm-theme-toggle:hover,
.dm-logo-row .dm-theme-toggle:focus {
	opacity: 1;
	color: var(--dm-accent);
}

.dm-logo-row .dm-menu-toggle {
	display: none;
}

/* --- Fresh drops section head ------------------------------------------ */
.dm-section-header::after {
	display: none;
}

.sm-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin: 2px 0 24px;
	padding: 0;
}

.sm-section-head-text {
	min-width: 0;
}

.sm-eyebrow {
	display: block;
	margin-bottom: 6px;
	color: var(--dm-muted);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.sm-section-title {
	font-size: clamp(1.7rem, 3.4vw, 2.15rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-transform: none;
	color: var(--dm-text);
}

.sm-all-posts {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	padding-bottom: 5px;
	color: var(--dm-accent);
	font-size: 15.5px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}

.sm-all-posts svg {
	display: block;
}

.sm-all-posts:hover,
.sm-all-posts:focus {
	text-decoration: underline;
}

/* The homepage latest panel sits directly on the page background. */
.dm-home-latest-panel {
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* --- Card grid tiles ---------------------------------------------------- */
.dm-post-list {
	display: grid;
	gap: 20px;
}

.dm-post-list .dm-post-card {
	display: flex;
	flex-direction: column;
	padding: 0;
	background: var(--dm-surface);
	border: 1px solid var(--dm-border);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.dm-post-list .dm-post-card:hover {
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.dm-post-list .dm-card-thumb {
	border-radius: 0;
	aspect-ratio: 1 / 1;
}

.dm-post-list .dm-card-thumb .dm-thumb-img,
.dm-post-list .dm-thumb-fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.dm-post-list .dm-thumb-fallback {
	font-size: 2.2rem;
}

.dm-post-list .dm-card-body {
	padding: 16px 16px 20px;
}

.sm-card-meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
}

.sm-card-meta .dm-card-cat {
	margin: 0;
	min-width: 0;
}

.sm-card-meta .dm-card-cat,
.sm-card-meta .dm-card-cat a {
	display: inline-block;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--dm-accent);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
}

.sm-card-meta .dm-card-cat a:hover {
	text-decoration: underline;
}

.sm-card-date {
	flex: 0 0 auto;
	color: var(--dm-muted);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dm-post-list .dm-card-title {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.01em;
}

.dm-post-list .dm-card-title a {
	color: var(--dm-text);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.dm-post-list .dm-card-title a:hover {
	color: var(--dm-accent);
}

.dm-post-list .dm-card-title + .dm-post-meta {
	display: none;
}

@media (min-width: 783px) {
	.dm-post-list.dm-latest-desktop-1 {
		grid-template-columns: 1fr;
	}

	.dm-post-list.dm-latest-desktop-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dm-post-list.dm-latest-desktop-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dm-post-list.dm-latest-desktop-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.dm-post-list .dm-card-thumb {
		aspect-ratio: 5 / 6;
	}
}

/* Column counts per breakpoint are applied in the normalization layer at
   the end of this file, so the desktop and mobile admin settings can never
   override each other. */

/* --- Round pagination ---------------------------------------------------- */
.dm-pagination {
	margin: 36px 0 8px;
}

.dm-pagination > .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dm-pagination li {
	display: inline-flex;
	margin: 0;
}

.dm-pagination a,
.dm-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	height: 46px;
	padding: 0 6px;
	border: 0;
	border-radius: 50%;
	background: var(--dm-surface);
	color: var(--dm-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.dm-pagination a:hover,
.dm-pagination a:focus {
	color: var(--dm-accent);
}

.dm-pagination .current {
	background: var(--dm-accent);
	color: #ffffff;
	border-radius: 16px 999px 999px 16px;
}

.dm-pagination .current:hover {
	color: #ffffff;
}

.dm-pagination .prev,
.dm-pagination .next {
	min-width: 0;
	padding: 0 16px;
	border-radius: 14px;
}

/* --- Dark three-column footer -------------------------------------------- */
.sm-site-footer {
	margin-top: 64px;
	padding-top: 54px;
	background: var(--dm-footer-bg, #212529);
	color: var(--dm-footer-text, #e9ecef);
}

.sm-site-footer .dm-footer-widgets {
	padding-bottom: 34px;
	color: var(--dm-footer-text, #e9ecef);
}

.sm-site-footer .dm-footer-widgets .dm-widget-title,
.sm-site-footer .dm-footer-widgets .dm-footer-widget-title {
	color: #ffffff;
}

.sm-site-footer .dm-footer-widgets a {
	color: var(--dm-footer-text, #e9ecef);
}

.sm-footer-cols {
	display: grid;
	grid-template-columns: 1.1fr 1.2fr 1fr;
	gap: 40px;
	align-items: start;
}

.sm-footer-brand .custom-logo-link img {
	max-height: 46px;
	margin: 0;
}

.sm-footer-wordmark {
	margin: 0;
	font-size: 1.6rem;
	font-weight: 900;
	letter-spacing: -0.03em;
}

.sm-footer-wordmark a {
	background: none;
	color: #ffffff;
	text-decoration: none;
}

.sm-footer-tagline {
	margin: 16px 0 0;
	color: #adb5bd;
	font-size: 16px;
}

.sm-footer-heading {
	margin: 0 0 18px;
	color: #ffffff;
	font-size: 21px;
	font-weight: 600;
	text-align: center;
}

.sm-footer-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 26px;
}

.sm-footer-menu a {
	color: #dee2e6;
	font-size: 16px;
	text-decoration: none;
}

.sm-footer-menu a:hover,
.sm-footer-menu a:focus {
	color: #ffffff;
}

.sm-social-row {
	display: flex;
	justify-content: center;
	gap: 12px;
}

.sm-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid #495057;
	border-radius: 50%;
	color: #dee2e6;
}

.sm-social-link svg {
	width: 18px;
	height: 18px;
	display: block;
}

.sm-social-link:hover,
.sm-social-link:focus {
	background: var(--dm-accent);
	border-color: var(--dm-accent);
	color: #ffffff;
}

.sm-footer-bar {
	margin-top: 46px;
	padding-bottom: 40px;
}

.sm-footer-bar-inner {
	border: 1px solid #495057;
	padding: 16px 18px;
	text-align: center;
}

.sm-footer-bar .dm-footer-credit {
	margin: 0;
	color: #f1f3f5;
	font-size: 16px;
}

.sm-footer-bar .dm-footer-credit a {
	color: var(--dm-footer-credit-link, #14856f);
}

/* --- Mobile header + footer ---------------------------------------------- */
@media (max-width: 782px) {
	.dm-logo-row.dm-header-main-row {
		flex-wrap: wrap;
		gap: 14px;
		padding-top: 16px;
		padding-bottom: 18px;
	}

	.dm-logo-row .dm-branding {
		flex: 1 1 auto;
	}

	.dm-logo-row .custom-logo-link img {
		max-height: 64px;
	}

	.dm-logo-row .dm-header-actions {
		order: 2;
		margin-left: auto;
	}

	.dm-logo-row .dm-menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 74px;
		height: 52px;
		border: 1px solid var(--dm-strong-border);
		border-radius: 12px;
		background: transparent;
		cursor: pointer;
	}

	.dm-logo-row .dm-menu-toggle-lines,
	.dm-logo-row .dm-menu-toggle-lines::before,
	.dm-logo-row .dm-menu-toggle-lines::after {
		display: block;
		width: 30px;
		height: 2.5px;
		border-radius: 2px;
		background: var(--dm-text);
	}

	.dm-logo-row .dm-menu-toggle-lines {
		position: relative;
	}

	.dm-logo-row .dm-menu-toggle-lines::before,
	.dm-logo-row .dm-menu-toggle-lines::after {
		content: "";
		position: absolute;
		left: 0;
	}

	.dm-logo-row .dm-menu-toggle-lines::before {
		top: -8px;
	}

	.dm-logo-row .dm-menu-toggle-lines::after {
		top: 8px;
	}

	.dm-logo-row .dm-header-search-wrap {
		order: 3;
		flex: 1 1 100%;
		max-width: none;
		min-width: 0;
		margin: 14px 0 0;
	}

	.dm-logo-row .dm-primary-nav {
		order: 4;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 80;
		display: none;
		margin: 0;
		padding: 8px 14px 14px;
		background: var(--dm-surface);
		border-bottom: 1px solid var(--dm-border);
		box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
	}

	.dm-logo-row .dm-primary-nav.is-open {
		display: block;
	}

	.dm-logo-row .dm-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.dm-logo-row .dm-menu > li > a {
		display: block;
		padding: 12px 4px;
		border-bottom: 1px solid var(--dm-border);
		font-size: 16px;
	}

	.dm-logo-row .dm-menu .sub-menu {
		position: static;
		display: block;
		margin: 0;
		padding: 0 0 6px 14px;
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	.sm-footer-cols {
		grid-template-columns: 1fr;
		gap: 34px;
		text-align: center;
	}

	.sm-footer-brand .custom-logo-link img {
		margin: 0 auto;
	}

	.sm-section-head {
		align-items: flex-end;
		margin-bottom: 18px;
	}
}

@media (max-width: 430px) {
	.dm-logo-row .dm-menu-toggle {
		width: 64px;
		height: 48px;
	}

	.dm-post-list.dm-latest-mobile-2 .dm-card-body {
		padding: 13px 13px 16px;
	}

	.dm-post-list.dm-latest-mobile-2 .dm-card-title {
		font-size: 15.5px;
	}

	.sm-card-meta .dm-card-cat,
	.sm-card-meta .dm-card-cat a,
	.sm-card-date {
		font-size: 11.5px;
	}
}

/* --- Dark skin touch-ups -------------------------------------------------- */
body.dm-dark .dm-pagination a,
body.dm-dark .dm-pagination span {
	background: var(--dm-surface-2);
	box-shadow: none;
}

body.dm-dark .dm-header-search-form .dm-search-submit {
	border-left-color: var(--dm-border);
}

body.dm-dark .sm-footer-bar-inner {
	border-color: #495057;
}


/* ==========================================================================
   Smoke Mziki 1.0.0 — tile & header normalization layer
   Ensures the new card-grid tiles and compact header win over every
   legacy layout variant (desktop 1-4 columns, mobile list/cards, sticky
   top bar) regardless of the dashboard layout setting.
   ========================================================================== */

.dm-logo-row.dm-header-main-row {
	min-height: 0 !important;
}

.dm-sticky-top-enabled .dm-site-header {
	position: sticky;
	top: 0;
	z-index: 10000;
	padding-top: 0 !important;
}

.dm-sticky-top-enabled .dm-logo-row.dm-header-main-row {
	position: relative !important;
	top: auto !important;
	box-shadow: none;
}

.dm-post-list.dm-latest-desktop-1 .dm-post-card,
.dm-post-list.dm-latest-desktop-2 .dm-post-card,
.dm-post-list.dm-latest-desktop-3 .dm-post-card,
.dm-post-list.dm-latest-desktop-4 .dm-post-card,
.dm-post-list.dm-latest-mobile-1 .dm-post-card,
.dm-post-list.dm-latest-mobile-2 .dm-post-card,
.dm-post-list.dm-latest-mobile-list .dm-post-card,
.dm-post-list.dm-latest-mobile-cards .dm-post-card {
	display: flex !important;
	flex-direction: column !important;
	grid-template-columns: none !important;
	gap: 0 !important;
	align-items: stretch !important;
	padding: 0 !important;
	margin: 0 !important;
	background: var(--dm-surface) !important;
	border: 1px solid var(--dm-border) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.dm-post-list.dm-latest-mobile-1,
.dm-post-list.dm-latest-mobile-list {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 14px !important;
}

.dm-post-list.dm-latest-desktop-1 .dm-card-thumb,
.dm-post-list.dm-latest-desktop-2 .dm-card-thumb,
.dm-post-list.dm-latest-desktop-3 .dm-card-thumb,
.dm-post-list.dm-latest-desktop-4 .dm-card-thumb,
.dm-post-list.dm-latest-mobile-1 .dm-card-thumb,
.dm-post-list.dm-latest-mobile-2 .dm-card-thumb,
.dm-post-list.dm-latest-mobile-list .dm-card-thumb,
.dm-post-list.dm-latest-mobile-cards .dm-card-thumb {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 0 !important;
	overflow: hidden !important;
}

.dm-post-list.dm-latest-desktop-1 .dm-card-thumb .dm-thumb-img,
.dm-post-list.dm-latest-desktop-2 .dm-card-thumb .dm-thumb-img,
.dm-post-list.dm-latest-desktop-3 .dm-card-thumb .dm-thumb-img,
.dm-post-list.dm-latest-desktop-4 .dm-card-thumb .dm-thumb-img,
.dm-post-list.dm-latest-mobile-1 .dm-card-thumb .dm-thumb-img,
.dm-post-list.dm-latest-mobile-2 .dm-card-thumb .dm-thumb-img,
.dm-post-list.dm-latest-mobile-list .dm-card-thumb .dm-thumb-img,
.dm-post-list.dm-latest-mobile-cards .dm-card-thumb .dm-thumb-img,
.dm-post-list .dm-thumb-fallback {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
}

.dm-post-list.dm-latest-desktop-1 .dm-card-body,
.dm-post-list.dm-latest-desktop-2 .dm-card-body,
.dm-post-list.dm-latest-desktop-3 .dm-card-body,
.dm-post-list.dm-latest-desktop-4 .dm-card-body,
.dm-post-list.dm-latest-mobile-1 .dm-card-body,
.dm-post-list.dm-latest-mobile-2 .dm-card-body,
.dm-post-list.dm-latest-mobile-list .dm-card-body,
.dm-post-list.dm-latest-mobile-cards .dm-card-body {
	padding: 16px 16px 20px !important;
}

.dm-post-list .dm-card-title,
.dm-post-list.dm-latest-desktop-3 .dm-card-title,
.dm-post-list.dm-latest-desktop-4 .dm-card-title,
.dm-post-list.dm-latest-mobile-1 .dm-card-title,
.dm-post-list.dm-latest-mobile-2 .dm-card-title {
	margin: 0 !important;
	font-size: 17px !important;
	line-height: 1.4 !important;
}

.dm-post-list .sm-card-meta,
.dm-post-list.dm-latest-mobile-1 .sm-card-meta .dm-card-cat,
.dm-post-list.dm-latest-mobile-2 .sm-card-meta .dm-card-cat {
	margin-bottom: 10px !important;
}

.dm-post-list .dm-cat-badge,
.dm-post-list.dm-latest-desktop-2 .dm-cat-badge,
.dm-post-list.dm-latest-desktop-3 .dm-cat-badge,
.dm-post-list.dm-latest-desktop-4 .dm-cat-badge,
.dm-post-list.dm-latest-mobile-1 .dm-cat-badge,
.dm-post-list.dm-latest-mobile-2 .dm-cat-badge {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--dm-accent) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

@media (min-width: 783px) {
	.dm-post-list.dm-latest-desktop-1 .dm-card-thumb,
	.dm-post-list.dm-latest-desktop-2 .dm-card-thumb,
	.dm-post-list.dm-latest-desktop-3 .dm-card-thumb,
	.dm-post-list.dm-latest-desktop-4 .dm-card-thumb {
		aspect-ratio: 5 / 6 !important;
	}
}

@media (max-width: 430px) {
	.dm-post-list.dm-latest-mobile-2 .dm-card-body,
	.dm-post-list.dm-latest-mobile-cards .dm-card-body {
		padding: 13px 13px 16px !important;
	}

	.dm-post-list.dm-latest-mobile-2 .dm-card-title,
	.dm-post-list.dm-latest-mobile-cards .dm-card-title {
		font-size: 15.5px !important;
	}

	.dm-post-list.dm-latest-mobile-2 .dm-cat-badge,
	.dm-post-list.dm-latest-mobile-cards .dm-cat-badge,
	.dm-post-list.dm-latest-mobile-2 .sm-card-date {
		font-size: 11.5px !important;
	}
}

/* Header search pill: neutralize legacy min-sizes so the compact pill wins. */
.dm-header-search-form {
	width: 100%;
	min-height: 0;
	padding: 0;
}

.dm-header-search-form .dm-search-field {
	min-height: 0;
	min-width: 0;
}

.dm-header-search-form .dm-search-submit {
	min-width: 0;
	min-height: 0;
	padding: 0 19px;
}


/* ==========================================================================
   Smoke Mziki 1.0.1 — admin-controlled responsive card columns
   Desktop cards per row: Appearance -> Smoke Mziki Settings ->
   "Latest posts desktop cards" (1-4, default 4).
   Mobile cards per row: "Latest posts mobile cards" (1-2, default 2).
   Scoped per breakpoint so the two settings never fight each other.
   ========================================================================== */
@media (min-width: 783px) {
	.dm-post-list {
		display: grid !important;
		gap: 20px !important;
	}

	.dm-post-list.dm-latest-desktop-1 {
		grid-template-columns: 1fr !important;
	}

	.dm-post-list.dm-latest-desktop-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.dm-post-list.dm-latest-desktop-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.dm-post-list.dm-latest-desktop-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 782px) {
	.dm-post-list {
		display: grid !important;
		gap: 14px !important;
	}

	.dm-post-list.dm-latest-mobile-1 {
		grid-template-columns: 1fr !important;
	}

	.dm-post-list.dm-latest-mobile-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}


/* ==========================================================================
   Smoke Mziki 1.0.2 — header search bar placement per breakpoint
   >=1200px : pill sits just after the logo, menu pinned right (reference).
   783-1199 : pill drops to its own full-width row under logo + menu so it
              never gets squeezed on laptops.
   <=782px  : logo + hamburger row, then full-width pill row (reference).
   ========================================================================== */
@media (min-width: 1200px) {
	.dm-logo-row .dm-header-search-wrap {
		order: 2;
		flex: 0 1 564px;
		min-width: 240px;
		margin: 0 0 0 clamp(24px, 3.8vw, 72px);
	}
}

@media (min-width: 783px) and (max-width: 1199px) {
	.dm-logo-row.dm-header-main-row {
		flex-wrap: wrap;
		row-gap: 12px;
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.dm-logo-row .dm-primary-nav {
		order: 2;
		margin-left: auto;
	}

	.dm-logo-row .dm-header-actions {
		order: 3;
	}

	.dm-logo-row .dm-header-search-wrap {
		order: 4;
		flex: 1 1 100%;
		min-width: 0;
		margin: 2px 0 0;
	}
}

@media (max-width: 782px) {
	.dm-logo-row .dm-header-search-wrap {
		margin: 14px 0 0;
	}

	.dm-header-search-form {
		height: 52px;
	}

	.dm-header-search-form .dm-search-field {
		font-size: 16px;
	}
}


/* ==========================================================================
   Smoke Mziki 1.0.3 — self-contained header (sm-* classes)
   The header now uses its own class names so legacy layout rules can never
   interfere. Placement per reference screenshots:
   >=1024px : logo | search pill (left of menu) | menu + tools on the right
   783-1023 : logo + menu row, full-width pill row underneath
   <=782px  : logo + hamburger row, full-width pill row underneath
   ========================================================================== */

.dm-site-header {
	background: var(--dm-page-bg);
	border-bottom: 1px solid var(--dm-border);
}

body.dm-sticky-top-enabled .dm-site-header {
	position: sticky;
	top: 0;
	z-index: 10000;
}

.sm-header-row {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
	width: 100%;
	max-width: 100%;
	min-height: 0 !important;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: clamp(14px, 5vw, 110px);
	padding-right: clamp(14px, 5vw, 110px);
}

.sm-header-row .dm-branding {
	order: 1;
	flex: 0 0 auto;
	max-width: 240px;
}

.sm-header-row .custom-logo-link img {
	max-height: 62px;
	width: auto;
	margin: 0;
}

.sm-header-row .dm-site-title {
	margin: 0;
	font-size: clamp(1.5rem, 3vw, 1.9rem);
	font-weight: 900;
	letter-spacing: -0.03em;
}

.sm-header-row .dm-site-description {
	display: none;
}

/* --- search pill ---------------------------------------------------------- */
.sm-search-wrap {
	order: 2;
	flex: 1 1 340px;
	max-width: 564px;
	min-width: 200px;
	margin: 0 0 0 clamp(16px, 3vw, 72px);
	position: relative;
}

.sm-search-wrap .dm-header-search-form {
	display: flex;
	align-items: stretch;
	width: 100%;
	height: 52px;
	min-height: 0;
	padding: 0;
	background: var(--dm-search-bg, #ffffff);
	border: 1px solid var(--dm-search-border, #e5e8eb);
	border-radius: 999px;
	box-shadow: none;
}

.sm-search-wrap .dm-search-input-wrap {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	position: relative;
}

.sm-search-wrap .dm-search-input-wrap label {
	flex: 1 1 auto;
	display: flex;
	margin: 0;
}

.sm-search-wrap .dm-search-field {
	width: 100%;
	height: 100%;
	min-height: 0;
	padding: 0 20px;
	border: 0;
	background: transparent;
	color: var(--dm-search-text, #333333);
	font-size: 16px;
	border-radius: 999px 0 0 999px;
}

.sm-search-wrap .dm-search-field::placeholder {
	color: var(--dm-search-placeholder, #6c7278);
	opacity: 1;
}

.sm-search-wrap .dm-search-submit {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 0;
	padding: 0 19px;
	border: 0;
	border-left: 1px solid var(--dm-search-border, #e5e8eb);
	border-radius: 0 999px 999px 0;
	background: var(--dm-search-button, #f8f9fa);
	color: var(--dm-search-button-text, #333333);
	cursor: pointer;
}

.sm-search-wrap .dm-search-submit .sm-search-icon {
	width: 20px;
	height: 20px;
	display: block;
}

.sm-search-wrap .dm-search-submit:hover,
.sm-search-wrap .dm-search-submit:focus {
	color: var(--dm-accent);
}

/* --- menu + tools ---------------------------------------------------------- */
.sm-header-row .dm-primary-nav {
	order: 3;
	display: flex;
	justify-content: flex-end;
	margin-left: auto;
	min-width: 0;
}

.sm-header-row .dm-menu {
	gap: clamp(18px, 2.4vw, 34px);
	flex-wrap: wrap;
}

.sm-header-row .dm-menu > li > a {
	padding: 6px 0;
	color: var(--dm-text, #333333);
	font-size: 16px;
	font-weight: 500;
	background: transparent;
	border: 0;
}

.sm-header-row .dm-menu > li > a::before,
.sm-header-row .dm-menu > li > a::after {
	display: none;
}

.sm-header-row .dm-menu > li > a:hover,
.sm-header-row .dm-menu > li > a:focus,
.sm-header-row .dm-menu > li.current-menu-item > a,
.sm-header-row .dm-menu > li.current_page_item > a,
.sm-header-row .dm-menu > li.current-menu-ancestor > a {
	color: var(--dm-accent);
}

.sm-header-row .dm-menu > li.current-menu-item > a,
.sm-header-row .dm-menu > li.current_page_item > a {
	font-weight: 600;
}

.sm-header-actions {
	order: 4;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
}

.sm-header-actions .dm-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--dm-text);
	opacity: 0.72;
}

.sm-header-actions .dm-theme-toggle:hover,
.sm-header-actions .dm-theme-toggle:focus {
	opacity: 1;
	color: var(--dm-accent);
}

.sm-hamburger {
	display: none;
}

/* --- tablets / small laptops: pill gets its own row under logo + menu ----- */
@media (min-width: 783px) and (max-width: 1023px) {
	.sm-search-wrap {
		order: 4;
		flex: 1 1 100%;
		max-width: none;
		min-width: 0;
		margin: 4px 0 0;
	}

	.sm-header-row .dm-primary-nav {
		order: 2;
	}

	.sm-header-actions {
		order: 3;
	}
}

/* --- mobile: logo + hamburger row, then full-width pill row --------------- */
@media (max-width: 782px) {
	.sm-header-row {
		gap: 14px;
		padding-top: 14px;
		padding-bottom: 16px;
		padding-left: 12px;
		padding-right: 12px;
	}

	.sm-header-row .dm-branding {
		flex: 1 1 auto;
	}

	.sm-header-actions {
		order: 2;
		margin-left: auto;
	}

	.sm-hamburger {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 74px;
		height: 52px;
		padding: 0;
		border: 1px solid var(--dm-strong-border);
		border-radius: 12px;
		background: transparent;
		color: var(--dm-text);
		cursor: pointer;
	}

	.sm-hamburger .dm-menu-toggle-lines,
	.sm-hamburger .dm-menu-toggle-lines::before,
	.sm-hamburger .dm-menu-toggle-lines::after {
		display: block;
		width: 30px;
		height: 2.5px;
		border-radius: 2px;
		background: var(--dm-text);
	}

	.sm-hamburger .dm-menu-toggle-lines {
		position: relative;
	}

	.sm-hamburger .dm-menu-toggle-lines::before,
	.sm-hamburger .dm-menu-toggle-lines::after {
		content: "";
		position: absolute;
		left: 0;
	}

	.sm-hamburger .dm-menu-toggle-lines::before {
		top: -8px;
	}

	.sm-hamburger .dm-menu-toggle-lines::after {
		top: 8px;
	}

	.sm-search-wrap {
		order: 3;
		flex: 1 1 100%;
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 14px 0 0;
	}

	.sm-search-wrap .dm-header-search-form {
		width: 100%;
		height: 52px;
	}

	.sm-header-row .dm-primary-nav {
		order: 5;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 80;
		display: none;
		margin: 0;
		padding: 8px 14px 14px;
		background: var(--dm-surface);
		border-bottom: 1px solid var(--dm-border);
		box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
	}

	.sm-header-row .dm-primary-nav.is-open {
		display: block;
	}

	.sm-header-row .dm-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.sm-header-row .dm-menu > li > a {
		display: block;
		padding: 12px 4px;
		border-bottom: 1px solid var(--dm-border);
		font-size: 16px;
	}

	.sm-header-row .dm-menu .sub-menu {
		position: static;
		display: block;
		margin: 0;
		padding: 0 0 6px 14px;
		background: transparent;
		border: 0;
		box-shadow: none;
	}
}

@media (max-width: 430px) {
	.sm-hamburger {
		width: 64px;
		height: 48px;
	}
}


/* ==========================================================================
   Smoke Mziki 1.0.4 — desktop header always on ONE row.
   The search pill flexes (shrinks/grows) to whatever space the menu items
   leave, so it always sits LEFT of the menu — never above it — no matter
   how many menu items exist. If the menu is extremely long it wraps inside
   its own box instead of pushing the pill to another row.
   ========================================================================== */
@media (min-width: 1024px) {
	.sm-header-row {
		flex-wrap: nowrap;
	}

	.sm-header-row .dm-branding {
		flex: 0 1 auto;
		min-width: 0;
	}

	.sm-header-row .custom-logo-link img {
		max-width: 100%;
	}

	.sm-search-wrap {
		flex: 1 1 320px;
		min-width: 140px;
		max-width: 564px;
	}

	.sm-header-row .dm-primary-nav {
		flex: 0 1 auto;
		min-width: 0;
	}

	.sm-header-row .dm-menu {
		flex-wrap: wrap;
		justify-content: flex-end;
		row-gap: 2px;
	}

	.sm-header-actions {
		flex: 0 0 auto;
	}
}

/* Compact menu metrics on narrower desktops so the pill keeps real space. */
@media (min-width: 1024px) and (max-width: 1279px) {
	.sm-header-row {
		gap: 18px;
	}

	.sm-header-row .dm-menu {
		gap: 16px;
	}

	.sm-header-row .dm-menu > li > a {
		font-size: 15px;
	}

	.sm-search-wrap {
		margin-left: 18px;
	}
}


/* ==========================================================================
   Smoke Mziki 1.0.5 — "More" overflow dropdown + sentence-case menu labels
   ========================================================================== */

/* Labels: lowercase everywhere, first letter always capitalised. */
.sm-header-row .dm-menu li a {
	display: inline-block;
	text-transform: lowercase;
}

.sm-header-row .dm-menu li a::first-letter {
	text-transform: uppercase;
}

@media (min-width: 783px) {
	/* Overflow items hide behind "More" on desktop... */
	.sm-header-row .dm-menu > li.sm-menu-extra {
		display: none;
	}

	.sm-header-row .dm-menu > li.sm-menu-more {
		display: list-item;
		position: relative;
	}

	.sm-menu-more > .sub-menu {
		left: auto;
		right: 0;
		min-width: 190px;
	}

	.sm-header-row .sm-menu-more.is-open > .sub-menu {
		display: block;
	}
}

@media (max-width: 782px) {
	/* ...but the mobile drawer lists every item, so "More" is not needed. */
	.sm-header-row .dm-menu > li.sm-menu-extra {
		display: block;
	}

	.sm-header-row .dm-menu > li.sm-menu-more {
		display: none;
	}

	.sm-header-row .dm-menu > li > a {
		display: block;
	}
}


/* ==========================================================================
   Smoke Mziki 1.0.6 — audio player skin & finishing touches
   ========================================================================== */

/* --- WordPress [audio] / MediaElement player, themed like the cards ------ */
.wp-audio-shortcode,
.dm-entry-content audio,
.dm-entry-content .wp-audio-shortcode {
	width: 100%;
	margin: 18px 0;
}

audio {
	width: 100%;
	height: 46px;
	border-radius: 999px;
}

.mejs__container,
.mejs-container {
	overflow: hidden;
	background: var(--dm-surface) !important;
	border-radius: 14px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	font-family: inherit;
}

.mejs__controls,
.mejs-controls {
	background: var(--dm-surface-2) !important;
	padding: 0 10px !important;
}

.mejs__time,
.mejs-time {
	color: var(--dm-text) !important;
	text-shadow: none !important;
}

.mejs__time-total,
.mejs-time-total {
	background: var(--dm-border) !important;
	border-radius: 999px !important;
}

.mejs__time-loaded,
.mejs-time-loaded {
	background: var(--dm-accent) !important;
	opacity: 0.25;
	border-radius: 999px !important;
}

.mejs__time-current,
.mejs-time-current,
.mejs__time-handle,
.mejs-time-handle,
.mejs__volume-current,
.mejs-volume-current {
	background: var(--dm-accent) !important;
	border-radius: 999px !important;
}

.mejs__button button,
.mejs-button button {
	filter: saturate(0.9);
}

.mejs__overlay,
.mejs-overlay {
	border-radius: 14px !important;
}

/* --- sidebar widgets: tighter cards, cleaner titles ----------------------- */
.dm-sidebar .dm-widget {
	padding: 22px 22px 20px;
	border-radius: 14px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.dm-sidebar .dm-widget-title {
	margin-bottom: 16px;
	padding-bottom: 0;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -0.01em;
	text-transform: none;
}

.dm-sidebar .dm-widget-title::after {
	display: none;
}

/* --- small quality-of-life polish ---------------------------------------- */
::selection {
	background: var(--dm-accent);
	color: #ffffff;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
	outline: 2px solid var(--dm-accent);
	outline-offset: 2px;
}

.dm-entry-content blockquote {
	margin: 22px 0;
	padding: 16px 20px;
	background: var(--dm-surface-2);
	border-left: 4px solid var(--dm-accent);
	border-radius: 0 12px 12px 0;
	font-style: italic;
}

.dm-entry-content hr {
	border: 0;
	border-top: 1px solid var(--dm-border);
	margin: 28px 0;
}

.dm-entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0;
}

.dm-entry-content th,
.dm-entry-content td {
	padding: 10px 12px;
	border: 1px solid var(--dm-border);
	text-align: left;
}

.mm-back-to-top {
	background: var(--dm-accent) !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.mm-back-to-top:hover,
.mm-back-to-top:focus {
	background: var(--dm-accent-2) !important;
}


/* ==========================================================================
   Smoke Mziki 1.0.7 — pixel-matched header search bar (reference screenshot)
   Pill 574x56 on desktop: #dee2e6 border, 18px text, 28px left padding,
   plain #f8f9fa icon cap (66px, 24px icon, no divider), soft header shadow.
   Live search results now span the full pill width.
   ========================================================================== */
.dm-site-header {
	border-bottom: 0;
	box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.sm-header-row {
	padding-top: 22px;
	padding-bottom: 22px;
}

.sm-header-row .custom-logo-link img {
	max-height: 74px;
}

.sm-search-wrap {
	flex: 1 1 420px;
	max-width: 574px;
	margin: 0 0 0 clamp(20px, 3.9vw, 74px);
}

.sm-search-wrap .dm-header-search-form {
	height: 54px;
	border-color: #dee2e6;
}

.sm-search-wrap .dm-search-input-wrap {
	position: static;
}

.sm-search-wrap .dm-search-field {
	padding: 0 28px;
	font-size: 18px;
	font-weight: 400;
}

.sm-search-wrap .dm-search-field::placeholder {
	color: #6b7280;
	font-weight: 400;
	opacity: 1;
}

.sm-search-wrap .dm-search-submit {
	width: 66px;
	padding: 0;
	border-left: 0;
	border-radius: 0 999px 999px 0;
	background: #f8f9fa;
	color: #575b5e;
}

.sm-search-wrap .dm-search-submit .sm-search-icon {
	width: 24px;
	height: 24px;
}

/* Live search dropdown: anchor to the whole pill, not just the input. */
.sm-search-wrap .dm-live-search-results {
	top: calc(100% + 8px);
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	max-width: none !important;
	border-radius: 14px;
}

@media (min-width: 1024px) and (max-width: 1279px) {
	.sm-search-wrap {
		margin-left: 20px;
	}
}

@media (max-width: 782px) {
	.sm-search-wrap .dm-header-search-form {
		height: 54px;
	}

	.sm-search-wrap .dm-search-field {
		padding: 0 24px;
		font-size: 18px;
	}

	.sm-search-wrap .dm-search-submit {
		width: 60px;
	}

	.sm-search-wrap .dm-search-submit .sm-search-icon {
		width: 22px;
		height: 22px;
	}
}


/* ==========================================================================
   Smoke Mziki 1.0.8 — single-line desktop menu + light/dark contrast pass
   ========================================================================== */

/* Top-level items (including "More") always sit on ONE horizontal line. */
@media (min-width: 783px) {
	.sm-header-row .dm-menu {
		flex-wrap: nowrap;
		row-gap: 0;
	}

	.sm-header-row .dm-menu > li {
		flex: 0 0 auto;
	}

	.sm-header-row .dm-menu > li > a {
		white-space: nowrap;
		max-width: 190px;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

@media (min-width: 783px) and (max-width: 1279px) {
	.sm-header-row {
		gap: 16px;
	}

	.sm-header-row .dm-branding {
		max-width: 180px;
	}

	.sm-header-row .dm-menu {
		gap: 14px;
	}

	.sm-header-row .dm-menu > li > a {
		font-size: 15px;
		max-width: 140px;
	}

	.sm-search-wrap {
		min-width: 120px;
		margin-left: 16px;
	}
}

@media (min-width: 783px) and (max-width: 1023px) {
	.sm-header-row .dm-menu {
		gap: 12px;
	}

	.sm-header-row .dm-menu > li > a {
		font-size: 14.5px;
		max-width: 120px;
	}
}

/* --- contrast: small grey text gets WCAG-safe tones in both skins --------- */
.sm-card-date,
.sm-eyebrow {
	color: #6b7280;
}

body.dm-dark .sm-card-date,
body.dm-dark .sm-eyebrow {
	color: #94a3b8;
}

/* --- contrast: teal as TEXT brightens on dark navy surfaces --------------- */
body.dm-dark .sm-header-row .dm-menu > li > a:hover,
body.dm-dark .sm-header-row .dm-menu > li > a:focus,
body.dm-dark .sm-header-row .dm-menu > li.current-menu-item > a,
body.dm-dark .sm-header-row .dm-menu > li.current_page_item > a,
body.dm-dark .sm-header-row .dm-menu > li.current-menu-ancestor > a,
body.dm-dark .sm-header-row .dm-menu .sub-menu a:hover,
body.dm-dark .sm-header-row .dm-menu .sub-menu a:focus,
body.dm-dark .sm-all-posts,
body.dm-dark .sm-card-meta .dm-cat-badge,
body.dm-dark .sm-card-meta .dm-card-cat a,
body.dm-dark .dm-post-list .dm-card-title a:hover,
body.dm-dark .sm-footer-bar .dm-footer-credit a {
	color: #2fc39f;
}

/* --- dark skin: search pill cap / border follow the dark surface ---------- */
body.dm-dark .sm-search-wrap .dm-header-search-form {
	border-color: var(--dm-border);
}

body.dm-dark .sm-search-wrap .dm-search-field {
	color: var(--dm-text);
}

body.dm-dark .sm-search-wrap .dm-search-submit {
	background: #1d2740;
	color: #cbd5e1;
}

body.dm-dark .sm-search-wrap .dm-search-submit:hover,
body.dm-dark .sm-search-wrap .dm-search-submit:focus {
	color: #2fc39f;
}

/* --- dark skin: hamburger + dropdown panel stay legible ------------------- */
body.dm-dark .sm-hamburger {
	border-color: var(--dm-strong-border);
	color: var(--dm-text);
}

body.dm-dark .sm-hamburger .dm-menu-toggle-lines,
body.dm-dark .sm-hamburger .dm-menu-toggle-lines::before,
body.dm-dark .sm-hamburger .dm-menu-toggle-lines::after {
	background: var(--dm-text);
}

body.dm-dark .sm-header-row .dm-primary-nav {
	background: var(--dm-surface);
	border-bottom-color: var(--dm-border);
}

body.dm-dark .sm-header-row .dm-menu > li > a {
	border-bottom-color: var(--dm-border);
}


/* ==========================================================================
   Smoke Mziki 1.0.9 — AdSense Auto ads layout guard
   Keeps Google-injected <ins> units centred and inside the container so
   they never cause horizontal overflow or layout shifts.
   ========================================================================== */
ins.adsbygoogle {
	display: block;
	max-width: 100%;
	margin: 18px auto;
}

.dm-container ins.adsbygoogle {
	margin-left: 0;
	margin-right: 0;
}


/* ==========================================================================
   Smoke Mziki 1.1.0 — desktop header space budget.
   Logo, search pill and menu each take only the width they need and share
   the leftover proportionally, so no zone can push into or overlap another.
   The dashboard logo-height setting keeps working but is capped to the
   74px header design height (ID-scoped !important beats the legacy
   #masthead rule that used to override it).
   ========================================================================== */
@media (min-width: 783px) {
	.sm-header-row .dm-branding {
		flex: 0 1 auto;
		min-width: 0;
		max-width: min(240px, 21%);
	}

	#masthead .sm-header-row .custom-logo-link img {
		max-height: min(var(--dm-logo-desktop-height, 64px), 74px) !important;
		width: auto !important;
		height: auto !important;
		max-width: 100%;
		object-fit: contain;
	}
}

@media (min-width: 1024px) {
	.sm-header-row {
		gap: clamp(14px, 1.8vw, 28px);
	}

	/* Pill: grows into leftover space, shrinks first, never below 160px. */
	.sm-search-wrap {
		flex: 1 1 220px;
		min-width: 160px;
		max-width: 574px;
		margin-left: clamp(14px, 2.2vw, 44px);
	}

	/* Menu: capped budget, shrinks with ellipsis instead of squeezing the pill. */
	.sm-header-row .dm-primary-nav {
		flex: 0 1 auto;
		min-width: 0;
		max-width: 48%;
	}

	.sm-header-row .dm-menu > li {
		flex: 0 1 auto;
		min-width: 0;
	}

	.sm-header-row .dm-menu > li > a {
		max-width: 160px;
	}
}

@media (min-width: 1024px) and (max-width: 1279px) {
	.sm-header-row .dm-branding {
		max-width: min(180px, 17%);
	}

	#masthead .sm-header-row .custom-logo-link img {
		max-height: min(var(--dm-logo-desktop-height, 56px), 60px) !important;
	}

	.sm-search-wrap {
		min-width: 140px;
	}

	.sm-header-row .dm-menu > li > a {
		max-width: 130px;
	}
}


/* ==========================================================================
   Smoke Mziki 1.2.0 — floating WhatsApp chat button
   Brand-green circle bottom-right, soft pulse ring, hover tooltip on
   desktop, stacks with the back-to-top button (body.sm-whatsapp-on).
   ========================================================================== */
.sm-whatsapp-float {
	position: fixed;
	right: 20px;
	bottom: 24px;
	z-index: 9997;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: #25d366;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 10px 26px rgba(37, 211, 102, 0.38), 0 4px 10px rgba(0, 0, 0, 0.18);
	transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.sm-whatsapp-float:hover,
.sm-whatsapp-float:focus-visible {
	background: #1ebe5b;
	color: #ffffff;
	transform: translateY(-3px) scale(1.04);
	box-shadow: 0 14px 32px rgba(37, 211, 102, 0.45), 0 6px 14px rgba(0, 0, 0, 0.2);
}

.sm-whatsapp-float .sm-whatsapp-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.sm-whatsapp-float svg {
	width: 30px;
	height: 30px;
	display: block;
	fill: currentColor;
}

/* Soft attention pulse. */
.sm-whatsapp-float::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 999px;
	border: 2px solid rgba(37, 211, 102, 0.55);
	animation: sm-whatsapp-pulse 2.4s ease-out infinite;
	pointer-events: none;
}

@keyframes sm-whatsapp-pulse {
	0% { transform: scale(1); opacity: 0.8; }
	70% { transform: scale(1.45); opacity: 0; }
	100% { transform: scale(1.45); opacity: 0; }
}

/* Hover tooltip (desktop only). */
.sm-whatsapp-tooltip {
	position: absolute;
	right: calc(100% + 12px);
	top: 50%;
	transform: translateY(-50%) translateX(6px);
	white-space: nowrap;
	background: #111827;
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	padding: 9px 13px;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.sm-whatsapp-float:hover .sm-whatsapp-tooltip,
.sm-whatsapp-float:focus-visible .sm-whatsapp-tooltip {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
}

/* Keep the back-to-top button stacked above the WhatsApp button. */
body.sm-whatsapp-on .mm-back-to-top {
	bottom: 96px;
}

@media (max-width: 782px) {
	.sm-whatsapp-float {
		right: 14px;
		bottom: 16px;
		width: 52px;
		height: 52px;
	}

	.sm-whatsapp-float svg {
		width: 27px;
		height: 27px;
	}

	.sm-whatsapp-tooltip {
		display: none;
	}

	body.sm-whatsapp-on .mm-back-to-top {
		bottom: 84px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sm-whatsapp-float,
	.sm-whatsapp-tooltip {
		transition: none;
	}

	.sm-whatsapp-float::before {
		animation: none;
		opacity: 0;
	}
}
