/* ============================================================
   BEE SHORTCODES — Component library
   Used across home page, course pages, and any other content
   
   Components included:
   - .bee-experience-cards / .bee-experience-card / .bee-card-fact
   - .bee-section-intro
   - .bee-timeline / .bee-timeline__step
   - .bee-benefits / .bee-benefit
   - .bee-who-is-for / .bee-who-is-for__item
   - .bee-instructor
   
   Spacing rhythm:
   - Between sections: 48px
   - Card padding: 24px
   - Internal gaps: 14px
   ============================================================ */


/* ============================================================
   1. EXPERIENCE CARDS — grid of structured info cards
   ============================================================ */

.bee-experience-cards {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 20px;
   margin: 0 0 48px;
}

.bee-experience-card {
   position: relative;
   display: flex;
   flex-direction: column;
   padding: 28px;
   background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
   border: 1px solid rgba(2, 16, 31, 0.08);
   border-radius: 20px;
   box-shadow: 0 8px 24px rgba(2, 16, 31, 0.04);
   overflow: hidden;
   transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Subtle decorative gold glow in the corner */
.bee-experience-card::before {
   content: '';
   position: absolute;
   bottom: -40px;
   right: -40px;
   width: 160px;
   height: 160px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(255, 219, 27, 0.08) 0%, transparent 70%);
   pointer-events: none;
}

.bee-experience-card:hover {
   transform: translateY(-4px);
   border-color: rgba(255, 219, 27, 0.22);
   box-shadow: 0 16px 40px rgba(2, 16, 31, 0.08);
}

/* Featured card — gold tint */
.bee-experience-card.is-featured {
   border-color: rgba(255, 219, 27, 0.35);
   box-shadow: 0 14px 36px rgba(255, 219, 27, 0.10);
}

/* Icon (Lucide SVG inside) */
.bee-experience-card__icon {
   position: relative;
   z-index: 2;
   width: 56px;
   height: 56px;
   display: grid;
   place-items: center;
   margin-bottom: 18px;
   border-radius: 50%;
   background: linear-gradient(180deg, rgba(11, 30, 45, 0.98) 0%, rgba(2, 16, 31, 0.98) 100%);
   border: 1px solid rgba(255, 219, 27, 0.14);
   color: var(--bee-gold);
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.bee-experience-card__icon svg {
   width: 24px;
   height: 24px;
   stroke-width: 2;
}

/* Badge — top right */
.bee-experience-card__badge {
   position: absolute;
   top: 24px;
   right: 24px;
   display: inline-flex;
   align-items: center;
   padding: 6px 12px;
   border-radius: 999px;
   background: rgba(255, 219, 27, 0.12);
   border: 1px solid rgba(255, 219, 27, 0.25);
   color: var(--bee-dark);
   font-size: 10px;
   font-weight: 700;
   letter-spacing: 0.8px;
   text-transform: uppercase;
   line-height: 1;
}

/* Title */
.bee-experience-card__title {
   position: relative;
   z-index: 2;
   margin: 0 0 20px !important;
   color: var(--bee-dark);
   font-size: 20px !important;
   font-weight: 700;
   line-height: 1.3;
   letter-spacing: -0.2px;
}

/* Gold divider under title */
.bee-experience-card__title::after {
   content: '';
   display: block;
   width: 48px;
   height: 3px;
   margin-top: 12px;
   border-radius: 999px;
   background: linear-gradient(90deg, var(--bee-gold), var(--bee-gold-dark, #EF9F27));
}

/* Content area */
.bee-experience-card__content {
   position: relative;
   z-index: 2;
   color: #475569;
   font-size: 15px;
   line-height: 1.65;
}

.bee-experience-card__content p {
   margin: 0 0 12px;
}

.bee-experience-card__content p:last-child {
   margin: 0;
}


/* ============================================================
   1a. CARD FACT — key:value rows inside an experience card
   ============================================================ */

.bee-card-fact {
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 14px;
   align-items: baseline;

   padding: 12px 0;
   border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.bee-card-fact:first-child {
   padding-top: 0;
   margin-top: 20px;
}

.bee-card-fact:last-child {
   padding-bottom: 0;
   border-bottom: 0;
}

.bee-card-fact__label {
   font-size: 12px;
   font-weight: 600;
   color: #64748b;
   text-transform: uppercase;
   letter-spacing: 0.6px;
   line-height: 1.4;
}

.bee-card-fact__value {
   font-size: 15px;
   font-weight: 600;
   color: var(--bee-dark);
   text-align: right;
   line-height: 1.4;
}


/* ============================================================
   2. SECTION INTRO — eyebrow + title + body prose
   ============================================================ */

.bee-section-intro {
   margin: 0 0 40px;
}

.bee-section-intro--center {
   text-align: center;
   max-width: 680px;
   margin-left: auto;
   margin-right: auto;
}

.bee-section-intro__eyebrow {
   display: block;
   font-size: 14px;
   font-weight: 700;
   color: var(--bee-gold-dark, #EF9F27);
   letter-spacing: 1.5px;
   text-transform: uppercase;
   line-height: 1;
   margin: 0 0 14px;
}

.bee-section-intro__title {
   font-size: 26px;
   font-weight: 600;
   color: var(--bee-dark);
   line-height: 1.25;
   margin: 0 0 18px !important;
   letter-spacing: -0.4px;
}

.bee-section-intro__body {
   font-size: 16px;
   line-height: 1.7;
   color: #475569;
   max-width: 640px;
}

.bee-section-intro--center .bee-section-intro__body {
   margin-left: auto;
   margin-right: auto;
}

.bee-section-intro__body p {
   margin: 0 0 14px;
   /* font-weight: bold; */
   font-size: 18px !important;
   color: var(--bee-dark) !important;
}

.bee-section-intro__body p:last-child {
   margin: 0;
}


/* ============================================================
   3. TIMELINE — numbered steps with connecting line
   ============================================================ */

.bee-timeline {
   margin: 0 0 48px;
}

.bee-timeline__title {
   font-size: 24px;
   font-weight: 600;
   color: var(--bee-dark);
   line-height: 1.3;
   margin: 0 0 24px !important;
   letter-spacing: -0.3px;
}

.bee-timeline__list {
   list-style: none;
   padding: 0;
   margin: 0;
   display: grid;
   gap: 0;
}

.bee-timeline__step {
   position: relative;
   display: grid;
   grid-template-columns: 48px 1fr;
   gap: 20px;
   padding: 4px 0;
}

/* Vertical line connecting steps */
.bee-timeline__step:not(:last-child)::before {
   content: "";
   position: absolute;
   left: 23px;
   top: 52px;
   bottom: -4px;
   width: 2px;
   background: linear-gradient(180deg, rgba(15, 23, 42, 0.12), rgba(15, 23, 42, 0.05));
   border-radius: 2px;
}

.bee-timeline__number {
   width: 48px;
   height: 48px;
   border-radius: 50%;
   background: var(--bee-dark);
   color: var(--bee-gold);
   display: grid;
   place-items: center;
   font-size: 14px;
   font-weight: 700;
   letter-spacing: -0.3px;
   position: relative;
   z-index: 1;
   transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.bee-timeline__step:hover .bee-timeline__number {
   transform: scale(1.05);
   box-shadow: 0 8px 20px rgba(2, 16, 31, 0.18);
}

/* Featured step — gold filled */
.bee-timeline__step.is-featured .bee-timeline__number {
   background: var(--bee-gold);
   color: var(--bee-dark);
   box-shadow: 0 8px 24px rgba(255, 219, 27, 0.32);
}

.bee-timeline__body {
   padding: 10px 0 28px;
   min-width: 0;
}

.bee-timeline__step:last-child .bee-timeline__body {
   padding-bottom: 4px;
}

.bee-timeline__heading {
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 14px;
   align-items: baseline;
   margin: 0 0 8px;
}

.bee-timeline__step-title {
   font-size: 17px;
   font-weight: 600;
   color: var(--bee-dark);
   line-height: 1.3;
   margin: 0 0 15px 0 !important;
   letter-spacing: -0.2px;
}

.bee-timeline__duration {
   font-size: 11px;
   font-weight: 700;
   color: var(--bee-gold-dark, #EF9F27);
   text-transform: uppercase;
   letter-spacing: 0.6px;
   white-space: nowrap;
   background: rgba(239, 159, 39, 0.10);
   padding: 5px 10px;
   border-radius: 999px;
   line-height: 1;
}

.bee-timeline__description {
   font-size: 15px;
   line-height: 1.65;
   color: #475569;
}

.bee-timeline__description p {
   margin: 0;
}

.bee-timeline__description p+p {
   margin-top: 10px;
}


/* ============================================================
   4. BENEFITS GRID — icon + title + description cards
   ============================================================ */

.bee-benefits {
   margin: 0 0 48px;
}

.bee-benefits__title {
   font-size: 38px;
   font-weight: 600;
   color: var(--bee-dark);
   line-height: 1.3;
   margin: 0 0 24px !important;
   letter-spacing: -0.3px;
}

.bee-benefits__grid {
   display: grid;
   gap: 16px;
}

.bee-benefits--cols-2 .bee-benefits__grid {
   grid-template-columns: repeat(2, 1fr);
}

.bee-benefits--cols-3 .bee-benefits__grid {
   grid-template-columns: repeat(3, 1fr);
}

.bee-benefits--cols-4 .bee-benefits__grid {
   grid-template-columns: repeat(2, 1fr);
}

/* Single benefit card */
.bee-benefit {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 16px;
   align-items: start;
   padding: 22px;
   background: #fff;
   border: 1px solid rgba(15, 23, 42, 0.06);
   border-radius: 14px;
   transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.bee-benefit:hover {
   transform: translateY(-3px);
   border-color: rgba(239, 159, 39, 0.25);
   box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.bee-benefit__icon {
   display: grid;
   place-items: center;
   width: 40px;
   height: 40px;
   background: rgba(239, 159, 39, 0.10);
   border-radius: 10px;
   color: var(--bee-gold-dark, #EF9F27);
   flex-shrink: 0;
}

.bee-benefit__icon svg {
   width: 20px;
   height: 20px;
   stroke-width: 2;
}

.bee-benefit__content {
   min-width: 0;
   display: grid;
   gap: 6px;
}

.bee-benefit__title {
   font-size: 15px;
   font-weight: 600;
   color: var(--bee-dark);
   line-height: 1.3;
   margin: 0 0 10px 0 !important;
   letter-spacing: -0.1px;
}

.bee-benefit__description {
   font-size: 13px;
   line-height: 1.6;
   color: #64748b;
}

.bee-benefit__description p {
   margin: 0;
}


/* ============================================================
   5. WHO IS THIS FOR — checklist
   ============================================================ */

.bee-who-is-for {
   margin: 0 0 48px;
   padding: 28px 30px;
   background: #fff;
   border: 1px solid rgba(93, 202, 165, 0.18);
   border-radius: 16px;
}

.bee-who-is-for__title {
   font-size: 18px;
   font-weight: 600;
   color: var(--bee-dark);
   line-height: 1.3;
   margin: 0 0 18px;
   letter-spacing: -0.2px;
}

.bee-who-is-for__list {
   list-style: none;
   padding: 0;
   margin: 0;
   display: grid;
   gap: 12px;
}

.bee-who-is-for__item {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 14px;
   align-items: start;
}

.bee-who-is-for__check {
   display: grid;
   place-items: center;
   width: 24px;
   height: 24px;
   background: rgba(29, 158, 117, 0.12);
   color: var(--bee-teal, #1D9E75);
   border-radius: 50%;
   flex-shrink: 0;
   margin-top: 2px;
}

.bee-who-is-for__check svg {
   width: 14px;
   height: 14px;
   stroke-width: 3;
}

.bee-who-is-for__text {
   font-size: 15px;
   line-height: 1.6;
   color: #334155;
}


/* ============================================================
   6. INSTRUCTOR CARD — photo + name + credentials + bio
   ============================================================ */

.bee-instructor {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 24px;
   align-items: center;
   padding: 28px 30px;
   background: var(--bee-dark);
   border-radius: 20px;
   box-shadow: 0 16px 36px rgba(2, 16, 31, 0.18);
   margin: 0 0 48px;
   position: relative;
   overflow: hidden;
}

/* Gold left stripe */
.bee-instructor::before {
   content: "";
   position: absolute;
   top: 22px;
   bottom: 22px;
   left: 0;
   width: 3px;
   background: linear-gradient(180deg, var(--bee-gold), transparent);
   border-radius: 0 3px 3px 0;
   pointer-events: none;
}

.bee-instructor__photo {
   width: 96px;
   height: 96px;
   border-radius: 50%;
   overflow: hidden;
   background: rgba(255, 255, 255, 0.06);
   border: 2px solid rgba(255, 219, 27, 0.3);
   flex-shrink: 0;
   position: relative;
   z-index: 1;
}

.bee-instructor__photo img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.bee-instructor__photo--placeholder {
   display: grid;
   place-items: center;
   color: rgba(255, 255, 255, 0.3);
}

.bee-instructor__photo--placeholder svg {
   width: 36px;
   height: 36px;
}

.bee-instructor__content {
   min-width: 0;
   position: relative;
   z-index: 1;
}

.bee-instructor__eyebrow {
   display: block;
   font-size: 11px;
   font-weight: 700;
   color: var(--bee-gold);
   letter-spacing: 1.5px;
   text-transform: uppercase;
   margin: 0 0 8px;
   line-height: 1;
}

.bee-instructor__name {
   font-size: 20px;
   font-weight: 600;
   color: #fff !important;
   line-height: 1.2;
   margin: 0 0 6px;
   letter-spacing: -0.3px;
}

.bee-instructor__credentials {
   display: block;
   font-size: 14px;
   font-weight: 500;
   color: var(--bee-gold);
   line-height: 1.4;
   margin: 0 0 12px;
   letter-spacing: 0.2px;
}

.bee-instructor__bio>p {
   font-size: 16px;
   line-height: 1.65;
   color: rgba(255, 255, 255, 0.5) !important;
}

.bee-instructor__bio p {
   margin: 0;
}

.bee-instructor__bio p+p {
   margin-top: 8px;
}


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

@media (max-width: 991px) {
   .bee-experience-cards {
      grid-template-columns: 1fr;
      gap: 16px;
   }

   .bee-benefits--cols-4 .bee-benefits__grid,
   .bee-benefits--cols-3 .bee-benefits__grid {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media (max-width: 600px) {

   /* Spacing between sections */
   .bee-experience-cards,
   .bee-section-intro,
   .bee-timeline,
   .bee-benefits,
   .bee-who-is-for,
   .bee-instructor {
      margin-bottom: 36px;
   }

   /* Cards — smaller padding */
   .bee-experience-card {
      padding: 22px;
      border-radius: 16px;
   }

   .bee-experience-card__title {
      font-size: 17px;
   }

   .bee-experience-card__badge {
      position: relative;
      top: auto;
      right: auto;
      align-self: flex-start;
      margin-bottom: 14px;
   }

   .bee-experience-card__icon {
      width: 48px;
      height: 48px;
      margin-bottom: 14px;
   }

   .bee-experience-card__icon svg {
      width: 20px;
      height: 20px;
   }

   /* Section intro */
   .bee-section-intro__title {
      font-size: 22px;
   }

   .bee-section-intro__body {
      font-size: 14px;
   }

   /* Timeline */
   .bee-timeline__title {
      font-size: 20px;
   }

   .bee-timeline__step {
      grid-template-columns: 40px 1fr;
      gap: 16px;
   }

   .bee-timeline__number {
      width: 40px;
      height: 40px;
      font-size: 12px;
   }

   .bee-timeline__step:not(:last-child)::before {
      left: 19px;
      top: 44px;
   }

   .bee-timeline__step-title {
      font-size: 15px;
   }

   .bee-timeline__description {
      font-size: 14px;
   }

   /* Benefits */
   .bee-benefits__title {
      font-size: 20px;
   }

   .bee-benefits--cols-4 .bee-benefits__grid,
   .bee-benefits--cols-3 .bee-benefits__grid,
   .bee-benefits--cols-2 .bee-benefits__grid {
      grid-template-columns: 1fr;
   }

   .bee-benefit {
      padding: 18px;
   }

   /* Who is for */
   .bee-who-is-for {
      padding: 22px;
   }

   .bee-who-is-for__title {
      font-size: 16px;
   }

   .bee-who-is-for__text {
      font-size: 14px;
   }

   /* Instructor */
   .bee-instructor {
      grid-template-columns: 1fr;
      text-align: center;
      padding: 28px 24px;
      gap: 18px;
   }

   .bee-instructor::before {
      top: 0;
      bottom: auto;
      left: 16px;
      right: 16px;
      width: auto;
      height: 3px;
      background: linear-gradient(90deg, var(--bee-gold), transparent);
   }

   .bee-instructor__photo {
      margin: 0 auto;
   }

   .bee-instructor__name {
      font-size: 18px;
   }
}

.bee-course-single-content>.bee-experience-card {
   margin-bottom: 50px;
}