/* ============================================================
   TOKEN SYSTEM
   ============================================================ */
:root {
    --brand-700: #0b57d0;
    --brand-600: #1565e8;
    --brand-500: #2f7eff;
    --ink-900: #0f172a;
    --ink-700: #334155;
    --ink-500: #64748b;
    --line: #dbe7ff;
    --surface: #f4f8ff;
    --card-shadow: 0 14px 34px rgba(18,40,88,.12);
    --section-gap: 1.25rem;
    --gold-500: #F59E0B;
    --gold-100: #FEF3C7;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
body {
    font-family: "Plus Jakarta Sans", "Avenir Next", "Nunito Sans", "Segoe UI", sans-serif;
    color: var(--ink-900);
}

/* ============================================================
   TOOLTIP
   ============================================================ */
.card-title-tooltip {
    --bs-tooltip-bg: #0d6efd;
    --bs-tooltip-color: #eef2ff;
}

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar {
    background: linear-gradient(135deg, #0d6efd 0%, #5a8cff 60%, #9bb6ff 100%);
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .1);
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    text-decoration: none;
}

.brand-logo {
    height: 38px;
    width: auto;
    display: block;
    object-fit: contain;
}

.brand-name {
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1;
    letter-spacing: .3px;
    color: #fff;
    position: relative;
    top: 1px;
}

@media (max-width: 575.98px) {
    .brand-logo { height: 34px; }
    .brand-name { font-size: 1rem; }
}

.navbar .brand-name,
.navbar .nav-link,
.navbar .navbar-brand {
    color: #fff !important;
}

.navbar .nav-link:hover {
    color: #c9d9ff !important;
}

.navbar .btn.btn-primary {
    background: #fff;
    color: #0d6efd;
    border: none;
    font-weight: 600;
}

.navbar .btn.btn-primary:hover {
    background: #c9d9ff;
    color: #0d6efd;
}

.navbar .nav-link i,
.navbar .dropdown-item i {
    color: #fffa;
}

.navbar .dropdown-menu {
    background: #ffffff;
    border: none;
    border-radius: .75rem;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

.navbar .dropdown-item {
    color: #212529 !important;
}

.navbar .dropdown-item:hover {
    background: #f1f3f5;
    color: #5a8cff !important;
}

.navbar-light .navbar-toggler-icon {
    filter: invert(1) brightness(2);
}

@media (max-width: 991.98px) {
    .dropdown-menu { border-radius: .5rem; }
    .navbar .nav-link { padding: .6rem .4rem; }
}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.trust-strip {
    background: #fff;
    border-bottom: 1px solid var(--line);
    padding: .85rem 0;
}

.trust-strip .trust-number {
    font-weight: 800;
    font-size: 1.15rem;
    color: var(--brand-700);
    line-height: 1;
    display: block;
    margin-bottom: .15rem;
}

.trust-strip .trust-label {
    font-size: .78rem;
    color: var(--ink-500);
}

/* ============================================================
   BADGES
   ============================================================ */
.badge-soft {
    background: #e7f8ee !important;
    color: #146c43 !important;
    border: 1px solid #b7e4c7;
    font-weight: 700;
}

.badge-price {
    background: #fff3d6 !important;
    color: #8a4b08 !important;
    border: 1px solid #f0d29a;
    font-weight: 700;
}

.badge-available {
    background: var(--gold-100) !important;
    color: #92400E !important;
    border: 1px solid #FDE68A;
    font-weight: 700;
}

/* ============================================================
   FOOTER
   ============================================================ */
footer.site-footer {
    background: #0f172a;
    color: #94a3b8;
}

footer.site-footer a {
    transition: color .15s ease;
}

footer.site-footer a:hover {
    color: #fff !important;
}

footer.site-footer .footer-heading {
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #cbd5e1;
    margin-bottom: .75rem;
}

footer.site-footer .footer-link {
    display: block;
    color: #64748b;
    text-decoration: none;
    font-size: .875rem;
    margin-bottom: .45rem;
}

footer.site-footer .footer-brand-name {
    font-weight: 700;
    color: #f1f5f9;
    font-size: 1rem;
}

footer.site-footer .footer-tagline {
    font-size: .83rem;
    color: #64748b;
    margin-top: .35rem;
}

footer.site-footer .footer-divider {
    border-color: #1e293b;
    margin: 1.5rem 0 1rem;
}

footer.site-footer .footer-legal {
    font-size: .78rem;
    color: #475569;
}
