/* ============================================================
   MAM VOYAGE — Unified FAQ styling (site-wide)
   Covers both FAQ markup patterns used on the site:
   - homepage:      .faq-item / .faq-q / .faq-a  (icon: .ic)
   - destinations:  .tfaq .fq / .fq-q / .fq-a    (icon: .p)
   Brand colors: navy #012C53 · blue #015BA8 · orange #E35605
   ============================================================ */

/* ---- question row (both patterns) ---- */
.mv .faq-q,
.mv .tfaq .fq-q,
.mv-tour .tfaq .fq-q{
  width:100%;text-align:left;background:none;border:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:20px 0;font-family:'Sora',sans-serif;font-size:16.5px;font-weight:600;
  color:#012C53;transition:color .25s;line-height:1.4;
}
.mv .faq-q:hover,
.mv .tfaq .fq-q:hover,
.mv-tour .tfaq .fq-q:hover{ color:#015BA8; }

/* item divider (both patterns) */
.mv .faq-item,
.mv .tfaq .fq,
.mv-tour .tfaq .fq{ border-bottom:1px solid #E2E8EF; }

/* ---- answer (both patterns) ---- */
.mv .faq-a,
.mv .tfaq .fq-a,
.mv-tour .tfaq .fq-a{ max-height:0;overflow:hidden;transition:max-height .4s ease; }
.mv .faq-a p,
.mv .tfaq .fq-a p,
.mv-tour .tfaq .fq-a p{
  padding:0 0 22px;color:#5B6B7C;font-size:15.5px;line-height:1.7;max-width:64ch;margin:0;
}

/* ============ ICON — homepage pattern (.ic square with +) ============ */
.mv .faq-q .ic{
  width:26px;height:26px;border-radius:7px;background:#EAF2FA;flex-shrink:0;
  position:relative;transition:background .3s;
}
.mv .faq-item.open .faq-q .ic{ background:#E35605; }
.mv .faq-q .ic::before,
.mv .faq-q .ic::after{
  content:"";position:absolute;background:#015BA8;top:50%;left:50%;
  transform:translate(-50%,-50%);transition:.3s;
}
.mv .faq-q .ic::before{ width:12px;height:2px; }
.mv .faq-q .ic::after{ width:2px;height:12px; }
.mv .faq-item.open .faq-q .ic::before{ background:#fff; }
.mv .faq-item.open .faq-q .ic::after{ background:#fff;transform:translate(-50%,-50%) scaleY(0); }

/* ============ ICON — destinations pattern (.p bare +) ============ */
.mv .tfaq .fq-q .p,
.mv-tour .tfaq .fq-q .p{
  width:24px;height:24px;border-radius:6px;background:#EAF2FA;flex-shrink:0;
  position:relative;transition:background .3s;
}
.mv .tfaq .fq.open .fq-q .p,
.mv-tour .tfaq .fq.open .fq-q .p{ background:#E35605; }
.mv .tfaq .fq-q .p::before, .mv .tfaq .fq-q .p::after,
.mv-tour .tfaq .fq-q .p::before, .mv-tour .tfaq .fq-q .p::after{
  content:"";position:absolute;background:#015BA8;top:50%;left:50%;
  transform:translate(-50%,-50%);transition:.3s;
}
.mv .tfaq .fq-q .p::before,
.mv-tour .tfaq .fq-q .p::before{ width:11px;height:2px; }
.mv .tfaq .fq-q .p::after,
.mv-tour .tfaq .fq-q .p::after{ width:2px;height:11px; }
.mv .tfaq .fq.open .fq-q .p::before,
.mv-tour .tfaq .fq.open .fq-q .p::before{ background:#fff; }
.mv .tfaq .fq.open .fq-q .p::after,
.mv-tour .tfaq .fq.open .fq-q .p::after{ background:#fff;transform:translate(-50%,-50%) scaleY(0); }

/* ---- FAQ section heading (unify "questions" span to brand blue) ---- */
.mv .faq-intro h2 span,
.mv .tfaq .sec-head h2 span,
.mv-tour .tfaq h2 span{ color:#015BA8; }
