/**
 * TechBBQ Theme section — annual theme highlight.
 *
 * Figma refs in widget PHP (1440 / 1024 / 768 / 380).
 * Section heights (Figma): 380 → 543px, 768 → 598px, 1024 → 738px, 1440 → 898px.
 *
 * Breakpoints (mobile-first): 0–767 (base), 768–1023, 1024–1440, 1440+.
 */

.techbbq-theme-section {
	--techbbq-theme-section-gradient-text: radial-gradient(
		ellipse 140% 120% at 18% 42%,
		#ca0f2e 0%,
		#d73323 18%,
		#e45619 36%,
		#f07a0e 54%,
		#fd9d04 72%
	);
	--techbbq-theme-section-content-gap: var(--techbbq-space-3);
	--techbbq-theme-section-headline-gap: var(--techbbq-section-eyebrow-title-gap);
	--techbbq-theme-section-eyebrow-size: 22px;
	--techbbq-theme-section-title-size: 52px;
	--techbbq-theme-section-description-size: 22px;
	--techbbq-theme-section-height: 543px;
	--techbbq-theme-section-section-gap: 48px;
	--techbbq-theme-section-cursor-size: 167px;

	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--techbbq-theme-section-section-gap);
	width: 100%;
	height: var(--techbbq-theme-section-height);
	min-height: var(--techbbq-theme-section-height);
	padding-left: var(--techbbq-space-2);
	padding-right: var(--techbbq-space-2);
	overflow: hidden;
	color: var(--techbbq-content-primary);
	background-color: var(--techbbq-bg-main);
}

.techbbq-theme-section__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.techbbq-theme-section__bg-picture,
img.techbbq-theme-section__bg-img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}

.techbbq-theme-section__bg-img {
	object-fit: cover;
}

.techbbq-theme-section__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: var(--techbbq-theme-section-section-gap);
	align-items: center;
	width: 100%;
	max-width: 322px;
	text-align: center;
}

.techbbq-theme-section__content {
	display: flex;
	flex-direction: column;
	gap: var(--techbbq-theme-section-content-gap);
	align-items: center;
	width: 100%;
}

.techbbq-theme-section__headline {
	display: flex;
	flex-direction: column;
	gap: var(--techbbq-theme-section-headline-gap);
	align-items: center;
	width: 100%;
	overflow: visible;
}

.techbbq-theme-section__eyebrow,
.techbbq-theme-section__title,
.techbbq-theme-section__description {
	margin: 0;
}

.techbbq-theme-section__eyebrow {
	max-width: 322px;
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-theme-section-eyebrow-size);
	font-weight: 400;
	line-height: 1.1;
	background-image: var(--techbbq-theme-section-gradient-text);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Override Elementor Site Kit heading styles inside this widget. */
.elementor-widget-techbbq-theme-section .techbbq-theme-section__eyebrow,
.elementor-widget-techbbq-theme-section .techbbq-theme-section__title,
.elementor-widget-techbbq-theme-section .techbbq-theme-section__description {
	font-style: normal;
	text-transform: none;
	letter-spacing: normal;
}

.elementor-widget-techbbq-theme-section .techbbq-theme-section__eyebrow {
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-theme-section-eyebrow-size);
	font-weight: 400;
	line-height: 1.1;
}

.elementor-widget-techbbq-theme-section .techbbq-theme-section__title {
	display: block;
	max-width: 100%;
	font-family: var(--techbbq-font-family-heading);
	font-size: var(--techbbq-theme-section-title-size);
	font-weight: 500;
	line-height: 0.9;
	padding-bottom: 0.12em;
	overflow: visible;
}

.elementor-widget-techbbq-theme-section .techbbq-theme-section__description {
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-theme-section-description-size);
	font-weight: 400;
	line-height: 1.1;
}

.techbbq-theme-section__title {
	background-image: var(--techbbq-theme-section-gradient-text);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.techbbq-theme-section__description {
	max-width: 322px;
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-theme-section-description-size);
	font-weight: 400;
	line-height: 1.1;
	background-image: var(--techbbq-theme-section-gradient-text);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.techbbq-theme-section__btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 44px;
	padding: 8px 30px;
	border-radius: var(--techbbq-radius-pill);
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-text-paragraph-m-size);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-decoration: none;
	white-space: nowrap;
	background: var(--techbbq-btn-primary-fill-default);
	color: var(--techbbq-btn-primary-content);
}

.techbbq-theme-section__hit {
	display: none;
}

.techbbq-theme-section__cursor {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
	display: none; /* Hidden while custom cursor is disabled — see desktop breakpoint. */
	align-items: center;
	justify-content: center;
	width: var(--techbbq-theme-section-cursor-size);
	height: var(--techbbq-theme-section-cursor-size);
	border-radius: 50%;
	background: var(--techbbq-gradient-accent-1);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, -50%);
	transition: opacity 0.15s ease;
	will-change: transform;
}

.techbbq-theme-section__cursor.is-visible {
	opacity: 1;
}

.techbbq-theme-section__cursor-label {
	font-family: var(--techbbq-font-family-heading);
	font-size: 20px;
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: 0.04em;
	text-align: center;
	color: var(--techbbq-content-primary);
}

/* ── Tablet (768–1023) ──────────────────────────────────────── */
@media (min-width: 768px) {
	.techbbq-theme-section {
		--techbbq-theme-section-content-gap: var(--techbbq-space-5);
		--techbbq-theme-section-headline-gap: var(--techbbq-space-4);
		--techbbq-theme-section-eyebrow-size: 24px;
		--techbbq-theme-section-title-size: 98px;
		--techbbq-theme-section-description-size: 24px;
		--techbbq-theme-section-height: 598px;
		--techbbq-theme-section-section-gap: var(--techbbq-space-10);
		padding-left: var(--techbbq-space-3);
		padding-right: var(--techbbq-space-3);
	}

	.techbbq-theme-section__inner {
		max-width: 548px;
	}

	.techbbq-theme-section__eyebrow,
	.techbbq-theme-section__description {
		max-width: 548px;
	}

	.techbbq-theme-section__btn {
		width: auto;
	}
}

/* ── Desktop (1024–1440) ──────────────────────────────────────── */
@media (min-width: 1024px) {
	.techbbq-theme-section {
		--techbbq-theme-section-eyebrow-size: 28px;
		--techbbq-theme-section-title-size: 124px;
		--techbbq-theme-section-description-size: 24px;
		--techbbq-theme-section-height: 738px;
		--techbbq-theme-section-section-gap: var(--techbbq-space-5);
	}

	.techbbq-theme-section__inner {
		max-width: 976px;
		pointer-events: none;
	}

	.techbbq-theme-section__eyebrow,
	.techbbq-theme-section__description {
		max-width: 552px;
	}

	.techbbq-theme-section__btn {
		display: none;
	}

	.techbbq-theme-section__hit {
		position: absolute;
		inset: 0;
		z-index: 3;
		display: block;
		cursor: pointer;
	}

	/* Custom circle cursor disabled — set CUSTOM_CURSOR_ENABLED in theme-section.js to re-enable. */
	.techbbq-theme-section__cursor {
		display: none !important;
	}
}

/* ── Large desktop (1440+) ──────────────────────────────────────── */
@media (min-width: 1440px) {
	.techbbq-theme-section {
		--techbbq-theme-section-title-size: 184px;
		--techbbq-theme-section-height: 898px;
	}

	.techbbq-theme-section__inner {
		max-width: 1207px;
	}

	.techbbq-theme-section__eyebrow {
		max-width: 552px;
		background: none;
		-webkit-background-clip: initial;
		background-clip: initial;
		color: var(--techbbq-content-accent-3);
	}

	.elementor-widget-techbbq-theme-section .techbbq-theme-section__title {
		max-width: 1207px;
	}
}
