:root{
  --faq-blue:#356df3;
  --faq-blue-dark:#2458d9;
  --faq-blue-soft:#f2f7ff;
  --faq-purple:#7140f0;
  --faq-ink:#10163e;
  --faq-muted:#606983;
  --faq-border:#dbe2ef;
  --faq-soft:#f9fbff;
  --faq-shadow:0 15px 45px rgba(33,51,95,.08);
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.faq-page{
  background:#fff;
  color:var(--faq-ink);
}


/* HERO */

.faq-hero{
  position:relative;
  overflow:hidden;
  padding:48px 0 32px;
  background:
    linear-gradient(
      180deg,
      #fbfdff 0%,
      #f4f9ff 100%
    );
}

.faq-hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
}

.faq-eyebrow{
  display:inline-flex;
  padding:5px 20px;
  border-radius:999px;
  background:#edf4ff;
  color:#3367dd;
  font-size:.78rem;
  letter-spacing:.05em;
  font-weight:900;
}

.faq-hero h1{
  margin:12px 0 5px;
  font-size:clamp(3rem,5vw,4.8rem);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:900;
}

.faq-hero p{
  max-width:680px;
  margin:10px auto 25px;
  color:var(--faq-muted);
  font-size:1.06rem;
  line-height:1.55;
}

.faq-search{
  width:min(760px,100%);
  min-height:58px;
  margin:0 auto;
  padding:6px;
  border:1px solid #ced9eb;
  border-radius:9px;
  background:#fff;
  box-shadow:0 9px 25px rgba(32,63,121,.08);
  display:grid;
  grid-template-columns:40px 1fr auto;
  align-items:center;
}

.faq-search-icon{
  color:#55678d;
  display:grid;
  place-items:center;
}

.faq-search-icon svg{
  width:22px;
  height:22px;
}

.faq-search input{
  min-width:0;
  height:44px;
  border:0;
  outline:0;
  color:#1f2a49;
  background:transparent;
  font:inherit;
  font-size:.96rem;
}

.faq-search button{
  height:44px;
  min-width:102px;
  border:0;
  border-radius:6px;
  color:#fff;
  background:
    linear-gradient(
      135deg,
      #3a77ff,
      #285de1
    );
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(48,101,229,.20);
}

.faq-search-status{
  min-height:20px;
  margin-top:8px;
  color:#5b6784;
  font-size:.84rem;
}

.faq-hero-glow{
  position:absolute;
  width:400px;
  height:400px;
  right:-170px;
  top:40px;
  border-radius:50%;
  background:rgba(58,119,255,.06);
}

.faq-hero-pattern{
  position:absolute;
  pointer-events:none;
}

.faq-pattern-left{
  left:0;
  bottom:30px;
  width:150px;
  height:120px;
  opacity:.45;
  background-image:
    radial-gradient(
      #72a1ff 1.5px,
      transparent 1.5px
    );
  background-size:19px 19px;
}


/* FILTER */

.faq-filter-section{
  padding:24px 0 18px;
}

.faq-category-tabs{
  display:flex;
  align-items:center;
  gap:11px;
  overflow-x:auto;
  padding:2px 1px 9px;
  scrollbar-width:none;
}

.faq-category-tabs::-webkit-scrollbar{
  display:none;
}

.faq-category{
  min-height:42px;
  padding:0 17px;
  border:1px solid #d5deed;
  border-radius:12px;
  background:#fff;
  color:#54617d;
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:none;
  font-size:.82rem;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}

.faq-category svg{
  width:18px;
  height:18px;
  color:#4674e9;
}

.faq-category:hover{
  border-color:#9db8fa;
  color:#2758cb;
}

.faq-category.active{
  border-color:#4778f5;
  background:#f2f6ff;
  color:#265dd8;
  box-shadow:0 5px 16px rgba(53,109,243,.08);
}


/* MAIN */

.faq-main-section{
  padding:0 0 35px;
}

.faq-main-grid{
  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    335px;
  gap:28px;
  align-items:start;
}

.faq-question-panel{
  min-width:0;
  border:1px solid var(--faq-border);
  border-radius:13px;
  background:#fff;
  padding:18px 15px 20px;
}

.faq-group{
  margin-bottom:28px;
}

.faq-group:last-child{
  margin-bottom:0;
}

.faq-group.is-hidden{
  display:none;
}

.faq-group-heading{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#2c62de;
}

.faq-group-heading svg{
  width:20px;
  height:20px;
  flex:none;
}

.faq-group-heading h2{
  margin:0;
  color:#2c62de!important;
  text-align:left!important;
  text-transform:uppercase;
  font-size:1rem!important;
  letter-spacing:.02em!important;
}

.faq-items{
  display:grid;
  gap:5px;
}

.faq-answer-item{
  border:1px solid #dbe1ec;
  border-radius:7px;
  overflow:hidden;
  background:#fff;
}

.faq-answer-item[hidden]{
  display:none;
}

.faq-answer-item summary{
  position:relative;
  min-height:45px;
  padding:0 43px 0 14px;
  display:flex;
  align-items:center;
  list-style:none;
  cursor:pointer;
  color:#17203d;
  font-size:.88rem;
  font-weight:800;
}

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

.faq-answer-item summary i::before,
.faq-answer-item summary i::after{
  content:"";
  position:absolute;
  right:15px;
  top:50%;
  width:11px;
  height:1.7px;
  background:#5975bc;
  border-radius:2px;
  transform:translateY(-50%);
}

.faq-answer-item summary i::after{
  transform:
    translateY(-50%)
    rotate(90deg);
  transition:transform .2s ease;
}

.faq-answer-item[open] summary i::after{
  transform:
    translateY(-50%)
    rotate(0);
}

.faq-answer-item[open]{
  border-color:#b8cbf7;
  background:#f9fbff;
}

.faq-answer-content{
  padding:0 14px 14px;
}

.faq-answer-content p{
  margin:0;
  color:#4f5874;
  font-size:.86rem;
  line-height:1.65;
}

.faq-empty{
  padding:60px 20px;
  text-align:center;
}

.faq-empty svg{
  width:44px;
  height:44px;
  margin:0 auto 13px;
  color:#6680bf;
}

.faq-empty h3{
  margin:0 0 6px;
}

.faq-empty p{
  margin:0 0 15px;
  color:var(--faq-muted);
}

.faq-empty a{
  display:inline-flex;
  min-height:40px;
  padding:0 18px;
  align-items:center;
  border-radius:7px;
  color:#fff;
  background:#356df3;
  font-weight:800;
}


/* SIDEBAR */

.faq-sidebar{
  display:grid;
  gap:18px;
  position:sticky;
  top:105px;
}

.faq-side-card{
  padding:22px;
  border:1px solid var(--faq-border);
  border-radius:12px;
  background:#fff;
}

.faq-side-card h2{
  margin:0 0 12px;
  text-align:left!important;
  font-size:1.25rem!important;
  letter-spacing:-.02em!important;
}

.faq-side-card > p{
  margin:0;
  color:#59627e;
  font-size:.88rem;
  line-height:1.6;
}

.faq-support-card{
  text-align:center;
  background:
    linear-gradient(
      180deg,
      #f7fbff,
      #eef5ff
    );
  border-color:#c8d9fa;
  padding:26px 22px;
}

.support-headset{
  width:72px;
  height:72px;
  margin:0 auto 17px;
  border:1px solid #a8c3ff;
  border-radius:50%;
  background:#fff;
  color:#3c72ef;
  display:grid;
  place-items:center;
}

.support-headset svg{
  width:36px;
  height:36px;
}

.faq-support-card h2{
  text-align:center!important;
  font-size:1.45rem!important;
}

.faq-support-card p{
  max-width:235px;
  margin:0 auto;
}

.faq-side-primary{
  width:100%;
  min-height:48px;
  margin-top:21px;
  border-radius:6px;
  color:#fff;
  background:
    linear-gradient(
      135deg,
      #3c78ff,
      #2a5de0
    );
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:.9rem;
  font-weight:900;
  box-shadow:0 9px 22px rgba(53,109,243,.18);
}

.faq-side-primary svg{
  width:18px;
  height:18px;
}


/* QUICK CONTACT */

.quick-contact-list{
  display:grid;
  gap:15px;
}

.quick-contact-list a,
.quick-contact-static{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:12px;
}

.quick-contact-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
}

.quick-contact-icon svg{
  width:21px;
  height:21px;
}

.quick-contact-icon.whatsapp{
  color:#16a765;
  background:#eafaf2;
}

.quick-contact-icon.call{
  color:#3976ed;
  background:#edf4ff;
}

.quick-contact-icon.sms{
  color:#ec8c24;
  background:#fff3e6;
}

.quick-contact-icon.email{
  color:#7945e7;
  background:#f2ecff;
}

.quick-contact-icon.time{
  color:#4d648a;
  background:#edf0f4;
}

.quick-contact-list strong,
.quick-contact-list small{
  display:block;
}

.quick-contact-list strong{
  color:#1b2442;
  font-size:.82rem;
}

.quick-contact-list small{
  color:#42506c;
  font-size:.77rem;
  margin-top:2px;
  word-break:break-word;
}


/* ENTERPRISE */

.faq-enterprise-card{
  color:#fff;
  background:
    linear-gradient(
      145deg,
      #7041ef,
      #5720cf
    );
  border:0;
}

.enterprise-icon{
  width:38px;
  height:38px;
  margin-bottom:17px;
  color:#fff;
}

.enterprise-icon svg{
  width:100%;
  height:100%;
}

.faq-enterprise-card h2{
  color:#fff!important;
}

.faq-enterprise-card p{
  color:rgba(255,255,255,.88);
}

.faq-enterprise-card a{
  min-height:44px;
  margin-top:18px;
  padding:0 17px;
  border-radius:6px;
  background:#fff;
  color:#5523c5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:.8rem;
  font-weight:900;
}

.faq-enterprise-card a svg{
  width:17px;
  height:17px;
}


/* LINKS */

.faq-popular-links{
  display:grid;
}

.faq-popular-links a{
  min-height:35px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#28314e;
  font-size:.8rem;
  font-weight:750;
}

.faq-popular-links a:hover{
  color:#3168e1;
}


/* STATUS */

.faq-status-card{
  background:#f4fdf9;
  border-color:#cfece0;
}

.faq-status-heading{
  display:flex;
  align-items:center;
  gap:10px;
}

.status-icon{
  width:30px;
  height:30px;
  color:#21a766;
}

.status-icon svg{
  width:100%;
  height:100%;
}

.faq-status-heading h2{
  margin:0!important;
}

.status-neutral{
  display:block;
  margin:15px 0 5px;
  color:#188958;
  font-size:.88rem;
}

.faq-status-card a{
  min-height:43px;
  margin-top:17px;
  border:1px solid #3cb57b;
  border-radius:6px;
  color:#21865a;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:.78rem;
  font-weight:900;
}

.faq-status-card a svg{
  width:17px;
  height:17px;
}


/* BOTTOM CTA */

.faq-bottom-help{
  padding:15px 0 45px;
}

.faq-bottom-panel{
  min-height:120px;
  padding:22px 27px;
  border:1px solid #bfd3fb;
  border-radius:11px;
  background:
    linear-gradient(
      90deg,
      #f3f8ff,
      #eef4ff
    );
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.faq-bottom-copy{
  display:flex;
  align-items:center;
  gap:19px;
}

.faq-bottom-icon{
  width:70px;
  height:70px;
  flex:none;
  border:1px solid #aac5ff;
  border-radius:50%;
  background:#fff;
  color:#356df3;
  display:grid;
  place-items:center;
}

.faq-bottom-icon svg{
  width:35px;
  height:35px;
}

.faq-bottom-copy h2{
  margin:0 0 4px;
  text-align:left!important;
  font-size:1.35rem!important;
}

.faq-bottom-copy p{
  margin:0;
  color:#59647e;
  font-size:.88rem;
  max-width:520px;
}

.faq-bottom-actions{
  display:flex;
  gap:14px;
}

.faq-bottom-primary,
.faq-bottom-secondary{
  min-height:46px;
  padding:0 21px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  white-space:nowrap;
  font-size:.78rem;
  font-weight:900;
}

.faq-bottom-primary{
  color:#fff;
  background:
    linear-gradient(
      135deg,
      #3976fa,
      #285cdd
    );
}

.faq-bottom-secondary{
  border:1.5px solid #4676ee;
  color:#315fd0;
  background:#fff;
}

.faq-bottom-primary svg,
.faq-bottom-secondary svg{
  width:17px;
  height:17px;
}


/* REVEAL */

.faq-reveal{
  opacity:0;
  transform:translateY(20px);
  transition:
    opacity .55s ease,
    transform .55s ease;
}

.faq-reveal.visible{
  opacity:1;
  transform:none;
}


/* RESPONSIVE */

@media(max-width:1050px){

  .faq-main-grid{
    grid-template-columns:1fr;
  }

  .faq-sidebar{
    position:static;
    grid-template-columns:repeat(2,1fr);
  }

  .faq-support-card,
  .faq-enterprise-card{
    min-height:100%;
  }

}

@media(max-width:760px){

  .faq-hero{
    padding-top:34px;
  }

  .faq-hero h1{
    font-size:3.2rem;
  }

  .faq-search{
    grid-template-columns:38px 1fr;
  }

  .faq-search button{
    grid-column:1/-1;
    width:100%;
  }

  .faq-category-tabs{
    margin-inline:-12px;
    padding-inline:12px;
  }

  .faq-question-panel{
    padding:14px 10px;
  }

  .faq-sidebar{
    grid-template-columns:1fr;
  }

  .faq-bottom-panel{
    flex-direction:column;
    align-items:flex-start;
  }

  .faq-bottom-actions{
    width:100%;
  }

  .faq-bottom-primary,
  .faq-bottom-secondary{
    flex:1;
  }

}

@media(max-width:520px){

  .faq-hero h1{
    font-size:2.7rem;
  }

  .faq-bottom-copy{
    align-items:flex-start;
    flex-direction:column;
  }

  .faq-bottom-icon{
    width:58px;
    height:58px;
  }

  .faq-bottom-actions{
    flex-direction:column;
  }

  .faq-bottom-primary,
  .faq-bottom-secondary{
    width:100%;
  }

}

@media(prefers-reduced-motion:reduce){

  .faq-reveal{
    opacity:1;
    transform:none;
    transition:none;
  }

}

/* ======================================================================
   NEXUS FAQ READABILITY UPGRADE
   ====================================================================== */

/* Main FAQ questions */
.faq-answer-item summary{
  min-height:52px !important;
  padding:
    0
    48px
    0
    16px !important;

  font-size:1.05rem !important;
  line-height:1.45 !important;
  font-weight:800 !important;
}

/* Main FAQ answer text */
.faq-answer-content{
  padding:
    2px
    17px
    18px !important;
}

.faq-answer-content p{
  font-size:1.02rem !important;
  line-height:1.78 !important;
  color:#48536f !important;
  font-weight:500 !important;
}

/* FAQ section headings */
.faq-group-heading h2{
  font-size:1.12rem !important;
  line-height:1.35 !important;
}

.faq-group-heading svg{
  width:22px !important;
  height:22px !important;
}

/* Category filter text */
.faq-category{
  font-size:.92rem !important;
  min-height:45px !important;
  padding:
    0
    18px !important;
}

/* Search field */
.faq-search input{
  font-size:1.02rem !important;
}

/* Hero supporting text */
.faq-hero p{
  font-size:1.15rem !important;
  line-height:1.65 !important;
}

/* Sidebar headings */
.faq-side-card h2{
  font-size:1.35rem !important;
}

/* Sidebar general text */
.faq-side-card > p{
  font-size:.98rem !important;
  line-height:1.7 !important;
}

/* Quick contact */
.quick-contact-list strong{
  font-size:.92rem !important;
}

.quick-contact-list small{
  font-size:.86rem !important;
  line-height:1.45 !important;
}

/* Popular links */
.faq-popular-links a{
  min-height:39px !important;
  font-size:.9rem !important;
}

/* Bottom CTA */
.faq-bottom-copy h2{
  font-size:1.5rem !important;
}

.faq-bottom-copy p{
  font-size:.98rem !important;
  line-height:1.65 !important;
}


/* Desktop: make answers especially comfortable */
@media(min-width:900px){

  .faq-answer-content p{
    font-size:1.07rem !important;
  }

  .faq-answer-item summary{
    font-size:1.08rem !important;
  }

}


/* Mobile */
@media(max-width:760px){

  .faq-answer-item summary{
    font-size:1rem !important;
    min-height:54px !important;
    padding:
      10px
      45px
      10px
      14px !important;
  }

  .faq-answer-content p{
    font-size:1rem !important;
    line-height:1.75 !important;
  }

  .faq-group-heading h2{
    font-size:1.05rem !important;
  }

  .faq-category{
    font-size:.88rem !important;
  }

  .faq-hero p{
    font-size:1.05rem !important;
  }

}

