:root {
    /* Realogistic Color Palette */
    --realogistic-primary-blue: #00467f;
    --realogistic-secondary-blue: #007ac1;
    --realogistic-accent-light-blue: #aecadf;
    --realogistic-white: #ffffff;
    --realogistic-dark-gray: #333333;
    --realogistic-medium-gray: #777777;
    --realogistic-light-gray: #f0f0f0;
    --realogistic-very-light-gray: #f9f9f9;

    /* Bootstrap Variable Overrides */
    --bs-primary: var(--realogistic-primary-blue);
    --bs-primary-content: var(--realogistic-white);
    --bs-secondary: var(--realogistic-secondary-blue);
    --bs-secondary-content: var(--realogistic-white);
    --bs-accent: var(--realogistic-accent-light-blue);
    --bs-accent-content: var(--realogistic-dark-gray);
    --bs-neutral: var(--realogistic-light-gray);
    --bs-neutral-content: var(--realogistic-dark-gray);
    --bs-base-100: var(--realogistic-white);
    --bs-base-200: var(--realogistic-very-light-gray);
    --bs-base-300: var(--realogistic-light-gray);
    --bs-base-content: var(--realogistic-dark-gray);
    --bs-info: #17a2b8;
    --bs-info-content: var(--realogistic-white);
    --bs-success: #28a745;
    --bs-success-content: var(--realogistic-white);
    --bs-warning: #ffc107;
    --bs-warning-content: var(--realogistic-dark-gray);
    --bs-danger: #dc3545;
    --bs-danger-content: var(--realogistic-white);
    
}

body {
    background-color: var(--bs-base-100);
    color: var(--bs-base-content);
}

/* Primary color overrides */
.btn-primary,
.bg-primary,
.alert-primary,
.badge-primary,
.page-link:focus {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: #00335a;
    --bs-btn-hover-border-color: #00335a;
    --bs-alert-bg: rgba(var(--bs-primary-rgb), 0.1);
    --bs-alert-border-color: var(--bs-primary);
    --bs-pagination-focus-bg: var(--bs-primary);
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5);
    background-color: var(--bs-primary) !important;
    color: var(--bs-primary-content) !important;
    border-color: var(--bs-primary) !important;
}

.btn-outline-primary,
.page-link {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-primary-content);
    --bs-pagination-hover-color: var(--bs-primary);
    --bs-pagination-active-color: var(--bs-primary-content);
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
    border-color: var(--bs-primary) !important;
}

.text-primary {
    color: var(--bs-primary) !important;
}

.text-primary-emphasis {
    color: var(--bs-primary) !important;
}

/* Secondary color overrides */
.btn-secondary,
.bg-secondary,
.alert-secondary,
.badge-secondary {
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: #00619a;
    --bs-btn-hover-border-color: #00619a;
    --bs-alert-bg: rgba(var(--bs-secondary-rgb), 0.1);
    --bs-alert-border-color: var(--bs-secondary);
    background-color: var(--bs-secondary) !important;
    color: var(--bs-secondary-content) !important;
    border-color: var(--bs-secondary) !important;
}

.text-secondary {
    color: var(--bs-secondary) !important;
}

.text-secondary-emphasis {
    color: var(--bs-secondary) !important;
}

.btn-outline-secondary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-hover-color: var(--bs-secondary-content);
    color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
}

/* Success color overrides - Adjust if Realogistic has specific success color */
.btn-success,
.bg-success,
.alert-success,
.badge-success {
    --bs-btn-bg: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
    --bs-btn-hover-bg: #1e843b;
    --bs-btn-hover-border-color: #1e843b;
    --bs-alert-bg: rgba(var(--bs-success-rgb), 0.1);
    --bs-alert-border-color: var(--bs-success);
    background-color: var(--bs-success) !important;
    color: var(--bs-success-content) !important;
    border-color: var(--bs-success) !important;
}

.text-success {
    color: var(--bs-success) !important;
}

.text-success-emphasis {
    color: var(--bs-success) !important;
}

.btn-outline-success {
    --bs-btn-color: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
    --bs-btn-hover-bg: var(--bs-success);
    --bs-btn-hover-border-color: var(--bs-success);
    color: var(--bs-success) !important;
    border-color: var(--bs-success) !important;
}

/* Info color overrides - Adjust if Realogistic has specific info color */
.btn-info,
.bg-info,
.alert-info,
.badge-info {
    --bs-btn-bg: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-bg: #138294;
    --bs-btn-hover-border-color: #138294;
    --bs-alert-bg: rgba(var(--bs-info-rgb), 0.1);
    --bs-alert-border-color: var(--bs-info);
    background-color: var(--bs-info) !important;
    color: var(--bs-info-content) !important;
    border-color: var(--bs-info) !important;
}

.text-info {
    color: var(--bs-info) !important;
}

.text-info-emphasis {
    color: var(--bs-info) !important;
}

.btn-outline-info {
    --bs-btn-color: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-bg: var(--bs-info);
    --bs-btn-hover-border-color: var(--bs-info);
    color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
}

/* Warning color overrides - Adjust if Realogistic has specific warning color */
.btn-warning,
.bg-warning,
.alert-warning,
.badge-warning {
    --bs-btn-bg: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-bg: #cca306;
    --bs-btn-hover-border-color: #cca306;
    --bs-alert-bg: rgba(var(--bs-warning-rgb), 0.1);
    --bs-alert-border-color: var(--bs-warning);
    background-color: var(--bs-warning) !important;
    color: var(--bs-warning-content) !important;
    border-color: var(--bs-warning) !important;
}

.text-warning {
    color: var(--bs-warning) !important;
}

.text-warning-emphasis {
    color: var(--bs-warning) !important;
}

.btn-outline-warning {
    --bs-btn-color: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-bg: var(--bs-warning);
    --bs-btn-hover-border-color: var(--bs-warning);
    color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
}

/* Danger color overrides - Adjust if Realogistic has specific danger color */
.btn-danger,
.bg-danger,
.alert-danger,
.badge-danger {
    --bs-btn-bg: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-bg: #b82323;
    --bs-btn-hover-border-color: #b82323;
    --bs-alert-bg: rgba(var(--bs-danger-rgb), 0.1);
    --bs-alert-border-color: var(--bs-danger);
    background-color: var(--bs-danger) !important;
    color: var(--bs-danger-content) !important;
    border-color: var(--bs-danger) !important;
}

.text-danger {
    color: var(--bs-danger) !important;
}

.text-danger-emphasis {
    color: var(--bs-danger) !important;
}

.btn-outline-danger {
    --bs-btn-color: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-bg: var(--bs-danger);
    --bs-btn-hover-border-color: var(--bs-danger);
    color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
}

/* Neutral color overrides */
.bg-neutral {
    background-color: var(--bs-neutral) !important;
    color: var(--bs-neutral-content) !important;
}

.text-neutral {
    color: var(--bs-neutral) !important;
}

/* Base color overrides*/
.bg-base-100 {
    background-color: var(--bs-base-100) !important;
}

.bg-base-200 {
    background-color: var(--bs-base-200) !important;
}

.bg-base-300 {
    background-color: var(--bs-base-300) !important;
}

/* Realogistic Specific Styles */
.navbar {
    background-color: var(--realogistic-light-gray) !important;
}

.navbar-brand img {
    /* Adjust image styles if needed */
}

.navbar-nav .nav-link {
    color: var(--realogistic-white) !important;
}

.navbar-nav .nav-link:hover {
    color: var(--realogistic-secondary-blue) !important;
}

.navbar-toggler {
    border-color: var(--realogistic-white) !important;
}

.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(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Example of a custom button style */
.btn {
    background-color: var(--realogistic-secondary-blue);
    color: var(--realogistic-white);
    border: none;
    padding: 0.35rem 0.7rem;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn:hover {
    background-color: #00619a;
}

/* You might need to adjust the background of sections */
.section-bg-light {
    background-color: var(--realogistic-very-light-gray);
}

.section-bg-medium {
    background-color: var(--realogistic-light-gray);
}

/* Adjustments for text contrast on different backgrounds */
.text-on-primary {
    color: var(--bs-primary-content) !important;
}

.text-on-secondary {
    color: var(--bs-secondary-content) !important;
}

/* Example of styling for links within the content */
a {
    color: var(--realogistic-secondary-blue);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Checkbox and Radio Button Styles */
.form-check-input {
    border-color: var(--realogistic-medium-gray); /* Medium gray border */
    background-color: var(--bs-base-100); /* Light background */
}

.form-check-input:checked {
    background-color: var(--bs-primary); /* Primary blue when checked */
    border-color: var(--bs-primary);
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25); /* Slight shadow for better UI */
}
    
 .form-control {
        border-color: var(--realogistic-medium-gray); /* Medium gray border */
         background-color: var(--bs-base-100); /* Light background */
         color: var(--bs-base-content); /* Text color */
  }
    
.form-control:focus {
  border-color: var(--bs-primary) ;
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25); /* Slight shadow for better UI */
}
.modal-backdrop
{
    opacity:0.4 !important;
}

.password-icon {
    position: absolute !important;
    right: 10px;
    top: 48px;
    cursor: pointer;
}

.navbar {
    background-color: var(--realogistic-light-gray) !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.navbar-nav .nav-link {
    color: var(--realogistic-white) !important;
    transition: color 0.3s ease;
}

.navbar-nav .nav-link:hover {
    color: var(--realogistic-secondary-blue) !important;
}

.dropdown-menu {
    background-color: var(--realogistic-white) !important;
    border-color: var(--realogistic-medium-gray) !important;
}

.dropdown-item {
    color: var(--realogistic-dark-gray) !important;
    padding: 0.75rem 1.5rem !important;
    justify-content: center;
    display: flex;
}

.navbar-toggler {
    border-color: var(--realogistic-white) !important;
}

.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(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Regular state of nav links */
.navbar-nav .nav-link {
    color: var(--realogistic-dark-gray) !important;
    transition: color 0.3s ease;
}

/* Hover and focus states of nav links */
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: var(--realogistic-secondary-blue) !important;
}

/* Active state of nav links */
.navbar-nav .nav-link.active,
.navbar-nav .nav-item.active .nav-link {
    color: var(--realogistic-secondary-blue) !important;
    font-weight: bold;
    border-bottom: 2px solid var(--realogistic-secondary-blue);
}

.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    color: var(--realogistic-primary-blue);
    background-color: var(--x-nav-tabs-link-active-bg);
    border-color: var(--realogistic-secondary-blue);
}

/* =============================================== */
/* Realogistic Theme: Custom Card Styles           */
/* =============================================== */

.card {
    /* --- Base Card Styles --- */
    --bs-card-spacer-y: 1.25rem;
    --bs-card-spacer-x: 1.25rem;
    --bs-card-border-width: 0;
    --bs-card-border-color: var(--realogistic-light-gray);
    --bs-card-border-radius: 0.375rem; /* Softer edges for a modern look */
    --bs-card-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); /* Subtle shadow for depth */
    --bs-card-inner-border-radius: calc(0.375rem - 1px);
    --bs-card-height: 100%; /* Ensures cards in a group have equal height */
    --bs-card-bg: var(--realogistic-white);
    --bs-card-color: var(--realogistic-dark-gray);

    /* --- Card Header & Footer --- */
    --bs-card-cap-padding-y: 0.75rem;
    --bs-card-cap-padding-x: 1.25rem;
    --bs-card-cap-bg: var(--realogistic-very-light-gray);
    --bs-card-cap-color: var(--realogistic-primary-blue);

    /* --- Card Title & Subtitle --- */
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: var(--realogistic-primary-blue);
    --bs-card-subtitle-color: var(--realogistic-medium-gray);

    /* --- Card Image Overlay --- */
    --bs-card-img-overlay-padding: 1rem;

    /* --- Card Group --- */
    --bs-card-group-margin: 0.75rem;
}

/* Enhancements for better visual hierarchy */
.card-header {
    font-weight: 600; /* Bolder header text */
    border-bottom: 1px solid var(--realogistic-light-gray);
}

.card-footer {
    border-top: 1px solid var(--realogistic-light-gray);
}

.card-title {
    font-size: 1.25rem; /* Larger title for emphasis */
}