/* Library Policies index */

.policies-page {
	--policies-accent: #48206e;
	--policies-accent-soft: rgba(72, 32, 110, 0.08);
	--policies-border: rgba(72, 32, 110, 0.16);
	--policies-muted: #64748b;
	--policies-radius: 0.85rem;
	max-width: 46rem;
}

.policies-intro {
	margin-bottom: 1.25rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--policies-border);
	border-radius: var(--policies-radius);
	background:
		linear-gradient(180deg, rgba(72, 32, 110, 0.05) 0%, #fff 55%);
}

.policies-intro__lead {
	color: var(--policies-muted);
	font-size: 1.05rem;
	line-height: 1.5;
}

.policies-list {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.policies-list__link {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--policies-border);
	border-radius: var(--policies-radius);
	background: #fff;
	color: #1e293b;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(72, 32, 110, 0.04);
	transition:
		border-color 0.15s ease,
		background-color 0.15s ease,
		box-shadow 0.15s ease,
		transform 0.15s ease;
}

.policies-list__link:hover,
.policies-list__link:focus {
	border-color: rgba(72, 32, 110, 0.32);
	background: var(--policies-accent-soft);
	color: var(--policies-accent);
	box-shadow: 0 2px 10px rgba(72, 32, 110, 0.1);
	outline: none;
}

.policies-list__link:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(72, 32, 110, 0.35);
}

.policies-list__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 1.75rem;
	width: 1.75rem;
	color: var(--policies-accent);
	font-size: 1.15rem;
}

.policies-list__title {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.35;
}

.policies-list__chevron {
	flex: 0 0 auto;
	color: rgba(72, 32, 110, 0.45);
	font-size: 0.8rem;
	transition: transform 0.15s ease, color 0.15s ease;
}

.policies-list__link:hover .policies-list__chevron,
.policies-list__link:focus .policies-list__chevron {
	color: var(--policies-accent);
	transform: translateX(2px);
}

@media (max-width: 575.98px) {
	.policies-list__link {
		padding: 0.75rem 0.85rem;
		gap: 0.65rem;
	}

	.policies-list__title {
		font-size: 1rem;
	}
}
