/**
 * PromoCentric FAQ Accordion
 *
 * White section
 * Dark blue: #13294b
 * Light blue: #3176b1
 * Horizontal borders only: 1px solid #f4f2f0
 * Orange +/- icon
 * Font inherits from the site
 */

.promocentric-faq {
	--pc-faq-dark-blue: #13294b;
	--pc-faq-light-blue: #3176b1;
	--pc-faq-orange: var(--promocentric-orange, #f58220);
	--pc-faq-border: #f4f2f0;
	--pc-faq-surface: #ffffff;

	width: 100%;
	max-width: 100%;
	margin: 0;
	color: var(--pc-faq-dark-blue);
	background: var(--pc-faq-surface);
	font-family: inherit;
}

.promocentric-faq *,
.promocentric-faq *::before,
.promocentric-faq *::after {
	box-sizing: border-box;
}

.promocentric-faq__item {
	margin: 0;
	border: 0;
	border-top: 1px solid var(--pc-faq-border);
	background: transparent;
}

.promocentric-faq__item:last-child {
	border-bottom: 1px solid var(--pc-faq-border);
}

.promocentric-faq__heading {
	margin: 0;
	padding: 0;
	font: inherit;
}

.promocentric-faq__question {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(1rem, 2vw, 2rem);

	width: 100%;
	min-height: 72px;

	margin: 0;
	padding: clamp(1.15rem, 2.2vw, 1.7rem) 0;

	border: 0 !important;
	border-radius: 0 !important;

	background: transparent !important;
	background-color: transparent !important;

	color: var(--pc-faq-dark-blue) !important;

	font: inherit;
	font-size: clamp(1.05rem, 0.95rem + 0.38vw, 1.35rem);
	font-weight: 700;
	line-height: 1.3;

	text-align: left;
	text-transform: none;
	letter-spacing: normal;

	cursor: pointer;

	appearance: none;
	-webkit-appearance: none;

	box-shadow: none !important;
	text-shadow: none !important;

	transition: none;
}

/**
 * Prevent GeneratePress / global button hover styles
 * from changing the FAQ appearance.
 */
.promocentric-faq__question:hover,
.promocentric-faq__question:active,
.promocentric-faq__question:focus {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--pc-faq-dark-blue) !important;
	border-color: transparent !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

/**
 * Keep keyboard accessibility without changing
 * the accordion's normal appearance.
 */
.promocentric-faq__question:focus-visible {
	outline: 2px solid var(--pc-faq-light-blue);
	outline-offset: 4px;
}

.promocentric-faq__question-text {
	min-width: 0;
	overflow-wrap: anywhere;
}

/**
 * Plus / minus icon
 */
.promocentric-faq__icon {
	position: relative;

	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;

	width: 32px;
	height: 32px;

	color: var(--pc-faq-orange);
}

/**
 * Thicker orange icon lines.
 */
.promocentric-faq__icon-line {
	position: absolute;

	display: block;

	width: 20px;
	height: 4px;

	border-radius: 999px;
	background: currentColor;

	transition:
		transform 180ms ease,
		opacity 180ms ease;
}

.promocentric-faq__icon-line--vertical {
	transform: rotate(90deg);
}

/**
 * When open, hide the vertical line,
 * turning + into −.
 */
.promocentric-faq__item.is-open
	.promocentric-faq__icon-line--vertical {
	transform: rotate(90deg) scaleX(0);
	opacity: 0;
}

/**
 * Answer container
 */
.promocentric-faq__answer {
	margin: 0;
	padding: 0;
}

.promocentric-faq__answer[hidden] {
	display: none;
}

.promocentric-faq__answer-inner {
	max-width: 920px;

	padding:
		0
		clamp(3rem, 5vw, 4.25rem)
		clamp(1.5rem, 2.6vw, 2rem)
		0;

	color: var(--pc-faq-dark-blue);

	font-size: clamp(
		0.98rem,
		0.94rem + 0.12vw,
		1.075rem
	);

	line-height: 1.7;
}

.promocentric-faq__answer-inner > :first-child {
	margin-top: 0;
}

.promocentric-faq__answer-inner > :last-child {
	margin-bottom: 0;
}

.promocentric-faq__answer-inner p,
.promocentric-faq__answer-inner ul,
.promocentric-faq__answer-inner ol {
	margin-top: 0;
	margin-bottom: 1rem;
}

.promocentric-faq__answer-inner ul,
.promocentric-faq__answer-inner ol {
	padding-left: 1.4rem;
}

.promocentric-faq__answer-inner li + li {
	margin-top: 0.45rem;
}

.promocentric-faq__answer-inner strong {
	color: var(--pc-faq-dark-blue);
	font-weight: 700;
}

.promocentric-faq__answer-inner a {
	color: var(--pc-faq-light-blue);

	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.promocentric-faq__answer-inner a:hover {
	color: var(--pc-faq-light-blue);
	text-decoration-thickness: 2px;
}

/**
 * Tablet
 */
@media (max-width: 1024px) {

	.promocentric-faq__question {
		min-height: 66px;
	}

	.promocentric-faq__answer-inner {
		padding-right: clamp(2rem, 5vw, 3.5rem);
	}
}

/**
 * Mobile
 */
@media (max-width: 767px) {

	.promocentric-faq__question {
		gap: 0.9rem;

		min-height: 60px;

		padding-top: 1.05rem;
		padding-bottom: 1.05rem;

		font-size: clamp(
			1rem,
			4.2vw,
			1.15rem
		);
	}

	.promocentric-faq__icon {
		width: 28px;
		height: 28px;
	}

	.promocentric-faq__icon-line {
		width: 18px;
		height: 4px;
	}

	.promocentric-faq__answer-inner {
		max-width: none;

		padding:
			0
			0
			1.35rem;

		font-size: 0.98rem;
		line-height: 1.65;
	}
}

/**
 * Reduced motion
 */
@media (prefers-reduced-motion: reduce) {

	.promocentric-faq__question,
	.promocentric-faq__icon-line {
		transition: none;
	}
}