.planning-section {
  background: #f3f3f6;
  padding: 80px 0;
  font-family: 'Montserrat', sans-serif;
}

.planning-container {
  max-width: 1100px;
  margin: auto;
  padding: 0 20px;
}

/* INTRO */
.planning-intro {
  text-align: center;
  color: #333;
  
  margin-bottom: 40px;
}

.planning-intro p {
  font-size: 15px;
  
  margin-bottom: 10px;
}

.planning-intro h4 {
  font-size: 14px;
  font-weight: 700;
  margin: 15px 0;
}

/* TABLE */
.planning-table {
  width: 100%;
  margin-top: 30px;
}

.row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}

.row div {
  padding: 14px;
  text-align: center;
  border: 1px solid #fff;
  background: #e5c7aa;
  font-size: 14px;
}

/* HEADER */
.row.header div {
  background: #f58220;
  color: #fff;
  font-weight: 600;
}

/* PILATES COLOR */
.highlight {
  background: #cfcbe9 !important;
}

/* INFO */
.planning-info {
  margin-top: 30px;
  font-size: 14px;
 
  color: #333;
}

.note {
  margin-bottom: 15px;
 font-weight: 700px;
}

.note span {
  text-decoration: underline;
  cursor: pointer;
}

/* LEGEND */
.legend {
  margin: 15px 0;
}

.legend div {
  margin-bottom: 8px;
}

.box {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 10px;
}

.box.orange {
  background: #e5c7aa;
}

.box.purple {
  background: #cfcbe9;
}

/* DETAILS */
.details {
  margin-top: 10px;
  line-height: 1.6;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .planning-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 15px; /* space for scrollbar */
  }
  
  /* Smooth scrollbar styling */
  .planning-table::-webkit-scrollbar {
    height: 8px;
  }
  .planning-table::-webkit-scrollbar-track {
    background: #f3f3f6;
    border-radius: 4px;
  }
  .planning-table::-webkit-scrollbar-thumb {
    background: #f58220;
    border-radius: 4px;
  }

  .row {
    min-width: 700px; /* Ensures the table doesn't shrink too much, enabling scroll */
  }
}

.hero {
  width: 100%;
  height: 450px;
  background: url("../image/1.2.jpg") center center / cover no-repeat;
  position: relative;
}

/* RIGHT BOX */
.hero-box {
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.8);
  padding: 40px 50px;
  text-align: center;
}

/* 33H */
.hero-box h2 {
  font-size: 48px;
  color: #3f3fa8;
  margin-bottom: 10px;
}

/* TEXT */
.hero-box p {
  font-size: 18px;
  letter-spacing: 2px;
  line-height: 1.6;
  color: #000;
}