/* TransportR Branding - Blue Color Scheme */

/* Primary Blue Colors from TransportR Logo */
:root {
    --transportr-primary-blue: #2563eb;
    --transportr-secondary-blue: #1d4ed8;
    --transportr-light-blue: #3b82f6;
    --transportr-dark-blue: #1e40af;
    --transportr-accent-blue: #60a5fa;
}

/* Override base color with TransportR blue */
.text-base-color,
.text-base-color-hover:hover,
a.text-base-color,
a.text-base-color:hover {
    color: var(--transportr-primary-blue) !important;
}

/* Background colors */
.bg-base-color {
    background-color: var(--transportr-primary-blue) !important;
}

.bg-base-color:hover {
    background-color: var(--transportr-secondary-blue) !important;
}

/* Buttons */
.btn-base-color {
    background-color: var(--transportr-primary-blue) !important;
    border-color: var(--transportr-primary-blue) !important;
}

.btn-base-color:hover,
.btn-base-color:focus,
.btn-base-color:active {
    background-color: var(--transportr-secondary-blue) !important;
    border-color: var(--transportr-secondary-blue) !important;
}

/* Links and hover effects */
.text-decoration-line-bottom-medium::after,
.text-decoration-line-bottom::after {
    background-color: var(--transportr-primary-blue) !important;
}

/* Sticky Navigation */
.header-with-topbar {
    position: relative;
}

.header-with-topbar .navbar {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    transition: all 0.3s ease-in-out;
    background-color: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}

/* Make sure the body has enough top padding to account for fixed header */
body {
    padding-top: 80px;
}

/* LOGO RULES - SIMPLE AND DIRECT */

/* Desktop: Show default logo, hide others */
.default-logo {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.alt-logo {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.mobile-logo {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Mobile: Show mobile logo, hide others */
@media (max-width: 991px) {
    .default-logo {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
    
    .alt-logo {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
    
    .mobile-logo {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: 40px !important;
    }
}

/* When scrolled: Show alt logo on desktop */
.scrolled .default-logo {
    display: none !important;
}

.scrolled .alt-logo {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Mobile stays the same when scrolled */
@media (max-width: 991px) {
    .scrolled .mobile-logo {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Emergency Mobile Logo Fix - Higher Specificity */
@media (max-width: 991px) {
    .header-with-topbar .navbar .navbar-brand .mobile-logo,
    header.header-with-topbar .navbar-brand .mobile-logo,
    .navbar .navbar-brand .mobile-logo {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: 40px !important;
        z-index: 10000 !important;
        position: relative !important;
    }
    
    .header-with-topbar .navbar .navbar-brand .default-logo,
    .header-with-topbar .navbar .navbar-brand .alt-logo,
    header.header-with-topbar .navbar-brand .default-logo,
    header.header-with-topbar .navbar-brand .alt-logo {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
    }
}

/* Sticky Menu Font Color Fix - Orange for Visibility */
.header-with-topbar.sticky .navbar-nav .nav-link,
.header-with-topbar .navbar.sticky .navbar-nav .nav-link,
.scrolled .navbar-nav .nav-link,
.navbar-fixed .navbar-nav .nav-link {
    color: #000000 !important;
}

.header-with-topbar.sticky .navbar-nav .nav-link:hover,
.header-with-topbar .navbar.sticky .navbar-nav .nav-link:hover,
.scrolled .navbar-nav .nav-link:hover,
.navbar-fixed .navbar-nav .nav-link:hover {
    color: #333333 !important;
}

/* Active/Current page link */
.header-with-topbar.sticky .navbar-nav .nav-link.active,
.header-with-topbar .navbar.sticky .navbar-nav .nav-link.active,
.scrolled .navbar-nav .nav-link.active,
.navbar-fixed .navbar-nav .nav-link.active {
    color: #000000 !important;
}

/* Dropdown menu items on sticky */
.header-with-topbar.sticky .navbar-nav .dropdown-menu .dropdown-item,
.header-with-topbar .navbar.sticky .navbar-nav .dropdown-menu .dropdown-item,
.scrolled .navbar-nav .dropdown-menu .dropdown-item,
.navbar-fixed .navbar-nav .dropdown-menu .dropdown-item {
    color: #000000 !important;
}

.header-with-topbar.sticky .navbar-nav .dropdown-menu .dropdown-item:hover,
.header-with-topbar .navbar.sticky .navbar-nav .dropdown-menu .dropdown-item:hover,
.scrolled .navbar-nav .dropdown-menu .dropdown-item:hover,
.navbar-fixed .navbar-nav .dropdown-menu .dropdown-item:hover {
    color: #ffffff !important;
    background-color: #000000 !important;
}

/* Additional sticky menu color fixes for fixed positioning */
.header-with-topbar .navbar[style*="position: fixed"] .navbar-nav .nav-link,
.navbar[style*="position: fixed"] .navbar-nav .nav-link {
    color: #000000 !important;
}

.header-with-topbar .navbar[style*="position: fixed"] .navbar-nav .nav-link:hover,
.navbar[style*="position: fixed"] .navbar-nav .nav-link:hover {
    color: #333333 !important;
}

/* Ensure orange color on any semi-transparent white background */
.header-with-topbar .navbar[style*="background-color: rgba(255, 255, 255"] .navbar-nav .nav-link {
    color: #000000 !important;
}

/* Default Menu Font Color - Orange (Before Scroll) */
.header-with-topbar .navbar-nav .nav-link,
.navbar .navbar-nav .nav-link,
header .navbar-nav .nav-link {
    color: #000000 !important;
}

.header-with-topbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:hover,
header .navbar-nav .nav-link:hover {
    color: #333333 !important;
}

/* Active/Current page link - Default state */
.header-with-topbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-link.active,
header .navbar-nav .nav-link.active {
    color: #000000 !important;
}

/* Dropdown menu items - Default state */
.header-with-topbar .navbar-nav .dropdown-menu .dropdown-item,
.navbar .navbar-nav .dropdown-menu .dropdown-item,
header .navbar-nav .dropdown-menu .dropdown-item {
    color: #000000 !important;
}

.header-with-topbar .navbar-nav .dropdown-menu .dropdown-item:hover,
.navbar .navbar-nav .dropdown-menu .dropdown-item:hover,
header .navbar-nav .dropdown-menu .dropdown-item:hover {
    color: #ffffff !important;
    background-color: #000000 !important;
}

/* Ensure orange color overrides any theme defaults */
.navbar-nav .nav-item .nav-link,
.navbar-nav .nav-link {
    color: #000000 !important;
}

.navbar-nav .nav-item .nav-link:hover,
.navbar-nav .nav-link:hover {
    color: #333333 !important;
}

/* Reduce top spacing above slider */
.ipad-top-space-margin {
    margin-top: 0px !important;
}

.full-screen.ipad-top-space-margin {
    height: 100vh !important;
}
