/* Independent responsive layouts */
@media (max-width: 1279px) {
  .nv-hero__grid {
    grid-template-columns: 1fr 1fr;
  }

  .nv-hero__visual {
    order: -1;
    grid-column: 1 / -1;
    min-height: 280px;
  }

  .nv-features__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .nv-stats-card {
    grid-column: 1 / -1;
  }

  .nv-courses {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
  }

  .nv-courses[data-count="1"],
  .nv-courses.nv-courses--1 {
    grid-template-columns: minmax(240px, 320px);
  }

  .nv-trio {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1023px) {
  .nv-hero {
    padding: 24px 0 56px;
  }

  .nv-hero__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .nv-steps {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }

  .nv-section {
    padding: 64px 0;
  }

  .nv-cta {
    flex-direction: column;
    align-items: flex-start;
    padding: 32px;
  }
}

@media (max-width: 767px) {
  .nv-features__grid,
  .nv-courses,
  .nv-steps {
    grid-template-columns: 1fr;
  }

  .nv-courses[data-count="1"],
  .nv-courses.nv-courses--1,
  .nv-courses[data-count="2"],
  .nv-courses.nv-courses--2,
  .nv-courses[data-count="3"],
  .nv-courses.nv-courses--3 {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .nv-section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .nv-hero__ctas .nv-btn {
    width: 100%;
  }

  .nv-upcoming__item {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .nv-booking__row--2 {
    grid-template-columns: 1fr;
  }

  .nv-mobile-book-bar {
    display: flex;
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 900;
    background: #fff;
    border: 1px solid var(--nv-border);
    border-radius: 999px;
    box-shadow: var(--nv-shadow-lg);
    padding: 8px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  .nv-mobile-book-bar .nv-btn {
    min-height: 44px;
  }

  body {
    padding-bottom: 84px;
  }
}

@media (min-width: 768px) {
  .nv-mobile-book-bar {
    display: none;
  }
}

@media (max-width: 1023px) {
  .nv-widget-corporate-grid,
  .elementor-widget-nv_corporate .nv-container {
    grid-template-columns: 1fr !important;
  }
}
