/* 
 * Wide Screen Responsive CSS
 * Optimized for F3D Academy
 * Supports screen sizes from mobile to ultra-wide displays
 */

/* Base wide screen settings */
.widescreen-container {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}

/* Ultra-wide screen support (1600px+) */
@media (min-width: 1600px) {
  .widescreen-container {
    max-width: 1600px;
    padding: 0 30px;
  }

  /* Adjust grid layouts for ultra-wide */
  .row {
    margin-left: -20px;
    margin-right: -20px;
  }

  .row > * {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* 4K and larger displays (1920px+) */
@media (min-width: 1920px) {
  .widescreen-container {
    max-width: 1800px;
    padding: 0 40px;
  }
}

/* Large desktop (1200px - 1599px) */
@media (min-width: 1200px) and (max-width: 1599px) {
  .widescreen-container {
    max-width: 1140px;
  }
}

/* Medium desktop/laptop (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
  .widescreen-container {
    max-width: 960px;
  }
}

/* Tablet landscape (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
  .widescreen-container {
    max-width: 720px;
    padding: 0 15px;
  }
}

/* Tablet portrait (576px - 767px) */
@media (min-width: 576px) and (max-width: 767px) {
  .widescreen-container {
    max-width: 540px;
    padding: 0 15px;
  }
}

/* Mobile (up to 575px) */
@media (max-width: 575px) {
  .widescreen-container {
    max-width: 100%;
    padding: 0 10px;
  }

  /* Adjust spacing for mobile */
  .row {
    margin-left: -5px;
    margin-right: -5px;
  }

  .row > * {
    padding-left: 5px;
    padding-right: 5px;
  }
}

/* Responsive text scaling for wide screens */
@media (min-width: 1600px) {
  h1 {
    font-size: 2.8rem;
  }
  h2 {
    font-size: 2.4rem;
  }
  h3 {
    font-size: 2rem;
  }
  h4 {
    font-size: 1.6rem;
  }
  h5 {
    font-size: 1.4rem;
  }
  h6 {
    font-size: 1.2rem;
  }
  p,
  .text-base {
    font-size: 1.1rem;
  }
}

/* Responsive image scaling */
@media (min-width: 1600px) {
  .img-responsive-wide {
    max-width: 100%;
    height: auto;
  }
}

/* Navigation adjustments for wide screens */
@media (min-width: 1600px) {
  .navbar-nav .nav-link {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* Card layouts for wide screens */
@media (min-width: 1600px) {
  .card-deck-wide {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }

  .card-deck-wide .card {
    flex: 1 1 calc(25% - 22.5px);
    min-width: 300px;
  }
}

@media (min-width: 1920px) {
  .card-deck-wide .card {
    flex: 1 1 calc(20% - 24px);
  }
}

/* Course grid responsive adjustments */
@media (min-width: 1600px) {
  .course-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
  }
}

@media (min-width: 1920px) {
  .course-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
  }
}

/* Utility classes for wide screen control */
.hide-on-wide {
  display: block;
}

.show-on-wide {
  display: none;
}

@media (min-width: 1600px) {
  .hide-on-wide {
    display: none;
  }

  .show-on-wide {
    display: block;
  }
}

/* Full width utility for specific sections */
.full-width-section {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Responsive padding utilities */
.px-responsive {
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 1600px) {
  .px-responsive {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (min-width: 1920px) {
  .px-responsive {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 575px) {
  .px-responsive {
    padding-left: 10px;
    padding-right: 10px;
  }
}
