.junj-faq__heading { margin: 0 0 28px; }
.junj-faq__list { border-top: 1px solid rgba(35, 31, 28, .18); }
.junj-faq__item { border-bottom: 1px solid rgba(35, 31, 28, .18); }
.junj-faq__question { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; padding: 22px 0; color: inherit; background: transparent; border: 0; font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.junj-faq__symbol { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 20px; line-height: 1; }
.junj-faq__answer { padding: 0 58px 24px 0; color: #666; line-height: 1.75; }
.junj-faq__answer > :first-child { margin-top: 0; }
.junj-faq__answer > :last-child { margin-bottom: 0; }
.junj-faq__question:focus-visible { outline: 2px solid #ee7700; outline-offset: 4px; }

/* Theme adapters preserve the approved page DOM/CSS contract. The shared
 * component owns data and behavior; each placement keeps its original visual
 * dimensions instead of inheriting the neutral archive presentation. */
.faq-panel .junj-faq--home .junj-faq__heading,
.shared-contact__faq .junj-faq--home .junj-faq__heading {
  margin: 0;
  color: #fff;
  font-size: 48px;
  font-weight: 700;
  line-height: 73px;
}
.junj-faq--home .junj-faq__list { margin-top: 75px; border-color: #fff; }
.junj-faq--home .junj-faq__item { border-color: #fff; }
.junj-faq--home .junj-faq__question {
  padding: 18px 0 28px;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  transition: color 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}
.junj-faq--home .junj-faq__item.is-open .junj-faq__question { padding-top: 29px; padding-bottom: 8px; }
.junj-faq--home .junj-faq__symbol {
  display: inline;
  width: auto;
  height: auto;
  flex-basis: auto;
  border: 0;
  border-radius: 0;
  color: #fff;
  font-size: 21px;
  transition: color 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.junj-faq--home .junj-faq__answer {
  padding: 0 42px 27px 0;
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  line-height: 19.2px;
}

.junj-faq--home .junj-faq__answer :where(p, li, a, strong, em, span) {
  color: inherit;
}
.junj-faq--home .junj-faq__item.is-open .junj-faq__answer {
  padding-bottom: 36px;
  animation: junjFaqHomeAnswerIn 320ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.junj-faq--home .junj-faq__question:focus-visible {
  color: #ff9e23;
  outline: none;
  transform: translateX(3px);
}
.junj-faq--home .junj-faq__question:focus-visible .junj-faq__symbol {
  color: #ff9e23;
  transform: translateX(-3px);
}
.junj-faq--home .junj-faq__question:active {
  transform: scale(0.98);
}

@media (hover: hover) and (pointer: fine) {
  .junj-faq--home .junj-faq__question:hover {
    color: #ff9e23;
    transform: translateX(3px);
  }
  .junj-faq--home .junj-faq__question:hover .junj-faq__symbol {
    color: #ff9e23;
    transform: translateX(-3px);
  }
}

@keyframes junjFaqHomeAnswerIn {
  from {
    opacity: 0;
    transform: translateY(-3px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.junj-faq--shared-contact .junj-faq__heading { margin: 0; }
.junj-faq--shared-contact .junj-faq__list { border-top: 0; }
.junj-faq--shared-contact .junj-faq__symbol { display: inline; width: auto; height: auto; flex-basis: auto; border: 0; border-radius: 0; }

.junj-faq--product-center .junj-faq__heading,
.junj-faq--product-category .junj-faq__heading { display: none; }
.junj-faq--product-center .junj-faq__list,
.junj-faq--product-category .junj-faq__list { border-top: 0; }
.junj-faq--product-center .junj-faq__symbol,
.junj-faq--product-category .junj-faq__symbol {
  display: grid;
  width: auto;
  height: auto;
  flex-basis: auto;
  border: 0;
  border-radius: 0;
}
.junj-faq--product-center .pc-faq__answer,
.junj-faq--product-category .pc-faq__answer { padding: 0; color: inherit; line-height: inherit; }
@media (max-width: 852px) {
  .faq-panel .junj-faq--home .junj-faq__heading,
  .shared-contact__faq .junj-faq--home .junj-faq__heading { font-size: 20px; line-height: 1.3; }
}
@media (prefers-reduced-motion: reduce) { .junj-faq *, .junj-faq *::before, .junj-faq *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
