.clickywalls-blog-surface {
	--cw-blog-night: #040a0c;
	--cw-blog-deep: #07161a;
	--cw-blog-panel: #0b2024;
	--cw-blog-panel-raised: #102a2f;
	--cw-blog-teal: #35c7c9;
	--cw-blog-teal-soft: #86ded8;
	--cw-blog-copper: #b8793f;
	--cw-blog-gold: #d6a85d;
	--cw-blog-ink: #f0e5d0;
	--cw-blog-muted: #b8c5c1;
	background: var(--cw-blog-night);
	color: var(--cw-blog-ink);
}

.clickywalls-blog-surface,
.clickywalls-blog-surface button,
.clickywalls-blog-surface input,
.clickywalls-blog-surface textarea,
.clickywalls-blog-surface select {
	font-family: "Roboto Slab", Georgia, serif;
}

.clickywalls-blog-surface a {
	color: var(--cw-blog-teal-soft);
}

.clickywalls-blog-surface a:hover,
.clickywalls-blog-surface a:focus-visible {
	color: #ffffff;
}

.clickywalls-blog-surface :focus-visible {
	outline: 2px solid var(--cw-blog-teal);
	outline-offset: 3px;
}

/* Present Simon's exact approved artwork as a seamless full-width header band. */
.clickywalls-blog-surface .elementor-location-header .elementor-element-57db891,
.clickywalls-blog-surface .elementor-location-header .elementor-element-e1640c1,
.clickywalls-blog-surface.single-post .elementor-element-5ab2eba {
	background:
		radial-gradient(ellipse at center, #000000 0%, #000000 52%, #020709 78%, var(--cw-blog-night) 100%) !important;
}

.clickywalls-blog-surface .elementor-location-header .elementor-element-57db891 > .e-con-inner {
	width: 100% !important;
	max-width: none !important;
}

.clickywalls-blog-surface .elementor-location-header .elementor-element-e1640c1,
.clickywalls-blog-surface.single-post .elementor-element-5ab2eba {
	width: 100% !important;
	height: auto !important;
	min-height: 0;
	overflow: hidden;
}

.clickywalls-blog-surface.single-post .elementor-element-5ab2eba {
	width: calc(100vw - 20px) !important;
	max-width: calc(100vw - 20px) !important;
	margin-left: calc(50% - 50vw + 10px);
}

.clickywalls-blog-surface .elementor-location-header .elementor-element-e1640c1 .elementor-wrapper,
.clickywalls-blog-surface.single-post .elementor-element-5ab2eba > a,
.clickywalls-blog-surface.single-post .elementor-element-5ab2eba .elementor-widget-container {
	display: grid;
	place-items: center;
	width: 100%;
	height: auto !important;
	min-height: 0;
	aspect-ratio: auto !important;
	background: transparent !important;
	overflow: hidden;
}

.clickywalls-blog-surface .cw-blog-header-artwork {
	display: block;
	width: min(600px, 50%) !important;
	height: auto !important;
	aspect-ratio: 1728 / 910;
	max-width: none !important;
	object-fit: contain;
	object-position: center;
	opacity: 1 !important;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
}

.clickywalls-blog-surface .elementor-location-header .elementor-element-992a9ef,
.clickywalls-blog-surface .elementor-location-header .elementor-element-d9b1503 {
	background-color: var(--cw-blog-night) !important;
	border-bottom: 1px solid rgba(53, 199, 201, 0.36);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
}

.clickywalls-blog-surface .elementor-location-header .elementor-nav-menu--main .elementor-item {
	color: var(--cw-blog-ink) !important;
	min-height: 44px;
}

.clickywalls-blog-surface .elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.clickywalls-blog-surface .elementor-location-header .elementor-nav-menu--main .elementor-item:focus-visible {
	color: var(--cw-blog-teal-soft) !important;
}

.clickywalls-blog-surface .elementor-location-header .elementor-button {
	background: linear-gradient(180deg, #12343a, #0a2227) !important;
	border: 1px solid rgba(53, 199, 201, 0.72) !important;
	border-radius: 10px !important;
	color: var(--cw-blog-ink) !important;
	min-height: 44px;
}

/* Shared page frame. */
.clickywalls-blog-surface .site-main,
.clickywalls-blog-surface .elementor-location-single {
	background:
		radial-gradient(circle at 12% 0%, rgba(53, 199, 201, 0.09), transparent 34rem),
		linear-gradient(180deg, #061114 0%, var(--cw-blog-night) 48%);
}

.clickywalls-blog-surface .site-main > .page-content,
.clickywalls-blog-surface .site-main > .page-header,
.clickywalls-blog-surface .site-main > article {
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}

.clickywalls-blog-surface .site-main .elementor > .e-con:first-child {
	padding-top: clamp(34px, 6vw, 76px);
}

.clickywalls-blog-surface h1,
.clickywalls-blog-surface h2,
.clickywalls-blog-surface h3,
.clickywalls-blog-surface h4,
.clickywalls-blog-surface .entry-title,
.clickywalls-blog-surface .elementor-heading-title {
	color: var(--cw-blog-ink) !important;
	font-family: "Roboto Serif", Georgia, serif;
	letter-spacing: 0.015em;
	text-wrap: balance;
}

.clickywalls-blog-surface h1,
.clickywalls-blog-surface .entry-title {
	font-size: clamp(2.1rem, 5vw, 4.5rem) !important;
	line-height: 1.03;
	text-shadow: 0 2px 24px rgba(53, 199, 201, 0.13);
}

.clickywalls-blog-surface p,
.clickywalls-blog-surface li,
.clickywalls-blog-surface blockquote {
	color: var(--cw-blog-muted);
	line-height: 1.72;
}

/* News, Updates and related-post cards. */
.clickywalls-blog-surface .elementor-posts-container {
	gap: clamp(18px, 2.5vw, 34px) !important;
}

.clickywalls-blog-surface .elementor-post,
.clickywalls-blog-surface .elementor-post__card {
	background: linear-gradient(145deg, rgba(16, 42, 47, 0.98), rgba(7, 22, 26, 0.98)) !important;
	border: 1px solid rgba(184, 121, 63, 0.56) !important;
	border-radius: 16px !important;
	overflow: hidden;
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.035) !important;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.clickywalls-blog-surface .elementor-post:hover {
	transform: translateY(-3px);
	border-color: rgba(53, 199, 201, 0.78) !important;
	box-shadow: 0 20px 46px rgba(0, 0, 0, 0.42), 0 0 24px rgba(53, 199, 201, 0.08) !important;
}

.clickywalls-blog-surface .elementor-post__thumbnail {
	margin-bottom: 0 !important;
	aspect-ratio: 16 / 9;
	background: #020708;
}

.clickywalls-blog-surface .elementor-post__thumbnail img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	filter: saturate(0.92) contrast(1.04);
}

.clickywalls-blog-surface .elementor-post__text {
	padding: clamp(20px, 2.5vw, 30px) !important;
}

.clickywalls-blog-surface .elementor-post__title,
.clickywalls-blog-surface .elementor-post__title a {
	color: var(--cw-blog-ink) !important;
	font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
	line-height: 1.25;
}

.clickywalls-blog-surface .elementor-post__meta-data,
.clickywalls-blog-surface .elementor-post-info,
.clickywalls-blog-surface .elementor-post-info a {
	color: var(--cw-blog-gold) !important;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
}

.clickywalls-blog-surface .elementor-post__excerpt p {
	color: var(--cw-blog-muted) !important;
}

.clickywalls-blog-surface .elementor-post__read-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 18px;
	border: 1px solid rgba(53, 199, 201, 0.68);
	border-radius: 999px;
	background: rgba(53, 199, 201, 0.08);
	color: var(--cw-blog-teal-soft) !important;
	font-weight: 700 !important;
	letter-spacing: 0.035em;
	text-transform: none !important;
}

/* Single articles use their own Elementor canvas and receive the same live artwork band. */
.clickywalls-blog-surface.single-post .elementor-location-single {
	padding-bottom: 56px;
}

.clickywalls-blog-surface.single-post .elementor-location-single > .e-con > .e-con-inner {
	width: min(980px, calc(100% - 40px));
}

.clickywalls-blog-surface.single-post .elementor-element-5ab2eba img:not(.cw-blog-header-artwork) {
	display: none !important;
}

.clickywalls-blog-surface.single-post .elementor-widget-theme-post-content,
.clickywalls-blog-surface.single-post .elementor-widget-text-editor {
	font-size: clamp(1rem, 1.35vw, 1.16rem);
}

/* Keep adjacent article navigation legible and give it a tactile fantasy cue. */
.clickywalls-blog-surface.single-post .elementor-post-navigation a,
.clickywalls-blog-surface.single-post .post-navigation__prev--label,
.clickywalls-blog-surface.single-post .post-navigation__next--label,
.clickywalls-blog-surface.single-post .post-navigation__prev--title,
.clickywalls-blog-surface.single-post .post-navigation__next--title {
	color: var(--cw-blog-ink) !important;
}

.clickywalls-blog-surface.single-post .elementor-post-navigation a:hover,
.clickywalls-blog-surface.single-post .elementor-post-navigation a:focus-visible {
	color: var(--cw-blog-gold) !important;
}

.clickywalls-blog-surface.single-post .post-navigation__arrow-wrapper svg {
	display: none !important;
}

.clickywalls-blog-surface.single-post .post-navigation__arrow-wrapper::before {
	display: inline-block;
	color: #e8dcc5;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(1.55rem, 2.4vw, 2rem);
	line-height: 1;
	filter: drop-shadow(0 0 5px rgba(222, 193, 139, 0.35));
}

.clickywalls-blog-surface.single-post .post-navigation__arrow-prev::before {
	content: '\261c';
}

.clickywalls-blog-surface.single-post .post-navigation__arrow-next::before {
	content: '\261e';
}

.clickywalls-blog-surface.single-post .elementor-widget-theme-post-content a {
	text-decoration-color: rgba(53, 199, 201, 0.65);
	text-underline-offset: 3px;
}

.clickywalls-blog-surface.single-post .elementor-widget-theme-post-content img {
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.38);
}

.clickywalls-blog-surface.single-post blockquote {
	margin-inline: 0;
	padding: 18px 22px;
	border-left: 3px solid var(--cw-blog-copper);
	background: rgba(11, 32, 36, 0.76);
}

/* Existing footer content remains intact but joins the same visual system. */
.clickywalls-blog-surface .elementor-location-footer {
	background: #031013;
	border-top: 1px solid rgba(53, 199, 201, 0.28);
}

.clickywalls-blog-surface .elementor-location-footer p,
.clickywalls-blog-surface .elementor-location-footer a {
	color: var(--cw-blog-muted) !important;
}

.clickywalls-blog-surface .elementor-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid rgba(184, 121, 63, 0.55);
	border-radius: 10px;
	color: var(--cw-blog-ink) !important;
}

.clickywalls-blog-surface .elementor-pagination .current {
	background: var(--cw-blog-panel-raised);
	border-color: var(--cw-blog-teal);
}

@media (max-width: 767px) {
	/* Elementor's legacy mobile header pulls navigation 57px over the artwork. */
	.clickywalls-blog-surface .elementor-location-header .elementor-element-992a9ef {
		margin-top: 0 !important;
	}

	.clickywalls-blog-surface .elementor-location-header .elementor-element-e1640c1,
	.clickywalls-blog-surface.single-post .elementor-element-5ab2eba {
		height: auto !important;
		min-height: 0;
	}

	.clickywalls-blog-surface .cw-blog-header-artwork {
		width: 50% !important;
		height: auto !important;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
	}

	.clickywalls-blog-surface .elementor-location-header .elementor-menu-toggle,
	.clickywalls-blog-surface .elementor-location-header .elementor-button,
	.clickywalls-blog-surface .elementor-post__read-more {
		min-height: 48px;
	}

	.clickywalls-blog-surface .site-main > .page-content,
	.clickywalls-blog-surface .site-main > .page-header,
	.clickywalls-blog-surface .site-main > article,
	.clickywalls-blog-surface.single-post .elementor-location-single > .e-con > .e-con-inner {
		width: min(100% - 24px, 980px);
	}

	.clickywalls-blog-surface .site-main .elementor > .e-con:first-child {
		padding-top: 28px;
	}

	.clickywalls-blog-surface h1,
	.clickywalls-blog-surface .entry-title {
		font-size: clamp(1.85rem, 10vw, 3rem) !important;
	}

	.clickywalls-blog-surface .elementor-post__text {
		padding: 20px !important;
	}
}

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