/* ============================================================
   Legal pages — Terms, Privacy, Shipping & Returns
   ============================================================ */

body.df-legal-page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background: var(--df-cream);
}

body.df-legal-page .df-footer {
	margin-top: auto;
	flex-shrink: 0;
}

.df-main--legal {
	background: var(--df-cream);
}

.df-legal {
	max-width: 820px;
	margin: 0 auto;
	padding: 0 var(--df-sp-6) var(--df-sp-20);
}

.df-legal__hero {
	text-align: center;
	padding: var(--df-sp-8) 0 var(--df-sp-10);
}

.df-legal__breadcrumbs {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--df-sp-2);
	font-family: var(--df-font-body);
	font-size: 0.65rem;
	letter-spacing: var(--df-track-wider);
	text-transform: uppercase;
	color: var(--df-gray-mid);
	margin-bottom: var(--df-sp-6);
}

.df-legal__breadcrumbs a {
	color: var(--df-gray-mid);
	transition: color var(--df-ease);
}

.df-legal__breadcrumbs a:hover {
	color: var(--df-dark);
}

.df-legal__eyebrow {
	font-family: var(--df-font-body);
	font-size: 0.62rem;
	letter-spacing: var(--df-track-widest);
	text-transform: uppercase;
	color: var(--df-gold);
	margin: 0 0 var(--df-sp-4);
}

.df-legal__title {
	font-family: var(--df-font-heading);
	font-size: clamp(2rem, 4.5vw, 3rem);
	font-weight: 400;
	color: var(--df-dark);
	margin: 0 0 var(--df-sp-3);
}

.df-legal__subtitle {
	font-family: var(--df-font-body);
	font-size: 0.9rem;
	line-height: var(--df-lh-body);
	color: var(--df-gray-mid);
	max-width: 36rem;
	margin: 0 auto;
}

.df-legal__body {
	background: var(--df-white);
	border: 1px solid var(--df-gray-light);
	padding: var(--df-sp-8) var(--df-sp-10);
}

.df-legal__empty {
	margin: 0;
	font-family: var(--df-font-body);
	font-size: 0.9rem;
	line-height: var(--df-lh-body);
	color: var(--df-gray-mid);
	text-align: center;
}

.df-legal__content {
	font-family: var(--df-font-body);
	font-size: 0.9rem;
	line-height: var(--df-lh-body);
	color: var(--df-dark);
}

.df-legal__content > *:first-child {
	margin-top: 0;
}

.df-legal__content > *:last-child {
	margin-bottom: 0;
}

.df-legal__content h2,
.df-legal__content h3,
.df-legal__content h4 {
	font-family: var(--df-font-heading);
	font-weight: 400;
	line-height: var(--df-lh-heading);
	color: var(--df-dark);
	margin: var(--df-sp-8) 0 var(--df-sp-4);
}

.df-legal__content h2 {
	font-size: 1.5rem;
}

.df-legal__content h3 {
	font-size: 1.25rem;
}

.df-legal__content h4 {
	font-size: 1.05rem;
}

.df-legal__content p,
.df-legal__content ul,
.df-legal__content ol {
	margin: 0 0 var(--df-sp-4);
}

.df-legal__content ul,
.df-legal__content ol {
	padding-left: var(--df-sp-6);
}

.df-legal__content li {
	margin-bottom: var(--df-sp-2);
}

.df-legal__content a {
	color: var(--df-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color var(--df-ease);
}

.df-legal__content a:hover {
	color: var(--df-gold);
}

.df-legal__content strong {
	font-weight: 600;
}

@media (max-width: 768px) {
	.df-legal {
		padding-left: var(--df-sp-4);
		padding-right: var(--df-sp-4);
	}

	.df-legal__body {
		padding: var(--df-sp-6);
	}

	.df-legal__hero {
		padding: var(--df-sp-6) 0 var(--df-sp-8);
	}
}
