/* 原版 app/gozishop-card/sales-basic-faq.module.css 轉成一般 CSS：規則一字不改，只把 CSS module 的類別名稱
   換成固定名稱（.section → .sales-basic-faq、.heading → .sales-basic-faq-heading、.contact、.list、.item、.answer 同理）。 */
.sales-basic-faq {
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto;
  padding: 74px 0 96px;
}

.sales-basic-faq-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 36px;
  margin-bottom: 28px;
}

.sales-basic-faq-heading h2 {
  margin: 10px 0 12px;
  color: var(--green-900);
  font: 600 clamp(32px, 4vw, 46px)/1.2 Georgia, "Noto Serif TC", serif;
  letter-spacing: -.035em;
}

.sales-basic-faq-heading p:last-child {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
}

.sales-basic-faq-contact {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border: 1px solid var(--green-800);
  border-radius: 8px;
  color: var(--green-800);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

.sales-basic-faq-contact:hover,
.sales-basic-faq-contact:focus-visible {
  background: var(--green-800);
  color: white;
}

.sales-basic-faq-contact:focus-visible,
.sales-basic-faq-item summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--green-700) 35%, transparent);
  outline-offset: 3px;
}

.sales-basic-faq-list {
  border-top: 1px solid var(--line);
}

.sales-basic-faq-item {
  border-bottom: 1px solid var(--line);
}

.sales-basic-faq-item summary {
  min-height: 68px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 18px 4px;
  color: var(--green-900);
  cursor: pointer;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.5;
  list-style: none;
}

.sales-basic-faq-item summary::-webkit-details-marker {
  display: none;
}

.sales-basic-faq-item summary::after {
  content: "+";
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--green-200);
  border-radius: 50%;
  color: var(--green-700);
  font-size: 20px;
  font-weight: 500;
}

.sales-basic-faq-item[open] summary::after {
  content: "−";
}

.sales-basic-faq-answer {
  max-width: 850px;
  padding: 0 54px 22px 4px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.85;
}

.sales-basic-faq-answer strong {
  color: var(--green-900);
}

@media (max-width: 640px) {
  .sales-basic-faq {
    width: min(100% - 32px, 1080px);
    padding: 58px 0 76px;
  }

  .sales-basic-faq-heading {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 22px;
  }

  .sales-basic-faq-contact {
    width: 100%;
  }

  .sales-basic-faq-item summary {
    min-height: 64px;
    gap: 12px;
    font-size: 15px;
  }

  .sales-basic-faq-answer {
    padding-right: 4px;
    font-size: 14px;
  }
}
