/* Naxan brand overrides on top of Bootstrap 5 */
:root {
    --nx-red: #e90608;
    --nx-red-dark: #b80507;
    --nx-black: #080807;
    --nx-dark: #111111;
    --bs-primary: #e90608;
    --bs-primary-rgb: 233, 6, 8;
    --bs-link-color: #e90608;
    --bs-link-color-rgb: 233, 6, 8;
    --bs-link-hover-color: #b80507;
    --bs-link-hover-color-rgb: 184, 5, 7;
}

body { font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; }

.btn-primary {
    --bs-btn-bg: var(--nx-red);
    --bs-btn-border-color: var(--nx-red);
    --bs-btn-hover-bg: var(--nx-red-dark);
    --bs-btn-hover-border-color: var(--nx-red-dark);
    --bs-btn-active-bg: var(--nx-red-dark);
    --bs-btn-active-border-color: var(--nx-red-dark);
    --bs-btn-disabled-bg: var(--nx-red);
    --bs-btn-disabled-border-color: var(--nx-red);
}
.btn-outline-primary {
    --bs-btn-color: var(--nx-red);
    --bs-btn-border-color: var(--nx-red);
    --bs-btn-hover-bg: var(--nx-red);
    --bs-btn-hover-border-color: var(--nx-red);
    --bs-btn-active-bg: var(--nx-red-dark);
    --bs-btn-active-border-color: var(--nx-red-dark);
}
.form-control:focus, .form-select:focus, .form-check-input:focus {
    border-color: rgba(233, 6, 8, .5);
    box-shadow: 0 0 0 .25rem rgba(233, 6, 8, .15);
}
.form-check-input:checked { background-color: var(--nx-red); border-color: var(--nx-red); }
.pagination { --bs-pagination-active-bg: var(--nx-red); --bs-pagination-active-border-color: var(--nx-red); --bs-pagination-color: var(--nx-red); }

.bg-nx-black { background-color: var(--nx-black) !important; }
.text-nx-red { color: var(--nx-red) !important; }

/* ---------- Public site ---------- */
.site-header .navbar-brand img { height: 48px; width: auto; }
.site-header .nav-link { color: rgba(255,255,255,.8); font-weight: 500; }
.site-header .nav-link:hover, .site-header .nav-link.active { color: #fff; }

/* Public mobile menu: offcanvas sidebar below lg */
.site-sidebar { --bs-offcanvas-width: 280px; --bs-offcanvas-bg: var(--nx-black); --bs-offcanvas-color: #fff; }
.site-sidebar .offcanvas-logo { height: 48px; width: auto; }
@media (max-width: 991.98px) {
    .site-sidebar .nav-link { padding: .7rem .9rem; border-radius: .5rem; display: flex; gap: .65rem; align-items: center; }
    .site-sidebar .nav-link:hover { background: rgba(255,255,255,.06); }
    .site-sidebar .nav-link.active { background: var(--nx-red); color: #fff; }
}

.hero {
    background: radial-gradient(1200px 400px at 50% -10%, rgba(233,6,8,.35), transparent 70%), var(--nx-black);
    color: #fff;
    padding: 4.5rem 0 7rem;
}
.hero .eyebrow { letter-spacing: .15em; text-transform: uppercase; font-size: .8rem; color: var(--nx-red); font-weight: 600; }

.check-card { margin-top: -4.5rem; border: 0; border-radius: 1rem; }
.check-card .form-control-lg { border-radius: .6rem; }
.check-card .btn-lg { border-radius: .6rem; }

.result-card { border-radius: 1rem; border-width: 0; border-left: 6px solid transparent; }
.result-card.status-active { border-left-color: #198754; }
.result-card.status-expired { border-left-color: #6c757d; }
.result-card.status-void { border-left-color: var(--nx-red); }
.result-card dt { font-weight: 500; color: #6c757d; font-size: .85rem; }
.result-card dd { font-weight: 600; margin-bottom: .75rem; }

.feature-icon {
    width: 3rem; height: 3rem; border-radius: .75rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(233,6,8,.1); color: var(--nx-red); font-size: 1.4rem;
}

.site-footer { background: var(--nx-black); color: rgba(255,255,255,.65); }
.site-footer a { color: rgba(255,255,255,.8); text-decoration: none; }
.site-footer a:hover { color: #fff; }

/* ---------- Admin ---------- */
.admin-body { background: #f4f5f7; }
/* Sidebar: fixed column on desktop, slide-in offcanvas below lg (992px) */
.admin-sidebar {
    --bs-offcanvas-width: 270px;
    --bs-offcanvas-bg: var(--nx-black);
    --bs-offcanvas-color: #fff;
}
.admin-sidebar.offcanvas-lg { background-color: var(--nx-black) !important; }
.admin-sidebar.offcanvas-lg .offcanvas-header { display: flex; }
.admin-sidebar.offcanvas-lg .offcanvas-body { flex-grow: 1; overflow-y: auto; }
.admin-sidebar .brand img { height: 56px; width: auto; }
.admin-sidebar .nav-link {
    color: rgba(255,255,255,.7); border-radius: .5rem; padding: .6rem .9rem;
    display: flex; align-items: center; gap: .65rem;
}
.admin-sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }
.admin-sidebar .nav-link.active { color: #fff; background: var(--nx-red); }
.admin-main { min-height: 100vh; }
.admin-topbar { background: #fff; border-bottom: 1px solid #e5e7eb; }
.min-w-0 { min-width: 0; }

@media (min-width: 992px) {
    .admin-sidebar {
        width: 250px; height: 100vh;
        position: fixed; top: 0; left: 0; z-index: 1030;
        display: flex; flex-direction: column;
    }
    .admin-main { margin-left: 250px; }
}

.stat-card { border: 0; border-radius: .9rem; }
.stat-card .stat-icon {
    width: 3rem; height: 3rem; border-radius: .75rem;
    display: flex; align-items: center; justify-content: center; font-size: 1.35rem;
}

.login-page {
    min-height: 100vh;
    background: radial-gradient(900px 500px at 50% 0%, rgba(233,6,8,.3), transparent 70%), var(--nx-black);
}
.login-card { border: 0; border-radius: 1rem; max-width: 420px; width: 100%; }
.login-page .logo { height: 90px; width: auto; }

/* Admin tables */
.admin-table thead th {
    background: #f8f9fa; color: #6c757d; font-size: .75rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .04em; white-space: nowrap;
    padding-top: .8rem; padding-bottom: .8rem; border-bottom-width: 1px;
}
.admin-table td, .admin-table th { padding-left: 1rem; padding-right: 1rem; }
.admin-table tbody td { padding-top: .85rem; padding-bottom: .85rem; }
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table .cell-main { max-width: 280px; }
.admin-table .cell-customer { max-width: 180px; }

/* Mobile warranty cards (replace the table below md) */
.warranty-list .warranty-item + .warranty-item { border-top: 1px solid #e9ecef; }
.warranty-item-label { color: #6c757d; font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; }
