.yj-acf-faq {
 --faq-accent: #ff5b08;
 --faq-icon-gap: 24px;
 --faq-duration: 360ms;
 --faq-easing: cubic-bezier(.22, 1, .36, 1);
 --faq-number-size: 24px;
 --faq-number-open-size: 60px;
 display: grid;
 font-family: inherit;
 color: #111;
}
.yj-acf-faq, .yj-acf-faq * { box-sizing: border-box; }
.yj-acf-faq .yj-acf-faq__item {
 position: relative;
 isolation: isolate;
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 margin: 0;
 padding: 16px 24px;
 background: transparent;
 cursor: pointer;
 transition: border-color var(--faq-duration), color var(--faq-duration), padding var(--faq-duration) var(--faq-easing);
}
/* The gradient fades as a layer and covers the border in the open state. */
.yj-acf-faq__item::before {
 content: '';
 position: absolute;
 inset: -1px;
 z-index: -1;
 border-radius: inherit;
 background: linear-gradient(180deg, #ffa600 0%, #ff8700 44%, #d93b39 100%);
 opacity: 0;
 pointer-events: none;
 transition: opacity var(--faq-duration) ease;
}
.yj-acf-faq__content { min-width: 0; }
.yj-acf-faq .yj-acf-faq__summary {
 display: grid;
 grid-template-columns: minmax(0, 1fr) 24px;
 gap: var(--faq-icon-gap);
 align-items: center;
 width: 100%;
 min-height: 32px;
 padding: 0;
 margin: 0;
 border: 0;
 border-radius: 0;
 background: transparent;
 box-shadow: none;
 color: inherit;
 font: inherit;
 text-transform: none;
 letter-spacing: inherit;
 cursor: pointer;
 appearance: none;
}
.yj-acf-faq__summary:focus-visible { outline: 3px solid #1479d0; outline-offset: 5px; border-radius: 3px; }
.yj-acf-faq__number {
 display: block;
 min-width: 2ch;
 color: var(--faq-accent);
 font-size: var(--faq-number-size);
 font-variant-numeric: tabular-nums;
 transition: font-size var(--faq-duration) var(--faq-easing), color var(--faq-duration);
}
.yj-acf-faq__question { overflow-wrap: anywhere; }
.yj-acf-faq__icon {
 display: block;
 width: 19px;
 height: 19px;
 border-right: 2px solid currentColor;
 border-bottom: 2px solid currentColor;
 transform: translateY(-5px) rotate(45deg);
 justify-self: center;
 transition: transform var(--faq-duration) var(--faq-easing);
}
.yj-acf-faq .yj-acf-faq__item.is-open { color: #fff; border-color: transparent; padding-block: 23px; }
.yj-acf-faq__item.is-open::before { opacity: 1; }
.yj-acf-faq__item.is-open .yj-acf-faq__number { color: inherit; font-size: var(--faq-number-open-size); -webkit-text-fill-color: unset; }
.yj-acf-faq__item.is-open .yj-acf-faq__question { font-weight: 700; }
.yj-acf-faq__item.is-open .yj-acf-faq__icon { transform: translateY(5px) rotate(225deg); }
.yj-acf-faq .yj-acf-faq__answer {
 display: grid;
 grid-template-rows: 0fr;
 opacity: 0;
 visibility: hidden;
 overflow-wrap: anywhere;
 cursor: auto;
 transition: grid-template-rows var(--faq-duration) var(--faq-easing), opacity var(--faq-duration), visibility 0s var(--faq-duration);
}
.yj-acf-faq__answer-inner { min-height: 0; overflow: hidden; }
.yj-acf-faq__answer-body { padding-top: 8px; padding-inline-end: 48px; }
.yj-acf-faq__item.is-open .yj-acf-faq__answer {
 grid-template-rows: 1fr;
 opacity: 1;
 visibility: visible;
 transition-delay: 0s;
}
.yj-acf-faq__answer-body > :first-child { margin-top: 0; }
.yj-acf-faq__answer-body > :last-child { margin-bottom: 0; }
.yj-acf-faq__answer a { color: inherit; text-decoration: underline; }
.yj-acf-faq__answer img { max-width: 100%; height: auto; }
@media (max-width: 600px) {
 .yj-acf-faq { --faq-icon-gap: 12px; --faq-number-size: 20px; --faq-number-open-size: 36px; }
 .yj-acf-faq .yj-acf-faq__item { padding: 16px; }
 .yj-acf-faq .yj-acf-faq__summary { grid-template-columns: minmax(0, 1fr) 20px; }
 .yj-acf-faq__answer-body { padding-inline-end: 0; }
 .yj-acf-faq__icon { width: 15px; height: 15px; }
}
@media (prefers-reduced-motion: reduce) {
 .yj-acf-faq { --faq-duration: 0ms; }
}
