/*
 * ExamNeed front page (dashboard design).
 * Loaded only on the homepage. Markup: template-parts/home-dashboard.php.
 */

.home-dashboard {
	min-width: 0;
}

.home-intro-compact {
	margin-bottom: 12px;
}

.home-heading {
	margin: 0;
	font-size: clamp(17px, 2.6vw, 22px);
	line-height: 1.3;
	color: var(--c-primary);
}

.home-intro-compact .home-intro-text {
	margin-top: 6px;
	color: var(--c-muted);
}

/* ---- Quick tiles ---- */
.home-tiles {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.home-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 14px 6px;
	border: 1px solid var(--c-border);
	border-radius: 12px;
	background: var(--c-card);
	color: var(--c-primary);
	font-weight: 700;
	font-size: 14px;
	text-align: center;
	transition: transform 0.12s, border-color 0.12s, box-shadow 0.12s;
}

.home-tile:hover,
.home-tile:focus-visible {
	border-color: var(--c-primary);
	box-shadow: var(--shadow);
	text-decoration: none;
	transform: translateY(-2px);
}

.home-tile-icon {
	font-size: 26px;
	line-height: 1.1;
}

/* ---- Cards and lists ---- */
.home-card {
	margin-bottom: 14px;
	padding: 14px 16px;
	border: 1px solid var(--c-border);
	border-radius: 12px;
	background: var(--c-card);
}

.home-card-title {
	margin: 0 0 6px;
	font-size: 18px;
	color: var(--c-primary);
}

.home-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 0;
	border-top: 1px solid var(--c-border);
}

.home-list li:first-child {
	border-top: 0;
}

.home-list-title {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--c-text);
	font-weight: 600;
	overflow-wrap: anywhere;
}

.home-list-title:hover {
	color: var(--c-primary);
}

.home-badge {
	flex: 0 0 auto;
	padding: 3px 9px;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.home-badge.is-green {
	background: rgba(27, 127, 59, 0.14);
	color: var(--c-open);
}

.home-badge.is-orange {
	background: rgba(232, 89, 12, 0.14);
	color: var(--c-accent);
}

.home-badge.is-red {
	background: rgba(180, 35, 24, 0.13);
	color: var(--c-closed);
}

.home-badge.is-plain {
	background: rgba(127, 127, 127, 0.12);
	color: var(--c-muted);
}

.home-card .view-more {
	display: inline-block;
	margin-top: 6px;
	font-weight: 700;
}

/* ---- Join card ---- */
.home-join-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin-bottom: 14px;
	padding: 14px 16px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--c-primary-dark), var(--c-primary));
	color: #fff;
}

.home-join-card .home-join {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

/* ---- Two lists side by side on wide screens ---- */
@media (min-width: 1100px) {
	.home-dashboard {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 14px;
		align-content: start;
	}

	.home-intro-compact,
	.home-tiles,
	.home-join-card,
	.home-dashboard .candidate-notice {
		grid-column: 1 / -1;
	}
}

/* ---- Phones ---- */
@media (max-width: 800px) {
	.home-tiles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-tile {
		padding: 12px 4px;
		font-size: 13px;
	}
}

/* ---- Browse by category ---- */
.home-categories {
	grid-column: 1 / -1;
}

.home-cat-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-cat-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 9px 12px;
	border: 1px solid var(--c-border);
	border-radius: 10px;
	color: var(--c-text);
	font-weight: 600;
	font-size: 14.5px;
	text-decoration: none;
}

.home-cat-list a:hover,
.home-cat-list a:focus-visible {
	border-color: var(--c-primary);
	color: var(--c-primary);
}

.home-cat-name {
	min-width: 0;
	overflow-wrap: anywhere;
}

.home-cat-count {
	flex: none;
	min-width: 26px;
	padding: 1px 8px;
	border-radius: 999px;
	background: rgba(127, 127, 127, 0.14);
	color: var(--c-muted);
	font-size: 12px;
	text-align: center;
}

@media (max-width: 900px) {
	.home-cat-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.home-cat-list {
		gap: 6px;
	}

	.home-cat-list a {
		padding: 8px 10px;
		font-size: 13.5px;
	}
}

@media (max-width: 600px) {
	.home-card {
		padding: 12px 14px;
	}

	.home-card-title {
		font-size: 17px;
	}

	.home-join-card {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.home-join-card .home-join {
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-tile {
		transition: none;
	}

	.home-tile:hover,
	.home-tile:focus-visible {
		transform: none;
	}
}
