﻿/* Print styles for PermitsIssued */
@media print {
    .no-print {
        display: none !important;
    }
}

/* Fix navbar to always stay at top and visible */
.navbar {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100% !important;
    z-index: 1030; /* Bootstrap's navbar z-index */
    box-shadow: 0 2px 4px rgba(0,0,0,.1);
}

/* Adjust body padding to account for fixed navbar */
body {
    padding-top: 76px; /* Adjust based on your navbar height */
}

/* Ensure page content doesn't go under fixed navbar */
.page main {
    padding-top: 0;
}

.page main article.content {
    margin-top: 0;
}

/* Mobile adjustments for fixed navbar */
@media (max-width: 1199.98px) {
    body {
        padding-top: 70px; /* Slightly less for mobile */
    }
    
    /* Ensure hamburger menu is always accessible */
    .navbar-toggler {
        position: relative;
        z-index: 1031;
        border: none;
        padding: 0.25rem 0.5rem;
        background: transparent;
        margin-right: 0.5rem;
    }
    
    .navbar-toggler:focus {
        box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);
    }
    
    /* Ensure navbar brand doesn't get cut off */
    .navbar-brand {
        max-width: calc(100vw - 80px); /* Leave space for hamburger */
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    /* Fix dropdown menu positioning for fixed navbar */
    .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: #343a40; /* Same as navbar bg-dark */
        border-top: 1px solid rgba(255,255,255,0.1);
        box-shadow: 0 2px 4px rgba(0,0,0,.2);
        max-height: calc(100vh - 70px);
        overflow-y: auto;
    }
    
    /* Ensure proper spacing for mobile/tablet nav items */
    .navbar-nav .nav-item {
        margin: 0.25rem 0 !important;
        width: 100%;
    }
    
    .navbar-nav .nav-link {
        padding: 0.75rem 1rem;
        border-radius: 0.375rem;
        margin: 0.25rem 0.5rem;
        text-align: left;
        width: calc(100% - 1rem);
    }
    
    /* Smooth transition for hamburger menu */
    .navbar-collapse {
        transition: all 0.3s ease-in-out;
    }
    
    /* Ensure proper contrast for mobile/tablet menu items */
    .navbar-dark .navbar-nav .nav-link {
        color: rgba(255, 255, 255, 0.75);
    }
    
    .navbar-dark .navbar-nav .nav-link:hover,
    .navbar-dark .navbar-nav .nav-link:focus {
        color: rgba(255, 255, 255, 0.95);
    }
    
    /* Cart badge positioning for mobile/tablet */
    .nav-link .badge {
        margin-left: 0.5rem;
    }
}

/* Medium screen optimizations (tablets) */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .navbar-nav .nav-item {
        margin: 0.5rem 0 !important;
    }
    
    .navbar-nav .nav-link {
        padding: 0.5rem 0.75rem;
        font-size: 0.9rem;
    }
}

/* Large screen optimizations */
@media (min-width: 1200px) {
    .navbar-nav .nav-item {
        margin: 0 0.25rem !important;
    }
    
    body {
        padding-top: 80px; /* Adjust for larger navbar on desktop */
    }
}

/* Ensure icons are properly aligned */
.nav-link .mud-icon {
    vertical-align: middle;
}

/* Fix for any content that might still overflow */
.container-fluid {
    max-width: 100%;
    overflow-x: hidden;
}

.row {
    margin-left: 0;
    margin-right: 0;
}

/* Ensure form elements don't cause horizontal scroll */
.form-control, .form-select, input, textarea, select {
    max-width: 100%;
    box-sizing: border-box;
}

/* Make tables responsive */
.mud-table-container {
    overflow-x: auto;
    max-width: 100%;
}

body {
}
