/**
 * REMI Policies — front-end styles.
 *
 * Responsive, AA-contrast, visible focus states, TOC styling, and scroll-margin-top so
 * anchored headings are not hidden under a sticky header. Loaded only on policy pages,
 * the landing page, and WooCommerce product/checkout where links appear.
 */

/* ----------------------------------------------------------------------- */
/* Landing / TOC                                                           */
/* ----------------------------------------------------------------------- */

.remi-policies-landing {
	max-width: 48rem;
	margin: 0 auto;
}

.remi-policies-last-updated {
	font-size: 0.95rem;
	color: #333333;
}

.remi-policies-toc {
	margin: 1.5rem 0 2.5rem;
	padding: 1rem 1.25rem;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #f6f7f7;
}

.remi-policies-toc-title {
	margin-top: 0;
	font-size: 1.25rem;
}

.remi-policies-toc-list {
	margin: 0;
	padding-left: 1.5rem;
}

.remi-policies-toc-list li {
	margin: 0.35rem 0;
}

/* ----------------------------------------------------------------------- */
/* Policy sections + single policy                                         */
/* ----------------------------------------------------------------------- */

.remi-policy-section,
.remi-policy-article {
	/* Keep anchored headings clear of a sticky site header. */
	scroll-margin-top: 6rem;
}

.remi-policy-section h2,
.remi-policy-title {
	scroll-margin-top: 6rem;
}

.remi-policy-section {
	margin-bottom: 2.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #e0e0e0;
}

.remi-policy-section:last-child {
	border-bottom: 0;
}

.remi-policy-section p,
.remi-policy-body p {
	line-height: 1.7;
}

.remi-policy-permalink {
	font-size: 0.9rem;
}

.remi-policy-single {
	max-width: 48rem;
	margin: 0 auto;
	padding: 1.5rem 1rem;
}

.remi-policy-state {
	font-size: 0.95rem;
	color: #333333;
}

.remi-policy-back {
	margin-top: 2rem;
}

/* ----------------------------------------------------------------------- */
/* Links + focus                                                           */
/* ----------------------------------------------------------------------- */

.remi-policy-link,
.remi-policies-toc a,
.remi-policy-permalink a,
.remi-policy-back a {
	color: #0b5cab; /* AA contrast on white/light backgrounds */
	text-decoration: underline;
}

.remi-policy-link:hover,
.remi-policies-toc a:hover,
.remi-policy-permalink a:hover,
.remi-policy-back a:hover {
	color: #073e73;
}

.remi-policy-link:focus,
.remi-policies-toc a:focus,
.remi-policy-permalink a:focus,
.remi-policy-back a:focus,
.remi-footer-policies a:focus {
	outline: 2px solid #0b5cab;
	outline-offset: 2px;
}

/* ----------------------------------------------------------------------- */
/* Contextual links (product + checkout)                                   */
/* ----------------------------------------------------------------------- */

.remi-policies-contextual {
	margin: 1rem 0;
}

.remi-policies-contextual-title {
	font-size: 1rem;
	margin: 0 0 0.35rem;
}

.remi-policies-contextual-list {
	margin: 0;
	padding-left: 1.25rem;
}

.remi-policies-contextual-list li {
	margin: 0.2rem 0;
}

/* ----------------------------------------------------------------------- */
/* Footer policies nav                                                     */
/* ----------------------------------------------------------------------- */

.remi-footer-policies {
	padding: 1rem;
	text-align: center;
}

.remi-footer-policies-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.remi-footer-policies-list a {
	color: #0b5cab;
	text-decoration: underline;
}

/* ----------------------------------------------------------------------- */
/* Responsive                                                              */
/* ----------------------------------------------------------------------- */

@media (max-width: 600px) {
	.remi-policies-toc {
		padding: 0.75rem 1rem;
	}

	.remi-footer-policies-list {
		flex-direction: column;
		gap: 0.5rem;
	}
}
