/* Pew design tokens + base styles for the server-rendered templates
   (member profile, directory, 404). These mirror the palette and type system
   used throughout the app so non-app pages share the same identity. */

:root {
	--pew-ink: #1A1714;
	--pew-ink-soft: #3A332C;
	--pew-cream: #F5EFE0;
	--pew-paper: #FBF6E9;
	--pew-paper-hi: #FFFBF0;
	--pew-claret: #7A2030;
	--pew-claret-soft: #A5495A;
	--pew-sage: #5B6E54;
	--pew-brass: #9E7B3F;
	--pew-brass-soft: #C8A769;
	--pew-muted: #7A7163;
	--pew-line: #E3D8BD;
	--pew-line-soft: #EFE6CC;
	--pew-slate: #5C6B7C;
	--pew-mauve: #7C5C6B;
	--pew-forest: #4A5D4F;
	--pew-display: 'Fraunces', 'Times New Roman', serif;
	--pew-sans: 'Geist', 'Inter', system-ui, sans-serif;
}

.pew-page {
	min-height: 100vh;
	background: var(--pew-cream);
	color: var(--pew-ink);
	font-family: var(--pew-sans);
	padding: 3rem 1.25rem 5rem;
	box-sizing: border-box;
}

.pew-page__inner {
	max-width: 760px;
	margin: 0 auto;
}

.pew-eyebrow {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pew-muted);
	font-weight: 500;
}

.pew-page__back {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-bottom: 1.75rem;
	color: var(--pew-muted);
	text-decoration: none;
	font-size: 13px;
}
.pew-page__back:hover { color: var(--pew-ink); }

.pew-card {
	background: var(--pew-paper);
	border: 1px solid var(--pew-line);
	border-radius: 1.25rem;
	padding: 2rem;
}
.pew-card + .pew-card { margin-top: 1.25rem; }

.pew-h1 {
	font-family: var(--pew-display);
	font-size: clamp(28px, 5vw, 40px);
	letter-spacing: -0.03em;
	line-height: 1.1;
	margin: 0.5rem 0 0.25rem;
	color: var(--pew-ink);
}

.pew-sub { color: var(--pew-muted); font-size: 14px; margin: 0; }

.pew-meta-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem 2rem;
	margin-top: 1.5rem;
}
.pew-meta__label {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pew-muted);
	margin-bottom: 0.25rem;
}
.pew-meta__value { font-size: 15px; color: var(--pew-ink); }

.pew-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 1rem; }
.pew-tag {
	display: inline-block;
	padding: 0.25rem 0.7rem;
	border-radius: 999px;
	font-size: 12px;
	background: rgba(122, 32, 48, 0.08);
	color: var(--pew-claret);
}

.pew-note {
	margin-top: 1.5rem;
	padding: 1rem 1.25rem;
	background: var(--pew-cream);
	border: 1px solid var(--pew-line);
	border-radius: 0.9rem;
	color: var(--pew-ink-soft);
	font-size: 14px;
	line-height: 1.6;
}

.pew-pill {
	display: inline-block;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	font-size: 11px;
	letter-spacing: 0.04em;
}
.pew-pill--in { background: rgba(91, 110, 84, 0.14); color: var(--pew-sage); }
.pew-pill--out { background: rgba(122, 32, 48, 0.12); color: var(--pew-claret); }

.pew-directory { list-style: none; margin: 1.25rem 0 0; padding: 0; }
.pew-directory__item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.9rem 1.1rem;
	border: 1px solid var(--pew-line);
	border-radius: 0.9rem;
	background: var(--pew-paper);
	text-decoration: none;
	color: inherit;
}
.pew-directory__item + .pew-directory__item { margin-top: 0.6rem; }
.pew-directory__item:hover { background: var(--pew-paper-hi); }
.pew-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	border-radius: 0.75rem;
	background: rgba(122, 32, 48, 0.1);
	color: var(--pew-claret);
	font-family: var(--pew-display);
	font-size: 17px;
}
.pew-directory__name { font-weight: 500; }
.pew-directory__sub { font-size: 12px; color: var(--pew-muted); margin-top: 2px; }

.pew-signin {
	max-width: 420px;
	margin: 14vh auto;
	text-align: center;
	background: var(--pew-paper);
	border: 1px solid var(--pew-line);
	border-radius: 1.25rem;
	padding: 2.5rem 2rem;
}
.pew-btn {
	display: inline-block;
	margin-top: 1.25rem;
	padding: 0.7rem 1.4rem;
	border-radius: 0.8rem;
	background: var(--pew-ink);
	color: var(--pew-cream);
	text-decoration: none;
	font-weight: 500;
	font-size: 14px;
}
