/* =========================================================
   ASTRO FAQ SECTION — REDESIGN
   Numbered glass accordion · scroll-reveal text ·
   floating / parallax / Ken-Burns image column
   FULLY SCOPED
========================================================= */

.astroFAQ{
  --faq-pink:#ff0090;
  --faq-pink-2:#ff5bbd;
  --faq-purple:#8b00ff;
  --faq-gold:#ffcc00;

  position:relative;
  padding:64px 20px;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,0,144,.05), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(139,0,255,.05), transparent 45%),
    #f6f5f8;
  overflow:hidden;
  font-family:'Poppins',sans-serif;
}

/* AMBIENT GLOWS */

.astroFAQ::before{
  content:"";
  position:absolute;
  top:-140px;
  left:-140px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(255,0,144,.10);
  filter:blur(90px);
  animation:faqGlowFloat 9s ease-in-out infinite;
}

.astroFAQ::after{
  content:"";
  position:absolute;
  right:-140px;
  bottom:-140px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(139,0,255,.10);
  filter:blur(90px);
  animation:faqGlowFloat 9s ease-in-out infinite reverse;
}

@keyframes faqGlowFloat{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(30px,-20px) scale(1.12);}
}

/* =========================
   SCROLL-REVEAL (TEXT + IMAGE)
========================= */

.astroFAQ__reveal{
  --faq-mx:0;
  --faq-my:0;
  --faq-tilt:
    perspective(900px)
    rotateY(calc(var(--faq-mx) * 4deg))
    rotateX(calc(var(--faq-my) * -4deg));

  opacity:0;
  transform:translateY(34px) var(--faq-tilt);
  transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .5s cubic-bezier(.22,1,.36,1);
}
.astroFAQ__reveal--right{
  transform:translateY(24px) translateX(28px) var(--faq-tilt);
}
.astroFAQ__reveal.show{
  opacity:1;
  transform:var(--faq-tilt);
}

.astroFAQ__content .astroFAQ__reveal:nth-child(1){transition-delay:.05s;}
.astroFAQ__content .astroFAQ__reveal:nth-child(2){transition-delay:.12s;}
.astroFAQ__content .astroFAQ__reveal:nth-child(3){transition-delay:.19s;}

.astroFAQ__accordion .astroFAQ__item:nth-child(1){transition-delay:.10s;}
.astroFAQ__accordion .astroFAQ__item:nth-child(2){transition-delay:.17s;}
.astroFAQ__accordion .astroFAQ__item:nth-child(3){transition-delay:.24s;}
.astroFAQ__accordion .astroFAQ__item:nth-child(4){transition-delay:.31s;}
.astroFAQ__accordion .astroFAQ__item:nth-child(5){transition-delay:.38s;}
.astroFAQ__accordion .astroFAQ__item:nth-child(6){transition-delay:.45s;}

@media(prefers-reduced-motion:reduce){
  .astroFAQ__reveal{opacity:1;transform:none;transition:none;}
}

/* =========================
   CONTAINER
========================= */

.astroFAQ__container{
  position:relative;
  z-index:2;
  max-width:1250px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 440px;
  gap:60px;
  align-items:start;
}

/* =========================
   LEFT CONTENT
========================= */

.astroFAQ__content{
  min-width:0;
}

.astroFAQ__tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 20px;
  border-radius:30px;
  background:linear-gradient(135deg,rgba(255,0,144,.10),rgba(139,0,255,.10));
  border:1px solid rgba(255,0,144,.22);
  color:var(--faq-pink);
  font-size:13px;
  font-weight:700;
  letter-spacing:.5px;
  margin-bottom:20px;
}

.astroFAQ__title{
  font-size:50px;
  line-height:1.1;
  font-weight:900;
  color:#111;
  margin-bottom:18px;
  text-transform:uppercase;
}

.astroFAQ__title span{
  position:relative;
  display:inline-block;
  background:linear-gradient(90deg,var(--faq-pink),var(--faq-purple),var(--faq-pink));
  background-size:250% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:faqTitleShine 6s linear infinite;
}

@keyframes faqTitleShine{
  0%{background-position:0% 50%;}
  100%{background-position:250% 50%;}
}

/* SUBTITLE */

.astroFAQ__subtitle{
  color:#4a4a4a;
  font-size:18px;
  line-height:1.9;
  margin-bottom:40px;
  max-width:760px;
}

/* =========================
   ACCORDION
========================= */

.astroFAQ__accordion{
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* CARD */

.astroFAQ__item{
  position:relative;
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
  transition:border-color .4s ease, box-shadow .4s ease, transform .4s ease;
  box-shadow:0 8px 24px rgba(17,0,40,.05);
}

/* left accent bar, grows in on hover/active */
.astroFAQ__item::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--faq-pink),var(--faq-purple));
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}

.astroFAQ__item:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(255,0,144,.12);
  border-color:rgba(255,0,144,.18);
}

.astroFAQ__item.active{
  border-color:rgba(255,0,144,.3);
  box-shadow:0 20px 44px rgba(255,0,144,.16);
}

.astroFAQ__item:hover::before,
.astroFAQ__item.active::before{
  transform:scaleY(1);
}

/* QUESTION */

.astroFAQ__question{
  width:100%;
  display:flex;
  align-items:center;
  gap:16px;
  padding:22px 26px;
  background:none;
  border:none;
  text-align:left;
  cursor:pointer;
  color:#111;
  font-size:16px;
  font-weight:800;
  line-height:1.6;
  position:relative;
}

.astroFAQ__num{
  flex-shrink:0;
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:800;
  color:var(--faq-pink);
  background:rgba(255,0,144,.08);
  border:1px solid rgba(255,0,144,.18);
  transition:.4s cubic-bezier(.22,1,.36,1);
}

.astroFAQ__item.active .astroFAQ__num{
  background:linear-gradient(135deg,var(--faq-pink),var(--faq-purple));
  border-color:transparent;
  color:#fff;
  transform:scale(1.08) rotate(-8deg);
}

.astroFAQ__questionText{
  flex:1;
}

/* ICON */

.astroFAQ__question::after{
  content:"+";
  flex-shrink:0;
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--faq-pink),var(--faq-pink-2));
  color:#fff;
  font-size:20px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(255,0,144,.25);
  transition:transform .4s cubic-bezier(.22,1,.36,1), background .4s ease;
}

.astroFAQ__item.active .astroFAQ__question::after{
  content:"−";
  transform:rotate(180deg);
  background:linear-gradient(135deg,var(--faq-purple),var(--faq-pink));
}

/* ANSWER — CSS grid-rows technique: animates to the answer's exact
   real height, so there's never leftover blank space at rest and
   no hardcoded max-height guess to get wrong. */

.astroFAQ__answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1);
}

.astroFAQ__item.active .astroFAQ__answer{
  grid-template-rows:1fr;
}

.astroFAQ__answerInner{
  min-height:0;
  overflow:hidden;
  padding:0 26px 0 76px;
  color:#5a5a5a;
  font-size:15px;
  line-height:1.85;
}

.astroFAQ__item.active .astroFAQ__answerInner{
  padding-bottom:24px;
}

/* =========================
   RIGHT IMAGE
========================= */

.astroFAQ__image{
  position:sticky;
  top:90px;

  display:flex;
  flex-direction:column;
  gap:18px;

  border-radius:32px;
  background:#fff;
  padding:14px;
  box-shadow:0 25px 60px rgba(17,0,40,.10);
}

/* PINK BORDER GLOW */

.astroFAQ__image::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:32px;
  padding:2px;
  background:linear-gradient(135deg,var(--faq-pink),var(--faq-pink-2),var(--faq-purple));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

/* ROTATING CHAKRA RINGS (behind the portrait) */

.astroFAQ__chakra{
  position:absolute;
  top:50%;
  left:50%;
  width:340px;
  height:340px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1.5px dashed rgba(255,0,144,.28);
  z-index:0;
  pointer-events:none;
  animation:faqChakraSpin 26s linear infinite;
}

.astroFAQ__chakra--2{
  width:260px;
  height:260px;
  border-color:rgba(139,0,255,.24);
  border-style:solid;
  animation:faqChakraSpin 18s linear infinite reverse;
}

@keyframes faqChakraSpin{
  from{transform:translate(-50%,-50%) rotate(0deg);}
  to{transform:translate(-50%,-50%) rotate(360deg);}
}

/* IMAGE AREA */

.astroFAQ__imageBox{
  position:relative;
  z-index:1;
  width:100%;
  height:300px;
  overflow:hidden;
  border-radius:24px;
  animation:faqImageFloat 6s ease-in-out infinite;
}

@keyframes faqImageFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-8px);}
}

/* IMAGE — slow continuous Ken-Burns drift + faster zoom on hover */

.astroFAQ__imageBox img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:24px;
  animation:faqKenBurns 14s ease-in-out infinite alternate;
  transition:transform .8s ease;
}

@keyframes faqKenBurns{
  0%{transform:scale(1) translate(0,0);}
  100%{transform:scale(1.12) translate(-1.5%,-1.5%);}
}

.astroFAQ__image:hover .astroFAQ__imageBox img{
  transform:scale(1.18);
}

/* glow sweep across the portrait */

.astroFAQ__imageGlow{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.4) 50%,transparent 60%);
  background-size:250% 250%;
  background-position:120% 0;
  animation:faqGlowSweep 5s ease-in-out infinite;
}

@keyframes faqGlowSweep{
  0%,60%{background-position:120% 0;}
  100%{background-position:-20% 0;}
}

@media(prefers-reduced-motion:reduce){
  .astroFAQ__chakra,
  .astroFAQ__imageBox,
  .astroFAQ__imageBox img,
  .astroFAQ__imageGlow{
    animation:none;
  }
}

/* =========================
   BOTTOM CONTENT
========================= */

.astroFAQ__bottom{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:16px;
}

/* CARD */

.astroFAQ__card{
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,240,248,.95));
  border-radius:20px;
  padding:20px;
  border:1px solid rgba(255,0,144,.12);
  box-shadow:0 12px 30px rgba(255,0,144,.08);
  transition:transform .4s ease, box-shadow .4s ease;
}

.astroFAQ__card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(255,0,144,.15);
}

/* ICON */

.astroFAQ__card span{
  width:50px;
  height:50px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--faq-pink),var(--faq-purple));
  color:#fff;
  font-size:22px;
  margin-bottom:12px;
  box-shadow:0 10px 25px rgba(255,0,144,.2);
  animation:faqCardIconPulse 3s ease-in-out infinite;
}

@keyframes faqCardIconPulse{
  0%,100%{box-shadow:0 10px 25px rgba(255,0,144,.2);}
  50%{box-shadow:0 10px 32px rgba(255,0,144,.4);}
}

/* TITLE */

.astroFAQ__card h4{
  font-size:18px;
  font-weight:800;
  color:#111;
  margin-bottom:6px;
}

/* TEXT */

.astroFAQ__card p{
  color:#5a5a5a;
  line-height:1.7;
  font-size:14px;
}

/* =========================
   CONTACT BANNER
   (fills the column so it never ends in blank space,
   and gives the image side a real call-to-action)
========================= */

.astroFAQ__contactBanner{
  position:relative;
  z-index:1;
  overflow:hidden;

  display:flex;
  align-items:center;
  gap:14px;

  padding:18px 20px;
  border-radius:20px;

  background:linear-gradient(135deg,var(--faq-pink),var(--faq-purple));
  color:#fff;
  text-decoration:none;

  box-shadow:0 14px 34px rgba(255,0,144,.28);
  transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}

.astroFAQ__contactBanner::after{
  content:"";
  position:absolute;
  top:0;
  left:-130%;
  width:60%;
  height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);
  animation:faqBannerShine 3.6s ease-in-out infinite;
}

@keyframes faqBannerShine{
  0%{left:-130%;}
  55%,100%{left:140%;}
}

.astroFAQ__contactBanner:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 44px rgba(255,0,144,.38);
}

.astroFAQ__contactBannerIcon{
  flex-shrink:0;
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:19px;
  background:rgba(255,255,255,.18);
  animation:faqBannerRing 3s ease-in-out infinite;
  transform-origin:50% 20%;
}

@keyframes faqBannerRing{
  0%,55%,100%{transform:rotate(0);}
  60%{transform:rotate(-14deg);}
  65%{transform:rotate(11deg);}
  70%{transform:rotate(-8deg);}
  75%{transform:rotate(0);}
}

.astroFAQ__contactBannerText{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:14px;
  line-height:1.4;
}

.astroFAQ__contactBannerText strong{
  font-size:15px;
  font-weight:800;
}

.astroFAQ__contactBannerText span{
  color:rgba(255,255,255,.9);
  font-size:12.5px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.astroFAQ__contactBannerArrow{
  flex-shrink:0;
  font-size:20px;
  font-weight:700;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}

.astroFAQ__contactBanner:hover .astroFAQ__contactBannerArrow{
  transform:translateX(6px);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1100px){

  .astroFAQ__container{
    grid-template-columns:1fr 380px;
    gap:38px;
  }

  .astroFAQ__title{
    font-size:42px;
  }

  .astroFAQ__image{
    top:90px;
  }
}

/* TABLET */

@media(max-width:900px){

  .astroFAQ{
    padding:80px 16px;
  }

  .astroFAQ__container{
    grid-template-columns:1fr;
    gap:34px;
  }

  .astroFAQ__title{
    font-size:36px;
  }

  .astroFAQ__subtitle{
    font-size:16px;
    margin-bottom:28px;
  }

  .astroFAQ__image{
    position:static;
    flex-direction:row;
    flex-wrap:wrap;
  }

  .astroFAQ__imageBox{
    height:340px;
    flex:1 1 100%;
  }

  .astroFAQ__bottom{
    flex-direction:row;
    flex:1 1 100%;
  }

  .astroFAQ__bottom .astroFAQ__card{
    flex:1;
  }

  .astroFAQ__contactBanner{
    flex:1 1 100%;
  }

  .astroFAQ__question{
    font-size:15px;
    padding:20px 22px;
  }

  .astroFAQ__answerInner{
    font-size:14px;
    padding-left:66px;
  }
}

/* MOBILE */

@media(max-width:576px){

  .astroFAQ{
    padding:65px 14px;
  }

  .astroFAQ__title{
    font-size:29px;
  }

  .astroFAQ__subtitle{
    font-size:14px;
    line-height:1.75;
  }

  .astroFAQ__accordion{
    gap:14px;
  }

  .astroFAQ__item{
    border-radius:16px;
  }

  .astroFAQ__question{
    font-size:14px;
    line-height:1.6;
    padding:16px 16px;
    gap:12px;
  }

  .astroFAQ__num{
    width:30px;
    height:30px;
    font-size:11px;
  }

  .astroFAQ__question::after{
    width:28px;
    height:28px;
    font-size:16px;
  }

  .astroFAQ__answerInner{
    font-size:13px;
    line-height:1.8;
    padding:0 16px 0 58px;
  }

  .astroFAQ__item.active .astroFAQ__answerInner{
    padding-bottom:18px;
  }

  .astroFAQ__image{
    padding:10px;
    border-radius:22px;
  }

  .astroFAQ__imageBox{
    height:240px;
    border-radius:16px;
  }

  .astroFAQ__imageBox img{
    border-radius:16px;
  }

  .astroFAQ__bottom{
    flex-direction:column;
  }

  .astroFAQ__card{
    padding:16px;
    border-radius:16px;
  }

  .astroFAQ__card h4{
    font-size:16px;
  }

  .astroFAQ__card p{
    font-size:13px;
  }
}
