/* Global site-wide styles */

/* Flex wrapper for sticky footer */
.flex-wrapper {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

main {
    flex: 1;
}

/* Bottom menu */
.bottom-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 80px;
    background: white;
    border-top: 1px solid #ddd;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    z-index: 30;
    
    /* Safe area for notched devices */
    padding: 0.75rem max(0.75rem, env(safe-area-inset-right)) 
             calc(0.75rem + env(safe-area-inset-bottom)) 
             max(0.75rem, env(safe-area-inset-left));
    
    /* Performance optimization */
    will-change: transform;
    transform: translateZ(0);
}

/* Page-specific bottom padding for pages with tradesperson navigation - mobile only */
@media screen and (max-width: 768px) {
    body.has-bottom-nav {
        padding-bottom: calc(80px + env(safe-area-inset-bottom));
    }
}

/* Error page styles */
.error-icon {
    font-size: 4rem;
}
