/* Shared product-page FAQ pattern. */
.gps-product-faq {
	display: grid;
	grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr);
	gap: 48px;
	align-items: start;
}

.gps-product-faq>header {
	position: sticky;
	top: 24px;
	max-width: 330px;
	margin: 0;
}

.gps-product-faq>header h2 {
	margin-top: 10px;
	font-size: clamp(26px, 3vw, 36px);
}

.gps-product-faq details {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	-webkit-user-select: none;
	user-select: none;
	margin: 0;
	padding: 0 48px 0 20px;
	border: 1px solid var(--gps-color-border);
	border-radius: 10px;
	background: var(--gps-color-background);
	transition: border-color .2s ease, box-shadow .2s ease;
}

.gps-product-faq details+details {
	margin-top: 10px;
}

.gps-product-faq details[open],
.gps-product-faq details:hover {
	border-color: color-mix(in srgb, var(--gps-color-accent) 42%, var(--gps-color-border));
	box-shadow: 0 8px 22px rgba(24, 24, 24, .06);
}

.gps-product-faq summary {
	min-height: 58px;
	align-content: center;
	color: var(--gps-color-heading);
	font-size: 14px;
	font-weight: 750;
	cursor: pointer;
	list-style: none;
}

.gps-product-faq summary::-webkit-details-marker {
	display: none;
}

.gps-product-faq summary::after {
	position: absolute;
	top: 19px;
	right: 20px;
	color: var(--gps-color-accent);
	content: "+";
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	transition: transform .26s ease;
}

.gps-product-faq details[open]:not([data-expanded="false"]) summary::after {
	transform: rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
	.gps-product-faq summary::after {
		transition: none;
	}
}

.gps-product-faq details p {
	margin: 0;
	padding: 0 0 18px;
	color: var(--gps-color-muted);
	font-size: 13px;
	line-height: 1.65;
}

.gps-product-faq__ask {
	display: block;
	margin-top: 24px;
	padding: 20px 22px;
	border: 1px solid color-mix(in srgb, var(--gps-color-accent) 30%, var(--gps-color-border));
	border-radius: 10px;
	background: color-mix(in srgb, var(--gps-color-accent) 6%, var(--gps-color-background));
}

.gps-product-faq__ask strong,
.gps-product-faq__ask span {
	display: block;
}

.gps-product-faq__ask strong {
	color: var(--gps-color-heading);
	font-size: 16px;
	line-height: 1.3;
}

.gps-product-faq__ask span {
	margin-top: 4px;
	color: var(--gps-color-muted);
	font-size: 12px;
	line-height: 1.5;
}

.gps-product-faq__ask .gps-button {
	width: 100%;
	margin-top: 16px;
}


.gps-product-faq > header .gps-eyebrow { display:block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.gps-product-faq > header h2 { margin-bottom:20px; line-height:1.15; }
@media(max-width:767px) { .gps-product-faq { grid-template-columns:minmax(0,1fr); gap:24px; } .gps-product-faq > header { position:static; max-width:none; } }
