/**
 * Vision Vectors — Premium polish & accessibility layer (v1.1)
 * Color-blind safe palette, WCAG-friendly contrast, refined widgets.
 */

/* ── Design tokens (Okabe–Ito inspired, deuteranopia/protanopia safe) ── */
:root {
	--vv-ink: #1a2332;
	--vv-muted: #4a5568;
	--vv-paper: #faf9f6;
	--vv-brand: #00796b;
	--vv-brand-dark: #00564d;
	--vv-saffron: #c45c00;
	--vv-border: #d8dee4;
	--vv-shadow: 0 12px 32px rgba(21, 38, 48, 0.07);
	--vv-shadow-hover: 0 20px 48px rgba(21, 38, 48, 0.12);
	--vv-radius-sm: 10px;
	--vv-radius-md: 16px;
	--vv-radius-lg: 20px;
	--vv-focus-ring: 3px solid #00796b;
	--vv-focus-offset: 3px;
	--vv-link-underline: 0.12em;
	--vv-cb-safe-1: #0072b2;
	--vv-cb-safe-2: #e69f00;
	--vv-cb-safe-3: #009e73;
	--vv-cb-safe-4: #d55e00;
	--vv-cb-safe-5: #cc79a7;
	--vv-cb-safe-6: #56b4e9;
	--vv-cb-safe-7: #882255;
	--vv-cb-safe-8: #332288;
	--pt-accent-color: var(--vv-brand);
	--pt-second-color: var(--vv-saffron);
	--pt-body-color: var(--vv-ink);
	--pt-body-bg-color: var(--vv-paper);
	--pt-headings-color: var(--vv-ink);
	--pt-border-color: var(--vv-border);
	--pt-card-bg: #ffffff;
	--pt-shadow-soft: var(--vv-shadow);
	--pt-soft-radius: var(--vv-radius-md);
}

html[scheme="dark"] {
	--vv-ink: #f1f5f9;
	--vv-muted: #94a3b8;
	--vv-paper: #0b0f19;
	--vv-card-bg: #161c28;
	--vv-border: rgba(255, 255, 255, 0.1);
	--pt-body-color: #f1f5f9;
	--pt-body-bg-color: #0b0f19;
	--pt-headings-color: #ffffff;
	--pt-card-bg: #161c28;
	--pt-border-color: rgba(255, 255, 255, 0.1);
}

/* ── Global typography & readability ── */
body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: rgba(0, 121, 107, 0.18);
	color: var(--vv-ink);
}

/* Visible focus for keyboard users (not mouse clicks) */
:focus {
	outline: none;
}

:focus-visible {
	outline: var(--vv-focus-ring);
	outline-offset: var(--vv-focus-offset);
}

a:not([class]) {
	text-decoration: underline;
	text-decoration-thickness: var(--vv-link-underline);
	text-underline-offset: 0.18em;
}

/* ── Premium header (expanded) ── */
#site-header,
.vv-site-header {
	/* Gradient accent bottom border */
	border-bottom: 1px solid transparent;
	background-image:
		linear-gradient(rgba(250, 249, 246, 0.92), rgba(250, 249, 246, 0.92)),
		linear-gradient(90deg, var(--vv-brand-dark), var(--vv-saffron));
	background-origin: border-box;
	background-clip: padding-box, border-box;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
	transition: padding 0.3s ease, box-shadow 0.3s ease;
}

/* Slightly taller on desktop to feel premium */
.vv-header-shell {
	padding-top: 1.4rem;
	padding-bottom: 1.4rem;
	transition: padding 0.3s ease;
}

/* Shrink when scrolled (class added by inline JS) */
.vv-site-header.site-header--scrolled {
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.09);
}
.vv-site-header.site-header--scrolled .vv-header-shell {
	padding-top: 0.65rem;
	padding-bottom: 0.65rem;
}

html[scheme="dark"] #site-header,
html[scheme="dark"] .vv-site-header {
	background-image:
		linear-gradient(rgba(31, 35, 40, 0.94), rgba(31, 35, 40, 0.94)),
		linear-gradient(90deg, var(--vv-brand), var(--vv-saffron));
	border-bottom-color: transparent;
	box-shadow: none;
}

/* Logo bump */
.vv-brand-logo,
.vv-logo-inner a {
	font-size: 1.95rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	transition: opacity 0.2s ease;
}

.vv-brand-logo:hover,
.vv-logo-inner a:hover {
	opacity: 0.82;
}

/* Nav animated underline via scaleX (GPU-composited) */
.vv-primary-menu a,
.vv-primary-navigation a {
	position: relative;
	padding-bottom: 3px;
}

.vv-primary-menu a::after,
.vv-primary-navigation a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: var(--vv-brand);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	border-radius: 2px;
}

.vv-primary-menu a:hover::after,
.vv-primary-navigation a:hover::after,
.vv-primary-menu li.current-menu-item > a::after,
.vv-primary-navigation li.current-menu-item > a::after,
.vv-primary-menu a[aria-current="page"]::after,
.vv-primary-navigation a[aria-current="page"]::after {
	transform: scaleX(1);
}

/* Subscribe button — hover-only glow, no continuous pulse */
.vv-subscribe-link {
	transition:
		background-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.15s ease !important;
}

.vv-subscribe-link:hover {
	box-shadow: 0 0 0 4px rgba(0, 121, 107, 0.25), 0 4px 12px rgba(0, 121, 107, 0.3) !important;
	transform: translateY(-1px);
}

/* Focus ring: outline + box-shadow (visible on dark backgrounds) */
:focus-visible {
	outline: var(--vv-focus-ring);
	outline-offset: var(--vv-focus-offset);
	box-shadow: 0 0 0 6px rgba(0, 121, 107, 0.18);
	border-radius: 3px;
}

/* Skip link: visually appears on focus */
.skip-link {
	position: absolute;
	top: -120px;
	left: 1rem;
	z-index: 9999;
	background-color: var(--vv-brand);
	color: #ffffff;
	padding: 0.75rem 1.5rem;
	border-radius: 0 0 10px 10px;
	font-weight: 700;
	text-decoration: none;
	transition: top 0.2s ease;
	outline: 3px solid #ffffff;
	outline-offset: 2px;
}

.skip-link:focus,
.skip-link:focus-visible {
	top: 0;
	box-shadow: 0 0 0 6px var(--vv-brand);
}

/* ── Premium post cards ── */
.blog .post,
.archive .post,
.search .post,
.blogsy-post-grid article,
.card-layout,
.card-layout-w {
	border-radius: var(--vv-radius-md);
	box-shadow: var(--vv-shadow);
	transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.blog .post:hover,
.archive .post:hover,
.search .post:hover,
.blogsy-post-grid article:hover {
	box-shadow: var(--vv-shadow-hover);
}

/* ── Premium sidebar & footer widgets ── */
.sidebar-container-inner .blogsy-sidebar-widget.card-layout-w,
#blogsy-footer-widgets .blogsy-sidebar-widget {
	position: relative;
	overflow: hidden;
	border-radius: var(--vv-radius-md);
	border: 1px solid var(--vv-border);
	background: linear-gradient(180deg, #ffffff 0%, #fdfcfa 100%);
	box-shadow: var(--vv-shadow);
	padding: 1.35rem 1.5rem;
}

.sidebar-container-inner .blogsy-sidebar-widget.card-layout-w::before,
#blogsy-footer-widgets .blogsy-sidebar-widget::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--vv-brand), var(--vv-saffron));
	border-radius: var(--vv-radius-md) var(--vv-radius-md) 0 0;
}

.blogsy-divider-heading .title-text {
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--vv-brand-dark);
}

.blogsy-sidebar-widget li a {
	border-radius: 6px;
	padding: 0.15em 0.35em;
	margin: -0.15em -0.35em;
	transition: background 150ms ease, color 150ms ease;
}

.blogsy-sidebar-widget li a:hover,
.blogsy-sidebar-widget li a:focus-visible {
	background: rgba(0, 121, 107, 0.08);
	color: var(--vv-brand-dark);
}

/* Featured posts widget (custom) */
.vv-featured-posts-widget .vv-fp-item {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 0.85rem;
	align-items: start;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--vv-border);
}

.vv-featured-posts-widget .vv-fp-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.vv-featured-posts-widget .vv-fp-thumb {
	border-radius: var(--vv-radius-sm);
	overflow: hidden;
	aspect-ratio: 1;
	background: var(--vv-border);
}

.vv-featured-posts-widget .vv-fp-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.vv-featured-posts-widget .vv-fp-title {
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.45;
	margin: 0 0 0.25rem;
}

.vv-featured-posts-widget .vv-fp-title a {
	color: var(--vv-ink);
	text-decoration: none;
}

.vv-featured-posts-widget .vv-fp-title a:hover,
.vv-featured-posts-widget .vv-fp-title a:focus-visible {
	color: var(--vv-brand);
	text-decoration: underline;
}

.vv-featured-posts-widget .vv-fp-meta {
	font-size: 0.82rem;
	color: var(--vv-muted);
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.vv-featured-posts-widget .vv-fp-meta time::before {
	content: "📅 ";
	speak: never;
}

/* Newsletter / CTA widget style */
.vv-newsletter-widget {
	text-align: center;
	padding: 0.5rem 0;
}

.vv-newsletter-widget p {
	color: var(--vv-muted);
	font-size: 0.95rem;
	margin-bottom: 1rem;
}

.vv-newsletter-widget .vv-nl-btn {
	display: inline-block;
	padding: 0.65rem 1.5rem;
	border-radius: 999px;
	background: var(--vv-brand);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: background 150ms ease;
}

.vv-newsletter-widget .vv-nl-btn:hover,
.vv-newsletter-widget .vv-nl-btn:focus-visible {
	background: var(--vv-brand-dark);
	color: #fff;
}

/* ── Category badges: shape + color (not color alone) ── */
.term-item::before,
.single-hero-title .category a::before,
.category a.term-item::before {
	border-radius: 3px !important;
	width: 10px !important;
	height: 10px !important;
	min-width: 10px;
	border: 2px solid currentColor;
	background: var(--term-color, var(--vv-brand)) !important;
}

/* Distinct shapes per category index for color-blind users */
.term-id-1::before,
.term-id-1.term-item::before { border-radius: 50% !important; }
.term-id-2::before,
.term-id-2.term-item::before { border-radius: 0 !important; transform: rotate(45deg); }
.term-id-3::before,
.term-id-3.term-item::before { border-radius: 2px !important; clip-path: polygon(50% 0%, 0% 100%, 100% 100%); border: none; }
.term-id-4::before,
.term-id-4.term-item::before { border-radius: 0 !important; border-style: dashed; }
.term-id-5::before,
.term-id-5.term-item::before { border-radius: 50% !important; border-width: 3px; background: transparent !important; }
.term-id-6::before,
.term-id-6.term-item::before { border-radius: 0 !important; width: 12px !important; height: 6px !important; }
.term-id-7::before,
.term-id-7.term-item::before { border-radius: 2px !important; transform: skewX(-12deg); }
.term-id-8::before,
.term-id-8.term-item::before { border-radius: 50% 0 50% 0 !important; }

.term-item,
.category a {
	font-weight: 600;
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 0.2em 0.55em 0.2em 1.4em !important;
}

/* ── Reading tools premium polish ── */
.vv-reading-progress {
	height: 5px;
	background: rgba(0, 121, 107, 0.1);
}

.vv-reading-progress span {
	background: linear-gradient(90deg, var(--vv-brand), var(--vv-saffron));
}

.vv-table-of-contents {
	background: linear-gradient(135deg, #f0faf8 0%, #faf9f6 100%);
	border-left: 4px solid var(--vv-brand);
}

.vv-table-of-contents a {
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding: 0.1em 0;
}

.vv-table-of-contents a:hover,
.vv-table-of-contents a:focus-visible {
	border-bottom-color: var(--vv-brand);
	color: var(--vv-brand-dark);
}

/* ── Accessibility toolbar ── */
.vv-a11y-toolbar {
	position: fixed;
	bottom: 1.25rem;
	left: 1.25rem;
	z-index: 99999;
	font-family: "Nirmala UI", "Latha", system-ui, sans-serif;
}

.vv-a11y-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border: 2px solid var(--vv-brand);
	border-radius: 50%;
	background: var(--vv-brand);
	color: #fff;
	cursor: pointer;
	box-shadow: var(--vv-shadow-hover);
	transition: transform 150ms ease, background 150ms ease;
}

.vv-a11y-toggle:hover,
.vv-a11y-toggle:focus-visible {
	background: var(--vv-brand-dark);
	transform: scale(1.05);
}

.vv-a11y-toggle svg {
	width: 1.5rem;
	height: 1.5rem;
}

.vv-a11y-panel {
	position: absolute;
	bottom: calc(100% + 0.75rem);
	left: 0;
	width: min(20rem, calc(100vw - 2.5rem));
	padding: 1.1rem;
	border: 1px solid var(--vv-border);
	border-radius: var(--vv-radius-md);
	background: var(--vv-card-bg);
	color: var(--vv-ink);
	box-shadow: var(--vv-shadow-hover);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
}

.vv-a11y-toolbar.is-open .vv-a11y-panel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.vv-a11y-panel h3 {
	margin: 0 0 0.75rem;
	font-size: 1.05rem;
	color: var(--vv-heading);
}

.vv-translate-group {
	display: none;
	margin-bottom: 1rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--vv-border);
}

.vv-translate-group label {
	display: block;
	font-size: 0.88rem;
	font-weight: 700;
	margin-bottom: 0.4rem;
	color: var(--vv-brand-dark);
}

html[scheme="dark"] .vv-translate-group label {
	color: var(--vv-apple-cyan);
}

.vv-lang-dropdown {
	width: 100%;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--vv-border);
	border-radius: 10px;
	background: var(--vv-paper);
	color: var(--vv-ink);
	font-weight: 600;
	font-size: 0.92rem;
	cursor: pointer;
	outline: none;
}

.vv-a11y-panel button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 0.45rem;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--vv-border);
	border-radius: 8px;
	background: var(--vv-paper);
	color: var(--vv-ink);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	text-align: left;
	transition: border-color 150ms ease, background 150ms ease;
}

.vv-a11y-panel button:hover,
.vv-a11y-panel button:focus-visible {
	border-color: var(--vv-brand);
	background: rgba(0, 121, 107, 0.06);
}

.vv-a11y-panel button.is-active {
	border-color: var(--vv-brand);
	background: rgba(0, 121, 107, 0.12);
	color: var(--vv-brand-dark);
}

.vv-a11y-panel button .vv-a11y-badge {
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.15em 0.45em;
	border-radius: 4px;
	background: var(--vv-brand);
	color: #fff;
}

/* ── High contrast mode ── */
html.vv-high-contrast {
	--vv-ink: #000000;
	--vv-muted: #1a1a1a;
	--vv-paper: #ffffff;
	--vv-brand: #004d40;
	--vv-brand-dark: #00251a;
	--vv-saffron: #8b4000;
	--vv-border: #000000;
	--pt-body-color: #000000;
	--pt-body-bg-color: #ffffff;
	--pt-headings-color: #000000;
	--pt-border-color: #000000;
	--pt-card-bg: #ffffff;
}

html.vv-high-contrast a {
	text-decoration: underline !important;
	text-decoration-thickness: 2px !important;
}

html.vv-high-contrast .blog .post,
html.vv-high-contrast .card-layout-w,
html.vv-high-contrast .blogsy-sidebar-widget {
	border: 2px solid #000 !important;
	box-shadow: none !important;
}

html.vv-high-contrast button,
html.vv-high-contrast .wp-block-button__link {
	border: 2px solid #000 !important;
}

/* ── Readable spacing mode ── */
html.vv-readable-spacing body {
	line-height: 2 !important;
	letter-spacing: 0.03em;
	word-spacing: 0.08em;
}

html.vv-readable-spacing .entry-content p {
	margin-bottom: 1.75em !important;
}

/* ── Font size steps ── */
html.vv-font-lg { font-size: 112.5%; }
html.vv-font-xl { font-size: 125%; }

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

html.vv-reduced-motion *,
html.vv-reduced-motion *::before,
html.vv-reduced-motion *::after {
	animation: none !important;
	transition: none !important;
}

html.vv-reduced-motion [data-aos] {
	opacity: 1 !important;
	transform: none !important;
}

/* Site shell — matched to the supplied light and dark logo artwork. */
:root {
	--vv-paper: #fbfdfd;
	--vv-surface: #ffffff;
	--pt-body-bg-color: #fbfdfd;
	--pt-card-bg: #ffffff;
}

html[scheme="dark"] {
	--vv-paper: #11161d;
	--vv-surface: #171e26;
	--vv-card-bg: #171e26;
	--pt-body-bg-color: #11161d;
	--pt-card-bg: #171e26;
}

body { background: var(--vv-paper); }

/* ── Premium footer ── */
.vision-vectors-footer {
	border-top: 1px solid var(--vv-border);
	background: linear-gradient(180deg, #f5f4f1 0%, var(--vv-paper) 100%);
}

.vision-vectors-footer .default-footer-copyright {
	border-top: 1px solid var(--vv-border);
	padding-top: 1.5rem;
}

/* ── Skip link enhancement ── */
.skip-link.screen-reader-text:focus {
	background: var(--vv-brand);
	color: #fff;
	padding: 0.75rem 1.25rem;
	border-radius: 0 0 8px 0;
	font-weight: 700;
	z-index: 100000;
	clip: auto !important;
	height: auto !important;
	width: auto !important;
	position: absolute !important;
}

/* ── Form accessibility ── */
input,
select,
textarea {
	border: 1px solid var(--vv-border);
	border-radius: 8px;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	border-color: var(--vv-brand);
	box-shadow: 0 0 0 3px rgba(0, 121, 107, 0.2);
}

/* ── Mobile toolbar ── */
@media (max-width: 768px) {
	.vv-a11y-toolbar {
		bottom: 1rem;
		left: 1rem;
	}

	.sidebar-container-inner .blogsy-sidebar-widget.card-layout-w {
		padding: 1.1rem 1.2rem;
	}
}

/* Professional site header. */
#site-header.vv-site-header {
	position: relative;
	z-index: 40;
	background: color-mix(in srgb, var(--vv-paper) 94%, transparent);
	border-bottom: 1px solid var(--vv-border);
	box-shadow: 0 8px 28px rgba(18, 41, 53, 0.05);
	backdrop-filter: blur(14px);
}

.vv-header-shell {
	display: grid;
	grid-template-columns: minmax(10rem, 15rem) 1fr auto;
	align-items: center;
	gap: clamp(1rem, 3vw, 3rem);
	min-height: 5.75rem;
}

.vv-header-brand .vv-brand-logo__art { width: clamp(9rem, 13vw, 11.5rem); }
.vv-primary-menu,
.vv-primary-menu ul,
.vv-mobile-menu__list,
.vv-footer-menu,
.vv-footer-column ul,
.vv-social-menu__list { list-style: none; margin: 0; padding: 0; }

.vv-primary-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.15rem 0.6rem; }
.vv-primary-menu a {
	display: inline-flex;
	padding: 0.55rem 0.65rem;
	color: var(--vv-ink);
	font-size: 0.94rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 0.5rem;
}
.vv-primary-menu .current-menu-item > a,
.vv-primary-menu a:hover,
.vv-primary-menu a:focus-visible { color: var(--vv-brand-dark); background: color-mix(in srgb, var(--vv-brand) 10%, transparent); }
.vv-header-actions { display: flex; align-items: center; gap: 0.7rem; }
.vv-search-link,
.vv-theme-toggle {
	display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem;
	border: 1px solid var(--vv-border); border-radius: 50%; color: var(--vv-ink);
	background: transparent; cursor: pointer;
}
.vv-search-link svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 2; }
.vv-subscribe-link,
.vv-subscribe-form button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 2.55rem;
	padding: 0.55rem 1rem; border: 1px solid var(--vv-brand-dark); border-radius: 999px;
	background: var(--vv-brand-dark); color: #fff; font-weight: 800; text-decoration: none;
}
.vv-subscribe-link:hover, .vv-subscribe-link:focus-visible,
.vv-subscribe-form button:hover, .vv-subscribe-form button:focus-visible { background: #003e38; color: #fff; }
.vv-mobile-menu { display: none; position: relative; }
.vv-mobile-menu summary { display: inline-flex; gap: 0.35rem; align-items: center; cursor: pointer; font-weight: 800; list-style: none; }
.vv-mobile-menu summary::-webkit-details-marker { display: none; }
.vv-mobile-menu__panel {
	position: absolute; right: 0; top: calc(100% + 1rem); width: min(20rem, 85vw);
	padding: 1rem; border: 1px solid var(--vv-border); border-radius: 1rem;
	background: var(--vv-surface); box-shadow: var(--vv-shadow-hover);
}
.vv-mobile-menu__list { display: grid; gap: 0.35rem; }
.vv-mobile-menu__list a { display: block; padding: 0.65rem; color: var(--vv-ink); font-weight: 700; }

/* Footer uses live categories and menus instead of static copied links. */
.vv-site-footer { margin-top: clamp(3rem, 8vw, 7rem); color: #ffffff !important; background: #1a3c6e !important; border-top: 1px solid rgba(255,255,255,0.15) !important; }
.vv-footer-main { display: grid; grid-template-columns: 1.35fr 0.8fr 0.9fr 1.2fr; gap: clamp(1.5rem, 4vw, 4rem); padding-block: clamp(2.5rem, 7vw, 5rem); }
.vv-footer-brand .vv-brand-logo__art { width: min(14rem, 100%); }
.vv-footer-brand p { max-width: 26rem; margin: 1rem 0 0; color: rgba(255,255,255,0.85) !important; font-size: 0.95rem !important; }
.vv-footer-brand .vv-footer-intro { margin-top: 0.4rem; }
.vv-footer-column h2, .vv-footer-subscribe h2 { margin: 0 0 1rem; color: #ffffff !important; font-size: 1.15rem !important; font-weight: 800; border-bottom: 2px solid #1f8a70; padding-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.05em; }
.vv-footer-column ul, .vv-footer-menu { display: grid; gap: 0.55rem; list-style: none; padding: 0; margin: 0; }
.vv-footer-column a, .vv-footer-menu a { color: rgba(255,255,255,0.85) !important; font-size: 0.95rem !important; text-decoration: none; }
.vv-footer-column a:hover, .vv-footer-column a:focus-visible, .vv-footer-menu a:hover, .vv-footer-menu a:focus-visible { color: #1f8a70 !important; text-decoration: none; }
.vv-footer-subscribe > p { margin: 0 0 0.85rem; color: rgba(255,255,255,0.85) !important; font-size: 0.95rem !important; }
.vv-subscribe-form { display: flex; gap: 0.45rem; }
.vv-subscribe-form input { min-width: 0; flex: 1; padding: 0.65rem 0.75rem; background: rgba(255,255,255,0.12) !important; color: #ffffff !important; border: 1px solid rgba(255,255,255,0.25) !important; border-radius: 0.5rem; }
.vv-subscribe-form input::placeholder { color: rgba(255,255,255,0.6) !important; }
.vv-subscribe-form button { border-radius: 0.5rem; cursor: pointer; background: #1f8a70 !important; color: #ffffff !important; border: none !important; padding: 0.65rem 1.2rem; font-weight: 600; white-space: nowrap; }
.vv-subscribe-form button:hover { background: #176e59 !important; }
.vv-subscribe-note { font-size: 0.85rem !important; color: rgba(255,255,255,0.65) !important; margin-top: 0.5rem; }
.vv-form-message { padding: 0.55rem 0.7rem; border-left: 3px solid var(--vv-brand); background: color-mix(in srgb, var(--vv-brand) 9%, transparent); font-weight: 700; }
.vv-form-message--error { border-left-color: #b42318; }
.vv-social-links { display: flex; align-items: center; flex-wrap: wrap; gap: 0.65rem; margin-top: 1.1rem; }
.vv-social-links__label { color: rgba(255,255,255,0.9) !important; font-size: 0.875rem !important; font-weight: 700; }
.vv-social-menu__list, .vv-social-menu .blogsy-social-icons { display: flex; align-items: center; gap: 0.4rem; list-style: none; padding: 0; margin: 0; }
.vv-social-menu a { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid rgba(255,255,255,0.25) !important; border-radius: 50%; color: #ffffff !important; background: rgba(255,255,255,0.1) !important; transition: all 0.2s ease; }
.vv-social-menu a svg { width: 1.1rem; height: 1.1rem; fill: currentColor; stroke: currentColor; }
.vv-social-menu a:hover, .vv-social-menu a:focus-visible { color: #ffffff !important; background: #1f8a70 !important; border-color: #1f8a70 !important; transform: translateY(-2px); }
.vv-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.15rem; border-top: 1px solid rgba(255,255,255,0.15) !important; color: rgba(255,255,255,0.75) !important; font-size: 0.875rem !important; }
.vv-back-to-top { color: rgba(255,255,255,0.9) !important; font-weight: 700; text-decoration: none; }
.vv-back-to-top:hover { color: #1f8a70 !important; }

html[scheme="dark"] #site-header.vv-site-header { box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28); }
html[scheme="dark"] .vv-primary-menu a, html[scheme="dark"] .vv-mobile-menu__list a { color: var(--vv-ink); }
html[scheme="dark"] .vv-footer-column a, html[scheme="dark"] .vv-footer-menu a { color: rgba(255,255,255,0.85) !important; }

@media (max-width: 960px) {
	.vv-header-shell { grid-template-columns: 1fr auto; min-height: 5rem; }
	.vv-primary-navigation { display: none; }
	.vv-mobile-menu { display: block; }
	.vv-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.vv-header-shell { gap: 0.6rem; }
	.vv-header-brand .vv-brand-logo__art { width: 8.5rem; }
	.vv-search-link, .vv-theme-toggle { display: none; }
	.vv-subscribe-link { padding-inline: 0.7rem; font-size: 0.85rem; }
	.vv-footer-main { grid-template-columns: 1fr; gap: 2rem; }
	.vv-subscribe-form { flex-direction: column; }
	.vv-footer-bottom { align-items: flex-start; flex-direction: column; }
}

/* Larger, more legible navigation and a deliberately dark, high-contrast footer in both modes. */
.vv-primary-menu a { font-size: 16px; padding: 0.65rem 0.75rem; font-weight: 600; }
.vv-subscribe-link { font-size: 16px; min-height: 2.8rem; }
.vv-footer-brand p, .vv-footer-column a, .vv-footer-menu a, .vv-footer-subscribe > p { font-size: 16px; }
.vv-footer-column h2, .vv-footer-subscribe h2 { font-size: 19px; }
.vv-footer-bottom { font-size: 15px; }
html:not([scheme="dark"]) #site-footer.vv-site-footer { background: #1a3c6e !important; color: #ffffff !important; }
html:not([scheme="dark"]) .vv-footer-main { background: transparent !important; }
html[scheme="dark"] #site-footer.vv-site-footer { background: #121316 !important; color: #ffffff !important; }
html[scheme="dark"] .vv-footer-main { background: transparent !important; }

/* Clean theme toggle button styling */
.vv-theme-toggle {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 60px !important;
	height: 30px !important;
	padding: 0 5px !important;
	border-radius: 50px !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	background: #cbd5e1 !important;
	cursor: pointer !important;
	outline: none !important;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.15) !important;
	transition: background-color 0.3s ease, border-color 0.3s ease !important;
}

.vv-theme-toggle::before,
.vv-theme-toggle::after {
	content: none !important;
	display: none !important;
}

.vv-theme-toggle * {
	pointer-events: none !important;
}

.vv-theme-toggle .vv-toggle-track {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 2px !important;
	box-sizing: border-box !important;
}

.vv-theme-toggle .vv-icon-sun,
.vv-theme-toggle .vv-icon-moon {
	font-size: 14px !important;
	line-height: 1 !important;
	z-index: 1 !important;
	user-select: none !important;
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.vv-theme-toggle .vv-toggle-thumb {
	position: absolute !important;
	top: 2px !important;
	left: 2px !important;
	width: 24px !important;
	height: 24px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25) !important;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	z-index: 2 !important;
}

html[scheme="dark"] .vv-theme-toggle,
html[data-theme="dark"] .vv-theme-toggle,
html.dark-mode .vv-theme-toggle,
.vv-theme-toggle[aria-checked="true"] {
	background: #1e293b !important;
	border-color: #38bdf8 !important;
}

html[scheme="dark"] .vv-theme-toggle .vv-toggle-thumb,
html[data-theme="dark"] .vv-theme-toggle .vv-toggle-thumb,
html.dark-mode .vv-theme-toggle .vv-toggle-thumb,
.vv-theme-toggle[aria-checked="true"] .vv-toggle-thumb {
	transform: translateX(28px) !important;
	background: #38bdf8 !important;
}

/* Replace the old green floating control with a calm, clearly-labelled reading control. */
.vv-a11y-toggle {
	width: 3.4rem;
	height: 3.1rem;
	border-radius: 0.85rem;
	border-color: #1e4f79;
	background: #1e4f79;
	box-shadow: 0 10px 24px rgba(17, 56, 88, 0.25);
}
.vv-a11y-toggle:hover, .vv-a11y-toggle:focus-visible { background: #123b5a; }
.vv-a11y-toggle svg { display: none; }
.vv-a11y-toggle::after { content: "Aa"; font-size: 0.95rem; font-weight: 800; letter-spacing: -0.06em; }

/* A fixed, keyboard-accessible way back to the start of long articles. */
.vv-scroll-top {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 9998;
	display: grid;
	place-items: center;
	width: 3.1rem;
	height: 3.1rem;
	border: 1px solid var(--vv-border);
	border-radius: 50%;
	background: var(--vv-surface);
	color: var(--vv-brand-dark);
	font-size: 1.35rem;
	font-weight: 800;
	box-shadow: var(--vv-shadow-hover);
	text-decoration: none;
}
.vv-scroll-top:hover, .vv-scroll-top:focus-visible { background: var(--vv-brand-dark); border-color: var(--vv-brand-dark); color: #fff; }
@media (max-width: 600px) {
	.vv-scroll-top { right: 0.9rem; bottom: 0.9rem; width: 2.8rem; height: 2.8rem; }
	.vv-a11y-toolbar { left: 0.9rem; }
	.vv-primary-menu a { font-size: 15px; }
}

/* Editorial marketplace layout inspired by the reference's clarity, rebuilt for Sinthanai Thuligal. */
:root {
	--vv-editorial-navy: #17313a;
	--vv-editorial-teal: #1b9b89;
	--vv-editorial-teal-dark: #087567;
	--vv-editorial-mist: #f4f7f5;
	--vv-editorial-line: #dbe4e0;
}

body { background: var(--vv-editorial-mist); }
#site-header.vv-site-header {
	background: rgba(255,255,255,.97) !important;
	border-bottom: 1px solid var(--vv-editorial-line);
	box-shadow: 0 1px 0 rgba(18, 48, 57, .03);
	backdrop-filter: blur(10px);
}
.vv-header-shell {
	grid-template-columns: minmax(8rem, 11rem) 1fr auto;
	min-height: 5.3rem;
	gap: clamp(1rem, 2.3vw, 2.5rem);
}
.vv-header-brand .vv-brand-logo__art { width: clamp(8rem, 10vw, 9.8rem); }
.vv-primary-menu { justify-content: flex-start; gap: 0.1rem 0.25rem; }
.vv-primary-menu a {
	position: relative;
	padding: .6rem .72rem;
	color: var(--vv-editorial-navy);
	font-size: 15px;
	font-weight: 650;
	letter-spacing: .005em;
	background: transparent !important;
}
.vv-primary-menu a::after {
	content: "";
	position: absolute;
	left: .72rem;
	right: .72rem;
	bottom: .38rem;
	height: 2px;
	border-radius: 10px;
	background: var(--vv-editorial-teal);
	transform: scaleX(0);
	transition: transform 150ms ease;
}
.vv-primary-menu .current-menu-item > a, .vv-primary-menu a:hover, .vv-primary-menu a:focus-visible { color: var(--vv-editorial-teal-dark); }
.vv-primary-menu .current-menu-item > a::after, .vv-primary-menu a:hover::after, .vv-primary-menu a:focus-visible::after { transform: scaleX(1); }
.vv-search-link { border-color: var(--vv-editorial-line); color: var(--vv-editorial-navy); }
.vv-subscribe-link, .vv-subscribe-form button {
	min-height: 2.75rem;
	border-color: var(--vv-editorial-teal);
	border-radius: .42rem;
	background: var(--vv-editorial-teal);
	box-shadow: 0 2px 0 rgba(5, 79, 69, .12);
	font-size: 15px;
	font-weight: 750;
}
.vv-subscribe-link:hover, .vv-subscribe-link:focus-visible,
.vv-subscribe-form button:hover, .vv-subscribe-form button:focus-visible { background: var(--vv-editorial-teal-dark); border-color: var(--vv-editorial-teal-dark); }

/* Home, archive and post modules: white, bordered editorial cards instead of glossy panels. */
.main-wrapper, .main-wrapper + #blogsy-pyml { background: transparent !important; box-shadow: none !important; }
.blog .post, .archive .post, .search .post, .blogsy-post-grid article, .card-layout, .card-layout-w {
	border: 1px solid var(--vv-editorial-line);
	border-radius: .55rem;
	background: #fff;
	box-shadow: 0 2px 7px rgba(18, 48, 57, .045);
}
.blog .post:hover, .archive .post:hover, .search .post:hover, .blogsy-post-grid article:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(18, 48, 57, .10);
}
.entry-content a, .single-content-inner a { color: var(--vv-editorial-teal-dark); }
.single-hero-title .title, .entry-title, .post .title { color: var(--vv-editorial-navy); }
.sidebar-container-inner .blogsy-sidebar-widget.card-layout-w {
	border: 1px solid var(--vv-editorial-line);
	border-radius: .55rem;
	background: #fff;
	box-shadow: none;
}
.sidebar-container-inner .blogsy-sidebar-widget.card-layout-w::before { height: 3px; background: var(--vv-editorial-teal); }

/* ==========================================================================
   Comprehensive Dark Mode, High-Contrast Footer, Header Toggle & Scroll Button
   ========================================================================== */

/* 1. Universal Dark Mode Overrides (Covers scheme="dark" & data-theme="dark") */
html[scheme="dark"],
html[data-theme="dark"],
html[scheme="dark"] body,
html[data-theme="dark"] body,
html[scheme="dark"] #page,
html[data-theme="dark"] #page,
html[scheme="dark"] #content,
html[data-theme="dark"] #content,
html[scheme="dark"] .site-main,
html[data-theme="dark"] .site-main,
html[scheme="dark"] .vv-pyml-section,
html[data-theme="dark"] .vv-pyml-section,
html[scheme="dark"] .blogsy-posts-wrapper,
html[data-theme="dark"] .blogsy-posts-wrapper,
html[scheme="dark"] .blogsy-posts-carousel-wrapper,
html[data-theme="dark"] .blogsy-posts-carousel-wrapper,
html[scheme="dark"] .main-wrapper,
html[data-theme="dark"] .main-wrapper {
	background-color: #0b0f19 !important;
	color: #f1f5f9 !important;
}

/* Header in Dark Mode */
/* High Contrast Global Dark Mode Surfaces */
html[scheme="dark"],
html[data-theme="dark"],
html.dark-mode {
	background-color: #0b0f19 !important;
	color: #f5f5f7 !important;
}

html[scheme="dark"] body,
html[data-theme="dark"] body,
html.dark-mode body,
html[scheme="dark"] #site,
html[data-theme="dark"] #site,
html.dark-mode #site,
html[scheme="dark"] #site-inner,
html[data-theme="dark"] #site-inner,
html.dark-mode #site-inner,
html[scheme="dark"] .main-wrapper,
html[data-theme="dark"] .main-wrapper,
html.dark-mode .main-wrapper,
html[scheme="dark"] #content,
html[data-theme="dark"] #content,
html.dark-mode #content {
	background-color: #0b0f19 !important;
	color: #f5f5f7 !important;
}

html[scheme="dark"] #site-header,
html[data-theme="dark"] #site-header,
html.dark-mode #site-header,
html[scheme="dark"] .pt-header-inner,
html[data-theme="dark"] .pt-header-inner,
html.dark-mode .pt-header-inner {
	background-color: rgba(15, 23, 42, 0.95) !important;
	border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

html[scheme="dark"] .vv-primary-menu a,
html[data-theme="dark"] .vv-primary-menu a,
html[scheme="dark"] .blogsy-header-nav > li > a,
html[data-theme="dark"] .blogsy-header-nav > li > a {
	color: #f1f5f9 !important;
}

/* Cards & Widgets in Dark Mode */
html[scheme="dark"] .blog .post,
html[data-theme="dark"] .blog .post,
html[scheme="dark"] .archive .post,
html[data-theme="dark"] .archive .post,
html[scheme="dark"] .search .post,
html[data-theme="dark"] .search .post,
html[scheme="dark"] .blogsy-post-grid article,
html[data-theme="dark"] .blogsy-post-grid article,
html[scheme="dark"] .card-layout,
html[data-theme="dark"] .card-layout,
html[scheme="dark"] .card-layout-w,
html[data-theme="dark"] .card-layout-w,
html[scheme="dark"] .sidebar-container-inner .blogsy-sidebar-widget,
html[data-theme="dark"] .sidebar-container-inner .blogsy-sidebar-widget,
html[scheme="dark"] .blogsy-card-item,
html[data-theme="dark"] .blogsy-card-item {
	background-color: #161c28 !important;
	border-color: rgba(255, 255, 255, 0.12) !important;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4) !important;
}

/* Titles and Headings inside Dark Cards (CRITICAL FIX FOR INVISIBLE TEXT) */
html[scheme="dark"] h1, html[data-theme="dark"] h1,
html[scheme="dark"] h2, html[data-theme="dark"] h2,
html[scheme="dark"] h3, html[data-theme="dark"] h3,
html[scheme="dark"] h4, html[data-theme="dark"] h4,
html[scheme="dark"] .entry-title, html[data-theme="dark"] .entry-title,
html[scheme="dark"] .post .title, html[data-theme="dark"] .post .title,
html[scheme="dark"] .post .title a, html[data-theme="dark"] .post .title a,
html[scheme="dark"] .single-hero-title .title, html[data-theme="dark"] .single-hero-title .title,
html[scheme="dark"] .widget-title, html[data-theme="dark"] .widget-title,
html[scheme="dark"] .blogsy-sidebar-widget .title, html[data-theme="dark"] .blogsy-sidebar-widget .title,
html[scheme="dark"] .blogsy-sidebar-widget .title a, html[data-theme="dark"] .blogsy-sidebar-widget .title a {
	color: #ffffff !important;
}

html[scheme="dark"] p, html[data-theme="dark"] p,
html[scheme="dark"] .excerpt, html[data-theme="dark"] .excerpt,
html[scheme="dark"] .post-excerpt, html[data-theme="dark"] .post-excerpt,
html[scheme="dark"] .entry-content, html[data-theme="dark"] .entry-content {
	color: #cbd5e1 !important;
}

/* Category Pills in Dark Mode */
html[scheme="dark"] .post-cat, html[data-theme="dark"] .post-cat,
html[scheme="dark"] .cat-links a, html[data-theme="dark"] .cat-links a {
	background: rgba(255, 255, 255, 0.15) !important;
	color: #ffffff !important;
}

/* Search widget input in Dark Mode */
html[scheme="dark"] .search-field, html[data-theme="dark"] .search-field,
html[scheme="dark"] input[type="search"], html[data-theme="dark"] input[type="search"] {
	background-color: #0f172a !important;
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.2) !important;
}

/* 2. Header Theme Toggle Switch (Clean Single Track Switch) */
.vv-theme-toggle {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	width: 58px !important;
	height: 28px !important;
	padding: 0 !important;
	border-radius: 50px !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	background: #cbd5e1 !important;
	cursor: pointer !important;
	outline: none !important;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.15) !important;
	transition: background-color 0.3s ease !important;
}

.vv-theme-toggle * {
	pointer-events: none !important;
}

.vv-theme-toggle::before,
.vv-theme-toggle::after {
	content: none !important;
	display: none !important;
}

.vv-theme-toggle .vv-toggle-track {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 5px !important;
	box-sizing: border-box !important;
}

.vv-theme-toggle .vv-icon-sun,
.vv-theme-toggle .vv-icon-moon {
	font-size: 13px !important;
	line-height: 1 !important;
	z-index: 1 !important;
	user-select: none !important;
}

.vv-theme-toggle .vv-toggle-thumb {
	position: absolute !important;
	top: 3px !important;
	left: 3px !important;
	width: 20px !important;
	height: 20px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25) !important;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	z-index: 2 !important;
}

html[scheme="dark"] .vv-theme-toggle,
html[data-theme="dark"] .vv-theme-toggle {
	background: #1e293b !important;
	border-color: rgba(255, 255, 255, 0.2) !important;
}

html[scheme="dark"] .vv-theme-toggle .vv-toggle-thumb,
html[data-theme="dark"] .vv-theme-toggle .vv-toggle-thumb,
.vv-theme-toggle[aria-checked="true"] .vv-toggle-thumb {
	transform: translateX(28px) !important;
	background: #38bdf8 !important;
}

/* 3. Post Card Categories in Dark Mode (Red Box in Screenshot) */
html[scheme="dark"] .post-meta, html[data-theme="dark"] .post-meta,
html[scheme="dark"] .post-meta a, html[data-theme="dark"] .post-meta a,
html[scheme="dark"] .entry-footer, html[data-theme="dark"] .entry-footer,
html[scheme="dark"] .entry-footer a, html[data-theme="dark"] .entry-footer a,
html[scheme="dark"] .post-card-meta, html[data-theme="dark"] .post-card-meta,
html[scheme="dark"] .post-card-meta a, html[data-theme="dark"] .post-card-meta a,
html[scheme="dark"] .blogsy-entry-footer, html[data-theme="dark"] .blogsy-entry-footer,
html[scheme="dark"] .blogsy-entry-footer a, html[data-theme="dark"] .blogsy-entry-footer a,
html[scheme="dark"] .post-categories, html[data-theme="dark"] .post-categories,
html[scheme="dark"] .post-categories a, html[data-theme="dark"] .post-categories a,
html[scheme="dark"] .cat-links, html[data-theme="dark"] .cat-links,
html[scheme="dark"] .cat-links a, html[data-theme="dark"] .cat-links a,
html[scheme="dark"] .post-tags, html[data-theme="dark"] .post-tags,
html[scheme="dark"] .post-tags a, html[data-theme="dark"] .post-tags a,
html[scheme="dark"] .post-footer, html[data-theme="dark"] .post-footer,
html[scheme="dark"] .post-footer a, html[data-theme="dark"] .post-footer a {
	color: #3fd6b0 !important; /* Bright Teal readable category links in dark mode */
	font-weight: 700 !important;
}

html[scheme="dark"] .post-meta a:hover, html[data-theme="dark"] .post-meta a:hover,
html[scheme="dark"] .entry-footer a:hover, html[data-theme="dark"] .entry-footer a:hover,
html[scheme="dark"] .cat-links a:hover, html[data-theme="dark"] .cat-links a:hover {
	color: #ffffff !important;
	text-decoration: underline !important;
}

html[scheme="dark"] .blogsy-entry-footer, html[data-theme="dark"] .blogsy-entry-footer,
html[scheme="dark"] .entry-footer, html[data-theme="dark"] .entry-footer {
	border-top-color: rgba(255, 255, 255, 0.15) !important;
}

/* Hide 'இந்தப் பதிவில்' Table of Contents Box */
.vv-table-of-contents,
.vv-reading-tools {
	display: none !important;
}

/* 4. Single Post Article Paragraph Typography (Increased Size) */
.single .entry-content p,
.single-post-wrapper p,
.single-content p,
.single-content-inner p,
.entry-content p {
	font-size: 1.35rem !important; /* 21.6px extra comfortable reading text */
	line-height: 1.9 !important;
	letter-spacing: 0.015em !important;
	margin-bottom: 1.6em !important;
}

/* Hide Recent Comments Widget as requested */
.widget_recent_comments,
.blogsy-widget-recent-comments,
.widget_comments,
.recent-comments-widget {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* 5. Light Mode Footer: Pure White Background & Deep Theme Green/Teal Typography */
html:not([scheme="dark"]):not([data-theme="dark"]) #site-footer.vv-site-footer,
html:not([scheme="dark"]):not([data-theme="dark"]) .vv-site-footer {
	background: #ffffff !important; /* White footer background as requested */
	color: #173d36 !important;
	border-top: 4px solid #1f8a70 !important;
	padding-top: 3.5rem;
	padding-bottom: 2rem;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-main {
	background: #ffffff !important;
	display: grid !important;
	grid-template-columns: 1.4fr 1fr 1fr 1.2fr !important;
	gap: 2.5rem !important;
	padding-block: 2.5rem !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-brand p,
html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-intro {
	color: #2c4a43 !important;
	font-size: 1.35rem !important; /* Increased footer text size (21.6px) */
	line-height: 1.75 !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-column h2,
html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-subscribe h2 {
	color: #173d36 !important;
	font-size: 1.6rem !important; /* Increased footer heading size (25.6px) */
	font-weight: 800 !important;
	margin-bottom: 1.25rem !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	border-bottom: 2px solid #1f8a70 !important;
	padding-bottom: 0.5rem !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-column ul,
html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-menu {
	display: grid !important;
	gap: 0.75rem !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-column a,
html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-menu a {
	color: #173d36 !important; /* Deep theme green/teal links */
	font-size: 1.35rem !important; /* Increased footer link size (21.6px) */
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-column a:hover,
html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-menu a:hover {
	color: #1f8a70 !important;
	text-decoration: underline !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-subscribe-form input {
	background: #f4f8f7 !important;
	color: #173d36 !important;
	border: 1px solid #c2d6d0 !important;
	font-size: 1rem !important;
	padding: 0.75rem 1rem !important;
	border-radius: 6px !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-subscribe-form button {
	background: #1f8a70 !important;
	color: #ffffff !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	border-radius: 6px !important;
	padding: 0.75rem 1.25rem !important;
	border: none !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-subscribe-form button:hover {
	background: #176e59 !important;
}

/* Light Mode Social Icon Buttons */
html:not([scheme="dark"]):not([data-theme="dark"]) .vv-social-links__label {
	color: #173d36 !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-social-menu a,
html:not([scheme="dark"]):not([data-theme="dark"]) .blogsy-social-icons a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	border-radius: 50% !important;
	background: #eef6f4 !important; /* Soft green/teal icon button background */
	border: 1px solid #b2d4cb !important;
	color: #173d36 !important;
	transition: all 0.25s ease !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-social-menu a svg,
html:not([scheme="dark"]):not([data-theme="dark"]) .blogsy-social-icons a svg {
	width: 1.2rem !important;
	height: 1.2rem !important;
	fill: #173d36 !important; /* Green icon color in light mode */
	stroke: #173d36 !important;
	color: #173d36 !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-social-menu a:hover,
html:not([scheme="dark"]):not([data-theme="dark"]) .blogsy-social-icons a:hover {
	background: #1f8a70 !important;
	border-color: #1f8a70 !important;
	color: #ffffff !important;
	transform: translateY(-3px) scale(1.08) !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-social-menu a:hover svg,
html:not([scheme="dark"]):not([data-theme="dark"]) .blogsy-social-icons a:hover svg {
	fill: #ffffff !important;
	stroke: #ffffff !important;
	color: #ffffff !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-footer-bottom {
	border-top: 1px solid #d4e4df !important;
	color: #3b5a52 !important;
	font-size: 1.05rem !important;
	padding-block: 1.5rem !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-back-to-top {
	color: #173d36 !important;
	font-weight: 700 !important;
	font-size: 1.05rem !important;
}

html:not([scheme="dark"]):not([data-theme="dark"]) .vv-back-to-top:hover {
	color: #1f8a70 !important;
}

/* Dark Mode Footer */
html[scheme="dark"] #site-footer.vv-site-footer,
html[data-theme="dark"] #site-footer.vv-site-footer {
	background: #0f172a !important;
	border-top-color: #3fd6b0 !important;
}

html[scheme="dark"] .vv-footer-main,
html[data-theme="dark"] .vv-footer-main {
	background: transparent !important;
	display: grid !important;
	grid-template-columns: 1.4fr 1fr 1fr 1.2fr !important;
	gap: 2.5rem !important;
	padding-block: 2.5rem !important;
}

html[scheme="dark"] .vv-footer-column h2,
html[data-theme="dark"] .vv-footer-column h2,
html[scheme="dark"] .vv-footer-subscribe h2,
html[data-theme="dark"] .vv-footer-subscribe h2 {
	color: #ffffff !important;
	font-size: 1.35rem !important;
	font-weight: 800 !important;
	border-bottom: 2px solid #3fd6b0 !important;
}

html[scheme="dark"] .vv-footer-column a,
html[data-theme="dark"] .vv-footer-column a,
html[scheme="dark"] .vv-footer-menu a,
html[data-theme="dark"] .vv-footer-menu a,
html[scheme="dark"] .vv-footer-brand p,
html[data-theme="dark"] .vv-footer-brand p {
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 1.15rem !important;
}

html[scheme="dark"] .vv-social-menu a,
html[data-theme="dark"] .vv-social-menu a,
html[scheme="dark"] .blogsy-social-icons a,
html[data-theme="dark"] .blogsy-social-icons a {
	background: rgba(255, 255, 255, 0.18) !important;
	border-color: rgba(255, 255, 255, 0.3) !important;
	color: #ffffff !important;
}

html[scheme="dark"] .vv-social-menu a svg,
html[data-theme="dark"] .vv-social-menu a svg,
html[scheme="dark"] .blogsy-social-icons a svg,
html[data-theme="dark"] .blogsy-social-icons a svg {
	fill: #ffffff !important;
	stroke: #ffffff !important;
	color: #ffffff !important;
}

/* 6. Floating Scroll-To-Top Button (Prominent 60px Button) */
.vv-scroll-top,
.back-to-top-btn,
#back-to-top {
	position: fixed !important;
	right: 1.75rem !important;
	bottom: 1.75rem !important;
	z-index: 99999 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 3.75rem !important; /* 60px x 60px prominent button */
	height: 3.75rem !important;
	border-radius: 50% !important;
	background: #1f8a70 !important;
	color: #ffffff !important;
	font-size: 1.75rem !important;
	font-weight: 900 !important;
	border: 3px solid #ffffff !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.vv-scroll-top:hover,
.back-to-top-btn:hover,
#back-to-top:hover {
	background: #176e59 !important;
	color: #ffffff !important;
	transform: translateY(-4px) scale(1.08) !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45) !important;
}

html[scheme="dark"] .vv-scroll-top,
html[data-theme="dark"] .vv-scroll-top,
html[scheme="dark"] #back-to-top,
html[data-theme="dark"] #back-to-top {
	background: #3fd6b0 !important;
	color: #0f172a !important;
	border-color: #1e293b !important;
}

@media (max-width: 960px) {
	.vv-header-shell { grid-template-columns: minmax(8rem, 10rem) auto; min-height: 5rem; }
	.vv-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 2.5rem; }
}

/* ── Widget subtitle (Time Capsule → Browse by Month) ── */
.vv-widget-subtitle {
	display: block;
	font-size: 0.82rem;
	color: var(--vv-muted);
	font-weight: 400;
	font-style: italic;
	margin-top: 0.15em;
}

/* ================================================================
   iTunes-style Coverflow Carousel — Vision Vectors / MKBloh Theme
   ================================================================ */

.vv-coverflow-section {
	margin-bottom: 3rem;
	overflow: hidden;
}

.vv-coverflow-section-title {
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 2px solid var(--vv-brand);
	padding-bottom: 0.5rem;
	color: var(--vv-ink);
}

/* Outer wrapper — 3D perspective context */
.coverflow-wrapper {
	position: relative;
	perspective: 1400px;
	perspective-origin: 50% 40%;
	padding: 2rem 0 3rem;
	outline: none;
	background: linear-gradient(
		180deg,
		color-mix(in srgb, var(--vv-paper) 80%, transparent) 0%,
		var(--vv-paper) 100%
	);
}

html[scheme="dark"] .coverflow-wrapper {
	background: linear-gradient(180deg, rgba(11,15,25,0.6) 0%, var(--vv-paper) 100%);
}

/* Outer wrapper — 3D Apple Cover Flow perspective context */
.coverflow-wrapper {
	position: relative;
	perspective: 1200px;
	perspective-origin: 50% 40%;
	padding: 0.8rem 0 1rem;
	outline: none;
	background: linear-gradient(
		180deg,
		color-mix(in srgb, var(--vv-paper) 85%, transparent) 0%,
		var(--vv-paper) 100%
	);
	transform-style: preserve-3d;
}

html[scheme="dark"] .coverflow-wrapper {
	background: linear-gradient(180deg, rgba(11,15,25,0.6) 0%, var(--vv-paper) 100%);
}

/* Stage — compact height for cards + 3D reflection */
.cf-stage {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 390px;
	position: relative;
	transform-style: preserve-3d;
}

/* ── Individual Cover Flow Card (Compact Proportions) ── */
.cf-card {
	position: absolute;
	width: 320px;
	height: 360px;
	border-radius: var(--vv-radius-md, 18px);
	overflow: hidden;
	cursor: pointer;
	transform-origin: center center;
	transition:
		transform 0.55s cubic-bezier(0.16, 1, 0.3, 1),
		opacity   0.55s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.4s ease;
	transform-style: preserve-3d;
	will-change: transform, opacity;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	background-color: var(--pt-card-bg, #ffffff);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
	border: 1px solid var(--vv-border);
	-webkit-box-reflect: below 6px linear-gradient(to bottom, transparent 65%, rgba(0, 0, 0, 0.16));
}

html[scheme="dark"] .cf-card {
	background-color: var(--vv-card-bg, #1c1c1e);
	border-color: rgba(255, 255, 255, 0.08);
	-webkit-box-reflect: below 6px linear-gradient(to bottom, transparent 65%, rgba(255, 255, 255, 0.08));
}

.cf-card-inner {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

/* ── True Cover Flow Positional Transforms (Directional & Continuous) ── */
.cf-card.active {
	transform: translate3d(0, 0, 0) rotateY(0deg) scale(1);
	opacity: 1;
	z-index: 10;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
	cursor: default;
}

.cf-card.prev {
	transform: translate3d(-230px, 0, -120px) rotateY(42deg) scale(0.86);
	opacity: 0.75;
	z-index: 8;
}

.cf-card.prev-2 {
	transform: translate3d(-390px, 0, -220px) rotateY(50deg) scale(0.72);
	opacity: 0.4;
	z-index: 6;
}

.cf-card.next {
	transform: translate3d(230px, 0, -120px) rotateY(-42deg) scale(0.86);
	opacity: 0.75;
	z-index: 8;
}

.cf-card.next-2 {
	transform: translate3d(390px, 0, -220px) rotateY(-50deg) scale(0.72);
	opacity: 0.4;
	z-index: 6;
}

.cf-card.hidden,
.cf-card.hidden-prev {
	transform: translate3d(-540px, 0, -320px) rotateY(58deg) scale(0.55);
	opacity: 0;
	z-index: 1;
	pointer-events: none;
}

.cf-card.hidden-next {
	transform: translate3d(540px, 0, -320px) rotateY(-58deg) scale(0.55);
	opacity: 0;
	z-index: 1;
	pointer-events: none;
}

.cf-card.prev:hover,
.cf-card.next:hover {
	opacity: 0.85;
	box-shadow: var(--vv-shadow-hover);
}

/* ── Top Thumbnail Frame ── */
.cf-thumb {
	position: relative;
	width: 100%;
	height: 200px;
	overflow: hidden;
	background-color: var(--vv-border);
}

.cf-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.cf-card.active .cf-thumb-img {
	transform: scale(1.04);
}

.cf-thumb-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.02) 50%, rgba(0,0,0,0.2) 100%);
	pointer-events: none;
}

.cf-thumb-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--vv-brand-dark), var(--vv-saffron));
	display: flex;
	align-items: center;
	justify-content: center;
}

.cf-placeholder-icon {
	font-size: 3rem;
	color: rgba(255,255,255,0.35);
}

/* ── Info Panel BELOW Thumbnail Image ── */
.cf-info {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	background-color: var(--pt-card-bg, #ffffff);
	color: var(--vv-ink);
	z-index: 2;
	opacity: 0.45;
	transition: opacity 0.4s ease;
}

.cf-card.active .cf-info {
	opacity: 1;
}

html[scheme="dark"] .cf-info {
	background-color: var(--vv-card-bg, #161c28);
	color: #f1f5f9;
}

.cf-info-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.2rem;
}

.cf-category {
	display: inline-block;
	background-color: rgba(0, 121, 107, 0.12);
	color: var(--vv-brand-dark);
	padding: 2px 0.65rem;
	border-radius: 6px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

html[scheme="dark"] .cf-category {
	background-color: rgba(90, 245, 204, 0.15);
	color: #5af5cc;
}

.cf-reading-time {
	font-size: 0.75rem;
	color: var(--vv-muted);
	font-weight: 500;
}

.cf-title {
	font-size: 1.05rem;
	line-height: 1.32;
	color: var(--vv-ink);
	margin: 0.2rem 0 0.35rem;
	font-weight: 700;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

html[scheme="dark"] .cf-title {
	color: #ffffff;
}

.cf-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.cf-title a:hover {
	color: var(--vv-brand);
}

.cf-info-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.25rem;
	padding-top: 0.25rem;
	border-top: 1px solid var(--vv-border);
}

.cf-date {
	font-size: 0.78rem;
	color: var(--vv-muted);
}

/* Hide numbers counter badge indicator */
.cf-counter-badge,
.cf-counter-text,
.carousel-pagination-wrapper {
	display: none !important;
}

/* ── Read Button: White in Light Mode, Blue in Dark Mode ── */
.cf-read-btn,
.rebgr-read-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	background-color: #ffffff !important;
	color: #1e293b !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
	padding: 0.35rem 0.85rem !important;
	border-radius: 20px !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.cf-read-btn:hover,
.rebgr-read-btn:hover {
	background-color: #f8fafc !important;
	color: #0071e3 !important;
	border-color: #0071e3 !important;
	box-shadow: 0 4px 12px rgba(0, 113, 227, 0.2) !important;
	transform: translateY(-1px) !important;
}

html[scheme="dark"] .cf-read-btn,
html[scheme="dark"] .rebgr-read-btn,
html[data-theme="dark"] .cf-read-btn,
html[data-theme="dark"] .rebgr-read-btn {
	background-color: #0071e3 !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	box-shadow: 0 4px 14px rgba(0, 113, 227, 0.4) !important;
}

html[scheme="dark"] .cf-read-btn:hover,
html[scheme="dark"] .rebgr-read-btn:hover,
html[data-theme="dark"] .cf-read-btn:hover,
html[data-theme="dark"] .rebgr-read-btn:hover {
	background-color: #0077ed !important;
	color: #ffffff !important;
	box-shadow: 0 6px 18px rgba(0, 113, 227, 0.6) !important;
	transform: translateY(-1px) !important;
}

/* ── Middle Side-Flanked Arrow Buttons (Left & Right of Stage) ── */
.cf-controls {
	position: absolute;
	top: 45%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding: 0 1.5rem;
	pointer-events: none;
	z-index: 30;
}

.cf-btn {
	pointer-events: auto;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.6);
	background: rgba(0, 0, 0, 0.45);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #ffffff;
	font-size: 2.2rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

/* Preserve visible carousel arrows when global button rules reset text styles. */
.cf-btn > span {
	display: block !important;
	color: #ffffff !important;
	font-family: Arial, sans-serif !important;
	font-size: 2.6rem !important;
	font-weight: 400 !important;
	line-height: 0.7 !important;
	transform: translateY(-1px);
}

.cf-btn:hover {
	background: var(--vv-brand);
	border-color: var(--vv-brand);
	transform: scale(1.12);
	box-shadow: 0 12px 32px rgba(0, 121, 107, 0.4);
}

.cf-btn:focus-visible {
	outline: 3px solid var(--vv-brand);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px rgba(0,121,107,0.3);
}

/* Dots hidden */
.cf-dots {
	display: none !important;
}

/* ── Header Search Input Box ── */
.vv-header-search-box {
	position: relative;
	display: flex;
	align-items: center;
}

.vv-header-search-form {
	display: flex;
	align-items: center;
	position: relative;
}

.vv-header-search-input {
	width: 180px;
	height: 38px;
	padding: 0 2.2rem 0 0.9rem;
	border-radius: 20px;
	border: 1px solid var(--vv-border);
	background-color: var(--vv-paper);
	color: var(--vv-ink);
	font-size: 0.85rem;
	transition: width 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
	outline: none;
}

html[scheme="dark"] .vv-header-search-input {
	background-color: var(--vv-card-bg);
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.15);
}

.vv-header-search-input:focus {
	width: 230px;
	border-color: var(--vv-brand);
	box-shadow: 0 0 0 3px rgba(0, 121, 107, 0.2);
}

.vv-header-search-submit {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: var(--vv-muted);
	cursor: pointer;
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s ease;
}

.vv-header-search-submit:hover,
.vv-header-search-input:focus + .vv-header-search-submit {
	color: var(--vv-brand);
}

/* ── Mobile coverflow: single card, peek neighbours ── */
@media (max-width: 768px) {
	.coverflow-wrapper {
		perspective: none;
		padding: 1.5rem 0 2.5rem;
	}

	.cf-stage {
		height: 320px;
		overflow: visible;
	}

	.cf-card {
		width: 86vw;
		max-width: 340px;
		height: 280px;
		transform: none !important;
		opacity: 0 !important;
		pointer-events: none;
		transition: opacity 0.4s ease;
	}

	.cf-card.active {
		opacity: 1 !important;
		pointer-events: auto;
		box-shadow: 0 12px 40px rgba(0,0,0,0.2);
	}

	.cf-card.prev {
		opacity: 0.32 !important;
		transform: translateX(-92%) !important;
		pointer-events: auto;
	}

	.cf-card.next {
		opacity: 0.32 !important;
		transform: translateX(92%) !important;
		pointer-events: auto;
	}

	/* Mobile header padding adjustments */
	.vv-header-shell {
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}
}

/* ── prefers-reduced-motion: disable 3D, fall back to fade ── */
@media (prefers-reduced-motion: reduce) {
	.coverflow-wrapper {
		perspective: none;
	}

	.cf-card {
		transform: none !important;
		transition: opacity 0.3s ease !important;
	}

	.cf-card.active { opacity: 1 !important; }

	.cf-card.prev,
	.cf-card.next { opacity: 0.28 !important; }

	.cf-card.prev-2,
	.cf-card.next-2,
	.cf-card.hidden {
		opacity: 0 !important;
		pointer-events: none;
	}

	.cf-info {
		transition: opacity 0.3s ease !important;
		transform: none !important;
	}
}

/* ── prefers-contrast: more — AAA contrast boost ── */
@media (prefers-contrast: more) {
	:root {
		--vv-ink: #000000;
		--vv-muted: #1a1a1a;
		--vv-paper: #ffffff;
		--vv-brand: #004d42;
		--vv-brand-dark: #003328;
		--vv-border: #555555;
		--pt-body-color: #000000;
		--pt-body-bg-color: #ffffff;
		--pt-headings-color: #000000;
		--pt-card-bg: #ffffff;
		--pt-border-color: #555555;
	}

	html[scheme="dark"] {
		--vv-ink: #ffffff;
		--vv-muted: #e0e0e0;
		--vv-paper: #000000;
		--vv-brand: #5af5cc;
		--vv-border: #888888;
		--pt-body-color: #ffffff;
		--pt-body-bg-color: #000000;
		--pt-headings-color: #ffffff;
	}
}

/* ==========================================================================
   Header Luxury Overhaul & Complete Fix
   ========================================================================== */

/* Main Header Container */
#site-header,
.vv-site-header,
.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;
	background: rgba(255, 255, 255, 0.88) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
	transition: all 300ms ease !important;
}

html[scheme="dark"] #site-header,
html[scheme="dark"] .vv-site-header,
html[data-theme="dark"] #site-header {
	background: rgba(15, 23, 42, 0.90) !important;
	border-bottom-color: rgba(255, 255, 255, 0.08) !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Header Shell Grid / Flex Layout */
.vv-header-shell,
#site-header .vv-header-shell {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1.5rem !important;
	width: 100% !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 0.55rem 1.5rem !important;
	min-height: 64px !important;
}

/* Logo Section - Clean, Seamless, Transparent Background */
.vv-header-brand,
.pt-logo,
#site-header .pt-logo {
	display: flex !important;
	align-items: center !important;
	flex-shrink: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.vv-header-brand img,
.vv-logo-inner,
.vv-logo-inner a,
.vv-brand-logo,
.vv-brand-logo__art,
.custom-logo,
#site-header .pt-logo img {
	background-color: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	border: none !important;
	max-height: 44px !important;
	height: auto !important;
	width: auto !important;
	object-fit: contain !important;
}

/* Primary Navigation Menu - SINGLE UNBROKEN ROW */
.vv-primary-navigation {
	flex: 1 1 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0 !important;
}

.vv-primary-menu,
.blogsy-header-nav,
.vv-primary-navigation ul {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important; /* PREVENT WRAPPING ONTO 2 LINES */
	align-items: center !important;
	justify-content: center !important;
	gap: 0.25rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.vv-primary-menu > li,
.blogsy-header-nav > li,
.vv-primary-navigation ul > li {
	display: inline-flex !important;
	align-items: center !important;
	flex-shrink: 0 !important;
}

.vv-primary-menu > li > a,
.blogsy-header-nav > li > a,
.vv-primary-navigation ul > li > a {
	display: inline-flex !important;
	align-items: center !important;
	white-space: nowrap !important; /* PREVENT ITEM TEXT FROM WRAPPING */
	font-family: var(--vv-font-sans, system-ui, sans-serif) !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	color: var(--vv-ink, #1e293b) !important;
	padding: 0.45rem 0.8rem !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	transition: all 200ms ease !important;
}

.vv-primary-menu > li > a:hover,
.blogsy-header-nav > li > a:hover,
.vv-primary-navigation ul > li > a:hover,
.vv-primary-menu > li.current-menu-item > a,
.blogsy-header-nav > li.current-menu-item > a {
	color: #0071e3 !important;
	background-color: rgba(0, 113, 227, 0.08) !important;
}

html[scheme="dark"] .vv-primary-menu > li > a,
html[scheme="dark"] .blogsy-header-nav > li > a,
html[scheme="dark"] .vv-primary-navigation ul > li > a {
	color: #f1f5f9 !important;
}

html[scheme="dark"] .vv-primary-menu > li > a:hover,
html[scheme="dark"] .blogsy-header-nav > li > a:hover,
html[scheme="dark"] .vv-primary-menu > li.current-menu-item > a {
	color: #38bdf8 !important;
	background-color: rgba(56, 189, 248, 0.12) !important;
}

/* Header Actions Right Section */
.vv-header-actions {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	flex-shrink: 0 !important;
}

/* Search Box Form */
.vv-header-search-box,
.vv-header-search-form {
	display: flex !important;
	align-items: center !important;
	position: relative !important;
	background: rgba(0, 0, 0, 0.04) !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	border-radius: 20px !important;
	padding: 2px 10px 2px 14px !important;
	transition: all 200ms ease !important;
}

.vv-header-search-form:focus-within {
	background: #ffffff !important;
	border-color: #0071e3 !important;
	box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.15) !important;
}

html[scheme="dark"] .vv-header-search-form {
	background: rgba(255, 255, 255, 0.08) !important;
	border-color: rgba(255, 255, 255, 0.12) !important;
}

html[scheme="dark"] .vv-header-search-form:focus-within {
	background: #1e293b !important;
	border-color: #38bdf8 !important;
	box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2) !important;
}

.vv-header-search-input {
	background: transparent !important;
	border: none !important;
	outline: none !important;
	font-size: 0.85rem !important;
	color: var(--vv-ink, #1e293b) !important;
	width: 140px !important;
	padding: 0.35rem 0 !important;
}

html[scheme="dark"] .vv-header-search-input {
	color: #f1f5f9 !important;
}

.vv-header-search-submit {
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	color: #64748b !important;
}

.vv-header-search-submit:hover {
	color: #0071e3 !important;
}

/* Subscribe Pill Button */
.vv-subscribe-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.45rem 1.15rem !important;
	background-color: #0071e3 !important;
	color: #ffffff !important;
	font-size: 0.86rem !important;
	font-weight: 700 !important;
	border-radius: 20px !important;
	text-decoration: none !important;
	transition: all 200ms ease !important;
	box-shadow: 0 4px 12px rgba(0, 113, 227, 0.3) !important;
	white-space: nowrap !important;
}

.vv-subscribe-link:hover {
	background-color: #0077ed !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 16px rgba(0, 113, 227, 0.45) !important;
}

/* Dark Mode Switcher Button */
.vv-theme-toggle,
.dark-mode-switcher {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
}
