/* ============================================================
   Smart Home & More Modern Theme – Main Stylesheet
   ============================================================ */

/* ── Design Tokens ─────────────────────────────────────────── */
:root {
	/* Colors */
	--color-bg:           #f8fafc;
	--color-bg-card:      #ffffff;
	--color-bg-header:    #0f172a;
	--color-bg-footer:    #0f172a;
	--color-bg-code:      #1e293b;
	--color-bg-subtle:    #f1f5f9;
	--color-bg-hero:      #0f172a;

	--color-text:         #1e293b;
	--color-text-muted:   #64748b;
	--color-text-light:   #94a3b8;
	--color-text-invert:  #f8fafc;
	--color-text-invert-muted: #94a3b8;

	--color-accent:       #2563eb;
	--color-accent-hover: #1d4ed8;
	--color-accent-light: #eff6ff;
	--color-accent-subtle: #dbeafe;

	--color-border:       #e2e8f0;
	--color-border-dark:  #cbd5e1;

	--color-badge-ha:     #18b4a1;
	--color-badge-proxmox: #e17055;
	--color-badge-evcc:   #6c5ce7;
	--color-badge-default: #64748b;

	/* Typography */
	--font-sans:   -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--font-mono:   'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;

	--text-xs:     0.75rem;
	--text-sm:     0.875rem;
	--text-base:   1rem;
	--text-lg:     1.125rem;
	--text-xl:     1.25rem;
	--text-2xl:    1.5rem;
	--text-3xl:    1.875rem;
	--text-4xl:    2.25rem;
	--text-5xl:    3rem;

	--weight-regular: 400;
	--weight-medium:  500;
	--weight-semibold: 600;
	--weight-bold:    700;

	--leading-tight:  1.25;
	--leading-snug:   1.375;
	--leading-normal: 1.5;
	--leading-relaxed: 1.625;
	--leading-loose:  1.75;

	/* Spacing */
	--space-1:  0.25rem;
	--space-2:  0.5rem;
	--space-3:  0.75rem;
	--space-4:  1rem;
	--space-5:  1.25rem;
	--space-6:  1.5rem;
	--space-8:  2rem;
	--space-10: 2.5rem;
	--space-12: 3rem;
	--space-16: 4rem;
	--space-20: 5rem;
	--space-24: 6rem;

	/* Layout */
	--container-sm:  640px;
	--container-md:  768px;
	--container-lg:  1024px;
	--container-xl:  1200px;
	--container-content: 780px;
	--sidebar-width: 300px;

	/* Borders */
	--radius-sm:  4px;
	--radius-md:  8px;
	--radius-lg:  12px;
	--radius-xl:  16px;
	--radius-full: 9999px;

	/* Shadows */
	--shadow-sm:  0 1px 3px rgba(0,0,0,.08);
	--shadow-md:  0 4px 12px rgba(0,0,0,.10);
	--shadow-lg:  0 8px 24px rgba(0,0,0,.12);
	--shadow-xl:  0 16px 48px rgba(0,0,0,.16);

	/* Transitions */
	--transition-fast: 150ms ease;
	--transition-base: 200ms ease;
	--transition-slow: 300ms ease;

	/* Header */
	--header-height: 64px;
}

/* ── Reset ──────────────────────────────────────────────────── */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

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

body {
	font-family: var(--font-sans);
	font-size: var(--text-base);
	font-weight: var(--weight-regular);
	line-height: var(--leading-relaxed);
	color: var(--color-text);
	background-color: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

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

a {
	color: var(--color-accent);
	text-decoration: none;
	transition: color var(--transition-fast);
}

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

ul, ol {
	list-style: none;
}

button {
	cursor: pointer;
	border: none;
	background: none;
	font: inherit;
}

input, textarea, select {
	font: inherit;
}

/* ── Skip Link ──────────────────────────────────────────────── */
.skip-link {
	position: absolute;
	top: -100%;
	left: var(--space-4);
	z-index: 9999;
	padding: var(--space-3) var(--space-6);
	background: var(--color-accent);
	color: #fff;
	font-weight: var(--weight-semibold);
	border-radius: var(--radius-md);
	transition: top var(--transition-fast);
}

.skip-link:focus {
	top: var(--space-4);
	color: #fff;
}

/* ── Container ──────────────────────────────────────────────── */
.container {
	width: 100%;
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-6);
}

.container--content {
	max-width: calc(var(--container-content) + var(--sidebar-width) + var(--space-12));
}

/* ── Layout: Site ───────────────────────────────────────────── */
#page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

#content {
	flex: 1;
	padding-block: var(--space-10) var(--space-16);
}

.content-area--no-sidebar #content {
	padding-block: 0;
}

/* ── Layout: Grid with Sidebar ──────────────────────────────── */
.with-sidebar {
	display: grid;
	grid-template-columns: 1fr var(--sidebar-width);
	gap: var(--space-10);
	align-items: start;
}

/* ── Site Header ─────────────────────────────────────────────── */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--color-bg-header);
	border-bottom: 1px solid rgba(255,255,255,.07);
	height: var(--header-height);
	display: flex;
	align-items: center;
	box-shadow: 0 1px 24px rgba(0,0,0,.25);
}

.site-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, #2563eb 0%, #7c3aed 40%, #db2777 70%, #2563eb 100%);
	background-size: 200% 100%;
	animation: header-gradient 6s linear infinite;
	opacity: 0.7;
}

@keyframes header-gradient {
	0%   { background-position: 0% 0%; }
	100% { background-position: 200% 0%; }
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-6);
	height: 100%;
}

/* Logo */
.site-branding {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.site-title-link {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	text-decoration: none;
}

.site-title-link:hover {
	text-decoration: none;
}

.site-title-link:hover .site-title-text {
	color: #fff;
}

.custom-logo-link {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.custom-logo {
	max-height: 44px;
	width: auto;
	display: block;
}

.site-title-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: linear-gradient(135deg, #2563eb, #7c3aed);
	border-radius: var(--radius-md);
	flex-shrink: 0;
}

.site-title-icon svg {
	width: 18px;
	height: 18px;
	color: #fff;
}

.site-title-text {
	font-size: var(--text-lg);
	font-weight: var(--weight-bold);
	color: var(--color-text-invert);
	letter-spacing: -0.025em;
	line-height: 1;
	transition: color var(--transition-fast);
}

.site-title-text span {
	color: var(--color-accent);
	background: linear-gradient(90deg, #60a5fa, #a78bfa);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* Primary Navigation */
.primary-nav {
	display: flex;
	align-items: center;
	flex: 1;
	overflow: hidden;
}

.primary-nav ul {
	display: flex;
	align-items: center;
	gap: var(--space-1);
	list-style: none;
	flex-wrap: nowrap;
}

.primary-nav a {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-3);
	color: rgba(255,255,255,.65);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	border-radius: var(--radius-md);
	transition: color var(--transition-fast), background var(--transition-fast);
	white-space: nowrap;
	position: relative;
	text-decoration: none;
}

.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-ancestor > a {
	color: #fff;
	background: rgba(255,255,255,.09);
}

.primary-nav .current-menu-item > a::after,
.primary-nav .current-menu-ancestor > a::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	transform: translateX(-50%);
	width: 20px;
	height: 2px;
	background: var(--color-accent);
	border-radius: 2px;
}

/* Discord link → styled pill */
.primary-nav a[href*="discord.com"] {
	color: #9fa8f5;
	background: rgba(88,101,242,.15);
	border: 1px solid rgba(88,101,242,.25);
}

.primary-nav a[href*="discord.com"]:hover {
	color: #fff;
	background: rgba(88,101,242,.3);
	border-color: rgba(88,101,242,.5);
}

/* Utility links (Impressum, Datenschutz) → small & muted */
.primary-nav a[href*="impressum"],
.primary-nav a[href*="datenschutz"] {
	font-size: var(--text-xs);
	color: rgba(255,255,255,.35);
	padding: var(--space-1) var(--space-2);
}

.primary-nav a[href*="impressum"]:hover,
.primary-nav a[href*="datenschutz"]:hover {
	color: rgba(255,255,255,.65);
	background: transparent;
}

/* Dropdown */
.primary-nav li {
	position: relative;
}

.primary-nav .sub-menu {
	position: absolute;
	top: calc(100% + var(--space-2));
	left: 0;
	min-width: 200px;
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity var(--transition-base), transform var(--transition-base), visibility var(--transition-base);
	flex-direction: column;
	gap: 0;
	z-index: 10;
}

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

.primary-nav .sub-menu a {
	color: var(--color-text);
	border-radius: 0;
	padding: var(--space-3) var(--space-4);
	font-size: var(--text-sm);
}

.primary-nav .sub-menu a:hover {
	background: var(--color-bg-subtle);
	color: var(--color-accent);
}

.primary-nav .sub-menu li:first-child a {
	border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.primary-nav .sub-menu li:last-child a {
	border-radius: 0 0 var(--radius-md) var(--radius-md);
}

/* Header Actions */
.header-actions {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	flex-shrink: 0;
}

/* YouTube Button */
.header-yt-btn {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-4);
	background: #ff0000;
	color: #fff;
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	border-radius: var(--radius-full);
	text-decoration: none;
	transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
	white-space: nowrap;
}

.header-yt-btn:hover {
	background: #cc0000;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(255,0,0,.35);
}

.header-yt-btn span {
	display: none;
}

/* Search Toggle */
.search-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--radius-md);
	color: rgba(255,255,255,.6);
	transition: color var(--transition-fast), background var(--transition-fast);
}

.search-toggle:hover,
.search-toggle[aria-expanded="true"] {
	color: #fff;
	background: rgba(255,255,255,.08);
}

.search-toggle svg {
	width: 18px;
	height: 18px;
}

/* Header Search Panel */
.header-search {
	position: absolute;
	top: var(--header-height);
	left: 0;
	right: 0;
	background: #0a0f1e;
	border-bottom: 1px solid rgba(255,255,255,.08);
	padding: var(--space-4) var(--space-6);
	display: none;
	z-index: 99;
}

.header-search.is-active {
	display: block;
}

.header-search form {
	display: flex;
	align-items: center;
	max-width: 600px;
	margin-inline: auto;
	gap: var(--space-3);
}

.header-search input[type="search"] {
	flex: 1;
	padding: var(--space-3) var(--space-4);
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.16);
	border-radius: var(--radius-md);
	color: var(--color-text-invert);
	font-size: var(--text-base);
	outline: none;
}

.header-search input[type="search"]::placeholder {
	color: rgba(255,255,255,.4);
}

.header-search input[type="search"]:focus {
	border-color: var(--color-accent);
	background: rgba(37,99,235,.12);
}

.header-search button[type="submit"] {
	padding: var(--space-3) var(--space-5);
	background: var(--color-accent);
	color: #fff;
	border-radius: var(--radius-md);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	transition: background var(--transition-fast);
}

.header-search button[type="submit"]:hover {
	background: var(--color-accent-hover);
}

/* Mobile Menu Toggle */
.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--radius-md);
	color: rgba(255,255,255,.6);
	transition: color var(--transition-fast), background var(--transition-fast);
}

.menu-toggle:hover {
	color: #fff;
	background: rgba(255,255,255,.08);
}

.menu-toggle svg {
	width: 20px;
	height: 20px;
}

/* Mobile Navigation */
.mobile-nav {
	display: none;
	position: fixed;
	top: var(--header-height);
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--color-bg-header);
	overflow-y: auto;
	z-index: 99;
	padding: var(--space-4) var(--space-6) var(--space-8);
}

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

.mobile-nav ul {
	display: flex;
	flex-direction: column;
}

.mobile-nav a {
	display: block;
	padding: var(--space-3) 0;
	color: var(--color-text-invert-muted);
	font-size: var(--text-lg);
	font-weight: var(--weight-medium);
	border-bottom: 1px solid rgba(255,255,255,.06);
	transition: color var(--transition-fast);
}

.mobile-nav a:hover,
.mobile-nav .current-menu-item > a {
	color: var(--color-text-invert);
}

.mobile-nav .sub-menu a {
	padding-left: var(--space-4);
	font-size: var(--text-base);
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero {
	background: var(--color-bg-hero);
	padding-block: var(--space-10) var(--space-12);
	position: relative;
	overflow: hidden;
}

/* Subtle scanline texture */
.hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(
		0deg,
		transparent,
		transparent 3px,
		rgba(0,0,0,.06) 3px,
		rgba(0,0,0,.06) 4px
	);
	pointer-events: none;
	z-index: 0;
}

/* Ambient radial glow – top-left corner */
.hero::after {
	content: '';
	position: absolute;
	top: -80px;
	left: -80px;
	width: 500px;
	height: 500px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(37,99,235,.12) 0%, transparent 65%);
	pointer-events: none;
	z-index: 0;
	animation: shm-hero-glow 10s ease-in-out infinite;
}

@keyframes shm-hero-glow {
	0%, 100% { opacity: .6; transform: scale(1); }
	50%       { opacity: 1;  transform: scale(1.18); }
}

.hero__grid {
	position: relative;
	z-index: 1;
}

.hero__grid {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: var(--space-4);
	align-items: start;
}

/* Hero Main */
.hero__main {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-lg);
}

.hero__main-link {
	display: block;
	text-decoration: none;
}

.hero__main-image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.hero__main-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-slow);
}

.hero__main-link:hover .hero__main-image img {
	transform: scale(1.03);
}

.hero__main-placeholder {
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero__main-placeholder svg {
	width: 64px;
	height: 64px;
	color: rgba(255,255,255,.12);
}

.hero__main-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: var(--space-8) var(--space-6) var(--space-6);
	background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.4) 60%, transparent 100%);
}

.hero__main .post-category {
	margin-bottom: var(--space-2);
}

.hero__main-title {
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	color: #fff;
	line-height: var(--leading-snug);
	letter-spacing: -0.02em;
}

.hero__main-title a {
	color: inherit;
	text-decoration: none;
}

.hero__main-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hero__main-meta {
	margin-top: var(--space-2);
	font-size: var(--text-sm);
	color: rgba(255,255,255,.7);
}

/* Hero Sidebar */
.hero__sidebar {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.hero__side-item {
	display: flex;
	gap: var(--space-3);
	background: rgba(255,255,255,.04);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: background var(--transition-fast);
}

.hero__side-item:hover {
	background: rgba(255,255,255,.08);
}

.hero__side-image {
	flex-shrink: 0;
	width: 100px;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.hero__side-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero__side-image {
	display: block;
}

.hero__side-image .shm-cat-photo,
.hero__side-image a .shm-cat-photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero__side-placeholder {
	width: 100px;
	aspect-ratio: 16 / 9;
	background: rgba(255,255,255,.06);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.hero__side-placeholder svg {
	width: 24px;
	height: 24px;
	color: rgba(255,255,255,.15);
}

.hero__side-content {
	padding: var(--space-3);
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	flex: 1;
}

.hero__side-title {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--color-text-invert);
	line-height: var(--leading-snug);
}

.hero__side-title a {
	color: inherit;
	text-decoration: none;
}

.hero__side-title a:hover {
	color: var(--color-accent);
}

.hero__side-meta {
	font-size: var(--text-xs);
	color: var(--color-text-invert-muted);
}

/* ============================================================
   SECTION HEADERS
   ============================================================ */
.section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--space-8);
}

.section-title {
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	color: var(--color-text);
	letter-spacing: -0.02em;
	position: relative;
	padding-left: var(--space-4);
}

.section-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 3px;
	background: var(--color-accent);
	border-radius: 2px;
}

.section-link {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	color: var(--color-accent);
	display: flex;
	align-items: center;
	gap: var(--space-1);
}

.section-link:hover {
	color: var(--color-accent-hover);
}

.section-link svg {
	width: 14px;
	height: 14px;
}

/* ============================================================
   HOMEPAGE SECTIONS
   ============================================================ */
.home-section {
	padding-block: var(--space-12);
}

.home-section--alt {
	background: var(--color-bg-subtle);
}

/* ============================================================
   THEMENWELTEN – dark tech grid
   ============================================================ */
.home-section--themenwelten {
	background: #080d1a;
	padding-block: var(--space-12);
	position: relative;
	overflow: hidden;
}

.section-tech-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(37,99,235,.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37,99,235,.055) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
}

.home-section--themenwelten .section-header {
	position: relative;
	z-index: 1;
}

.section-title--light {
	color: rgba(255,255,255,.95);
}

.section-title--light::before {
	background: var(--color-accent);
}

/* ── CATEGORY WORLDS GRID ───────────────────────────────── */
.category-worlds {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1px;
	background: rgba(255,255,255,.055);
	border: 1px solid rgba(255,255,255,.07);
	border-radius: var(--radius-lg);
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.category-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: var(--space-6) var(--space-5);
	background: #090e1c;
	border: none;
	border-radius: 0;
	text-decoration: none;
	transition: background var(--transition-base);
	position: relative;
	overflow: hidden;
	gap: var(--space-2);
	min-height: 158px;
}

/* Animated accent bar across top */
.category-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--cat-color, var(--color-accent));
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .3s ease;
}

/* Glow bloom behind icon on hover */
.category-card::after {
	content: '';
	position: absolute;
	top: -20px; left: -20px;
	width: 120px; height: 120px;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--cat-color, #2563eb) 20%, transparent) 0%, transparent 70%);
	opacity: 0;
	transition: opacity .35s ease;
	pointer-events: none;
}

.category-card:hover {
	background: rgba(255,255,255,.04);
	text-decoration: none;
	transform: none;
	box-shadow: none;
	border-color: transparent;
}

.category-card:hover::before {
	transform: scaleX(1);
}

.category-card:hover::after {
	opacity: 1;
}

.category-card__icon {
	width: 44px;
	height: 44px;
	border-radius: var(--radius-md);
	background: rgba(255,255,255,.06);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: var(--space-1);
	flex-shrink: 0;
	transition: background .3s ease, box-shadow .3s ease;
	position: relative;
	z-index: 1;
}

.category-card:hover .category-card__icon {
	background: color-mix(in srgb, var(--cat-color, #2563eb) 18%, transparent);
	box-shadow: 0 0 22px color-mix(in srgb, var(--cat-color, #2563eb) 38%, transparent);
}

.category-card__icon svg {
	width: 22px;
	height: 22px;
	color: var(--cat-color, var(--color-accent));
	transition: filter .3s ease;
}

.category-card:hover .category-card__icon svg {
	filter: drop-shadow(0 0 5px var(--cat-color));
}

.category-card__name {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: rgba(255,255,255,.88);
	line-height: var(--leading-snug);
	position: relative;
	z-index: 1;
}

.category-card__count {
	font-size: var(--text-xs);
	color: rgba(255,255,255,.32);
	font-variant-numeric: tabular-nums;
	letter-spacing: .02em;
	position: relative;
	z-index: 1;
}

.category-card__arrow {
	position: absolute;
	bottom: var(--space-4);
	right: var(--space-4);
	color: var(--cat-color, var(--color-accent));
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity .25s ease, transform .25s ease;
	display: flex;
	align-items: center;
	z-index: 1;
}

.category-card:hover .category-card__arrow {
	opacity: 1;
	transform: translateX(0);
}

/* ============================================================
   POST CARDS
   ============================================================ */
.posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-6);
}

.post-card {
	display: flex;
	flex-direction: column;
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
	position: relative;
}

.post-card:hover {
	border-color: var(--color-border-dark);
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
}

.post-card__image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-bg-subtle);
}

.post-card__image a {
	display: block;
	width: 100%;
	height: 100%;
}

.post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-slow);
}

.post-card:hover .post-card__image img {
	transform: scale(1.05);
}

.post-card__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--color-bg-subtle) 0%, var(--color-border) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}

.post-card__placeholder svg {
	width: 40px;
	height: 40px;
	color: var(--color-border-dark);
}

/* Category stock photos and generated SVG cards */
.post-card__image .shm-cat-photo,
.post-card__image a .shm-cat-photo,
.post-card__image .shm-card-svg,
.post-card__image a .shm-card-svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-slow);
}

.post-card:hover .post-card__image .shm-cat-photo,
.post-card:hover .post-card__image .shm-card-svg {
	transform: scale(1.05);
}

.hero__main-image .shm-cat-photo,
.hero__main-image .shm-card-svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: var(--space-5);
	gap: var(--space-3);
}

.post-card__meta {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.post-card__title {
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-snug);
	color: var(--color-text);
	letter-spacing: -0.01em;
}

.post-card__title a {
	color: inherit;
	text-decoration: none;
}

.post-card__title a:hover {
	color: var(--color-accent);
}

.post-card__excerpt {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	line-height: var(--leading-relaxed);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.post-card__footer {
	margin-top: auto;
	padding-top: var(--space-3);
	border-top: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.post-card__date {
	font-size: var(--text-xs);
	color: var(--color-text-light);
}

.post-card__read-more {
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	color: var(--color-accent);
}

.post-card__read-more:hover {
	color: var(--color-accent-hover);
}

/* ============================================================
   POST CATEGORY BADGE
   ============================================================ */
.post-category {
	display: inline-flex;
	align-items: center;
	padding: 2px var(--space-2);
	background: var(--color-accent-light);
	color: var(--color-accent);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	border-radius: var(--radius-full);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none;
}

.post-category:hover {
	background: var(--color-accent-subtle);
	color: var(--color-accent-hover);
}

/* ============================================================
   DARK HOMEPAGE SECTIONS
   ============================================================ */
.home-section--dark {
	background: #0b111f;
	position: relative;
	overflow: hidden;
}

.home-section--dark::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255,255,255,.022) 1px, transparent 1px);
	background-size: 32px 32px;
	pointer-events: none;
}

.home-section--dark .container,
.home-section--thematic .container {
	position: relative;
	z-index: 1;
}

/* Dark section headers */
.home-section--dark .section-title {
	color: rgba(255,255,255,.95);
}
.home-section--dark .section-title::before {
	background: var(--color-accent);
}
.home-section--dark .section-link {
	color: rgba(255,255,255,.4);
}
.home-section--dark .section-link:hover {
	color: rgba(255,255,255,.85);
}

/* Dark post cards */
.home-section--dark .post-card {
	background: #0d1527;
	border-color: rgba(255,255,255,.06);
}
.home-section--dark .post-card:hover {
	border-color: rgba(37,99,235,.35);
	box-shadow: 0 8px 32px rgba(0,0,0,.5), 0 0 0 1px rgba(37,99,235,.15);
	transform: translateY(-3px);
}
.home-section--dark .post-card__title {
	color: rgba(255,255,255,.92);
}
.home-section--dark .post-card__title a {
	color: inherit;
}
.home-section--dark .post-card__title a:hover {
	color: var(--color-accent);
}
.home-section--dark .post-card__excerpt {
	color: rgba(255,255,255,.38);
}
.home-section--dark .post-card__footer {
	border-top-color: rgba(255,255,255,.06);
}
.home-section--dark .post-card time,
.home-section--dark .post-date {
	color: rgba(255,255,255,.28);
}
.home-section--dark .post-category {
	background: rgba(37,99,235,.18);
	color: rgba(150,190,255,.85);
}
.home-section--dark .post-category:hover {
	background: rgba(37,99,235,.3);
	color: #fff;
}

/* ============================================================
   THEMATIC SECTIONS (Category Featured)
   ============================================================ */
.home-section--thematic {
	background: #060c18;
	position: relative;
	overflow: hidden;
}

.home-section--thematic::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
	background-size: 64px 64px;
	pointer-events: none;
}

.thematic-section {
	padding-block: var(--space-10);
	position: relative;
	z-index: 1;
}

.thematic-section + .thematic-section {
	border-top: 1px solid rgba(255,255,255,.04);
	padding-top: var(--space-10);
}

.thematic-section .section-title {
	color: rgba(255,255,255,.95);
}

/* Glowing left bar using category accent color */
.thematic-section .section-title::before {
	background: var(--section-accent, var(--color-accent));
	box-shadow: 0 0 10px color-mix(in srgb, var(--section-accent, #2563eb) 60%, transparent);
	width: 4px;
}

.thematic-section .section-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-1) var(--space-4);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--radius-full);
	color: rgba(255,255,255,.4);
	font-size: var(--text-xs);
	letter-spacing: .04em;
	text-transform: uppercase;
	transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.thematic-section .section-link:hover {
	border-color: color-mix(in srgb, var(--section-accent, #2563eb) 50%, transparent);
	color: rgba(255,255,255,.85);
	background: rgba(255,255,255,.04);
}
.thematic-section .section-link svg {
	display: none;
}

.thematic-posts {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: var(--space-5);
}

.thematic-posts--featured {
	grid-template-columns: 2fr 1fr;
}

.thematic-posts--featured .post-card:first-child {
	grid-row: span 1;
}

/* Dark cards inside thematic */
.home-section--thematic .post-card {
	background: #0b1220;
	border-color: rgba(255,255,255,.06);
}
.home-section--thematic .post-card:hover {
	border-color: color-mix(in srgb, var(--section-accent, #2563eb) 40%, transparent);
	box-shadow: 0 8px 32px rgba(0,0,0,.5);
	transform: translateY(-3px);
}
.home-section--thematic .post-card__title {
	color: rgba(255,255,255,.92);
}
.home-section--thematic .post-card__title a { color: inherit; }
.home-section--thematic .post-card__title a:hover {
	color: var(--section-accent, var(--color-accent));
}
.home-section--thematic .post-card__excerpt { color: rgba(255,255,255,.36); }
.home-section--thematic .post-card__footer { border-top-color: rgba(255,255,255,.05); }
.home-section--thematic .post-card time,
.home-section--thematic .post-date { color: rgba(255,255,255,.25); }
.home-section--thematic .post-category {
	background: color-mix(in srgb, var(--section-accent, #2563eb) 18%, transparent);
	color: color-mix(in srgb, var(--section-accent, #2563eb) 80%, #fff);
}
.home-section--thematic .post-category:hover {
	background: color-mix(in srgb, var(--section-accent, #2563eb) 30%, transparent);
	color: #fff;
}
.home-section--thematic .post-card__read-more {
	color: var(--section-accent, var(--color-accent));
}

/* ============================================================
   GRID REVEAL (post card stagger animation)
   ============================================================ */
.posts-grid.grid-animate .post-card,
.thematic-posts.grid-animate .post-card {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .5s ease, transform .5s ease;
}
.posts-grid.grid-animate.grid-revealed .post-card,
.thematic-posts.grid-animate.grid-revealed .post-card {
	opacity: 1;
	transform: none;
}
.posts-grid.grid-animate.grid-revealed .post-card:nth-child(1) { transition-delay: .00s; }
.posts-grid.grid-animate.grid-revealed .post-card:nth-child(2) { transition-delay: .07s; }
.posts-grid.grid-animate.grid-revealed .post-card:nth-child(3) { transition-delay: .14s; }
.posts-grid.grid-animate.grid-revealed .post-card:nth-child(4) { transition-delay: .21s; }
.posts-grid.grid-animate.grid-revealed .post-card:nth-child(5) { transition-delay: .28s; }
.posts-grid.grid-animate.grid-revealed .post-card:nth-child(6) { transition-delay: .35s; }
.thematic-posts.grid-animate.grid-revealed .post-card:nth-child(1) { transition-delay: .00s; }
.thematic-posts.grid-animate.grid-revealed .post-card:nth-child(2) { transition-delay: .08s; }
.thematic-posts.grid-animate.grid-revealed .post-card:nth-child(3) { transition-delay: .16s; }

@media (prefers-reduced-motion: reduce) {
	.posts-grid.grid-animate .post-card,
	.thematic-posts.grid-animate .post-card {
		opacity: 1; transform: none; transition: none;
	}
}

/* ============================================================
   YOUTUBE SECTION (dramatic dark)
   ============================================================ */
.youtube-section {
	background: linear-gradient(160deg, #0d0b1a 0%, #180808 55%, #0d0b1a 100%);
	padding-block: var(--space-20);
	position: relative;
	overflow: hidden;
}

.youtube-section::before {
	content: '';
	position: absolute;
	top: -120px; right: -100px;
	width: 600px; height: 600px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,0,0,.1) 0%, transparent 60%);
	pointer-events: none;
	animation: shm-yt-glow-move 12s ease-in-out infinite;
}

.youtube-section::after {
	content: '';
	position: absolute;
	bottom: -80px; left: -60px;
	width: 400px; height: 400px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(80,0,140,.08) 0%, transparent 65%);
	pointer-events: none;
}

@keyframes shm-yt-glow-move {
	0%, 100% { transform: translate(0,0) scale(1); opacity: .7; }
	50%       { transform: translate(-30px,20px) scale(1.15); opacity: 1; }
}

/* Hero CTA */
.yt-hero {
	text-align: center;
	position: relative;
	z-index: 1;
}

.yt-hero__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px; height: 80px;
	border-radius: 22px;
	background: rgba(255,0,0,.12);
	color: #ff2222;
	margin-bottom: var(--space-6);
	animation: shm-yt-icon-pulse 4s ease-in-out infinite;
}

@keyframes shm-yt-icon-pulse {
	0%, 100% { box-shadow: 0 0 30px rgba(255,0,0,.2); }
	50%       { box-shadow: 0 0 50px rgba(255,0,0,.38); }
}

.yt-hero__title {
	font-size: var(--text-4xl);
	font-weight: var(--weight-bold);
	color: rgba(255,255,255,.95);
	letter-spacing: -0.03em;
	line-height: var(--leading-tight);
}

.yt-hero__sub {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	color: #ff4444;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: var(--space-6);
	margin-top: var(--space-1);
}

.yt-hero__desc {
	color: rgba(255,255,255,.42);
	font-size: var(--text-lg);
	max-width: 560px;
	margin-inline: auto;
	line-height: var(--leading-relaxed);
	margin-bottom: var(--space-8);
}

.yt-hero__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-4);
	flex-wrap: wrap;
}

.yt-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-4) var(--space-8);
	border-radius: var(--radius-full);
	font-weight: var(--weight-bold);
	font-size: var(--text-base);
	text-decoration: none;
	transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
	white-space: nowrap;
}

.yt-btn--subscribe {
	background: #ff0000;
	color: #fff;
	box-shadow: 0 4px 24px rgba(255,0,0,.3);
	animation: shm-yt-pulse 3s ease-in-out infinite;
}

.yt-btn--subscribe:hover {
	background: #cc0000;
	transform: translateY(-2px) scale(1.03);
	box-shadow: 0 8px 36px rgba(255,0,0,.45);
	animation-play-state: paused;
}

.yt-hero__subscribe-widget {
	margin-top: var(--space-4);
}

/* Topic tags */
.yt-tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-2);
	margin-top: var(--space-10);
	position: relative;
	z-index: 1;
}

.yt-tag {
	padding: var(--space-1) var(--space-3);
	border: 1px solid rgba(255,255,255,.09);
	border-radius: var(--radius-full);
	font-size: var(--text-xs);
	color: rgba(255,255,255,.35);
	letter-spacing: .04em;
	white-space: nowrap;
	transition: border-color .2s ease, color .2s ease;
}

.yt-tag:hover {
	border-color: rgba(255,0,0,.3);
	color: rgba(255,255,255,.6);
}

.youtube-latest {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-4);
	margin-top: var(--space-8);
}

.youtube-video {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.06);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: background var(--transition-fast);
}

.youtube-video:hover {
	background: rgba(255,255,255,.08);
}

.youtube-video__thumb {
	aspect-ratio: 16/9;
	overflow: hidden;
	position: relative;
}

.youtube-video__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.youtube-video__play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.3);
	opacity: 0;
	transition: opacity var(--transition-fast);
}

.youtube-video:hover .youtube-video__play {
	opacity: 1;
}

.youtube-video__play svg {
	width: 48px;
	height: 48px;
	color: #fff;
}

.youtube-video__content {
	padding: var(--space-4);
}

.youtube-video__title {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--color-text-invert);
	line-height: var(--leading-snug);
}

.youtube-video__title a {
	color: inherit;
	text-decoration: none;
}

.youtube-video__title a:hover {
	color: var(--color-accent);
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
	background: var(--color-bg-footer);
	color: var(--color-text-invert-muted);
	padding-top: var(--space-16);
	padding-bottom: var(--space-8);
}

.footer-widgets {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-10);
	padding-bottom: var(--space-12);
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.footer-widget-area .widgettitle,
.footer-widget-area .widget-title {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--color-text-invert);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: var(--space-4);
}

.footer-widget-area .widget {
	color: var(--color-text-invert-muted);
	font-size: var(--text-sm);
	line-height: var(--leading-relaxed);
}

.footer-widget-area .widget a {
	color: var(--color-text-invert-muted);
}

.footer-widget-area .widget a:hover {
	color: var(--color-text-invert);
}

.footer-widget-area ul li {
	padding-block: var(--space-1);
	border-bottom: 1px solid rgba(255,255,255,.04);
}

.footer-widget-area ul li:last-child {
	border-bottom: none;
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: var(--space-8);
	gap: var(--space-4);
	flex-wrap: wrap;
}

.footer-branding {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.footer-site-title {
	font-size: var(--text-base);
	font-weight: var(--weight-bold);
	color: var(--color-text-invert);
}

.footer-site-title span {
	color: var(--color-accent);
}

.footer-copyright {
	font-size: var(--text-sm);
	color: var(--color-text-invert-muted);
}

.footer-nav {
	display: flex;
	gap: var(--space-5);
}

.footer-nav a {
	font-size: var(--text-sm);
	color: var(--color-text-invert-muted);
}

.footer-nav a:hover {
	color: var(--color-text-invert);
}

/* ============================================================
   SINGLE POST
   ============================================================ */
.single-post-header {
	background: var(--color-bg-hero);
	padding-block: var(--space-12);
}

.single-post-meta {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	margin-bottom: var(--space-5);
	flex-wrap: wrap;
}

.post-date {
	font-size: var(--text-sm);
	color: var(--color-text-invert-muted);
}

.post-readtime {
	font-size: var(--text-sm);
	color: var(--color-text-invert-muted);
}

.single-post-title {
	font-size: clamp(var(--text-2xl), 4vw, var(--text-4xl));
	font-weight: var(--weight-bold);
	color: var(--color-text-invert);
	line-height: var(--leading-tight);
	letter-spacing: -0.03em;
	max-width: 800px;
}

.single-post-excerpt {
	margin-top: var(--space-4);
	font-size: var(--text-lg);
	color: var(--color-text-invert-muted);
	line-height: var(--leading-relaxed);
	max-width: 700px;
}

.single-featured-image {
	margin-block: var(--space-8);
}

.single-featured-image img {
	width: 100%;
	max-height: 500px;
	object-fit: cover;
	border-radius: var(--radius-lg);
}

/* Entry Content */
.entry-content {
	font-size: var(--text-lg);
	line-height: var(--leading-loose);
	color: var(--color-text);
	max-width: var(--container-content);
}

.entry-content > * + * {
	margin-top: var(--space-6);
}

.entry-content h2 {
	font-size: var(--text-3xl);
	font-weight: var(--weight-bold);
	color: var(--color-text);
	letter-spacing: -0.02em;
	margin-top: var(--space-12);
	margin-bottom: var(--space-4);
	line-height: var(--leading-tight);
}

.entry-content h3 {
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	color: var(--color-text);
	letter-spacing: -0.01em;
	margin-top: var(--space-10);
	margin-bottom: var(--space-3);
	line-height: var(--leading-tight);
}

.entry-content h4 {
	font-size: var(--text-xl);
	font-weight: var(--weight-semibold);
	margin-top: var(--space-8);
	margin-bottom: var(--space-2);
}

.entry-content h5, .entry-content h6 {
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
	margin-top: var(--space-6);
	margin-bottom: var(--space-2);
}

.entry-content p {
	margin-top: var(--space-5);
	margin-bottom: 0;
}

.entry-content a {
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.entry-content a:hover {
	color: var(--color-accent-hover);
}

.entry-content ul,
.entry-content ol {
	padding-left: var(--space-6);
	margin-top: var(--space-5);
}

.entry-content ul {
	list-style: disc;
}

.entry-content ol {
	list-style: decimal;
}

.entry-content li {
	margin-bottom: var(--space-2);
	line-height: var(--leading-relaxed);
}

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

.entry-content blockquote {
	border-left: 4px solid var(--color-accent);
	padding: var(--space-4) var(--space-6);
	background: var(--color-accent-light);
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	margin-block: var(--space-8);
}

.entry-content blockquote p {
	margin-top: 0;
	font-style: italic;
	color: var(--color-text);
}

.entry-content blockquote cite {
	display: block;
	margin-top: var(--space-2);
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	font-style: normal;
}

/* Tables */
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--text-sm);
	margin-block: var(--space-8);
	overflow-x: auto;
	display: block;
}

.entry-content th,
.entry-content td {
	padding: var(--space-3) var(--space-4);
	text-align: left;
	border: 1px solid var(--color-border);
}

.entry-content th {
	background: var(--color-bg-subtle);
	font-weight: var(--weight-semibold);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-text-muted);
}

.entry-content tr:nth-child(even) td {
	background: var(--color-bg-subtle);
}

/* Code */
.entry-content code {
	font-family: var(--font-mono);
	font-size: 0.875em;
	background: var(--color-bg-subtle);
	padding: 2px 6px;
	border-radius: var(--radius-sm);
	color: var(--color-text);
	border: 1px solid var(--color-border);
}

.entry-content pre {
	background: var(--color-bg-code);
	border-radius: var(--radius-md);
	padding: var(--space-5) var(--space-6);
	overflow-x: auto;
	margin-block: var(--space-8);
	position: relative;
}

.entry-content pre code {
	background: none;
	border: none;
	padding: 0;
	color: #e2e8f0;
	font-size: var(--text-sm);
	line-height: 1.7;
}

/* Enlighter compatibility */
.EnlighterJSRAW {
	display: none;
}

.enlighter-default {
	border-radius: var(--radius-md) !important;
	overflow: hidden;
}

.enlighter {
	font-size: var(--text-sm) !important;
	line-height: 1.7 !important;
}

/* Images in content */
.entry-content img {
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
}

.entry-content .alignleft {
	float: left;
	margin-right: var(--space-6);
	margin-bottom: var(--space-4);
}

.entry-content .alignright {
	float: right;
	margin-left: var(--space-6);
	margin-bottom: var(--space-4);
}

.entry-content .aligncenter {
	margin-inline: auto;
}

.entry-content .alignwide {
	max-width: min(100%, calc(var(--container-xl) - var(--space-12)));
	margin-inline: auto;
}

.entry-content .wp-block-image figcaption {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	text-align: center;
	margin-top: var(--space-2);
	font-style: italic;
}

/* WordPress gallery */
.entry-content .gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: var(--space-3);
	margin-block: var(--space-8);
}

.entry-content .gallery-item {
	overflow: hidden;
	border-radius: var(--radius-sm);
}

.entry-content .gallery-item img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	transition: transform var(--transition-slow);
}

.entry-content .gallery-item:hover img {
	transform: scale(1.05);
}

/* Embeds / Videos */
.entry-content .wp-block-embed,
.entry-content .embed-responsive {
	margin-block: var(--space-8);
	border-radius: var(--radius-md);
	overflow: hidden;
}

.entry-content .wp-block-embed__wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
}

.entry-content .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Easy Table of Contents */
.ez-toc-container {
	background: var(--color-bg-subtle) !important;
	border: 1px solid var(--color-border) !important;
	border-radius: var(--radius-md) !important;
	padding: var(--space-5) !important;
	margin-block: var(--space-8) !important;
}

.ez-toc-title {
	font-weight: var(--weight-semibold) !important;
	font-size: var(--text-base) !important;
	color: var(--color-text) !important;
}

#ez-toc-container nav a {
	color: var(--color-accent) !important;
}

/* ============================================================
   SINGLE POST LAYOUT
   ============================================================ */
.single-post-content {
	padding-block: var(--space-10);
}

.single-post-grid {
	display: grid;
	grid-template-columns: 1fr var(--sidebar-width);
	gap: var(--space-12);
	align-items: start;
}

.post-navigation {
	display: flex;
	justify-content: space-between;
	gap: var(--space-4);
	padding-block: var(--space-8);
	border-top: 1px solid var(--color-border);
	margin-top: var(--space-10);
}

.post-nav-link {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	max-width: 45%;
}

.post-nav-link--prev {
	align-items: flex-start;
}

.post-nav-link--next {
	align-items: flex-end;
	text-align: right;
}

.post-nav-label {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.post-nav-title {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--color-text);
	line-height: var(--leading-snug);
	text-decoration: none;
}

.post-nav-title:hover {
	color: var(--color-accent);
}

/* Related Posts */
.related-posts {
	padding-block: var(--space-10);
	border-top: 1px solid var(--color-border);
}

.related-posts .section-title {
	font-size: var(--text-xl);
}

.related-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-5);
	margin-top: var(--space-6);
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.sidebar {
	position: sticky;
	top: calc(var(--header-height) + var(--space-6));
}

.widget {
	margin-bottom: var(--space-8);
}

.widget:last-child {
	margin-bottom: 0;
}

.widget-title {
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	color: var(--color-text);
	margin-bottom: var(--space-4);
	padding-bottom: var(--space-3);
	border-bottom: 2px solid var(--color-border);
	position: relative;
}

.widget-title::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 40px;
	height: 2px;
	background: var(--color-accent);
}

.widget ul li {
	padding-block: var(--space-2);
	border-bottom: 1px solid var(--color-border);
	font-size: var(--text-sm);
}

.widget ul li:last-child {
	border-bottom: none;
}

.widget ul li a {
	color: var(--color-text);
	text-decoration: none;
}

.widget ul li a:hover {
	color: var(--color-accent);
}

.widget_search form {
	display: flex;
	gap: var(--space-2);
}

.widget_search input[type="search"] {
	flex: 1;
	padding: var(--space-2) var(--space-3);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	font-size: var(--text-sm);
	outline: none;
	background: var(--color-bg-card);
	transition: border-color var(--transition-fast);
}

.widget_search input[type="search"]:focus {
	border-color: var(--color-accent);
}

.widget_search button {
	padding: var(--space-2) var(--space-3);
	background: var(--color-accent);
	color: #fff;
	border-radius: var(--radius-md);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	transition: background var(--transition-fast);
}

.widget_search button:hover {
	background: var(--color-accent-hover);
}

/* ============================================================
   ARCHIVE / CATEGORY / BLOG
   ============================================================ */
.archive-header {
	background: var(--color-bg-hero);
	padding-block: var(--space-10) var(--space-12);
	margin-bottom: var(--space-10);
}

.archive-label {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--color-accent);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: var(--space-2);
}

.archive-title {
	font-size: clamp(var(--text-2xl), 4vw, var(--text-4xl));
	font-weight: var(--weight-bold);
	color: var(--color-text-invert);
	line-height: var(--leading-tight);
	letter-spacing: -0.02em;
}

.archive-description {
	margin-top: var(--space-4);
	font-size: var(--text-lg);
	color: var(--color-text-invert-muted);
	max-width: 600px;
}

.archive-posts {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-6);
}

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding-top: var(--space-12);
}

.pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding-inline: var(--space-3);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	color: var(--color-text);
	text-decoration: none;
	transition: all var(--transition-fast);
}

.pagination .page-numbers:hover {
	border-color: var(--color-accent);
	color: var(--color-accent);
	background: var(--color-accent-light);
}

.pagination .page-numbers.current {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: #fff;
}

.pagination .prev,
.pagination .next {
	gap: var(--space-1);
}

/* ============================================================
   SEARCH RESULTS
   ============================================================ */
.search-header {
	background: var(--color-bg-hero);
	padding-block: var(--space-10);
	margin-bottom: var(--space-10);
}

.search-title {
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	color: var(--color-text-invert);
}

.search-title span {
	color: var(--color-accent);
}

.search-count {
	margin-top: var(--space-2);
	color: var(--color-text-invert-muted);
}

.search-form-large {
	margin-top: var(--space-6);
	display: flex;
	gap: var(--space-3);
	max-width: 600px;
}

.search-form-large input[type="search"] {
	flex: 1;
	padding: var(--space-3) var(--space-5);
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: var(--radius-md);
	color: var(--color-text-invert);
	font-size: var(--text-base);
	outline: none;
}

.search-form-large input[type="search"]:focus {
	border-color: var(--color-accent);
}

.search-form-large button {
	padding: var(--space-3) var(--space-6);
	background: var(--color-accent);
	color: #fff;
	border-radius: var(--radius-md);
	font-weight: var(--weight-medium);
}

.no-results-content {
	text-align: center;
	padding-block: var(--space-20);
}

.no-results-content h1 {
	font-size: var(--text-3xl);
	font-weight: var(--weight-bold);
	margin-bottom: var(--space-4);
}

.no-results-content p {
	color: var(--color-text-muted);
	font-size: var(--text-lg);
	margin-bottom: var(--space-8);
}

/* ============================================================
   404 PAGE
   ============================================================ */
.error-404-content {
	text-align: center;
	padding-block: var(--space-24);
}

.error-404-number {
	font-size: 8rem;
	font-weight: var(--weight-bold);
	color: var(--color-border-dark);
	line-height: 1;
	letter-spacing: -0.05em;
}

.error-404-title {
	font-size: var(--text-3xl);
	font-weight: var(--weight-bold);
	margin-top: var(--space-4);
}

.error-404-text {
	color: var(--color-text-muted);
	font-size: var(--text-lg);
	margin-top: var(--space-4);
	margin-bottom: var(--space-8);
}

/* ============================================================
   PAGE
   ============================================================ */
.page-header-area {
	background: var(--color-bg-hero);
	padding-block: var(--space-10);
	margin-bottom: var(--space-10);
}

.page-title {
	font-size: clamp(var(--text-2xl), 4vw, var(--text-4xl));
	font-weight: var(--weight-bold);
	color: var(--color-text-invert);
	line-height: var(--leading-tight);
	letter-spacing: -0.02em;
}

.page-content-grid {
	display: grid;
	grid-template-columns: 1fr var(--sidebar-width);
	gap: var(--space-12);
	align-items: start;
}

/* ============================================================
   COMMENTS
   ============================================================ */
.comments-area {
	padding-top: var(--space-10);
	border-top: 1px solid var(--color-border);
	margin-top: var(--space-10);
}

.comments-title {
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	margin-bottom: var(--space-8);
}

.comment-list {
	margin-bottom: var(--space-8);
}

.comment-list li {
	list-style: none;
	margin-bottom: var(--space-6);
}

.comment-body {
	padding: var(--space-5);
	background: var(--color-bg-subtle);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border);
}

.comment-author {
	font-weight: var(--weight-semibold);
	font-size: var(--text-sm);
}

.comment-meta {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	margin-bottom: var(--space-3);
}

.comment-content p {
	font-size: var(--text-sm);
	line-height: var(--leading-relaxed);
}

.comment-form input,
.comment-form textarea {
	width: 100%;
	padding: var(--space-3) var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	font-size: var(--text-sm);
	transition: border-color var(--transition-fast);
	background: var(--color-bg-card);
}

.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: var(--color-accent);
}

.comment-form label {
	display: block;
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	margin-bottom: var(--space-2);
}

.comment-form .form-submit input {
	width: auto;
	padding: var(--space-3) var(--space-6);
	background: var(--color-accent);
	color: #fff;
	font-weight: var(--weight-semibold);
	border: none;
	cursor: pointer;
	border-radius: var(--radius-md);
	transition: background var(--transition-fast);
}

.comment-form .form-submit input:hover {
	background: var(--color-accent-hover);
}

/* ============================================================
   UTILITY CLASSES
   ============================================================ */
.btn {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-5);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: all var(--transition-fast);
	cursor: pointer;
}

.btn--primary {
	background: var(--color-accent);
	color: #fff;
	border: 1px solid var(--color-accent);
}

.btn--primary:hover {
	background: var(--color-accent-hover);
	border-color: var(--color-accent-hover);
	color: #fff;
}

.btn--outline {
	background: transparent;
	color: var(--color-accent);
	border: 1px solid var(--color-accent);
}

.btn--outline:hover {
	background: var(--color-accent);
	color: #fff;
}

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

@media (min-width: 1024px) {
	.header-yt-btn span { display: inline; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ── Tablet (max 1024px) ────────────────────────────────────── */
@media (max-width: 1024px) {
	.posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.hero__grid {
		grid-template-columns: 1fr;
	}

	.hero__sidebar {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	.category-worlds {
		grid-template-columns: repeat(4, 1fr);
	}

	.hero__side-image,
	.hero__side-placeholder {
		width: 80px;
	}

	.with-sidebar,
	.single-post-grid,
	.page-content-grid {
		grid-template-columns: 1fr;
	}

	.sidebar {
		position: static;
	}

	.footer-widgets {
		grid-template-columns: repeat(2, 1fr);
	}

	.youtube-latest {
		grid-template-columns: repeat(2, 1fr);
	}

	.thematic-posts {
		grid-template-columns: repeat(2, 1fr);
	}

	.thematic-posts--featured {
		grid-template-columns: 1fr 1fr;
	}

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

/* ── Mobile (max 768px) ─────────────────────────────────────── */
@media (max-width: 768px) {
	:root {
		--header-height: 56px;
	}

	.container {
		padding-inline: var(--space-4);
	}

	.primary-nav {
		display: none;
	}

	.menu-toggle {
		display: flex;
	}

	.posts-grid {
		grid-template-columns: 1fr;
	}

	.hero__sidebar {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.hero__side-image,
	.hero__side-placeholder {
		width: 80px;
	}

	.hero__side-item {
		gap: var(--space-3);
	}

	.category-worlds {
		grid-template-columns: repeat(3, 1fr);
	}

	.section-header {
		flex-wrap: wrap;
		gap: var(--space-2);
	}

	.archive-posts {
		grid-template-columns: 1fr;
	}

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

	.footer-bottom {
		flex-direction: column;
		text-align: center;
	}

	.footer-nav {
		flex-wrap: wrap;
		justify-content: center;
	}

	.youtube-latest {
		grid-template-columns: 1fr;
	}

	.thematic-posts,
	.thematic-posts--featured {
		grid-template-columns: 1fr;
	}

	.related-posts-grid {
		grid-template-columns: 1fr;
	}

	.single-post-title {
		font-size: var(--text-2xl);
	}

	.entry-content {
		font-size: var(--text-base);
	}

	.entry-content h2 {
		font-size: var(--text-2xl);
	}

	.entry-content h3 {
		font-size: var(--text-xl);
	}

	.youtube-cta {
		flex-direction: column;
	}

	.youtube-section {
		padding-block: var(--space-16) var(--space-12);
	}

	.yt-hero__title {
		font-size: var(--text-2xl);
	}

	.yt-hero__desc {
		font-size: var(--text-base);
	}

	.yt-tags {
		margin-top: var(--space-8);
	}

	.post-navigation {
		flex-direction: column;
	}

	.post-nav-link {
		max-width: 100%;
	}

	.post-nav-link--next {
		align-items: flex-start;
		text-align: left;
	}

	.single-post-meta {
		gap: var(--space-2);
	}

	.entry-content table {
		font-size: var(--text-xs);
	}

	.home-section {
		padding-block: var(--space-10);
	}

	.hero {
		padding-block: var(--space-6) var(--space-8);
	}
}

/* ── Small Mobile (max 480px) ───────────────────────────────── */
@media (max-width: 480px) {
	.category-worlds {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Hide hero sidebar on very small screens for cleaner layout */
	.hero__sidebar {
		display: none;
	}

	.hero__main-title {
		font-size: var(--text-lg);
	}

	.hero__main-content {
		padding: var(--space-5) var(--space-4) var(--space-4);
	}

	.home-section--themenwelten {
		padding-block: var(--space-10);
	}

	.category-card {
		min-height: 130px;
		padding: var(--space-4) var(--space-4);
	}

	.container {
		padding-inline: var(--space-3);
	}

	.header-yt-btn {
		padding: var(--space-2) var(--space-3);
	}

	.pagination {
		gap: var(--space-1);
	}

	.pagination .page-numbers {
		min-width: 32px;
		height: 32px;
		padding-inline: var(--space-2);
	}
}

/* ── Extra small (max 375px) ────────────────────────────────── */
@media (max-width: 375px) {
	.category-worlds {
		grid-template-columns: 1fr;
	}

	.category-card {
		min-height: 100px;
		flex-direction: row;
		align-items: center;
		gap: var(--space-3);
	}

	.category-card__icon {
		margin-bottom: 0;
		flex-shrink: 0;
	}

	.category-card__arrow {
		display: none;
	}

	.site-title-icon svg {
		width: 18px;
		height: 18px;
	}
}

/* ── Focus Styles (Accessibility) ───────────────────────────── */
:focus-visible {
	outline: 2px solid var(--color-accent);
	outline-offset: 2px;
}

a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--color-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ── Scroll Reveal ──────────────────────────────────────────── */
[data-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .5s ease, transform .5s ease;
	will-change: opacity, transform;
}

[data-reveal].is-revealed {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	[data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* ── Post Card Shimmer (desktop hover only) ──────────────────── */
.post-card.has-shimmer {
	overflow: hidden;
}

.post-card.has-shimmer::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		115deg,
		transparent 25%,
		rgba(255,255,255,.06) 50%,
		transparent 75%
	);
	transform: translateX(-100%);
	transition: transform .5s ease;
	pointer-events: none;
}

.post-card.has-shimmer:hover::after {
	transform: translateX(100%);
}

/* ── YouTube button pulse ────────────────────────────────────── */
.youtube-cta__btn {
	animation: shm-yt-pulse 3s ease-in-out infinite;
}

@keyframes shm-yt-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255,0,0,.0); }
	50%       { box-shadow: 0 0 18px 4px rgba(255,0,0,.25); }
}

/* ── Print ──────────────────────────────────────────────────── */
@media print {
	.site-header,
	.site-footer,
	.sidebar,
	.post-navigation,
	.related-posts {
		display: none;
	}

	.single-post-grid {
		grid-template-columns: 1fr;
	}

	body {
		font-size: 12pt;
		color: #000;
	}
}

/* ── WordPress Block Editor Alignment ───────────────────────── */
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: var(--container-content);
	margin-inline: auto;
}

/* ── Rank Math SEO breadcrumbs ─────────────────────────────── */
.rank-math-breadcrumb {
	font-size: var(--text-sm);
	color: var(--color-text-invert-muted);
	margin-bottom: var(--space-4);
}

.rank-math-breadcrumb a {
	color: var(--color-text-invert-muted);
	text-decoration: none;
}

.rank-math-breadcrumb a:hover {
	color: var(--color-text-invert);
}

.rank-math-breadcrumb .separator {
	margin-inline: var(--space-2);
}

/* ── Gutenberg wp-block styles ──────────────────────────────── */
.entry-content .wp-block-separator {
	border: none;
	border-top: 2px solid var(--color-border);
	margin-block: var(--space-8);
}

.entry-content .wp-block-quote {
	border-left: 4px solid var(--color-accent);
	padding: var(--space-4) var(--space-6);
	background: var(--color-accent-light);
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.entry-content .wp-block-code {
	background: var(--color-bg-code);
	border-radius: var(--radius-md);
	padding: var(--space-5) var(--space-6);
	overflow-x: auto;
}

.entry-content .wp-block-code code {
	background: none;
	border: none;
	color: #e2e8f0;
	font-size: var(--text-sm);
}

.entry-content .wp-block-pullquote {
	border-top: 4px solid var(--color-text);
	border-bottom: 4px solid var(--color-text);
	padding-block: var(--space-6);
	text-align: center;
}

.entry-content .wp-block-pullquote blockquote {
	border: none;
	background: none;
	padding: 0;
}

.entry-content .wp-block-pullquote p {
	font-size: var(--text-2xl);
	font-style: italic;
	font-weight: var(--weight-medium);
}

.entry-content .wp-block-columns {
	display: grid;
	gap: var(--space-6);
}

.entry-content .wp-block-columns.has-2-columns {
	grid-template-columns: 1fr 1fr;
}

.entry-content .wp-block-columns.has-3-columns {
	grid-template-columns: 1fr 1fr 1fr;
}

@media (max-width: 600px) {
	.entry-content .wp-block-columns.has-2-columns,
	.entry-content .wp-block-columns.has-3-columns {
		grid-template-columns: 1fr;
	}
}

.entry-content .wp-block-notice,
.entry-content .wp-block-warning {
	padding: var(--space-4) var(--space-5);
	border-radius: var(--radius-md);
	border-left: 4px solid;
}

.entry-content .wp-block-notice {
	background: var(--color-accent-light);
	border-color: var(--color-accent);
}

/* ── AAWP (Amazon Product) ──────────────────────────────────── */
.aawp {
	max-width: 100%;
	margin-block: var(--space-6);
}

.aawp-product {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: var(--space-4);
}

/* ── Buy Me a Coffee ──────────────────────────────────────────  */
.bmc-btn-container {
	margin-block: var(--space-6);
}

/* ============================================================
   Recommendations Page (page-empfehlungen.php)
   ============================================================ */

.page-header-area--recommendations {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
	padding: var(--space-16) 0 var(--space-12);
	border-bottom: 1px solid rgba(255,255,255,.06);
}

.page-header-area--recommendations .page-title {
	color: var(--color-text-invert);
	font-size: var(--text-4xl);
	font-weight: var(--weight-bold);
	margin-bottom: var(--space-4);
}

.rec-header__sub {
	color: rgba(255,255,255,.6);
	font-size: var(--text-lg);
	max-width: 620px;
	line-height: var(--leading-relaxed);
}

.rec-section {
	padding: var(--space-12) 0;
}

.rec-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: var(--space-6);
}

.rec-card {
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

.rec-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-xl);
	border-color: var(--color-border-dark);
}

.rec-card__header {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-8) var(--space-6);
	min-height: 120px;
	position: relative;
}

/* Logo container modes */
.rec-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 220px;
	max-height: 80px;
}

.rec-card__logo img {
	max-width: 100%;
	max-height: 70px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* White logo on dark gradient — display directly */
.rec-card__logo--dark img {
	filter: brightness(0) invert(1);
}

/* White-background logo (e.g. SDL) — white pill behind it */
.rec-card__logo--white {
	background: #fff;
	border-radius: var(--radius-lg);
	padding: var(--space-3) var(--space-5);
	box-shadow: 0 2px 12px rgba(0,0,0,.25);
}

.rec-card__logo--white img {
	max-height: 56px;
}

/* Light logo on dark gradient */
.rec-card__logo--light img {
	filter: drop-shadow(0 1px 4px rgba(0,0,0,.4));
}

/* Text fallback when no logo image available */
.rec-card__logo-text {
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	letter-spacing: -0.03em;
	text-shadow: 0 1px 8px rgba(0,0,0,.3);
}

/* Name/handle bar below the header */
.rec-card__identity {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--space-3) var(--space-6);
	border-bottom: 1px solid var(--color-border);
	background: var(--color-bg-subtle);
}

.rec-card__name {
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	color: var(--color-text);
	line-height: var(--leading-tight);
}

.rec-card__handle {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	font-family: var(--font-mono);
}

.rec-card__body {
	padding: var(--space-6);
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.rec-card__teaser {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	line-height: var(--leading-relaxed);
	flex: 1;
}

.rec-card__topics {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.rec-topic-tag {
	padding: var(--space-1) var(--space-3);
	background: var(--color-bg-subtle);
	color: var(--color-text-muted);
	border-radius: var(--radius-full);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	border: 1px solid var(--color-border);
}

.rec-card__footer {
	padding: var(--space-4) var(--space-6);
	border-top: 1px solid var(--color-border);
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
}

.rec-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-4);
	border-radius: var(--radius-full);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	text-decoration: none;
	transition: transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);
}

.rec-link:hover {
	transform: translateY(-1px);
	opacity: 0.9;
}

.rec-link--blog {
	background: var(--color-bg-subtle);
	color: var(--color-text);
	border: 1px solid var(--color-border);
}

.rec-link--blog:hover {
	background: var(--color-accent-light);
	color: var(--color-accent);
	border-color: var(--color-accent-subtle);
}

.rec-link--youtube {
	background: #ff0000;
	color: #fff;
}

.rec-link--youtube:hover {
	box-shadow: 0 4px 12px rgba(255,0,0,.3);
	opacity: 1;
}

/* Support / affiliate section */
.rec-support-section {
	padding: var(--space-8) 0 var(--space-12);
}

.rec-support-inner {
	max-width: 700px;
	margin: 0 auto;
}

/* ── Responsive adjustments ───────────────────────────────── */
@media (max-width: 768px) {
	.page-header-area--recommendations .page-title {
		font-size: var(--text-3xl);
	}
	.rec-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   DARK INNER PAGE SYSTEM
   Blog • Archive • Category • Static Pages • Single Post
   ============================================================ */

/* Dark page background for all non-homepage inner pages */
/* ── Override ALL CSS custom properties on dark pages ───────
   Root fix: every var(--color-text) picks up the light value.
   Solves dark-on-dark text issues (Community Beitrag, etc.). ─ */
body.archive,
body.blog,
body.category,
body.search,
body.tag,
body.author,
body.date,
body.single,
body.page:not(.home) {
	background: #070d1a;
	color: rgba(255,255,255,.8);
	--color-text:        rgba(255,255,255,.82);
	--color-text-muted:  rgba(255,255,255,.52);
	--color-text-light:  rgba(255,255,255,.35);
	--color-bg:          #070d1a;
	--color-bg-subtle:   rgba(255,255,255,.04);
	--color-bg-card:     #0d1527;
	--color-bg-hero:     #060c18;
	--color-border:      rgba(255,255,255,.07);
	--color-border-dark: rgba(255,255,255,.14);
}

/* Explicit light colours for common inline/inherited elements */
body.page:not(.home) .entry-content p,
body.page:not(.home) .entry-content li,
body.page:not(.home) .entry-content dt,
body.page:not(.home) .entry-content dd,
body.page:not(.home) .entry-content span,
body.page:not(.home) .entry-content label,
body.page:not(.home) .entry-content legend,
body.page:not(.home) .entry-content figcaption { color: rgba(255,255,255,.78); }

/* Form elements — Contact Form 7 / WPForms / native forms */
body.page:not(.home) input[type="text"],
body.page:not(.home) input[type="email"],
body.page:not(.home) input[type="url"],
body.page:not(.home) input[type="tel"],
body.page:not(.home) input[type="search"],
body.page:not(.home) input[type="number"],
body.page:not(.home) input[type="password"],
body.page:not(.home) textarea,
body.page:not(.home) select {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: var(--radius-sm);
	color: rgba(255,255,255,.85);
}
body.page:not(.home) input::placeholder,
body.page:not(.home) textarea::placeholder { color: rgba(255,255,255,.28); }
body.page:not(.home) input:focus,
body.page:not(.home) textarea:focus,
body.page:not(.home) select:focus {
	outline: none;
	border-color: rgba(37,99,235,.5);
	box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}
body.page:not(.home) label { color: rgba(255,255,255,.72); }
body.page:not(.home) input[type="submit"],
body.page:not(.home) button[type="submit"],
body.page:not(.home) .wpcf7-submit,
body.page:not(.home) .wpforms-submit {
	background: var(--color-accent);
	color: #fff;
	border: none;
	border-radius: var(--radius-md);
	padding: var(--space-3) var(--space-6);
	cursor: pointer;
	font-weight: var(--weight-semibold);
	transition: background var(--transition-fast), box-shadow var(--transition-fast);
}
body.page:not(.home) input[type="submit"]:hover,
body.page:not(.home) button[type="submit"]:hover,
body.page:not(.home) .wpcf7-submit:hover,
body.page:not(.home) .wpforms-submit:hover {
	background: var(--color-accent-hover);
	box-shadow: 0 0 18px rgba(37,99,235,.35);
}

/* ── Archive header — tech-grid enhanced ────────────────── */
.archive-header {
	position: relative;
	overflow: hidden;
}

.archive-header::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(37,99,235,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37,99,235,.05) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
	z-index: 0;
}

.archive-header::after {
	content: '';
	position: absolute;
	top: -80px; right: -80px;
	width: 420px; height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle,
		color-mix(in srgb, var(--cat-header-color, #2563eb) 14%, transparent) 0%,
		transparent 65%);
	pointer-events: none;
	z-index: 0;
}

.archive-header .container {
	position: relative;
	z-index: 1;
}

/* ── Page header area — tech-grid enhanced ──────────────── */
.page-header-area {
	position: relative;
	overflow: hidden;
}

.page-header-area::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(37,99,235,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37,99,235,.05) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
	z-index: 0;
}

.page-header-area::after {
	content: '';
	position: absolute;
	top: -80px; right: -80px;
	width: 420px; height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(37,99,235,.11) 0%, transparent 65%);
	pointer-events: none;
	z-index: 0;
}

.page-header-area .container {
	position: relative;
	z-index: 1;
}

/* ── Single post header — tech-grid enhanced ────────────── */
.single-post-header {
	position: relative;
	overflow: hidden;
}

.single-post-header::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(37,99,235,.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37,99,235,.045) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
	z-index: 0;
}

.single-post-header::after {
	content: '';
	position: absolute;
	bottom: -60px; right: -60px;
	width: 360px; height: 360px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(37,99,235,.1) 0%, transparent 65%);
	pointer-events: none;
	z-index: 0;
}

.single-post-header .container {
	position: relative;
	z-index: 1;
}

/* ── Dark post cards (archive / blog / category / search / tag / author / date) ─ */
body.archive .post-card,
body.blog .post-card,
body.category .post-card,
body.search .post-card,
body.tag .post-card,
body.author .post-card,
body.date .post-card {
	background: #0d1527;
	border-color: rgba(255,255,255,.06);
}
body.archive .post-card:hover,
body.blog .post-card:hover,
body.category .post-card:hover,
body.search .post-card:hover,
body.tag .post-card:hover,
body.author .post-card:hover,
body.date .post-card:hover {
	border-color: rgba(37,99,235,.4);
	box-shadow: 0 8px 32px rgba(0,0,0,.55), 0 0 0 1px rgba(37,99,235,.15);
}
body.archive .post-card__title,
body.blog .post-card__title,
body.category .post-card__title,
body.search .post-card__title,
body.tag .post-card__title,
body.author .post-card__title,
body.date .post-card__title { color: rgba(255,255,255,.92); }
body.archive .post-card__title a,
body.blog .post-card__title a,
body.category .post-card__title a,
body.search .post-card__title a,
body.tag .post-card__title a,
body.author .post-card__title a,
body.date .post-card__title a { color: inherit; }
body.archive .post-card__title a:hover,
body.blog .post-card__title a:hover,
body.category .post-card__title a:hover,
body.search .post-card__title a:hover,
body.tag .post-card__title a:hover,
body.author .post-card__title a:hover,
body.date .post-card__title a:hover { color: var(--color-accent); }
body.archive .post-card__excerpt,
body.blog .post-card__excerpt,
body.category .post-card__excerpt,
body.search .post-card__excerpt,
body.tag .post-card__excerpt,
body.author .post-card__excerpt,
body.date .post-card__excerpt { color: rgba(255,255,255,.38); }
body.archive .post-card__footer,
body.blog .post-card__footer,
body.category .post-card__footer,
body.search .post-card__footer,
body.tag .post-card__footer,
body.author .post-card__footer,
body.date .post-card__footer { border-top-color: rgba(255,255,255,.06); }
body.archive .post-date,
body.blog .post-date,
body.category .post-date,
body.search .post-date,
body.tag .post-date,
body.author .post-date,
body.date .post-date,
body.archive .post-card time,
body.blog .post-card time,
body.category .post-card time,
body.search .post-card time,
body.tag .post-card time,
body.author .post-card time,
body.date .post-card time { color: rgba(255,255,255,.28); }
body.archive .post-category,
body.blog .post-category,
body.category .post-category,
body.search .post-category,
body.tag .post-category,
body.author .post-category,
body.date .post-category {
	background: rgba(37,99,235,.18);
	color: rgba(150,190,255,.85);
}
body.archive .post-category:hover,
body.blog .post-category:hover,
body.category .post-category:hover,
body.search .post-category:hover,
body.tag .post-category:hover,
body.author .post-category:hover,
body.date .post-category:hover {
	background: rgba(37,99,235,.3);
	color: #fff;
}

/* ── Dark pagination ────────────────────────────────────── */
body.archive .pagination .page-numbers,
body.blog .pagination .page-numbers,
body.category .pagination .page-numbers,
body.search .pagination .page-numbers,
body.tag .pagination .page-numbers,
body.author .pagination .page-numbers,
body.date .pagination .page-numbers,
body.page:not(.home) .pagination .page-numbers {
	border-color: rgba(255,255,255,.1);
	color: rgba(255,255,255,.5);
	background: rgba(255,255,255,.03);
}
body.archive .pagination .page-numbers:hover,
body.blog .pagination .page-numbers:hover,
body.category .pagination .page-numbers:hover,
body.search .pagination .page-numbers:hover,
body.tag .pagination .page-numbers:hover,
body.author .pagination .page-numbers:hover,
body.date .pagination .page-numbers:hover,
body.page:not(.home) .pagination .page-numbers:hover {
	border-color: var(--color-accent);
	color: #fff;
	background: rgba(37,99,235,.2);
}
body.archive .pagination .page-numbers.current,
body.blog .pagination .page-numbers.current,
body.category .pagination .page-numbers.current,
body.search .pagination .page-numbers.current,
body.tag .pagination .page-numbers.current,
body.author .pagination .page-numbers.current,
body.date .pagination .page-numbers.current,
body.page:not(.home) .pagination .page-numbers.current {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: #fff;
}

/* ── Dark sidebar ───────────────────────────────────────── */
body.archive .widget-title,
body.blog .widget-title,
body.category .widget-title,
body.page:not(.home) .widget-title,
body.single .widget-title {
	color: rgba(255,255,255,.88);
	border-bottom-color: rgba(255,255,255,.08);
}
body.archive .widget ul li,
body.blog .widget ul li,
body.category .widget ul li,
body.page:not(.home) .widget ul li,
body.single .widget ul li {
	border-bottom-color: rgba(255,255,255,.06);
	color: rgba(255,255,255,.6);
}
body.archive .widget ul li a,
body.blog .widget ul li a,
body.category .widget ul li a,
body.page:not(.home) .widget ul li a,
body.single .widget ul li a { color: rgba(255,255,255,.6); }
body.archive .widget ul li a:hover,
body.blog .widget ul li a:hover,
body.category .widget ul li a:hover,
body.page:not(.home) .widget ul li a:hover,
body.single .widget ul li a:hover { color: var(--color-accent); }
body.archive .widget_search input[type="search"],
body.blog .widget_search input[type="search"],
body.category .widget_search input[type="search"],
body.page:not(.home) .widget_search input[type="search"],
body.single .widget_search input[type="search"] {
	background: rgba(255,255,255,.06);
	border-color: rgba(255,255,255,.1);
	color: rgba(255,255,255,.8);
}

/* ── Dark static page content (Impressum, Datenschutz…) ─ */
body.page:not(.home) .entry-content {
	color: rgba(255,255,255,.78);
}
body.page:not(.home) .entry-content h1,
body.page:not(.home) .entry-content h2,
body.page:not(.home) .entry-content h3,
body.page:not(.home) .entry-content h4,
body.page:not(.home) .entry-content h5,
body.page:not(.home) .entry-content h6 { color: rgba(255,255,255,.95); }
body.page:not(.home) .entry-content a { color: #60a5fa; text-decoration: underline; text-underline-offset: 3px; }
body.page:not(.home) .entry-content a:hover { color: #93c5fd; }
body.page:not(.home) .entry-content strong,
body.page:not(.home) .entry-content b { color: rgba(255,255,255,.95); }
body.page:not(.home) .entry-content code {
	background: rgba(37,99,235,.14);
	color: #93c5fd;
	border: 1px solid rgba(37,99,235,.28);
}
body.page:not(.home) .entry-content pre {
	background: #0c1728;
	border: 1px solid rgba(37,99,235,.18);
}
body.page:not(.home) .entry-content pre code {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	color: #e2e8f0 !important;
}
body.page:not(.home) .entry-content .wp-block-code {
	background: #0c1728;
	border: 1px solid rgba(37,99,235,.18);
}
body.page:not(.home) .entry-content .wp-block-code code {
	background: none !important;
	border: none !important;
	color: #e2e8f0 !important;
}
body.page:not(.home) .entry-content li code,
body.page:not(.home) .entry-content p code {
	color: #93c5fd;
	background: rgba(37,99,235,.14);
}
body.page:not(.home) .entry-content blockquote {
	border-left-color: var(--color-accent);
	background: rgba(37,99,235,.08);
}
body.page:not(.home) .entry-content blockquote p { color: rgba(255,255,255,.62); }
body.page:not(.home) .entry-content hr { border-color: rgba(255,255,255,.08); }
body.page:not(.home) .entry-content table { border-color: rgba(255,255,255,.08); }
body.page:not(.home) .entry-content th {
	background: rgba(255,255,255,.05);
	color: rgba(255,255,255,.88);
	border-color: rgba(255,255,255,.1);
}
body.page:not(.home) .entry-content td {
	border-color: rgba(255,255,255,.06);
	color: rgba(255,255,255,.72);
}
body.page:not(.home) .entry-content tr:nth-child(even) td {
	background: rgba(255,255,255,.025);
}
body.page:not(.home) .comments-area {
	border-top-color: rgba(255,255,255,.06);
	color: rgba(255,255,255,.78);
}

/* ── Dark single post content ───────────────────────────── */
body.single .single-post-content {
	background: #070d1a;
}
body.single .entry-content { color: rgba(255,255,255,.82); }
body.single .entry-content h2,
body.single .entry-content h3,
body.single .entry-content h4,
body.single .entry-content h5,
body.single .entry-content h6 { color: rgba(255,255,255,.95); }
body.single .entry-content a { color: #60a5fa; }
body.single .entry-content a:hover { color: #93c5fd; }
body.single .entry-content strong,
body.single .entry-content b { color: rgba(255,255,255,.95); }
body.single .entry-content blockquote {
	border-left-color: var(--color-accent);
	background: rgba(37,99,235,.08);
}
body.single .entry-content blockquote p { color: rgba(255,255,255,.62); }
body.single .entry-content hr { border-color: rgba(255,255,255,.08); }
body.single .entry-content table { border-color: rgba(255,255,255,.08); }
body.single .entry-content th {
	background: rgba(255,255,255,.05);
	color: rgba(255,255,255,.88);
	border-color: rgba(255,255,255,.1);
}
body.single .entry-content td {
	border-color: rgba(255,255,255,.06);
}
body.single .entry-content tr:nth-child(even) td {
	background: rgba(255,255,255,.025);
}

/* ── Code blocks on dark single posts ──────────────────── */
/* Inline code */
body.single .entry-content code {
	background: rgba(37,99,235,.14);
	border: 1px solid rgba(37,99,235,.28);
	color: #93c5fd;
	padding: 2px 7px;
	border-radius: var(--radius-sm);
}
/* Preformatted block */
body.single .entry-content pre {
	background: #0c1728;
	border: 1px solid rgba(37,99,235,.18);
	border-radius: var(--radius-md);
}
/* Code inside pre – reset inline overrides, set readable color */
body.single .entry-content pre code {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	color: #e2e8f0 !important;
	font-size: var(--text-sm);
	line-height: 1.75;
}
/* Gutenberg Code block */
body.single .entry-content .wp-block-code {
	background: #0c1728;
	border: 1px solid rgba(37,99,235,.18);
}
body.single .entry-content .wp-block-code code {
	background: none !important;
	border: none !important;
	color: #e2e8f0 !important;
}
/* Enlighter — full dark-mode override (alle Themes haben hellen Hintergrund) */
body.single .entry-content .enlighter-default,
body.page:not(.home) .entry-content .enlighter-default {
	background-color: #0c1728 !important;
	border: 1px solid rgba(37,99,235,.2) !important;
	border-radius: var(--radius-md) !important;
	overflow: hidden !important;
}
/* Code-Bereich */
body.single .entry-content div.enlighter,
body.page:not(.home) .entry-content div.enlighter {
	background-color: #0c1728 !important;
	color: #cdd6f4 !important;
}
/* Jede Zeile */
body.single .entry-content div.enlighter > div,
body.page:not(.home) .entry-content div.enlighter > div {
	background-color: transparent !important;
}
/* Hover-Zeile dunkel */
body.single .entry-content div.enlighter > div:hover,
body.page:not(.home) .entry-content div.enlighter > div:hover {
	background-color: rgba(37,99,235,.08) !important;
}
/* Alle Syntax-Tokens – dunkle Farben durch lesbare helle Töne ersetzen */
body.single .entry-content div.enlighter span,
body.page:not(.home) .entry-content div.enlighter span {
	color: #cdd6f4 !important; /* Fallback: helles Blaugrau */
}
/* Zeilennummern */
body.single .entry-content .enlighter-linenumbers div.enlighter > div::before,
body.page:not(.home) .entry-content .enlighter-linenumbers div.enlighter > div::before {
	background-color: #091220 !important;
	color: rgba(255,255,255,.25) !important;
	border-right: 1px solid rgba(37,99,235,.15) !important;
}
/* Raw-Ansicht (textarea) */
body.single .entry-content .enlighter-raw,
body.page:not(.home) .entry-content .enlighter-raw {
	background-color: #0c1728 !important;
	color: #cdd6f4 !important;
}
/* Toolbar */
body.single .entry-content .enlighter-toolbar,
body.page:not(.home) .entry-content .enlighter-toolbar {
	background-color: rgba(9,18,32,.9) !important;
}
body.single .entry-content .enlighter-btn,
body.page:not(.home) .entry-content .enlighter-btn {
	color: rgba(255,255,255,.45) !important;
}
body.single .entry-content .enlighter-btn:hover,
body.page:not(.home) .entry-content .enlighter-btn:hover {
	color: rgba(255,255,255,.85) !important;
}
/* Lists containing inline code – keep text readable */
body.single .entry-content li code,
body.single .entry-content p code {
	color: #93c5fd;
	background: rgba(37,99,235,.14);
}

/* ── Post navigation (dark) ─────────────────────────────── */
body.single .post-navigation {
	border-color: rgba(255,255,255,.06);
}
body.single .post-nav-label { color: rgba(255,255,255,.3); }
body.single .post-nav-title { color: rgba(255,255,255,.82); }
body.single .post-nav-title:hover { color: var(--color-accent); }

/* ── Related posts (dark) ───────────────────────────────── */
body.single .related-posts {
	border-top-color: rgba(255,255,255,.06);
}
body.single .related-posts-grid .post-card {
	background: #0d1527;
	border-color: rgba(255,255,255,.06);
}
body.single .related-posts-grid .post-card:hover {
	border-color: rgba(37,99,235,.4);
	box-shadow: 0 8px 32px rgba(0,0,0,.5);
}
body.single .related-posts-grid .post-card__title { color: rgba(255,255,255,.92); }
body.single .related-posts-grid .post-card__title a { color: inherit; }
body.single .related-posts-grid .post-card__title a:hover { color: var(--color-accent); }
body.single .related-posts-grid .post-card__excerpt { color: rgba(255,255,255,.38); }
body.single .related-posts-grid .post-card__footer { border-top-color: rgba(255,255,255,.06); }
body.single .related-posts-grid .post-date { color: rgba(255,255,255,.28); }
body.single .related-posts-grid .post-category {
	background: rgba(37,99,235,.18);
	color: rgba(150,190,255,.85);
}

/* ── Comments dark ──────────────────────────────────────── */
body.single .comments-area,
body.page:not(.home) .comments-area {
	border-top-color: rgba(255,255,255,.06);
}
body.single .comments-title,
body.page:not(.home) .comments-title { color: rgba(255,255,255,.92); }

/* Comment list items */
body.single .comment-body {
	background: rgba(255,255,255,.04);
	border-color: rgba(255,255,255,.07);
}
body.single .comment-author { color: rgba(255,255,255,.9); }
body.single .comment-meta { color: rgba(255,255,255,.35); }
body.single .comment-content p { color: rgba(255,255,255,.72); }

/* Comment form – inputs, labels, submit */
body.single .comment-form input[type="text"],
body.single .comment-form input[type="email"],
body.single .comment-form input[type="url"],
body.single .comment-form textarea {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: var(--radius-sm);
	color: rgba(255,255,255,.85);
}
body.single .comment-form input::placeholder,
body.single .comment-form textarea::placeholder { color: rgba(255,255,255,.28); }
body.single .comment-form input:focus,
body.single .comment-form textarea:focus {
	outline: none;
	border-color: rgba(37,99,235,.5);
	box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}
body.single .comment-form label { color: rgba(255,255,255,.72); }
body.single .comment-form .form-submit input[type="submit"] {
	background: var(--color-accent);
	color: #fff;
	border: none;
	cursor: pointer;
}
body.single .comment-form .form-submit input[type="submit"]:hover {
	background: var(--color-accent-hover);
	box-shadow: 0 0 18px rgba(37,99,235,.35);
}

/* ── Responsive dark inner pages ────────────────────────── */
@media (max-width: 768px) {
	body.archive .archive-posts,
	body.blog .archive-posts,
	body.category .archive-posts {
		grid-template-columns: 1fr;
	}
	.archive-header::after,
	.page-header-area::after,
	.single-post-header::after {
		display: none; /* hide glow on small screens for perf */
	}
}

/* ============================================================
   UNIFIED HOVER GLOW SYSTEM
   Consistent blue accent glow on all interactive elements
   ============================================================ */

/* ── Ensure image containers are positioned ─────────────── */
.post-card__image,
.hero__main-image,
.hero__side-image,
.youtube-video__thumb {
	position: relative;
}

/* ── Base: post cards → accent glow on hover ────────────── */
.post-card {
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}
.post-card:hover {
	border-color: rgba(37,99,235,.45);
	box-shadow:
		0 0 0 1px rgba(37,99,235,.2),
		0 0 24px rgba(37,99,235,.14),
		0 10px 28px rgba(0,0,0,.28);
	transform: translateY(-3px);
}

/* ── Image inner glow overlay (all post card images) ────── */
.post-card__image::after,
.hero__main-image::after,
.hero__side-image::after,
.youtube-video__thumb::after,
.single-featured-image::after,
.entry-content .gallery-item::after {
	content: '';
	position: absolute;
	inset: 0;
	box-shadow:
		inset 0 0 0 2px rgba(37,99,235,.5),
		inset 0 0 22px rgba(37,99,235,.16);
	opacity: 0;
	transition: opacity .32s;
	pointer-events: none;
	z-index: 2;
}

.post-card:hover .post-card__image::after { opacity: 1; }
.hero__main-link:hover .hero__main-image::after { opacity: 1; }
.hero__side-item:hover .hero__side-image::after { opacity: 1; }
.youtube-video:hover .youtube-video__thumb::after { opacity: 1; }
.single-featured-image:hover::after { opacity: 1; }
.entry-content .gallery-item:hover::after { opacity: 1; }

/* ── Hero main card – outer glow on hover ───────────────── */
.hero__main {
	transition: box-shadow var(--transition-base);
}
.hero__main:hover {
	box-shadow:
		0 0 0 2px rgba(37,99,235,.35),
		0 0 42px rgba(37,99,235,.18),
		0 12px 40px rgba(0,0,0,.4);
}

/* ── Hero sidebar items – glow upgrade ──────────────────── */
.hero__side-item {
	border: 1px solid transparent;
	transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.hero__side-item:hover {
	background: rgba(37,99,235,.09);
	border-color: rgba(37,99,235,.32);
	box-shadow: 0 0 18px rgba(37,99,235,.12), 0 4px 14px rgba(0,0,0,.25);
}

/* ── Partner / rec cards – glow upgrade ─────────────────── */
.rec-card {
	transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
.rec-card:hover {
	transform: translateY(-4px);
	border-color: rgba(37,99,235,.42);
	box-shadow:
		0 0 0 1px rgba(37,99,235,.18),
		0 0 32px rgba(37,99,235,.14),
		0 14px 36px rgba(0,0,0,.35);
}

/* ── YouTube video cards – glow upgrade ─────────────────── */
.youtube-video {
	transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.youtube-video:hover {
	background: rgba(37,99,235,.06);
	border-color: rgba(37,99,235,.32);
	box-shadow: 0 0 20px rgba(37,99,235,.12), 0 6px 18px rgba(0,0,0,.28);
}

/* ── Single featured image – outer glow ─────────────────── */
.single-featured-image {
	position: relative;
	overflow: hidden;
	transition: box-shadow var(--transition-base);
}
.single-featured-image:hover {
	box-shadow: 0 0 0 2px rgba(37,99,235,.4), 0 0 36px rgba(37,99,235,.16);
}

/* ── Entry content images – inset glow overlay ─────────── */
/* Wrapper approach for block images (figure.wp-block-image) */
body.single .entry-content figure.wp-block-image,
body.page:not(.home) .entry-content figure.wp-block-image,
body.single .entry-content .wp-caption,
body.page:not(.home) .entry-content .wp-caption {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-md);
	display: block;
}
body.single .entry-content figure.wp-block-image::after,
body.page:not(.home) .entry-content figure.wp-block-image::after,
body.single .entry-content .wp-caption::after,
body.page:not(.home) .entry-content .wp-caption::after {
	content: '';
	position: absolute;
	inset: 0;
	box-shadow:
		inset 0 0 0 2px rgba(37,99,235,.55),
		inset 0 0 24px rgba(37,99,235,.18);
	opacity: 0;
	transition: opacity .32s ease;
	pointer-events: none;
	z-index: 2;
	border-radius: var(--radius-md);
}
body.single .entry-content figure.wp-block-image:hover::after,
body.page:not(.home) .entry-content figure.wp-block-image:hover::after,
body.single .entry-content .wp-caption:hover::after,
body.page:not(.home) .entry-content .wp-caption:hover::after {
	opacity: 1;
}
/* Image inside figure – smooth scale */
body.single .entry-content figure.wp-block-image img,
body.page:not(.home) .entry-content figure.wp-block-image img,
body.single .entry-content .wp-caption img,
body.page:not(.home) .entry-content .wp-caption img {
	transition: transform .5s ease;
	display: block;
	width: 100%;
}
body.single .entry-content figure.wp-block-image:hover img,
body.page:not(.home) .entry-content figure.wp-block-image:hover img,
body.single .entry-content .wp-caption:hover img,
body.page:not(.home) .entry-content .wp-caption:hover img {
	transform: scale(1.025);
}
/* Fallback for bare img (not in a figure) */
body.single .entry-content img,
body.page:not(.home) .entry-content img {
	transition: box-shadow .32s ease, transform .32s ease;
	border-radius: var(--radius-sm);
}
body.single .entry-content img:hover,
body.page:not(.home) .entry-content img:hover {
	box-shadow:
		0 0 0 2px rgba(37,99,235,.45),
		0 0 24px rgba(37,99,235,.16),
		0 8px 24px rgba(0,0,0,.3);
	transform: scale(1.01);
}

/* ── Gallery items – ensure position for overlay ────────── */
.entry-content .gallery-item {
	position: relative;
}

/* ── Dark-page post-card glow upgrade ───────────────────── */
body.archive .post-card:hover,
body.blog .post-card:hover,
body.category .post-card:hover,
.home-section--dark .post-card:hover,
.home-section--thematic .post-card:hover,
body.single .related-posts-grid .post-card:hover {
	box-shadow:
		0 0 0 1px rgba(37,99,235,.25),
		0 0 28px rgba(37,99,235,.16),
		0 10px 32px rgba(0,0,0,.5);
}

/* ── Reduced motion: disable glow transitions ───────────── */
@media (prefers-reduced-motion: reduce) {
	.post-card__image::after,
	.hero__main-image::after,
	.hero__side-image::after,
	.youtube-video__thumb::after,
	.single-featured-image::after,
	.entry-content .gallery-item::after {
		transition: none;
	}
}

/* ============================================================
   EMPFEHLUNGEN PAGE — Design & Animation Wonder
   ============================================================ */

/* ── Keyframes ───────────────────────────────────────────── */

@keyframes shm-emp-glow-drift-a {
	0%, 100% { transform: translate(0, 0) scale(1); opacity: .55; }
	33%       { transform: translate(40px, -30px) scale(1.1); opacity: .75; }
	66%       { transform: translate(-20px, 20px) scale(.95); opacity: .5; }
}

@keyframes shm-emp-glow-drift-b {
	0%, 100% { transform: translate(0, 0) scale(1); opacity: .4; }
	40%       { transform: translate(-50px, 30px) scale(1.15); opacity: .6; }
	75%       { transform: translate(30px, -15px) scale(.9); opacity: .35; }
}

@keyframes shm-partner-scan {
	0%   { top: -2px; opacity: 0; }
	4%   { opacity: 1; }
	96%  { opacity: 1; }
	100% { top: calc(100% + 2px); opacity: 0; }
}

@keyframes shm-logo-float {
	0%, 100% { transform: translateY(0px); }
	50%       { transform: translateY(-7px); }
}

@keyframes shm-glow-pulse {
	0%, 100% { opacity: .5; transform: scale(1); }
	50%       { opacity: .9; transform: scale(1.18); }
}

@keyframes shm-featured-badge {
	0%, 100% { box-shadow: 0 0 0 0 rgba(37,99,235,.0), 0 0 8px rgba(37,99,235,.2); }
	50%       { box-shadow: 0 0 0 3px rgba(37,99,235,.15), 0 0 18px rgba(37,99,235,.4); }
}

@keyframes shm-emp-hero-line {
	0%   { transform: scaleX(0); opacity: 0; }
	100% { transform: scaleX(1); opacity: 1; }
}

/* ── Empfehlungen Hero ───────────────────────────────────── */

.emp-hero {
	position: relative;
	overflow: hidden;
	background: #060c18;
	padding: var(--space-20) 0 var(--space-16);
	border-bottom: 1px solid rgba(255,255,255,.05);
}

.emp-hero__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(37,99,235,.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37,99,235,.055) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
}

.emp-hero__glow {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.emp-hero__glow--a {
	width: 600px;
	height: 600px;
	top: -200px;
	right: -100px;
	background: radial-gradient(circle, rgba(37,99,235,.18) 0%, transparent 65%);
	animation: shm-emp-glow-drift-a 14s ease-in-out infinite;
}

.emp-hero__glow--b {
	width: 400px;
	height: 400px;
	bottom: -150px;
	left: -80px;
	background: radial-gradient(circle, rgba(120,40,200,.14) 0%, transparent 65%);
	animation: shm-emp-glow-drift-b 18s ease-in-out infinite;
}

.emp-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 700px;
}

.emp-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-1) var(--space-4);
	border: 1px solid rgba(37,99,235,.35);
	border-radius: var(--radius-full);
	background: rgba(37,99,235,.1);
	color: #93c5fd;
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: var(--space-5);
}

.emp-hero__title {
	font-size: clamp(2.8rem, 6vw, 5rem);
	font-weight: var(--weight-bold);
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin-bottom: var(--space-5);
	background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,.75) 60%, #93c5fd 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.emp-hero__sub {
	font-size: var(--text-lg);
	color: rgba(255,255,255,.55);
	line-height: var(--leading-relaxed);
	margin-bottom: var(--space-8);
	max-width: 560px;
}

.emp-hero__stats {
	display: flex;
	align-items: center;
	gap: var(--space-6);
	flex-wrap: wrap;
}

.emp-hero__stat {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.emp-hero__stat-num {
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	color: #fff;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.emp-hero__stat-label {
	font-size: var(--text-xs);
	color: rgba(255,255,255,.38);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: var(--weight-medium);
}

.emp-hero__stat-sep {
	width: 1px;
	height: 36px;
	background: rgba(255,255,255,.1);
	border-radius: 1px;
}

/* ── Empfehlungen Content Wrapper ────────────────────────── */

.emp-content {
	background: #070d1a;
	padding-block: var(--space-12) var(--space-20);
}

.emp-partners {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
}

/* ── Partner Card ─────────────────────────────────────────── */

.partner-card {
	position: relative;
	display: grid;
	grid-template-columns: 280px 1fr;
	background: #0c1324;
	border: 1px solid rgba(255,255,255,.07);
	border-radius: var(--radius-xl);
	overflow: hidden;
	transition:
		border-color .35s ease,
		box-shadow .35s ease,
		transform .35s ease;
}

.partner-card:hover {
	border-color: var(--pc-accent, #4d8ef0);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--pc-accent, #4d8ef0) 25%, transparent),
		0 0 60px color-mix(in srgb, var(--pc-accent, #4d8ef0) 14%, transparent),
		0 24px 56px rgba(0,0,0,.55);
	transform: translateY(-3px);
}

/* Animated top accent line */
.partner-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		color-mix(in srgb, var(--pc-accent, #4d8ef0) 70%, transparent) 30%,
		var(--pc-accent, #4d8ef0) 50%,
		color-mix(in srgb, var(--pc-accent, #4d8ef0) 70%, transparent) 70%,
		transparent 100%
	);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .45s ease;
	z-index: 3;
}

.partner-card:hover::before {
	transform: scaleX(1);
}

/* ── Scanline sweep ───────────────────────────────────────── */

.partner-card__scan {
	position: absolute;
	left: 0;
	right: 0;
	top: -2px;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		color-mix(in srgb, var(--pc-accent, #4d8ef0) 50%, transparent) 20%,
		color-mix(in srgb, var(--pc-accent, #4d8ef0) 90%, transparent) 50%,
		color-mix(in srgb, var(--pc-accent, #4d8ef0) 50%, transparent) 80%,
		transparent 100%
	);
	animation: shm-partner-scan 5s linear infinite;
	pointer-events: none;
	z-index: 4;
}

.partner-card:nth-child(1) .partner-card__scan { animation-delay: 0s; }
.partner-card:nth-child(2) .partner-card__scan { animation-delay: 1.25s; }
.partner-card:nth-child(3) .partner-card__scan { animation-delay: 2.5s; }
.partner-card:nth-child(4) .partner-card__scan { animation-delay: 3.75s; }

/* ── Corner decoration ────────────────────────────────────── */

.partner-card__corner {
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	border-top: 32px solid color-mix(in srgb, var(--pc-accent, #4d8ef0) 40%, transparent);
	border-left: 32px solid transparent;
	opacity: 0;
	transition: opacity .35s;
	z-index: 5;
}

.partner-card:hover .partner-card__corner { opacity: 1; }

/* ── Logo panel (left) ────────────────────────────────────── */

.partner-card__panel {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--pc-gradient, linear-gradient(160deg,#0d1b3e,#0f3460));
	overflow: hidden;
	min-height: 220px;
	padding: var(--space-8);
}

/* Large background number */
.partner-card__num {
	position: absolute;
	bottom: -8px;
	right: var(--space-3);
	font-size: 5.5rem;
	font-weight: 900;
	letter-spacing: -0.06em;
	color: rgba(255,255,255,.07);
	line-height: 1;
	pointer-events: none;
	z-index: 0;
	transition: color .35s, transform .35s;
	font-variant-numeric: tabular-nums;
}

.partner-card:hover .partner-card__num {
	color: rgba(255,255,255,.12);
	transform: scale(1.06);
}

/* Ambient radial glow behind logo */
.partner-card__glow {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	z-index: 0;
}

.partner-card__glow::before {
	content: '';
	width: 160px;
	height: 160px;
	border-radius: 50%;
	background: radial-gradient(circle,
		color-mix(in srgb, var(--pc-accent, #4d8ef0) 30%, transparent) 0%,
		transparent 70%);
	animation: shm-glow-pulse 4s ease-in-out infinite;
}

/* Logo wrapper */
.partner-card__logo-wrap {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: shm-logo-float 6s ease-in-out infinite;
	transition: filter .35s, transform .35s;
}

.partner-card:hover .partner-card__logo-wrap {
	filter: drop-shadow(0 0 12px color-mix(in srgb, var(--pc-accent, #4d8ef0) 60%, transparent));
}

/* Logo on dark gradient — invert to white */
.partner-card__logo-wrap--dark .partner-card__logo-img {
	filter: brightness(0) invert(1);
	max-width: 160px;
	max-height: 70px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* Logo with white pill background */
.partner-card__logo-wrap--white {
	background: #fff;
	border-radius: var(--radius-lg);
	padding: var(--space-4) var(--space-6);
	box-shadow:
		0 4px 20px rgba(0,0,0,.35),
		0 0 0 1px rgba(255,255,255,.15);
}

.partner-card__logo-wrap--white .partner-card__logo-img {
	max-width: 160px;
	max-height: 58px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* Text fallback */
.partner-card__logo-text {
	font-size: var(--text-xl);
	font-weight: var(--weight-bold);
	color: #fff;
	letter-spacing: -0.03em;
	text-shadow: 0 2px 12px rgba(0,0,0,.4);
}

/* Initials fallback — polished monogram when no logo is available */
.partner-card__logo-initials {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: var(--radius-lg);
	background: var(--pc-accent, #4d8ef0);
	color: #fff;
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	letter-spacing: -0.02em;
	box-shadow:
		0 4px 20px rgba(0,0,0,.35),
		0 0 0 1px rgba(255,255,255,.12);
	text-shadow: 0 1px 4px rgba(0,0,0,.3);
}

/* Featured badge on logo panel */
.partner-card__featured-badge {
	position: absolute;
	bottom: var(--space-3);
	left: 50%;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	background: rgba(37,99,235,.25);
	border: 1px solid rgba(37,99,235,.5);
	border-radius: var(--radius-full);
	color: #93c5fd;
	font-size: 10px;
	font-weight: var(--weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	white-space: nowrap;
	animation: shm-featured-badge 3s ease-in-out infinite;
	z-index: 2;
}

/* ── Content panel (right) ────────────────────────────────── */

.partner-card__content {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	padding: var(--space-7) var(--space-8);
	border-left: 1px solid rgba(255,255,255,.05);
	position: relative;
}

/* Subtle vertical accent line on content panel */
.partner-card__content::before {
	content: '';
	position: absolute;
	left: 0;
	top: var(--space-6);
	bottom: var(--space-6);
	width: 2px;
	background: linear-gradient(
		to bottom,
		transparent,
		var(--pc-accent, #4d8ef0),
		transparent
	);
	opacity: 0;
	transition: opacity .35s;
}

.partner-card:hover .partner-card__content::before {
	opacity: .5;
}

.partner-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-4);
}

.partner-card__name {
	font-size: var(--text-xl);
	font-weight: var(--weight-bold);
	color: rgba(255,255,255,.95);
	line-height: var(--leading-tight);
	letter-spacing: -0.02em;
	margin: 0 0 var(--space-1);
	transition: color .25s;
}

.partner-card:hover .partner-card__name {
	color: var(--pc-accent, #4d8ef0);
}

.partner-card__handle {
	font-size: var(--text-sm);
	color: rgba(255,255,255,.3);
	font-family: var(--font-mono);
	letter-spacing: 0.02em;
}

.partner-card__person-badge {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	padding: var(--space-1) var(--space-3);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--radius-full);
	font-size: var(--text-xs);
	color: rgba(255,255,255,.4);
	font-weight: var(--weight-medium);
	transition: border-color .25s, color .25s;
	white-space: nowrap;
}

.partner-card:hover .partner-card__person-badge {
	border-color: color-mix(in srgb, var(--pc-accent, #4d8ef0) 45%, transparent);
	color: color-mix(in srgb, var(--pc-accent, #4d8ef0) 80%, #fff);
}

.partner-card__teaser {
	font-size: var(--text-sm);
	color: rgba(255,255,255,.52);
	line-height: var(--leading-relaxed);
	flex: 1;
}

/* ── Topic chips ──────────────────────────────────────────── */

.partner-card__topics {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.partner-topic {
	padding: 3px var(--space-3);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: var(--radius-full);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	color: rgba(255,255,255,.42);
	background: rgba(255,255,255,.03);
	transition: border-color .25s, color .25s, background .25s, box-shadow .25s;
}

.partner-card:hover .partner-topic {
	border-color: color-mix(in srgb, var(--pc-accent, #4d8ef0) 38%, transparent);
	color: color-mix(in srgb, var(--pc-accent, #4d8ef0) 75%, #fff);
	background: color-mix(in srgb, var(--pc-accent, #4d8ef0) 8%, transparent);
	box-shadow: 0 0 8px color-mix(in srgb, var(--pc-accent, #4d8ef0) 12%, transparent);
}

/* ── Action links ─────────────────────────────────────────── */

.partner-card__links {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
	margin-top: auto;
	padding-top: var(--space-3);
	border-top: 1px solid rgba(255,255,255,.05);
}

.partner-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-4);
	border-radius: var(--radius-full);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	text-decoration: none;
	transition: background .25s, border-color .25s, color .25s, box-shadow .25s, transform .25s;
}

.partner-link:hover {
	transform: translateY(-2px);
}

.partner-link--web {
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.1);
	color: rgba(255,255,255,.65);
}

.partner-link--web:hover {
	background: color-mix(in srgb, var(--pc-accent, #4d8ef0) 15%, transparent);
	border-color: color-mix(in srgb, var(--pc-accent, #4d8ef0) 50%, transparent);
	color: var(--pc-accent, #4d8ef0);
	box-shadow: 0 0 14px color-mix(in srgb, var(--pc-accent, #4d8ef0) 20%, transparent);
}

.partner-link--yt {
	background: #c00;
	border: 1px solid transparent;
	color: #fff;
}

.partner-link--yt:hover {
	background: #ff0000;
	box-shadow: 0 0 18px rgba(255,0,0,.45), 0 4px 12px rgba(255,0,0,.25);
}

/* ── Responsive ───────────────────────────────────────────── */

@media (max-width: 900px) {
	.partner-card {
		grid-template-columns: 220px 1fr;
	}
	.partner-card__panel {
		min-height: 200px;
	}
}

@media (max-width: 680px) {
	.partner-card {
		grid-template-columns: 1fr;
	}
	.partner-card__panel {
		min-height: 180px;
		border-right: none;
		border-bottom: 1px solid rgba(255,255,255,.07);
	}
	.partner-card__content::before {
		display: none;
	}
	.partner-card__content {
		border-left: none;
		padding: var(--space-5) var(--space-5);
	}
	.partner-card__num {
		font-size: 3.5rem;
		bottom: -4px;
	}
	.emp-hero__title {
		font-size: 2.4rem;
	}
	.emp-hero__sub br { display: none; }
}

/* ── Reduced motion ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.partner-card__scan,
	.partner-card__logo-wrap,
	.partner-card__glow::before,
	.partner-card__featured-badge,
	.emp-hero__glow--a,
	.emp-hero__glow--b {
		animation: none;
	}
	.partner-card,
	.partner-card::before,
	.partner-card__corner,
	.partner-card__content::before,
	.partner-topic,
	.partner-link,
	.partner-card__name,
	.partner-card__person-badge,
	.partner-card__num {
		transition: none;
	}
}

/* ============================================================
   SEO ENHANCEMENTS – Author & Post Meta
   ============================================================ */

/* ── Post author in single post meta ────────────────────── */
.post-author {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-size: var(--text-sm);
	color: rgba(255,255,255,.45);
}

.post-author__link {
	color: rgba(255,255,255,.65);
	text-decoration: none;
	font-weight: var(--weight-medium);
	transition: color var(--transition-fast);
}

.post-author__link:hover {
	color: var(--color-accent);
}

/* ── Update notice in post meta ──────────────────────────── */
.post-updated {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-size: var(--text-sm);
	color: rgba(255,255,255,.35);
	font-style: italic;
}

.post-updated svg {
	flex-shrink: 0;
	opacity: .6;
}

/* ── Post tags block ─────────────────────────────────────── */
.post-tags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-8);
	padding-top: var(--space-6);
	border-top: 1px solid rgba(255,255,255,.07);
}

.post-tags__label {
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	text-transform: uppercase;
	letter-spacing: .06em;
	color: rgba(255,255,255,.3);
	margin-right: var(--space-1);
}

body.single .entry-content .post-tags a,
.post-tags a {
	display: inline-block;
	padding: 3px var(--space-3);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--radius-full);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	color: rgba(255,255,255,.5);
	text-decoration: none;
	background: rgba(255,255,255,.03);
	transition: border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast);
}

body.single .entry-content .post-tags a:hover,
.post-tags a:hover {
	border-color: rgba(37,99,235,.45);
	color: #93c5fd;
	background: rgba(37,99,235,.1);
	text-decoration: none;
}

/* ── Author box below post content ───────────────────────── */
.author-box {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: var(--space-5);
	align-items: start;
	padding: var(--space-6) var(--space-7);
	background: #0c1324;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: var(--radius-xl);
	border-left: 3px solid var(--color-accent);
	margin-top: var(--space-10);
	transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.author-box:hover {
	border-color: rgba(37,99,235,.5);
	box-shadow: 0 0 28px rgba(37,99,235,.1), 0 8px 24px rgba(0,0,0,.3);
}

.author-box__avatar {
	flex-shrink: 0;
}

.author-box__avatar-img,
.author-box__avatar img {
	width: 72px !important;
	height: 72px !important;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(37,99,235,.35);
	display: block;
}

.author-box__content {
	min-width: 0;
}

.author-box__label {
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	text-transform: uppercase;
	letter-spacing: .08em;
	color: rgba(255,255,255,.3);
	margin: 0 0 var(--space-1);
}

.author-box__name {
	display: inline-block;
	font-size: var(--text-lg);
	font-weight: var(--weight-bold);
	color: rgba(255,255,255,.92);
	text-decoration: none;
	margin-bottom: var(--space-2);
	transition: color var(--transition-fast);
}

.author-box__name:hover {
	color: var(--color-accent);
}

.author-box__bio {
	font-size: var(--text-sm);
	color: rgba(255,255,255,.48);
	line-height: var(--leading-relaxed);
	margin: 0;
}

/* ── Responsive author box ───────────────────────────────── */
@media (max-width: 480px) {
	.author-box {
		grid-template-columns: 1fr;
		gap: var(--space-4);
	}
	.author-box__avatar-img,
	.author-box__avatar img {
		width: 56px !important;
		height: 56px !important;
	}
}

/* ============================================================
   AAWP AFFILIATE PLUGIN — Dark-Page Overrides
   Problem: AAWP plugin CSS uses background:#fff and color:#333
   with !important on most rules. On dark pages body text is
   white → white text on white box = unreadable.
   Fix: override every AAWP element with dark card style on all
   dark body classes. All values use !important to win specificity.
   Covers: aawp-box (deprecated), aawp-product (current templates),
   aawp-button, aawp-table/aawp-tb, grid/widget wrappers.
   ============================================================ */

/* ----------------------------------------------------------
   1. PRODUCT CONTAINERS — box (deprecated) + all product variants
   ---------------------------------------------------------- */
body.single .aawp-box,
body.page:not(.home) .aawp-box,
body.archive .aawp-box,
body.blog .aawp-box,
body.category .aawp-box,
body.search .aawp-box,
body.tag .aawp-box,
body.author .aawp-box,
body.date .aawp-box,
body.single .aawp-product,
body.page:not(.home) .aawp-product,
body.archive .aawp-product,
body.blog .aawp-product,
body.category .aawp-product,
body.search .aawp-product,
body.tag .aawp-product,
body.author .aawp-product,
body.date .aawp-product,
body.single .aawp-product--horizontal,
body.page:not(.home) .aawp-product--horizontal,
body.archive .aawp-product--horizontal,
body.blog .aawp-product--horizontal,
body.category .aawp-product--horizontal,
body.search .aawp-product--horizontal,
body.tag .aawp-product--horizontal,
body.author .aawp-product--horizontal,
body.date .aawp-product--horizontal,
body.single .aawp-product--vertical,
body.page:not(.home) .aawp-product--vertical,
body.archive .aawp-product--vertical,
body.blog .aawp-product--vertical,
body.category .aawp-product--vertical,
body.search .aawp-product--vertical,
body.tag .aawp-product--vertical,
body.author .aawp-product--vertical,
body.date .aawp-product--vertical,
body.single .aawp-product--list,
body.page:not(.home) .aawp-product--list,
body.archive .aawp-product--list,
body.blog .aawp-product--list,
body.category .aawp-product--list,
body.search .aawp-product--list,
body.tag .aawp-product--list,
body.author .aawp-product--list,
body.date .aawp-product--list,
body.single .aawp-product--widget-vertical,
body.page:not(.home) .aawp-product--widget-vertical,
body.archive .aawp-product--widget-vertical,
body.blog .aawp-product--widget-vertical,
body.category .aawp-product--widget-vertical,
body.search .aawp-product--widget-vertical,
body.tag .aawp-product--widget-vertical,
body.author .aawp-product--widget-vertical,
body.date .aawp-product--widget-vertical,
body.single .aawp-product--widget-small,
body.page:not(.home) .aawp-product--widget-small,
body.archive .aawp-product--widget-small,
body.blog .aawp-product--widget-small,
body.category .aawp-product--widget-small,
body.search .aawp-product--widget-small,
body.tag .aawp-product--widget-small,
body.author .aawp-product--widget-small,
body.date .aawp-product--widget-small,
body.single .aawp-product--grid,
body.page:not(.home) .aawp-product--grid,
body.archive .aawp-product--grid,
body.blog .aawp-product--grid,
body.category .aawp-product--grid,
body.search .aawp-product--grid,
body.tag .aawp-product--grid,
body.author .aawp-product--grid,
body.date .aawp-product--grid {
	background: #0d1527 !important;
	border: 1px solid rgba(255,255,255,.09) !important;
	border-radius: var(--radius-xl) !important;
	color: rgba(255,255,255,.82) !important;
}

/* ----------------------------------------------------------
   2. CONTENT / THUMB WRAPPERS — ensure no white bleed-through
   ---------------------------------------------------------- */
body.single .aawp-box__thumb,
body.page:not(.home) .aawp-box__thumb,
body.archive .aawp-box__thumb,
body.blog .aawp-box__thumb,
body.category .aawp-box__thumb,
body.search .aawp-box__thumb,
body.tag .aawp-box__thumb,
body.author .aawp-box__thumb,
body.date .aawp-box__thumb,
body.single .aawp-product__thumb,
body.page:not(.home) .aawp-product__thumb,
body.archive .aawp-product__thumb,
body.blog .aawp-product__thumb,
body.category .aawp-product__thumb,
body.search .aawp-product__thumb,
body.tag .aawp-product__thumb,
body.author .aawp-product__thumb,
body.date .aawp-product__thumb,
body.single .aawp-product__content,
body.page:not(.home) .aawp-product__content,
body.archive .aawp-product__content,
body.blog .aawp-product__content,
body.category .aawp-product__content,
body.search .aawp-product__content,
body.tag .aawp-product__content,
body.author .aawp-product__content,
body.date .aawp-product__content,
body.single .aawp-box__content,
body.page:not(.home) .aawp-box__content,
body.archive .aawp-box__content,
body.blog .aawp-box__content,
body.category .aawp-box__content,
body.search .aawp-box__content,
body.tag .aawp-box__content,
body.author .aawp-box__content,
body.date .aawp-box__content,
body.single .aawp-product__footer,
body.page:not(.home) .aawp-product__footer,
body.archive .aawp-product__footer,
body.blog .aawp-product__footer,
body.category .aawp-product__footer,
body.search .aawp-product__footer,
body.tag .aawp-product__footer,
body.author .aawp-product__footer,
body.date .aawp-product__footer,
body.single .aawp-box__footer,
body.page:not(.home) .aawp-box__footer,
body.archive .aawp-box__footer,
body.blog .aawp-box__footer,
body.category .aawp-box__footer,
body.search .aawp-box__footer,
body.tag .aawp-box__footer,
body.author .aawp-box__footer,
body.date .aawp-box__footer,
body.single .aawp-product__meta,
body.page:not(.home) .aawp-product__meta,
body.archive .aawp-product__meta,
body.blog .aawp-product__meta,
body.category .aawp-product__meta,
body.search .aawp-product__meta,
body.tag .aawp-product__meta,
body.author .aawp-product__meta,
body.date .aawp-product__meta,
body.single .aawp-product__pricing,
body.page:not(.home) .aawp-product__pricing,
body.archive .aawp-product__pricing,
body.blog .aawp-product__pricing,
body.category .aawp-product__pricing,
body.search .aawp-product__pricing,
body.tag .aawp-product__pricing,
body.author .aawp-product__pricing,
body.date .aawp-product__pricing,
body.single .aawp-box__pricing,
body.page:not(.home) .aawp-box__pricing,
body.archive .aawp-box__pricing,
body.blog .aawp-box__pricing,
body.category .aawp-box__pricing,
body.search .aawp-box__pricing,
body.tag .aawp-box__pricing,
body.author .aawp-box__pricing,
body.date .aawp-box__pricing {
	background: transparent !important;
	color: rgba(255,255,255,.82) !important;
}

/* ----------------------------------------------------------
   3. TITLE / HEADING LINKS
   ---------------------------------------------------------- */
body.single .aawp-box__title,
body.page:not(.home) .aawp-box__title,
body.archive .aawp-box__title,
body.blog .aawp-box__title,
body.category .aawp-box__title,
body.search .aawp-box__title,
body.tag .aawp-box__title,
body.author .aawp-box__title,
body.date .aawp-box__title,
body.single .aawp-product__title,
body.page:not(.home) .aawp-product__title,
body.archive .aawp-product__title,
body.blog .aawp-product__title,
body.category .aawp-product__title,
body.search .aawp-product__title,
body.tag .aawp-product__title,
body.author .aawp-product__title,
body.date .aawp-product__title {
	color: rgba(255,255,255,.95) !important;
}

body.single .aawp-box__title a,
body.page:not(.home) .aawp-box__title a,
body.archive .aawp-box__title a,
body.blog .aawp-box__title a,
body.category .aawp-box__title a,
body.search .aawp-box__title a,
body.tag .aawp-box__title a,
body.author .aawp-box__title a,
body.date .aawp-box__title a,
body.single .aawp-product__title a,
body.page:not(.home) .aawp-product__title a,
body.archive .aawp-product__title a,
body.blog .aawp-product__title a,
body.category .aawp-product__title a,
body.search .aawp-product__title a,
body.tag .aawp-product__title a,
body.author .aawp-product__title a,
body.date .aawp-product__title a,
body.single .aawp-product__title.aawp-product__image-link,
body.page:not(.home) .aawp-product__title.aawp-product__image-link,
body.archive .aawp-product__title.aawp-product__image-link,
body.blog .aawp-product__title.aawp-product__image-link,
body.category .aawp-product__title.aawp-product__image-link,
body.search .aawp-product__title.aawp-product__image-link,
body.tag .aawp-product__title.aawp-product__image-link,
body.author .aawp-product__title.aawp-product__image-link,
body.date .aawp-product__title.aawp-product__image-link {
	color: rgba(255,255,255,.95) !important;
	text-decoration: none !important;
}

body.single .aawp-box__title a:hover,
body.page:not(.home) .aawp-box__title a:hover,
body.archive .aawp-box__title a:hover,
body.blog .aawp-box__title a:hover,
body.category .aawp-box__title a:hover,
body.search .aawp-box__title a:hover,
body.tag .aawp-box__title a:hover,
body.author .aawp-box__title a:hover,
body.date .aawp-box__title a:hover,
body.single .aawp-product__title a:hover,
body.page:not(.home) .aawp-product__title a:hover,
body.archive .aawp-product__title a:hover,
body.blog .aawp-product__title a:hover,
body.category .aawp-product__title a:hover,
body.search .aawp-product__title a:hover,
body.tag .aawp-product__title a:hover,
body.author .aawp-product__title a:hover,
body.date .aawp-product__title a:hover {
	color: #60a5fa !important;
}

/* ----------------------------------------------------------
   4. DESCRIPTION / TEASER
   ---------------------------------------------------------- */
body.single .aawp-box__description,
body.page:not(.home) .aawp-box__description,
body.archive .aawp-box__description,
body.blog .aawp-box__description,
body.category .aawp-box__description,
body.search .aawp-box__description,
body.tag .aawp-box__description,
body.author .aawp-box__description,
body.date .aawp-box__description,
body.single .aawp-product__description,
body.page:not(.home) .aawp-product__description,
body.archive .aawp-product__description,
body.blog .aawp-product__description,
body.category .aawp-product__description,
body.search .aawp-product__description,
body.tag .aawp-product__description,
body.author .aawp-product__description,
body.date .aawp-product__description,
body.single .aawp-product__teaser,
body.page:not(.home) .aawp-product__teaser,
body.archive .aawp-product__teaser,
body.blog .aawp-product__teaser,
body.category .aawp-product__teaser,
body.search .aawp-product__teaser,
body.tag .aawp-product__teaser,
body.author .aawp-product__teaser,
body.date .aawp-product__teaser {
	color: rgba(255,255,255,.68) !important;
}

/* ----------------------------------------------------------
   5. PRICES
   ---------------------------------------------------------- */
/* Current / active price */
body.single .aawp-box__price--current,
body.page:not(.home) .aawp-box__price--current,
body.archive .aawp-box__price--current,
body.blog .aawp-box__price--current,
body.category .aawp-box__price--current,
body.search .aawp-box__price--current,
body.tag .aawp-box__price--current,
body.author .aawp-box__price--current,
body.date .aawp-box__price--current,
body.single .aawp-product__price--current,
body.page:not(.home) .aawp-product__price--current,
body.archive .aawp-product__price--current,
body.blog .aawp-product__price--current,
body.category .aawp-product__price--current,
body.search .aawp-product__price--current,
body.tag .aawp-product__price--current,
body.author .aawp-product__price--current,
body.date .aawp-product__price--current {
	color: #60a5fa !important;
	font-weight: 700 !important;
}

/* Old / strikethrough price */
body.single .aawp-box__price--old,
body.page:not(.home) .aawp-box__price--old,
body.archive .aawp-box__price--old,
body.blog .aawp-box__price--old,
body.category .aawp-box__price--old,
body.search .aawp-box__price--old,
body.tag .aawp-box__price--old,
body.author .aawp-box__price--old,
body.date .aawp-box__price--old,
body.single .aawp-product__price--old,
body.page:not(.home) .aawp-product__price--old,
body.archive .aawp-product__price--old,
body.blog .aawp-product__price--old,
body.category .aawp-product__price--old,
body.search .aawp-product__price--old,
body.tag .aawp-product__price--old,
body.author .aawp-product__price--old,
body.date .aawp-product__price--old {
	color: rgba(255,255,255,.35) !important;
}

/* Savings / discount label */
body.single .aawp-box__price--saved,
body.page:not(.home) .aawp-box__price--saved,
body.archive .aawp-box__price--saved,
body.blog .aawp-box__price--saved,
body.category .aawp-box__price--saved,
body.search .aawp-box__price--saved,
body.tag .aawp-box__price--saved,
body.author .aawp-box__price--saved,
body.date .aawp-box__price--saved,
body.single .aawp-product__price--saved,
body.page:not(.home) .aawp-product__price--saved,
body.archive .aawp-product__price--saved,
body.blog .aawp-product__price--saved,
body.category .aawp-product__price--saved,
body.search .aawp-product__price--saved,
body.tag .aawp-product__price--saved,
body.author .aawp-product__price--saved,
body.date .aawp-product__price--saved {
	color: #4ade80 !important;
	font-weight: 600 !important;
}

/* Generic price wrapper — catch-all */
body.single .aawp-box__price,
body.page:not(.home) .aawp-box__price,
body.archive .aawp-box__price,
body.blog .aawp-box__price,
body.category .aawp-box__price,
body.search .aawp-box__price,
body.tag .aawp-box__price,
body.author .aawp-box__price,
body.date .aawp-box__price,
body.single .aawp-product__price,
body.page:not(.home) .aawp-product__price,
body.archive .aawp-product__price,
body.blog .aawp-product__price,
body.category .aawp-product__price,
body.search .aawp-product__price,
body.tag .aawp-product__price,
body.author .aawp-product__price,
body.date .aawp-product__price {
	color: rgba(255,255,255,.82) !important;
}

/* ----------------------------------------------------------
   6. RATINGS & REVIEWS
   ---------------------------------------------------------- */
body.single .aawp-box__rating,
body.page:not(.home) .aawp-box__rating,
body.archive .aawp-box__rating,
body.blog .aawp-box__rating,
body.category .aawp-box__rating,
body.search .aawp-box__rating,
body.tag .aawp-box__rating,
body.author .aawp-box__rating,
body.date .aawp-box__rating,
body.single .aawp-product__rating,
body.page:not(.home) .aawp-product__rating,
body.archive .aawp-product__rating,
body.blog .aawp-product__rating,
body.category .aawp-product__rating,
body.search .aawp-product__rating,
body.tag .aawp-product__rating,
body.author .aawp-product__rating,
body.date .aawp-product__rating {
	color: #f59e0b !important;
}

body.single .aawp-box__reviews,
body.page:not(.home) .aawp-box__reviews,
body.archive .aawp-box__reviews,
body.blog .aawp-box__reviews,
body.category .aawp-box__reviews,
body.search .aawp-box__reviews,
body.tag .aawp-box__reviews,
body.author .aawp-box__reviews,
body.date .aawp-box__reviews,
body.single .aawp-product__reviews,
body.page:not(.home) .aawp-product__reviews,
body.archive .aawp-product__reviews,
body.blog .aawp-product__reviews,
body.category .aawp-product__reviews,
body.search .aawp-product__reviews,
body.tag .aawp-product__reviews,
body.author .aawp-product__reviews,
body.date .aawp-product__reviews {
	color: rgba(255,255,255,.42) !important;
}

/* Star rating link wrapper */
body.single .aawp-star-rating,
body.page:not(.home) .aawp-star-rating,
body.archive .aawp-star-rating,
body.blog .aawp-star-rating,
body.category .aawp-star-rating,
body.search .aawp-star-rating,
body.tag .aawp-star-rating,
body.author .aawp-star-rating,
body.date .aawp-star-rating {
	color: rgba(255,255,255,.42) !important;
}

/* ----------------------------------------------------------
   7. INFO / DISCLAIMER TEXT
   ---------------------------------------------------------- */
body.single .aawp-box__info,
body.page:not(.home) .aawp-box__info,
body.archive .aawp-box__info,
body.blog .aawp-box__info,
body.category .aawp-box__info,
body.search .aawp-box__info,
body.tag .aawp-box__info,
body.author .aawp-box__info,
body.date .aawp-box__info,
body.single .aawp-product__info,
body.page:not(.home) .aawp-product__info,
body.archive .aawp-product__info,
body.blog .aawp-product__info,
body.category .aawp-product__info,
body.search .aawp-product__info,
body.tag .aawp-product__info,
body.author .aawp-product__info,
body.date .aawp-product__info {
	color: rgba(255,255,255,.28) !important;
}

/* ----------------------------------------------------------
   8. RIBBONS (Sale / Bestseller)
   ---------------------------------------------------------- */
body.single .aawp-product__ribbon--sale,
body.page:not(.home) .aawp-product__ribbon--sale,
body.archive .aawp-product__ribbon--sale,
body.blog .aawp-product__ribbon--sale,
body.category .aawp-product__ribbon--sale,
body.search .aawp-product__ribbon--sale,
body.tag .aawp-product__ribbon--sale,
body.author .aawp-product__ribbon--sale,
body.date .aawp-product__ribbon--sale {
	background: #dc2626 !important;
	color: #fff !important;
}

body.single .aawp-product__ribbon--bestseller,
body.page:not(.home) .aawp-product__ribbon--bestseller,
body.archive .aawp-product__ribbon--bestseller,
body.blog .aawp-product__ribbon--bestseller,
body.category .aawp-product__ribbon--bestseller,
body.search .aawp-product__ribbon--bestseller,
body.tag .aawp-product__ribbon--bestseller,
body.author .aawp-product__ribbon--bestseller,
body.date .aawp-product__ribbon--bestseller {
	background: #f59e0b !important;
	color: #111 !important;
}

/* ----------------------------------------------------------
   9. BUTTONS — generic buy button
   ---------------------------------------------------------- */
body.single .aawp-button,
body.page:not(.home) .aawp-button,
body.archive .aawp-button,
body.blog .aawp-button,
body.category .aawp-button,
body.search .aawp-button,
body.tag .aawp-button,
body.author .aawp-button,
body.date .aawp-button {
	background: linear-gradient(
		160deg,
		rgba(37,99,235,.26) 0%,
		rgba(37,99,235,.13) 100%
	) !important;
	background-image: none !important;
	border: 1px solid rgba(37,99,235,.48) !important;
	color: #c7d9ff !important;
	border-radius: var(--radius-full) !important;
	position: relative !important;
	overflow: hidden !important;
	box-shadow:
		0 0 10px rgba(37,99,235,.22),
		0 2px 8px rgba(0,0,0,.35),
		inset 0 1px 0 rgba(255,255,255,.14) !important;
	transition:
		background .28s ease,
		box-shadow .28s ease,
		border-color .28s ease,
		transform .22s ease !important;
}

/* Specular gloss line on AAWP button */
body.single .aawp-button::before,
body.page:not(.home) .aawp-button::before,
body.archive .aawp-button::before,
body.blog .aawp-button::before,
body.category .aawp-button::before,
body.search .aawp-button::before,
body.tag .aawp-button::before,
body.author .aawp-button::before,
body.date .aawp-button::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important; left: 15% !important; right: 15% !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.30), transparent) !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

body.single .aawp-button:hover,
body.page:not(.home) .aawp-button:hover,
body.archive .aawp-button:hover,
body.blog .aawp-button:hover,
body.category .aawp-button:hover,
body.search .aawp-button:hover,
body.tag .aawp-button:hover,
body.author .aawp-button:hover,
body.date .aawp-button:hover,
body.single .aawp-button:focus,
body.page:not(.home) .aawp-button:focus,
body.archive .aawp-button:focus,
body.blog .aawp-button:focus,
body.category .aawp-button:focus,
body.search .aawp-button:focus,
body.tag .aawp-button:focus,
body.author .aawp-button:focus,
body.date .aawp-button:focus {
	background: linear-gradient(
		160deg,
		rgba(37,99,235,.42) 0%,
		rgba(37,99,235,.24) 100%
	) !important;
	background-image: none !important;
	border-color: rgba(37,99,235,.72) !important;
	color: #e0eaff !important;
	box-shadow:
		0 0 20px rgba(37,99,235,.42),
		0 0 44px rgba(37,99,235,.18),
		0 4px 18px rgba(0,0,0,.5),
		inset 0 1px 0 rgba(255,255,255,.20) !important;
	transform: translateY(-2px) !important;
}

body.single .aawp-button:visited,
body.page:not(.home) .aawp-button:visited,
body.archive .aawp-button:visited,
body.blog .aawp-button:visited,
body.category .aawp-button:visited,
body.search .aawp-button:visited,
body.tag .aawp-button:visited,
body.author .aawp-button:visited,
body.date .aawp-button:visited {
	color: #c7d9ff !important;
}

/* ----------------------------------------------------------
   10. BUTTONS — Amazon-branded (yellow/orange — keep branding)
   ---------------------------------------------------------- */
body.single .aawp-button--amazon,
body.page:not(.home) .aawp-button--amazon,
body.archive .aawp-button--amazon,
body.blog .aawp-button--amazon,
body.category .aawp-button--amazon,
body.search .aawp-button--amazon,
body.tag .aawp-button--amazon,
body.author .aawp-button--amazon,
body.date .aawp-button--amazon {
	background: linear-gradient(160deg, #f9e8b0 0%, #f0c14b 50%, #e8a820 100%) !important;
	background-image: linear-gradient(160deg, #f9e8b0 0%, #f0c14b 50%, #e8a820 100%) !important;
	border: 1px solid #9c7e31 !important;
	color: #111 !important;
	position: relative !important;
	overflow: hidden !important;
	transition: box-shadow .25s ease, transform .2s ease !important;
}

/* Gloss sheen on Amazon button */
body.single .aawp-button--amazon::before,
body.page:not(.home) .aawp-button--amazon::before,
body.archive .aawp-button--amazon::before,
body.blog .aawp-button--amazon::before,
body.category .aawp-button--amazon::before,
body.search .aawp-button--amazon::before,
body.tag .aawp-button--amazon::before,
body.author .aawp-button--amazon::before,
body.date .aawp-button--amazon::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important; left: 0 !important; right: 0 !important;
	height: 50% !important;
	background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.04)) !important;
	border-radius: inherit !important;
	pointer-events: none !important;
}

body.single .aawp-button--amazon:hover,
body.page:not(.home) .aawp-button--amazon:hover,
body.archive .aawp-button--amazon:hover,
body.blog .aawp-button--amazon:hover,
body.category .aawp-button--amazon:hover,
body.search .aawp-button--amazon:hover,
body.tag .aawp-button--amazon:hover,
body.author .aawp-button--amazon:hover,
body.date .aawp-button--amazon:hover,
body.single .aawp-button--amazon:focus,
body.page:not(.home) .aawp-button--amazon:focus,
body.archive .aawp-button--amazon:focus,
body.blog .aawp-button--amazon:focus,
body.category .aawp-button--amazon:focus,
body.search .aawp-button--amazon:focus,
body.tag .aawp-button--amazon:focus,
body.author .aawp-button--amazon:focus,
body.date .aawp-button--amazon:focus,
body.single .aawp-button--amazon:visited,
body.page:not(.home) .aawp-button--amazon:visited,
body.archive .aawp-button--amazon:visited,
body.blog .aawp-button--amazon:visited,
body.category .aawp-button--amazon:visited,
body.search .aawp-button--amazon:visited,
body.tag .aawp-button--amazon:visited,
body.author .aawp-button--amazon:visited,
body.date .aawp-button--amazon:visited {
	color: #111 !important;
	box-shadow:
		0 0 22px rgba(240,193,75,.45),
		0 4px 14px rgba(0,0,0,.25) !important;
	transform: translateY(-2px) !important;
}

/* ----------------------------------------------------------
   11. COMPARISON / DATA TABLES (aawp-table / aawp-tb / aawp-comparison-table)
   ---------------------------------------------------------- */
body.single .aawp-table,
body.page:not(.home) .aawp-table,
body.archive .aawp-table,
body.blog .aawp-table,
body.category .aawp-table,
body.search .aawp-table,
body.tag .aawp-table,
body.author .aawp-table,
body.date .aawp-table,
body.single .aawp-tb,
body.page:not(.home) .aawp-tb,
body.archive .aawp-tb,
body.blog .aawp-tb,
body.category .aawp-tb,
body.search .aawp-tb,
body.tag .aawp-tb,
body.author .aawp-tb,
body.date .aawp-tb,
body.single .aawp-comparison-table,
body.page:not(.home) .aawp-comparison-table,
body.archive .aawp-comparison-table,
body.blog .aawp-comparison-table,
body.category .aawp-comparison-table,
body.search .aawp-comparison-table,
body.tag .aawp-comparison-table,
body.author .aawp-comparison-table,
body.date .aawp-comparison-table {
	background: #0d1527 !important;
	border-color: rgba(255,255,255,.07) !important;
	color: rgba(255,255,255,.82) !important;
}

body.single .aawp-tb__head,
body.page:not(.home) .aawp-tb__head,
body.archive .aawp-tb__head,
body.blog .aawp-tb__head,
body.category .aawp-tb__head,
body.search .aawp-tb__head,
body.tag .aawp-tb__head,
body.author .aawp-tb__head,
body.date .aawp-tb__head {
	background: rgba(37,99,235,.12) !important;
	color: rgba(255,255,255,.9) !important;
	border-color: rgba(255,255,255,.07) !important;
}

body.single .aawp-tb__product,
body.page:not(.home) .aawp-tb__product,
body.archive .aawp-tb__product,
body.blog .aawp-tb__product,
body.category .aawp-tb__product,
body.search .aawp-tb__product,
body.tag .aawp-tb__product,
body.author .aawp-tb__product,
body.date .aawp-tb__product,
body.single .aawp-tb__row,
body.page:not(.home) .aawp-tb__row,
body.archive .aawp-tb__row,
body.blog .aawp-tb__row,
body.category .aawp-tb__row,
body.search .aawp-tb__row,
body.tag .aawp-tb__row,
body.author .aawp-tb__row,
body.date .aawp-tb__row {
	background: #0d1527 !important;
	border-color: rgba(255,255,255,.06) !important;
	color: rgba(255,255,255,.78) !important;
}

body.single .aawp-tb__product--highlight,
body.page:not(.home) .aawp-tb__product--highlight,
body.archive .aawp-tb__product--highlight,
body.blog .aawp-tb__product--highlight,
body.category .aawp-tb__product--highlight,
body.search .aawp-tb__product--highlight,
body.tag .aawp-tb__product--highlight,
body.author .aawp-tb__product--highlight,
body.date .aawp-tb__product--highlight,
body.single .aawp-tb__row--highlight,
body.page:not(.home) .aawp-tb__row--highlight,
body.archive .aawp-tb__row--highlight,
body.blog .aawp-tb__row--highlight,
body.category .aawp-tb__row--highlight,
body.search .aawp-tb__row--highlight,
body.tag .aawp-tb__row--highlight,
body.author .aawp-tb__row--highlight,
body.date .aawp-tb__row--highlight {
	background: rgba(37,99,235,.1) !important;
	border-color: rgba(37,99,235,.25) !important;
}

/* Table cells */
body.single .aawp-tb td,
body.page:not(.home) .aawp-tb td,
body.archive .aawp-tb td,
body.blog .aawp-tb td,
body.category .aawp-tb td,
body.search .aawp-tb td,
body.tag .aawp-tb td,
body.author .aawp-tb td,
body.date .aawp-tb td,
body.single .aawp-tb th,
body.page:not(.home) .aawp-tb th,
body.archive .aawp-tb th,
body.blog .aawp-tb th,
body.category .aawp-tb th,
body.search .aawp-tb th,
body.tag .aawp-tb th,
body.author .aawp-tb th,
body.date .aawp-tb th,
body.single .aawp-table td,
body.page:not(.home) .aawp-table td,
body.archive .aawp-table td,
body.blog .aawp-table td,
body.category .aawp-table td,
body.search .aawp-table td,
body.tag .aawp-table td,
body.author .aawp-table td,
body.date .aawp-table td,
body.single .aawp-table th,
body.page:not(.home) .aawp-table th,
body.archive .aawp-table th,
body.blog .aawp-table th,
body.category .aawp-table th,
body.search .aawp-table th,
body.tag .aawp-table th,
body.author .aawp-table th,
body.date .aawp-table th,
body.single .aawp-comparison-table td,
body.page:not(.home) .aawp-comparison-table td,
body.archive .aawp-comparison-table td,
body.blog .aawp-comparison-table td,
body.category .aawp-comparison-table td,
body.search .aawp-comparison-table td,
body.tag .aawp-comparison-table td,
body.author .aawp-comparison-table td,
body.date .aawp-comparison-table td,
body.single .aawp-comparison-table th,
body.page:not(.home) .aawp-comparison-table th,
body.archive .aawp-comparison-table th,
body.blog .aawp-comparison-table th,
body.category .aawp-comparison-table th,
body.search .aawp-comparison-table th,
body.tag .aawp-comparison-table th,
body.author .aawp-comparison-table th,
body.date .aawp-comparison-table th {
	background: transparent !important;
	border-color: rgba(255,255,255,.06) !important;
	color: rgba(255,255,255,.78) !important;
}

/* ----------------------------------------------------------
   12. DISCLAIMER / NOT-AVAILABLE NOTICES
   ---------------------------------------------------------- */
body.single .aawp-disclaimer,
body.page:not(.home) .aawp-disclaimer,
body.archive .aawp-disclaimer,
body.blog .aawp-disclaimer,
body.category .aawp-disclaimer,
body.search .aawp-disclaimer,
body.tag .aawp-disclaimer,
body.author .aawp-disclaimer,
body.date .aawp-disclaimer,
body.single .aawp-not-available-info,
body.page:not(.home) .aawp-not-available-info,
body.archive .aawp-not-available-info,
body.blog .aawp-not-available-info,
body.category .aawp-not-available-info,
body.search .aawp-not-available-info,
body.tag .aawp-not-available-info,
body.author .aawp-not-available-info,
body.date .aawp-not-available-info,
body.single .aawp-not-available-notice,
body.page:not(.home) .aawp-not-available-notice,
body.archive .aawp-not-available-notice,
body.blog .aawp-not-available-notice,
body.category .aawp-not-available-notice,
body.search .aawp-not-available-notice,
body.tag .aawp-not-available-notice,
body.author .aawp-not-available-notice,
body.date .aawp-not-available-notice {
	color: rgba(255,255,255,.35) !important;
}

/* ----------------------------------------------------------
   13. GRID / WIDGET WRAPPERS
   ---------------------------------------------------------- */
body.single .aawp-grid__item,
body.page:not(.home) .aawp-grid__item,
body.archive .aawp-grid__item,
body.blog .aawp-grid__item,
body.category .aawp-grid__item,
body.search .aawp-grid__item,
body.tag .aawp-grid__item,
body.author .aawp-grid__item,
body.date .aawp-grid__item,
body.single .aawp-widget,
body.page:not(.home) .aawp-widget,
body.archive .aawp-widget,
body.blog .aawp-widget,
body.category .aawp-widget,
body.search .aawp-widget,
body.tag .aawp-widget,
body.author .aawp-widget,
body.date .aawp-widget {
	background: transparent !important;
	color: rgba(255,255,255,.82) !important;
}

/* ----------------------------------------------------------
   14. IMAGE LINKS — prevent blue outline / underline on dark bg
   ---------------------------------------------------------- */
body.single .aawp-product__image-link,
body.page:not(.home) .aawp-product__image-link,
body.archive .aawp-product__image-link,
body.blog .aawp-product__image-link,
body.category .aawp-product__image-link,
body.search .aawp-product__image-link,
body.tag .aawp-product__image-link,
body.author .aawp-product__image-link,
body.date .aawp-product__image-link,
body.single .aawp-box__image-link,
body.page:not(.home) .aawp-box__image-link,
body.archive .aawp-box__image-link,
body.blog .aawp-box__image-link,
body.category .aawp-box__image-link,
body.search .aawp-box__image-link,
body.tag .aawp-box__image-link,
body.author .aawp-box__image-link,
body.date .aawp-box__image-link,
body.single .aawp-product__image--link,
body.page:not(.home) .aawp-product__image--link,
body.archive .aawp-product__image--link,
body.blog .aawp-product__image--link,
body.category .aawp-product__image--link,
body.search .aawp-product__image--link,
body.tag .aawp-product__image--link,
body.author .aawp-product__image--link,
body.date .aawp-product__image--link {
	border: none !important;
	text-decoration: none !important;
	background: transparent !important;
}

/* ============================================================
   SHOP PAGE — page-shop.php
   ============================================================ */

/* ── @property registrations — enables smooth keyframe interpolation ── */
/* Without these, Custom Properties have type '*' and cannot be interpolated */
@property --tab-color {
	syntax: '<color>';
	inherits: true;
	initial-value: #2563eb;
}
@property --sec-color {
	syntax: '<color>';
	inherits: true;
	initial-value: #2563eb;
}

/* ── Shop Keyframes ────────────────────────────────────────── */

/* Tab pulse: 3-layer neon halo using rgba() for broad browser compat.
   color-mix()+var() inside @keyframes is not reliably interpolated in
   Firefox < 113, Safari < 16.4, and older Chromium — use rgba() instead.
   The default colour #2563eb matches --tab-color initial-value. */
@keyframes shop-tab-pulse {
	0%, 100% {
		box-shadow:
			0 0  8px 0   rgba(37, 99, 235, .48),
			0 0 22px 0   rgba(37, 99, 235, .24),
			0 0 42px 0   rgba(37, 99, 235, .10),
			inset 0 1px 0 rgba(255,255,255,.18);
		opacity: .88;
	}
	50% {
		box-shadow:
			0 0  0   5px rgba(37, 99, 235, .09),
			0 0 14px 0   rgba(37, 99, 235, .65),
			0 0 32px 0   rgba(37, 99, 235, .34),
			0 0 58px 0   rgba(37, 99, 235, .15),
			inset 0 1px 0 rgba(255,255,255,.26);
		opacity: 1;
	}
}

/* Shimmer sweep: shared by tabs and buttons (consolidated, was two identical keyframes) */
@keyframes shop-shimmer {
	0%   { transform: translateX(-120%) skewX(-20deg); opacity: 0; }
	12%  { opacity: 1; }
	88%  { opacity: 1; }
	100% { transform: translateX(220%)  skewX(-20deg); opacity: 0; }
}

/* Section grid breathes */
@keyframes shop-section-glow-pulse {
	0%, 100% { opacity: .55; }
	50%       { opacity: .92; }
}

/* Hero grid slow drift */
@keyframes shop-grid-drift {
	0%   { background-position: 0 0; }
	100% { background-position: 0 48px; }
}

/* ── Reduced-motion: disable all shop animations ─────────── */
@media (prefers-reduced-motion: reduce) {
	.shop-hero__grid,
	.shop-hero__glow--a,
	.shop-hero__glow--b,
	.shop-cat-section__grid,
	.shop-cat-tab--active,
	.shop-cat-tab:hover::after,
	.shop-product-card__btn:hover::after {
		animation: none !important;
		transition: none !important;
	}
	/* Disable hover transforms under reduced-motion (Touch guard below handles
	   the general case; this covers users who explicitly prefer no motion) */
	.shop-cat-tab:hover,
	.shop-product-card:hover,
	.shop-product-card__btn:hover {
		transform: none !important;
	}
}

/* ── Hero (reuses emp-hero pattern) ──────────────────────── */
.shop-hero {
	position: relative;
	overflow: hidden;
	background: #060c18;
	padding: var(--space-20) 0 var(--space-16);
	border-bottom: 1px solid rgba(255,255,255,.05);
}
.shop-hero__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(37,99,235,.065) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37,99,235,.065) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
	animation: shop-grid-drift 8s linear infinite;
	will-change: background-position;
}
.shop-hero__glow {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}
.shop-hero__glow--a {
	width: 700px; height: 700px;
	top: -220px; right: -100px;
	background: radial-gradient(circle, rgba(37,99,235,.22) 0%, rgba(37,99,235,.06) 45%, transparent 70%);
	animation: shm-emp-glow-drift-a 16s ease-in-out infinite;
}
.shop-hero__glow--b {
	width: 500px; height: 500px;
	bottom: -200px; left: -80px;
	background: radial-gradient(circle, rgba(34,197,94,.14) 0%, rgba(34,197,94,.04) 45%, transparent 70%);
	animation: shm-emp-glow-drift-b 20s ease-in-out infinite;
}
.shop-hero__inner { position: relative; z-index: 1; max-width: 700px; }
.shop-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-1) var(--space-4);
	border: 1px solid rgba(37,99,235,.42);
	border-radius: var(--radius-full);
	background: rgba(37,99,235,.12);
	color: #93c5fd;
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	text-transform: uppercase;
	letter-spacing: .1em;
	margin-bottom: var(--space-5);
	box-shadow: 0 0 18px rgba(37,99,235,.16), inset 0 1px 0 rgba(255,255,255,.1);
}
.shop-hero__title {
	font-size: clamp(2.8rem, 6vw, 5rem);
	font-weight: var(--weight-bold);
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin-bottom: var(--space-5);
	background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,.75) 60%, #93c5fd 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.shop-hero__sub {
	font-size: var(--text-lg);
	color: rgba(255,255,255,.55);
	line-height: var(--leading-relaxed);
	margin-bottom: var(--space-8);
	max-width: 520px;
}
.shop-hero__stats {
	display: flex;
	align-items: center;
	gap: var(--space-6);
	flex-wrap: wrap;
}
.shop-hero__stat { display: flex; flex-direction: column; gap: 2px; }
.shop-hero__stat-num {
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	color: #fff;
	line-height: 1;
}
.shop-hero__stat-label {
	font-size: var(--text-xs);
	color: rgba(255,255,255,.35);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: var(--weight-medium);
}
.shop-hero__stat-sep {
	width: 1px; height: 36px;
	background: linear-gradient(180deg, transparent, rgba(255,255,255,.18), transparent);
	border-radius: 1px;
}

/* ── Sticky category nav ────────────────────────────────── */
.shop-cat-nav {
	position: sticky;
	top: 0;
	z-index: 200;
	background: rgba(4,9,20,.94);
	backdrop-filter: blur(18px) saturate(1.4);
	-webkit-backdrop-filter: blur(18px) saturate(1.4);
	border-bottom: 1px solid rgba(255,255,255,.07);
	padding: var(--space-3) 0;
	box-shadow: 0 4px 32px rgba(0,0,0,.5);
}
.shop-cat-nav__inner {
	display: flex;
	gap: var(--space-2);
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 2px;
	/* Horizontal touch-scroll without conflicting with vertical page scroll */
	touch-action: pan-x;
	/* Fade-out right edge — signals to users that more tabs exist off-screen */
	-webkit-mask-image: linear-gradient(to right, black calc(100% - 48px), transparent 100%);
	mask-image: linear-gradient(to right, black calc(100% - 48px), transparent 100%);
}
.shop-cat-nav__inner::-webkit-scrollbar { display: none; }

/* ── Category tabs ─────────────────────────────────────────── */
.shop-cat-tab {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: 7px var(--space-4);
	border-radius: var(--radius-full);
	border: 1px solid rgba(255,255,255,.09);
	background:
		linear-gradient(
			160deg,
			rgba(255,255,255,.058) 0%,
			rgba(255,255,255,.02)  60%,
			rgba(0,0,0,.08)        100%
		);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	color: rgba(255,255,255,.42);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	text-transform: uppercase;
	letter-spacing: .06em;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	position: relative;
	overflow: hidden;
	transition:
		border-color .3s cubic-bezier(.4,0,.2,1),
		color        .3s cubic-bezier(.4,0,.2,1),
		background   .3s cubic-bezier(.4,0,.2,1),
		box-shadow   .3s cubic-bezier(.4,0,.2,1),
		transform    .22s cubic-bezier(.4,0,.2,1);
}

/* Top specular glass line */
.shop-cat-tab::before {
	content: '';
	position: absolute;
	top: 0; left: 10%; right: 10%;
	height: 1px;
	background: linear-gradient(90deg,
		transparent 0%,
		rgba(255,255,255,.26) 50%,
		transparent 100%
	);
	pointer-events: none;
	transition: background .3s;
	z-index: 3;
}

/* Diagonal shimmer sweep */
.shop-cat-tab::after {
	content: '';
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 45%;
	background: linear-gradient(90deg,
		transparent 0%,
		rgba(255,255,255,.14) 50%,
		transparent 100%
	);
	transform: translateX(-120%) skewX(-20deg);
	pointer-events: none;
	z-index: 2;
}

/* Hover — 4-layer glow + shimmer sweep */
.shop-cat-tab:hover {
	border-color: color-mix(in srgb, var(--tab-color, #2563eb) 65%, transparent);
	color: #fff;
	background:
		linear-gradient(
			160deg,
			color-mix(in srgb, var(--tab-color, #2563eb) 22%, transparent) 0%,
			color-mix(in srgb, var(--tab-color, #2563eb) 10%, transparent) 100%
		);
	box-shadow:
		0 0  7px 0   color-mix(in srgb, var(--tab-color, #2563eb) 62%, transparent),
		0 0 20px 0   color-mix(in srgb, var(--tab-color, #2563eb) 34%, transparent),
		0 0 40px 0   color-mix(in srgb, var(--tab-color, #2563eb) 16%, transparent),
		0 0 64px 0   color-mix(in srgb, var(--tab-color, #2563eb)  7%, transparent),
		0 4px 16px   rgba(0,0,0,.45),
		inset 0 1px 0 rgba(255,255,255,.20);
	transform: translateY(-2px);
}
.shop-cat-tab:hover::after {
	/* animation-fill-mode: none so rapid hover/unhover re-triggers the sweep */
	animation: shop-shimmer .62s ease none;
}

/* Active — 4-layer pulsing neon, full-intensity border, clearly distinct from idle */
.shop-cat-tab--active {
	border-color: var(--tab-color, #2563eb);
	border-width: 1.5px;
	color: #fff;
	background:
		linear-gradient(
			160deg,
			color-mix(in srgb, var(--tab-color, #2563eb) 34%, transparent) 0%,
			color-mix(in srgb, var(--tab-color, #2563eb) 16%, transparent) 100%
		);
	text-shadow: 0 0 14px color-mix(in srgb, var(--tab-color, #2563eb) 85%, #fff);
	animation: shop-tab-pulse 2.6s ease-in-out infinite;
	transform: translateY(-1px);
	will-change: box-shadow;
}
.shop-cat-tab--active::before {
	background: linear-gradient(90deg,
		transparent 0%,
		rgba(255,255,255,.44) 50%,
		transparent 100%
	);
}

.shop-cat-tab__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: var(--radius-full);
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.1);
	font-size: 10px;
	font-weight: var(--weight-bold);
	letter-spacing: 0;
	text-transform: none;
	line-height: 1;
	transition: background .3s, border-color .3s, box-shadow .3s;
}

.shop-cat-tab--active .shop-cat-tab__count {
	background: color-mix(in srgb, var(--tab-color, #2563eb) 38%, transparent);
	border-color: color-mix(in srgb, var(--tab-color, #2563eb) 65%, transparent);
	box-shadow: 0 0 8px color-mix(in srgb, var(--tab-color, #2563eb) 44%, transparent);
}

/* ── Shop content wrapper ─────────────────────────────────── */
.shop-content { background: #070d1a; }

/* ── Category section ─────────────────────────────────────── */
.shop-cat-section {
	position: relative;
	padding: var(--space-16) 0 var(--space-14);
	border-bottom: 1px solid rgba(255,255,255,.05);
	overflow: hidden;
}
.shop-cat-section + .shop-cat-section { border-top: none; }

/* Animated grid */
.shop-cat-section__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(color-mix(in srgb, var(--sec-color, #2563eb) 7%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--sec-color, #2563eb) 7%, transparent) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
	opacity: .65;
	animation: shop-section-glow-pulse 6s ease-in-out infinite;
}

/* Top accent bar with 3-layer neon glow */
.shop-cat-section::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg,
		transparent 0%,
		color-mix(in srgb, var(--sec-color, #2563eb) 65%, transparent) 15%,
		var(--sec-color, #2563eb) 42%,
		color-mix(in srgb, var(--sec-color, #2563eb) 88%, #fff) 50%,
		var(--sec-color, #2563eb) 58%,
		color-mix(in srgb, var(--sec-color, #2563eb) 65%, transparent) 85%,
		transparent 100%
	);
	box-shadow:
		0 0 10px 0  var(--sec-color, #2563eb),
		0 0 24px 0  color-mix(in srgb, var(--sec-color, #2563eb) 58%, transparent),
		0 0 48px 0  color-mix(in srgb, var(--sec-color, #2563eb) 26%, transparent);
}

/* Ambient corner glow */
.shop-cat-section::after {
	content: '';
	position: absolute;
	top: -100px; left: -100px;
	width: 500px; height: 500px;
	background: radial-gradient(circle,
		color-mix(in srgb, var(--sec-color, #2563eb) 9%, transparent) 0%,
		transparent 65%
	);
	pointer-events: none;
}

/* Category header */
.shop-cat-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--space-4);
	margin-bottom: var(--space-8);
	position: relative;
	z-index: 1;
}
.shop-cat-header__label {
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--sec-color, #2563eb);
	font-weight: var(--weight-semibold);
	margin-bottom: var(--space-1);
	display: block;
	text-shadow: 0 0 14px color-mix(in srgb, var(--sec-color, #2563eb) 75%, transparent);
}
.shop-cat-title {
	font-size: clamp(var(--text-xl), 3vw, var(--text-3xl));
	font-weight: var(--weight-bold);
	color: rgba(255,255,255,.95);
	letter-spacing: -0.025em;
	line-height: var(--leading-tight);
	margin: 0 0 var(--space-2);
	position: relative;
	display: inline-block;
}
.shop-cat-title::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg,
		var(--sec-color, #2563eb) 0%,
		color-mix(in srgb, var(--sec-color, #2563eb) 40%, transparent) 100%
	);
	box-shadow:
		0 0  8px var(--sec-color, #2563eb),
		0 0 20px color-mix(in srgb, var(--sec-color, #2563eb) 52%, transparent);
	border-radius: 1px;
}
.shop-cat-desc {
	font-size: var(--text-sm);
	color: rgba(255,255,255,.45);
	margin: var(--space-2) 0 0;
}
.shop-cat-header__count {
	font-size: var(--text-sm);
	color: rgba(255,255,255,.35);
	white-space: nowrap;
	padding: var(--space-1) var(--space-3);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: var(--radius-full);
	background: rgba(255,255,255,.03);
}

/* ── Product grid ─────────────────────────────────────────── */
.shop-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--space-5);
	position: relative;
	z-index: 1;
}

/* ── Product card ─────────────────────────────────────────── */
.shop-product-card {
	background: linear-gradient(160deg, #0d1628 0%, #0a1020 100%);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: var(--radius-xl);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition:
		border-color .35s cubic-bezier(.4,0,.2,1),
		box-shadow   .35s cubic-bezier(.4,0,.2,1),
		transform    .35s cubic-bezier(.4,0,.2,1),
		background   .35s ease;
	position: relative;
}
.shop-product-card:hover {
	border-color: color-mix(in srgb, var(--sec-color, #2563eb) 72%, transparent);
	background: linear-gradient(160deg,
		color-mix(in srgb, var(--sec-color, #2563eb) 6%, #0d1628) 0%,
		#0a1020 100%
	);
	box-shadow:
		0 0  0   1px color-mix(in srgb, var(--sec-color, #2563eb) 28%, transparent),
		0 0 18px 0   color-mix(in srgb, var(--sec-color, #2563eb) 28%, transparent),
		0 0 44px 0   color-mix(in srgb, var(--sec-color, #2563eb) 12%, transparent),
		0 18px 52px  rgba(0,0,0,.65);
}
/* Lift + scale only on true pointer devices — prevents jitter on touch */
@media (hover: hover) {
	.shop-product-card:hover { transform: translateY(-6px) scale(1.012); }
}

/* Top accent line — sweeps in from left on hover */
.shop-product-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg,
		transparent 0%,
		var(--sec-color, #2563eb) 25%,
		color-mix(in srgb, var(--sec-color, #2563eb) 70%, #fff) 50%,
		var(--sec-color, #2563eb) 75%,
		transparent 100%
	);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s cubic-bezier(.4,0,.2,1);
	z-index: 2;
	box-shadow: 0 0 12px var(--sec-color, #2563eb);
}
.shop-product-card:hover::before { transform: scaleX(1); }

/* Product image */
.shop-product-card__img-wrap {
	display: block;
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #0a1020;
}
.shop-product-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s cubic-bezier(.4,0,.2,1);
}
.shop-product-card:hover .shop-product-card__img {
	transform: scale(1.08);
}
.shop-product-card__img-glow {
	position: absolute;
	inset: 0;
	box-shadow:
		inset 0 0 0  2px color-mix(in srgb, var(--sec-color, #2563eb) 58%, transparent),
		inset 0 0 28px   color-mix(in srgb, var(--sec-color, #2563eb) 16%, transparent);
	opacity: 0;
	transition: opacity .35s;
	pointer-events: none;
	z-index: 1;
}
.shop-product-card:hover .shop-product-card__img-glow { opacity: 1; }

.shop-product-card__img-placeholder {
	width: 100%; height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #0a1020 0%, #0d1527 100%);
	color: rgba(255,255,255,.12);
}

/* Affiliate badge */
.shop-product-card__badge {
	position: absolute;
	top: var(--space-2);
	right: var(--space-2);
	padding: 2px var(--space-2);
	background: rgba(0,0,0,.65);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: var(--radius-sm);
	font-size: 10px;
	font-weight: var(--weight-semibold);
	color: rgba(255,255,255,.48);
	text-transform: uppercase;
	letter-spacing: .06em;
	z-index: 3;
	backdrop-filter: blur(8px);
}

/* Product body */
.shop-product-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5) var(--space-5);
	flex: 1;
}
.shop-product-card__title {
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-snug);
	margin: 0;
	/* Clamp to 2 lines — keeps card heights uniform in the product grid */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.shop-product-card__title a {
	color: rgba(255,255,255,.9);
	text-decoration: none;
	transition: color .2s;
}
.shop-product-card__title a:hover { color: var(--sec-color, #2563eb); }
.shop-product-card__price {
	font-size: var(--text-lg);
	font-weight: var(--weight-bold);
	color: var(--sec-color, #2563eb);
}
.shop-product-card__price .woocommerce-Price-amount { color: inherit; }
.shop-product-card__price del { color: rgba(255,255,255,.3); font-weight: var(--weight-regular); font-size: var(--text-sm); }
.shop-product-card__price ins { text-decoration: none; }

/* ── 3D Neon CTA button ────────────────────────────────────── */
.shop-product-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: 10px var(--space-5);
	border-radius: var(--radius-full);
	background:
		linear-gradient(
			175deg,
			color-mix(in srgb, var(--sec-color, #2563eb) 38%, transparent) 0%,
			color-mix(in srgb, var(--sec-color, #2563eb) 20%, transparent) 55%,
			color-mix(in srgb, var(--sec-color, #2563eb) 11%, transparent) 100%
		);
	border: 1.5px solid color-mix(in srgb, var(--sec-color, #2563eb) 58%, transparent);
	color: color-mix(in srgb, var(--sec-color, #2563eb) 92%, #fff);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	text-decoration: none;
	margin-top: auto;
	position: relative;
	overflow: hidden;
	box-shadow:
		0 2px 0   1px rgba(0,0,0,.38),
		0 0  14px 0   color-mix(in srgb, var(--sec-color, #2563eb) 22%, transparent);
	transition:
		background   .28s cubic-bezier(.4,0,.2,1),
		box-shadow   .28s cubic-bezier(.4,0,.2,1),
		transform    .22s cubic-bezier(.4,0,.2,1),
		border-color .28s cubic-bezier(.4,0,.2,1),
		color        .22s ease;
}

/* Top specular highlight — 3D pill illusion */
.shop-product-card__btn::before {
	content: '';
	position: absolute;
	top: 0; left: 8%; right: 8%;
	height: 42%;
	background: linear-gradient(180deg,
		rgba(255,255,255,.24) 0%,
		rgba(255,255,255,.07) 60%,
		transparent 100%
	);
	border-radius: 0 0 50% 50% / 0 0 100% 100%;
	pointer-events: none;
	z-index: 2;
}

/* Diagonal shimmer sweep */
.shop-product-card__btn::after {
	content: '';
	position: absolute;
	top: -20%; bottom: -20%; left: 0;
	width: 40%;
	background: linear-gradient(90deg,
		transparent 0%,
		rgba(255,255,255,.17) 45%,
		rgba(255,255,255,.06) 75%,
		transparent 100%
	);
	transform: translateX(-120%) skewX(-20deg);
	pointer-events: none;
	z-index: 3;
}

.shop-product-card__btn svg {
	transition: transform .28s cubic-bezier(.4,0,.2,1);
	position: relative;
	z-index: 4;
}
.shop-product-card__btn span {
	position: relative;
	z-index: 4;
}

/* Hover — full 4-layer neon glow, lift + scale */
.shop-product-card__btn:hover {
	background:
		linear-gradient(
			175deg,
			color-mix(in srgb, var(--sec-color, #2563eb) 54%, transparent) 0%,
			color-mix(in srgb, var(--sec-color, #2563eb) 32%, transparent) 55%,
			color-mix(in srgb, var(--sec-color, #2563eb) 19%, transparent) 100%
		);
	border-color: color-mix(in srgb, var(--sec-color, #2563eb) 88%, #fff);
	color: #fff;
	box-shadow:
		0 2px  0   1px rgba(0,0,0,.42),
		0 0    8px 0   color-mix(in srgb, var(--sec-color, #2563eb) 88%, transparent),
		0 0   22px 0   color-mix(in srgb, var(--sec-color, #2563eb) 55%, transparent),
		0 0   44px 0   color-mix(in srgb, var(--sec-color, #2563eb) 28%, transparent),
		0 0   72px 0   color-mix(in srgb, var(--sec-color, #2563eb) 12%, transparent),
		0 8px 28px 0   rgba(0,0,0,.55);
	text-shadow: 0 0 14px rgba(255,255,255,.52);
}
/* Lift + scale only on true pointer devices — prevents mis-fires on touch */
@media (hover: hover) {
	.shop-product-card__btn:hover { transform: translateY(-4px) scale(1.048); }
}
.shop-product-card__btn:hover::after {
	animation: shop-shimmer .72s ease none;
}
.shop-product-card__btn:hover svg { transform: translateX(4px); }

/* Pressed state */
.shop-product-card__btn:active {
	transform: translateY(-1px) scale(1.01);
	box-shadow:
		0 1px 0   1px rgba(0,0,0,.52),
		0 0   6px 0   color-mix(in srgb, var(--sec-color, #2563eb) 58%, transparent),
		0 0  18px 0   color-mix(in srgb, var(--sec-color, #2563eb) 30%, transparent);
	transition-duration: .1s;
}

/* ── Reduced-motion: btn pressed still works ──────────────── */
@media (prefers-reduced-motion: reduce) {
	.shop-product-card__btn:active {
		transform: none !important;
	}
}

/* ── AAWP Buttons — full 3D neon treatment on shop page ─── */
/* NOTE: .page-id-shop was removed — WordPress NEVER generates that class.
   Body class is always page-id-{number} (e.g. page-id-42).
   .page-template-page-shop is the correct and only reliable selector. */
.page-template-page-shop .aawp-button {
	background:
		linear-gradient(
			175deg,
			rgba(37,99,235,.40) 0%,
			rgba(37,99,235,.20) 55%,
			rgba(37,99,235,.12) 100%
		) !important;
	background-image: none !important;
	border: 1.5px solid rgba(37,99,235,.62) !important;
	color: #c7d9ff !important;
	border-radius: var(--radius-full) !important;
	position: relative !important;
	overflow: hidden !important;
	box-shadow:
		0 2px 0   1px rgba(0,0,0,.36),
		0 0  14px 0   rgba(37,99,235,.22) !important;
	transition:
		background   .28s ease,
		box-shadow   .28s ease,
		transform    .22s ease,
		border-color .28s ease !important;
}
.page-template-page-shop .aawp-button:hover,
.page-template-page-shop .aawp-button:focus {
	background:
		linear-gradient(
			175deg,
			rgba(37,99,235,.60) 0%,
			rgba(37,99,235,.35) 55%,
			rgba(37,99,235,.20) 100%
		) !important;
	background-image: none !important;
	border-color: rgba(96,165,250,.90) !important;
	color: #fff !important;
	box-shadow:
		0 2px  0   1px rgba(0,0,0,.42),
		0 0    8px 0   rgba(37,99,235,.90),
		0 0   24px 0   rgba(37,99,235,.55),
		0 0   46px 0   rgba(37,99,235,.24),
		0 8px 28px 0   rgba(0,0,0,.55) !important;
	transform: translateY(-4px) scale(1.04) !important;
}
.page-template-page-shop .aawp-button:active {
	transform: translateY(-1px) scale(1.01) !important;
	box-shadow:
		0 1px 0   1px rgba(0,0,0,.52),
		0 0   6px 0   rgba(37,99,235,.62),
		0 0  20px 0   rgba(37,99,235,.32) !important;
	transition-duration: .1s !important;
}

/* ── Editor content area ─────────────────────────────────── */
.shop-editor-wrap {
	background: #070d1a;
	padding: var(--space-16) 0;
}
.shop-editor-wrap--secondary {
	border-top: 1px solid rgba(255,255,255,.05);
}
.shop-section-title {
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	color: rgba(255,255,255,.9);
	margin-bottom: var(--space-8);
	letter-spacing: -0.02em;
}
.shop-editor-content {
	color: rgba(255,255,255,.78);
}
.shop-editor-content p { color: rgba(255,255,255,.78); }
.shop-editor-content a { color: #60a5fa; }
.shop-editor-content a:hover { color: #93c5fd; }
.shop-editor-content h2,
.shop-editor-content h3 { color: rgba(255,255,255,.92); margin-block: var(--space-6) var(--space-3); }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 768px) {
	.shop-product-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-4);
	}
	.shop-cat-header { flex-direction: column; align-items: flex-start; }
	.shop-hero__title { font-size: 2.4rem; }
}
@media (max-width: 480px) {
	.shop-product-grid { grid-template-columns: 1fr; }
}

/* ── Scroll smooth ─────────────────────────────────────────── */
html { scroll-behavior: smooth; }

/* ═══════════════════════════════════════════════════════════════
   SIDEBAR SPECIALS
   – Recent Comments: komplett ausblenden
   – Recent Posts: spektakuläre Glow-Hover-Effekte
   ═══════════════════════════════════════════════════════════════ */

/* Recent Comments auf allen Seiten vollständig verstecken */
.widget_recent_comments { display: none !important; }

/* ── Recent Posts Basis ──────────────────────────────────── */
body.single .widget_recent_posts ul,
body.page:not(.home) .widget_recent_posts ul,
body.archive .widget_recent_posts ul,
body.blog .widget_recent_posts ul,
body.category .widget_recent_posts ul,
body.search .widget_recent_posts ul,
body.tag .widget_recent_posts ul,
body.author .widget_recent_posts ul,
body.date .widget_recent_posts ul {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: rp-cnt;
}

body.single .widget_recent_posts ul li,
body.page:not(.home) .widget_recent_posts ul li,
body.archive .widget_recent_posts ul li,
body.blog .widget_recent_posts ul li,
body.category .widget_recent_posts ul li,
body.search .widget_recent_posts ul li,
body.tag .widget_recent_posts ul li,
body.author .widget_recent_posts ul li,
body.date .widget_recent_posts ul li {
	counter-increment: rp-cnt;
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(37,99,235,.14);
	border-radius: 8px;
	margin-bottom: 8px;
	background: rgba(37,99,235,.03);
	transition:
		border-color .28s ease,
		background    .28s ease,
		transform     .22s ease,
		box-shadow    .28s ease;
}

/* Scan-Line Sweep auf Hover */
body.single .widget_recent_posts ul li::before,
body.page:not(.home) .widget_recent_posts ul li::before,
body.archive .widget_recent_posts ul li::before,
body.blog .widget_recent_posts ul li::before,
body.category .widget_recent_posts ul li::before,
body.search .widget_recent_posts ul li::before,
body.tag .widget_recent_posts ul li::before,
body.author .widget_recent_posts ul li::before,
body.date .widget_recent_posts ul li::before {
	content: '';
	position: absolute;
	inset: 0 100% 0 -100%;
	background: linear-gradient(90deg, transparent, rgba(96,165,250,.13), transparent);
	transition: inset .45s ease;
	pointer-events: none;
	z-index: 0;
}

body.single .widget_recent_posts ul li:hover::before,
body.page:not(.home) .widget_recent_posts ul li:hover::before,
body.archive .widget_recent_posts ul li:hover::before,
body.blog .widget_recent_posts ul li:hover::before,
body.category .widget_recent_posts ul li:hover::before,
body.search .widget_recent_posts ul li:hover::before,
body.tag .widget_recent_posts ul li:hover::before,
body.author .widget_recent_posts ul li:hover::before,
body.date .widget_recent_posts ul li:hover::before {
	inset: 0 -100% 0 100%;
}

/* Tech-Counter rechts unten */
body.single .widget_recent_posts ul li::after,
body.page:not(.home) .widget_recent_posts ul li::after,
body.archive .widget_recent_posts ul li::after,
body.blog .widget_recent_posts ul li::after,
body.category .widget_recent_posts ul li::after,
body.search .widget_recent_posts ul li::after,
body.tag .widget_recent_posts ul li::after,
body.author .widget_recent_posts ul li::after,
body.date .widget_recent_posts ul li::after {
	content: counter(rp-cnt, decimal-leading-zero);
	position: absolute;
	bottom: 5px;
	right: 8px;
	font-size: .58rem;
	color: rgba(37,99,235,.22);
	font-family: 'Courier New', monospace;
	font-weight: 700;
	letter-spacing: .08em;
	pointer-events: none;
	line-height: 1;
	transition: color .28s ease;
}

body.single .widget_recent_posts ul li:hover::after,
body.page:not(.home) .widget_recent_posts ul li:hover::after,
body.archive .widget_recent_posts ul li:hover::after,
body.blog .widget_recent_posts ul li:hover::after,
body.category .widget_recent_posts ul li:hover::after,
body.search .widget_recent_posts ul li:hover::after,
body.tag .widget_recent_posts ul li:hover::after,
body.author .widget_recent_posts ul li:hover::after,
body.date .widget_recent_posts ul li:hover::after {
	color: rgba(96,165,250,.55);
}

/* Hover: Glow + Slide-Right + linke Akzentlinie */
body.single .widget_recent_posts ul li:hover,
body.page:not(.home) .widget_recent_posts ul li:hover,
body.archive .widget_recent_posts ul li:hover,
body.blog .widget_recent_posts ul li:hover,
body.category .widget_recent_posts ul li:hover,
body.search .widget_recent_posts ul li:hover,
body.tag .widget_recent_posts ul li:hover,
body.author .widget_recent_posts ul li:hover,
body.date .widget_recent_posts ul li:hover {
	border-color: rgba(37,99,235,.52);
	background: rgba(37,99,235,.08);
	transform: translateX(5px);
	box-shadow:
		inset  3px  0  0  0   rgba(37,99,235,.85),
		0       0   0  1px    rgba(37,99,235,.2),
		0       4px 18px      rgba(37,99,235,.2),
		0       0   22px      rgba(37,99,235,.1);
}

/* Link */
body.single .widget_recent_posts ul li a,
body.page:not(.home) .widget_recent_posts ul li a,
body.archive .widget_recent_posts ul li a,
body.blog .widget_recent_posts ul li a,
body.category .widget_recent_posts ul li a,
body.search .widget_recent_posts ul li a,
body.tag .widget_recent_posts ul li a,
body.author .widget_recent_posts ul li a,
body.date .widget_recent_posts ul li a {
	display: block;
	padding: 11px 24px 11px 13px;
	font-size: .78rem;
	line-height: 1.45;
	color: rgba(255,255,255,.62);
	text-decoration: none;
	position: relative;
	z-index: 1;
	transition: color .28s ease, text-shadow .28s ease;
}

body.single .widget_recent_posts ul li:hover a,
body.page:not(.home) .widget_recent_posts ul li:hover a,
body.archive .widget_recent_posts ul li:hover a,
body.blog .widget_recent_posts ul li:hover a,
body.category .widget_recent_posts ul li:hover a,
body.search .widget_recent_posts ul li:hover a,
body.tag .widget_recent_posts ul li:hover a,
body.author .widget_recent_posts ul li:hover a,
body.date .widget_recent_posts ul li:hover a {
	color: #93c5fd;
	text-shadow: 0 0 14px rgba(96,165,250,.38);
}

/* Widget-Titel: Neon-Unterstrich über volle Breite */
body.single .widget_recent_posts .widget-title,
body.page:not(.home) .widget_recent_posts .widget-title,
body.archive .widget_recent_posts .widget-title,
body.blog .widget_recent_posts .widget-title,
body.category .widget_recent_posts .widget-title,
body.search .widget_recent_posts .widget-title,
body.tag .widget_recent_posts .widget-title,
body.author .widget_recent_posts .widget-title,
body.date .widget_recent_posts .widget-title {
	text-shadow: 0 0 20px rgba(37,99,235,.4);
	letter-spacing: .04em;
}

body.single .widget_recent_posts .widget-title::after,
body.page:not(.home) .widget_recent_posts .widget-title::after,
body.archive .widget_recent_posts .widget-title::after,
body.blog .widget_recent_posts .widget-title::after,
body.category .widget_recent_posts .widget-title::after,
body.search .widget_recent_posts .widget-title::after,
body.tag .widget_recent_posts .widget-title::after,
body.author .widget_recent_posts .widget-title::after,
body.date .widget_recent_posts .widget-title::after {
	width: 100%;
	background: linear-gradient(90deg, #2563eb 0%, #60a5fa 50%, transparent 100%);
	box-shadow: 0 0 8px rgba(37,99,235,.6);
	opacity: .85;
}

/* ═══════════════════════════════════════════════════════════════
   AUTHOR BOX: Links section (YouTube + alle Beiträge)
   ═══════════════════════════════════════════════════════════════ */

.author-box__links {
	display: flex;
	gap: var(--space-3);
	margin-top: var(--space-3);
	flex-wrap: wrap;
}

.author-box__link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	color: rgba(255,255,255,.48);
	text-decoration: none;
	padding: 4px 10px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 20px;
	transition: color .22s ease, border-color .22s ease, background .22s ease;
}

.author-box__link:hover {
	color: #93c5fd;
	border-color: rgba(37,99,235,.45);
	background: rgba(37,99,235,.08);
}

.author-box__link--yt svg { fill: #ff4444; }
.author-box__link--yt:hover { color: #ff6666; border-color: rgba(255,68,68,.4); background: rgba(255,68,68,.06); }

/* ═══════════════════════════════════════════════════════════════
   ÜBER TOBIAS — Homepage-Sektion
   ═══════════════════════════════════════════════════════════════ */

.about-tobias {
	background: #f8fafc;
	padding: var(--space-20) 0;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.about-tobias__inner {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: var(--space-12);
	align-items: center;
}

.about-tobias__image-col {
	display: flex;
	justify-content: center;
}

.about-tobias__avatar-wrap {
	position: relative;
	display: inline-block;
}

.about-tobias__avatar {
	width: 180px;
	height: 180px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	border: 3px solid var(--color-accent);
	position: relative;
	z-index: 1;
}

.about-tobias__avatar-ring {
	position: absolute;
	inset: -8px;
	border-radius: 50%;
	border: 2px solid rgba(37,99,235,.18);
	pointer-events: none;
}

.about-tobias__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--color-accent);
	margin-bottom: var(--space-2);
}

.about-tobias__title {
	font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
	font-weight: var(--weight-bold);
	color: var(--color-text);
	letter-spacing: -0.02em;
	margin: 0 0 var(--space-1);
}

.about-tobias__tagline {
	font-size: var(--text-base);
	color: var(--color-text-muted);
	margin-bottom: var(--space-4);
	font-weight: var(--weight-medium);
}

.about-tobias__bio {
	font-size: var(--text-base);
	color: var(--color-text-muted);
	line-height: var(--leading-relaxed);
	max-width: 600px;
	margin-bottom: var(--space-5);
}

.about-tobias__topics {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-6);
}

.about-tobias__topic {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	color: var(--color-text-muted);
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-full);
	padding: 4px 12px;
}

.about-tobias__topic svg { opacity: .65; }

.about-tobias__actions {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
}

.about-tobias__btn {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-5);
	border-radius: var(--radius-full);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	text-decoration: none;
	transition: background .22s ease, box-shadow .22s ease, transform .18s ease;
}

.about-tobias__btn--yt {
	background: #ff0000;
	color: #fff;
}

.about-tobias__btn--yt:hover {
	background: #cc0000;
	box-shadow: 0 4px 18px rgba(255,0,0,.3);
	transform: translateY(-2px);
	color: #fff;
}

.about-tobias__btn--ghost {
	background: transparent;
	color: var(--color-text-muted);
	border: 1px solid var(--color-border);
}

.about-tobias__btn--ghost:hover {
	color: var(--color-accent);
	border-color: var(--color-accent);
	background: rgba(37,99,235,.05);
	transform: translateY(-2px);
}

@media (max-width: 768px) {
	.about-tobias__inner {
		grid-template-columns: 1fr;
		text-align: center;
		gap: var(--space-8);
	}
	.about-tobias__topics,
	.about-tobias__actions {
		justify-content: center;
	}
	.about-tobias__bio {
		margin-left: auto;
		margin-right: auto;
	}
	.about-tobias__avatar {
		width: 140px;
		height: 140px;
	}
}

@media (max-width: 480px) {
	.about-tobias { padding: var(--space-12) 0; }
}

/* ═══════════════════════════════════════════════════════════════
   KATEGORIE-ARCHIV: Icon-Header + Beitragsanzahl
   ═══════════════════════════════════════════════════════════════ */

.cat-archive-header__inner {
	display: flex;
	gap: var(--space-6);
	align-items: flex-start;
}

.cat-archive-header__icon {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: var(--radius-lg);
	background: rgba(255,255,255,.08);
	border: 1px solid var(--cat-header-color, rgba(255,255,255,.12));
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cat-header-color, rgba(255,255,255,.7));
	box-shadow: 0 0 16px color-mix(in srgb, var(--cat-header-color, #2563eb) 30%, transparent);
	margin-top: var(--space-1);
}

.cat-archive-header__icon svg {
	width: 26px;
	height: 26px;
}

.cat-archive-header__text {
	flex: 1;
}

.cat-archive-count {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: var(--text-sm);
	color: rgba(255,255,255,.35);
	margin-top: var(--space-2);
}

/* Post-card meta: readtime in card header */
.post-card__meta .post-readtime {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	opacity: .8;
}

/* Dark variant (archive header dark-mode fixes) */
body.category .cat-archive-header__icon,
body.tag .cat-archive-header__icon,
body.author .cat-archive-header__icon {
	background: rgba(255,255,255,.06);
}

/* ═══════════════════════════════════════════════════════════════
   EASY TABLE OF CONTENTS — Dark Mode (Single Post)
   ═══════════════════════════════════════════════════════════════ */

body.single .ez-toc-container,
body.single #ez-toc-container {
	background: rgba(37,99,235,.06) !important;
	border: 1px solid rgba(37,99,235,.2) !important;
	border-radius: var(--radius-md) !important;
}

body.single .ez-toc-title,
body.single #ez-toc-container .ez-toc-title {
	color: rgba(255,255,255,.88) !important;
}

body.single #ez-toc-container nav a,
body.single .ez-toc-container nav a {
	color: #60a5fa !important;
}

body.single #ez-toc-container nav a:hover,
body.single .ez-toc-container nav a:hover {
	color: #93c5fd !important;
}

body.single .ez-toc-list li,
body.single #ez-toc-container li {
	border-color: rgba(255,255,255,.06) !important;
	color: rgba(255,255,255,.62) !important;
}

/* ── Post-card meta row: readtime display in dark archive contexts ── */
body.archive .post-card__meta .post-readtime,
body.blog .post-card__meta .post-readtime,
body.category .post-card__meta .post-readtime,
body.search .post-card__meta .post-readtime,
body.tag .post-card__meta .post-readtime,
body.author .post-card__meta .post-readtime,
body.single .related-posts-grid .post-readtime {
	color: rgba(255,255,255,.3);
}

/* ── Article image captions ─────────────────────────────── */
body.single .entry-content figcaption,
body.page:not(.home) .entry-content figcaption {
	font-size: var(--text-xs);
	color: rgba(255,255,255,.38);
	text-align: center;
	margin-top: var(--space-2);
	font-style: italic;
}

/* ── Post header: dark gradient background with noise texture ── */
.single-post-header {
	position: relative;
	overflow: hidden;
}
