/* WP11 legal and trust system. Scoped to policy templates and footer legal links. */
.rds-legal-main {
	background: var(--rds-color-cream-50);
}

.rds-legal-hero {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .04), transparent 54%),
		var(--rds-color-forest-950);
	border-bottom: 4px solid var(--rds-color-earth-500);
	color: var(--rds-color-white);
	padding-block: clamp(3.25rem, 7vw, 5.5rem);
}

.rds-legal-hero h1 {
	color: var(--rds-color-white);
	font-size: clamp(2.7rem, 6vw, 4.8rem);
	line-height: 1;
	margin: 1rem 0;
}

.rds-legal-hero p {
	color: rgba(255, 255, 255, .7);
	font-size: clamp(1rem, 2vw, 1.12rem);
	margin: 0;
	max-width: 42rem;
}

.rds-legal-content {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-line);
	border-radius: var(--rds-radius-lg);
	box-shadow: var(--rds-shadow-sm);
	font-size: 1rem;
	line-height: 1.75;
	margin-block: clamp(2rem, 5vw, 4.5rem);
	padding: clamp(1.4rem, 5vw, 3.75rem);
}

.rds-legal-content > :first-child {
	margin-top: 0;
}

.rds-legal-content > :last-child {
	margin-bottom: 0;
}

.rds-legal-content h2 {
	border-top: 1px solid var(--rds-color-line);
	font-size: clamp(1.65rem, 4vw, 2.2rem);
	line-height: 1.15;
	margin: 2.35rem 0 1rem;
	padding-top: 2rem;
}

.rds-legal-content h3 {
	font-family: var(--rds-font-body);
	font-size: 1.05rem;
	letter-spacing: -.015em;
	line-height: 1.35;
	margin: 1.75rem 0 .55rem;
}

.rds-legal-content :where(p, li) {
	color: var(--rds-color-charcoal-700);
}

.rds-legal-content :where(ul, ol) {
	margin-block: 1rem 1.6rem;
	padding-left: 1.4rem;
}

.rds-legal-content li + li {
	margin-top: .55rem;
}

.rds-legal-updated {
	color: var(--rds-color-charcoal-600);
	font-size: .82rem;
	letter-spacing: .02em;
	margin-bottom: 1.25rem;
}

.rds-legal-nav {
	background: var(--rds-color-cream-50);
	border: 1px solid var(--rds-color-line);
	border-radius: var(--rds-radius-md);
	margin: 0 0 2.25rem;
	padding: 1rem 1.15rem;
}

.rds-legal-nav > span {
	color: var(--rds-color-charcoal-600);
	display: block;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: .65rem;
	text-transform: uppercase;
}

.rds-legal-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.rds-legal-nav li,
.rds-legal-nav li + li {
	margin: 0;
}

.rds-legal-nav a {
	font-size: .82rem;
	font-weight: 700;
}

.rds-legal-content table {
	border-collapse: collapse;
	display: block;
	font-size: .88rem;
	margin-block: 1.5rem 2rem;
	overflow-x: auto;
	width: 100%;
}

.rds-legal-content th {
	background: var(--rds-color-cream-100);
	color: var(--rds-color-charcoal-800);
	font-size: .7rem;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.rds-legal-content :where(th, td) {
	border-bottom: 1px solid var(--rds-color-line);
	padding: .8rem .9rem;
	text-align: left;
	vertical-align: top;
}

.rds-footer-legal {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .55rem 1rem;
	justify-content: flex-end;
}

.rds-footer-legal a {
	color: rgba(255, 255, 255, .62);
	font-size: .6875rem;
}

@media (max-width: 800px) {
	.rds-footer-bottom,
	.rds-footer-legal {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.rds-footer-bottom {
		flex-direction: column;
		gap: .85rem;
	}
}

@media (max-width: 560px) {
	.rds-legal-nav ul,
	.rds-footer-legal {
		align-items: flex-start;
		flex-direction: column;
	}

	.rds-legal-content {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
		width: 100%;
	}
}

