/* Компонент [elm_faq] — вантажиться лише на сторінках із шорткодом.
   Стилі з глобальних токенів: радіус, primary-рамка, шрифти S Titles / Body. */

.elm-faq {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.elm-faq__item {
	background: var(--elm-light, #fff);
	border: 1px solid color-mix(in srgb, var(--elm-primary, #1B2A4A) 18%, transparent);
	border-radius: var(--elm-radius, 12px);
	transition: border-color .25s ease;
}
.elm-faq__item.is-open {
	border-color: var(--elm-primary, #1B2A4A);
}
/* Подвійний клас у селекторі — навмисно: питання це <button>, і глобальні
   стилі кнопок Elementor Kit (.elementor-kit-X button — фон primary тощо)
   мають вищу специфічність за одинарний клас. Тут скидаємо ВСЕ кнопкове:
   фон прозорий, без тіней/рамок, текст — як звичайний заголовок. */
.elm-faq .elm-faq__question,
.elm-faq .elm-faq__question:hover,
.elm-faq .elm-faq__question:focus,
.elm-faq .elm-faq__question:active {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: 24px 28px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	background-color: transparent;
	box-shadow: none;
	outline: none;
	min-height: 0;
	cursor: pointer;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
	color: var(--e-global-color-primary, var(--elm-primary));
	font-family: var(--e-global-typography-elms-font-family, var(--elm-font-subheading));
	font-size: var(--e-global-typography-elms-font-size, 20px);
	font-weight: var(--e-global-typography-elms-font-weight, 500);
	line-height: var(--e-global-typography-elms-line-height, 1.3);
	transition: none;
}
.elm-faq .elm-faq__question:focus-visible {
	outline: 2px solid var(--elm-accent);
	outline-offset: -2px;
}
.elm-faq__icon {
	flex: none;
	line-height: 0;
	color: var(--e-global-color-primary, var(--elm-primary));
	transition: transform .3s ease;
}
.elm-faq__icon svg { width: 16px; height: 16px; display: block; }
.elm-faq__item.is-open .elm-faq__icon { transform: rotate(45deg); }

/* Плавне розгортання без фіксованих висот */
.elm-faq__answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .3s ease;
}
.elm-faq__item.is-open .elm-faq__answer { grid-template-rows: 1fr; }
.elm-faq__answer-inner {
	overflow: hidden;
	padding: 0 28px;
	color: var(--e-global-color-secondary, var(--elm-muted));
	font-family: var(--e-global-typography-elmbody-font-family, var(--elm-font-body));
	font-size: var(--e-global-typography-elmbody-font-size, 16px);
	line-height: var(--e-global-typography-elmbody-line-height, 1.6);
}
.elm-faq__item.is-open .elm-faq__answer-inner { padding-bottom: 24px; }

@media (max-width: 767px) {
	.elm-faq__question { padding: 18px 20px; }
	.elm-faq__answer-inner { padding: 0 20px; }
	.elm-faq__item.is-open .elm-faq__answer-inner { padding-bottom: 18px; }
}
