/**
 * FAQ section — pixel match to https://olostep.webflow.io/
 * (source: olostep.webflow.shared.fdbdf6212.css, May 2026).
 * Scoped to #faq so local olostep.webflow.css (older grid rules) does not win.
 */

#faq.section_libraries-faq.front {
  font-family: Arial, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
    Cantarell, "Helvetica Neue", sans-serif;
}

/* --- Section + container (Webflow breakpoints) --- */
@media screen and (min-width: 1280px) {
  #faq.section_libraries-faq.front {
    margin-top: 0;
    padding: 0 20px 60px;
  }

  #faq.section_libraries-faq.front .container-large-5 {
    padding-bottom: 40px;
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 1920px) {
  #faq.section_libraries-faq.front {
    padding: 0 0 100px;
  }

  #faq.section_libraries-faq.front .container-large-5 {
    padding-bottom: 60px;
  }
}

@media screen and (min-width: 992px) {
  #faq.section_libraries-faq.front .container-large-5 {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    min-width: 1020px;
    max-width: 1280px;
  }
}

@media screen and (max-width: 991px) {
  #faq.section_libraries-faq.front .container-large-5 {
    min-width: 0;
    max-width: 100%;
  }
}

/* Full-width children inside centered column (Webflow container-large-5) */
#faq.section_libraries-faq.front .container-large-5 {
  align-items: stretch;
}

#faq.section_libraries-faq.front .text-block-442.left {
  width: 100%;
}

#faq.section_libraries-faq.front h2.faq-sub {
  margin-top: 0;
  margin-bottom: 0;
}

/* --- Category + row (exact Webflow .faq-sub.left-sub + .flex-block-30) --- */
#faq.section_libraries-faq.front .faq-sub {
  text-align: center;
  font-size: 34px;
}

#faq.section_libraries-faq.front .flex-block-30 > .faq-sub.left-sub {
  text-align: left;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: 30%;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 400;
  display: block;
  flex-shrink: 0;
}

#faq.section_libraries-faq.front .flex-block-30 {
  grid-column-gap: 16px;
  grid-row-gap: 30px;
  flex-flow: row;
  width: 100%;
  margin-top: 0;
}

/* First FAQ subsection under the main title */
#faq.section_libraries-faq.front .container-large-5 > h2.text-block-442.left + .flex-block-30 {
  margin-top: 20px;
}

/* Extra space between FAQ categories (matches React NewFaq grouped layout) */
#faq.section_libraries-faq.front .container-large-5 > .flex-block-30 + .flex-block-30 {
  margin-top: 3.5rem;
}

#faq.section_libraries-faq.front .flex-block-30 .libraries-faq_component {
  flex: 1;
  min-width: 0;
  margin-top: 0;
}

/**
 * Webflow: .libraries-faq_layout is display:flex + flex-flow:column here
 * (local olostep.webflow.css still uses a 2-col grid — wrong for this FAQ).
 */
#faq.section_libraries-faq.front .flex-block-30 .libraries-faq_layout {
  display: flex;
  flex-flow: column;
  align-items: start;
  height: auto;
  background-color: #fff;
  grid-column-gap: 0;
  grid-row-gap: 0;
  grid-template-columns: unset;
  grid-template-rows: unset;
  grid-auto-columns: unset;
}

/* Webflow .libraries-faq_accordion._1st */
#faq.section_libraries-faq.front .libraries-faq_accordion._1st {
  border-top-width: 0;
  margin-top: -1.25rem;
}

/* Accordion open state — static HTML uses inline height:0; Webflow IX2 was not expanding all rows */
#faq.section_libraries-faq.front .libraries-faq_accordion.is-open .libraries-faq_answer {
  height: auto !important;
}

#faq.section_libraries-faq.front .libraries-faq_icon {
  transition: transform 0.2s ease;
}

#faq.section_libraries-faq.front .libraries-faq_accordion.is-open .libraries-faq_icon {
  transform: rotate(45deg);
}

#faq.section_libraries-faq.front .libraries-faq_question:hover {
  background-color: #f5f6f8;
}

@media screen and (max-width: 767px) {
  #faq.section_libraries-faq.front .text-block-442.left {
    font-size: 30px;
  }

  #faq.section_libraries-faq.front .libraries-faq_question {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  #faq.section_libraries-faq.front .libraries-faq_list.top {
    border-bottom-style: none;
  }

  /* Pricing row uses .libraries-faq_list without .top — same border treatment as Webflow */
  #faq.section_libraries-faq.front .libraries-faq_list {
    border-bottom-style: none;
  }

  #faq.section_libraries-faq.front .flex-block-30 {
    flex-flow: column;
  }

  #faq.section_libraries-faq.front .container-large-5 > .flex-block-30 + .flex-block-30 {
    margin-top: 2.5rem;
  }

  #faq.section_libraries-faq.front .flex-block-30 > .faq-sub.left-sub {
    width: 100%;
  }
}
