/* Responsive styles */

/* Fix for the Features dropdown specifically */
.nav-link span + i.fas.fa-chevron-down {
    margin-left: 0.1rem !important;
}

.nav-item.relative.group .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.1rem !important;
}

/* Prevent horizontal scrolling without causing vertical scrollbars */
html, body {
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

/* Ensure all containers respect viewport width without causing scrollbars */
.container {
    width: 100%;
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
    overflow: visible;
}

/* Ensure all sections respect viewport width without causing scrollbars */
section {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    overflow-y: visible;
    box-sizing: border-box;
}

/* Improved Navbar Styles for All Devices */
.navbar {
    padding: 0.5rem 0;
}

.navbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo sizing adjustments */
.navbar a.flex img {
    height: 2.5rem;
    width: auto;
}

/* Navigation item spacing */
.nav-item {
    margin: 0 0.25rem;
}

.nav-link {
    display: flex;
    align-items: center;
    white-space: nowrap;
}

/* Dropdown arrow alignment */
.nav-link i.fas.fa-chevron-down {
    margin-left: 0.25rem;
    position: relative;
    top: 1px;
}

/* Button spacing in navbar */
.navbar .btn {
    margin-left: 0.5rem;
}

/* Base responsive rules */
* {
    box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* Menu Toggle Visibility Fix */
.mobile-menu-toggle {
    display: none; /* Hide by default */
}

/* Essential menu show/hide functionality */
.mobile-menu.show, 
.navbar-nav.show {
    display: block !important; /* Force display when class is applied */
}

/* Mobile Navigation Styles */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #333;
    padding: 5px;
    position: absolute;
    right: 15px;
    top: 15px;
    z-index: 1000;
}

/* Modern Mobile Navigation Enhancements */
@media only screen and (max-width: 1024px) {
    /* Show mobile toggle at tablet and smaller laptop sizes */
    .mobile-menu-toggle {
        display: block;
    }
    
    /* Hide desktop menu on tablet and smaller laptop */
    .hidden.md\:flex {
        display: none !important;
    }
    
    /* Fix for both menu implementations */
    #mobile-menu.show {
        display: block !important;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    
    /* Fix gaps at top and bottom of navbar in mobile view */
    header.sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    
    nav.navbar {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    
    nav.navbar .container {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    
    /* Ensure no gap between navbar and content */
    section.relative.min-h-\[90vh\] {
        margin-top: 0;
        padding-top: 60px; /* Adjust based on your navbar height */
    }
    
    main.page-transition {
        padding-top: 60px; /* Adjust based on your navbar height */
        margin-top: 0;
    }
    
    /* Add class for mobile content spacing */
    .mobile-content {
        margin-top: 0;
    }
    
  /* Improve touch targets for mobile */
  .mobile-menu-item {
    padding: 12px 16px;
    margin: 4px 0;
    border-radius: 8px;
  }
  
  /* Add active state for better touch feedback */
  .mobile-menu-item:active {
    background-color: rgba(0,0,0,0.05);
  }
  
  /* Make the navbar stick to top on scroll */
  .navbar.bg-base-100 {
    position: sticky;
    top: 0;
    z-index: 100;
  }
  
  /* Enhance the shadow for better depth perception */
  .mobile-menu.show {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  
  /* Navbar brand/logo alignment */
  .navbar .flex-1 {
    display: flex;
    align-items: center;
  }
}

/* Original mobile styles - keep for smaller screens */
@media only screen and (max-width: 768px) {
    .container {
        width: 100%;
        padding: 0 15px;
    }
    
    header {
        padding: 10px 0;
        position: relative;
        padding: 15px 0;
    }
    
    .navbar-nav {
        flex-direction: column;
        width: 100%;
        display: none;
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        background-color: #fff;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        z-index: 1000;
    }
    
    .navbar-nav.show {
        display: flex;
    }
    
    .navbar-nav li {
        margin: 5px 0;
        text-align: center;
        margin: 0;
        width: 100%;
        border-bottom: 1px solid #eee;
    }
    
    .navbar-nav li a {
        display: block;
        padding: 15px;
        text-align: center;
    }
    
    .hero-section {
        padding: 30px 0;
    }
    
    .row {
        flex-direction: column;
    }
    
    .col, .col-md-6, .col-lg-4, .col-lg-3 {
        width: 100%;
        margin-bottom: 20px;
    }
    
    .footer {
        text-align: center;
    }
    
    .mobile-menu-toggle {
        display: block;
    }
}

/* Medium devices (tablets, 768px and up) */
@media only screen and (min-width: 577px) and (max-width: 768px) {
    .container {
        width: 100%;
        padding: 0 15px;
    }
    
    .col-md-6 {
        width: 50%;
    }
    
    .col-lg-4, .col-lg-3 {
        width: 50%;
        margin-bottom: 20px;
    }
    
    .mobile-menu-toggle {
        display: block;
    }
    
    .navbar-nav {
        display: none;
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        background-color: #fff;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        z-index: 1000;
    }
    
    .navbar-nav.show {
        display: flex;
        flex-direction: column;
    }
    
    .navbar-nav li {
        margin: 0;
        width: 100%;
        border-bottom: 1px solid #eee;
    }
    
    .navbar-nav li a {
        display: block;
        padding: 15px;
        text-align: center;
    }
    
    header {
        position: relative;
        padding: 15px 0;
    }
}

/* Large devices (desktops, 992px and up) */
@media only screen and (min-width: 769px) and (max-width: 992px) {
    .container {
        width: 90%;
    }
}

/* Responsive CSS for School Management Software */

/* Extra Large Devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
  
  .hero-content {
    padding: 8rem 0;
  }
}

/* Large Devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .container {
    max-width: 960px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  
  /* Navbar adjustments for laptops */
  .navbar .container {
    padding: 0.5rem 1.5rem;
  }
  
  /* Adjust spacing between nav items */
  .navbar ul.flex.items-center {
    gap: 0.5rem;
  }
  
  /* Adjust nav link padding */
  .nav-link {
    padding: 0.5rem 1rem !important;
  }
  
  h1 {
    font-size: 2.75rem;
  }
  
  h2 {
    font-size: 2.25rem;
  }
  
  .hero-content {
    padding: 6rem 0;
  }
}

/* Medium Devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .container {
    max-width: 720px;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Navbar adjustments for tablets */
  .navbar .container {
    padding: 0.5rem 1rem;
  }
  
  /* Reduce logo size slightly on tablets */
  .navbar a.flex img {
    height: 2.25rem;
  }
  
  /* Adjust logo text size */
  .navbar .text-2xl {
    font-size: 1.25rem;
  }
  
  /* Reduce padding on nav links */
  .nav-link {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.8rem !important;
  }
  
  /* Increase spacing between nav items */
  .navbar ul.flex.items-center {
    gap: 0.25rem;
  }
  
  /* Adjust button sizes */
  .navbar .btn {
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
  }
  
  h1 {
    font-size: 2.5rem;
  }
  
  h2 {
    font-size: 2rem;
  }
  
  h3 {
    font-size: 1.5rem;
  }
  
  .hero-content {
    padding: 5rem 0;
  }
  
  .feature-card {
    padding: 1.25rem;
  }
  
  .btn-lg {
    padding: 0.6rem 1.2rem;
    font-size: 1rem;
  }
  
  .stat-card .number {
    font-size: 2.5rem;
  }
}

/* Small Devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
  .container {
    max-width: 540px;
  }
  
  h1 {
    font-size: 2.25rem;
    line-height: 1.3;
  }
  
  h2 {
    font-size: 1.75rem;
  }
  
  h3 {
    font-size: 1.35rem;
  }
  
  .hero-content {
    padding: 4rem 0;
    text-align: center;
  }
  
  .feature-card {
    padding: 1.25rem;
  }
  
  .btn-lg {
    padding: 0.5rem 1rem;
    font-size: 0.95rem;
  }
  
  .stat-card .number {
    font-size: 2.25rem;
  }
  
  .testimonial-card {
    padding: 1.5rem;
  }
  
  .footer-widget h3 {
    margin-top: 1.5rem;
  }
}

/* Extra Small Devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  h1 {
    font-size: 2rem;
    line-height: 1.3;
  }
  
  h2 {
    font-size: 1.5rem;
  }
  
  h3 {
    font-size: 1.25rem;
  }
  
  p {
    font-size: 0.95rem;
  }
  
  .hero-content {
    padding: 3rem 0;
    text-align: center;
  }
  
  .feature-card {
    padding: 1.25rem;
  }
  
  .btn {
    padding: 0.4rem 0.9rem;
    font-size: 0.9rem;
  }
  
  .btn-lg {
    padding: 0.5rem 1rem;
    font-size: 0.95rem;
  }
  
  .stat-card {
    padding: 1rem;
    margin-bottom: 1rem;
  }
  
  .stat-card .number {
    font-size: 2rem;
  }
  
  .testimonial-card {
    padding: 1.25rem;
  }
  
  .footer-widget h3 {
    margin-top: 1.5rem;
  }
  
  .footer-widget {
    text-align: center;
  }
  
  .footer-bottom {
    text-align: center;
  }
  
  .footer-bottom .social-icons {
    justify-content: center;
    margin-top: 1rem;
  }
  
  /* Adjust spacing for mobile */
  section {
    padding: 2.5rem 0;
  }
  
  .py-16 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  
  .py-12 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  
  .mb-16 {
    margin-bottom: 2.5rem;
  }
  
  .gap-8 {
    gap: 1.5rem;
  }
  
  /* Adjust mobile menu */
  #mobile-menu-container {
    width: 85%;
  }
}

/* Specific adjustments for very small devices */
@media (max-width: 360px) {
  h1 {
    font-size: 1.75rem;
  }
  
  h2 {
    font-size: 1.35rem;
  }
  
  .btn {
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
  }
  
  .stat-card .number {
    font-size: 1.75rem;
  }
}

/* Print styles */
@media print {
  .navbar,
  .footer,
  .btn,
  .no-print {
    display: none !important;
  }
  
  body {
    font-size: 12pt;
    color: #000;
    background: #fff;
  }
  
  a {
    color: #000;
    text-decoration: underline;
  }
  
  .container {
    max-width: 100%;
    width: 100%;
  }
  
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
  }
  
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
  
  .card, .feature-card {
    border: 1px solid #ddd;
    page-break-inside: avoid;
  }
}

/* Global style for mobile menu button to ensure it's always visible */
#mobile-menu-button {
    position: relative;
    z-index: 9999;
}

/* Button styles for navbar with responsive adjustments */
.btn-nav-outline, .btn-nav-solid {
    padding: 0.4rem 0.75rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 600;
    transition: all 0.3s ease;
}

@media (min-width: 768px) {
    .btn-nav-outline, .btn-nav-solid {
        padding: 0.45rem 0.85rem;
        font-size: 0.875rem;
    }
}

@media (min-width: 1024px) {
    .btn-nav-outline, .btn-nav-solid {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
}

.btn-nav-outline {
    border: 1px solid #3b82f6;
    color: #3b82f6;
}

.btn-nav-solid {
    background: linear-gradient(90deg, #8B5CF6, #3B82F6, #EC4899);
    color: white;
    border: none;
}

/* Specific adjustments for 998px width */
@media only screen and (min-width: 992px) and (max-width: 1023px) {
    /* Ensure toggle button is visible */
    #mobile-menu-button {
        display: block !important;
    }
    
    /* Hide desktop menu */
    .hidden.lg\:flex {
        display: none !important;
    }
    
    /* Adjust logo size */
    .navbar a.flex img {
        height: 2.25rem;
    }
    
    .navbar .text-2xl {
        font-size: 1.25rem;
    }
}

/* Tablet-specific mobile menu styles */
@media (min-width: 768px) and (max-width: 1024px) {
    #mobile-menu-container {
        width: 400px;
        max-width: 400px;
    }
    
    .mobile-submenu {
        padding-left: 3rem;
    }
    
    /* Larger touch targets for tablet */
    #mobile-menu a, 
    #mobile-menu button {
        padding: 0.75rem 1rem;
        font-size: 1rem;
    }
    
    /* Larger icons for tablet */
    #mobile-menu i {
        font-size: 1.25rem;
    }
    
    /* Better spacing for mobile action buttons on tablet */
    #mobile-menu .mt-4 {
        margin-top: 1.5rem;
    }
    
    #mobile-menu .pt-4 {
        padding-top: 1.5rem;
    }
}

/* Extend mobile menu to tablet and smaller laptop screens */
@media only screen and (max-width: 1024px) {
    /* Show mobile toggle at tablet and smaller laptop sizes */
    .mobile-menu-toggle {
        display: block;
    }
    
    /* Hide desktop menu on tablet and smaller laptop */
    .hidden.md\:flex {
        display: none !important;
    }
    
    /* Fix for both menu implementations */
    #mobile-menu.show {
        display: block !important;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    
    /* Fix gaps at top and bottom of navbar in mobile view */
    header.sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    
    nav.navbar {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    
    nav.navbar .container {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    
    /* Ensure no gap between navbar and content */
    section.relative.min-h-\[90vh\] {
        margin-top: 0;
        padding-top: 60px; /* Adjust based on your navbar height */
    }
    
    main.page-transition {
        padding-top: 60px; /* Adjust based on your navbar height */
        margin-top: 0;
    }
    
    /* Add class for mobile content spacing */
    .mobile-content {
        margin-top: 0;
    }
    
  /* Improve touch targets for mobile */
  .mobile-menu-item {
    padding: 12px 16px;
    margin: 4px 0;
    border-radius: 8px;
  }
  
  /* Add active state for better touch feedback */
  .mobile-menu-item:active {
    background-color: rgba(0,0,0,0.05);
  }
  
  /* Make the navbar stick to top on scroll */
  .navbar.bg-base-100 {
    position: sticky;
    top: 0;
    z-index: 100;
  }
  
  /* Enhance the shadow for better depth perception */
  .mobile-menu.show {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  
  /* Navbar brand/logo alignment */
  .navbar .flex-1 {
    display: flex;
    align-items: center;
  }
}

/* Adjust the breakpoint for mobile menu to ensure toggle button is visible at 998px */
@media only screen and (max-width: 1023px) {
    /* Show mobile toggle at tablet and smaller laptop sizes */
    .mobile-menu-toggle {
        display: block !important;
    }
    
    /* Hide desktop menu on tablet and smaller laptop */
    .hidden.lg\:flex {
        display: none !important;
    }
    
    /* Fix for both menu implementations */
    #mobile-menu.show {
        display: block !important;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    
    /* Fix gaps at top and bottom of navbar in mobile view */
    header.sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    
    nav.navbar {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    
    nav.navbar .container {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    
    /* Ensure no gap between navbar and content */
    section.relative.min-h-\[90vh\] {
        margin-top: 0;
        padding-top: 60px; /* Adjust based on your navbar height */
    }
    
    main.page-transition {
        padding-top: 60px; /* Adjust based on your navbar height */
        margin-top: 0;
    }
    
    /* Add class for mobile content spacing */
    .mobile-content {
        margin-top: 0;
    }
}

/* Smooth transition for buttons between desktop and tablet */
@media only screen and (max-width: 1100px) and (min-width: 1024px) {
    /* Adjust button sizes for smoother transition */
    .btn-nav-outline, .btn-nav-solid {
        padding: 0.4rem 0.8rem;
        font-size: 0.8rem;
    }
    
    /* Reduce space between buttons */
    .flex.items-center.space-x-3 {
        gap: 0.5rem;
    }
    
    /* Adjust logo size */
    .navbar a.flex img {
        height: 2.25rem;
    }
    
    /* Reduce padding on nav links */
    .nav-link {
        padding: 0.5rem 0.75rem !important;
        font-size: 0.8rem !important;
    }
    
    /* Increase spacing between nav items */
    .navbar ul.flex.items-center {
        gap: 0.25rem;
    }
}

/* Fix logo display at 1024px */
@media only screen and (width: 1024px) {
    .navbar a.flex img {
        height: 2.25rem;
    }
    
    .navbar .text-2xl {
        font-size: 1.25rem;
    }
    
    /* Ensure toggle button is visible */
    #mobile-menu-button {
        display: block !important;
    }
    
    /* Hide desktop menu */
    .hidden.lg\:flex {
        display: none !important;
    }
}

/* Specific styles for 998px width */
@media only screen and (width: 998px) {
    /* Ensure toggle button is visible */
    #mobile-menu-button {
        display: block !important;
    }
    
    /* Hide desktop menu */
    .hidden.lg\:flex {
        display: none !important;
    }
    
    /* Adjust logo size */
    .navbar a.flex img {
        height: 2.25rem;
    }
    
    .navbar .text-2xl {
        font-size: 1.25rem;
    }
}

/* Tablet-specific mobile menu styles */
@media (min-width: 768px) and (max-width: 1024px) {
    #mobile-menu-container {
        width: 400px;
        max-width: 400px;
    }
    
    .mobile-submenu {
        padding-left: 3rem;
    }
    
    /* Larger touch targets for tablet */
    #mobile-menu a, 
    #mobile-menu button {
        padding: 0.75rem 1rem;
        font-size: 1rem;
    }
    
    /* Larger icons for tablet */
    #mobile-menu i {
        font-size: 1.25rem;
    }
    
    /* Better spacing for mobile action buttons on tablet */
    #mobile-menu .mt-4 {
        margin-top: 1.5rem;
    }
    
    #mobile-menu .pt-4 {
        padding-top: 1.5rem;
    }
}

/* Show desktop menu on larger screens */
@media only screen and (min-width: 1025px) {
    #mobile-menu-button {
        display: none !important;
    }
    
    .hidden.lg\:flex, .hidden.xl\:flex {
        display: flex !important;
    }
}

/* Ensure toggle button is visible at ALL screen sizes below 1024px */
@media only screen and (max-width: 1024px) {
    #mobile-menu-button {
        display: block !important;
    }
    
    /* Hide desktop menu */
    .hidden.lg\:flex, .hidden.xl\:flex {
        display: none !important;
    }
}

/* Ensure toggle button is visible at specific problematic widths */
@media only screen and (width >= 990px) and (width <= 1024px) {
    #mobile-menu-button {
        display: block !important;
    }
    
    /* Hide desktop menu */
    .hidden.lg\:flex, .hidden.xl\:flex {
        display: none !important;
    }
}

/* Specific fix for 994px width */
@media only screen and (width: 994px) {
    #mobile-menu-button {
        display: block !important;
    }
    
    /* Hide desktop menu */
    .hidden.lg\:flex, .hidden.xl\:flex {
        display: none !important;
    }
}

/* Hide mobile menu button on larger screens */
@media only screen and (min-width: 1025px) {
    #mobile-menu-button {
        display: none !important;
    }
}

/* Extra specific fix for 994px width */
@media only screen and (width: 994px), 
       only screen and (width: 995px),
       only screen and (width: 996px),
       only screen and (width: 997px),
       only screen and (width: 998px),
       only screen and (width: 999px) {
    #mobile-menu-button {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Hide desktop menu */
    .hidden.lg\:flex, .hidden.xl\:flex {
        display: none !important;
    }
    
    /* Adjust logo size */
    .navbar a.flex img {
        height: 2.25rem;
    }
    
    .navbar .text-2xl {
        font-size: 1.25rem;
    }
}

/* Tablet-specific mobile menu styles */
@media (min-width: 768px) and (max-width: 1024px) {
    #mobile-menu-container {
        width: 400px;
        max-width: 400px;
    }
    
    .mobile-submenu {
        padding-left: 3rem;
    }
    
    /* Larger touch targets for tablet */
    #mobile-menu a, 
    #mobile-menu button {
        padding: 0.75rem 1rem;
        font-size: 1rem;
    }
    
    /* Larger icons for tablet */
    #mobile-menu i {
        font-size: 1.25rem;
    }
    
    /* Better spacing for mobile action buttons on tablet */
    #mobile-menu .mt-4 {
        margin-top: 1.5rem;
    }
    
    #mobile-menu .pt-4 {
        padding-top: 1.5rem;
    }
}

/* Specific fix for 1022px width */
@media only screen and (width: 1022px),
       only screen and (width: 1021px),
       only screen and (width: 1020px),
       only screen and (width: 1023px) {
    #mobile-menu-button {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        right: 20px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 9999 !important;
        background-color: rgba(255, 255, 255, 0.9) !important;
        border-radius: 0.375rem !important;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
    }
    
    /* Hide desktop menu */
    .hidden.lg\:flex, .hidden.xl\:flex {
        display: none !important;
    }
    
    /* Adjust logo size */
    .navbar a.flex img {
        height: 2.25rem;
    }
    
    .navbar .text-2xl {
        font-size: 1.25rem;
    }
}

/* Super specific fix for exactly 1022px width */
@media only screen and (width: 1022px) {
    #mobile-menu-button {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: fixed !important;
        right: 20px !important;
        top: 20px !important;
        z-index: 99999 !important;
        background-color: white !important;
        border: 1px solid rgba(0, 0, 0, 0.1) !important;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
        padding: 10px !important;
        border-radius: 8px !important;
    }
    
    /* Force desktop menu to be hidden */
    .hidden.lg\:flex, .hidden.xl\:flex, .lg\:flex, .xl\:flex {
        display: none !important;
    }
}

/* Ensure grid and flex layouts don't cause overflow */
.grid, .flex {
    width: 100%;
    max-width: 100%;
    overflow: visible;
}

.grid-cols-1, .grid-cols-2, .grid-cols-3, .grid-cols-4 {
    width: 100%;
    max-width: 100%;
    overflow: visible;
}

/* Fix SVG overflow issues */
svg {
    max-width: 100%;
    height: auto;
}

/* Responsive grid gaps */
@media (max-width: 768px) {
    .gap-16 {
        gap: 1rem !important;
    }
    
    .gap-12 {
        gap: 0.75rem !important;
    }
    
    .gap-8 {
        gap: 0.5rem !important;
    }
}

/* Fix absolute positioning issues without causing scrollbars */
.absolute {
    max-width: 100vw;
    overflow: visible;
}

@media (max-width: 576px) {
    .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .px-4 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    
    .mx-auto {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Global fix for all sections to prevent unwanted scrollbars */
section, .section, [class*="section-"] {
    overflow: visible !important;
}

.container, .container-fluid, [class*="container-"] {
    overflow: visible !important;
}

.row, .grid, .flex, [class*="grid-"], [class*="flex-"] {
    overflow: visible !important;
}

.col, [class*="col-"], .column, [class*="column-"] {
    overflow: visible !important;
}

/* Fix for navigation links to prevent unwanted scrollbars */
.nav-item, .nav-link, .navbar-nav, .navbar-nav li, .navbar-nav a {
    overflow: visible !important;
}

/* Global fix to prevent unwanted scrollbars in any element */
* {
    scrollbar-width: none; /* Firefox */
}

*::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
}

/* Exception for the main content and mobile menu */
html, body, .overflow-y-auto {
    scrollbar-width: auto; /* Firefox */
}

html::-webkit-scrollbar, body::-webkit-scrollbar, .overflow-y-auto::-webkit-scrollbar {
    display: block; /* Chrome, Safari, Edge */
    width: 8px;
}

html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb, .overflow-y-auto::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

/* Comprehensive fix for the entire problematic range */
@media only screen and (min-width: 1024px) and (max-width: 1198px) {
    /* Fix spacing between navigation items */
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center {
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Fix padding on navigation links */
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center li a {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
        font-size: 0.8rem !important;
        margin: 0 !important;
    }
    
    /* Fix spacing in the Features dropdown */
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center li a span {
        margin-right: 0.25rem !important;
    }
    
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center li a i {
        margin-left: 0 !important;
    }
    
    /* Target the logo more specifically */
    header.sticky nav.navbar .container .flex.justify-between a.flex {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-width: 180px !important;
        margin-right: 0.5rem !important;
    }
    
    /* Target the logo image more specifically */
    header.sticky nav.navbar .container .flex.justify-between a.flex img {
        height: 2.5rem !important;
        width: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Target the logo text more specifically */
    header.sticky nav.navbar .container .flex.justify-between a.flex div span {
        font-size: 1.25rem !important;
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        white-space: nowrap !important;
    }
    
    /* Adjust the container width to ensure everything fits */
    header.sticky nav.navbar .container {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    
    /* Fix spacing in the desktop menu */
    #desktop-menu {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    
    /* Fix spacing in the desktop menu items */
    #desktop-menu .mr-8 {
        margin-right: 0.5rem !important;
    }
    
    /* Fix spacing in the action buttons */
    #desktop-menu .flex.items-center.space-x-2,
    #desktop-menu .flex.items-center.space-x-3 {
        gap: 0.25rem !important;
    }
}

/* Fix for specific problematic breakpoints */
@media only screen and (width: 1024px), 
       only screen and (width: 1100px),
       only screen and (width: 1150px) {
    /* Force logo to be visible */
    .navbar a.flex img {
        height: 2.5rem !important;
        width: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Force logo text to be visible */
    .navbar .text-xl, .navbar .text-2xl {
        font-size: 1.25rem !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        white-space: nowrap !important;
    }
    
    /* Force logo container to be visible */
    .navbar a.flex {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-width: 180px !important;
        position: relative !important;
        z-index: 9999 !important;
    }
}

/* Super specific fix for exactly 1024px width */
@media only screen and (width: 1024px) {
    /* Force the logo to be visible */
    header.sticky nav.navbar .container .flex.justify-between a.flex {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-width: 180px !important;
        margin-right: 1rem !important;
        position: relative !important;
        z-index: 9999 !important;
    }
    
    /* Force the logo image to be visible */
    header.sticky nav.navbar .container .flex.justify-between a.flex img {
        height: 2.5rem !important;
        width: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 9999 !important;
    }
    
    /* Force the logo text to be visible */
    header.sticky nav.navbar .container .flex.justify-between a.flex div span {
        font-size: 1.25rem !important;
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        white-space: nowrap !important;
        position: relative !important;
        z-index: 9999 !important;
    }
    
    /* Hide the desktop menu at this specific width */
    #desktop-menu {
        display: none !important;
    }
    
    /* Show the mobile menu button */
    #mobile-menu-button {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Super specific fix for exactly 1198px width */
@media only screen and (width: 1198px) {
    /* Fix spacing between navigation items */
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center {
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Fix padding on navigation links */
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center li a {
        padding-left: 0.4rem !important;
        padding-right: 0.4rem !important;
        font-size: 0.8rem !important;
        margin: 0 !important;
        letter-spacing: -0.02em !important;
    }
    
    /* Fix spacing in the Features dropdown */
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center li a span {
        margin-right: 0.1rem !important;
    }
    
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center li a i {
        margin-left: 0 !important;
        font-size: 0.6rem !important;
    }
    
    /* Fix spacing in the desktop menu */
    #desktop-menu {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    
    /* Fix spacing in the desktop menu items */
    #desktop-menu .mr-8 {
        margin-right: 0 !important;
    }
    
    /* Fix spacing in the action buttons */
    #desktop-menu .flex.items-center.space-x-2,
    #desktop-menu .flex.items-center.space-x-3 {
        gap: 0.2rem !important;
    }
    
    /* Adjust button sizes */
    .btn-nav-outline, .btn-nav-solid {
        padding: 0.3rem 0.6rem !important;
        font-size: 0.75rem !important;
    }
}

/* Fix for navigation links spacing at 1198px */
@media only screen and (min-width: 1024px) and (max-width: 1198px) {
    /* Fix spacing between navigation items */
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center {
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Fix padding on navigation links */
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center li a {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
        font-size: 0.8rem !important;
        margin: 0 !important;
    }
    
    /* Fix spacing in the Features dropdown */
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center li a span {
        margin-right: 0.25rem !important;
    }
    
    header.sticky nav.navbar .container .flex.justify-between #desktop-menu ul.flex.items-center li a i {
        margin-left: 0 !important;
    }
    
    /* Target the logo more specifically */
    header.sticky nav.navbar .container .flex.justify-between a.flex {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-width: 180px !important;
        margin-right: 0.5rem !important;
    }
    
    /* Target the logo image more specifically */
    header.sticky nav.navbar .container .flex.justify-between a.flex img {
        height: 2.5rem !important;
        width: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Target the logo text more specifically */
    header.sticky nav.navbar .container .flex.justify-between a.flex div span {
        font-size: 1.25rem !important;
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        white-space: nowrap !important;
    }
    
    /* Adjust the container width to ensure everything fits */
    header.sticky nav.navbar .container {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    
    /* Fix spacing in the desktop menu */
    #desktop-menu {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    
    /* Fix spacing in the desktop menu items */
    #desktop-menu .mr-8 {
        margin-right: 0.5rem !important;
    }
    
    /* Fix spacing in the action buttons */
    #desktop-menu .flex.items-center.space-x-2,
    #desktop-menu .flex.items-center.space-x-3 {
        gap: 0.25rem !important;
    }
}

/* Fix for space-x-4 class in the navbar */
@media only screen and (min-width: 1024px) and (max-width: 1198px) {
    .space-x-4 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0 !important;
        margin-right: calc(0.5rem * var(--tw-space-x-reverse)) !important;
        margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))) !important;
    }
    
    #desktop-menu ul.space-x-4 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0 !important;
        margin-right: calc(0.25rem * var(--tw-space-x-reverse)) !important;
        margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))) !important;
    }
}

@media only screen and (width: 1198px) {
    .space-x-4 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0 !important;
        margin-right: calc(0.25rem * var(--tw-space-x-reverse)) !important;
        margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))) !important;
    }
    
    #desktop-menu ul.space-x-4 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0 !important;
        margin-right: calc(0.1rem * var(--tw-space-x-reverse)) !important;
        margin-left: calc(0.1rem * calc(1 - var(--tw-space-x-reverse))) !important;
    }
}
