/**
 * Demó aloldal — szolgáltatás-választó kártyarács
 *
 * Forrás:
 *   - `page-demo.php` + `template-parts/sections/demo-content.php`
 *   - DESIGN_GUIDELINES.md: ikon-bubble anatómia, --radius-panel, főbb tokenek
 *
 * Tartalom:
 *   1. `.demo-page-header` — EYEBROW_HERO (központosított eyebrow + H1 + sub)
 *   2. `.demo-services` — 6 darab Mini Service Card 2-oszlopos grid-ben
 *      (mobil 1-col). Default: fehér kártya light-blue keretekkel; hover/
 *      focus: primary-blue háttér + fehér tipográfia (ld. screenshot
 *      „Tetőfedés" kártya kiemelt állapota).
 */

/* ==========================================================================
   Header — EYEBROW_HERO, központosított
   ========================================================================== */

.demo-page-header {
	padding: var(--spacing-section-mobile) var(--container-padding-mobile) 0;
	background-color: var(--color-background);
}

@media (min-width: 768px) {
	.demo-page-header {
		padding: var(--spacing-section-tablet) var(--container-padding-tablet) 0;
	}
}

@media (min-width: 1200px) {
	.demo-page-header {
		padding: var(--spacing-section-desktop) var(--container-padding-desktop) 0;
	}
}

.demo-page-header__container {
	max-width: 720px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}

.demo-page-header__title {
	font-size: var(--fs-h1);
	line-height: var(--lh-h1);
	font-weight: var(--fw-black);
	color: var(--color-text);
	letter-spacing: -0.02em;
	margin: 0;
}

.demo-page-header__subtitle {
	font-size: var(--fs-body-lg);
	line-height: var(--lh-body-lg);
	font-weight: var(--fw-medium);
	color: var(--color-text-muted);
	margin: 0;
	max-width: 60ch;
}

/* ==========================================================================
   Card grid — 6 service kártya
   ========================================================================== */

.demo-services {
	padding: var(--spacing-xl) var(--container-padding-mobile) var(--spacing-section-mobile);
	background-color: var(--color-background);
}

@media (min-width: 768px) {
	.demo-services {
		padding: var(--spacing-xl) var(--container-padding-tablet) var(--spacing-section-tablet);
	}
}

@media (min-width: 1200px) {
	.demo-services {
		padding: var(--spacing-2xl) var(--container-padding-desktop) var(--spacing-section-desktop);
	}
}

.demo-services__grid {
	max-width: var(--container-max-width);
	margin: 0 auto;
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

@media (min-width: 768px) {
	.demo-services__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
}

/* ==========================================================================
   Service Card — link-kártya (az egész kártya `<a>`)
   ========================================================================== */

.demo-service-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	background-color: var(--color-card-bg);
	border: 1px solid var(--color-primary-light);
	border-radius: var(--radius-panel);
	color: var(--color-text);
	text-decoration: none;
	transition:
		background-color var(--transition-base),
		border-color var(--transition-base),
		color var(--transition-base),
		box-shadow var(--transition-base),
		transform var(--transition-base);
}

@media (min-width: 1200px) {
	.demo-service-card {
		padding: 32px;
	}
}

.demo-service-card__head {
	display: flex;
	align-items: center;
	gap: 16px;
}

.demo-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--radius-panel);
	background-color: var(--color-primary-light);
	color: var(--color-primary);
	flex-shrink: 0;
	transition: background-color var(--transition-base), color var(--transition-base);
}

.demo-service-card__icon i {
	font-size: 22px;
	line-height: 1;
}

.demo-service-card__title {
	font-size: var(--fs-h4);
	line-height: var(--lh-h4);
	font-weight: var(--fw-bold);
	color: var(--color-text);
	margin: 0;
	letter-spacing: -0.01em;
	transition: color var(--transition-base);
}

.demo-service-card__desc {
	font-size: var(--fs-body-md);
	line-height: var(--lh-body-md);
	font-weight: var(--fw-medium);
	color: var(--color-text-muted);
	margin: 0;
	transition: color var(--transition-base);
}

/* ---- Hover / focus / active — primary-blue háttér + fehér tipográfia ---- */

.demo-service-card:hover,
.demo-service-card:focus-visible {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: #ffffff;
	box-shadow: var(--shadow-glow);
	transform: translateY(-2px);
}

.demo-service-card:hover .demo-service-card__title,
.demo-service-card:focus-visible .demo-service-card__title,
.demo-service-card:hover .demo-service-card__desc,
.demo-service-card:focus-visible .demo-service-card__desc {
	color: #ffffff;
}

.demo-service-card:hover .demo-service-card__icon,
.demo-service-card:focus-visible .demo-service-card__icon {
	background-color: rgba(255, 255, 255, 0.18);
	color: #ffffff;
}

.demo-service-card:focus-visible {
	outline: 2px solid var(--color-primary-dark);
	outline-offset: 4px;
}

.demo-service-card:active {
	transform: translateY(0);
	box-shadow: var(--shadow-card);
}
