/**
 * GEO / FAQ / comparison table styles
 */

.insole-product-faq {
	margin-top: 2rem;
	padding: 2rem 0;
	border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.insole-product-faq h2,
.insole-oem-faq h2 {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 1.25rem;
	color: var(--b2b-primary, #0b1220);
}

.insole-faq-item {
	margin-bottom: 1rem;
}

.insole-faq-item h3 {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 0.35rem;
	color: var(--b2b-primary, #0b1220);
}

.insole-faq-item p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: #555;
}

.insole-oem-faq {
	max-width: 900px;
}

.insole-faq-detail {
	margin-bottom: 0.75rem;
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.insole-faq-detail summary {
	padding: 1rem 1.25rem;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	font-size: 1rem;
	color: var(--b2b-primary, #0b1220);
}

.insole-faq-detail summary::-webkit-details-marker {
	display: none;
}

.insole-faq-detail summary::after {
	content: '+';
	float: right;
	font-size: 1.25rem;
	font-weight: 400;
	color: #999;
}

.insole-faq-detail[open] summary {
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.insole-faq-detail[open] summary::after {
	content: '−';
}

.insole-faq-detail > div {
	padding: 0 1.25rem 1rem;
	font-size: 0.9rem;
	line-height: 1.6;
	color: #555;
}

.insole-comparison-table {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.insole-comparison-table h2 {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 1rem;
}

.insole-comparison-table__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.insole-compare-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.85rem;
}

.insole-compare-table th,
.insole-compare-table td {
	padding: 0.65rem 1rem;
	text-align: left;
	border-bottom: 1px solid #eee;
	vertical-align: top;
}

.insole-compare-table thead tr {
	background: #f5f5f7;
}

.insole-compare-table th {
	font-weight: 600;
	border-bottom: 2px solid #ddd;
}

.insole-compare-table tr:hover {
	background: #f9f9fb;
}

.insole-compare-table a {
	color: var(--b2b-accent, #3a7a8c);
	text-decoration: none;
	font-weight: 600;
}

.insole-compare-table a:hover {
	text-decoration: underline;
}

@media (max-width: 768px) {
	.insole-product-faq h2,
	.insole-oem-faq h2,
	.insole-comparison-table h2 {
		font-size: 1.25rem;
	}

	.insole-faq-item h3,
	.insole-faq-detail summary {
		font-size: 0.9rem;
	}

	.insole-faq-item p,
	.insole-faq-detail > div {
		font-size: 0.85rem;
	}

	.insole-compare-table {
		min-width: 600px;
	}

	.insole-compare-table th,
	.insole-compare-table td {
		padding: 0.5rem 0.65rem;
		font-size: 0.75rem;
	}
}

html[dir="rtl"] .insole-compare-table th,
html[dir="rtl"] .insole-compare-table td {
	text-align: right;
}

html[dir="rtl"] .insole-faq-detail summary::after {
	float: left;
}
