/* THEODORE BRUCE Custom CSS v3.15
   v3.15: direct link-level hover/focus triggers added for the
   unified underline (belt-and-braces alongside li triggers).
   v3.14 changes: v3.13's li position:relative REVERTED — it
   overrode the platform's .dropdown{position:static} anchoring
   and collapsed the full-width panel to li width. The unified
   underline moves to the anchor's ::before (nav-link is already
   position:relative; chevron owns ::after; one rule, both item
   types, no li positioning). (July 2026 QC — Brain PR)
   v3.13 changes: UNIFIED nav hover underline — one rule on the
   li.nav-item wrapper replaces the two link-level pseudos (plain
   ::after / parent ::before), so every top-level item draws the
   identical 1px line from the identical rule. Link-level
   underline pseudos retired; chevron preserved. (July 2026 QC —
   Brain PR)
   v3.12 changes: nav decoration kill extended to the li.nav-item
   wrapper (all states + pseudos). (July 2026 QC — Brain PR)
   v3.11 changes: top-level nav link decoration kill — thick
   platform bar on non-dropdown items (SERVICES) suppressed; the
   thin 1px underline is now the single treatment for all
   top-level items, matching dropdown parents. (July 2026 QC —
   Brain PR)
   v3.10 changes: artistic-works copyright notice — full-width
   centred second row of the legal bar, white text, wrap enabled
   on the row layout, extra bottom padding so the last line
   clears the page end. (July 2026 — Brain PR)
   File: dist/css/custom-tba.css
   Targets: header.php + footer.php with tba- prefixed classes
   v3.2 changes: drawer logo sized to near-header presence (34px
                 cap vs 22px) — the drawer replaces the header, so the
                 mark carries the brand — July 2026, Brain PR
   v3.1 changes: logo visible in the open drawer header (centred
                 between MENU and close, links home) — July 2026, Brain PR
   v3.0 changes: collapse rules hardened (!important one-off +
                 html.tba-js variant) against unidentified platform
                 cascade on some devices — July 2026, Brain PR
   v2.9 changes: desktop dropdown chevron (nav-link ::after) hidden
                 in the drawer — the +/− is the sole indicator there —
                 July 2026, Brain PR
   v2.8 changes: whole-row drawer toggles — whole parent row
                 opens/closes its panel (parents do not navigate in the
                 drawer); +/− indicator replaces the chevron —
                 July 2026, Brain PR
   v2.7 changes: drawer tap-to-expand (mobile/tablet only) — nested
                 panels collapsed behind a chevron toggle; label still
                 navigates; activates only under body.tba-js (no-JS
                 fallback = always-expanded) — July 2026, Brain PR
   v2.6 changes: admin-bar guard made unconditional (body.admin-bar
                 class never emitted by this theme) — July 2026, Brain PR
   v2.5 changes: mobile drawer 3-level grouping (headings as block
                 labels, links indented per group) — July 2026, Brain PR
   v2.4 changes: mega panel columns (3-level walker: heading + links
                 per column, white bg per client note) + admin-bar
                 guard (panel offset/z-index when logged in) —
                 July 2026, Brain PR
   v2.3 changes: MENU text label hidden below the drawer breakpoint
                 (hamburger is the sole mobile nav control) — July 2026, Brain PR
   v2.2 changes: Footer rewritten to match Figma exactly (6-col 3x2 grid,
                 Departments block, Stay Connected sidebar, trust badges row,
                 legal bar) with Figma dimensions
   Architecture: mobile-first, design tokens, ASCII-clean, full-file replacement */


/* DESIGN TOKENS */

:root {
    --tba-black:           #1a1a1a;
    --tba-black-soft:      #333333;
    --tba-grey-700:        #555555;
    --tba-grey-500:        #888888;
    --tba-grey-400:        #aaaaaa;
    --tba-grey-300:        #666666;
    --tba-grey-200:        #999999;
    --tba-white:           #ffffff;
    --tba-bg-hover:        #f8f9fa;
    --tba-bg-light:        #f5f5f5;
    --tba-border:          #eaeaea;
    --tba-border-light:    #e0e0e0;
    --tba-shadow-card:     0 4px 12px rgba(0, 0, 0, 0.05);
    --tba-shadow-drawer:   0 25px 50px -12px rgba(0, 0, 0, 0.25);

    /* Footer dark theme (Figma exact values) */
    --tba-footer-bg:           #1a1a1a;
    --tba-footer-text:         rgba(255, 255, 255, 0.35);
    --tba-footer-heading:      rgba(255, 255, 255, 0.8);
    --tba-footer-strong:       rgba(255, 255, 255, 0.8);
    --tba-footer-hover:        #ffffff;
    --tba-footer-border:       rgba(255, 255, 255, 0.08);
    --tba-footer-border-mid:   rgba(255, 255, 255, 0.06);
    --tba-footer-input-bg:     rgba(255, 255, 255, 0.05);
    --tba-footer-input-border: rgba(255, 255, 255, 0.1);
    --tba-footer-faint:        rgba(255, 255, 255, 0.5);
    --tba-footer-very-faint:   rgba(255, 255, 255, 0.25);
    --tba-footer-placeholder:  rgba(255, 255, 255, 0.25);
    --tba-footer-micro:        rgba(255, 255, 255, 0.2);
    --tba-footer-payment-bg:   rgba(255, 255, 255, 0.06);

    --tba-success:         #28a745;
    --tba-error:           #dc3545;

    --tba-font-base:       'Trade Gothic LT Std', sans-serif;
    --tba-weight-normal:   400;
    --tba-weight-bold:     700;

    --tba-text-xxs:        10px;
    --tba-text-xs:         11px;
    --tba-text-sm:         12px;
    --tba-text-base:       13px;
    --tba-text-md:         14px;
    --tba-text-lg:         16px;
    --tba-text-xl:         18px;
    --tba-text-2xl:        24px;

    --tba-track-tight:     0.3px;
    --tba-track-base:      0.5px;
    --tba-track-wide:      0.7px;
    --tba-track-wider:     1.2px;
    --tba-track-widest:    2px;

    --tba-space-xs:        4px;
    --tba-space-sm:        8px;
    --tba-space-md:        12px;
    --tba-space-lg:        16px;
    --tba-space-xl:        20px;
    --tba-space-2xl:       24px;
    --tba-space-3xl:       30px;
    --tba-space-4xl:       40px;
    --tba-space-5xl:       50px;
    --tba-space-6xl:       60px;

    --tba-logo-max-w-mobile:   260px;
    --tba-logo-max-h-mobile:   60px;
    --tba-logo-max-w-tablet:   320px;
    --tba-logo-max-h-tablet:   70px;
    --tba-logo-max-w-desktop:  380px;
    --tba-logo-max-h-desktop:  80px;

    --tba-footer-logo-max-h:   21px;

    --tba-transition-fast: 0.2s ease;
    --tba-transition-base: 0.3s ease;

    --tba-z-drawer:        1050;
}


/* FONTS - Belt-and-braces; WordPress Font Library also serves these */

@font-face {
    font-family: 'Trade Gothic LT Std';
    src: url('../fonts/TradeGothicLTStd-Extended.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Trade Gothic LT Std';
    src: url('../fonts/TradeGothicLTStd-BoldExt.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* HEADER - Root wrapper */

#tba-custom-header {
    background-color: var(--tba-white);
    font-family: var(--tba-font-base);
    position: relative;
}

#tba-custom-header .tba-header {
    background-color: var(--tba-white);
}

#tba-custom-header .consignment-slug {
    background-color: var(--tba-bg-light);
    padding: var(--tba-space-md) 0;
}

#tba-custom-header .announcement-bar {
    background-color: var(--tba-black);
    color: var(--tba-white);
    padding: var(--tba-space-sm) var(--tba-space-lg);
    font-family: var(--tba-font-base);
    font-size: var(--tba-text-base);
    letter-spacing: var(--tba-track-base);
    position: relative;
}

#tba-custom-header .announcement-bar p { margin: 0; }

#tba-custom-header .announcement-bar .close-bar {
    position: absolute;
    right: var(--tba-space-lg);
    top: 50%;
    transform: translateY(-50%);
    color: var(--tba-white);
}

#tba-custom-header .announcement-bar .announcement-close path:last-child {
    fill: var(--tba-white);
}


/* TOP UTILITY BAR */

#tba-custom-header .tba-top-bar {
    background-color: var(--tba-white);
    padding: var(--tba-space-sm) 0;
    border-bottom: 1px solid var(--tba-border);
}

#tba-custom-header .tba-top-bar > .container-fluid {
    padding-left: var(--tba-space-xl);
    padding-right: var(--tba-space-xl);
}

#tba-custom-header .tba-top-bar__link,
#tba-custom-header .tba-top-bar__phone {
    display: inline-flex;
    align-items: center;
    gap: var(--tba-space-xs);
    font-family: var(--tba-font-base) !important;
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xxs);
    letter-spacing: var(--tba-track-wide);
    text-transform: uppercase;
    color: var(--tba-black);
    text-decoration: none;
    transition: opacity var(--tba-transition-base);
    padding: 0;
}

/* Phone Trade Gothic enforcement */
#tba-custom-header .tba-top-bar__phone,
#tba-custom-header .tba-top-bar__phone span,
#tba-custom-header .tba-mobile-drawer__footer-link,
#tba-custom-header .tba-mobile-drawer__footer-link span {
    font-family: 'Trade Gothic LT Std', sans-serif !important;
}

#tba-custom-header .tba-top-bar__link:hover {
    opacity: 0.7;
    color: var(--tba-black);
    text-decoration: none;
}

#tba-custom-header .tba-top-bar__phone {
    text-transform: none;
    letter-spacing: var(--tba-track-base);
}

#tba-custom-header .tba-top-bar__phone i {
    font-size: var(--tba-text-sm);
    margin-right: 2px;
}

#tba-custom-header .tba-top-bar__right {
    gap: var(--tba-space-lg);
}

#tba-custom-header .tba-top-bar__cta {
    display: inline-flex;
    align-items: center;
    background-color: var(--tba-black);
    color: var(--tba-white);
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xxs);
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px var(--tba-space-md);
    text-decoration: none;
    border: 1px solid var(--tba-black);
    transition: background-color var(--tba-transition-base), color var(--tba-transition-base);
}

#tba-custom-header .tba-top-bar__cta:hover {
    background-color: transparent;
    color: var(--tba-black);
    text-decoration: none;
}

#tba-custom-header .tba-top-bar__language {
    background: transparent;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: var(--tba-space-xs);
    padding: 0;
    color: var(--tba-black);
    font-family: var(--tba-font-base);
    font-size: var(--tba-text-xxs);
    letter-spacing: var(--tba-track-wide);
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity var(--tba-transition-base);
}

#tba-custom-header .tba-top-bar__language:hover {
    opacity: 0.7;
}

#tba-custom-header .tba-top-bar__language:focus,
#tba-custom-header .tba-top-bar__language:focus-visible {
    outline: none;
    box-shadow: none;
}


/* LOGO ROW */

#tba-custom-header .tba-logo-row {
    background-color: var(--tba-white);
    padding: var(--tba-space-3xl) 0;
}

#tba-custom-header .tba-logo-row > .container-fluid {
    padding: 0;
}

#tba-custom-header .tba-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
}

#tba-custom-header .tba-logo__img {
    display: block;
    width: auto;
    height: auto;
    max-width: var(--tba-logo-max-w-mobile);
    max-height: var(--tba-logo-max-h-mobile);
}


/* MAIN NAVBAR */

#tba-custom-header .tba-main-navbar {
    background-color: var(--tba-white);
    padding: 0;
    position: relative;
}

#tba-custom-header .tba-main-navbar > .container-fluid {
    padding-left: var(--tba-space-xl);
    padding-right: var(--tba-space-xl);
    min-height: 56px;
}

#tba-custom-header .tba-menu-label {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-bold);
    font-size: var(--tba-text-xs);
    letter-spacing: var(--tba-track-wide);
    text-transform: uppercase;
    color: var(--tba-black);
    padding: var(--tba-space-md) 0;
}

/* MENU text label — hidden on mobile (v2.3, July 2026 — Brain PR):
   below the drawer breakpoint the hamburger is the sole nav
   control; a text label beside it reads as a second control. */
@media (max-width: 991.5px) {
    #tba-custom-header .tba-menu-label {
        display: none;
    }
}

#tba-custom-header .tba-navbar-toggler {
    background: transparent;
    border: none;
    padding: var(--tba-space-sm) var(--tba-space-md);
    color: var(--tba-black);
    cursor: pointer;
}

#tba-custom-header .tba-navbar-toggler:focus,
#tba-custom-header .tba-navbar-toggler:focus-visible {
    outline: none;
    box-shadow: none;
}

#tba-custom-header .tba-navbar-toggler .navbar-icon,
#tba-custom-header .tba-navbar-toggler .navbar-close {
    display: block;
    color: var(--tba-black);
}

#tba-custom-header .tba-navbar-toggler .navbar-close {
    display: none;
}

#tba-custom-header .tba-navbar-toggler[aria-expanded="true"] .navbar-icon {
    display: none;
}

#tba-custom-header .tba-navbar-toggler[aria-expanded="true"] .navbar-close {
    display: block;
}


/* PRIMARY NAV */

#tba-custom-header .tba-main-navbar__inner {
    align-items: center;
}

#tba-custom-header .tba-primary-nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--tba-space-xl);
    margin: 0;
    padding: 0;
    list-style: none;
    flex: 0 1 auto;
}

#tba-custom-header .tba-primary-nav .nav-item {
    margin: 0;
    position: relative;
}

#tba-custom-header .tba-primary-nav .nav-link {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xs);
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--tba-black) !important;
    padding: var(--tba-space-md) var(--tba-space-sm);
    display: inline-flex;
    align-items: center;
    gap: var(--tba-space-xs);
    transition: color var(--tba-transition-base);
    text-decoration: none;
    position: relative;
}

#tba-custom-header .tba-primary-nav .nav-link::after {
    content: '';
    position: absolute;
    left: var(--tba-space-sm);
    right: var(--tba-space-sm);
    bottom: 8px;
    height: 1px;
    background-color: var(--tba-black);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--tba-transition-base);
}

/* v3.13: link-level underline retired — the unified underline
   lives on the li wrapper (see UNIFIED NAV UNDERLINE below).
   The base .nav-link::after block above stays because the
   dropdown chevron inherits its content declaration. */
#tba-custom-header .tba-primary-nav .nav-link:not(.dropdown-toggle)::after {
    content: none;
    display: none;
}

/* ── TOP-LEVEL LINK DECORATION KILL (v3.11, July 2026 QC — Brain PR) ──
   Plain top-level items (no dropdown) rendered a THICK platform
   bar while dropdown parents showed the intended 1px rule — the
   same platform decoration family killed inside the panels in
   v3.6. Every mechanism a platform sheet could use is cleared on
   top-level links in all states; the thin 1px ::after underline
   above remains the single treatment. The ::before kill is scoped
   :not(.dropdown-toggle) — dropdown parents draw their underline
   with ::before and must keep it. Written WITHOUT !important; if
   the bar survives, DevTools paste — do not broaden this block. */
#tba-custom-header .tba-primary-nav .nav-link,
#tba-custom-header .tba-primary-nav .nav-link:hover,
#tba-custom-header .tba-primary-nav .nav-link:focus,
#tba-custom-header .tba-primary-nav .nav-link:active,
#tba-custom-header .tba-primary-nav .nav-item.current-menu-item > .nav-link,
#tba-custom-header .tba-primary-nav .nav-item.current_page_item > .nav-link,
#tba-custom-header .tba-primary-nav .nav-item.active > .nav-link {
    border-bottom: none;
    box-shadow: none;
    background-image: none;
    text-decoration: none;
}
/* v3.14: plain-link ::before kill removed — the unified underline occupies ::before on every top-level link (see UNIFIED NAV UNDERLINE). */

/* v3.12 — same suppression on the li wrapper: plain items are
   bare .nav-item (dropdown parents carry h-dropdown/dropdown
   classes the platform styles separately), so a platform bar on
   the li survives an anchor-only kill. All states, both pseudos. */
#tba-custom-header .tba-primary-nav li.nav-item,
#tba-custom-header .tba-primary-nav li.nav-item:hover,
#tba-custom-header .tba-primary-nav li.nav-item:focus-within,
#tba-custom-header .tba-primary-nav li.nav-item.active,
#tba-custom-header .tba-primary-nav li.nav-item.current-menu-item,
#tba-custom-header .tba-primary-nav li.nav-item.current_page_item {
    border-bottom: none;
    box-shadow: none;
    background-image: none;
}
#tba-custom-header .tba-primary-nav li.nav-item::before,
#tba-custom-header .tba-primary-nav li.nav-item::after,
#tba-custom-header .tba-primary-nav li.nav-item:hover::before,
#tba-custom-header .tba-primary-nav li.nav-item:hover::after {
    content: none; /* v3.14: li draws nothing — underline lives on the link; NO position set on the li (platform .dropdown{position:static} anchors the full-width panel to the navbar and must stand). */
    display: none;
}

/* ── UNIFIED NAV UNDERLINE (v3.14, July 2026 QC — Brain PR) ──
   ONE rule on the link's ::before for every top-level item,
   dropdown or not — identical 1px line by construction. The
   .nav-link is already position:relative (base block above);
   the chevron owns ::after on dropdown parents, so ::before is
   free on both item types. Hover-only; .show holds the line
   while a panel is open; :focus-within covers keyboard. */
#tba-custom-header .tba-primary-nav > li.nav-item > .nav-link::before {
    content: '';
    position: absolute;
    left: var(--tba-space-sm);
    right: var(--tba-space-sm);
    bottom: 8px;
    height: 1px;
    background-color: var(--tba-black);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--tba-transition-base);
    pointer-events: none;
}
#tba-custom-header .tba-primary-nav > li.nav-item:hover > .nav-link::before,
#tba-custom-header .tba-primary-nav > li.nav-item > .nav-link:hover::before,
#tba-custom-header .tba-primary-nav > li.nav-item > .nav-link:focus::before,
#tba-custom-header .tba-primary-nav > li.nav-item:focus-within > .nav-link::before,
#tba-custom-header .tba-primary-nav > li.nav-item.show > .nav-link::before {
    transform: scaleX(1); /* v3.15: direct link-hover/focus triggers added alongside li triggers — underline no longer depends on li hover propagation */
}

#tba-custom-header .tba-primary-nav .dropdown-toggle::after {
    border: solid var(--tba-black);
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 2px;
    transform: rotate(45deg);
    margin: 0 0 2px 4px;
    vertical-align: middle;
    width: 0;
    height: 0;
    border-top: 0;
    border-left: 0;
    content: '';
    position: static;
    background-color: transparent;
    transition: none;
}

#tba-custom-header .tba-primary-nav .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--tba-white);
    border: 1px solid var(--tba-border);
    box-shadow: var(--tba-shadow-card);
    padding: var(--tba-space-sm) 0;
    margin: 0;
    min-width: 220px;
    border-radius: 0;
    z-index: 100;
}

#tba-custom-header .tba-primary-nav .dropdown-item {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-base);
    color: var(--tba-black-soft);
    padding: var(--tba-space-sm) var(--tba-space-xl);
    transition: background-color var(--tba-transition-fast);
    text-decoration: none;
    display: block;
}

#tba-custom-header .tba-primary-nav .dropdown-item:hover {
    background-color: var(--tba-bg-hover);
    color: var(--tba-black);
}


/* ── PRIMARY NAV — dropdown mega-panel (6 Jul 2026, rev C) ──
   Full-width hover-open panel per Figma "Primary Navbar
   Departments Design" (whole-row). Written against
   TBA_Dropdown_Walker markup [confirmed]: .dropdown-menu is a
   DIV of bare a.dropdown-item; heading span emitted by the
   walker (functions.php 6 Jul edit) from the menu item's
   Description field. Hover-open is desktop-only; mobile drawer
   keeps Bootstrap tap-toggle. Requires the panel's old
   a.nav-link::after kill rules DELETED (master CSS 6 Jul). */

/* v3.14: ::before on every top-level link is the unified underline (rule lives in the UNIFIED NAV UNDERLINE block). */

/* Underline persists on hover anywhere in the item, while the
   panel is open (.show), and on current-page parents */
/* v3.13: legacy underline triggers removed — unified li rule below. */

/* Desktop: full-width panel anchored to the navbar, opens on hover */
@media (min-width: 992px) {

    /* Panel anchors to the HEADER (full-bleed), not the navbar —
       rev F: the navbar box is inset from the viewport edge, which
       left the panel ~90px short on the left. The header spans the
       viewport, so left/right:0 now means edge-to-edge. */
    #tba-custom-header {
        position: relative;
    }
    #tba-custom-header .tba-main-navbar {
        position: static;
    }
    #tba-custom-header .tba-primary-nav .nav-item {
        position: static;
    }

    #tba-custom-header .tba-primary-nav .dropdown-menu {
        /* !important is deliberate here (exception to file convention):
           Bootstrap/Popper writes INLINE transform/top/left onto the
           panel on click-open; only !important beats inline styles.
           Scope kept to positional properties. — rev D 7 Jul 2026 */
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 32px 51px 40px 51px;
        background-color: var(--tba-white);
        border: none;
        border-top: 1px solid var(--tba-border);
        border-radius: 0;
        box-shadow: 0 16px 24px rgba(0, 0, 0, 0.06);
        z-index: 100;
        box-sizing: border-box;
    }

    /* Hover-open + keyboard focus (rev E: data-toggle removed in the
       walker, so parents navigate on click; hover/:focus-within opens) */
    #tba-custom-header .tba-primary-nav .nav-item.h-dropdown:hover > .dropdown-menu,
    #tba-custom-header .tba-primary-nav .nav-item.h-dropdown:focus-within > .dropdown-menu,
    #tba-custom-header .tba-primary-nav .nav-item.show > .dropdown-menu {
        display: block;
    }

    /* Chevron flips while the panel is open */
    #tba-custom-header .tba-primary-nav .nav-item.h-dropdown:hover > .dropdown-toggle::after,
    #tba-custom-header .tba-primary-nav .nav-item.h-dropdown:focus-within > .dropdown-toggle::after,
    #tba-custom-header .tba-primary-nav .nav-item.show > .dropdown-toggle::after {
        transform: rotate(-135deg);
        margin-bottom: -2px;
    }

    /* ── MEGA PANEL COLUMNS (v2.4, July 2026 — Brain PR) ──
       Walker now emits .dropdown-menu__columns > .dropdown-menu__col
       (heading + .dropdown-menu__col-items of links) for 3-level
       menus; flat 2-level menus render bare dropdown-items in the
       same panel unchanged. White panel bg per client (Figma showed
       grey). Heading is a span (URL "#") or a link — same look. */
    #tba-custom-header .tba-primary-nav .dropdown-menu__columns {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 64px;
    }
    #tba-custom-header .tba-primary-nav .dropdown-menu__col {
        display: flex;
        flex-direction: column;
        min-width: 180px;
    }
    #tba-custom-header .tba-primary-nav .dropdown-menu__col-items {
        display: flex;
        flex-direction: column;
    }
    #tba-custom-header .tba-primary-nav .dropdown-menu__col .dropdown-menu__heading {
        margin-bottom: 10px;
    }
    a.dropdown-menu__heading {
        text-decoration: none;
    }

    /* ── ADMIN BAR GUARD (v2.6 rewrite — the v2.4 guard keyed on
       body.admin-bar, a class this theme never emits because the
       body tag does not use body_class(); confirmed dead via
       logged-in DOM 12 Jul. The z-index raise is harmless when no
       admin bar exists, so it now applies unconditionally, and
       the header stacks above #wpadminbar flyouts. ── */
    #tba-custom-header .tba-primary-nav .dropdown-menu {
        z-index: 100000 !important;
    }
    #tba-custom-header {
        z-index: 100000;
    }
}

/* Mobile drawer — submenus always expanded (rev E): parents now
   navigate on tap, so tap-to-toggle is gone; department links render
   indented beneath their parent. Panel heading hidden in the drawer. */
@media (max-width: 991.5px) {
    .tba-mobile-nav .dropdown-menu {
        display: block !important;
        position: static !important;
        border: none;
        box-shadow: none;
        background: transparent;
        margin: 0;
        padding: 4px 0 10px 18px;
        min-width: 0;
    }
    .tba-mobile-nav .dropdown-menu__heading {
        display: none;
    }
}

/* Panel heading — walker-emitted span from the menu item Description */
#tba-custom-header .tba-primary-nav .dropdown-menu__heading {
    display: block;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-bold);
    font-size: 10px;
    line-height: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--tba-black);
    margin: 0 0 18px 0;
}

/* Panel items — plain rows, no boxes, no nowrap overflow */
#tba-custom-header .tba-primary-nav .dropdown-item {
    display: block;
    width: auto;
    max-width: 480px;
    box-sizing: border-box;
    padding: 6px 0;
    margin: 0;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.3px;
    color: var(--tba-black);
    white-space: normal;
    background-color: transparent;
    border: none;
    box-shadow: none;
    text-decoration: none;
}
#tba-custom-header .tba-primary-nav .dropdown-item:hover {
    background-color: transparent;
    text-decoration: underline;
    color: var(--tba-black);
}

/* ── PANEL DECORATION KILL (v3.6, July 2026 — Brain PR) ──
   A thick platform-drawn bar renders under panel links (seen on
   the Departments column, 13 Jul). Our overrides above clear
   plain properties only; this block suppresses every remaining
   mechanism a platform stylesheet could use — pseudo-element
   bars, borders, shadows, backgrounds, Bootstrap dividers — on
   panel elements in ALL states. Safe: no Brain PR pseudo-
   elements exist on panel items (ours are on the top-level
   .nav-link/.dropdown-toggle only, and the text-decoration
   underline on item hover is deliberately kept). Written
   WITHOUT !important; if the bar survives, the platform rule
   needs DevTools identification — do not broaden this block. */
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item::before,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item::after,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-menu__heading::before,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-menu__heading::after {
    content: none;
    display: none;
}
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item:hover,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item:focus,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item:active,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item.active,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-menu__heading,
#tba-custom-header .tba-primary-nav .dropdown-menu a.dropdown-menu__heading:hover {
    border: none;
    box-shadow: none;
    background-image: none;
}
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item:focus,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item:active,
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-item.active {
    background-color: transparent;
    color: var(--tba-black);
}
#tba-custom-header .tba-primary-nav .dropdown-menu .dropdown-divider {
    display: none;
}


/* MAIN NAVBAR ACTIONS */

#tba-custom-header .tba-main-navbar__actions {
    gap: var(--tba-space-md);
    margin-left: auto;
    flex: 0 0 auto;
}

#tba-custom-header .tba-search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: var(--tba-grey-300);
    background: transparent;
    text-decoration: none;
    transition: background-color var(--tba-transition-base);
}

#tba-custom-header .tba-search-toggle:hover {
    background-color: var(--tba-bg-light);
    color: var(--tba-black);
}

#tba-custom-header .tba-search-toggle i {
    font-size: var(--tba-text-md);
}

#tba-custom-header .tba-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--tba-black);
    color: var(--tba-white);
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xxs);
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px var(--tba-space-lg);
    text-decoration: none;
    border: 1px solid var(--tba-black);
    transition: background-color var(--tba-transition-base), color var(--tba-transition-base);
}

#tba-custom-header .tba-cta-button:hover {
    background-color: transparent;
    color: var(--tba-black);
    text-decoration: none;
}


/* SEARCH REVEAL PANEL */

#tba-custom-header .tba-search-panel {
    background-color: var(--tba-bg-light);
    border-top: 1px solid var(--tba-border);
    border-bottom: 1px solid var(--tba-border);
}

#tba-custom-header .tba-search-panel > .container-fluid {
    padding: var(--tba-space-xl);
}

#tba-custom-header .tba-search-panel__form {
    max-width: 800px;
    margin: 0 auto;
    gap: var(--tba-space-md);
}

#tba-custom-header .tba-search-panel__input {
    font-family: var(--tba-font-base);
    font-size: var(--tba-text-lg);
    border: none;
    border-bottom: 1px solid var(--tba-black);
    background-color: transparent;
    padding: var(--tba-space-sm) 0;
    flex: 1;
    border-radius: 0;
    width: 100%;
}

#tba-custom-header .tba-search-panel__input:focus {
    outline: none;
    box-shadow: none;
    border-bottom-color: var(--tba-black);
}

#tba-custom-header .tba-search-panel__submit {
    background-color: var(--tba-black);
    color: var(--tba-white);
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-bold);
    font-size: var(--tba-text-xs);
    letter-spacing: var(--tba-track-wide);
    text-transform: uppercase;
    border: none;
    padding: var(--tba-space-sm) var(--tba-space-xl);
    border-radius: 0;
    cursor: pointer;
}

#tba-custom-header .tba-search-panel__submit:hover {
    background-color: var(--tba-black-soft);
}


/* MOBILE DRAWER */

#tba-custom-header .tba-mobile-drawer {
    background-color: var(--tba-white);
    box-shadow: var(--tba-shadow-drawer);
}

#tba-custom-header .tba-mobile-drawer.show,
#tba-custom-header .tba-mobile-drawer.collapsing {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    z-index: var(--tba-z-drawer);
    overflow-y: auto;
    display: block;
}

#tba-custom-header:has(.tba-mobile-drawer.show) .tba-top-bar,
#tba-custom-header:has(.tba-mobile-drawer.show) .tba-logo-row,
#tba-custom-header:has(.tba-mobile-drawer.show) .tba-main-navbar,
#tba-custom-header:has(.tba-mobile-drawer.show) .tba-search-panel,
#tba-custom-header:has(.tba-mobile-drawer.show) .announcement-bar,
#tba-custom-header:has(.tba-mobile-drawer.show) .consignment-slug {
    visibility: hidden;
}

body:has(#tba-custom-header .tba-mobile-drawer.show) {
    overflow: hidden;
}

#tba-custom-header .tba-mobile-drawer__header {
    /* v3.3: top padding reduced (lg → md) so the stacked logo row
       sits higher in the open drawer. */
    padding: var(--tba-space-md) var(--tba-space-2xl) var(--tba-space-lg);
    border-bottom: 1px solid var(--tba-border);
}

#tba-custom-header .tba-mobile-drawer__label {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-bold);
    font-size: var(--tba-text-xs);
    letter-spacing: var(--tba-track-wide);
    text-transform: uppercase;
    color: var(--tba-black);
}

#tba-custom-header .tba-mobile-drawer__close {
    background: transparent;
    border: none;
    padding: var(--tba-space-sm);
    color: var(--tba-black);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#tba-custom-header .tba-mobile-drawer__close:focus,
#tba-custom-header .tba-mobile-drawer__close:focus-visible {
    outline: none;
    box-shadow: none;
}

#tba-custom-header .tba-mobile-drawer__search {
    padding: var(--tba-space-lg) var(--tba-space-2xl) 0 var(--tba-space-2xl);
}

#tba-custom-header .tba-mobile-drawer__search-form {
    display: flex;
    align-items: center;
    gap: var(--tba-space-md);
    background-color: var(--tba-bg-light);
    border-radius: 4px;
    padding: 0 var(--tba-space-lg);
    height: 40px;
}

#tba-custom-header .tba-mobile-drawer__search-icon {
    color: var(--tba-grey-200);
    font-size: var(--tba-text-md);
}

#tba-custom-header .tba-mobile-drawer__search-input {
    flex: 1;
    border: none;
    background: transparent;
    font-family: var(--tba-font-base);
    font-size: var(--tba-text-base);
    color: var(--tba-black);
    padding: 0;
}

#tba-custom-header .tba-mobile-drawer__search-input::placeholder {
    color: var(--tba-grey-400);
}

#tba-custom-header .tba-mobile-drawer__search-input:focus {
    outline: none;
}

#tba-custom-header .tba-mobile-drawer__nav {
    padding: var(--tba-space-sm) var(--tba-space-2xl) 0 var(--tba-space-2xl);
}

#tba-custom-header .tba-mobile-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

#tba-custom-header .tba-mobile-nav .nav-item {
    margin: 0;
    border-bottom: 1px solid var(--tba-black);
}

#tba-custom-header .tba-mobile-nav .nav-link {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-sm);
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--tba-black) !important;
    padding: var(--tba-space-lg) 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    transition: color var(--tba-transition-base);
}

#tba-custom-header .tba-mobile-nav .nav-link:hover {
    color: var(--tba-grey-700) !important;
}

#tba-custom-header .tba-mobile-nav .dropdown-toggle::after {
    border: solid var(--tba-grey-200);
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(-45deg);
    margin: 0;
    width: 0;
    height: 0;
    border-top: 0;
    border-left: 0;
    content: '';
}

#tba-custom-header .tba-mobile-nav .dropdown-menu {
    position: static !important;
    transform: none !important;
    background-color: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0 0 var(--tba-space-md) var(--tba-space-lg);
    margin: 0;
    width: 100%;
    display: none;
}

#tba-custom-header .tba-mobile-nav .show > .dropdown-menu {
    display: block;
}

#tba-custom-header .tba-mobile-nav .dropdown-item {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-sm);
    color: var(--tba-grey-700);
    padding: var(--tba-space-sm) 0;
    transition: color var(--tba-transition-fast);
    text-decoration: none;
    display: block;
    text-transform: none;
    letter-spacing: 0;
}

/* ── MOBILE DRAWER — 3-level grouping (v2.5, July 2026 — Brain PR):
   the columned walker markup renders in the drawer as grouped
   lists: heading = block kicker label, its links indented. The
   desktop flex columns are neutralised (stacked). ── */
/* ── DRAWER TAP-TO-EXPAND (v2.7, July 2026 — Brain PR) ──
   Scope: drawer only. Collapse applies ONLY under body.tba-js
   (set by custom-tba.js on init) — script absent = drawer stays
   always-expanded, never sealed shut. Chevron matches the FAQ
   accordion language; rotates when open. */
/* v3.0: !important added — a deliberate one-off breach of the
   no-!important convention in this file, because an unidentified
   platform/app.css rule was winning the cascade on some devices
   (13 Jul). html.tba-js variant included in case anything strips
   body classes. */
html.tba-js #tba-custom-header .tba-mobile-nav .h-dropdown > .dropdown-menu,
body.tba-js #tba-custom-header .tba-mobile-nav .h-dropdown > .dropdown-menu {
    display: none !important;
}
html.tba-js #tba-custom-header .tba-mobile-nav .h-dropdown.tba-open > .dropdown-menu,
body.tba-js #tba-custom-header .tba-mobile-nav .h-dropdown.tba-open > .dropdown-menu {
    display: block !important;
}
/* Drawer header stack (v3.3, July 2026 — Brain PR) — replaces the
   v3.1/v3.2 absolute-centred single row. The logo takes its own
   full-width TOP row (larger, Phillips-proportion mark) and the
   MENU label + close control drop to the row beneath, keeping
   their existing space-between layout. Pure CSS: DOM order stays
   label → logo → close; `order: -1` lifts the logo to row 1.
   Scope: OPEN drawer only — the closed mobile header keeps its
   three-row layout untouched. */
.tba-mobile-drawer__header {
    position: relative;
    flex-wrap: wrap;
    row-gap: var(--tba-space-md);
}
.tba-mobile-drawer__logo {
    order: -1;
    flex: 0 0 100%;
    display: flex;
    justify-content: center;
}
.tba-mobile-drawer__logo img {
    /* v3.3: enlarged from 34px/210px — the drawer replaces the
       header, so the mark carries the brand at full prominence. */
    height: auto;
    width: auto;
    max-height: 42px;
    max-width: min(280px, 72vw);
    display: block;
}

#tba-custom-header .tba-mobile-nav .nav-item.h-dropdown {
    position: relative;
}
#tba-custom-header .tba-mobile-nav .tba-submenu-toggle {
    position: absolute;
    top: 10px;
    right: 0;
    width: 44px;
    height: 34px;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
/* +/− indicator (v2.8): horizontal bar always; vertical bar
   collapses when open — plus becomes minus, whole-row. */
#tba-custom-header .tba-mobile-nav .tba-submenu-toggle__chevron {
    position: relative;
    width: 13px;
    height: 13px;
}
#tba-custom-header .tba-mobile-nav .tba-submenu-toggle__chevron::before,
#tba-custom-header .tba-mobile-nav .tba-submenu-toggle__chevron::after {
    content: "";
    position: absolute;
    background: var(--tba-black, #1A1A1A);
    transition: transform 0.2s ease, opacity 0.2s ease;
}
#tba-custom-header .tba-mobile-nav .tba-submenu-toggle__chevron::before {
    left: 0; right: 0; top: 6px; height: 1.5px;
}
#tba-custom-header .tba-mobile-nav .tba-submenu-toggle__chevron::after {
    top: 0; bottom: 0; left: 6px; width: 1.5px;
}
#tba-custom-header .tba-mobile-nav .h-dropdown.tba-open > .tba-submenu-toggle .tba-submenu-toggle__chevron::after {
    transform: scaleY(0);
    opacity: 0;
}
/* Whole row reads as one control in the drawer */
#tba-custom-header .tba-mobile-nav .h-dropdown > a.nav-link {
    display: block;
    padding-right: 48px;
}
/* Desktop chevron never shows in the drawer — the +/− is the
   sole indicator here (v2.9) */
#tba-custom-header .tba-mobile-nav .h-dropdown > a.nav-link::after,
#tba-custom-header .tba-mobile-nav .h-dropdown > a.dropdown-toggle::after {
    display: none !important;
    content: none !important;
}
/* Toggle never renders on desktop */
@media (min-width: 992px) {
    #tba-custom-header .tba-submenu-toggle { display: none !important; }
}

#tba-custom-header .tba-mobile-nav .dropdown-menu__columns {
    display: block;
}
#tba-custom-header .tba-mobile-nav .dropdown-menu__col {
    display: block;
    margin: 14px 0 0 0;
}
#tba-custom-header .tba-mobile-nav .dropdown-menu__col:first-child {
    margin-top: 6px;
}
#tba-custom-header .tba-mobile-nav .dropdown-menu__col .dropdown-menu__heading,
#tba-custom-header .tba-mobile-nav a.dropdown-menu__heading {
    display: block;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-bold);
    font-size: 10px;
    letter-spacing: var(--tba-track-wide);
    text-transform: uppercase;
    color: var(--tba-grey-60, #6B6B6B);
    margin: 0 0 4px 0;
    text-decoration: none;
}
#tba-custom-header .tba-mobile-nav .dropdown-menu__col-items {
    display: block;
    padding-left: 12px;
}

#tba-custom-header .tba-mobile-nav .dropdown-item:hover {
    color: var(--tba-black);
    background-color: transparent;
}

#tba-custom-header .tba-mobile-drawer__cta-row {
    padding: var(--tba-space-lg) var(--tba-space-2xl);
}

#tba-custom-header .tba-mobile-drawer__cta {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--tba-black);
    color: var(--tba-white);
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xxs);
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: var(--tba-space-md);
    width: 100%;
    text-decoration: none;
    border: 1px solid var(--tba-black);
    transition: background-color var(--tba-transition-base), color var(--tba-transition-base);
}

#tba-custom-header .tba-mobile-drawer__cta:hover {
    background-color: transparent;
    color: var(--tba-black);
    text-decoration: none;
}

#tba-custom-header .tba-mobile-drawer__footer {
    padding: var(--tba-space-md) var(--tba-space-2xl);
}

#tba-custom-header .tba-mobile-drawer__footer-link {
    display: inline-flex;
    align-items: center;
    gap: var(--tba-space-sm);
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xs);
    color: var(--tba-grey-500);
    text-decoration: none;
    transition: color var(--tba-transition-base);
}

#tba-custom-header .tba-mobile-drawer__footer-link i {
    font-size: var(--tba-text-sm);
}

#tba-custom-header .tba-mobile-drawer__footer-link:hover {
    color: var(--tba-black);
    text-decoration: none;
}


/* LANGUAGE SWITCHER */

#tba-custom-header .h-language-switcher,
#tba-custom-header .tba-language-switcher {
    background-color: var(--tba-white);
    border-top: 1px solid var(--tba-border);
    padding: var(--tba-space-lg) var(--tba-space-xl);
}

#tba-custom-header .h-language-switcher--list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--tba-space-md);
    margin: 0;
    padding: 0;
}

#tba-custom-header .h-language-select {
    background: transparent;
    border: none;
    padding: var(--tba-space-xs) var(--tba-space-sm);
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-base);
    color: var(--tba-black);
    cursor: pointer;
    letter-spacing: var(--tba-track-base);
    transition: color var(--tba-transition-base);
}

#tba-custom-header .h-language-select:hover {
    color: var(--tba-grey-700);
}

#tba-custom-header .h-language-select:focus,
#tba-custom-header .h-language-select:focus-visible {
    outline: none;
    box-shadow: none;
}


/* Shared utilities */

.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; }
.gap-4 { gap: 1.5rem; }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* ============================================================
   FEATURED BLOCK - 2-up auction cards (pb_2up_block)
   Targets platform's portrait-2up.php widget with higher
   specificity overrides. No PHP changes required.
   Figma spec:
     - Section heading: 24px Trade Gothic Bold uppercase
     - Cards: 3:2 image ratio, 4-tier text hierarchy
     - Sale Type | Subtitle | Date | Price
   ============================================================ */

/* Section wrapper - targets the parent block that hosts two portrait-2up widgets */
.section.pb_2up_block,
section.pb_2up_block,
.pb_2up_block {
    padding: 50px 60px;
    background-color: var(--tba-white);
}

.section.pb_2up_block > .container,
.section.pb_2up_block > .container-fluid,
.pb_2up_block > .container,
.pb_2up_block > .container-fluid {
    max-width: 1320px;
    padding: 0;
    margin: 0 auto;
}


/* Section heading row - "Featured" + View All link */

.pb_2up_block .section-heading,
.pb_2up_block .heading-row,
.pb_2up_block > .container > h2:first-child,
.pb_2up_block > .container-fluid > h2:first-child {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    margin: 0 0 40px 0;
    padding: 0;
    border-bottom: none;
}

/* If the platform renders a separate heading + link structure, target both */
.pb_2up_block h2,
.pb_2up_block .section-title,
.pb_2up_block .heading-2,
.pb_2up_block .h2 {
    font-family: var(--tba-font-base) !important;
    font-weight: var(--tba-weight-bold) !important;
    font-size: 24px !important;
    line-height: 31px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: var(--tba-black) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* View All link (top-right of section heading) */
.pb_2up_block .view-all,
.pb_2up_block .section-link,
.pb_2up_block a.text-link {
    font-family: var(--tba-font-base) !important;
    font-weight: var(--tba-weight-normal) !important;
    font-size: 10px !important;
    line-height: 15px !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: var(--tba-black) !important;
    text-decoration: none !important;
    padding-bottom: 3px !important;
    border-bottom: 1px solid var(--tba-black) !important;
    transition: opacity var(--tba-transition-base);
}

.pb_2up_block .view-all:hover,
.pb_2up_block .section-link:hover,
.pb_2up_block a.text-link:hover {
    opacity: 0.7;
    color: var(--tba-black) !important;
}


/* 2-up grid wrapper - typically a Bootstrap row in platform markup */

.pb_2up_block .row,
.pb_2up_block .widget-portrait-row,
.pb_2up_block .widgets-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 0;
}


/* Individual card overrides */

.pb_2up_block .widget-portrait {
    display: flex;
    flex-direction: column;
    background-color: transparent;
    border: none;
    padding: 0;
    margin: 0;
    transition: opacity var(--tba-transition-base);
}

.pb_2up_block .widget-portrait--hover {
    cursor: pointer;
}

.pb_2up_block .widget-portrait--hover:hover {
    opacity: 0.9;
}

.pb_2up_block .widget-portrait a.link-overlay {
    color: inherit;
    text-decoration: none;
    display: block;
}

.pb_2up_block .widget-portrait a.link-overlay:hover {
    color: inherit;
    text-decoration: none;
}


/* Card image - 3:2 ratio enforced */

.pb_2up_block .widget-portrait--2up__image {
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    margin: 0 0 16px 0;
    padding: 0;
    background-color: var(--tba-bg-light);
    position: relative;
}

.pb_2up_block .widget-portrait--2up__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.pb_2up_block .widget-portrait--hover:hover .widget-portrait--2up__image img {
    transform: scale(1.02);
}


/* Card body - text block below image */

.pb_2up_block .widget-portrait--2up--body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0;
    margin: 0;
    background-color: transparent;
}


/* Sale Type (title field repurposed) - Trade Gothic Bold 11px uppercase */

.pb_2up_block .widget-portrait--2up--body__title,
.pb_2up_block .widget-portrait--2up--body .heading-3 {
    font-family: var(--tba-font-base) !important;
    font-weight: var(--tba-weight-bold) !important;
    font-size: 11px !important;
    line-height: 16px !important;
    letter-spacing: 0.7px !important;
    text-transform: uppercase !important;
    color: var(--tba-black) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}


/* Auction Subtitle - Trade Gothic Regular 12px, #888888 */

.pb_2up_block .widget-portrait--2up--body__subtitle,
.pb_2up_block .widget-portrait--2up--body .heading-underline {
    font-family: var(--tba-font-base) !important;
    font-weight: var(--tba-weight-normal) !important;
    font-size: 12px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--tba-grey-500) !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    border: none !important;
    align-self: stretch !important;
}


/* Content block - holds Date + Price (free-form HTML from ACF) */
/* Authors enter as: <span class="date">12 Dec 2025</span><span class="price">Est. $500–$2,000</span> */

.pb_2up_block .widget-portrait--2up--body__content {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 5px 0 0 0;
    padding: 0;
}

.pb_2up_block .widget-portrait--2up--body__content p {
    margin: 0;
    padding: 0;
    font-family: var(--tba-font-base);
    line-height: 1.5;
}


/* Date - first paragraph, or span.date - Trade Gothic Regular 11px, #AAAAAA */

.pb_2up_block .widget-portrait--2up--body__content p:first-child,
.pb_2up_block .widget-portrait--2up--body__content .date,
.pb_2up_block .widget-portrait--2up--body__content .auction-date {
    font-family: var(--tba-font-base) !important;
    font-weight: var(--tba-weight-normal) !important;
    font-size: 11px !important;
    line-height: 16px !important;
    letter-spacing: 0 !important;
    color: var(--tba-grey-400) !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Price - second paragraph, or span.price - Trade Gothic Bold 12px, #1A1A1A */

.pb_2up_block .widget-portrait--2up--body__content p:nth-child(2),
.pb_2up_block .widget-portrait--2up--body__content p:last-child,
.pb_2up_block .widget-portrait--2up--body__content .price,
.pb_2up_block .widget-portrait--2up--body__content strong {
    font-family: var(--tba-font-base) !important;
    font-weight: var(--tba-weight-bold) !important;
    font-size: 12px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
    color: var(--tba-black) !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Reset platform's button styling if it appears (we don't use it in featured cards) */

.pb_2up_block .widget-portrait--body__button {
    display: none;
}




#tba-custom-footer.tba-footer {
    background-color: var(--tba-footer-bg);
    color: var(--tba-footer-text);
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-sm);
    padding: 0;
    margin: 0;
}

.tba-footer a {
    color: var(--tba-footer-text);
    text-decoration: none;
    transition: color var(--tba-transition-base);
}

.tba-footer a:hover {
    color: var(--tba-footer-hover);
}

.tba-footer__container {
    padding: 0 var(--tba-space-xl) var(--tba-space-4xl) var(--tba-space-xl);
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box;
}


/* FOOTER ROW 1 - Wordmark + Social */

.tba-footer__top {
    display: flex;
    flex-direction: column;
    gap: var(--tba-space-xl);
    padding: var(--tba-space-4xl) 0 var(--tba-space-3xl) 0;
    border-bottom: 1px solid var(--tba-footer-border);
}

.tba-footer__logo-wrap {
    display: flex;
    justify-content: center;
}

.tba-footer__logo-link {
    display: inline-block;
}

.tba-footer__logo-img {
    display: block;
    height: var(--tba-footer-logo-max-h);
    width: auto;
    max-width: 240px;
    filter: brightness(0) invert(1);
}

/* Company address (v3.8, July 2026 — Brain PR) — centred beneath
   the trust badges (moved from the legal bar, v3.7). Matches the
   trust-item type treatment; dot-separated inline lines.
   <address> italic reset. */
.tba-footer__address {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-style: normal;
    margin: 0;
    padding: 0 0 24px 0;
}

.tba-footer__address-line {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: 9px;
    line-height: 14px;
    letter-spacing: 0.72px;
    text-transform: uppercase;
    /* v3.9: full white (was --tba-footer-very-faint) — client wants
       the address prominent against the badge row above it. */
    color: var(--tba-white);
    text-decoration: none;
}

.tba-footer__address-line:not(:last-child)::after {
    content: "\00B7";
    margin: 0 8px;
    color: var(--tba-white);
}

a.tba-footer__address-line--link {
    transition: color var(--tba-transition-base);
}

a.tba-footer__address-line--link:hover {
    color: var(--tba-footer-hover);
}

.tba-footer__social {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
}

.tba-footer__social li {
    margin: 0;
}

.tba-footer__social-link {
    display: inline-block;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xxs);
    line-height: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--tba-footer-text);
    text-decoration: none;
    padding: 10px;
    transition: color var(--tba-transition-base);
}

.tba-footer__social-link:hover {
    color: var(--tba-footer-hover);
}


/* FOOTER ROW 2 - Main grid: nav cols (3x2) + Departments + Stay Connected sidebar */

.tba-footer__main {
    padding: var(--tba-space-4xl) 0;
    display: flex;
    flex-direction: column;
    gap: var(--tba-space-4xl);
}

.tba-footer__cols-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--tba-space-4xl);
    flex: 1 1 auto;
}

.tba-footer__cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--tba-space-2xl);
}

.tba-footer__col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tba-footer__col-title {
    box-sizing: border-box;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-bold);
    font-size: var(--tba-text-md);
    line-height: 15px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--tba-footer-heading);
    margin: 0;
    padding-bottom: 11px;
    border-bottom: 1px solid var(--tba-footer-border-mid);
}

.tba-footer-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tba-footer-list__item,
.tba-footer-list li {
    margin: 0;
}

.tba-footer-list__link,
.tba-footer-list a {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-sm);
    line-height: 18px;
    color: var(--tba-footer-text);
    text-decoration: none;
    transition: color var(--tba-transition-base);
}

.tba-footer-list__link:hover,
.tba-footer-list a:hover {
    color: var(--tba-footer-hover);
}


/* Departments block (left, below nav cols) */

.tba-footer__departments {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 320px;
}


/* STAY CONNECTED sidebar (right column) */

.tba-footer__connect {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: var(--tba-space-xl);
    border-top: 1px solid var(--tba-footer-border-mid);
}

.tba-footer__col-title--connect {
    border-bottom: 1px solid var(--tba-footer-border-mid);
}

.tba-footer__connect-block {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tba-footer__connect-text {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-sm);
    line-height: 20px;
    color: var(--tba-footer-text);
    margin: 0;
}


/* MAILCHIMP NEWSLETTER FORM */

.tba-footer__mc-wrap {
    width: 100%;
}

.tba-footer__newsletter {
    display: block;
    margin: 0;
    padding: 0;
}

.tba-footer__newsletter-inner {
    display: flex;
    flex-direction: column;
}

/* Hide FNAME/LNAME visually but preserve for Mailchimp - they get sent on submit */
.tba-footer__newsletter-hidden {
    position: absolute;
    left: -5000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.tba-footer__newsletter-row {
    display: flex;
    align-items: stretch;
    height: 40px;
    width: 100%;
    max-width: 287px;
}

.tba-footer__newsletter-field--email {
    flex: 1;
    display: flex;
}

.tba-footer__newsletter-input {
    width: 100%;
    height: 40px;
    background-color: var(--tba-footer-input-bg);
    border: 1px solid var(--tba-footer-input-border);
    color: var(--tba-white);
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-sm);
    line-height: 14px;
    padding: 0 16px;
    border-radius: 0;
    box-sizing: border-box;
    outline: none;
}

.tba-footer__newsletter-input::placeholder {
    color: var(--tba-footer-placeholder);
}

.tba-footer__newsletter-input:focus {
    border-color: rgba(255, 255, 255, 0.3);
    background-color: rgba(255, 255, 255, 0.08);
}

.tba-footer__newsletter-input.mce_inline_error {
    border-color: var(--tba-error);
}

.tba-footer__newsletter-submit {
    background-color: var(--tba-white);
    color: var(--tba-black);
    border: none;
    padding: 0 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 40px;
    transition: background-color var(--tba-transition-base);
    flex: 0 0 auto;
}

.tba-footer__newsletter-submit:hover {
    background-color: var(--tba-grey-400);
}

.tba-footer__newsletter-submit svg {
    display: block;
    stroke: #0a0a0a;
}

/* Mailchimp response messages */
.tba-footer__newsletter-responses {
    margin-top: var(--tba-space-sm);
}

.tba-footer__newsletter-responses .response {
    font-family: var(--tba-font-base);
    font-size: var(--tba-text-xs);
    padding: var(--tba-space-sm) 0;
    line-height: 1.5;
}

#mce-error-response { color: var(--tba-error); }
#mce-success-response { color: var(--tba-success); }

.tba-footer__newsletter div.mce_inline_error {
    background-color: transparent !important;
    color: var(--tba-error) !important;
    font-family: var(--tba-font-base) !important;
    font-size: var(--tba-text-xs) !important;
    padding: var(--tba-space-xs) 0 !important;
    margin: 0 !important;
}

.tba-footer__connect-micro {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xxs);
    line-height: 15px;
    color: var(--tba-footer-micro);
    margin: 0;
}


/* App store buttons */

.tba-footer__app-wrap,
.tba-footer__payments-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tba-footer__app-label,
.tba-footer__payments-label {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-bold);
    font-size: 9px;
    line-height: 14px;
    letter-spacing: 1.08px;
    text-transform: uppercase;
    color: var(--tba-footer-faint);
    margin: 0;
}

.tba-footer__app-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tba-footer__app-btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: var(--tba-footer-input-bg);
    border: 1px solid var(--tba-footer-input-border);
    border-radius: 4px;
    padding: 0 0 0 15px;
    color: var(--tba-white);
    text-decoration: none;
    height: 46px;
    flex: 1 1 0;
    min-width: 124px;
    transition: background-color var(--tba-transition-base);
}

.tba-footer__app-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--tba-white);
}

.tba-footer__app-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: var(--tba-white);
}

.tba-footer__app-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.tba-footer__app-small {
    display: block;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: 8px;
    line-height: 12px;
    color: var(--tba-footer-text);
}

.tba-footer__app-large {
    display: block;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: 11px;
    line-height: 16px;
    color: var(--tba-white);
}


/* Payment badges */

.tba-footer__payments {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tba-footer__payment-badge {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--tba-footer-payment-bg);
    border: 1px solid var(--tba-footer-border);
    border-radius: 4px;
    padding: 0 12px;
    height: 28px;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-bold);
    font-size: 10px;
    line-height: 15px;
    letter-spacing: 0.2px;
    color: var(--tba-footer-faint);
}

.tba-footer__payment-badge--mc {
    padding: 0 8px;
}

.tba-footer__mc-circle {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    display: inline-block;
}

.tba-footer__mc-circle--red {
    background: rgba(235, 0, 27, 0.7);
    margin-right: -6px;
}

.tba-footer__mc-circle--yellow {
    background: rgba(247, 158, 27, 0.7);
}


/* FOOTER ROW 3 - Trust badges (centered) */

.tba-footer__trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding: 24px 0;
    border-top: 1px solid var(--tba-footer-border-mid);
}

.tba-footer__trust-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: 9px;
    line-height: 14px;
    letter-spacing: 0.72px;
    text-transform: uppercase;
    color: var(--tba-footer-very-faint);
}

.tba-footer__trust-item svg {
    flex: 0 0 14px;
    color: var(--tba-footer-very-faint);
    stroke: var(--tba-footer-very-faint);
}


/* FOOTER ROW 4 - Legal bar */

.tba-footer__legal {
    background-color: var(--tba-footer-bg);
    border-top: 1px solid var(--tba-footer-border-mid);
    padding: var(--tba-space-lg) 0;
}

.tba-footer__legal-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--tba-space-xl);
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    box-sizing: border-box;
}

.tba-footer__copyright {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xxs);
    line-height: 15px;
    color: var(--tba-footer-strong);
    margin: 0;
    text-align: center;
}

.tba-footer__legal-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.tba-footer__legal-links li { margin: 0; }

.tba-footer__legal-links a {
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xxs);
    line-height: 15px;
    color: var(--tba-footer-strong);
    text-decoration: none;
    transition: color var(--tba-transition-base);
}

.tba-footer__legal-links a:hover {
    color: var(--tba-footer-hover);
}

/* ── ARTISTIC WORKS NOTICE (v3.10, July 2026 — Brain PR) ──
   Full-width second row of the legal bar: flex-basis 100% + order
   push it below the copyright line and legal links regardless of
   the row/column layout switch. White per client direction —
   NOTE it reads louder than the © line beside it; drop to
   var(--tba-footer-strong) if the client objects at review.
   Measure capped so the sentence wraps as balanced centred
   lines; legal bar bottom padding increased so the notice never
   sits flush on the page end. */
.tba-footer__legal {
    padding-bottom: calc(var(--tba-space-lg) + 14px);
}

.tba-footer__artistic {
    flex-basis: 100%;
    order: 3;
    max-width: 880px;
    margin: 8px auto 0 auto;
    font-family: var(--tba-font-base);
    font-weight: var(--tba-weight-normal);
    font-size: var(--tba-text-xxs);
    line-height: 17px;
    letter-spacing: 0.3px;
    color: #ffffff;
    text-align: center;
}


/* ============================================================
   BREAKPOINT - Tablet (min 768px)
   ============================================================ */

@media (min-width: 768px) {

    #tba-custom-header .tba-logo__img {
        max-width: var(--tba-logo-max-w-tablet);
        max-height: var(--tba-logo-max-h-tablet);
    }

    .tba-footer__top {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .tba-footer__logo-wrap {
        justify-content: flex-start;
    }

    .tba-footer__social {
        justify-content: flex-end;
    }

    .tba-footer__cols {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 24px;
    }

    .tba-footer__legal-inner {
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: wrap; /* v3.10: lets the artistic notice take its own full-width row */
    }
}


/* ============================================================
   BREAKPOINT - Desktop (min 992px)
   ============================================================ */

@media (min-width: 992px) {

    #tba-custom-header .tba-top-bar {
        padding: 6px 0;
    }

    #tba-custom-header .tba-top-bar > .container-fluid {
        padding-left: var(--tba-space-5xl);
        padding-right: var(--tba-space-4xl);
    }

    #tba-custom-header .tba-logo-row {
        padding: 35px 0 30px 0;
    }

    #tba-custom-header .tba-logo__img {
        max-width: var(--tba-logo-max-w-desktop);
        max-height: var(--tba-logo-max-h-desktop);
    }

    #tba-custom-header .tba-main-navbar > .container-fluid {
        padding-left: var(--tba-space-4xl);
        padding-right: var(--tba-space-4xl);
        min-height: 36px;
    }

    #tba-custom-header .tba-main-navbar__inner {
        display: flex !important;
        position: relative;
    }

    #tba-custom-header .tba-primary-nav {
        flex: 1 1 auto;
        justify-content: center;
    }

    #tba-custom-header .tba-main-navbar__actions {
        position: absolute;
        right: var(--tba-space-4xl);
        top: 50%;
        transform: translateY(-50%);
    }

    /* Footer desktop - Figma exact layout */
    .tba-footer__container {
        padding: 0 48px 40px 48px;
    }

    .tba-footer__top {
        padding: 24px 0;
    }

    .tba-footer__main {
        flex-direction: row;
        gap: 0;
        padding: 32px 0 40px 0;
        align-items: flex-start;
    }

    .tba-footer__cols-wrap {
        flex: 1 1 auto;
        max-width: 1008px;
        gap: 40px;
    }

    .tba-footer__cols {
        grid-template-columns: repeat(3, 320px);
        gap: 40px 24px;
    }

    .tba-footer__connect {
        flex: 0 0 320px;
        padding-top: 0;
        padding-left: 33px;
        border-top: none;
        border-left: 1px solid var(--tba-footer-border-mid);
        margin-left: 0;
    }
}

/* ── FOOTER — fluid tier 992–1439 (rev G, 9 Jul 2026) ──
   The Figma-exact footer (3×320px cols + 320px sidebar + gaps)
   needs ~1457px and BLEEDS on iPad landscape (1194px), forcing
   page-level horizontal scroll. Between 992–1439 the columns go
   fluid and the sidebar narrows; ≥1440 keeps Figma-exact above. */
@media (min-width: 992px) and (max-width: 1439.5px) {
    .tba-footer__cols-wrap {
        max-width: none;
        min-width: 0;
    }
    .tba-footer__cols {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 40px 20px;
    }
    .tba-footer__connect {
        flex: 0 0 260px;
        min-width: 0;
        padding-left: 24px;
    }
}

/* Featured block - 2 columns side by side on desktop */
@media (min-width: 992px) {
    .pb_2up_block .row,
    .pb_2up_block .widget-portrait-row,
    .pb_2up_block .widgets-row {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }
}