.overflow-hidden {
  overflow: hidden;
}

.main-request-a-demo {
  .hero {
    text-align: center;

    h1,
    p {
      opacity: 1;
      transform: translateY(30px);
      transition: opacity 0.8s ease-out, transform 0.8s ease-out;
      will-change: opacity, transform;
    }
    p {
      max-width: 680px;
      margin: 1rem auto 0;
      font-size: 1.4rem;
    }
  }

  .calendar-section {
    text-align: center;

    .calendar-container {
      max-width: 800px;
      margin: 0 auto;
      background: var(--color-primary);
      border-radius: 20px;
      box-shadow: 0 10px 30px rgba(89, 46, 131, 0.1);
      overflow: hidden;
      padding: 2rem;
      min-height: 400px; /* Prevent layout shift */
    }
  }
}

/* ------------------------------
   Desktop-first breakpoints (downscaling)
------------------------------ */
@media (max-width: 1440px) {
}
@media (max-width: 1200px) {
}
@media (max-width: 992px) {
}
@media (max-width: 768px) {
  .main-request-a-demo {
    .calendar-section {
      padding: 2rem 0;

      .calendar-title {
        font-size: 2rem;
      }

      .calendar-description {
        font-size: 1.1rem;
        padding: 0 1rem;
      }

      .calendar-container {
        margin: 0 1rem;
        padding: 1rem;
        min-height: 350px; /* Smaller min-height for mobile */
      }
    }
  }
}
