/* ==================================================
   Sidify FAQ Page Styles
   Extracted from faq-jojo模板(2).html
================================================== */
/* ==================================================
   1. Product Secondary Navigation, FAQ Hero & Accordion
================================================== */
/* Product sub-navigation bar: same sticky/platform-toggle behavior as
     the online-help page's #sub-nav-bar (figma-content.css), scoped to
     .faq-page instead of .online-help-page so the FAQ page gets the
     working nav without pulling in the online-help two-column/sidebar layout. */
  .faq-page #sub-nav-bar {
    display: block !important;
    position: sticky !important;
    top: var(--oh-site-header-height, 0px) !important;
    z-index: 11;
    padding: 14px 0 !important;
    background: #fff;
  }

  .faq-page #sub-nav-bar .btn-groups {
    display: none;
  }

  .faq-page #sub-nav-bar .btn-groups.show {
    display: block;
    margin: 0;
  }

  .faq-page #sub-nav-bar .sub-nav-mobile.d-block {
    display: block !important;
  }

  .faq-page #sub-nav-bar .sub-nav-logo a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    line-height: 34px;
  }

  .faq-page #sub-nav-bar .sub-nav-logo img {
    display: inline-block !important;
    width: auto !important;
    height: 34px !important;
    margin: 0 !important;
  }

  /* FAQ only: full-width single column, centered and isolated from theme grid rules */
  #faq-sec {
    box-sizing: border-box;
    width: 100%;
    padding: 72px 24px 82px;
    background: linear-gradient(180deg, #f5fffa 0%, #ffffff 34%);
  }

  #faq-sec *,
  #faq-sec *::before,
  #faq-sec *::after {
    box-sizing: border-box;
  }

  #faq-sec .faq-single-shell {
    width: 100% !important;
    max-width: 1420px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  #faq-sec .faq-single-list {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    column-count: 1 !important;
    counter-reset: faq-number;
  }

  #faq-sec .faq-single-card {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 26px !important;
    padding: 0 !important;
    border: 1px solid #dfe6ed;
    border-radius: 13px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(18, 36, 55, 0.025);
    counter-increment: faq-number;
  }

  #faq-sec .faq-single-card:last-child {
    margin-bottom: 0 !important;
  }

  #faq-sec .faq-single-header {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
  }

  #faq-sec .faq-single-button {
    appearance: none;
    position: relative;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 78px;
    margin: 0 !important;
    padding: 20px 72px 20px 32px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #111827 !important;
    font-family: inherit;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    cursor: pointer;
    box-shadow: none !important;
  }

  #faq-sec .faq-single-button::before {
    content: counter(faq-number) ".";
    flex: 0 0 auto;
    margin-right: 8px;
    color: inherit;
    font: inherit;
  }

  #faq-sec .faq-single-button::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    color: #111827;
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
  }

  #faq-sec .faq-single-button:not(.collapsed) {
    background: linear-gradient(90deg, #08c97b 0%, #00bf74 100%) !important;
    color: #ffffff !important;
  }

  #faq-sec .faq-single-button:not(.collapsed)::after {
    content: "−";
    color: #ffffff;
  }

  #faq-sec .faq-single-collapse {
    width: 100%;
    border-top: 1px solid #edf1f5;
  }

  #faq-sec .faq-single-body {
    width: 100%;
    padding: 25px 32px 28px;
    background: #ffffff;
  }

  #faq-sec .faq-single-body p,
  #faq-sec .faq-single-body .faq-text {
    margin: 0 !important;
    color: #626c7a !important;
    font-family: inherit;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.9 !important;
    text-align: left !important;
  }



  /* FAQ page title area */
  .faq-page-hero {
    width: 100%;
    padding: 74px 24px 82px;
    background:
      radial-gradient(circle at 50% 112%, rgba(0, 200, 120, 0.14) 0%, rgba(0, 200, 120, 0) 56%),
      linear-gradient(180deg, #ffffff 0%, #f4fff8 34%, #e3f8eb 100%);
  }

  .faq-page-hero-inner {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    text-align: center;
  }

  .faq-page-hero h1 {
    margin: 0 0 18px;
    color: #10183d;
    font-size: clamp(36px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.15;
  }

  .faq-page-hero p {
    max-width: 860px;
    margin: 0 auto;
    color: #6c7587;
    font-size: clamp(17px, 1.6vw, 22px);
    line-height: 1.65;
  }

  @media (max-width: 767px) {
    .faq-page-hero {
      padding: 50px 18px 56px;
    }

    .faq-page-hero h1 {
      margin-bottom: 14px;
      font-size: 34px;
    }

    .faq-page-hero p {
      font-size: 16px;
      line-height: 1.6;
    }

    #faq-sec {
      padding: 44px 15px 54px;
    }

    #faq-sec .faq-single-card {
      margin-bottom: 18px !important;
      border-radius: 11px;
    }

    #faq-sec .faq-single-button {
      min-height: 70px;
      padding: 17px 54px 17px 18px !important;
      font-size: 16px !important;
    }

    #faq-sec .faq-single-button::before {
      margin-right: 6px;
    }

    #faq-sec .faq-single-button::after {
      right: 18px;
      font-size: 28px;
    }

    #faq-sec .faq-single-body {
      padding: 19px 18px 22px;
    }

    #faq-sec .faq-single-body p,
    #faq-sec .faq-single-body .faq-text {
      font-size: 15px !important;
      line-height: 1.75 !important;
    }
  }

/* ==================================================
   2. Still Need Help
================================================== */
/* Self-contained Still Need Help block: does not depend on /css-new/Support.css */
.sidify-support-v2 {
  --contact-green: #18c768;
  --contact-green-dark: #07936f;
  width: 100%;
  padding: 0 24px 58px;
  box-sizing: border-box;
}
.sidify-support-v2 *,
.sidify-support-v2 *::before,
.sidify-support-v2 *::after { box-sizing: border-box; }
.sidify-support-v2 .support-shell {
  width: 100%;
  max-width: 1420px;
  margin: 0 auto;
  padding: 0;
}
.sidify-support-v2 .contact-card {
  position: relative;
  overflow: hidden;
  display: grid !important;
  grid-template-columns: minmax(420px, 1.02fr) minmax(520px, 1.18fr) !important;
  gap: 42px !important;
  align-items: center !important;
  width: 100%;
  min-height: 520px;
  padding: 46px 58px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 36px !important;
  background: linear-gradient(110deg, #82df4d 0%, #22c56d 42%, #07936f 100%) !important;
  box-shadow: 0 24px 54px rgba(8,117,81,.16) !important;
}
.sidify-support-v2 .contact-card::before,
.sidify-support-v2 .contact-card::after {
  content: "";
  position: absolute;
  opacity: .18;
  background-image: radial-gradient(rgba(255,255,255,.95) 2px, transparent 2px);
  background-size: 24px 24px;
  pointer-events: none;
}
.sidify-support-v2 .contact-card::before { left: 40px; top: 34px; width: 110px; height: 130px; }
.sidify-support-v2 .contact-card::after { right: 60px; bottom: 42px; width: 150px; height: 90px; }
.sidify-support-v2 .contact-visual {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sidify-support-v2 .contact-visual::before,
.sidify-support-v2 .contact-visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.25);
}
.sidify-support-v2 .contact-visual::before { width: 430px; height: 430px; }
.sidify-support-v2 .contact-visual::after { width: 320px; height: 320px; border-color: rgba(255,255,255,.16); }
.sidify-support-v2 .contact-platform {
  position: absolute;
  bottom: 34px;
  width: 350px;
  height: 66px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.12));
  box-shadow: inset 0 2px 8px rgba(255,255,255,.2), 0 10px 28px rgba(23,131,77,.28);
}
.sidify-support-v2 .contact-icon {
  position: relative;
  z-index: 2;
  width: 236px;
  height: 236px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 35% 30%, #fff 0%, #edf9ef 72%, #e0f7e6 100%);
  color: var(--contact-green);
  font-size: 116px;
  box-shadow: 0 0 0 18px rgba(255,255,255,.40), 0 0 0 42px rgba(255,255,255,.14), 0 24px 54px rgba(10,95,59,.20);
}
.sidify-support-v2 .contact-float {
  position: absolute;
  z-index: 3;
  width: 76px;
  height: 76px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--contact-green);
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.38));
  box-shadow: inset 0 2px 2px rgba(255,255,255,.4), 0 14px 28px rgba(12,108,63,.16);
  font-size: 31px;
}
.sidify-support-v2 .float-chat { left: 50px; top: 68px; }
.sidify-support-v2 .float-music { right: 52px; top: 88px; }
.sidify-support-v2 .float-note { left: 18px; bottom: 104px; }
.sidify-support-v2 .float-shield { right: 38px; bottom: 90px; }
.sidify-support-v2 .contact-spark {
  position: absolute;
  z-index: 3;
  color: rgba(255,255,255,.96);
  font-size: 28px;
  line-height: 1;
}
.sidify-support-v2 .spark-a { left: 58px; top: 170px; }
.sidify-support-v2 .spark-b { right: 24px; top: 230px; font-size: 36px; }
.sidify-support-v2 .contact-content {
  position: relative;
  z-index: 2;
  color: #fff;
}
.sidify-support-v2 .contact-content h2 {
  margin: 0 0 14px !important;
  color: #fff !important;
  font-size: clamp(42px, 3.2vw, 58px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
}
.sidify-support-v2 .contact-content p {
  margin: 0 0 24px !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
}
.sidify-support-v2 .contact-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
}
.sidify-support-v2 .contact-badge {
  min-height: 50px;
  padding: 0 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.10);
  font-size: 16px;
  font-weight: 700;
}
.sidify-support-v2 .contact-badge i {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--contact-green) !important;
  background: #fff;
  font-size: 14px;
}
.sidify-support-v2 .contact-cta { width: 100%; text-align: left; }
.sidify-support-v2 .contact-btn {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) 46px;
  align-items: center;
  column-gap: 20px;
  width: 100%;
  max-width: 680px;
  min-height: 84px;
  padding: 0 34px;
  border-radius: 26px;
  background: #fff;
  color: var(--contact-green) !important;
  text-decoration: none !important;
  font-size: 24px;
  font-weight: 800;
  box-shadow: 0 18px 40px rgba(8,83,57,.18);
}
.sidify-support-v2 .contact-btn-title { white-space: nowrap; }
.sidify-support-v2 .contact-btn-email {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 15px;
  border-radius: 999px;
  background: #eefaf2;
  color: #667085;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}
.sidify-support-v2 .contact-btn-email i { color: var(--contact-green); }
.sidify-support-v2 .contact-btn-arrow {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--contact-green);
  color: #fff;
}
.sidify-support-v2 .contact-meta {
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.90);
  font-size: 16px;
}
.sidify-support-v2 .contact-meta strong { color: #fff; }
.sidify-support-v2 .contact-meta i {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,.48);
}
@media (max-width: 1199px) {
  .sidify-support-v2 .contact-card {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .sidify-support-v2 .contact-visual { min-height: 350px; }
}
@media (max-width: 767px) {
  .sidify-support-v2 { padding: 0 14px 36px; }
  .sidify-support-v2 .contact-card {
    min-height: 0;
    padding: 28px 20px !important;
    border-radius: 24px !important;
  }
  .sidify-support-v2 .contact-visual { min-height: 250px; }
  .sidify-support-v2 .contact-visual::before { width: 250px; height: 250px; }
  .sidify-support-v2 .contact-visual::after { width: 190px; height: 190px; }
  .sidify-support-v2 .contact-platform { width: 210px; height: 42px; bottom: 24px; }
  .sidify-support-v2 .contact-icon { width: 150px; height: 150px; font-size: 76px; }
  .sidify-support-v2 .contact-float { width: 54px; height: 54px; border-radius: 16px; font-size: 22px; }
  .sidify-support-v2 .float-chat { left: 24px; top: 36px; }
  .sidify-support-v2 .float-music { right: 24px; top: 48px; }
  .sidify-support-v2 .float-note { left: 8px; bottom: 76px; }
  .sidify-support-v2 .float-shield { right: 10px; bottom: 70px; }
  .sidify-support-v2 .contact-content h2 { font-size: 36px !important; }
  .sidify-support-v2 .contact-content p { font-size: 16px !important; }
  .sidify-support-v2 .contact-badge { width: 100%; justify-content: center; font-size: 15px; }
  .sidify-support-v2 .contact-btn {
    grid-template-columns: 1fr 40px;
    min-height: 68px;
    padding: 0 22px;
    font-size: 20px;
  }
  .sidify-support-v2 .contact-btn-email { display: none; }
  .sidify-support-v2 .contact-btn-arrow { width: 40px; height: 40px; }
  .sidify-support-v2 .contact-meta { font-size: 14px; }
}

/* ==================================================
   3. FAQ Answer Content
================================================== */
#faq-sec .faq-single-body p + p { margin-top: 10px !important; }
#faq-sec .faq-single-body a { color: #00b873 !important; text-decoration: underline; }
#faq-sec .faq-single-body .title-green { color: #00b873; font-weight: 700; }
#faq-sec .faq-answer-image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 22px auto 0;
  border-radius: 10px;
}
#faq-sec .faq-inline-icon {
  display: inline-block;
  width: auto;
  max-width: 34px;
  max-height: 26px;
  height: auto;
  margin: 0 4px;
  vertical-align: middle;
  border-radius: 3px;
}
#faq-sec .faq-answer-list {
  margin: 16px 0 0;
  padding-left: 24px;
  color: #626c7a;
  font-size: 16px;
  line-height: 1.8;
}
#faq-sec .faq-answer-list li + li { margin-top: 8px; }
#faq-sec .faq-error-item {
  padding: 18px 0;
  border-bottom: 1px solid #edf1f5;
}
#faq-sec .faq-error-item:first-child { padding-top: 0; }
#faq-sec .faq-error-item:last-child { padding-bottom: 0; border-bottom: 0; }
#faq-sec .faq-error-item p:first-child { color: #111827 !important; font-weight: 700 !important; }
@media (max-width: 767px) {
  #faq-sec .faq-answer-list { font-size: 15px; padding-left: 20px; }
  #faq-sec .faq-error-item { padding: 15px 0; }
}

/* ==================================================
   4. Small Page Utilities
================================================== */
.faq-page .catalog-title {
  margin-bottom: 5px;
}

.faq-page .support-email {
  color: #84c754;
}

.faq-page .dropdown-menu-compact {
  padding: 5px 10px;
}
