/* South Africa-inspired provinces page styling */
body.provinces {
	background: linear-gradient(180deg, #f5faf6 0%, #ecf3ee 100%);
	color: #173625;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}

body.provinces h1 {
	margin: 18px 12px 10px;
	font-size: clamp(1.7rem, 2.3vw, 2.2rem);
	color: #0f3d2d;
	letter-spacing: 0.3px;
}

body.provinces .navbar {
	background: #0f3d2d;
	box-shadow: 0 6px 16px rgba(15, 61, 45, 0.22);
	border-bottom: 2px solid #c79b2a;
}

body.provinces .navbar ul {
	padding: 0 10px;
}

body.provinces .navbar a {
	color: #f8fff8;
	border-radius: 7px;
	font-weight: 600;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.provinces .navbar a:hover {
	background: #14543f;
	color: #ffe8b6;
}

body.provinces main {
	width: min(1100px, calc(100% - 28px));
	margin: 22px auto 26px;
	padding: 18px 14px;
	border: 1px solid #d5e4da;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 12px 28px rgba(15, 61, 45, 0.08);
}

.provinces-grid {
	max-width: 1100px;
	margin: 6px auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 14px;
	padding: 2px;
	list-style: none;
}

.provinces-grid a {
	display: block;
	padding: 14px 12px;
	border-radius: 12px;
	border: 1px solid #d5e6db;
	text-decoration: none;
	font-weight: 700;
	background: linear-gradient(145deg, #fbfefa, #f2f8f4);
	color: #114131;
	box-shadow: 0 3px 10px rgba(15, 61, 45, 0.07);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.provinces-grid a:hover {
	transform: translateY(-2px);
	border-color: #c79b2a;
	background: linear-gradient(145deg, #fff9eb, #f4f8f2);
	box-shadow: 0 8px 18px rgba(15, 61, 45, 0.14);
}

body.provinces footer {
	background: #0d2a20;
	color: #deebe3;
	padding-top: 12px;
	padding-bottom: 10px;
}

body.provinces footer a {
	color: #b8d7c7;
}

body.provinces footer a:hover {
	color: #ffd47a;
}

body.provinces .footer-bottom {
	color: #a9c3b4;
}

@media (max-width: 640px) {
	body.provinces main {
		width: calc(100% - 14px);
		padding: 12px 10px;
		margin: 12px auto 16px;
	}

	.provinces-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

