/* ===========================================================================
   Faq — Patimo
   Editorial FAQ: heading + optional rich-text intro, then a slot list of
   categorized accordion items (FaqItem) and free rich-text blocks (FaqRichText).
   =========================================================================== */

.cc_pxqp5f8i_noiLLpWueR .faq {
  --faq-bg: var(--color-surface);
  --faq-text: var(--color-text);
  --faq-accent: var(--color-primary);
  width: 100%;
  background: var(--faq-bg);
  color: var(--faq-text);
}

.cc_pxqp5f8i_noiLLpWueR .faq__inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: var(--section-y) var(--container-pad);
}

/* Desktop: heading column left (sticky), accordion right */
@media (min-width: 1024px) {
  .cc_pxqp5f8i_noiLLpWueR .faq__inner {
    display: grid;
    grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
    gap: 80px;
    align-items: start;
  }

  .cc_pxqp5f8i_noiLLpWueR .faq__head {
    position: sticky;
    top: calc(var(--header-height, 0px) + var(--space-lg));
    margin: 0;
  }
}

/* ===== Head ===== */
.cc_pxqp5f8i_noiLLpWueR .faq__head {
  margin: 0 0 var(--space-xl);
}

.cc_pxqp5f8i_noiLLpWueR .faq__eyebrow {
  display: block;
  margin-bottom: 20px;
  color: var(--color-accent-text);
}

.cc_pxqp5f8i_noiLLpWueR .faq__eyebrow:not([data-ts]) {
  font-family: var(--font-body);
  font-size: var(--text-label);
  font-weight: 600;
  letter-spacing: var(--ls-none);
}

.cc_pxqp5f8i_noiLLpWueR .faq__title {
  margin: 0;
  color: var(--faq-text);
}

.cc_pxqp5f8i_noiLLpWueR .faq__title:not([data-ts]) {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-h2);
  line-height: 1.12;
  letter-spacing: var(--ls-heading);
}

.cc_pxqp5f8i_noiLLpWueR .faq__subtitle {
  margin: 20px 0 0;
  color: var(--color-text-muted);
}

.cc_pxqp5f8i_noiLLpWueR .faq__subtitle:not([data-ts]) {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: 1.55;
  letter-spacing: var(--ls-body);
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro {
  margin-top: 20px;
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: 1.7;
  color: var(--color-text-secondary);
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro :where(p, ul, ol) {
  margin: 0 0 0.8em;
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro :where(ul, ol) {
  padding-left: 1.25em;
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro li {
  margin: 0.25em 0;
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: var(--ls-tight);
  color: var(--faq-text);
  margin: 1.2em 0 0.4em;
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro :where(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro h1 {
  font-size: var(--text-headline-lg);
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro h2 {
  font-size: var(--text-headline-md);
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro h3 {
  font-size: var(--text-body-lg);
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro :where(h4, h5, h6) {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 600;
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro strong {
  font-weight: 600;
  color: var(--faq-text);
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro :where(p, ul, ol, h1, h2, h3, h4, h5, h6):last-child {
  margin-bottom: 0;
}

.cc_pxqp5f8i_noiLLpWueR .faq__intro a {
  color: var(--faq-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ===== List ===== */
.cc_pxqp5f8i_noiLLpWueR .faq__list {
  display: block;
  min-width: 0;
  border-bottom: 1px solid var(--color-border-soft);
}

/* ===== Contact CTAs (under the intro) ===== */
.cc_pxqp5f8i_noiLLpWueR .faq__ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}

.cc_pxqp5f8i_noiLLpWueR .faq__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: 48px;
  padding: 0 24px;
  border: 1.5px solid var(--color-btn-alt-border);
  border-radius: var(--radius-btn);
  background-color: var(--color-btn-alt-bg);
  color: var(--color-btn-alt-text);
  font-family: var(--font-body);
  font-size: var(--text-button);
  font-weight: 600;
  letter-spacing: var(--ls-body);
  text-decoration: none;
  transition: background-color 200ms ease, color 200ms ease;
}

/* Soft tint on hover (same as the PDP alt button). */
.cc_pxqp5f8i_noiLLpWueR .faq__cta:hover {
  background-color: var(--color-btn-alt-hover-bg);
  color: var(--color-btn-alt-hover-text);
}

.cc_pxqp5f8i_noiLLpWueR .faq__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--faq-accent);
  font-family: var(--font-body);
  font-size: var(--text-button);
  font-weight: 600;
  letter-spacing: var(--ls-body);
  text-decoration: none;
}

.cc_pxqp5f8i_noiLLpWueR .faq__link svg {
  transition: transform 200ms ease;
}

.cc_pxqp5f8i_noiLLpWueR .faq__link:hover svg {
  transform: translateX(3px);
}

.cc_pxqp5f8i_noiLLpWueR .faq__cta:focus-visible, .cc_pxqp5f8i_noiLLpWueR .faq__link:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

/* Mobile (pen K5vLbx): title straight into the accordion */
@media (max-width: 767px) {
  .cc_pxqp5f8i_noiLLpWueR .faq__head {
    margin-bottom: var(--space-md);
  }

  .cc_pxqp5f8i_noiLLpWueR .faq__eyebrow, .cc_pxqp5f8i_noiLLpWueR .faq__subtitle, .cc_pxqp5f8i_noiLLpWueR .faq__intro, .cc_pxqp5f8i_noiLLpWueR .faq__ctas {
    display: none;
  }
}

