/* ------------------------------------------------------------------------------------------
   Header brand (logo icon + name) — one look on every page.
   The icon is the platform mark  /img/brand/smartwash-mark.png  (512×512 PNG, rendered at
   --sw-mark). Where an uploaded brand image is allowed to replace it (Super-Admin "Authentication
   logo", a tenant's own logo) it is rendered with .sw-brand-logo instead.
   Loaded by _Layout, _PortalLayout, _DriverLayout and _AuthLayout.
   ------------------------------------------------------------------------------------------ */
:root {
    --sw-mark: 32px;      /* square mark size */
    --sw-logo-h: 32px;    /* uploaded logo: max height */
    --sw-logo-w: 140px;   /* uploaded logo: max width */
}

.sw-brand-mark {
    display: block;
    width: var(--sw-mark);
    height: var(--sw-mark);
    object-fit: contain;
    flex: 0 0 auto;
}

.sw-brand-logo {
    display: block;
    width: auto;
    height: auto;
    max-height: var(--sw-logo-h);
    max-width: var(--sw-logo-w);
    object-fit: contain;
    flex: 0 0 auto;
}

.sw-brand-icon {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.sw-brand-text {
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

/* ── Admin sidebar (desktop ≥ 1200px, off-canvas drawer below) ───────────────────────────── */
#layout-menu .app-brand-link { min-width: 0; flex: 1 1 auto; }
#layout-menu .app-brand-logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
#layout-menu .app-brand-text.demo {
    font-size: 1.25rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

/* ── Admin top navbar: the brand is shown only while the sidebar is off-canvas (< xl) ────── */
.sw-navbar-brand {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex: 0 1 auto;
    min-width: 0;
    margin-inline-end: .75rem;
    color: var(--bs-heading-color);
}
.sw-navbar-brand:hover,
.sw-navbar-brand:focus { color: var(--bs-primary); }
.sw-navbar-brand .sw-brand-text { font-size: 1.125rem; max-width: 42vw; }

/* ── Customer / driver portal navbar ─────────────────────────────────────────────────────── */
.navbar .navbar-brand.sw-brand { gap: .5rem; min-width: 0; margin-inline-end: 1rem; }
.navbar .navbar-brand.sw-brand .sw-brand-text { font-size: 1.125rem; max-width: 48vw; }

/* ── Auth pages (login / register / forgot / reset / choose business / track) ────────────── */
.auth-cover-brand .sw-brand-mark { --sw-mark: 40px; }
.auth-cover-brand .sw-brand-logo { --sw-logo-h: 44px; --sw-logo-w: 220px; }
.auth-cover-brand .app-brand-text { font-size: 1.5rem; letter-spacing: -.02em; }
.sw-wordmark-accent { color: #12A79B; }

/* ── Documents (invoice headers) ─────────────────────────────────────────────────────────── */
.sw-doc-brand .sw-brand-mark { --sw-mark: 32px; }
.sw-doc-brand .sw-brand-logo { --sw-logo-h: 40px; --sw-logo-w: 160px; }

/* ── Tablet ──────────────────────────────────────────────────────────────────────────────── */
@media (max-width: 991.98px) {
    .navbar .navbar-brand.sw-brand .sw-brand-text { font-size: 1.0625rem; }
}

/* ── Phone ───────────────────────────────────────────────────────────────────────────────── */
@media (max-width: 575.98px) {
    :root { --sw-mark: 28px; --sw-logo-h: 28px; --sw-logo-w: 120px; }
    .sw-navbar-brand { flex: 0 0 auto; margin-inline-end: .5rem; }
    .sw-navbar-brand .sw-brand-text { display: none; }   /* icon-only beside the menu button */
    .navbar .navbar-brand.sw-brand .sw-brand-text { font-size: 1rem; }
    .auth-cover-brand .sw-brand-mark { --sw-mark: 34px; }
    .auth-cover-brand .app-brand-text { font-size: 1.3rem; }
}
