/* Start custom CSS for html, class: .elementor-element-d8ea333 *//* ================= YOGA DAY STYLES ================= */

.yoga-day {
  padding: 55px 20px;
  background: linear-gradient(135deg, #f0fdf4, #ecfeff);
  text-align: center;
}

.yoga-title {
  font-size: 32px;
  font-weight: 700;
  color: #065f46;
  margin-bottom: 10px;
}

.yoga-subtitle {
  font-size: 16px;
  color: #374151;
  max-width: 700px;
  margin: 0 auto 40px;
}

.yoga-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
  max-width: 1200px;
  margin: auto;
}

.yoga-gallery img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.15);
  transition: transform 0.4s ease;
}

.yoga-gallery img:hover {
  transform: scale(1.06);
}

/* Mobile Responsive */
@media (max-width: 600px) {
  .yoga-title {
    font-size: 24px;
  }

  .yoga-gallery img {
    height: 220px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fd846f8 *//* ========== SHARED STAGE / ACTIVITY GALLERY ========== */

.stage-performance {
  padding: 60px 16px;
  background: #f8fafc;
}

.stage-container {
  max-width: 1200px;
  margin: auto;
}

/* Header reuse */
.activity-header {
  max-width: 900px;
  margin: 0 auto 45px;
  text-align: center;
}

.activity-title {
  font-size: 32px;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 10px;
}

.activity-desc {
  font-size: 16px;
  color: #4b5563;
  line-height: 1.7;
}

/* Grid */
.stage-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
}

/* Card */
.stage-card {
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

/* Horizontal 12:9 */
.stage-card.horizontal {
  aspect-ratio: 12 / 9;
}

/* Image */
.stage-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  transition: transform 0.4s ease;
}

.stage-card img:hover {
  transform: scale(1.08);
}

/* Desktop */
@media (min-width: 992px) {
  .stage-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .activity-title {
    font-size: 22px;
  }

  .activity-desc {
    font-size: 14.5px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5e9320c *//* ========== STAGE PERFORMANCE ========== */

.stage-performance {
  padding: 60px 16px;
  background: #f8fafc;
}

.stage-container {
  max-width: 1200px;
  margin: auto;
}

/* ===== ABOUT ACTIVITY ===== */
.activity-header {
  max-width: 900px;
  margin: 0 auto 45px;
  text-align: center;
}

.activity-title {
  font-size: 32px;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 10px;
}

.activity-desc {
  font-size: 16px;
  color: #4b5563;
  line-height: 1.7;
}

/* ===== GALLERY ===== */
.stage-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
}

.stage-card {
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.stage-card.horizontal {
  aspect-ratio: 12 / 9;
}

.stage-card.vertical {
  aspect-ratio: 9 / 16;
}

.stage-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.stage-card img:hover {
  transform: scale(1.08);
}

/* Desktop */
@media (min-width: 992px) {
  .stage-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .activity-title {
    font-size: 22px;
  }
  .activity-desc {
    font-size: 14.5px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0e571a8 *//* ===== ACTIVITY SECTION ===== */
.activity-section {
  padding: 60px 20px;
  background: #f8fafc;
  text-align: center;
}

.activity-title {
  font-size: 32px;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 10px;
}

.activity-desc {
  max-width: 900px;
  margin: 0 auto 40px;
  font-size: 16px;
  color: #4b5563;
  line-height: 1.7;
}

/* ===== HORIZONTAL GALLERY (3 PER ROW) ===== */
.horizontal-reel-gallery {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.reel-horizontal {
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

.reel-horizontal img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.reel-horizontal img:hover {
  transform: scale(1.08);
}

/* Tablet */
@media (max-width: 992px) {
  .horizontal-reel-gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .activity-title {
    font-size: 26px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .horizontal-reel-gallery {
    grid-template-columns: 1fr;
  }

  .reel-horizontal {
    aspect-ratio: 16 / 11;
  }

  .activity-title {
    font-size: 22px;
  }

  .activity-desc {
    font-size: 14.5px;
  }
}/* End custom CSS */