/* Block wrapper */
.masterclass {
  position: relative;
  margin-bottom: 150px;
  padding: 0 20px;
  font-family: 'Playfair Display';
}

/* Background box */
.bg-box {
  position: relative;
  z-index: 1;
  border-radius: 6px;
  display: flex;
  overflow: visible;
  padding: 106px 116px;
}

/* Left section → text right align */
.masterclass .bg-left .bg-box {
  justify-content: flex-end;
}

/* Right section → text left align */
.masterclass.bg-right .bg-box {
  justify-content: flex-start;
}

/* Different backgrounds */
.masterclass .bg-left {
  background: #f3e4da url('https://sofiasundari.com/wp-content/themes/sofia/assets/images/online-event-bg-2@2x.png') no-repeat 0 50% / 930px 900px;
  min-height: 750px;
}
.masterclass .bg-right {
  background: #efede8 url('https://sofiasundari.com/wp-content/themes/sofia/assets/images/online-event-bg-5@2x.png') no-repeat 100% 0 / 936px 316px;
  min-height: 750px;
}

/* Text card */
.text-card {
  max-width: 480px;
  position: relative;
  z-index: 2;
  background: transparent;
  margin: 0;
}
.masterclass .bg-left .text-card,
.masterclass .bg-right .text-card {
  padding: 0px;
}

.text-card small {
  font-size: 25px;
  letter-spacing: 2px;
  color: #930504;
  text-transform: capitalize;
  display: block;
  margin-bottom: 15px;
  font-weight: 600;
}

.text-card h2 {
  margin: 0 0 18px;
  font-size: 42px;
  font-weight: 600;
  color: #181818;
  line-height: 1.3;
}
.text-card p {
  font-size: 28px;
  line-height: 1.6;
  color: #3c2f29;
  margin: 0 0 40px;
  font-weight: 500;
}
.text-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 25px;
  font-size: 20px;
  line-height: 1.6;
  color: #3c2f29;
}

/* Image overlap */
.image-box {
  position: absolute;
  top: -80px;
  width: 500px;
  height: 750px;
  z-index: 3;
}
.image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .25);
}
.masterclass .bg-left .image-box { left: 120px; }
.masterclass .bg-right .image-box { right: 120px; }

/* Circle label */
.label {
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(-56%, -50%);
  width: 74px;
  height: 74px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #444;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
  z-index: 5;
  text-transform: uppercase;
}
.masterclass.bg-right .label {
  left: 0;
  transform: translate(-44%, -50%);
}

/* Button */
.btn {
  display: inline-block;
  padding: 14px 36px;
  border-radius: 30px;
  background: linear-gradient(90deg, #d4af37, #c89b3c);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(200, 155, 60, .35);
  transition: filter .25s ease, transform .25s ease;
}
.btn:hover { filter: brightness(.95); transform: translateY(-1px); }

/* ========== Tablet (≤1024px) ========== */
@media (max-width:1024px) {
  .bg-box {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 60px 40px;
    text-align: left;
  }

  .masterclass .bg-left .image-box,
  .masterclass .bg-right .image-box {
    top: -40px;
    max-width: 420px;
    height: 580px;
  }

  .text-card {
    max-width: 550px;
    padding: 20px;
    text-align: left;
  }

  .text-card h2 { font-size: 36px; }
  .text-card p, .text-card ul { font-size: 22px; line-height: 1.7; }
}

/* ========== Large mobile (≤768px) ========== */
@media (max-width:768px) {
  .bg-box {
    flex-direction: column;
    padding: 30px 20px;
    text-align: left;
    align-items: flex-start;
  }

  .masterclass .bg-left .image-box,
  .masterclass .bg-right .image-box {
    position: relative;
    top: -40px;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 380px;
    height: 520px;
  }

  .label {
    bottom: -40px;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  .text-card {
    max-width: 100%;
    margin: 30px 0 0;
    text-align: left;
  }

  .text-card h2 { font-size: 34px; }
  .text-card p, .text-card ul { font-size: 20px; line-height: 1.8; }
}

/* ========== Small mobile (≤480px) ========== */
@media (max-width:480px) {
  .masterclass { padding: 0; }

  .masterclass .bg-left,
  .masterclass .bg-right {
    width: 100%;
    background-size: cover;
    background-position: center;
    padding: 0;
  }

  .bg-box {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    padding: 0 20px 50px;
  }

  .masterclass .bg-left .image-box,
  .masterclass .bg-right .image-box {
    top: -60px;
    max-width: 340px;
    height: 500px;
    margin: 0 auto;
  }

  .label {
    left: 50% !important;
    top: auto;
    bottom: -36px;
    transform: translate(-50%, 0) !important;
  }

  .text-card {
    padding: 0 !important;
    max-width: 100%;
    margin-top: 20px;
    text-align: left;
  }

  .text-card h2 { font-size: 30px; }
  .text-card p, .text-card ul { font-size: 18px; line-height: 1.9; }
}

/* ========== Extra small (≤360px) ========== */
@media (max-width:360px) {
  .bg-box {
    padding: 0 20px 50px;
  }

  .masterclass .bg-left .image-box,
  .masterclass .bg-right .image-box {
    top: -60px;
    max-width: 300px;
    height: 450px;
  }

  .text-card h2 { font-size: 26px; }
  .text-card p, .text-card ul { font-size: 17px; line-height: 2; }
}





 .bio-section {
      position: relative;
      overflow: hidden;
    }
    .bio-bg {
      position: absolute;
      top: 0;
      left: 40%;
      right: 0;
      bottom: 0;
      background-color: #f8f6f4; /* हल्का cream जैसा bg */
      z-index: 0;
    }
    .bio-content {
      position: relative;
      z-index: 1;
      padding: 4rem 0;
    }
    .bio-image img {
      border-radius: 8px;
      max-width: 80%;
      height: auto;
    }
    .bio-text h2 {
      margin: 0 0 18px;
      font-size: 40px;
      font-weight: 600;
      color: #181818;
      line-height: 1.2;
    }
    .bio-text ul {
        list-style: none;
        padding: 0;
        margin: 0 0 25px;
        font-size: 21px;
        line-height: 1.3;
        color: #3c2f29;
    }
    

    .bio-text p 
      {
    font-size: 21px;
    line-height: 1.6;
    color: #3c2f29;
    margin: 0 0 40px;
}

 .bio-text p small{
      font-size:27px;
      letter-spacing:2px;
      color:#930504;
      text-transform:capitalize;
      display:block;
      margin-bottom:15px;
      font-weight:600;
    }




.bio-section {
  position: relative;
  overflow: hidden;
}

.bio-bg {
  position: absolute;
  top: 0;
  left: 40%;
  right: 0;
  bottom: 0;
  background-color: #fdfaf2; /* हल्का cream जैसा bg */
  z-index: 0;
}

.bio-content {
  position: relative;
  z-index: 1;
  padding: 4rem 0;
  display: flex;
  align-items: center;
  gap: 50px;
}

.bio-image img {
  border-radius: 4px;
  max-width: 80%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.bio-text {
  flex: 1;
}

.bio-text h2 {
  margin: 0 0 18px;
  font-size: 40px;
  font-weight: 600;
  color: #181818;
  line-height: 1.2;
}

.bio-text ul {
  list-style: none;
  padding: 0;
  margin: 0 0 25px;
  font-size: 21px;
  line-height: 1.3;
  color: #3c2f29;
}

.bio-text ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 8px;
}


.bio-text p {
  font-size: 21px;
  line-height: 1.6;
  color: #3c2f29;
  margin: 0 0 40px;
}

.bio-text p small {
  font-size: 27px;
  letter-spacing: 2px;
  color: #930504;
  text-transform: capitalize;
  display: block;
  margin-bottom: 15px;
  font-weight: 600;
}

/* -------------------- Responsive -------------------- */
@media (max-width: 768px) {
  .bio-content {
    flex-direction: column;    /* Stack vertically */
   
    padding: 2rem 1rem;
  }

  .bio-bg {
    left: 0;                   /* Background full width on mobile */
  }

  .bio-image img {
    max-width: 100%;
  }

  .bio-text h2 {
    font-size: 30px;
  }

  .bio-text p,
  .bio-text ul {
    font-size: 18px;
  }

  .bio-text ul li {
    text-align: left;
  }
}


   

.testimonial-wrapper{margin:auto;padding:60px 0;text-align:center;background-color:#fdfaf2;font-family:'Playfair Display',serif}
.testimonial-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.1);padding:35px;width:100%;max-width:400px;height:600px;margin:30px auto;display:flex;flex-direction:column;justify-content:flex-start;text-align:center;position:relative}
.testimonial-card::after,.testimonial-card::before{margin:80px 20px 40px 20px}
.testimonial-card::before{content:'';position:absolute;width:280px;height:510px;border:2px solid #884d4c;bottom:0;left:0;border-top:none;border-right:none;border-radius:0 0 0 10px}
.testimonial-card::after{content:'';position:absolute;width:280px;height:470px;border:2px solid #884d4c;top:0;right:0;border-bottom:none;border-left:none;border-radius:10px 0 0 0}
.testimonial-header{position:absolute;top:40px;left:60%;transform:translateX(-50%)}
.testimonial-title{font-family:"Great Vibes",Verdana,Arial,sans-serif;font-size:55px;text-align:center;font-weight:500;color:#b89841;letter-spacing:5px;line-height:40px}
.quote-icon-top{color:#b89841;font-size:4rem;position:absolute;top:10px;left:30px;transform:rotate(180deg) scaleX(-1)}
.quote-icon-bottom{color:#b89841;font-size:4rem;position:absolute;bottom:10px;right:40px}
.profile-section{display:flex;align-items:center;margin-bottom:20px}
.profile-img{width:100px;height:100px;border-radius:50%;object-fit:cover;margin-right:15px;border:3px solid #884d4c}
.author-info h4{font-weight:700;color:#333;font-size:25px}
.author-info p{color:#777;font-size:19px}
.testimonial-text{font-size:19px;line-height:1.5;color:#555;margin:15px 0;min-height:90px; display: -webkit-box;
  -webkit-line-clamp: 7;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;letter-spacing: 1px;}
.rating-section{display:flex;justify-content:center;margin-top:10px}
.star-rating .fa-star{color:#f9c238;font-size:1.3rem;margin:0 3px}
.swiper{width:100%;height:100%}
.swiper-slide{margin-top:100px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;height:100%}
.swiper-pagination-bullet{width:14px;height:14px;background:#ddd;opacity:1;border-radius:50%;margin:0 6px!important;transition:all .3s ease;border:2px solid #f9c238;position:relative}
.swiper-pagination-bullet-active{background:#930504;transform:scale(1.4);box-shadow:0 0 12px rgba(249,194,56,.8)}
.swiper-pagination-bullet-active::after{content:"";position:absolute;width:24px;height:24px;border:2px solid rgba(249,194,56,.5);border-radius:50%;top:-6px;left:-6px;animation:pulse 1.2s infinite ease-in-out}
@keyframes pulse{
0%{transform:scale(.8);opacity:1}
100%{transform:scale(1.4);opacity:0}
}
.swiper-pagination{bottom:30px!important}

 
