/* =========================================================
   BASE STYLES
   BusOva Platform - Core element resets and defaults
========================================================= */

/* -------------------------------------------------
   BOX MODEL RESET
------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* -------------------------------------------------
   BODY DEFAULTS
------------------------------------------------- */
body {
    background: var(--bg-body);
    color: var(--text-main);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    
    /* Sticky footer: flexbox layout */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* -------------------------------------------------
   MAIN CONTAINER - Sticky Footer Support
------------------------------------------------- */
main.container {
    padding-bottom: 3rem;
    flex: 1 0 auto; /* Grow to fill available space, push footer down */
}

body.admin-area main.container {
    max-width: 1200px;
}

/* Footer should not grow */
.site-footer {
    flex-shrink: 0;
}

/* -------------------------------------------------
   LINKS
------------------------------------------------- */
a {
    color: var(--link-color);
    text-decoration: none;
    transition: color 0.15s ease, box-shadow 0.15s ease;
}

a:hover,
a:focus {
    color: var(--link-hover);
    text-decoration: none;
    box-shadow: inset 0 -2px 0 var(--link-hover);
}

/* Remove underline effect for buttons and specific elements */
a.btn,
a.nav-link,
a.dropdown-item,
a.badge {
    box-shadow: none;
}

a.btn:hover,
a.btn:focus,
a.nav-link:hover,
a.nav-link:focus,
a.dropdown-item:hover,
a.dropdown-item:focus,
a.badge:hover,
a.badge:focus {
    box-shadow: none;
}
