/**
 * Front-end styles for plugin-generated post blocks only.
 *
 * Selectors are deliberately specific — themes commonly force white heading
 * and link colours inside .entry-content, which would make this light card
 * unreadable without explicit resets.
 */

/* --- CTA callout card ---------------------------------------------------- */

.entry-content .propulse-cta,
.wp-block-html .propulse-cta,
.propulse-cta {
	background: #fafafa;
	border-left: 4px solid #e8381a;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	box-sizing: border-box;
	color: #444;
	color-scheme: light;
	margin: 2rem 0;
	max-width: 100%;
	padding: 28px 32px;
}

.entry-content .propulse-cta h3,
.wp-block-html .propulse-cta h3,
.propulse-cta h3 {
	color: #1a1a1a !important;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1.25;
	margin: 0 0 0.75rem;
	-webkit-text-fill-color: #1a1a1a;
}

.entry-content .propulse-cta p,
.wp-block-html .propulse-cta p,
.propulse-cta p {
	color: #444 !important;
	font-family: "Barlow", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	margin: 0 0 1rem;
	-webkit-text-fill-color: #444;
}

.entry-content .propulse-cta p:last-child,
.wp-block-html .propulse-cta p:last-child,
.propulse-cta p:last-child {
	margin-bottom: 0;
}

/* Inline body link — not the button. */
.entry-content .propulse-cta p a:not(.propulse-cta__button),
.wp-block-html .propulse-cta p a:not(.propulse-cta__button),
.propulse-cta p a:not(.propulse-cta__button) {
	color: #e8381a !important;
	font-weight: 600;
	text-decoration: underline;
	-webkit-text-fill-color: #e8381a;
}

.entry-content .propulse-cta p a:not(.propulse-cta__button):hover,
.entry-content .propulse-cta p a:not(.propulse-cta__button):focus-visible,
.wp-block-html .propulse-cta p a:not(.propulse-cta__button):hover,
.wp-block-html .propulse-cta p a:not(.propulse-cta__button):focus-visible,
.propulse-cta p a:not(.propulse-cta__button):hover,
.propulse-cta p a:not(.propulse-cta__button):focus-visible {
	color: #c42e15 !important;
	-webkit-text-fill-color: #c42e15;
}

.entry-content a.propulse-cta__button,
.wp-block-html a.propulse-cta__button,
a.propulse-cta__button,
.propulse-cta a.propulse-cta__button {
	background-color: #e8381a !important;
	border: none;
	border-radius: 5px;
	box-shadow: none;
	color: #fff !important;
	display: inline-block;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 0.25rem;
	padding: 14px 28px;
	text-decoration: none !important;
	text-transform: none;
	transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
	-webkit-text-fill-color: #fff;
}

.entry-content a.propulse-cta__button:hover,
.entry-content a.propulse-cta__button:focus-visible,
.wp-block-html a.propulse-cta__button:hover,
.wp-block-html a.propulse-cta__button:focus-visible,
a.propulse-cta__button:hover,
a.propulse-cta__button:focus-visible,
.propulse-cta a.propulse-cta__button:hover,
.propulse-cta a.propulse-cta__button:focus-visible {
	background-color: #d03217 !important;
	box-shadow: 0 4px 14px rgba(232, 56, 26, 0.35);
	color: #fff !important;
	outline: 2px solid #1a1a1a;
	outline-offset: 2px;
	text-decoration: none !important;
	transform: translateY(-1px);
	-webkit-text-fill-color: #fff;
}

/* --- FAQ accordion ------------------------------------------------------- */

.entry-content .propulse-faq,
.wp-block-html .propulse-faq,
.propulse-faq {
	color-scheme: light;
	margin: 2rem 0;
}

.entry-content .propulse-faq > h2,
.wp-block-html .propulse-faq > h2,
.propulse-faq > h2 {
	color: #1a1a1a !important;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	margin-bottom: 1rem;
	-webkit-text-fill-color: #1a1a1a;
}

.entry-content .propulse-faq-item,
.wp-block-html .propulse-faq-item,
.propulse-faq-item {
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 8px;
	margin-bottom: 0.75rem;
	overflow: hidden;
}

.propulse-faq-item:last-child {
	margin-bottom: 0;
}

.entry-content .propulse-faq-item summary,
.wp-block-html .propulse-faq-item summary,
.propulse-faq-item summary {
	cursor: pointer;
	list-style: none;
	padding: 1rem 3rem 1rem 1.25rem;
	position: relative;
	transition: background 0.15s ease;
}

.propulse-faq-item summary::-webkit-details-marker {
	display: none;
}

.propulse-faq-item summary::after {
	color: #e8381a;
	content: "+";
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1;
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.2s ease;
}

.propulse-faq-item[open] summary::after {
	content: "×";
	transform: translateY(-50%) rotate(0deg);
}

.propulse-faq-item summary:hover,
.propulse-faq-item summary:focus-visible {
	background: #fafafa;
	outline: none;
}

.propulse-faq-item summary:focus-visible {
	box-shadow: inset 0 0 0 2px #e8381a;
}

.entry-content .propulse-faq-item summary h3,
.wp-block-html .propulse-faq-item summary h3,
.propulse-faq-item summary h3 {
	color: #1a1a1a !important;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.35;
	margin: 0;
	-webkit-text-fill-color: #1a1a1a;
}

.entry-content .propulse-faq-item > p,
.wp-block-html .propulse-faq-item > p,
.propulse-faq-item > p {
	color: #444 !important;
	font-family: "Barlow", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	margin: 0;
	padding: 0 1.25rem 1.25rem;
	-webkit-text-fill-color: #444;
}

/* --- Mobile -------------------------------------------------------------- */

@media (max-width: 480px) {
	.entry-content .propulse-cta,
	.wp-block-html .propulse-cta,
	.propulse-cta {
		padding: 20px;
	}

	.entry-content a.propulse-cta__button,
	.wp-block-html a.propulse-cta__button,
	a.propulse-cta__button,
	.propulse-cta a.propulse-cta__button {
		display: block;
		text-align: center;
		width: 100%;
	}

	.propulse-faq-item summary {
		padding-right: 2.75rem;
	}
}
