/* Buttons */
.cta-button {
	display: inline-block;
	padding: 14px 24px;
	background: var(--black);
	color: white;
	text-decoration: none;
	border-radius: 8px;
	font-weight: 600;
	font-size: 16px;
	transition: all 0.2s;
	border: none;
	cursor: pointer;
	width: 100%;
	text-align: center;
	margin-top: 24px;
}
.cta-button:hover { background: #222222; }

/* Sections */
section { padding: 48px 20px; }

.section-title {
	font-size: clamp(24px, 6vw, 32px);
	font-weight: 600;
	margin-bottom: 8px;
	letter-spacing: -0.4px;
	color: var(--black);
	text-align: center;
}
.section-subtitle {
	font-size: clamp(16px, 4vw, 18px);
	color: var(--gray);
	margin-bottom: 32px;
	text-align: center;
}

/* Grids */
.grid-3, .grid-2 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

/* Cards */
.card {
	background: white;
	border: 1px solid #EBEBEB;
	border-radius: 12px;
	padding: 24px;
	transition: all 0.2s;
}
.card:hover { box-shadow: 0 6px 16px rgba(0,0,0,0.12); border-color: var(--black); }
.card h3 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 8px;
	color: var(--black);
	line-height: 1.3;
}
.card p { color: var(--gray); font-size: 15px; line-height: 1.5; }

/* Featured */
.featured { background: var(--bg-light); }
.featured-content { max-width: 100%; text-align: center; }
.featured h2 {
	font-size: clamp(28px, 7vw, 40px);
	font-weight: 600;
	margin-bottom: 16px;
	color: var(--black);
	line-height: 1.2;
}
.featured p {
	font-size: clamp(16px, 4vw, 18px);
	color: var(--gray);
	margin-bottom: 32px;
	line-height: 1.6;
}

/* Testimonials */
.testimonials { background: var(--bg-light); }
.testimonials-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: 40px;
}
.trustpilot-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	padding: 8px 16px;
	background: #00B67A;
	color: white;
	border-radius: 8px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s;
}
.trustpilot-badge:hover {
	background: #009E6E;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 182, 122, 0.2);
}
.trustpilot-stars { font-size: 20px; color: #FFB800; letter-spacing: 2px; }

.testimonials-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	max-width: 1200px;
	margin: 0 auto;
}
.testimonial-card {
	background: white;
	border: 1px solid #EBEBEB;
	border-radius: 12px;
	padding: 32px 24px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.testimonial-rating { font-size: 20px; color: #FFB800; margin-bottom: 16px; letter-spacing: 2px; }
.testimonial-text {
	font-size: 16px;
	color: var(--dark-gray);
	line-height: 1.6;
	margin-bottom: 20px;
	font-style: italic;
}
.testimonial-author { font-weight: 600; color: var(--black); margin-bottom: 8px; }
.testimonial-date { font-size: 14px; color: var(--gray); }

/* Comparison */
.comparison-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
.comparison-card {
	background: white;
	border: 1px solid #EBEBEB;
	border-radius: 12px;
	padding: 32px 24px;
}
.comparison-card.highlight { background: var(--black); color: white; border: 1px solid var(--black); }
.comparison-card h3 { font-size: 20px; font-weight: 600; margin-bottom: 20px; color: var(--black); }
.comparison-card.highlight h3 { color: white; }
.comparison-card ul { list-style: none; }
.comparison-card li {
	padding: 10px 0;
	font-size: 15px;
	padding-left: 28px;
	position: relative;
	color: var(--gray);
	line-height: 1.5;
}
.comparison-card.highlight li { color: rgba(255,255,255,0.9); }
.comparison-card li::before {
	content: '✓';
	position: absolute;
	left: 0;
	font-weight: 600;
	font-size: 16px;
}
.comparison-card.highlight li::before { color: #4ADE80; }
.comparison-card:not(.highlight) li::before { content: '✗'; color: #F43F5E; }

/* FAQ */
.faq-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
.faq-item h3 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 8px;
	color: var(--black);
	line-height: 1.3;
}
.faq-item p { font-size: 15px; color: var(--gray); line-height: 1.6; }

/* CTA section */
.cta-section { text-align: center; background: var(--bg-light); }
.cta-section h2 {
	font-size: clamp(28px, 7vw, 40px);
	font-weight: 600;
	margin-bottom: 16px;
	color: var(--black);
	line-height: 1.2;
}
.cta-section p {
	font-size: clamp(16px, 4vw, 18px);
	color: var(--gray);
	margin-bottom: 32px;
	line-height: 1.6;
}

.contact-info {
	margin-top: 40px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
}
.contact-item {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--gray);
	font-size: 15px;
}
.contact-item a {
	color: var(--dark-gray);
	text-decoration: none;
	font-weight: 500;
	word-break: break-word;
}
.contact-item a:hover { color: var(--black); text-decoration: underline; }

/* Generic content pages */
.content-page { padding-top: 155px; }
.content-wrap { max-width: 1120px; margin: 0 auto; }
.page-title {
	font-size: clamp(24px, 6vw, 36px);
	font-weight: 600;
	letter-spacing: -0.4px;
	color: var(--black);
	margin-bottom: 16px;
}
.page-content { color: var(--dark-gray); }
.page-content p, .page-content li { color: var(--dark-gray); }

