/* Auto-hide navigation and locked main element styles */

/* Navigation auto-hide behavior */
.fiber-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040; /* Bootstrap navbar z-index */
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    transform: translateY(0);
    opacity: 1;
}

/* Hide navigation by default on map page */
body.map-page .fiber-navbar {
    transform: translateY(-100%);
    opacity: 0;
}

/* Hide the trigger zone on map page - using mousemove instead */
body.map-page .navbar-trigger-zone {
    display: none;
}

/* Lock main element to top of page on map */
body.map-page {
    padding-top: 0;
}

body.map-page main.container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 100%;
    width: 100%;
    height: 100vh;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

/* Adjust the map container to fill the entire viewport */
body.map-page .row.mb-4 {
    margin-bottom: 0 !important;
    height: 100%;
}

body.map-page .col-12 {
    height: 100%;
    padding: 0;
}

body.map-page .card.fiber-card {
    height: 100%;
    border-radius: 0;
    margin: 0;
    border: none;
}

body.map-page .card-body.fiber-card-body {
    height: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
}

/* Adjust toolbar positioning */
body.map-page .integrated-toolbar {
    margin-bottom: 0 !important;
    border-radius: 0;
    position: relative;
    z-index: 1000;
}

/* Make map container fill remaining space */
body.map-page #map {
    flex: 1;
    width: 100%;
}

/* Hide footer on map page */
body.map-page .fiber-footer {
    display: none;
}

/* Ensure flash messages and alerts appear above navbar */
body.map-page #alert-container,
body.map-page .alert {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1060;
    max-width: 400px;
}

/* Visual indicator for navbar trigger zone (optional - can be removed) */
body.map-page .navbar-trigger-zone::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 3px;
    background: linear-gradient(to bottom, rgba(0, 195, 255, 0.3), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

body.map-page .navbar-trigger-zone:hover::after {
    opacity: 1;
}

/* Smooth transition for body padding when navbar appears */
body {
    transition: padding-top 0.3s ease;
}

/* Ensure proper spacing for non-map pages */
body:not(.map-page) {
    padding-top: 76px; /* Height of navbar */
}

body:not(.map-page) .fiber-navbar {
    position: fixed;
    top: 0;
    transform: translateY(0);
    opacity: 1;
}

/* Adjust main container for non-map pages */
body:not(.map-page) main.container {
    position: relative;
    height: auto;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

/* Toast container positioning for map page */
body.map-page .toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1060;
}