/* =========================================================
   ADI YOGPEETH — FAQ
   Premium V2 — CSS-only refinement
   PHP + JS intentionally unchanged.
   ========================================================= */

.faq{
  --faq-forest:#173F35;
  --faq-ivory:#FAF8F3;
  --faq-sand:#F4EFE6;
  --faq-terracotta:#B86A4B;
  --faq-sage:#829487;
  --faq-gold:#B79A63;
  --faq-charcoal:#252825;
  --faq-muted:#68736D;
  --faq-border:rgba(23,63,53,.14);

  position:relative;
  overflow:hidden;
  padding:clamp(52px,6vw,84px) 0 clamp(48px,5vw,68px);
  background:
    radial-gradient(circle at 92% 8%,rgba(183,154,99,.065),transparent 25%),
    radial-gradient(circle at 7% 88%,rgba(130,148,135,.06),transparent 27%),
    var(--faq-sand);
  color:var(--faq-charcoal);
  font-family:var(--font-body);
}

.faq *,
.faq *::before,
.faq *::after{box-sizing:border-box}

.faq .container--lg{
  width:min(1040px,calc(100% - 40px));
  margin-inline:auto;
}

/* Header */
.faq__header{
  max-width:820px;
  margin:0 0 clamp(30px,4vw,48px);
}

.faq .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--faq-gold);
  font-family:var(--font-body);
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  line-height:1.3;
  text-transform:uppercase;
}

.faq .eyebrow::before{
  content:"";
  width:30px;
  height:1px;
  background:var(--faq-gold);
}

.faq__header h2{
  margin:13px 0 0;
  color:var(--faq-forest);
  font-family:var(--font-display);
  font-size:clamp(43px,5.2vw,68px);
  font-weight: var(--font-weight-medium);
  letter-spacing:-.045em;
  line-height:.98;
}

.faq__header h2 em{
  color:var(--faq-terracotta);
  font-style:italic;
  font-weight: var(--font-weight-regular);
}

.faq__header p{
  max-width:610px;
  margin:17px 0 0;
  color:var(--faq-muted);
  font-family:var(--font-body);
  font-size:11px;
  line-height:1.75;
}

/* List */
.faq__list{
  border-top:1px solid var(--faq-border);
}

.faq-item{
  margin:0;
  border-bottom:1px solid var(--faq-border);
}

.faq-item__question{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:center;
  gap:28px;
  min-height:84px;
  padding:12px 4px;
  color:var(--faq-forest);
  font-family:var(--font-display);
  font-size:clamp(20px,1.65vw,25px);
  font-weight: var(--font-weight-semibold);
  line-height:1.18;
  list-style:none;
  cursor:pointer;
  transition:color .22s ease;
}

.faq-item__question::-webkit-details-marker{display:none}
.faq-item__question::marker{display:none}

.faq-item__question::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:0;
  height:1px;
  background:var(--faq-gold);
  transition:width .3s ease;
}

.faq-item__question:hover{
  color:var(--faq-terracotta);
}

.faq-item[open] .faq-item__question::after{
  width:100%;
}

.faq-item__icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  min-width:38px;
  margin-left:auto;
  border:1px solid rgba(183,154,99,.5);
  border-radius:50%;
  background:transparent;
  color:var(--faq-forest);
  font-family:var(--font-body);
  font-size:18px;
  font-weight: var(--font-weight-regular);
  line-height:1;
  transition:
    transform .25s ease,
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease;
}

.faq-item[open] .faq-item__icon{
  transform:rotate(45deg);
  border-color:var(--faq-forest);
  background:var(--faq-forest);
  color:var(--faq-ivory);
}

.faq-item__question:hover .faq-item__icon{
  border-color:var(--faq-gold);
}

/* Answer */
.faq-item__answer{
  max-width:780px;
  padding:0 70px 27px 4px;
}

.faq-item__answer p{
  margin:0;
  color:var(--faq-muted);
  font-family:var(--font-body);
  font-size:11px;
  line-height:1.82;
}

/* Footer */
.faq__footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:17px;
  padding-top:23px;
}

.faq__footer p{
  margin:0;
  color:var(--faq-muted);
  font-family:var(--font-body);
  font-size:9px;
  line-height:1.4;
}

.faq__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:8px 0;
  color:var(--faq-terracotta);
  font-family:var(--font-body);
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-decoration:none;
  text-transform:uppercase;
}

.faq__link span{
  display:inline-block;
  transition:transform .25s ease;
}

.faq__link:hover{color:var(--faq-forest)}
.faq__link:hover span{transform:translateX(4px)}

.faq__link:focus-visible,
.faq-item__question:focus-visible{
  outline:2px solid var(--faq-gold);
  outline-offset:3px;
}

/* Laptop */
@media (min-width:992px) and (max-width:1300px){
  .faq{
    padding:48px 0 52px;
  }

  .faq .container--lg{
    width:min(920px,calc(100% - 36px));
  }

  .faq__header{
    margin-bottom:31px;
  }

  .faq__header h2{
    font-size:55px;
  }

  .faq__header p{
    font-size:10px;
    margin-top:14px;
  }

  .faq-item__question{
    min-height:78px;
    font-size:21px;
  }

  .faq-item__answer{
    padding-bottom:23px;
    padding-right:58px;
  }

  .faq-item__answer p{
    font-size:10px;
  }
}

/* Tablet */
@media (max-width:767px){
  .faq{
    padding:43px 0 50px;
  }

  .faq .container--lg{
    width:calc(100% - 28px);
  }

  .faq__header{
    margin-bottom:27px;
  }

  .faq .eyebrow{
    font-size:8px;
  }

  .faq__header h2{
    margin-top:11px;
    font-size:clamp(39px,10vw,52px);
    line-height:.97;
  }

  .faq__header p{
    max-width:620px;
    margin-top:14px;
    font-size:10.5px;
    line-height:1.68;
  }

  .faq-item__question{
    grid-template-columns:minmax(0,1fr) 40px;
    gap:18px;
    min-height:76px;
    padding:11px 0;
    font-size:20px;
  }

  .faq-item__icon{
    width:36px;
    height:36px;
    min-width:36px;
    font-size:17px;
  }

  .faq-item__answer{
    padding:0 45px 22px 0;
  }

  .faq-item__answer p{
    font-size:10px;
    line-height:1.75;
  }

  .faq__footer{
    justify-content:flex-start;
    padding-top:19px;
  }
}

/* Small mobile */
@media (max-width:480px){
  .faq{
    padding:36px 0 43px;
  }

  .faq .container--lg{
    width:calc(100% - 20px);
  }

  .faq .eyebrow{
    gap:7px;
    font-size:7.5px;
  }

  .faq .eyebrow::before{width:24px}

  .faq__header h2{
    font-size:35px;
  }

  .faq__header p{
    font-size:9.5px;
    line-height:1.65;
  }

  .faq-item__question{
    grid-template-columns:minmax(0,1fr) 36px;
    gap:12px;
    min-height:70px;
    font-size:18px;
    line-height:1.2;
  }

  .faq-item__icon{
    width:32px;
    height:32px;
    min-width:32px;
    font-size:15px;
  }

  .faq-item__answer{
    padding:0 22px 20px 0;
  }

  .faq-item__answer p{
    font-size:9.5px;
    line-height:1.75;
  }

  .faq__footer{
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
    padding-top:17px;
  }

  .faq__footer p{
    font-size:8px;
  }

  .faq__link{
    font-size:8px;
  }
}

/* Very small phones */
@media (max-width:360px){
  .faq__header h2{font-size:32px}
  .faq-item__question{font-size:17px}
  .faq-item__answer{padding-right:12px}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .faq-item__question,
  .faq-item__question::after,
  .faq-item__icon,
  .faq__link span{
    transition:none!important;
  }
}


