/* =========================================================
   CAS GLOBAL FAQ SYSTEM
   Shared by service and industry detail pages.
   Visual structure matches the Specialty Equipment FAQ.
   ========================================================= */

.cas-faq-section,
.cas-faq-section *,
.cas-faq-section *::before,
.cas-faq-section *::after{
  box-sizing:border-box;
}

.cas-faq-section{
  width:100%;
  margin:0;
  padding:4.5rem 1rem;
  background:#000000 !important;
  color:#ffffff;
  font-family:"Red Hat Text","Red Hat Display",system-ui,sans-serif;
}

.cas-faq-heading-wrap,
.cas-faq-layout{
  width:100%;
  max-width:48rem;
  margin-left:auto;
  margin-right:auto;
}

.cas-faq-heading-wrap{
  margin-top:0;
  margin-bottom:0;
  padding:0;
}

.cas-faq-heading-wrap h2{
  margin:0;
  padding:0;
  color:#ffffff;
  font-family:"Red Hat Display","Red Hat Text",system-ui,sans-serif;
  font-size:1.5rem;
  line-height:2rem;
  font-weight:700;
  letter-spacing:-0.018em;
  text-align:left;
}

.cas-faq-layout{
  margin-top:3rem;
  padding:0;
}

.cas-faq-content,
.cas-faq-list{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.cas-faq-list{
  border:0;
  background:transparent;
}

.cas-faq-item{
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.cas-faq-item + .cas-faq-item{
  border-top:1px solid #ffffff;
}

.cas-faq-item:last-of-type{
  border-bottom:1px solid #ffffff;
}

.cas-faq-item > summary,
.cas-faq-question{
  width:100%;
  min-height:0;
  margin:0;
  padding:1.25rem 0;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  border:0;
  border-radius:0;
  background:transparent;
  color:#ffffff;
  font-family:"Red Hat Text","Red Hat Display",system-ui,sans-serif;
  font-size:.875rem;
  line-height:1.25rem;
  font-weight:500;
  letter-spacing:normal;
  text-align:left;
  list-style:none;
  cursor:pointer;
  box-shadow:none;
}

.cas-faq-item > summary::-webkit-details-marker{
  display:none;
}

.cas-faq-item > summary::marker{
  content:"";
}

.cas-faq-item > summary > span:not(.faq-arrow){
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
}

.cas-faq-item > summary .faq-arrow{
  display:none !important;
}

.cas-faq-chevron{
  width:1rem;
  height:1rem;
  flex:0 0 1rem;
  display:block;
  color:#ffffff;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .4s ease;
}

.cas-faq-item.is-open > summary .cas-faq-chevron{
  transform:rotate(180deg);
}

.cas-faq-answer-wrap{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease;
}

.cas-faq-answer{
  width:100%;
  margin:0;
  padding:0 2rem 1.25rem 0;
  border:0;
  background:transparent;
  color:#b8b8b8;
  font-family:"Red Hat Text","Red Hat Display",system-ui,sans-serif;
  font-size:.875rem;
  line-height:1.625;
  font-weight:400;
}

.cas-faq-answer p,
.cas-faq-answer ul,
.cas-faq-answer ol{
  margin:0;
  color:inherit;
  font:inherit;
  line-height:inherit;
}

.cas-faq-answer p + p,
.cas-faq-answer ul,
.cas-faq-answer ol{
  margin-top:.8rem;
}

.cas-faq-answer a{
  color:inherit;
  text-decoration:none;
}

@media (min-width:640px){
  .cas-faq-section{
    padding:6rem 1.5rem;
  }

  .cas-faq-heading-wrap h2{
    font-size:1.875rem;
    line-height:2.25rem;
  }

  .cas-faq-item > summary,
  .cas-faq-question{
    font-size:1rem;
    line-height:1.5rem;
  }
}

@media (min-width:1024px){
  .cas-faq-section{
    padding-left:2rem;
    padding-right:2rem;
  }
}

@media (max-width:480px){
  .cas-faq-section{
    padding: 3rem 0.75rem;
  }

  .cas-faq-heading-wrap h2{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .cas-faq-item > summary,
  .cas-faq-question{
    padding: 1rem 0;
    min-height: 48px;
    font-size: 0.82rem;
    line-height: 1.35rem;
    gap: 0.75rem;
  }

  .cas-faq-answer{
    padding: 0 0.5rem 1rem 0;
    font-size: 0.82rem;
    line-height: 1.55;
  }
}