/* Main CSS for Nagpur City Police Website */

/* Global Khand Font Application */
* {
    font-family: 'Khand', system-ui, sans-serif !important;
}

body, h1, h2, h3, h4, h5, h6, p, span, div, a, li, td, th, button, input, select, textarea {
    font-family: 'Khand', system-ui, sans-serif !important;
}

.card-title, .card-text, .btn, .nav-link, .dropdown-item {
    font-family: 'Khand', system-ui, sans-serif !important;
}

/* Global Layout */
.font-family-khand {
    font-family: 'Khand', system-ui, sans-serif !important;
}

/* Footer always at bottom */
html, body {
    height: 100%;
}

#app {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
    min-height: 70vh;
    padding-top: 120px; /* Add padding to prevent header overlap */
}

/* Homepage specific - override the default padding */
body.homepage main {
    padding-top: 0; /* Homepage handles its own spacing */
}

/* Mobile responsive padding */
@media (max-width: 768px) {
    main {
        padding-top: 90px; /* Smaller padding for mobile header */
    }
    
    body.homepage main {
        padding-top: 0; /* Homepage handles its own mobile spacing */
    }
}

/* Skip Navigation */
.skip-link {
    position: absolute;
    top: -40px;
    left: 6px;
    background: var(--police-primary, #054285);
    color: white;
    padding: 8px;
    text-decoration: none;
    z-index: 10000;
    border-radius: 0 0 4px 4px;
}

.skip-link:focus {
    top: 0;
}

/* Dark Mode Support */
body.dark-mode {
    background-color: #121212;
    color: #ffffff;
    font-family: 'Khand', system-ui, sans-serif !important;
}

.navbar-dark-mode {
    background-color: #333;
    font-family: 'Khand', system-ui, sans-serif !important;
}

/* Common Button Styles */
.btn-primary {
    background: var(--police-primary, #054285);
    border: none;
    font-family: 'Khand', sans-serif !important;
}

.btn-primary:hover {
    background: var(--police-secondary, #0b72c7);
}

.btn-secondary {
    background: var(--police-accent, #FFD700);
    color: var(--police-primary, #054285);
    border: none;
    font-family: 'Khand', sans-serif !important;
}

.btn-secondary:hover {
    background: var(--warning, #ffc107);
    color: var(--police-primary, #054285);
}

/* Dark Mode Support */
body.dark-mode {
    background-color: #121212;
    color: #ffffff;
    font-family: 'Khand', system-ui, sans-serif !important;
}

.navbar-dark-mode {
    background-color: #333;
    font-family: 'Khand', system-ui, sans-serif !important;
}

/* Common Button Styles */
.btn-primary {
    background: var(--police-primary, #054285);
    border: none;
    font-family: 'Khand', sans-serif !important;
}

.btn-primary:hover {
    background: var(--police-secondary, #0b72c7);
}

.btn-secondary {
    background: var(--police-accent, #FFD700);
    color: var(--police-primary, #054285);
    border: none;
    font-family: 'Khand', sans-serif !important;
}

.btn-secondary:hover {
    background: var(--warning, #ffc107);
    color: var(--police-primary, #054285);
}

/* Common Card Styles */
.card {
    border: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Utility Classes */
.text-primary-custom {
    color: var(--police-primary, #054285) !important;
}

.text-secondary-custom {
    color: var(--police-secondary, #0b72c7) !important;
}

.bg-primary-custom {
    background: var(--police-primary, #054285) !important;
}

.bg-secondary-custom {
    background: var(--police-accent, #FFD700) !important;
}

/* Responsive Utilities */
@media (max-width: 768px) {
    .mobile-hide {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .desktop-hide {
        display: none !important;
    }
}

/* Icon Styles - Force icons to be visible */
.fas, .fa, .fab, .far, .fal, .fad, .fass, .fasr, .fasl, .fast {
    color: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: auto !important;
}

/* Ensure Font Awesome solid icons work */
.fas::before, .fa-solid::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

/* Ensure Font Awesome regular icons work */
.far::before, .fa-regular::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

/* Top bar icons should be white */
.top-bar .fas, .top-bar .fa {
    color: white !important;
}

/* Navigation icons should use the theme color */
.main-navigation .fas, .main-navigation .fa,
.mobile-menu .fas, .mobile-menu .fa {
    color: var(--police-secondary, #0b72c7) !important;
}

/* Search icon */
.search-btn .fas, .search-btn .fa {
    color: white !important;
}

/* Footer icons */
footer .fas, footer .fa {
    color: var(--police-secondary, #0b72c7) !important;
}

/* Prevent service icon filters from affecting Font Awesome icons */
.fas, .fa, [class^="fa-"], [class*=" fa-"] {
    filter: none !important;
}

/* Comprehensive Theme Color Override - All Blue Elements */
/* Use high specificity and !important to override compiled/vendor CSS safely */
.top-bar,
.main-navigation,
.nav-link,
.headline,
.headline-bg,
.popup,
.search-btn,
.search-input-group,
.owl-carousel .over-layer {
    background: var(--police-secondary, #0b72c7) !important;
    background-image: none !important;
    box-shadow: none !important;
}

.main-header {
    background: transparent !important;
    background-image: none !important;
}

.head-border {
    border-color: var(--police-secondary, #0b72c7) !important;
}

.text-primary-custom,
.btn-primary,
.btn-primary:hover {
    color: #ffffff !important;
    background: var(--police-secondary, #0b72c7) !important;
    border-color: var(--police-secondary, #0b72c7) !important;
}

.logo-text h1 {
    color: var(--police-secondary, #0b72c7) !important;
    background: transparent !important;
}

.logo-text p {
    color: var(--police-secondary, #0b72c7) !important;
    background: transparent !important;
}

.bg-primary-custom {
    background: var(--police-secondary, #0b72c7) !important;
}

/* Ensure dropdown hover states use flat color */
.dropdown-menu a:hover {
    background: #f8f9fa !important;
    color: var(--police-secondary, #0b72c7) !important;
    border-left-color: var(--police-secondary, #0b72c7) !important;
}
