/* =============================================================
   Binary Cipher — Dark / Light Mode
   Palette map (light → dark):
     color1 #e62e2d → #e62e2d  (red accent — unchanged)
     color2 #ff0000 → #ff4d4d  (hover red — softened for dark)
     color3 #5a5a5a → #a8a8a8  (body text)
     color4 #000000 → #e8e8e8  (headings / dark text)
     color5 #edeff2 → #2a2a2a  (borders)
     color6 #f9fafb → #1e1e1e  (card / widget bg)
     color7 #fdfdfd → #141414  (page / section bg)
     color8 #ffffff → #0f0f0f  (content bg)
   ============================================================= */

/* ── Smooth transitions on theme switch ─────────────────────── */
*,
*::before,
*::after {
	transition:
		background-color 0.25s ease,
		border-color     0.25s ease,
		color            0.25s ease,
		box-shadow       0.25s ease;
}

/* Keep transition off for elements where it causes jank */
img,
svg,
video,
canvas,
.elementor-widget-container *,
.ct-slider *,
input,
textarea {
	transition: none !important;
}

/* Restore only color/bg transitions on inputs */
input,
textarea,
select {
	transition:
		background-color 0.25s ease,
		border-color     0.25s ease,
		color            0.25s ease !important;
}

/* ── Dark Mode palette overrides ────────────────────────────── */
html[data-theme="dark"] {
	--theme-palette-color-1: #e62e2d;
	--theme-palette-color-2: #ff4d4d;
	--theme-palette-color-3: #a8a8a8;
	--theme-palette-color-4: #e8e8e8;
	--theme-palette-color-5: #2a2a2a;
	--theme-palette-color-6: #1e1e1e;
	--theme-palette-color-7: #141414;
	--theme-palette-color-8: #0f0f0f;

	color-scheme: dark;
}

/* ── Body background (Blocksy outputs this as inline style on body) */
html[data-theme="dark"] body {
	background-color: #141414 !important;
	color: #a8a8a8;
}

/* ── Header ─────────────────────────────────────────────────── */
html[data-theme="dark"] .ct-header,
html[data-theme="dark"] #header,
html[data-theme="dark"] .site-header {
	background-color: #0f0f0f !important;
	border-bottom-color: #2a2a2a !important;
}

html[data-theme="dark"] .ct-header .ct-container,
html[data-theme="dark"] header.site-header {
	background-color: #0f0f0f !important;
}

/* Header nav links */
html[data-theme="dark"] .ct-menu a,
html[data-theme="dark"] .ct-header nav a {
	color: #e8e8e8 !important;
}

html[data-theme="dark"] .ct-menu a:hover,
html[data-theme="dark"] .ct-header nav a:hover {
	color: #e62e2d !important;
}



/* Header logo area */
html[data-theme="dark"] .site-branding a,
html[data-theme="dark"] .ct-logo a,
html[data-theme="dark"] .site-title a {
	color: #e8e8e8 !important;
}

/* ── Sticky header ───────────────────────────────────────────── */
html[data-theme="dark"] .ct-header.is-sticky,
html[data-theme="dark"] .ct-header[data-sticky] {
	background-color: rgba(15, 15, 15, 0.97) !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.6) !important;
}

/* ── Footer ─────────────────────────────────────────────────── */
html[data-theme="dark"] #footer,
html[data-theme="dark"] .site-footer,
html[data-theme="dark"] footer.site-footer,
html[data-theme="dark"] .ct-footer {
	background-color: #0f0f0f !important;
	border-top-color: #2a2a2a !important;
}

html[data-theme="dark"] .ct-footer-top,
html[data-theme="dark"] .ct-footer-middle,
html[data-theme="dark"] .ct-footer-bottom {
	background-color: #0f0f0f !important;
}

html[data-theme="dark"] .ct-footer a,
html[data-theme="dark"] .site-footer a {
	color: #a8a8a8;
}

html[data-theme="dark"] .ct-footer a:hover,
html[data-theme="dark"] .site-footer a:hover {
	color: #e62e2d;
}

/* Footer copyright bar */
html[data-theme="dark"] .ct-footer-bottom-row {
	background-color: #0a0a0a !important;
	border-top-color: #2a2a2a !important;
	color: var(--theme-palette-color-3, #a8a8a8) !important;
}

/* ── Content area ───────────────────────────────────────────── */
html[data-theme="dark"] #content,
html[data-theme="dark"] .site-content,
html[data-theme="dark"] main.site-main {
	background-color: #141414 !important;
}

html[data-theme="dark"] .entry-content,
html[data-theme="dark"] .entry-content p {
	color: #a8a8a8;
}

html[data-theme="dark"] .entry-content h1,
html[data-theme="dark"] .entry-content h2,
html[data-theme="dark"] .entry-content h3,
html[data-theme="dark"] .entry-content h4,
html[data-theme="dark"] .entry-content h5,
html[data-theme="dark"] .entry-content h6,
html[data-theme="dark"] .entry-title a,
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6 {
	color: #e8e8e8;
}

/* ── Cards / post cards ─────────────────────────────────────── */
html[data-theme="dark"] .ct-blog-card,
html[data-theme="dark"] article.ct-blog-card,
html[data-theme="dark"] .ct-post-card,
html[data-theme="dark"] .post-card,
html[data-theme="dark"] .elementor-post {
	background-color: #1e1e1e !important;
	border-color: #2a2a2a !important;
}

html[data-theme="dark"] .ct-blog-card:hover,
html[data-theme="dark"] .ct-post-card:hover,
html[data-theme="dark"] .elementor-post:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}

html[data-theme="dark"] .ct-blog-card .entry-meta,
html[data-theme="dark"] .ct-blog-card .ct-meta-box,
html[data-theme="dark"] .elementor-post__meta-data,
html[data-theme="dark"] .elementor-post__excerpt {
	color: var(--theme-palette-color-3, #a8a8a8) !important;
}

html[data-theme="dark"] .elementor-post__title,
html[data-theme="dark"] .elementor-post__title a {
	color: #e8e8e8 !important;
}

html[data-theme="dark"] .elementor-post__title a:hover {
	color: var(--theme-palette-color-1, #e62e2d) !important;
}

/* ── Sidebar ─────────────────────────────────────────────────── */
html[data-theme="dark"] .widget,
html[data-theme="dark"] aside.widget-area .widget {
	background-color: #1e1e1e !important;
	border-color: #2a2a2a !important;
}

html[data-theme="dark"] .widget-title,
html[data-theme="dark"] .widgettitle {
	color: #e8e8e8 !important;
	border-bottom-color: #2a2a2a !important;
}

html[data-theme="dark"] .widget ul li a {
	color: #a8a8a8 !important;
}

html[data-theme="dark"] .widget ul li a:hover {
	color: #e62e2d !important;
}

/* ── Horizontal rules / dividers ─────────────────────────────── */
html[data-theme="dark"] hr,
html[data-theme="dark"] .ct-divider {
	border-color: #2a2a2a !important;
	background-color: #2a2a2a !important;
}

/* ── Blockquotes ─────────────────────────────────────────────── */
html[data-theme="dark"] blockquote {
	background-color: #1e1e1e !important;
	border-left-color: #e62e2d !important;
	color: #a8a8a8 !important;
}

/* ── Code blocks ─────────────────────────────────────────────── */
html[data-theme="dark"] pre,
html[data-theme="dark"] code,
html[data-theme="dark"] kbd,
html[data-theme="dark"] samp {
	background-color: #1a1a1a !important;
	color: #d4d4d4 !important;
	border-color: #2a2a2a !important;
}

/* SyntaxHighlighter plugin */
html[data-theme="dark"] .syntaxhighlighter,
html[data-theme="dark"] .syntaxhighlighter .toolbar,
html[data-theme="dark"] .syntaxhighlighter table td {
	background-color: #1a1a1a !important;
}

html[data-theme="dark"] .syntaxhighlighter .code {
	background-color: #1a1a1a !important;
}

html[data-theme="dark"] .syntaxhighlighter a,
html[data-theme="dark"] .syntaxhighlighter .plain,
html[data-theme="dark"] .syntaxhighlighter .color3 {
	color: #d4d4d4 !important;
}

/* ── Forms / inputs ─────────────────────────────────────────── */
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] input[type="url"],
html[data-theme="dark"] input[type="number"],
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
	background-color: #1e1e1e !important;
	border-color: #2a2a2a !important;
	color: #e8e8e8 !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
	color: #888 !important;
}

html[data-theme="dark"] input:focus,
html[data-theme="dark"] textarea:focus,
html[data-theme="dark"] select:focus {
	border-color: #e62e2d !important;
	box-shadow: 0 0 0 2px rgba(230, 46, 45, 0.2) !important;
}

/* Search form */
html[data-theme="dark"] .ct-search-form,
html[data-theme="dark"] .search-form {
	background-color: #1e1e1e !important;
	border-color: #2a2a2a !important;
}

/* ── Elementor elements ─────────────────────────────────────── */
/* Section / container backgrounds that use default white */
html[data-theme="dark"] .elementor-section.elementor-section-boxed > .elementor-container,
html[data-theme="dark"] .elementor-widget-wrap {
	background-color: transparent;
}

/* Elementor text widgets */
html[data-theme="dark"] .elementor-widget-text-editor p,
html[data-theme="dark"] .elementor-widget-text-editor {
	color: #a8a8a8;
}

/* Elementor headings */
html[data-theme="dark"] .elementor-widget-heading .elementor-heading-title {
	color: #e8e8e8 !important;
}

/* Elementor icon boxes / info boxes */
html[data-theme="dark"] .elementor-icon-box-wrapper,
html[data-theme="dark"] .elementor-icon-box-content p {
	color: #a8a8a8;
}

/* Elementor dividers */
html[data-theme="dark"] .elementor-divider-separator {
	border-color: #2a2a2a !important;
}

/* Elementor buttons — keep existing brand style; only adjust if needed */
html[data-theme="dark"] .elementor-button.elementor-button-link {
	border-color: #2a2a2a;
}

/* ── Page title / breadcrumbs ───────────────────────────────── */
html[data-theme="dark"] .ct-page-title,
html[data-theme="dark"] .page-header {
	background-color: #1e1e1e !important;
	border-bottom-color: #2a2a2a !important;
}

html[data-theme="dark"] .ct-breadcrumbs,
html[data-theme="dark"] .breadcrumbs {
	color: var(--theme-palette-color-3, #a8a8a8) !important;
}

html[data-theme="dark"] .ct-breadcrumbs a,
html[data-theme="dark"] .breadcrumbs a {
	color: #a8a8a8 !important;
}

/* ── Pagination ─────────────────────────────────────────────── */
html[data-theme="dark"] .ct-pagination a,
html[data-theme="dark"] .page-numbers a {
	background-color: #1e1e1e !important;
	border-color: #2a2a2a !important;
	color: #a8a8a8 !important;
}

html[data-theme="dark"] .ct-pagination .current,
html[data-theme="dark"] .page-numbers .current {
	background-color: #e62e2d !important;
	border-color: #e62e2d !important;
	color: #fff !important;
}

/* ── Tables ─────────────────────────────────────────────────── */
html[data-theme="dark"] table {
	border-color: #2a2a2a !important;
}

html[data-theme="dark"] th {
	background-color: #1e1e1e !important;
	color: #e8e8e8 !important;
	border-color: #2a2a2a !important;
}

html[data-theme="dark"] td {
	border-color: #2a2a2a !important;
	color: #a8a8a8 !important;
}

html[data-theme="dark"] tr:nth-child(even) td {
	background-color: #1a1a1a !important;
}

/* ── Overlay / off-canvas / modals ──────────────────────────── */
html[data-theme="dark"] .ct-offcanvas,
html[data-theme="dark"] .ct-drawer,
html[data-theme="dark"] .ct-mobile-menu {
	background-color: #0f0f0f !important;
}

/* ── Substack embed iframe (hardcoded white in HTML) ─────────── */
html[data-theme="dark"] iframe[src*="substack.com"] {
	filter: invert(0.9) hue-rotate(180deg);
}

/* ── Elementor containers using palette-8 (now near-black) ──── */
/* Ensure text inside them stays light */
html[data-theme="dark"] [style*="background-color: var(--e-global-color-blocksy_palette_8)"] *,
html[data-theme="dark"] [style*="--background-color: var(--e-global-color-blocksy_palette_8)"] * {
	color: #e8e8e8;
}

/* ── Hardcoded white/light inline styles from Elementor ──────── */
/* Elementor outputs background-color as inline style — override per context */
html[data-theme="dark"] .elementor-widget-html iframe {
	border-color: #2a2a2a !important;
}

/* ── Box shadows ─────────────────────────────────────────────── */
html[data-theme="dark"] .elementor-element [style*="box-shadow"] {
	box-shadow: 0 20px 80px rgba(0, 0, 0, 0.5) !important;
}

/* ── Elementor global color palette elements ─────────────────── */
/* palette-4 is now #e8e8e8 (was #000 text) — ensure no near-invisible combos */
html[data-theme="dark"] .elementor-widget-text-editor [style*="color"],
html[data-theme="dark"] .elementor-widget-heading [style*="color"] {
	/* Let specific overrides win; fallback to inherited color */
	color: inherit;
}

/* ── Off-canvas mobile menu ──────────────────────────────────── */
html[data-theme="dark"] .ct-mobile-menu-container,
html[data-theme="dark"] .ct-header-mobile {
	background-color: #0f0f0f !important;
}

html[data-theme="dark"] .ct-mobile-menu li a {
	color: #e8e8e8 !important;
	border-bottom-color: #2a2a2a !important;
}

/* ── Meta / tag / category chips ────────────────────────────── */
html[data-theme="dark"] .ct-meta-box span,
html[data-theme="dark"] .ct-blog-card .cat-links a,
html[data-theme="dark"] .entry-meta .cat-links a {
	background-color: #1e1e1e !important;
	color: #a8a8a8 !important;
}

/* ── Read More / excerpt links ───────────────────────────────── */
html[data-theme="dark"] .more-link,
html[data-theme="dark"] a.ct-read-more {
	color: #e62e2d !important;
}

/* ── Comment area ────────────────────────────────────────────── */
html[data-theme="dark"] #comments,
html[data-theme="dark"] .comment-list li {
	border-color: #2a2a2a !important;
}

html[data-theme="dark"] .comment-body {
	background-color: #1e1e1e !important;
}

html[data-theme="dark"] .comment-author cite a {
	color: #e8e8e8 !important;
}

/* ── Dark mode toggle button ────────────────────────────────── */
.bc-dark-toggle {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 9999;

	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 2px solid #2a2a2a;
	cursor: pointer;
	outline: none;
	padding: 0;

	background-color: #1e1e1e;
	color: #e8e8e8;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);

	/* Override any transition resets from above */
	transition:
		background-color 0.2s ease,
		border-color     0.2s ease,
		box-shadow       0.2s ease,
		transform        0.15s ease !important;
}

.bc-dark-toggle:hover {
	background-color: #e62e2d;
	border-color: #e62e2d;
	box-shadow: 0 4px 16px rgba(230, 46, 45, 0.35);
	transform: scale(1.08);
}

.bc-dark-toggle:focus-visible {
	outline: 2px solid #e62e2d;
	outline-offset: 3px;
}

.bc-dark-toggle svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	pointer-events: none;
	transition: none !important;
}

/* Light mode: show moon (prompt to go dark) */
html:not([data-theme="dark"]) .bc-dark-toggle {
	background-color: #fff;
	border-color: #edeff2;
	color: #333;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
}

html:not([data-theme="dark"]) .bc-dark-toggle:hover {
	background-color: #e62e2d;
	border-color: #e62e2d;
	color: #fff;
}

/* Icon visibility */
.bc-dark-toggle .bc-icon-moon   { display: block; }
.bc-dark-toggle .bc-icon-sun    { display: none; }

html[data-theme="dark"] .bc-dark-toggle .bc-icon-moon { display: none; }
html[data-theme="dark"] .bc-dark-toggle .bc-icon-sun  { display: block; }

/* Fallback if JS has not docked toggle into header yet */
.bc-dark-toggle:not(.bc-dark-toggle--header) {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 9999;
}

/* ── Generic Form Labels & Legends ──────────────────────────── */
html[data-theme="dark"] label,
html[data-theme="dark"] legend {
	color: var(--theme-palette-color-4, #e8e8e8);
}

/* ── WordPress Comments Area Polish ──────────────────────────── */
html[data-theme="dark"] .comment-content,
html[data-theme="dark"] .comment-reply-link,
html[data-theme="dark"] .comment-metadata a,
html[data-theme="dark"] .comment-meta a,
html[data-theme="dark"] .logged-in-as,
html[data-theme="dark"] .logged-in-as a,
html[data-theme="dark"] .comment-notes,
html[data-theme="dark"] .comment-form label {
	color: var(--theme-palette-color-3, #a8a8a8) !important;
}

html[data-theme="dark"] .comment-reply-link:hover,
html[data-theme="dark"] .comment-metadata a:hover,
html[data-theme="dark"] .logged-in-as a:hover {
	color: var(--theme-palette-color-1, #e62e2d) !important;
}

/* ── Widget Metadata & Content Lists ───────────────────────── */
html[data-theme="dark"] .widget,
html[data-theme="dark"] .widget span,
html[data-theme="dark"] .widget .post-date,
html[data-theme="dark"] .widget-post-meta {
	color: var(--theme-palette-color-3, #a8a8a8);
}

html[data-theme="dark"] .entry-content ul,
html[data-theme="dark"] .entry-content ol,
html[data-theme="dark"] .entry-content li {
	color: var(--theme-palette-color-3, #a8a8a8);
}

/* ── Page Header Excerpt/Description ────────────────────────── */
html[data-theme="dark"] .ct-page-description,
html[data-theme="dark"] .page-description,
html[data-theme="dark"] .ct-page-title .excerpt {
	color: var(--theme-palette-color-3, #a8a8a8) !important;
}

/* ── Live Search Results Dropdown ───────────────────────────── */
html[data-theme="dark"] .ct-search-results {
	background-color: #1e1e1e !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8) !important;
	border: 1px solid #2a2a2a !important;
}

html[data-theme="dark"] .ct-search-results a {
	color: var(--theme-palette-color-4, #e8e8e8) !important;
}

html[data-theme="dark"] .ct-search-results a:hover {
	background-color: #2a2a2a !important;
	color: var(--theme-palette-color-1, #e62e2d) !important;
}

html[data-theme="dark"] .ct-search-results a:not(:last-child) {
	border-bottom-color: #2a2a2a !important;
}

html[data-theme="dark"] .ct-search-results .ct-search-more {
	color: var(--theme-palette-color-3, #a8a8a8) !important;
	background-color: #141414 !important;
}

html[data-theme="dark"] .ct-search-results .ct-search-more:hover {
	color: var(--theme-palette-color-1, #e62e2d) !important;
}

/* ── Elementor Interactive Widgets ─────────────────────────── */
html[data-theme="dark"] .elementor-accordion .elementor-accordion-title {
	color: var(--theme-palette-color-4, #e8e8e8) !important;
}

html[data-theme="dark"] .elementor-accordion .elementor-accordion-title.elementor-active {
	color: var(--theme-palette-color-1, #e62e2d) !important;
}

html[data-theme="dark"] .elementor-accordion .elementor-tab-content {
	color: var(--theme-palette-color-3, #a8a8a8) !important;
}

html[data-theme="dark"] .elementor-tabs .elementor-tab-title a {
	color: var(--theme-palette-color-3, #a8a8a8) !important;
}

html[data-theme="dark"] .elementor-tabs .elementor-tab-title.elementor-active a {
	color: var(--theme-palette-color-1, #e62e2d) !important;
}

html[data-theme="dark"] .elementor-icon-list-text {
	color: var(--theme-palette-color-3, #a8a8a8) !important;
}

/* ── Hardcoded Dark Inline Style Overrides ─────────────────── */
html[data-theme="dark"] [style*="color: #000"],
html[data-theme="dark"] [style*="color:#000"],
html[data-theme="dark"] [style*="color: rgb(0, 0, 0)"],
html[data-theme="dark"] [style*="color:rgb(0,0,0)"],
html[data-theme="dark"] [style*="color: #333"],
html[data-theme="dark"] [style*="color:#333"],
html[data-theme="dark"] [style*="color: #222"],
html[data-theme="dark"] [style*="color:#222"],
html[data-theme="dark"] [style*="color: #555"],
html[data-theme="dark"] [style*="color:#555"] {
	color: var(--theme-palette-color-4, #e8e8e8) !important;
}

/* ── Elementor Flexbox Containers overrides ──────────────────── */
/* Reset background-color to transparent so dark body shows through,
   but do NOT zero out background-image — tiles use it for category images */
html[data-theme="dark"] .elementor-section,
html[data-theme="dark"] .e-con,
html[data-theme="dark"] .e-container,
html[data-theme="dark"] .e-parent {
	background-color: transparent !important;
	/* background-image is intentionally NOT overridden here —
	   Elementor containers with featured/category background images
	   (e.g. Idea Board tiles) depend on it. */
}

/* Invert Elementor SVG shape dividers (waves, curves) to match the dark background */
html[data-theme="dark"] .elementor-shape-fill {
	fill: #121212 !important;
}

/* ── Homepage Substack CTA Strip Override ───────────────────── */
html[data-theme="dark"] .elementor-element-nl_cta_strip,
html[data-theme="dark"] [data-id="nl_cta_strip"] {
	background-color: var(--theme-palette-color-8, #0f0f0f) !important;
	background: var(--theme-palette-color-8, #0f0f0f) !important;
	border-top: 1px solid var(--theme-palette-color-5, #2a2a2a) !important;
	border-bottom: 1px solid var(--theme-palette-color-5, #2a2a2a) !important;
}

html[data-theme="dark"] .elementor-element-nl_cta_text,
html[data-theme="dark"] .elementor-element-nl_cta_text .elementor-heading-title,
html[data-theme="dark"] [data-id="nl_cta_text"] .elementor-heading-title {
	color: var(--theme-palette-color-4, #e8e8e8) !important;
}

/* ── "Have a Project in Mind?" CTA Tile Override ─────────────── */
html[data-theme="dark"] .elementor-element-47da2f4 {
	background-color: #e62e2d !important;
	background: #e62e2d !important;
}

html[data-theme="dark"] .elementor-element-47da2f4 h4,
html[data-theme="dark"] .elementor-element-47da2f4 p {
	color: #ffffff !important;
}

html[data-theme="dark"] .elementor-element-47da2f4 .elementor-button {
	background-color: #ffffff !important;
	color: #e62e2d !important;
}

/* ── X / Twitter Social Icon Visibility ──────────────────────── */
html[data-theme="dark"] [data-network="twitter"],
html[data-theme="dark"] [data-network="x"] {
	--official-color: #ffffff !important;
	color: #ffffff !important;
}

/* ── Homepage Idea Board Tiles — restore visibility in dark mode ─ */
/* These tiles use background-color: var(--e-global-color-blocksy_palette_4).
   In dark mode palette_4 = #e8e8e8 (near-white), but our broad e-con rule
   overrides everything to transparent, making the tiles invisible.
   Override here with specific element IDs to render them as dark cards. */
html[data-theme="dark"] .elementor-element-f4c41eb:not(.elementor-motion-effects-element-type-background),
html[data-theme="dark"] .elementor-element-f4c41eb > .elementor-motion-effects-container > .elementor-motion-effects-layer,
html[data-theme="dark"] .elementor-element-da5f4ca:not(.elementor-motion-effects-element-type-background),
html[data-theme="dark"] .elementor-element-da5f4ca > .elementor-motion-effects-container > .elementor-motion-effects-layer,
html[data-theme="dark"] .elementor-element-616c4d2:not(.elementor-motion-effects-element-type-background),
html[data-theme="dark"] .elementor-element-616c4d2 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
html[data-theme="dark"] .elementor-element-c299f3c:not(.elementor-motion-effects-element-type-background),
html[data-theme="dark"] .elementor-element-c299f3c > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: #1c1c1e !important;
}

html[data-theme="dark"] .elementor-element-f4c41eb,
html[data-theme="dark"] .elementor-element-da5f4ca,
html[data-theme="dark"] .elementor-element-616c4d2,
html[data-theme="dark"] .elementor-element-c299f3c {
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5),
	            inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
	border: 1px solid #2a2a2a;
	border-radius: 12px;
	overflow: hidden;
}

html[data-theme="dark"] .elementor-element-f4c41eb:hover,
html[data-theme="dark"] .elementor-element-da5f4ca:hover,
html[data-theme="dark"] .elementor-element-616c4d2:hover,
html[data-theme="dark"] .elementor-element-c299f3c:hover {
	box-shadow: 0 8px 32px rgba(230, 46, 45, 0.2),
	            0 4px 16px rgba(0, 0, 0, 0.6) !important;
	border-color: rgba(230, 46, 45, 0.4);
}

/* ── Dark Mode Text Visibility Overrides for Page Heroes / Banners ── */
html[data-theme="dark"] .hero-section h1,
html[data-theme="dark"] .hero-section h2,
html[data-theme="dark"] .hero-section h3,
html[data-theme="dark"] .hero-section h4,
html[data-theme="dark"] .hero-section h5,
html[data-theme="dark"] .hero-section p,
html[data-theme="dark"] .hero-section span,
html[data-theme="dark"] .hero-section a,
html[data-theme="dark"] .bc-hero-host h1,
html[data-theme="dark"] .bc-hero-host h2,
html[data-theme="dark"] .bc-hero-host h3,
html[data-theme="dark"] .bc-hero-host h4,
html[data-theme="dark"] .bc-hero-host h5,
html[data-theme="dark"] .bc-hero-host p,
html[data-theme="dark"] .bc-hero-host span,
html[data-theme="dark"] .bc-hero-host a:not(.bc-btn),
html[data-theme="dark"] .bc-hero-host .elementor-heading-title,
html[data-theme="dark"] .bc-hero-host .elementor-image-box-title,
html[data-theme="dark"] .bc-hero-host .elementor-image-box-description,
html[data-theme="dark"] .bc-hero-host .elementor-button-text,
html[data-theme="dark"] .bc-hero-host .elementor-icon-list-text {
	color: #ffffff !important;
}

html[data-theme="dark"] .hero-section p,
html[data-theme="dark"] .hero-section .page-description,
html[data-theme="dark"] .hero-section .ct-breadcrumbs,
html[data-theme="dark"] .hero-section .ct-breadcrumbs a,
html[data-theme="dark"] .bc-hero-host p:not(.bc-btn p),
html[data-theme="dark"] .bc-hero-host .elementor-image-box-description,
html[data-theme="dark"] .bc-hero-host .breadcrumbs,
html[data-theme="dark"] .bc-hero-host .breadcrumbs a {
	color: rgba(255, 255, 255, 0.7) !important;
}

html[data-theme="dark"] .hero-section h1,
html[data-theme="dark"] .hero-section h2,
html[data-theme="dark"] .hero-section h3,
html[data-theme="dark"] .hero-section h4,
html[data-theme="dark"] .hero-section h5,
html[data-theme="dark"] .bc-hero-host h1,
html[data-theme="dark"] .bc-hero-host h2,
html[data-theme="dark"] .bc-hero-host h3,
html[data-theme="dark"] .bc-hero-host h4,
html[data-theme="dark"] .bc-hero-host h5,
html[data-theme="dark"] .bc-hero-host .elementor-heading-title,
html[data-theme="dark"] .bc-hero-host .elementor-image-box-title {
	text-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .hero-section .ct-breadcrumbs a:hover,
html[data-theme="dark"] .bc-hero-host .breadcrumbs a:hover {
	color: #ff3344 !important;
}

/* ── Light Mode overrides for exit-intent newsletter popup ───── */
html:not([data-theme="dark"]) .bc-newsletter-popup-content {
	background: rgba(255, 255, 255, 0.95) !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	color: #121212 !important;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15) !important;
}
html:not([data-theme="dark"]) .bc-newsletter-popup-header h3 {
	background: linear-gradient(135deg, #121212 0%, #4a4a4a 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}
html:not([data-theme="dark"]) .bc-newsletter-popup-header p {
	color: rgba(18, 18, 18, 0.75) !important;
}
html:not([data-theme="dark"]) .bc-newsletter-popup-close {
	color: rgba(0, 0, 0, 0.4) !important;
}
html:not([data-theme="dark"]) .bc-newsletter-popup-close:hover {
	color: #121212 !important;
}

html:not([data-theme="dark"]) .bc-newsletter-tile {
	background:
		radial-gradient(circle at top left, rgba(230, 46, 45, 0.12), transparent 42%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 248, 248, 0.98)) !important;
	border-color: rgba(230, 46, 45, 0.16) !important;
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.08) !important;
}
html:not([data-theme="dark"]) .bc-newsletter-tile__eyebrow {
	background: rgba(230, 46, 45, 0.08) !important;
	color: #c51f1f !important;
}
html:not([data-theme="dark"]) .bc-newsletter-tile__copy h2 {
	color: #121212 !important;
}
html:not([data-theme="dark"]) .bc-newsletter-tile__copy p {
	color: rgba(18, 18, 18, 0.72) !important;
}
html:not([data-theme="dark"]) .bc-newsletter-tile__points li {
	color: #1f1f1f !important;
}
html:not([data-theme="dark"]) .bc-newsletter-tile__embed {
	background: rgba(18, 18, 18, 0.02) !important;
	border-color: rgba(18, 18, 18, 0.08) !important;
}
html:not([data-theme="dark"]) .bc-newsletter-paid {
	background: rgba(18, 18, 18, 0.04) !important;
	border-color: rgba(18, 18, 18, 0.12) !important;
	color: #121212 !important;
}
