/* =========================================
   FPP CONTENT PAGE — plain legal/info pages
   (Privacy, Terms, etc.) Title from page,
   body from the WordPress content field.
   Width/gutter inherited from .fpp-section-wrapper.
   ========================================= */

.fpp-content-page {
	font-family: 'IBM Plex Sans', sans-serif;
	color: var(--fp-navy, #0C0C30);
}

.fpp-content-page .fpp-section-wrapper {
	margin-top: 30px;
}

.fpp-content-page * {
	box-sizing: border-box;
}

.fpp-content-page h1,
.fpp-content-page h2,
.fpp-content-page h3,
.fpp-content-page h4,
.fpp-content-page h5,
.fpp-content-page h6 {
	text-transform: none !important;
}

/* The standard widget box */
.fpp-content-page .fpp-widget-container {
	background-color: #ffffff;
	border: 1px solid var(--border-light, #E6E6E3);
	border-radius: 6px;
	box-shadow: var(--fpp-card-shadow, 0 12px 40px rgba(0, 0, 0, 0.06));
	overflow: hidden;
	width: 100%;
}

/* Gray box heading */
.fpp-content-page .fpp-widget-header {
	background-color: #F4F4F6;
	border-bottom: 3px solid var(--fp-gold, #B87F0D);
	padding: 45px 40px;
	text-align: left;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.fpp-content-page .fpp-widget-subtitle {
	font-size: 0.75rem;
	color: var(--fp-gold, #B87F0D);
	text-transform: uppercase !important;
	letter-spacing: 2px;
	font-weight: 700;
	margin-bottom: 12px;
	display: block;
}

.fpp-content-page .fpp-widget-header h1 {
	font-family: 'Vollkorn', serif;
	font-size: 2.8rem;
	color: var(--fp-navy, #0C0C30);
	margin: 0 !important;
	font-weight: 700;
	line-height: 1.1;
	text-align: left;
}

/* Text content body styling */
.fpp-content-page .fpp-widget-body {
	padding: 30px 40px;
	background-color: #ffffff;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(12, 12, 48, 0.85);
}

.fpp-content-page .fpp-widget-body h2,
.fpp-content-page .fpp-widget-body h3 {
	font-family: 'Vollkorn', serif;
	font-size: 1.5rem;
	color: var(--fp-navy, #0C0C30);
	margin: 2.5rem 0 1rem 0;
	font-weight: 700;
}

.fpp-content-page .fpp-widget-body > h2:first-child,
.fpp-content-page .fpp-widget-body > h3:first-child {
	margin-top: 0;
}

.fpp-content-page .fpp-widget-body h2 {
	font-size: 1.75rem;
}

.fpp-content-page .fpp-widget-body p {
	margin: 0 0 1.5rem 0;
}

.fpp-content-page .fpp-widget-body .fpp-last-updated {
	color: rgba(12, 12, 48, 0.55);
	font-size: 0.9rem;
}

.fpp-content-page .fpp-widget-body ul,
.fpp-content-page .fpp-widget-body ol {
	margin: 0 0 1.5rem 0;
	padding-left: 20px;
}

.fpp-content-page .fpp-widget-body li {
	margin-bottom: 0.75rem;
}

.fpp-content-page .fpp-widget-body a {
	color: var(--fp-gold, #B87F0D);
	text-decoration: underline;
	word-break: break-word;
}

.fpp-content-page .fpp-widget-body strong {
	color: var(--fp-navy, #0C0C30);
	font-weight: 600;
}

.fpp-content-page .fpp-widget-body hr {
	border: none;
	border-top: 1px solid var(--border-light, #E6E6E3);
	margin: 2rem 0;
}

.fpp-content-page .fpp-widget-body img {
	max-width: 100%;
	height: auto;
}

.fpp-content-page .fpp-widget-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.5rem 0;
}

.fpp-content-page .fpp-widget-body th,
.fpp-content-page .fpp-widget-body td {
	border: 1px solid var(--border-light, #E6E6E3);
	padding: 10px 12px;
	text-align: left;
}

/* =========================================
   Table of Contents ([fpp_toc] shortcode)
   ========================================= */
.fpp-content-page {
	scroll-behavior: smooth;
}

/* Keep anchored headings clear of the top edge when jumped to. */
.fpp-content-page .fpp-widget-body h2[id],
.fpp-content-page .fpp-widget-body h3[id],
.fpp-content-page .fpp-widget-body h4[id],
.fpp-content-page .fpp-widget-body h5[id],
.fpp-content-page .fpp-widget-body h6[id] {
	scroll-margin-top: 90px;
}

.fpp-content-page .fpp-toc {
	background-color: #F4F4F6;
	border: 1px solid var(--border-light, #E6E6E3);
	border-left: 3px solid var(--fp-gold, #B87F0D);
	border-radius: 6px;
	padding: 24px 28px;
	margin: 0 0 2.5rem 0;
}

.fpp-content-page .fpp-toc__title {
	font-family: 'Vollkorn', serif;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--fp-navy, #0C0C30);
	margin: 0 0 0.75rem 0;
	text-transform: uppercase !important;
	letter-spacing: 1.5px;
}

.fpp-content-page .fpp-toc ol {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.fpp-content-page .fpp-toc ol.fpp-toc__sublist {
	margin: 0.4rem 0 0.6rem 0.25rem;
	padding-left: 1.5rem;
	list-style: none;
	border-left: 2px solid var(--border-light, #E6E6E3);
}

.fpp-content-page .fpp-toc ol.fpp-toc__sublist .fpp-toc__link {
	font-size: 0.95rem;
}

.fpp-content-page .fpp-toc__item {
	margin: 0.35rem 0;
	line-height: 1.5;
}

.fpp-content-page .fpp-toc__link {
	color: rgba(12, 12, 48, 0.85);
	text-decoration: none;
	transition: color 0.15s ease;
}

.fpp-content-page .fpp-toc__link:hover,
.fpp-content-page .fpp-toc__link:focus {
	color: var(--fp-gold, #B87F0D);
	text-decoration: underline;
}

/* Mobile breakpoints */
@media (max-width: 768px) {
	.fpp-content-page .fpp-widget-header {
		padding: 35px 20px;
	}

	.fpp-content-page .fpp-widget-header h1 {
		font-size: 2.2rem;
	}

	.fpp-content-page .fpp-widget-body {
		padding: 35px 20px;
	}

	.fpp-content-page .fpp-toc {
		padding: 20px 22px;
	}
}
