/* Topic-based FAQ; existing question/CMS nodes remain stable. */
body.developed .faq-view-tabs {
  display: flex;
  gap: 8px;
  margin-top: 24px;
  border-bottom: 1px solid #e7d8ce;
}
body.developed .faq-view-tabs button {
  flex: 1;
  min-height: 48px;
  max-width: 200px;
  padding: 12px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent !important;
  color: #635c56 !important;
  font: inherit;
  font-size: 16px;
  font-weight: 650;
  cursor: pointer;
}
body.developed .faq-view-tabs button[aria-selected="true"] {
  border-bottom-color: #f0642b;
  color: #a63c12 !important;
  background: #fff3e9 !important;
}
body.developed .faq-view-tabs button:focus-visible {
  outline: 3px solid #f0642b;
  outline-offset: 3px;
}
body.developed .faq-notices {
  padding: 28px 24px;
  border: 1px solid #e7d8ce;
  border-radius: 10px;
  color: #28231f;
}
body.developed .faq-notices h2 {
  margin: 0 0 20px;
  font-size: 24px;
}
body.developed .faq-notices p {
  font-size: 15px;
  line-height: 1.7;
  color: #635c56;
}
body.developed .faq-notices a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #a63c12;
}
body.developed .faq-editorial [role="tabpanel"][hidden] {
  display: none !important;
}
body.developed .faq-editorial .faq-categories {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 760px) {
  body.developed .faq-editorial .faq-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
body.developed .faq-editorial {
  max-width: 1144px;
  margin: auto;
  padding: 0 24px 36px;
}
body.developed .faq-editorial .faq-page-heading {
  padding: 0;
  margin: 42px 0 30px;
}
body.developed .faq-title-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
  padding: 26px 30px;
  background: #fff7ef;
  border-radius: 12px;
  border-left: 4px solid #f0642b;
}
body.developed .faq-eyebrow {
  display: block;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #cc4a0c;
  margin-bottom: 9px;
}
body.developed .faq-page-heading h1 {
  color: #49372c;
  font-size: 32px;
  margin: 0;
  line-height: 1.4;
}
body.developed .faq-title-row > p {
  font-size: 14px;
  line-height: 1.9;
  color: #66594f;
  word-break: keep-all;
}
body.developed .faq-editorial #faq {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  display: block;
}
body.developed .faq-categories {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
body.developed .faq-categories button {
  position: relative;
  text-align: left;
  min-width: 0;
  padding: 17px 16px;
  background: #fff;
  border: 1px solid #e5d9dd;
  border-radius: 9px;
  color: #66594f;
  font: inherit;
  font-size: 15px;
  cursor: pointer;
  transition:
    background 0.15s,
    border-color 0.15s;
}
body.developed .faq-category-index {
  display: block;
  font-size: 11px;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
  color: #a87887;
}
body.developed .faq-categories small {
  float: right;
  font-size: 11px;
  line-height: 22px;
  opacity: 0.8;
}
body.developed .faq-categories button[aria-pressed="true"] {
  background: #edf5f1;
  border-color: #639b87;
  color: #315d4f;
  font-weight: 700;
}
body.developed .faq-categories button:hover {
  border-color: #f0642b;
}
body.developed .faq-results-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 24px 0 18px;
  font-size: 12px;
  color: #92737e;
}
body.developed .faq-results-meta p {
  margin: 0;
}
body.developed .faq-show-all {
  font: inherit;
  color: #66594f;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #c6a4ad;
  padding: 5px 0;
  cursor: pointer;
}
body.developed .faq-topic[hidden] {
  display: none !important;
}
body.developed .faq-topic {
  margin: 0 0 30px;
}
body.developed .faq-topic-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding: 0 4px;
}
body.developed .faq-topic-heading h2 {
  font-size: 21px;
  color: #49372c;
  margin: 0;
  line-height: 1.5;
}
body.developed .faq-topic-heading p {
  font-size: 12px;
  line-height: 1.7;
  margin: 0;
  color: #8c777e;
  word-break: keep-all;
}
body.developed .faq-question {
  border: 1px solid #eadde2;
  border-radius: 9px;
  margin: 10px 0;
  background: white;
  overflow: hidden;
}
body.developed .faq-question summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 19px 22px;
  min-height: 64px;
  list-style: none;
  cursor: pointer;
  color: #49372c;
  font-size: 15px;
  line-height: 1.6;
}
body.developed .faq-question summary::-webkit-details-marker {
  display: none;
}
body.developed .faq-q {
  font-family: Georgia, serif;
  font-size: 23px;
  line-height: 1;
  color: #cc4a0c;
  flex: 0 0 22px;
}
body.developed .faq-question-title {
  flex: 1;
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-weight: 600;
}
body.developed .faq-toggle {
  position: relative;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  color: #cc4a0c;
}
body.developed .faq-toggle:before,
body.developed .faq-toggle:after {
  content: "";
  position: absolute;
  background: currentColor;
  left: 0;
  top: 6px;
  width: 14px;
  height: 1.5px;
}
body.developed .faq-toggle:after {
  transform: rotate(90deg);
}
body.developed .faq-question[open] {
  border-color: #c193a1;
}
body.developed .faq-question[open] summary {
  background: #fff7ef;
}
body.developed .faq-question[open] .faq-toggle:after {
  transform: rotate(0);
}
body.developed .faq-answer {
  padding: 0 60px 24px;
  background: #fff7ef;
}
body.developed .faq-answer p {
  font-size: 14px;
  line-height: 1.95;
  color: #6b555e;
  margin: 0;
  max-width: 780px;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
body.developed .faq-answer a {
  display: inline-block;
  margin-top: 14px;
  font-size: 13px;
  color: #8e3c56;
  text-underline-offset: 5px;
}
body.developed .faq-editorial :is(button, summary):focus-visible {
  outline: 2px solid #f0642b;
  outline-offset: 3px;
}
@media (max-width: 760px) {
  body.developed .faq-editorial {
    padding: 0 20px 20px;
  }
  body.developed .faq-title-row {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 23px 20px;
  }
  body.developed .faq-page-heading h1 {
    font-size: 27px;
  }
  body.developed .faq-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  body.developed .faq-categories button {
    padding: 12px 10px;
    font-size: 13px;
  }
  body.developed .faq-category-index {
    margin-bottom: 6px;
  }
  body.developed .faq-topic-heading {
    display: block;
  }
  body.developed .faq-topic-heading p {
    margin-top: 4px;
  }
  body.developed .faq-question summary {
    padding: 16px 14px;
    gap: 10px;
    font-size: 14px;
  }
  body.developed .faq-answer {
    padding: 0 18px 20px 46px;
  }
  body.developed .faq-answer p {
    font-size: 13px;
  }
}
/* Neutralize inherited white text tiles inside the tinted FAQ surfaces. */
body.developed
  .faq-editorial
  :is(
    .faq-title-row > div,
    .faq-title-row p,
    .faq-title-row h1,
    .faq-eyebrow,
    .faq-categories button span,
    .faq-categories button small,
    .faq-question summary span,
    .faq-answer p,
    .faq-answer a
  ) {
  background: transparent !important;
}
body.developed .faq-editorial .faq-question[open] summary {
  border-bottom: 0 !important;
}
body.developed .faq-editorial .faq-answer {
  border-top: 0 !important;
  padding-top: 2px;
}
body.developed .faq-editorial .faq-title-row h1 {
  text-decoration: none !important;
  border: 0 !important;
}
body.faq-moved-page
  .unified-contact
  :is(.unified-contact-consult, .unified-contact-consult span) {
  background: transparent !important;
}

/* General inquiries follow the answers, separately from quote requests. */
body.faq-moved-page .faq-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 28px;
  margin: 32px 0 12px;
  border: 1px solid #eadfd5;
  border-radius: 12px;
  background: #fff7ef;
  color: #49372c;
}
body.faq-moved-page .faq-contact :is(div, h2, p, small, span) {
  background: transparent !important;
}
body.faq-moved-page .faq-contact h2 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: -0.035em;
  word-break: keep-all;
  text-wrap: balance;
}
body.faq-moved-page .faq-contact p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: #66594f;
  word-break: keep-all;
}
body.faq-moved-page .faq-contact-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  flex: 0 0 auto;
}
body.faq-moved-page .faq-contact-action a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 8px;
  background: #f0642b !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
}
body.faq-moved-page .faq-contact-action a:hover {
  background: #e8590c !important;
}
body.faq-moved-page .faq-contact-action a span {
  color: inherit !important;
}
body.faq-moved-page .faq-contact-action a:focus-visible {
  outline: 2px solid #e8590c;
  outline-offset: 4px;
}
body.faq-moved-page .faq-contact-action small {
  font-size: 12px;
  line-height: 1.6;
  color: #66594f;
  word-break: keep-all;
}
body.faq-moved-page .unified-contact {
  display: none !important;
}
@media (max-width: 760px) {
  body.faq-moved-page .faq-contact {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    padding: 22px 18px;
    margin-top: 24px;
  }
  body.faq-moved-page .faq-contact h2 {
    font-size: 20px;
  }
  body.faq-moved-page .faq-contact-action {
    align-items: stretch;
  }
  body.faq-moved-page .faq-contact-action small {
    text-align: center;
  }
}
/* Refined FAQ surfaces; category structure and copy remain unchanged. */
body.developed .faq-editorial .faq-page-heading {
  margin: 40px 0 32px;
}
body.developed .faq-title-row {
  position: relative;
  padding: 30px 32px;
  background: linear-gradient(110deg, #f8f0f3, #fdfbfc) !important;
  border: 1px solid #eee1e6;
  border-radius: 6px;
  gap: 48px;
}
body.developed .faq-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: #9b4e67 !important;
  margin-bottom: 13px;
}
body.developed .faq-eyebrow::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #f0642b;
}
body.developed .faq-page-heading h1 {
  font-size: 32px !important;
  letter-spacing: -0.045em;
  font-weight: 650;
  color: #332c27 !important;
}
body.developed .faq-title-row > p {
  font-size: 14px;
  line-height: 1.9;
  color: #796b70 !important;
  border-left: 1px solid #e7d8ce;
  padding-left: 28px;
}
body.developed .faq-categories {
  gap: 10px;
}
body.developed .faq-categories button {
  padding: 17px 19px 18px;
  background: #fff !important;
  border: 1px solid #e8e0e3 !important;
  border-radius: 5px;
  color: #73626a !important;
  box-shadow: none;
  transition:
    background 0.18s,
    border-color 0.18s;
}
body.developed .faq-categories button[aria-pressed="true"] {
  background: #fff3e9 !important;
  border-color: #f0642b !important;
  color: #a63c12 !important;
  box-shadow: inset 0 -3px #f0642b;
}
body.developed .faq-categories button:hover {
  border-color: #bd8c9d !important;
}
body.developed .faq-category-index {
  font-family: Georgia, serif;
  font-size: 13px;
  color: #ac8d99 !important;
  margin-bottom: 10px;
  font-weight: 400;
}
body.developed .faq-categories button[aria-pressed="true"] .faq-category-index {
  color: #a63c12 !important;
}
body.developed .faq-categories button small {
  font-size: 10px;
  color: #94818a !important;
  font-weight: 400;
}
body.developed .faq-results-meta {
  margin: 24px 2px;
  color: #93818a !important;
}
body.developed .faq-show-all {
  font-size: 11px;
  color: #89727d !important;
  border-bottom-color: #d7c4cc;
}
body.developed .faq-topic-heading {
  padding: 0 2px;
  margin-bottom: 18px;
}
body.developed .faq-topic-heading h2 {
  font-size: 20px;
  font-weight: 650;
  letter-spacing: -0.03em;
  color: #49372c !important;
}
body.developed .faq-topic-heading p {
  color: #94838a !important;
}
body.developed .faq-question {
  border: 1px solid #ece5e8 !important;
  border-radius: 5px;
  margin: 10px 0;
  background: #fff !important;
  transition:
    border-color 0.18s,
    box-shadow 0.18s;
}
body.developed .faq-question:hover {
  border-color: #d3b6c0 !important;
}
body.developed .faq-question summary {
  padding: 19px 22px;
  gap: 17px;
  min-height: 64px;
  color: #49372c !important;
  background: transparent !important;
  border: 0 !important;
}
body.developed .faq-question summary::after {
  display: none !important;
}
body.developed .faq-q {
  font-family: Georgia, serif;
  font-size: 20px;
  color: #a96d81 !important;
  flex-basis: 22px;
}
body.developed .faq-question-title {
  font-size: 14px;
  font-weight: 550;
  letter-spacing: -0.02em;
  color: #49372c !important;
}
body.developed .faq-toggle {
  color: #a16c7f !important;
  width: 12px;
  height: 12px;
  flex-basis: 12px;
}
body.developed .faq-toggle:before,
body.developed .faq-toggle:after {
  width: 12px;
  height: 1px;
  top: 5px;
}
body.developed .faq-question[open] {
  border-color: #d5b4c0 !important;
  box-shadow: 0 5px 18px #65434f08;
}
body.developed .faq-question[open] summary {
  background: #fff8f2 !important;
}
body.developed .faq-question[open] .faq-question-title {
  color: #a63c12 !important;
  font-weight: 650;
}
body.developed .faq-editorial .faq-answer {
  padding: 2px 62px 24px;
  background: #fff8f2 !important;
}
body.developed .faq-answer p {
  font-size: 14px;
  line-height: 1.9;
  color: #75636b !important;
  max-width: 780px;
}
body.developed .faq-answer a {
  font-size: 12px;
  color: #944762 !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
@media (max-width: 760px) {
  body.developed .faq-title-row {
    padding: 24px 22px;
    gap: 18px;
  }
  body.developed .faq-page-heading h1 {
    font-size: 27px !important;
  }
  body.developed .faq-title-row > p {
    border: 0;
    padding: 0;
    font-size: 13px;
  }
  body.developed .faq-categories {
    gap: 8px;
  }
  body.developed .faq-categories button {
    padding: 13px 11px 15px;
  }
  body.developed .faq-question summary {
    padding: 17px 15px;
    gap: 11px;
  }
  body.developed .faq-question-title {
    font-size: 14px;
  }
  body.developed .faq-editorial .faq-answer {
    padding: 2px 20px 22px 48px;
  }
  body.developed .faq-answer p {
    font-size: 13px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.developed .faq-editorial * {
    transition: none !important;
  }
}
/* 2026-10-21 사용자: 지원 FAQ 답변 문단 나눔·주황 강조·밑줄 (엑셀 원문 기준) */
body.developed .faq-answer p + p { margin-top: 12px; }
body.developed .faq-answer .faq-mark { color: #e8590c; font-style: normal; }
body.developed .faq-answer .faq-underline { text-underline-offset: 3px; }
/* 2026-10-21 사용자: PC는 FAQ 전용 상자 대신 다른 화면과 같은 공통 문의 띠를 보인다 (모바일은 기존대로) */
@media (min-width: 761px) {
  html body.faq-moved-page .unified-contact { display: grid !important; }
}
