/*
Theme Name: SVS Alumni Hub
Theme URI: https://svs-interactive-directory.local/
Author: SVS Alumni Hub
Description: A small responsive theme shell for the private SVS Alumni Hub.
Version: 0.1.0
Text Domain: svsah-theme
*/

:root {
	--svsah-page: #f3f6f4;
	--svsah-ink: #17202a;
	--svsah-muted: #586474;
	--svsah-panel: #ffffff;
	--svsah-border: #d3ddd8;
	--svsah-accent: #1d5f8a;
	--svsah-accent-dark: #123f5c;
	--svsah-focus: rgba(29, 95, 138, 0.35);
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--svsah-page);
	color: var(--svsah-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 18px;
	line-height: 1.55;
}

a {
	color: var(--svsah-accent);
}

a:hover {
	color: var(--svsah-accent-dark);
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline: 3px solid var(--svsah-focus);
	outline-offset: 2px;
}

.skip-link {
	position: absolute;
	left: 16px;
	top: -80px;
	z-index: 1000;
	padding: 10px 14px;
	background: var(--svsah-ink);
	color: #fff;
}

.skip-link:focus {
	top: 12px;
}

.site-header {
	border-bottom: 1px solid var(--svsah-border);
	background: rgba(255, 255, 255, 0.96);
}

.site-header-inner {
	display: flex;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
	max-width: 1120px;
	margin: 0 auto;
	padding: 18px 22px;
}

.site-title {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
}

.site-title a {
	color: var(--svsah-ink);
	text-decoration: none;
}

.site-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	align-items: center;
	justify-content: flex-end;
	font-size: 16px;
}

.site-nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	align-items: center;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav a {
	color: var(--svsah-ink);
	font-weight: 650;
	text-decoration: none;
}

.site-nav a:hover,
.site-nav a:focus {
	color: var(--svsah-accent);
	text-decoration: underline;
}

.site-main {
	min-height: 68vh;
}

.content-wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 28px 22px 56px;
}

.entry-content {
	padding: 24px 0;
}

.site-footer {
	border-top: 1px solid var(--svsah-border);
	background: #fff;
}

.site-footer-inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 22px;
	color: var(--svsah-muted);
	font-size: 15px;
}

@media (max-width: 760px) {
	body {
		font-size: 17px;
	}

	.site-header-inner {
		display: grid;
		gap: 14px;
		padding: 16px;
	}

	.site-nav {
		justify-content: flex-start;
		font-size: 15px;
	}

	.content-wrap {
		padding: 18px 12px 44px;
	}
}
