/* Shared FAQ: a flat, full-width list with diagonal disclosure arrows. */
#geo-product-faq.geo-faq-section {
  --geo-faq-txt-300: #24252b;
  --geo-faq-txt-600: #929292;
  --geo-faq-border: #dedede;

  padding: 0 !important;
  margin: 0;
  border: 0;
  background: #fafafa;
}

#geo-product-faq.geo-faq-section .geo-faq-shell {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: clamp(2.5rem, 4vw, 4rem) clamp(1.25rem, 6.5vw, 8rem) clamp(3rem, 6vw, 6rem);
}

#geo-product-faq .geo-faq-card {
  width: 100%;
  max-width: 90rem;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#geo-product-faq .geo-faq-wrap {
  width: 100%;
  max-width: none !important;
  margin: 0;
  padding: 0;
}

#geo-product-faq .geo-faq-header {
  text-align: center;
  margin-bottom: clamp(2rem, 3.5vw, 3.5rem);
}

#geo-product-faq .geo-faq-badge {
  display: none;
}

#geo-product-faq .geo-faq-header .geo-faq-title {
  margin: 0 !important;
  font-size: clamp(1.75rem, 2.4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
  color: var(--geo-faq-txt-300);
}

#geo-product-faq .geo-faq-accordion-card {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#geo-product-faq .geo-faq-list {
  margin: 0;
}

#geo-product-faq .geo-faq-item {
  border-bottom: 1px solid var(--geo-faq-border);
  border-radius: 0;
}

#geo-product-faq .geo-faq-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: clamp(1.25rem, 2vw, 1.75rem) 0;
  cursor: pointer;
  list-style: none;
  font-family: inherit;
}

#geo-product-faq .geo-faq-summary::-webkit-details-marker {
  display: none;
}

#geo-product-faq .geo-faq-summary::marker {
  content: "";
}

#geo-product-faq .geo-faq-q {
  flex: 1;
  min-width: 0;
  text-align: left;
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  font-weight: 400;
  line-height: 1.5;
  color: var(--geo-faq-txt-300);
}

#geo-product-faq .geo-faq-acc-btn {
  flex: 0 0 1.5rem;
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  color: #505156;
  transition: transform .32s cubic-bezier(.2, .65, .3, 1);
}

#geo-product-faq .geo-faq-acc-overlay-light,
#geo-product-faq .geo-faq-acc-overlay-dark {
  display: none;
}

#geo-product-faq .geo-faq-acc-btn::before,
#geo-product-faq .geo-faq-acc-btn::after {
  content: "";
  position: absolute;
}

#geo-product-faq .geo-faq-acc-btn::before {
  top: 0.3125rem;
  right: 0.3125rem;
  width: 0.75rem;
  height: 0.75rem;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
}

#geo-product-faq .geo-faq-acc-btn::after {
  top: 0.6875rem;
  left: 0.1875rem;
  width: 1.125rem;
  height: 1.5px;
  background: currentColor;
  transform: rotate(-45deg);
}

#geo-product-faq .geo-faq-item[open] .geo-faq-acc-btn {
  transform: rotate(90deg);
}

#geo-product-faq .geo-faq-item[open] .geo-faq-summary {
  padding-bottom: 0.65rem;
}

/* Enhanced disclosures keep the summary height stable while the answer moves. */
#geo-product-faq .geo-faq-item[data-faq-motion] {
  box-sizing: border-box;
}

#geo-product-faq .geo-faq-item[data-faq-motion] .geo-faq-summary {
  padding-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

#geo-product-faq .geo-faq-item[data-faq-motion][data-faq-state="closed"] .geo-faq-acc-btn {
  transform: rotate(0deg);
}

#geo-product-faq .geo-faq-item[data-faq-motion][data-faq-state="open"] .geo-faq-acc-btn {
  transform: rotate(90deg);
}

#geo-product-faq .geo-faq-reveal-pending {
  opacity: 0;
}

#geo-product-faq .geo-faq-answer {
  padding: 0 0 clamp(1.25rem, 2vw, 1.75rem);
}

#geo-product-faq .geo-faq-a {
  margin: 0 !important;
  max-width: none;
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  font-weight: 400;
  line-height: 1.65;
  color: var(--geo-faq-txt-600);
  font-family: inherit;
  overflow-wrap: anywhere;
}

#geo-product-faq .geo-faq-summary:focus-visible {
  outline: 2px solid #3567ff;
  outline-offset: 0.25rem;
}

@media (prefers-reduced-motion: reduce) {
  #geo-product-faq .geo-faq-reveal-pending {
    opacity: 1;
  }
  #geo-product-faq .geo-faq-acc-btn {
    transition: none;
  }
}

@media (max-width: 767px) {
  #geo-product-faq .geo-faq-summary {
    gap: 1rem;
  }

  #geo-product-faq .geo-faq-a {
    font-size: 0.9375rem;
    line-height: 1.75;
  }
}
