/* FAQ Accordion — outer light section + inner navy containered .faq-box with
   rounded corners. Two image overlays behind text (left full-height + bottom-left
   gradient). 2-col split desktop (heading-left + accordion-right), stacked mobile.
   Panel animation via grid-template-rows trick (no JS height calc).
   +/- icon swap via [aria-expanded] CSS rule (no JS). */

.rw-block-faq-accordion {
	position: relative;
	color: var(--rw-color-white);
	overflow: hidden;
	isolation: isolate;
}
.rw-block-faq-accordion .rw-container { position: relative; z-index: 2; }

/* Inner navy box — rounded, padded, hosts overlays + content. */
.rw-block-faq-accordion .faq-box {
	position: relative;
	background: var(--rw-color-primary-blue);
	border-radius: var(--rw-radius-lg);
	padding: 3.75rem 3rem; /* 60px 48px desktop */
	overflow: hidden;
	isolation: isolate;
}

/* Overlays — both behind content (z-index 0). */
.rw-block-faq-accordion .overlay-img {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	height: 100%;
	width: auto;
	object-fit: cover;
	z-index: 0;
	pointer-events: none;
}
.rw-block-faq-accordion .overlay-gradient {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 0;
	pointer-events: none;
	max-width: 100%;
	height: auto;
}

/* Eyebrow wrapper — sits above .layout. 24px gap to layout below. */
.rw-block-faq-accordion .eyebrow-wrap {
	position: relative;
	z-index: 1;
	margin-bottom: 1.5rem;
}

/* 2-col layout — heading left, accordion right. Desktop ≥1024px. */
.rw-block-faq-accordion .layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 28rem);
	gap: var(--rw-space-2xl);
	align-items: start;
}

.rw-block-faq-accordion .intro {
	display: flex;
	flex-direction: column;
	gap: var(--rw-space-md);
	max-width: 44rem;
}
.rw-block-faq-accordion .rw-eyebrow--on-dark { color: var(--rw-color-white); }
.rw-block-faq-accordion h2 {
	font-size: var(--rw-h3-size);
	line-height: var(--rw-h3-line);
	letter-spacing: var(--rw-h3-tracking);
	color: var(--rw-color-white);
	margin: 0;
}

/* Accordion list */
.rw-block-faq-accordion .accordion {
	display: flex;
	flex-direction: column;
}

.rw-block-faq-accordion .item {
	border-bottom: 1px solid var(--rw-color-border-on-dark);
}
.rw-block-faq-accordion .item:last-child { border-bottom: 0; }

/* Trigger — full-width, transparent, button-reset. */
.rw-block-faq-accordion .trigger {
	all: unset;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--rw-space-sm);
	width: 100%;
	padding: var(--rw-space-sm) 0;
	cursor: pointer;
	color: var(--rw-color-white);
	font-family: var(--rw-font-text);
}
.rw-block-faq-accordion .trigger:focus-visible {
	outline: none;
	box-shadow: var(--rw-state-focus-ring);
	border-radius: var(--rw-radius-xs);
}
.rw-block-faq-accordion .question {
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.25;
	letter-spacing: -0.012em;
	flex: 1 1 auto;
	text-align: left;
}

/* +/- icon swap — plus shown when collapsed, minus when expanded. */
.rw-block-faq-accordion .trigger .icon {
	flex: none;
	display: inline-flex;
}
.rw-block-faq-accordion .trigger .icon--minus { display: none; }
.rw-block-faq-accordion .trigger[aria-expanded="true"] .icon--plus  { display: none; }
.rw-block-faq-accordion .trigger[aria-expanded="true"] .icon--minus { display: inline-flex; }

/* Panel — collapsible via grid-template-rows trick. */
.rw-block-faq-accordion .panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
}
.rw-block-faq-accordion .panel-inner {
	overflow: hidden;
	min-height: 0;
}
.rw-block-faq-accordion .item.is-open .panel {
	grid-template-rows: 1fr;
}

.rw-block-faq-accordion .answer {
	margin: 0 0 var(--rw-space-sm);
	color: var(--rw-color-white);
	font-family: var(--rw-font-text);
	font-size: var(--rw-p2-size);
	line-height: 1.65;
	letter-spacing: var(--rw-p2-tracking);
}

@media (prefers-reduced-motion: reduce) {
	.rw-block-faq-accordion .panel { transition: none; }
}

@media (max-width: 1023px) {
	.rw-block-faq-accordion .layout {
		grid-template-columns: 1fr;
		gap: var(--rw-space-xl);
	}
}

/* Single-post context — collapse to 1-col, fill content column edge-to-edge. */
.rw-faq--single-col.rw-section {
	padding-inline: 0;
	width: 100%;
}
.rw-faq--single-col .rw-container {
	max-width: none;
	padding-inline: 0;
}
@media (min-width: 1024px) {
	.rw-faq--single-col .layout {
		grid-template-columns: 1fr;
		gap: var(--rw-space-xl);
	}
}

@media (max-width: 767px) {
	.rw-block-faq-accordion .faq-box { padding: 1.5rem; /* 24px all sides */ }
	.rw-block-faq-accordion .question { font-size: 1rem; }
}
