/* Round16 — Anti-leak Discount — section FAQ
   Figma I4368:2998;4158:11701;4368:9213 (desktop) · I4372:6731;…;4372:8619 (laptop)

   faq        HORIZONTAL gap 40, 2 cột 680      | <=1024 VERTICAL gap 40
   title      48 / 600 / lh115% (h2)            | <=1024 28
   list       VERTICAL gap 24
   item       VERTICAL gap 20
     indicator  680 x 2 · fill stroke (#4a4949) → gradient khi mở
     question   25 / 600 / lh115% (h5)          | <=1024 20
     icon       16 x 16, xoay 180 khi mở
     answer     16 / 400 / lh140%, màu 2nd-fg
*/

.al-faq__row {
	display: flex;
	gap: var(--var-40);
}

.al-faq__title,
.al-faq__list {
	flex: 1 1 0;
	min-width: 0;
}

.al-faq__list {
	display: flex;
	flex-direction: column;
	gap: var(--var-24);
}

.al-faq__item {
	display: flex;
	flex-direction: column;
	gap: var(--var-20);
}

.al-faq__indicator {
	display: block;
	height: 2px;
	background: var(--color-stroke);
	transition: background var(--al-swap-ms) var(--al-ease-out);
}

/* Item đang mở: divider đổi thành dải gradient brand (1st-brd → 2nd-brd) */
.al-faq__item.is-open .al-faq__indicator {
	background: var(--color-gradient-brand);
}

.al-faq__question {
	font-family: var(--font-body);
	font-size: var(--fs-h5);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-heading);
	color: var(--color-1st-fg);
}

.al-faq__toggle {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	/* Figma I…;4680:56349 là HORIZONTAL gap 0: Title 664 (grow) + chevron 16 = 680.
	   Đặt gap 16 (như Round13 đang làm) thì text chỉ còn 648 và câu
	   "Will this Anti-leak discount affect my current affiliate?" bị xuống 2 dòng. */
	gap: 0;
	width: 100%;
	font: inherit;
	color: inherit;
	text-align: left;
}

.al-faq__toggle--static {
	cursor: default;
}

.al-faq__icon {
	width: 16px;
	height: 16px;
	flex: none;
	/* Figma: chevron canh giữa DÒNG ĐẦU của question (dòng cao 28.75, icon 16) */
	margin-top: 6.5px;
	transition: transform .25s var(--al-ease-out);
}

.al-faq__item.is-open .al-faq__icon {
	transform: rotate(180deg);
}

/* Đóng/mở bằng grid-template-rows để có animation chiều cao mà không cần đo JS */
.al-faq__answer {
	display: grid;
	grid-template-rows: 1fr;
	max-width: 680px;
	margin-top: 0;
	transition:
		grid-template-rows .38s var(--al-ease-out),
		margin-top .38s var(--al-ease-out),
		opacity .3s ease;
}

.al-faq__answer[hidden] {
	display: grid;
	grid-template-rows: 0fr;
	/* Panel đóng cao 0 nhưng VẪN là flex item, nên `gap: 20` của .al-faq__item
	   vẫn cộng 20px vào câu đang đóng: đo được 100/71/100 thay vì Figma
	   80/51/80 (list 502 thay vì 442). Margin âm đúng bằng gap để huỷ phần đó;
	   đưa vào transition để lúc mở ra không giật. */
	margin-top: calc(var(--var-20) * -1);
	opacity: 0;
}

.al-faq__answer > * {
	min-height: 0;
	overflow: hidden;
}

/* Câu trả lời nhiều đoạn — Figma cách nhau 1 dòng trống */
.al-faq__answer-inner .al-description + .al-description {
	margin-top: var(--var-16);
}

@media (max-width: 1024px) {
	.al-faq__row {
		flex-direction: column;
		gap: var(--var-40);
	}

	.al-faq__answer {
		max-width: none;
	}

	/* Frame phone 4372:8799 (designer bổ sung sau khi section này đã dựng)
	   để list gap 36, khác desktop 24. Gap trong item vẫn giữ 20: chiều cao
	   câu đóng đo được 68/91/68/91 đã trùng khít frame, đổi lên 36 thì dôi
	   16px mỗi câu vì còn một gap nữa (panel đóng → gạch chân) không bị huỷ. */
	.al-faq__list {
		gap: var(--var-36);
	}
}

@media (prefers-reduced-motion: reduce) {
	.al-faq__answer,
	.al-faq__indicator,
	.al-faq__icon {
		transition: none;
	}
}
