/* ============================================================
	accordion.css
	Hyomin Design System v1.0 — Accordion Component

	사용법:
	<div class="accordion">
		<div class="accordion__item accordion__item--expanded">
			<button class="accordion__header" aria-expanded="true">
				<span class="accordion__title">Section1</span>
				<span class="accordion__icon" aria-hidden="true"></span>
			</button>
			<div class="accordion__content">
				<p class="accordion__text">내용이 들어갑니다.</p>
			</div>
		</div>
		<div class="accordion__item">
			<button class="accordion__header" aria-expanded="false">
				<span class="accordion__title">Section2</span>
				<span class="accordion__icon" aria-hidden="true"></span>
			</button>
			<div class="accordion__content">
				<p class="accordion__text">내용이 들어갑니다.</p>
			</div>
		</div>
	</div>
	============================================================ */

.accordion {
	display: flex;
	flex-direction: column;
	width: 400px;
}

.accordion__item {
	position: relative;
	margin-bottom: -1px;
}

.accordion__item--expanded {
	z-index: 1;
}

.accordion__header {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: var(--spacing-3) var(--spacing-4);
	background-color: var(--gray-50);
	border: var(--border-width) solid var(--border-color);
	text-align: left;
	color: var(--gray-900);
	transition: background-color var(--duration-fast);
}

.accordion__header:hover {
	background-color: var(--gray-100);
}

.accordion__item--expanded .accordion__header {
	background-color: var(--green-50);
	color: var(--green-800);
}

.accordion__item--expanded .accordion__header:hover {
	background-color: var(--green-100);
}

.accordion__title {
	flex: 1;
	font-family: var(--font-secondary);
	font-size: var(--font-size-body-base);
	font-weight: var(--font-weight-regular);
	line-height: 27px;
}

.accordion__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	transition: transform var(--duration-base);
}

.accordion__icon::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	margin-top: -4px;
}

.accordion__item--expanded .accordion__icon {
	transform: rotate(180deg);
}

.accordion__content {
	display: none;
	background-color: #ffffff;
	border: var(--border-width) solid var(--border-color);
	border-top: none;
	padding: var(--spacing-4);
}

.accordion__item--expanded .accordion__content {
	display: block;
}

.accordion__text {
	font-family: var(--font-secondary);
	font-size: var(--font-size-body-sm);
	font-weight: var(--font-weight-regular);
	line-height: 24px;
	color: var(--gray-900);
}
