/* ============================================================
   FAQ — Unified accordion component (DARK variant)
   Works inside .faq-section AND on single-course.php
   ============================================================ */

.bee-faq {
   display: grid;
   gap: 12px;
}

/* ---------- Single item ---------- */
.bee-faq-item {
   background: var(--bee-dark);
   border: 1px solid rgba(255, 255, 255, 0.06);
   border-radius: 14px;
   overflow: hidden;
   box-shadow: 0 8px 20px rgba(2, 16, 31, 0.15);
   transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.bee-faq-item:hover {
   border-color: rgba(255, 219, 27, 0.2);
   box-shadow: 0 12px 28px rgba(2, 16, 31, 0.22);
   transform: translateY(-1px);
}

.bee-faq-item.is-open {
   border-color: rgba(255, 219, 27, 0.35);
   box-shadow: 0 14px 32px rgba(2, 16, 31, 0.25), 0 0 0 1px rgba(255, 219, 27, 0.1);
}

/* ---------- Trigger (the question button) ---------- */
.bee-faq-item__trigger {
   width: 100%;
   display: grid;
   grid-template-columns: 1fr auto;
   align-items: center;
   gap: 16px;
   padding: 20px 22px;
   background: transparent;
   border: 0;
   text-align: left;
   cursor: pointer;
   font-family: inherit;
   color: inherit;
}

/* .bee-faq-item__trigger:focus-visible {
   outline: 2px solid var(--bee-gold);
   outline-offset: -2px;
   border-radius: 14px;
} */

/* Hide any stray empty paragraphs WordPress drops into the FAQ wrapper */
.bee-faq>p:empty,
.bee-faq>p:has(> :empty:only-child),
.bee-faq>br {
   display: none !important;
}

/* Catch <p> tags that only contain whitespace */
.bee-faq>p {
   margin: 0;
}

.bee-faq-item__question {
   font-size: 18px;
   font-weight: 600;
   color: #fff;
   line-height: 1.4;
   letter-spacing: -0.1px;
}

/* ---------- Plus toggle (gold circle, dark plus) ---------- */
.bee-faq-item__icon {
   display: grid;
   place-items: center;
   width: 30px;
   height: 30px;
   border-radius: 50%;
   background: var(--bee-gold);
   color: var(--bee-dark);
   font-size: 20px;
   font-weight: 600;
   line-height: 1;
   flex-shrink: 0;
   transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
   box-shadow: 0 4px 12px rgba(255, 219, 27, 0.25);
}

.bee-faq-item .bee-faq-item__trigger:hover,
.bee-faq-item .bee-faq-item__trigger:focus {
   background: rgba(255, 255, 255, 0.1) !important;
}

.bee-faq-item:hover .bee-faq-item__icon {
   box-shadow: 0 6px 16px rgba(255, 219, 27, 0.4);
}

.bee-faq-item.is-open .bee-faq-item__icon {
   transform: rotate(45deg);
   background: rgba(255, 255, 255, 0.3);
   box-shadow: 0 4px 14px rgba(255, 219, 27, 0.45);
}

/* ---------- Answer (collapse/expand) ---------- */
.bee-faq-item__content {
   display: grid;
   grid-template-rows: 0fr;
   transition: grid-template-rows 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.bee-faq-item.is-open .bee-faq-item__content {
   grid-template-rows: 1fr;
}

.bee-faq-item__answer {
   overflow: hidden;
   min-height: 0;
}

.bee-faq-item__answer>* {
   padding: 0 22px 20px;
   margin: 0;
}

/* Thin gold divider between question and answer when open */
.bee-faq-item.is-open .bee-faq-item__answer::before {
   content: "";
   display: block;
   height: 1px;
   margin: 0 22px 16px;
   background: linear-gradient(90deg, rgba(255, 219, 27, 0.3), transparent);
}

.bee-faq-item__answer p {
   font-size: 16px;
   line-height: 1.7;
   color: rgba(255, 255, 255, 0.85);
   margin: 0 0 10px;
}

.bee-faq-item__answer p:last-child {
   margin-bottom: 0;
}

.bee-faq-item__answer ul,
.bee-faq-item__answer ol {
   font-size: 14px;
   line-height: 1.7;
   color: rgba(255, 255, 255, 0.75);
   padding-left: 1.5em;
   margin: 0;
}

.bee-faq-item__answer ul li,
.bee-faq-item__answer ol li {
   margin-bottom: 6px;
}

.bee-faq-item__answer a {
   color: var(--bee-gold);
   text-decoration: underline;
   text-underline-offset: 2px;
   transition: color 0.3s ease;
}

.bee-faq-item__answer a:hover {
   color: #fff;
}

.bee-faq-item__answer strong {
   color: #fff;
   font-weight: 600;
}

/* ---------- Mobile ---------- */
@media (max-width: 480px) {
   .bee-faq-item__trigger {
      padding: 18px 18px;
      gap: 12px;
   }

   .bee-faq-item__question {
      font-size: 14px;
   }

   .bee-faq-item__icon {
      width: 26px;
      height: 26px;
      font-size: 16px;
   }

   .bee-faq-item__answer>* {
      padding: 0 18px 18px;
   }

   .bee-faq-item.is-open .bee-faq-item__answer::before {
      margin: 0 18px 14px;
   }
}

/* Homepage Section */

.faq-section .faq-grid {
   position: relative;
   z-index: 2;
   display: grid !important;
   grid-template-columns: 1fr 1.3fr;
   gap: 56px;
   align-items: start;
}

.faq-section .bee-faq-item{
    background: rgba(255, 255, 255, 0.08);
}

.faq-section .bee-section-title h2{
    color:#fff !important;
}

.faq-section .bee-section-desc{
    color:rgba(255,255,255,0.8) !important;
}

@media(min-width:1200px) {
   .faq-section .bee-section-desc {
      width: 440px;
   }
}

@media (max-width: 1024px) {
   .faq-section .faq-grid {
      grid-template-columns: 1fr;
   }
}