/******************************************************************************
 * Cascading-Style-Sheets file for Admidio - Querbeat White & Red Theme
 *****************************************************************************/

:root {
    --admidio-header-font-color: #e30513;
    --admidio-header-link-color: #e30513;
    --admidio-header-link-color-hover: #b8040f;
    --admidio-menu-bg-color-hover: #fce8e8;
    --admidio-menu-font-color-hover: #e30513;
    --admidio-clamp-text-lines: 0;
    --bs-primary: #e30513;
    --bs-primary-rgb: 227, 5, 19;
    --bs-secondary: #263340;
    --bs-secondary-rgb: 38, 51, 64;
    --bs-tertiary: #f8f9fa;
    --bs-tertiary-rgb: 248, 249, 250;
    --bs-success: #04e01a;
    --bs-body-color: #263340;
    --bs-body-bg: #ffffff;
    --bs-link-color: #e30513;
    --bs-link-color-rgb: 227, 5, 19;
    --bs-link-hover-color: #b8040f;
    --bs-link-hover-color-rgb: 184, 4, 15;
    --bs-focus-ring-color: #fcdada;
}

/* Base High-Contrast Fixes */
body {
    color: #263340 !important;
    background-color: #ffffff !important;
}

/* Top Main Header Navbar */
#adm_main_navbar {
    color: #e30513 !important;
    background-color: #ffffff !important;
    border-bottom: 3px solid #e30513 !important;
    min-height: 4.5rem;
    position: sticky;
    top: 0;
    z-index: 1030;
    padding: 0.5rem 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

#adm_headline_organization,
#adm_headline_membership {
    color: #e30513 !important;
    font-weight: bold;
    font-size: 1.2rem;
}

#adm_main_navbar .navbar-brand,
#adm_main_navbar .navbar-brand span,
#adm_main_navbar .nav-link,
#adm_main_navbar .dropdown-toggle,
#adm_main_navbar a,
#adm_main_navbar i,
#adm_main_navbar .bi {
    color: #e30513 !important;
}

#adm_navbar_nav a:hover, 
#adm_main_navbar .dropdown-toggle:hover {
    color: #b8040f !important;
    background-color: #fce8e8 !important;
    border-radius: 0.375rem;
}

/* Top Mobile Toggler / Hamburger Menu Button */
#adm_main_navbar .navbar-toggler {
    border: 2px solid #e30513 !important;
    color: #e30513 !important;
    background-color: #ffffff !important;
}

#adm_main_navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28227, 5, 19, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Sidebar & Main Module Menu */
#adm_sidebar,
.admidio-sidebar {
    background-color: #ffffff !important;
    border-right: 1px solid #e9ecef;
    padding-top: 1rem;
}

/* Mobile Menu Headline Bar */
.admidio-headline-mobile-menu {
    background-color: #f8f9fa !important;
    color: #263340 !important;
    font-weight: bold;
    font-size: 1.1rem;
    border-bottom: 2px solid #e30513 !important;
    border-radius: 0.375rem;
    margin-bottom: 0.5rem;
}

.admidio-headline-mobile-menu button,
.admidio-headline-mobile-menu .btn-link,
.admidio-headline-mobile-menu i,
.admidio-headline-mobile-menu .bi {
    color: #e30513 !important;
    font-size: 1.6rem !important;
}

/* Sidebar Section Headers (e.g. Modules, Administration) */
.admidio-menu-header {
    color: #e30513 !important;
    font-weight: bold;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.75rem 0.5rem 0.25rem 0.5rem;
    border-bottom: 1px solid #fcdada;
    margin-top: 0.5rem;
}

/* Sidebar Nav Links */
#adm_sidebar .nav-link,
.admidio-menu-node .nav-link,
#adm_main_menu .nav-link {
    color: #263340 !important;
    font-weight: 500;
    font-size: 1.05rem;
    padding: 0.6rem 0.75rem;
    border-radius: 0.375rem;
    margin-bottom: 0.2rem;
    display: flex;
    align-items: center;
}

#adm_sidebar .nav-link i,
#adm_sidebar .nav-link .bi,
.admidio-menu-node .nav-link i,
.admidio-menu-node .nav-link .bi,
#adm_main_menu .nav-link i,
#adm_main_menu .nav-link .bi {
    color: #e30513 !important;
    margin-right: 0.75rem;
    font-size: 1.2rem;
}

#adm_sidebar .nav-link:hover,
#adm_sidebar .nav-link:focus,
.admidio-menu-node .nav-link:hover,
#adm_main_menu .nav-link:hover {
    color: #e30513 !important;
    background-color: #fce8e8 !important;
}

#adm_sidebar .nav-link.active,
.admidio-menu-node .nav-link.active,
#adm_main_menu .nav-link.active {
    color: #ffffff !important;
    background-color: #e30513 !important;
}

#adm_sidebar .nav-link.active i,
#adm_sidebar .nav-link.active .bi,
.admidio-menu-node .nav-link.active i,
.admidio-menu-node .nav-link.active .bi,
#adm_main_menu .nav-link.active i,
#adm_main_menu .nav-link.active .bi {
    color: #ffffff !important;
}

/* Ensure Sidebar Menu is Visible on Desktop */
@media (min-width: 768px) {
    #adm_main_menu.collapse {
        display: block !important;
    }
}

/* Dropdown Menus */
.dropdown-menu {
    background-color: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.15) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.dropdown-item {
    color: #263340 !important;
    font-weight: 500;
}

.dropdown-item:hover, 
.dropdown-item:focus,
.dropdown-item.active {
    background-color: #fce8e8 !important;
    color: #e30513 !important;
}

.dropdown-item i, 
.dropdown-item .bi {
    color: inherit !important;
}

/* Primary Buttons */
.btn-primary {
    background-color: #e30513 !important;
    border-color: #e30513 !important;
    color: #ffffff !important;
}

.btn-primary:hover, 
.btn-primary:focus, 
.btn-primary:active {
    background-color: #b8040f !important;
    border-color: #b8040f !important;
    color: #ffffff !important;
}

/* Outline Buttons */
.btn-outline-primary {
    color: #e30513 !important;
    border-color: #e30513 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: #e30513 !important;
    color: #ffffff !important;
}

/* Badges & Pills */
.badge.bg-primary, 
.badge-primary,
.bg-primary {
    background-color: #e30513 !important;
    color: #ffffff !important;
}

/* Active Nav Tabs & Pills */
.nav-pills .nav-link.active,
.nav-tabs .nav-link.active {
    background-color: #e30513 !important;
    color: #ffffff !important;
    border-color: #e30513 !important;
}

.nav-tabs .nav-link {
    color: #263340 !important;
    font-weight: bold;
}

/* Accordion High Contrast */
.accordion-button {
    color: #263340 !important;
    background-color: #f8f9fa !important;
}

.accordion-button:not(.collapsed) {
    color: #ffffff !important;
    background-color: #e30513 !important;
}

.accordion-button:not(.collapsed)::after {
    filter: brightness(0) invert(1);
}

/* Pagination */
.page-item.active .page-link {
    background-color: #e30513 !important;
    border-color: #e30513 !important;
    color: #ffffff !important;
}

.page-link {
    color: #e30513 !important;
}

.page-link:hover {
    color: #b8040f !important;
}

/* Forms & Input Labels */
label, .form-label, .col-form-label {
    color: #263340 !important;
    font-weight: bold;
}

.form-control, .form-select {
    color: #263340 !important;
    background-color: #ffffff !important;
}

.form-control:focus, .form-select:focus {
    border-color: #e30513 !important;
    box-shadow: 0 0 0 0.25rem rgba(227, 5, 19, 0.25) !important;
}

/* Cards & Tables */
.card {
    background-color: #ffffff !important;
    border: 1px solid #e9ecef !important;
}

.card-header {
    color: #263340 !important;
    font-weight: bold;
}

.table {
    color: #263340 !important;
}

.table th, .table td {
    color: #263340 !important;
}
