.gb-faq {
	position: relative;
	overflow: hidden;
	padding-block: max(var(--section-spacing-md), calc(5 * var(--su)));
	padding-inline: var(--pk-site-gutter);
	border-radius: 0 var(--radius-3xl) 0 var(--radius-3xl);
	background: var(--color-pistachio);
	color: var(--color-deep-pine);
}

.gb-faq::before {
	position: absolute;
	inset: max(2.75rem, calc(2.75 * var(--su))) calc(-1 * var(--pk-site-gutter));
	background-image: url("../../../../assets/images/faq/background-line.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
	pointer-events: none;
}

.gb-faq__inner {
	position: relative;
	z-index: 1;
	margin-inline: 0;
}

.gb-faq__card {
	display: flex;
	flex-direction: column;
	gap: max(1.5rem, calc(1.5 * var(--su)));
	min-width: 0;
	padding: max(3rem, calc(3.5 * var(--su)));
	border-radius: 0 var(--radius-2xl) 0 var(--radius-2xl);
	background: var(--color-white);
	box-shadow: -4px 7px 9px rgba(1, 38, 30, 0.01);
}

.gb-faq__heading {
	margin: 0;
	color: var(--color-deep-pine);
	font-size: var(--scaling-h3);
	font-weight: var(--pk-heading-font-weight);
	line-height: 1.2;
}

.gb-faq__items {
	display: flex;
	flex-direction: column;
	gap: max(1rem, calc(1 * var(--su)));
}

.gb-faq__item {
	border-bottom: 1px solid var(--color-deep-pine-10);
}

.gb-faq__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: max(1rem, calc(1 * var(--su)));
	min-height: max(2rem, calc(2 * var(--su)));
	padding-block: 0 max(1rem, calc(1 * var(--su)));
	color: var(--color-deep-pine);
	font-family: var(--pk-heading-font-family);
	font-size: var(--scaling-h5);
	font-weight: var(--pk-heading-font-weight);
	line-height: 1.2;
	letter-spacing: var(--pk-heading-letter-spacing);
	cursor: pointer;
}

.gb-faq__summary::-webkit-details-marker {
	display: none;
}

.gb-faq__summary::marker {
	content: "";
}

.gb-faq__summary span:first-child {
	min-width: 0;
	word-break: normal;
	overflow-wrap: anywhere;
}

.gb-faq__icon {
	position: relative;
	display: inline-flex;
	width: max(2rem, calc(2 * var(--su)));
	height: max(2rem, calc(2 * var(--su)));
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-deep-pine-10);
	border-radius: var(--radius-pill);
	background: var(--color-white);
	transition: background-color var(--transition-duration) var(--transition-easing),
		border-color var(--transition-duration) var(--transition-easing),
		transform var(--transition-duration) var(--transition-easing);
}

.gb-faq__icon::before {
	width: max(1rem, calc(1 * var(--su)));
	height: max(1rem, calc(1 * var(--su)));
	background: var(--color-deep-pine);
	content: "";
	mask: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.333 8h9.334M12.667 8 8.667 4M12.667 8l-4 4' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: rotate(90deg);
	transition: transform var(--transition-duration) var(--transition-easing);
}

.gb-faq__item[open] .gb-faq__icon::before {
	transform: rotate(-90deg);
}

.gb-faq__summary:hover .gb-faq__icon,
.gb-faq__summary:focus-visible .gb-faq__icon {
	border-color: var(--color-basil-80);
	background: var(--color-pistachio);
}

.gb-faq__summary:focus-visible {
	outline: var(--focus-ring-width) solid var(--pk-focus-ring-color);
	outline-offset: var(--focus-ring-offset);
}

.gb-faq__answer {
	display: flex;
	flex-direction: column;
	gap: max(0.5rem, calc(0.5 * var(--su)));
	padding-bottom: max(1rem, calc(1 * var(--su)));
	color: var(--color-deep-pine);
	font-size: var(--desktop-body-sm);
	font-weight: var(--pk-text-font-weight);
	line-height: var(--pk-text-line-height);
}

.gb-faq__text > * {
	margin-block: 0;
}

.gb-faq__text > * + * {
	margin-top: max(0.75rem, calc(0.75 * var(--su)));
}

.gb-faq__bullets {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gb-faq__bullets li {
	position: relative;
	padding-left: max(1.75rem, calc(1.75 * var(--su)));
}

.gb-faq__bullets li::before {
	position: absolute;
	top: 0.25em;
	left: 0;
	width: max(1.25rem, calc(1.25 * var(--su)));
	height: max(1.25rem, calc(1.25 * var(--su)));
	background: var(--color-deep-pine);
	content: "";
	mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 10 3.333 3.333L15 6.667' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 992px) {
	.gb-faq {
		padding-block: max(var(--section-spacing-sm), calc(4 * var(--su)));
		border-radius: 0;
	}

	.gb-faq::before {
		display: none;
	}

	.gb-faq__card {
		grid-column: 1 / -1;
		padding: max(1.5rem, calc(1.5 * var(--su)));
		border-radius: 0 var(--radius-lg) 0 var(--radius-lg);
	}

	.gb-faq__heading {
		font-size: var(--scaling-h4);
	}

	.gb-faq__summary {
		font-size: var(--desktop-body-lg);
	}
}
