/**
 * Shared shell for the five legal/policy pages (Privacy Policy, Shipping
 * Policy, Returns & Refunds, Cancellation Policy, Terms & Conditions).
 *
 * Deliberately restrained compared to page-shell.css: policy pages are
 * utility/legal content, not marketing landing pages, so headings and
 * spacing here are sized for a dense, readable document rather than the
 * homepage/inner-page editorial scale (theme.json's h1/h2/h3 elements are
 * hero-sized and are not appropriate for a multi-section legal document).
 */

.u3ds-policy-hero {
	background-color: var(--wp--preset--color--bg-primary);
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-top: var(--wp--preset--spacing--2-xl);
	padding-bottom: var(--wp--preset--spacing--xl);
}

.u3ds-policy-hero__inner {
	max-width: 760px;
}

.u3ds-policy-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--xs);
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	margin: 0 0 var(--wp--preset--spacing--m);
}

.u3ds-policy-hero__eyebrow::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background-color: var(--wp--preset--color--accent);
	flex-shrink: 0;
}

.u3ds-policy-hero .wp-block-post-title {
	margin: 0 0 var(--wp--preset--spacing--s);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	line-height: 1.15;
	font-weight: 800;
	color: var(--wp--preset--color--text-primary);
}

.u3ds-policy-hero__updated {
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--small);
}

.u3ds-policy-body {
	background-color: var(--wp--preset--color--bg-primary);
	padding-top: var(--wp--preset--spacing--2-xl);
	padding-bottom: var(--wp--preset--spacing--3-xl);
}

.u3ds-policy-content {
	max-width: 760px;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.7;
	overflow-wrap: break-word;
}

.u3ds-policy-content > * {
	max-width: 100%;
}

.u3ds-policy-content p,
.u3ds-policy-content ul,
.u3ds-policy-content ol {
	margin: 0 0 var(--wp--preset--spacing--l);
}

.u3ds-policy-content > *:last-child {
	margin-bottom: 0;
}

.u3ds-policy-content h2 {
	margin: var(--wp--preset--spacing--2-xl) 0 var(--wp--preset--spacing--m);
	font-size: 1.375rem;
	line-height: 1.3;
	font-weight: 700;
	color: var(--wp--preset--color--text-primary);
}

.u3ds-policy-content > h2:first-child {
	margin-top: 0;
}

.u3ds-policy-content h3 {
	margin: var(--wp--preset--spacing--xl) 0 var(--wp--preset--spacing--s);
	font-size: 1.0625rem;
	line-height: 1.35;
	font-weight: 700;
	color: var(--wp--preset--color--text-primary);
}

.u3ds-policy-content ul,
.u3ds-policy-content ol {
	padding-left: 1.25em;
}

.u3ds-policy-content li {
	margin-bottom: var(--wp--preset--spacing--xs);
}

.u3ds-policy-content strong {
	color: var(--wp--preset--color--text-primary);
}

.u3ds-policy-content a {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

.u3ds-policy-content a:hover,
.u3ds-policy-content a:focus-visible {
	color: var(--wp--preset--color--accent-highlight);
}

/* Cross-links to the other four policy pages, shown at the bottom of each. */
.u3ds-policy-related {
	margin-top: var(--wp--preset--spacing--2-xl);
	padding-top: var(--wp--preset--spacing--l);
	border-top: 1px solid var(--wp--preset--color--border);
}

.u3ds-policy-related__title {
	margin: 0 0 var(--wp--preset--spacing--s);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--text-secondary);
}

.u3ds-policy-related ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--l);
}

.u3ds-policy-related a {
	color: var(--wp--preset--color--text-primary);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
}

.u3ds-policy-related a:hover,
.u3ds-policy-related a:focus-visible {
	color: var(--wp--preset--color--accent-highlight);
}

@media (max-width: 781px) {
	.u3ds-policy-hero {
		padding-top: var(--wp--preset--spacing--xl);
		padding-bottom: var(--wp--preset--spacing--l);
	}

	.u3ds-policy-body {
		padding-top: var(--wp--preset--spacing--xl);
		padding-bottom: var(--wp--preset--spacing--2-xl);
	}
}
