/* 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 810px;
  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; }
}


