/* ══════════════════════════════════════
   FAQ SECTION CSS
   Accordion + 2 groups
══════════════════════════════════════ */

.faq-section {
  background: #fff;
  padding: 80px 48px;
  font-family: 'Poppins', sans-serif;
}

.faq-inner {
  max-width: 820px;
  margin: 0 auto;
}

/* ── Top Tagline ── */
.faq-tagline {
  text-align: center;
  margin-bottom: 64px;
}
.faq-tagline p {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #181818;
  line-height: 1.7;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* ── Group ── */
.faq-group {
  margin-bottom: 56px;
}

.faq-group-title {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  font-weight: 400;
  color: #e30613;
  letter-spacing: 5px;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 32px;
}

/* ── FAQ Item ── */
.faq-item {
  border-top: 1px solid #e8e3da;
}
.faq-item:last-child {
  border-bottom: 1px solid #e8e3da;
}

/* ── Header ── */
.faq-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 4px;
  cursor: pointer;
  transition: background 0.2s, padding-left 0.2s;
  user-select: none;
}
.faq-header:hover {
  background: #fff5f5;
  padding-left: 10px;
}

/* +/- CSS icon */
.faq-icon {
  width: 18px; height: 18px;
  flex-shrink: 0;
  position: relative;
}
.faq-icon::before,
.faq-icon::after {
  content: '';
  position: absolute;
  background: #e30613;
  border-radius: 1px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
/* Horizontal bar */
.faq-icon::before {
  width: 12px; height: 1.5px;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}
/* Vertical bar */
.faq-icon::after {
  width: 1.5px; height: 12px;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}
/* Open state: hide vertical bar */
.faq-item.open .faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

/* Question text */
.faq-question {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #181818;
  flex: 1;
  line-height: 1.6;
  transition: color 0.25s;
}
.faq-item.open .faq-question { color: #e30613; }

/* ── Answer Body ── */
.faq-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.faq-item.open .faq-body { max-height: 400px; }

.faq-answer {
  padding: 4px 4px 24px 34px;
  font-size: 14px;
  color: #777;
  line-height: 1.85;
  letter-spacing: 0.3px;
}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 768px) {
  .faq-section   { padding: 56px 28px; }
  .faq-tagline p { font-size: 15px; letter-spacing: 1px; }
  .faq-group-title { font-size: 26px; }
}

@media (max-width: 480px) {
  .faq-section      { padding: 40px 18px; }
  .faq-question     { font-size: 9px; letter-spacing: 1.5px; }
  .faq-answer       { font-size: 13px; padding-left: 26px; }
  .faq-group-title  { font-size: 22px; letter-spacing: 3px; }
}

/* Viaan Infra red brand theme update */
:root{
  --viaan-red:#e30613;
  --viaan-red-dark:#b8000a;
  --viaan-red-soft:#fff2f3;
  --viaan-dark:#181818;
  --viaan-text:#222222;
}
html, body{font-family:'Poppins', Arial, sans-serif !important;background:#ffffff;color:var(--viaan-text);}
h1,h2,h3,h4,h5,h6,.bld-hero-title,.hero-title,.section-title,.about-title{font-family:'Poppins', Arial, sans-serif !important;font-weight:800;letter-spacing:-0.03em;}
p,li,a,span,button,input,textarea,select{font-family:'Poppins', Arial, sans-serif !important;}
.nav-logo img,.footer-logo img{max-height:82px;object-fit:contain;}
.navbar,.nav-header,.header,.main-header{background:#ffffff !important;border-color:#ffd6d9 !important;box-shadow:0 8px 28px rgba(227,6,19,.08) !important;}
.nav-menu a,.nav-link,.mobile-menu a{color:var(--viaan-dark) !important;font-weight:600;}
.nav-menu a:hover,.nav-link:hover,.nav-menu .active,.nav-link.active{color:var(--viaan-red) !important;}
.bld-hero,.hero,.main-hero,.page-banner,.banner,.inner-banner{background-color:var(--viaan-dark) !important;}
.bld-hero::before,.hero::before,.main-hero::before,.page-banner::before,.banner::before{background:linear-gradient(90deg,rgba(24,24,24,.88),rgba(227,6,19,.55),rgba(24,24,24,.25)) !important;}
.bld-hero-overlay,.hero-overlay,.banner-overlay{background:linear-gradient(90deg,rgba(24,24,24,.86),rgba(227,6,19,.52)) !important;}
.bld-hero-title,.hero-title,.banner-title{color:#ffffff !important;text-shadow:0 4px 18px rgba(0,0,0,.35);}
.bld-hero-subtitle,.hero-subtitle,.banner-subtitle{color:#ffe2e4 !important;}
.btn,.button,.theme-btn,.primary-btn,.read-more,.cta-btn,button[type='submit'],input[type='submit']{background:var(--viaan-red) !important;color:#ffffff !important;border-color:var(--viaan-red) !important;border-radius:6px !important;font-weight:700 !important;box-shadow:0 10px 24px rgba(227,6,19,.22) !important;}
.btn:hover,.button:hover,.theme-btn:hover,.primary-btn:hover,.read-more:hover,.cta-btn:hover,button[type='submit']:hover,input[type='submit']:hover{background:var(--viaan-red-dark) !important;border-color:var(--viaan-red-dark) !important;color:#ffffff !important;}
a{color:var(--viaan-red);} a:hover{color:var(--viaan-red-dark);}
.section-label,.eyebrow,.about-hero-eyebrow,.subtitle,.tagline,.logo-tagline{color:var(--viaan-red) !important;font-weight:700 !important;}
.title-underline,.section-title:after,.heading-line,.divider,.bld-hero-divider{background:var(--viaan-red) !important;border-color:var(--viaan-red) !important;}
.card,.project-card,.service-card,.feature-card,.faq-item,.amenity-card,.blog-card,.contact-card,.team-card{border-color:#ffd6d9 !important;box-shadow:0 12px 32px rgba(227,6,19,.08) !important;}
.card:hover,.project-card:hover,.service-card:hover,.feature-card:hover,.blog-card:hover{box-shadow:0 18px 44px rgba(227,6,19,.16) !important;transform:translateY(-3px);}
.icon,.service-icon,.feature-icon,.contact-icon,i{color:var(--viaan-red) !important;}
footer,.footer{background:#181818 !important;color:#ffffff !important;}
footer a,.footer a{color:#ffe2e4 !important;} footer a:hover,.footer a:hover{color:#ffffff !important;}
footer h1,footer h2,footer h3,footer h4,.footer h1,.footer h2,.footer h3,.footer h4{color:#ffffff !important;}
.footer-bottom,.copyright{border-color:rgba(227,6,19,.35) !important;}
.social-icon, .social a{background:rgba(227,6,19,.12) !important;color:#ffffff !important;border-color:rgba(227,6,19,.35) !important;}
.social-icon:hover,.social a:hover{background:var(--viaan-red) !important;}
input:focus,textarea:focus,select:focus{border-color:var(--viaan-red) !important;box-shadow:0 0 0 3px rgba(227,6,19,.12) !important;outline:none;}
.badge,.counter,.count,.project-status,.highlight{background:var(--viaan-red-soft) !important;color:var(--viaan-red) !important;border-color:#ffd6d9 !important;}
::selection{background:var(--viaan-red);color:#ffffff;}
