/* ===== Compact page content (insurance pages, knowledge, etc.) ===== */
.entry-content,
.si-generated-content {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--si-text);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.si-generated-content h2,
.si-generated-content h3 {
	font-family: inherit;
	font-weight: 700;
	color: #0f172a;
	margin-top: 1.4em;
	margin-bottom: 0.4em;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.entry-content h2,
.si-generated-content h2 {
	font-size: clamp(20px, 2.6vw, 26px);
}

.entry-content h3,
.si-generated-content h3 {
	font-size: clamp(17px, 2.2vw, 21px);
	font-weight: 600;
}

.entry-content h4 {
	font-size: 15px;
	font-weight: 600;
}

.entry-content p,
.si-generated-content p {
	margin-bottom: 0.85em;
}

.entry-content a {
	color: var(--si-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.entry-content a:hover {
	color: var(--si-accent);
}

/* FAQ accordions in generated content */
.entry-content .si-faq,
.si-generated-content .si-faq {
	margin: 1.5rem 0 0;
}

.entry-content .si-faq-item,
.si-faq-section .si-faq-item {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: var(--si-radius);
	margin-bottom: 0.5rem;
	padding: 0 1rem;
}

.entry-content .si-faq-item summary,
.si-faq-section .si-faq-item summary {
	padding: 0.875rem 0;
	font-weight: 600;
	cursor: pointer;
	color: var(--si-primary);
	list-style: none;
}

.entry-content .si-faq-item summary::-webkit-details-marker,
.si-faq-section .si-faq-item summary::-webkit-details-marker {
	display: none;
}

.entry-content .si-faq-item summary::after,
.si-faq-section .si-faq-item summary::after {
	content: '+';
	float: right;
	color: var(--si-accent);
	font-size: 1.125rem;
}

.entry-content .si-faq-item[open] summary::after,
.si-faq-section .si-faq-item[open] summary::after {
	content: '−';
}

.entry-content .si-faq-item p {
	padding: 0 0 0.875rem;
	margin: 0;
	color: var(--si-muted);
	font-size: 0.9375rem;
	line-height: 1.55;
}

/* Featured image — affiliate disclaimer */
.featured-image.page-header-image-single {
	position: relative;
}

.featured-image.page-header-image-single::after {
	content: "Contains affiliate links";
	position: absolute;
	top: 10px;
	right: 10px;
	background: rgba(255, 255, 255, 0.85);
	color: #000;
	font-size: 13px;
	padding: 8px 12px;
	border-radius: 5px;
	font-weight: 600;
}

/* Provider CTA ad label */
.si-provider-card__disclaimer,
.si-btn-cta + .si-provider-card__disclaimer {
	font-size: 12px;
	color: #64748b;
}

/* Front page: full-bleed sections, aligned with nav */
body.si-is-front-page.one-container .site-content {
	padding: 0;
}

body.si-is-front-page .site-main.si-front-page,
.si-front-page.site-main {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible;
	max-width: none !important;
}

/* Shared page shell — nav + content same width */
@media (min-width: 769px) {
	body.one-container .main-navigation,
	body.one-container .site-content {
		width: calc(100% - 40px);
		max-width: 1240px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
	}

	body.one-container .main-navigation .inside-navigation.grid-container {
		max-width: 100% !important;
		width: 100%;
	}

	.main-navigation {
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
		margin-top: 15px;
		border-radius: 12px;
		overflow: visible;
	}

	.inside-navigation {
		overflow: visible;
		position: relative;
		z-index: 20;
	}

	.main-navigation ul ul {
		position: absolute;
		z-index: 9999;
		background: #fff;
		border: 1px solid #e2e8f0;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		padding: 6px 0;
		min-width: 180px;
	}

	.main-navigation ul ul li a {
		display: block;
		padding: 10px 14px;
		font-size: 15px;
		color: #1a202c;
		transition: background 0.2s ease;
		border-radius: 4px;
	}

	.main-navigation ul ul li a:hover {
		background: #f1f5f9;
		color: #2563eb;
	}

	body:not(.si-is-front-page) .site-main {
		border-radius: 12px;
		overflow: hidden;
		background: #fff;
		padding: 20px 24px;
	}

	.site-footer {
		border-radius: 12px;
		overflow: hidden;
	}
}

@media (max-width: 768px) {
	.main-navigation {
		border-radius: 0;
		margin-top: 0;
	}

	body:not(.si-is-front-page) .site-main {
		border-radius: 0;
		padding: 0;
	}

	.site-footer {
		border-radius: 0;
	}
}

/* Filter reset button fix */
.si-filter-form .si-btn-secondary {
	color: #2d3748 !important;
	background: #fff !important;
	border: 1px solid #e2e8f0 !important;
}

.si-filter-form .si-btn-secondary:hover {
	background: #f8fafc !important;
	border-color: #cbd5e0 !important;
}

.si-btn-cta {
	background: #10b981 !important;
	color: #fff !important;
}

.si-btn-cta:hover {
	background: #059669 !important;
	color: #fff !important;
}
