/**
 * TechBBQ Text with cards — Theme page feature card grid.
 *
 * Figma refs in widget PHP (1440 / 1024 / 768 / 380).
 *
 * Breakpoints (mobile-first): 0–767 (base), 768–1023, 1024–1440, 1440+.
 */

.techbbq-text-with-cards {
	--techbbq-text-with-cards-gap: var(--techbbq-space-7);
	--techbbq-text-with-cards-intro-gap: 12px;
	--techbbq-text-with-cards-title-size: 30px;
	--techbbq-text-with-cards-desc-size: 18px;
	--techbbq-text-with-cards-desc-line-height: 1.4;
	--techbbq-text-with-cards-desc-max-width: 576px;
	--techbbq-text-with-cards-card-gap: var(--techbbq-space-1);
	--techbbq-text-with-cards-card-title-size: 20px;
	--techbbq-text-with-cards-card-desc-size: 16px;
	--techbbq-text-with-cards-card-height: 248px;

	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--techbbq-text-with-cards-gap);
	width: 100%;
	color: var(--techbbq-content-primary);
	background-color: var(--techbbq-bg-main);
}

.techbbq-text-with-cards__header,
.techbbq-text-with-cards__grid {
	width: 100%;
}

.techbbq-text-with-cards__header {
	display: flex;
	flex-direction: column;
	gap: var(--techbbq-section-eyebrow-title-gap);
	align-items: center;
	text-align: center;
}

.techbbq-text-with-cards__intro {
	display: flex;
	flex-direction: column;
	gap: var(--techbbq-text-with-cards-intro-gap);
	align-items: center;
	width: 100%;
}

.techbbq-text-with-cards__title {
	margin: 0;
	font-size: var(--techbbq-text-with-cards-title-size);
}

.techbbq-text-with-cards__description {
	max-width: var(--techbbq-text-with-cards-desc-max-width);
	margin: 0;
	font-size: var(--techbbq-text-with-cards-desc-size);
	line-height: var(--techbbq-text-with-cards-desc-line-height);
	color: var(--techbbq-content-secondary);
}

.techbbq-text-with-cards__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--techbbq-text-with-cards-card-gap);
}

.techbbq-text-with-cards__card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: var(--techbbq-text-with-cards-card-height);
	padding: 20px;
	border-radius: 12px;
	background-color: var(--techbbq-bg-surface);
}

.techbbq-text-with-cards__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	align-self: flex-start;
	width: fit-content;
	padding: 4px;
}

.techbbq-text-with-cards__icon-image {
	display: block;
	flex-shrink: 0;
	width: auto;
	height: auto;
	max-width: none;
}

.techbbq-text-with-cards__card-body {
	display: flex;
	flex-direction: column;
	gap: var(--techbbq-space-1);
	align-items: flex-start;
	width: 100%;
}

.techbbq-text-with-cards__card-title {
	margin: 0;
	font-size: var(--techbbq-text-with-cards-card-title-size);
}

.techbbq-text-with-cards__card-text {
	margin: 0;
	font-size: var(--techbbq-text-with-cards-card-desc-size);
	color: var(--techbbq-content-primary);
	opacity: 0.4;
}

.techbbq-text-with-cards__card-text p {
	margin: 0;
}

.techbbq-text-with-cards__card-text p + p {
	margin-top: 12px;
}

.techbbq-text-with-cards__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--techbbq-space-1);
	justify-content: center;
	width: 100%;
}

.techbbq-text-with-cards--multi-actions .techbbq-text-with-cards__button {
	flex: 1 1 100%;
	max-width: 100%;
}

@media (min-width: 768px) {
	.techbbq-text-with-cards--multi-actions .techbbq-text-with-cards__actions {
		flex-wrap: wrap;
	}

	.techbbq-text-with-cards--multi-actions .techbbq-text-with-cards__button {
		flex: 0 1 auto;
		max-width: none;
	}
}

@media (min-width: 1024px) {
	.techbbq-text-with-cards--multi-actions .techbbq-text-with-cards__button {
		min-width: 240px;
	}
}

@media (min-width: 1440px) {
	.techbbq-text-with-cards--multi-actions .techbbq-text-with-cards__button {
		min-width: 312px;
	}
}

.techbbq-text-with-cards--card-size-compact {
	--techbbq-text-with-cards-card-title-size: 20px;
	--techbbq-text-with-cards-card-desc-size: 14px;
}

.techbbq-text-with-cards--card-size-compact .techbbq-text-with-cards__card {
	min-height: 248px;
}

/* ── Tablet (768–1023) ──────────────────────────────────────── */
@media (min-width: 768px) {
	.techbbq-text-with-cards {
		--techbbq-text-with-cards-title-size: 42px;
		--techbbq-text-with-cards-desc-size: 20px;
		--techbbq-text-with-cards-desc-line-height: var(--techbbq-text-paragraph-line-height);
		--techbbq-text-with-cards-card-title-size: 28px;
		--techbbq-text-with-cards-card-desc-size: 14px;
		--techbbq-text-with-cards-card-height: auto;
	}

	.techbbq-text-with-cards--card-size-compact {
		--techbbq-text-with-cards-card-title-size: var(--techbbq-text-h6-size);
	}

	.techbbq-text-with-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: repeat(2, minmax(0, 1fr));
		min-height: 528px;
	}
}

/* ── Desktop (1024–1440) ──────────────────────────────────────── */
@media (min-width: 1024px) {
	.techbbq-text-with-cards {
		--techbbq-text-with-cards-title-size: 44px;
		--techbbq-text-with-cards-desc-size: var(--techbbq-text-paragraph-l-size);
		--techbbq-text-with-cards-card-title-size: 32px;
		--techbbq-text-with-cards-card-desc-size: var(--techbbq-text-paragraph-s-size);
	}

	.techbbq-text-with-cards--card-size-compact {
		--techbbq-text-with-cards-card-title-size: var(--techbbq-text-h6-size);
		--techbbq-text-with-cards-card-desc-size: 14px;
	}
}

/* ── Large desktop (1440+) ──────────────────────────────────────── */
@media (min-width: 1440px) {
	.techbbq-text-with-cards {
		--techbbq-text-with-cards-title-size: var(--techbbq-text-h3-size);
		--techbbq-text-with-cards-desc-max-width: 660px;
		--techbbq-text-with-cards-card-desc-size: var(--techbbq-text-paragraph-m-size);
	}
}

.techbbq-text-with-cards--cols-2 .techbbq-text-with-cards__grid,
.techbbq-text-with-cards--cols-3 .techbbq-text-with-cards__grid {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
	.techbbq-text-with-cards--cols-2 .techbbq-text-with-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
		min-height: 0;
	}

	.techbbq-text-with-cards--cols-3 .techbbq-text-with-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
		min-height: 0;
	}

	.techbbq-text-with-cards--cols-4 .techbbq-text-with-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
		min-height: 0;
	}

	.techbbq-text-with-cards--cols-4.techbbq-text-with-cards--card-size-compact .techbbq-text-with-cards__card {
		min-height: 256px;
	}
}

@media (min-width: 1024px) {
	.techbbq-text-with-cards--cols-3 .techbbq-text-with-cards__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.techbbq-text-with-cards--cols-3 .techbbq-text-with-cards__card {
		min-height: 260px;
	}

	.techbbq-text-with-cards--cols-4 .techbbq-text-with-cards__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-template-rows: auto;
		min-height: 0;
	}

	.techbbq-text-with-cards--cols-4.techbbq-text-with-cards--card-size-compact .techbbq-text-with-cards__card {
		min-height: 256px;
	}
}

/* Hero Academy — Who Can Apply (Figma 7261:61351 / 7269:66540 / 7269:66607). */
.techbbq-hero-academy-who-can-apply {
	background-color: var(--techbbq-bg-surface);
}

.techbbq-hero-academy-who-can-apply .techbbq-text-with-cards {
	background-color: transparent;
}

.techbbq-hero-academy-who-can-apply .techbbq-text-with-cards__card {
	background-color: var(--techbbq-bg-surface-alt);
}
