/**
 * Styles shared between all product pages
 *
 * @copyright   2026, ON1
 */

/* !- Section block (alternating) */
/*
.section-block {
	min-height: 31.25rem;
}
*/

.section-copy {
	background: var(--bg);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5rem 4.375rem;
}

@media (max-width: 575.98px) {
	.section-copy {
		padding-left: 0;
		padding-right: 0;
	}
}

.section-h2 {
	color: var(--text);
	font-size: var(--text-3xl);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin-bottom: 1rem;
}

.section-lede {
	color: var(--text-subtle);
	font-size: var(--text-sm);
	font-style: italic;
	margin-bottom: 1rem;
}

.section-body {
	color: var(--text-muted);
	font-size: var(--text-base);
	line-height: 1.65;
	margin-bottom: 1.75rem;
}

.section-body strong {
	color: var(--text);
	font-weight: 600;
}

.sub-feature {
	margin-bottom: 1.75rem;
}

.sub-feature h4 {
	color: var(--text);
	font-size: var(--text-base);
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.sub-feature p {
	color: var(--text-muted);
	font-size: var(--text-sm);
	line-height: 1.65;
	margin-bottom: 0.625rem;
}

.feature-bullets {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	list-style: none;
	margin-bottom: 0;
	margin-top: 0.75rem;
	padding-left: 0.125rem;
}

.feature-bullets li {
	color: var(--text-muted);
	font-size: var(--text-sm);
	line-height: 1.3;
	margin-bottom: 0;
	padding-left: 1rem;
	position: relative;
}

.feature-bullets li::before {
	background: var(--green);
	border-radius: 50%;
	content: '';
	height: 0.375rem;
	left: 0;
	position: absolute;
	top: 0.5rem;
	width: 0.375rem;
}

.feature-bullets li strong {
	color: var(--text);
	font-weight: 600;
}

.section-divider {
	background: rgba(255, 255, 255, 0.05);
	height: 1px;
}

.section-link {
	color: var(--blue);
	font-size: var(--text-sm);
	font-weight: 600;
	text-decoration: none;
}

.section-link:hover {
	text-decoration: underline;
}

/* !- Reviews */
.reviews-section {
	background: var(--bg-850);
	padding: 5.625rem 0;
}

.review-card {
	background: var(--bg);
	border: 1px solid var(--border-subtle);
	border-radius: 0.5rem;
	padding: 1.75rem 1.625rem;
}

.review-stars {
	display: flex;
	gap: 0.1875rem;
	margin-bottom: 0.875rem;
}

.star {
	background: var(--gold);
	clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
	display: block;
	height: 0.875rem;
	width: 0.875rem;
}

.review-text {
	border-left: 0;
	color: var(--text-muted);
	font-size: var(--text-sm);
	font-style: normal;
	line-height: 1.7;
	margin: 0 0 1.125rem;
	padding: 0;
}

.review-author {
	color: var(--text-subtle);
	font-size: var(--text-sm);
	font-style: normal;
	font-weight: 600;
}

/* !- Video */
.video-section {
	background: var(--bg);
	padding: 5.625rem 0;
}

.video-figure {
	margin: 0;
}

.video-embed {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: var(--bg-900);
	border-radius: 0.625rem;
	display: flex;
	justify-content: center;
	margin: 0;
	overflow: hidden;
	position: relative;
}

.video-embed::before {
	background:
		radial-gradient(ellipse at 50% 40%, rgba(10, 126, 250, 0.12) 0%, transparent 60%),
		radial-gradient(ellipse at 75% 75%, rgba(33, 206, 110, 0.08) 0%, transparent 45%);
	content: '';
	inset: 0;
	position: absolute;
}

.play-button {
	align-items: center;
	background: rgba(33, 206, 110, 0.9);
	border: 0;
	border-radius: 50%;
	display: flex;
	height: 4.5rem;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 4.5rem;
	z-index: 2;
}

.video-caption {
	color: var(--text-subtle);
	font-size: var(--text-sm);
	font-style: italic;
	margin-top: 1rem;
	text-align: center;
}

/* !- FAQ */
.faq-section {
	background: var(--bg-850);
	padding: 5.625rem 0;
}

.faq-item {
	border-bottom: 1px solid var(--border-subtle);
	padding: 1.75rem 0;
}

.faq-item:first-of-type {
	border-top: 1px solid var(--border-subtle);
}

.faq-q {
	align-items: flex-start;
	color: var(--text);
	display: flex;
	font-size: var(--text-base);
	font-weight: 600;
	gap: 0.75rem;
	line-height: 1.4;
	margin-bottom: 0.875rem;
}

.faq-q::before {
	background: rgba(33, 206, 110, 0.12);
	border-radius: 0.25rem;
	color: var(--green);
	content: 'Q';
	flex-shrink: 0;
	font-size: var(--text-xs);
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-top: 0.125rem;
	padding: 0.25em 0.5em;
}

.faq-a {
	color: var(--text-muted);
	font-size: var(--text-base);
	line-height: 1.7;
	padding-left: 2.25rem;
}

/* !- CTA */
.cta-section {
	background: var(--bg);
	overflow: hidden;
	padding: 6.25rem 0;
	position: relative;
}

.cta-section::before {
	background:
		radial-gradient(ellipse at 25% 50%, rgba(33, 206, 110, 0.1) 0%, transparent 55%),
		radial-gradient(ellipse at 75% 40%, rgba(10, 126, 250, 0.1) 0%, transparent 50%),
		radial-gradient(ellipse at 55% 90%, color-mix(in srgb, var(--purple) 7%, transparent) 0%, transparent 45%);
	content: '';
	inset: 0;
	position: absolute;
}

.cta-section h2 {
	color: var(--white);
	font-size: var(--text-5xl);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin-bottom: 1.25rem;
}

.cta-section p {
	color: var(--text-muted);
	font-size: var(--text-lg);
	line-height: 1.65;
	margin-bottom: 2.5rem;
}

.cta-section p strong {
	color: var(--text);
	font-weight: 600;
}

/* !- Resources */
.resources-section {
	background: var(--bg-850);
	padding: 5rem 0;
}

.resources-section h2 {
	color: var(--text);
	font-size: var(--text-xl);
	font-weight: 600;
	margin-bottom: 2.25rem;
}

.resource-card {
	background: var(--bg-900);
	border: 1px solid var(--border-subtle);
	border-radius: 0.5rem;
	display: block;
	overflow: hidden;
	text-decoration: none;
}

.resource-body {
	padding: 1.375rem;
}

.resource-title {
	color: var(--text);
	font-size: var(--text-sm);
	font-weight: 600;
	line-height: 1.4;
}

.resources-section .eyebrow {
	color: var(--blue);
}
