/* FONT */
body {
    font-family: "Montserrat", sans-serif;
}

body .ui-widget, input {
    font-family: "Montserrat", sans-serif;
}

body select {
    font-family: "Montserrat", sans-serif;
}

h1, h2, h3 {
    color: #0a1e2f;
}

a {
    color: #0a1e2f;
    font-weight: 600;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.topbar-frame-fare {
    background-color: #579a42;
}

.topbar-fare {
    color: #3171b2;
}

.topbar-fare a {
    color: #3171b2;
    font-weight: bold;
    text-decoration: underline;
}

.topbar-fare a:hover {
    text-decoration: none;
}

#user-info a {
    color: #0a1e2f;
    font-size: 1.1em;
    font-weight: 600;
    text-decoration: none;
}

#user-info a:hover {
    text-decoration: underline;
}

#nav-home i {
    color: #0a1e2f;
}

.navibar-fare {
    background-color: #579a42;
    color: #0a1e2f;
    border-radius: 3px;
}

.navibar-fare a:hover {
    color: #3171b2;
}

.content-fare {
    border: 1px solid #3171b2;
}

.form-header-fare {
    background-color: #3171b2;
    border: 1px solid #3171b2;
    font-size: 1.1em;
    padding: 10px 15px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    font-weight: bold;
    color: #ffffff;
}

.footbar-fare {
    background-color: #3171b2;
}

.logo-text-fare {
    color: #3171b2;
}

header {
    background-color: #579a42;
    color: #0a1e2f;
}

nav {
    background-color: #579a42;
    color: #0a1e2f;
}

nav a:hover {
    color: #0a1e2f;
    background-color: white;
}

footer {
    background-color: #0a1e2f;
    color: white;
}

footer a {
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1em;
}

footer a:hover {
    text-decoration: underline;
}

.ui-card-header {
    background-color: #579a42;
    border: 1px solid #579a42;
    color: #0a1e2f;
}

body .ui-button {
    background-color: #3171b2;
    border: 1px solid #3171b2;
    color: white;
}

body .ui-button.ui-state-hover {
    background-color: #0a1e2f;
    border: 1px solid #0a1e2f;
    color: white;
}

body .ui-button.ui-state-active {
    background-color: #3171b2;
    border: 1px solid #3171b2;
    color: white;
}

#profile-hint {
    color: #3171b2;
    background-color: lightgray;
}
@media screen and (max-width: 767px) {
    #user-info {
        width: 100%;
        font-size: 0.9rem;
        justify-content: space-between;
        padding: 0 1rem;
        box-sizing: border-box;
    }
}

/* Hamburger Menu and Mobile Navigation Styles */
/* CSS: slide from the right on mobile */
.nav-drawer {
    display: none;
    position: absolute;
    top: 90px;
    left: -100%;
    right: auto;
    width: 100%;
    height: calc(100vh - 90px);
    background-color: white;
    z-index: 999;
    padding: 1rem;
    overflow-y: auto;
    transition: left 0.3s ease;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2);
}

/* Mobile only */
@media (max-width: 768px) {
    .nav-drawer { display: block; }
    .nav-drawer.active { left: 0; } /* slide in from right */
}

/* Links */
.nav-drawer-content a {
    display: block;
    padding: 0.75rem 1rem;
    font-size: 1.1rem;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #eee;
}
.nav-drawer-content a:hover {
    background-color: #f5f5f5;
    color: #014171;
}

/* Hamburger only on mobile */
#hamburger-button {
    display: none;
}
@media (max-width: 768px) {
    #hamburger-button {
        display: block;
    }
}
#hamburger-button i {
    font-size: 1.5rem;
}
