/* =========================================================================
   Wheelvoy brand theme - one place for colors, type and component styling.
   Colors are taken from the logo: navy ring/wordmark, blue chevron/"voy",
   orange dot, light grey-blue background, slate tagline.
   Loaded by: layouts/main (app), auth/layouts/main (login), public calculator,
   order pages and the landing site (layouts/site).
   ========================================================================= */
:root {
    --wv-navy: #0B2342;
    --wv-navy-2: #12305A;
    --wv-navy-3: #1B3D6E;
    --wv-blue: #2369EA;
    --wv-blue-dark: #1A55C4;
    --wv-blue-soft: #E8F0FD;
    --wv-orange: #F5A43A;
    --wv-orange-dark: #D9861C;
    --wv-bg: #F4F6FA;
    --wv-surface: #FFFFFF;
    --wv-border: #DDE3EC;
    --wv-text: #16213A;
    --wv-muted: #5B6478;
    --wv-success: #1F9D63;
    --wv-danger: #D64545;
    --wv-radius: 10px;
    --wv-shadow: 0 6px 24px rgba(11, 35, 66, .10);
    --wv-font: 'Poppins', 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
}

/* ---------- base ---------- */
body { font-family: var(--wv-font); color: var(--wv-text); }
a { color: var(--wv-blue); }
a:hover { color: var(--wv-blue-dark); }
::selection { background: var(--wv-blue); color: #fff; }

/* ---------- buttons ---------- */
.btn-primary, .btn-info {
    background-color: var(--wv-blue) !important; border-color: var(--wv-blue) !important; color: #fff !important;
}
.btn-primary:hover, .btn-info:hover, .btn-primary:focus, .btn-info:focus {
    background-color: var(--wv-blue-dark) !important; border-color: var(--wv-blue-dark) !important;
}
.btn-outline-primary { color: var(--wv-blue) !important; border-color: var(--wv-blue) !important; }
.btn-outline-primary:hover { background: var(--wv-blue) !important; color: #fff !important; }
.btn-warning { background-color: var(--wv-orange) !important; border-color: var(--wv-orange) !important; color: var(--wv-navy) !important; }
.btn-warning:hover { background-color: var(--wv-orange-dark) !important; border-color: var(--wv-orange-dark) !important; }
.btn-secondary, .btn-dark { background-color: var(--wv-navy-2) !important; border-color: var(--wv-navy-2) !important; }
.btn-success { background-color: var(--wv-success) !important; border-color: var(--wv-success) !important; }
.btn-danger { background-color: var(--wv-danger) !important; border-color: var(--wv-danger) !important; }
.btn { border-radius: 8px; font-weight: 500; }

/* ---------- AdminLTE app shell ---------- */
.content-wrapper { background-color: var(--wv-bg) !important; }
.main-header.navbar { background: var(--wv-surface) !important; border-bottom: 1px solid var(--wv-border) !important; }
.main-header .nav-link { color: var(--wv-navy) !important; }
.main-sidebar, .main-sidebar.sidebar-dark-primary { background: var(--wv-navy) !important; }
.main-sidebar .brand-link { background: var(--wv-navy) !important; border-bottom: 1px solid rgba(255, 255, 255, .08) !important; }
.main-sidebar .brand-link .brand-text { color: #fff !important; font-weight: 600 !important; letter-spacing: .2px; }
.main-sidebar .brand-link .brand-image { opacity: 1 !important; }
.sidebar .nav-sidebar .nav-link { color: #C9D4E8 !important; border-radius: 8px; }
.sidebar .nav-sidebar .nav-link:hover { background: rgba(255, 255, 255, .06) !important; color: #fff !important; }
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar .nav-sidebar .nav-link.active {
    background: var(--wv-blue) !important; color: #fff !important; box-shadow: 0 4px 12px rgba(35, 105, 234, .35) !important;
}
.sidebar .nav-sidebar .nav-icon { color: inherit !important; }
.main-footer { background: var(--wv-surface) !important; color: var(--wv-muted) !important; border-top: 1px solid var(--wv-border) !important; }
.main-footer a { color: var(--wv-blue); }
.content-header h1 { color: var(--wv-navy); font-weight: 600; }
.breadcrumb-item a { color: var(--wv-blue); }

/* ---------- cards / boxes ---------- */
.card { border: 1px solid var(--wv-border); border-radius: var(--wv-radius); box-shadow: var(--wv-shadow) !important; }
.card-primary.card-outline, .card-info.card-outline { border-top: 3px solid var(--wv-blue) !important; }
.card-primary:not(.card-outline) > .card-header, .card-info:not(.card-outline) > .card-header {
    background-color: var(--wv-navy) !important; color: #fff;
}
.card-header { border-bottom-color: var(--wv-border); }
.card-title { color: var(--wv-navy); font-weight: 600; }
.card-primary:not(.card-outline) .card-title, .card-info:not(.card-outline) .card-title { color: #fff; }

/* dashboard tiles: one brand palette instead of rainbow */
.small-box { border-radius: var(--wv-radius) !important; box-shadow: var(--wv-shadow) !important; overflow: hidden; }
.small-box.bg-info, .small-box.bg-primary { background: linear-gradient(135deg, var(--wv-blue), var(--wv-blue-dark)) !important; }
.small-box.bg-success { background: linear-gradient(135deg, var(--wv-navy-3), var(--wv-navy)) !important; }
.small-box.bg-warning { background: linear-gradient(135deg, var(--wv-orange), var(--wv-orange-dark)) !important; color: var(--wv-navy) !important; }
.small-box.bg-warning .inner h3, .small-box.bg-warning .inner p, .small-box.bg-warning a { color: var(--wv-navy) !important; }
.small-box.bg-danger, .small-box.bg-secondary, .small-box.bg-dark { background: linear-gradient(135deg, var(--wv-navy-2), var(--wv-navy)) !important; }
.small-box .inner h3, .small-box .inner p { color: #fff; }
.small-box .icon > i { color: rgba(255, 255, 255, .22) !important; }
.small-box > .small-box-footer { background: rgba(0, 0, 0, .12) !important; }

/* ---------- badges / alerts ---------- */
.badge-primary, .badge-info { background-color: var(--wv-blue) !important; }
.badge-warning { background-color: var(--wv-orange) !important; color: var(--wv-navy) !important; }
.badge-success { background-color: var(--wv-success) !important; }
.badge-danger { background-color: var(--wv-danger) !important; }
.bg-info, .bg-primary { background-color: var(--wv-blue) !important; }
.alert-info { background: var(--wv-blue-soft) !important; border-color: #C7D9FA !important; color: var(--wv-navy) !important; }
.text-primary, .text-info { color: var(--wv-blue) !important; }

/* ---------- tables / forms ---------- */
.table thead th, .table thead.thead-light th { background: #EEF2F8; color: var(--wv-navy); border-bottom: 2px solid var(--wv-border); }
.table-hover tbody tr:hover { background: var(--wv-blue-soft); }
.form-control:focus, .select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection { border-color: var(--wv-blue) !important; box-shadow: 0 0 0 .15rem rgba(35, 105, 234, .2) !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--wv-blue) !important; }
.page-item.active .page-link { background-color: var(--wv-blue) !important; border-color: var(--wv-blue) !important; }
.page-link { color: var(--wv-blue); }
.custom-control-input:checked ~ .custom-control-label::before { background-color: var(--wv-blue) !important; border-color: var(--wv-blue) !important; }
.nav-pills .nav-link.active, .nav-tabs .nav-link.active { background-color: var(--wv-blue) !important; color: #fff !important; }

/* ---------- auth pages (login / sign-up / reset) ---------- */
.wv-auth .main, .wv-auth .main-small, .wv-auth .signup-card, .wv-auth .result-card, .wv-auth .signup-toggle-box {
    background: linear-gradient(160deg, var(--wv-navy) 0%, var(--wv-navy-2) 60%, var(--wv-navy-3) 100%) !important;
    box-shadow: 0 20px 50px rgba(5, 15, 35, .55) !important;
}
.wv-auth button, .wv-auth .btn-login { background: var(--wv-blue) !important; font-family: var(--wv-font); }
.wv-auth button:hover, .wv-auth .btn-login:hover { background: var(--wv-blue-dark) !important; }
.wv-auth .signup-toggle-box button { background: var(--wv-orange) !important; color: var(--wv-navy) !important; }
.wv-auth .signup-toggle-box button:hover { background: var(--wv-orange-dark) !important; }
.wv-auth a { color: #8FB6FF; }
.wv-auth a:hover { color: #fff; }
.wv-auth .logo { background: transparent !important; box-shadow: none !important; }

/* ---------- footer policy link (used everywhere) ---------- */
.wv-policy-link { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.wv-auth-footer {
    text-align: center; font-size: 13px; color: rgba(255, 255, 255, .75); margin-top: 6px;
}
.wv-auth-footer a { display: inline !important; margin: 0 !important; color: #fff !important; }
