/*!
 * Responsive overrides for the YourSkins frontend.
 * The Hope UI base theme already includes breakpoints, but these rules
 * tighten the experience for small viewports and touch devices.
 */
:root {
  --sidebar-mobile-width: 280px;
}

.hero-banner {
  height: clamp(320px, 60vh, 700px);
}

.hero-banner-img {
  height: clamp(320px, 60vh, 700px);
}

.hero-banner .iq-container {
  padding: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 6vw, 3.5rem);
}

@media (min-width: 1200px) {
  .hero-banner,
  .hero-banner-img {
    height: 350px;
  }
}

@media (max-width: 1199.98px) {
  .nav .sidebar-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .iq-navbar .navbar-brand {
    padding-left: 3rem;
  }

  .navbar-inner {
    gap: 0.75rem;
  }
}

@media (max-width: 1024px) {
  .sidebar {
    --sidebar-mobile-width: min(280px, 85vw);
    width: var(--sidebar-mobile-width);
    max-width: var(--sidebar-mobile-width);
    left: 0;
    transform: translateX(0);
    box-shadow: 0 1.5rem 2.5rem rgba(15, 23, 42, 0.35);
  }

  .sidebar.sidebar-mini {
    transform: translateX(calc(-1 * var(--sidebar-mobile-width) - 24px));
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .sidebar.sidebar-mini .sidebar-toggle {
    display: none;
  }

  .sidebar:not(.sidebar-mini) {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

  .sidebar + .main-content,
  .sidebar.sidebar-mini + .main-content {
    margin-left: 0;
  }

  .main-content {
    position: relative;
  }

  .iq-navbar .navbar-brand {
    padding-left: 2.75rem;
  }
}

@media (max-width: 767.98px) {
  .hero-banner .iq-container {
    text-align: center;
  }

  .hero-banner .logo-title {
    margin-top: 0.75rem;
  }

  .container-fluid.content-inner,
  .content-inner .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .content-wrapper {
    padding: 0 12px;
  }

  .footer .footer-body {
    gap: 0.75rem;
    justify-content: center;
  }

  .footer .left-panel,
  .footer .right-panel {
    text-align: center;
  }

  .cyber-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 575.98px) {
  .navbar-inner {
    gap: 1rem;
  }

  .iq-navbar .navbar-brand {
    padding-left: 2.25rem;
  }

  .hero-banner .iq-container {
    padding: 2rem 1.25rem;
  }

  .block_case_library-grid {
    gap: 16px;
  }
}

