section.faq_list {
	display: block;
	position: relative;
	margin: 1.2rem 0;

	/* Accordion visibility + transition */

	/* Row open state (JS toggles .is-open on .row) */

	/* Optional: rotate the cross icon when open (if it’s a plus) */
}

	section.faq_list .label {
		text-transform: uppercase;
		margin-bottom: 0.4rem;
	}

	section.faq_list .title {
		color: var(--black);
		margin-bottom: 0.6rem;
	}

	section.faq_list .list {
		position: relative;
		border-top: 0.01rem solid var(--grey);
	}

	section.faq_list .row {
		position: relative;
		padding: 0.3rem 0 0.3rem;
		border-bottom: 0.01rem solid var(--grey);
		overflow: clip;

		/**/
	}

	section.faq_list .row::before {
			content: "";
			display: block;
			position: absolute;
			transition: transform var(--dur-fast) var(--ease);
			transform: translate(0, var(--y));
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #ffffff;
		}

	section.faq_list .row .travel-dot-h {
			position: absolute;
			z-index: 5;
			top: 0rem;
			left: 0;
		}

	section.faq_list .row .layout {
			display: flex;
			align-items: center;
			justify-content: space-between;
			cursor: pointer;
			/* pointer-events: none; */
		}

	section.faq_list .row .layout > div:last-child {
				position: relative;
				padding-right: 1.5rem;
				min-width: 7rem;
			}

	section.faq_list .row .layout > div.no-padding {
				padding: 0;
			}

	section.faq_list .row .layout .num-title {
				display: flex;
				align-items: center;
			}

	section.faq_list .row .layout .num-title .row-title {
					padding-left: 3rem;
					font-size: 0.36rem;
				}

	@media screen and (max-width: 768px) and (orientation: portrait) {

	section.faq_list .row .layout .num-title .row-title {
						font-size: 0.24rem;
						padding-left: 0.2rem
				}
					}

	section.faq_list .row .layout .accordion-opener {
				background-color: var(--black);
				padding: 0.11rem;
				border-radius: 0.04rem;
				border: none;
				transition: 300ms ease-in-out;
			}

	section.faq_list .row .layout .accordion-opener svg {
					width: 0.13rem;
					height: 0.13rem;
					display: block;
				}

	section.faq_list .row .num {
			transition: color var(--dur-fast) var(--ease);
			color: var(--black);
			text-transform: uppercase;
		}

	section.faq_list .row .row-title {
			transition: color var(--dur-fast) var(--ease);
			color: var(--black);
		}

	section.faq_list .row .text {
			transition: color var(--dur-fast) var(--ease);
			color: var(--black);
			margin-top: 0.08rem;
		}

	section.faq_list .row .button {
			position: absolute;
			transform: translate(0, -50%);
			top: calc(50% + 0rem);
			right: 0;
			pointer-events: all;
		}

	section.faq_list .row .cta {
			display: flex;
			align-items: center;
			gap: 0.3rem;
		}

	section.faq_list .row .cta-link {
			position: relative;
			transition: color var(--dur-fast) var(--ease);
			pointer-events: all;
		}

	section.faq_list .row .cta-link::after {
				content: "";
				display: block;
				transition:
					transform var(--dur-fast) var(--ease),
					background-color var(--dur-fast) var(--ease);
				transform: scaleX(1);
				width: 100%;
				height: 0.02rem;
				background-color: var(--black);
			}

	@media screen and (hover: hover) {
				section.faq_list .row .cta-link:hover {
					color: var(--orange);
				}

					section.faq_list .row .cta-link:hover::after {
						transform: scaleX(1.1);
						background-color: var(--orange);
					}
			}

	section.faq_list .row .user {
			display: flex;
			align-items: center;
			gap: 0.2rem;
			padding: 0.1rem;
			padding-right: 1.1rem;
			border-radius: 0.07rem;
			background-color: #fff;
		}

	section.faq_list .row .user .media {
				aspect-ratio: 1;
				width: 0.6rem;
				border-radius: 0.04rem;
			}

	section.faq_list .row .user .u-title {
				margin-bottom: 0.06rem;
			}

	section.faq_list .row .user .u-text {
				letter-spacing: -0.02em;
				font-weight: 450;
			}

	section.faq_list .row.is-open .num,
			section.faq_list .row.is-open .row-title,
			section.faq_list .row.is-open .text,
			section.faq_list .row.is-open .answer {
				color: var(--black);
			}

	section.faq_list .row.is-open .accordion-opener {
				background-color: var(--orange);
			}

	section.faq_list .row.is-open .expanding-button {
				color: #000000;
				background-color: var(--orange);
				padding: 0.1rem 0.2rem;
			}

	section.faq_list .row.is-open .expanding-button svg {
					transform: rotate(90deg);
				}

	@media screen and (hover: hover) {
				section.faq_list .row:hover .num,
				section.faq_list .row:hover .row-title,
				section.faq_list .row:hover .text,
				section.faq_list .row:hover .answer {
					color: var(--black);
				}

				section.faq_list .row:hover .accordion-opener {
					background-color: var(--orange);
				}

				section.faq_list .row:hover .expanding-button {
					color: #000000;
					background-color: var(--orange);
					padding: 0.1rem 0.2rem;
				}

					section.faq_list .row:hover .expanding-button svg {
						transform: rotate(90deg);
					}
		}

	@media screen and (max-width: 768px) and (orientation: portrait) {section.faq_list {
		margin: 0.8rem 0
}

		section.faq_list .title {
			margin-bottom: 0.3rem;
		}

		section.faq_list .list {
			display: flex;
			flex-wrap: wrap;
		}

			section.faq_list .list .row {
				width: 100%;
			}

			section.faq_list .list .row:last-child {
				width: 100%;
				padding: 0.44rem 0 0.32rem;
			}
			section.faq_list .row:nth-child(odd) {
				border-right: 0.01rem solid var(--grey);
			}

			section.faq_list .row .container {
				height: 100%;
			}

			section.faq_list .row .layout {
				justify-content: space-between;
				align-items: center;
				height: 100%;
				gap: 0.2rem;
			}

				section.faq_list .row .layout > div:last-child {
					display: flex;
					flex-wrap: wrap;
					padding-right: 0;
					min-width: auto;
					flex: 1;
				}

				section.faq_list .row .layout > div:last-child > *:not(.button) {
					width: 100%;
				}

			section.faq_list .row .num {
				margin-bottom: 0.2rem;
			}

			section.faq_list .row .text {
				margin-bottom: 0.2rem;
			}

			section.faq_list .row .button {
				position: relative;
				transform: none;
				top: auto;
				right: auto;
				height: fit-content;
				align-self: flex-end;
				width: 100%;
			}

			section.faq_list .row .cta {
				display: block;
			}

			section.faq_list .row .cta-link {
				display: block;
				width: fit-content;
				font-size: 0.36rem;
				line-height: 0.38rem;
				margin-bottom: 0.26rem;
			}

			section.faq_list .row .no-padding {
				width: 100%;
			}

			section.faq_list .row .user {
				width: 100%;
				padding: 0.1rem;
			}
	}

	section.faq_list .answer {
		height: 0; /* hidden initially */
		overflow: hidden; /* prevent content showing */
		transition:
			height var(--dur-fast, 300ms) var(--ease, ease),
			opacity var(--dur-fast, 300ms) var(--ease, ease);
		opacity: 0;
		color: var(--grey);
		position: relative;
		padding-left: 3.15rem;
	}

	@media screen and (max-width: 768px) and (orientation: portrait) {

	section.faq_list .answer {
			padding-left: 0.35rem
	}
		}

	section.faq_list .answer .answer-wrap {
			padding-top: 0.2rem;
		}

	section.faq_list .row.is-open .answer {
		opacity: 1;
	}

	section.faq_list .row .accordion-opener svg {
		transition: transform var(--dur-fast) var(--ease);
	}

	section.faq_list .row .accordion-opener svg line {
			transition: opacity var(--dur-fast) var(--ease);
		}

	section.faq_list .row.is-open .accordion-opener svg {
		transform: rotate(90deg);
		transition: transform var(--dur-fast, 300ms) var(--ease, ease);
	}

	section.faq_list .row.is-open .accordion-opener svg line:last-child {
				opacity: 0;
			}

	section.faq_list .row.is-open .accordion-opener svg line:nth-child(3) {
				opacity: 0;
			}
