/* Keep theme colors local to content surfaces so hero and slider styles
   retain their original inherited tokens, backgrounds and animations. */
body:has(#barad-page-top, #barad-footer) {
    --barad-night-bg: #10151e;
    --barad-night-paper: #1b2330;
    --barad-night-raised: #252f3d;
    --barad-night-ink: #edf2f9;
    --barad-night-muted: #b9c5d5;
    --barad-night-line: #445064;
    background-color: var(--barad-night-bg);
}

body:has(#barad-page-top, #barad-footer) :is(
    #barad-page-top, #barad-main-nav, .barad-announcement,
    .barad-category-card, .bd-category-card, .product-card,
    .bpg-card, .be-product-card, .buy-box, .info-box,
    .bpl-card, .bpl-filters, .bpl-search,
    .bah-card, .bah-art-card, .ba-library-card, .ba-path-panel,
    .ba-resource-panel, .bc-form-panel, .contact-card, .quote-layout
):not(:is(
    [class*="hero"], [class*="hero"] *,
    [class*="slider"], [class*="slider"] *,
    [class*="carousel"], [class*="carousel"] *,
    [aria-roledescription="carousel"], [aria-roledescription="carousel"] *
)) {
    --bg: var(--barad-night-bg);
    --paper: var(--barad-night-paper);
    --soft: var(--barad-night-raised);
    --ink: var(--barad-night-ink);
    --muted: var(--barad-night-muted);
    --line: var(--barad-night-line);
    color-scheme: dark;
    background-color: var(--paper);
    color: var(--ink);
    border-color: var(--line);

    :is(h1, h2, h3, h4, label, legend, th, td) {
        color: var(--ink);
    }

    :is(input:not([type="color"], [type="range"], [type="submit"]), select, textarea) {
        background-color: var(--bg);
        color: var(--ink);
        border-color: var(--line);
    }

    :is(input, textarea)::placeholder {
        color: var(--muted);
    }

    :focus-visible {
        outline: 2px solid #a9ccff;
        outline-offset: 3px;
    }
}

/* Product configuration, price tables, and quote builder. */
body:has(#barad-page-top, #barad-footer) :is(
    .bd-product-price, .bd-family-selected-model, .bd-spec-chips > div,
    .bd-specification .specs tr, .bd-spec-more > summary,
    .bfam-table-wrap, .br-model-table, .bpl-summary,
    .bq-picker, .bq-cart, .bq-summary, .bq-cart-row, .bq-filters
):not(:is([class*="hero"] *, [class*="slider"] *, [class*="carousel"] *)) {
    background: var(--barad-night-paper);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
    color-scheme: dark;
}

body:has(#barad-page-top, #barad-footer) :is(.bpl-table, .br-model-table, .barad-catalog-table) {
    background: var(--barad-night-paper);
    color: var(--barad-night-ink);

    th {
        background: var(--barad-night-raised);
        color: var(--barad-night-ink);
    }

    td {
        background: transparent;
        color: inherit;
        border-color: var(--barad-night-line);
    }

    tbody tr:nth-child(even) {
        background: var(--barad-night-bg);
    }
}

/* Navigation and product overlays sit above the themed surfaces. */
body:has(#barad-page-top, #barad-footer) :is(
    .bn-submenu, .bn-drawer-head, .bn-drawer-foot,
    .bcb-dialog, .bcb-dialog-head, .br-more-panel, .br-lightbox-header
) {
    background: var(--barad-night-paper);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
    color-scheme: dark;
}

body:has(#barad-page-top, #barad-footer) .bcb-dialog::backdrop {
    background: rgb(4 8 15 / 75%);
}

body:has(#barad-page-top, #barad-footer) :is(
    .bcb-close, .bn-close, .bpl-filter-toggle,
    .ba-path-tabs button, .bl-tabs button, .bq-quantity-input
):not(:is([class*="hero"] *, [class*="slider"] *, [class*="carousel"] *)) {
    background: var(--barad-night-raised);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);

    &:hover {
        background: #344155;
    }

    &:focus-visible {
        outline: 2px solid #a9ccff;
        outline-offset: 3px;
    }

    &[aria-selected="true"], &[aria-pressed="true"], &[aria-expanded="true"] {
        background: #613144;
        color: #fff1f5;
        border-color: #d68aa2;
    }
}

/* Family product layout and the custom color picker. */
html body.barad-site :is(.bpt-panel, .bfam-pick, .bfam-all, .bo-sheet, .bcu-options):not(
    [class*="hero"] *, [class*="slider"] *, [class*="carousel"] *
) {
    background-color: var(--barad-night-paper) !important;
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
    color-scheme: dark;
}

html body.barad-site :is(.bfam-fields select, .bfam-search input, .bd-quantity input, .bq-quantity-input) {
    background: var(--barad-night-bg) !important;
    color: var(--barad-night-ink) !important;
    border-color: var(--barad-night-line) !important;
}

html body.barad-site :is(.bfam-hint, .bcu-status, .bpt-panel .barad-vat) {
    color: var(--barad-night-muted);
}

html body.barad-site .bcu-options .bcu-color {
    background-color: var(--barad-night-raised);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
}

html body.barad-site .bcu-options .bcu-color:is(:hover, :focus-visible, [aria-selected="true"], [aria-pressed="true"]) {
    outline: 2px solid var(--barad-night-muted);
    outline-offset: 2px;
}

html body.barad-site .bo-sheet :is(label, legend, h2, h3) {
    color: var(--barad-night-ink);
}

/* Barad navigation and content controls. Scope each surface to keep banners
   and carousel artwork on their original palette. */
html body.barad-site :is(
    #barad-page-top > .w, #barad-main-nav.bn-menu-open, .bn-submenu,
    .bo-sheet, .bcb-dialog, .bq-result, .bq-empty, .bq-summary-empty,
    .bpl-empty-search, .bpl-archive-body, .bah-search, .bo-field
):not(:is([class*="hero"] *, [class*="slider"] *, [class*="carousel"] *, [aria-roledescription="carousel"] *)) {
    background: var(--barad-night-paper);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
    color-scheme: dark;
}

html body.barad-site #barad-page-top:not([class*="hero"] *, [class*="slider"] *, [class*="carousel"] *) :is(
    .search, .search input, .head-contact, .head-contact a,
    .barad-menu-toggle, .bn-links > a, .bn-links > button
) {
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
}

html body.barad-site #barad-page-top:not([class*="hero"] *, [class*="slider"] *, [class*="carousel"] *) .search {
    background: var(--barad-night-raised);
}

html body.barad-site :is(.bq-field, .bq-search, .bpl-search, .bah-search, .bo-field) :is(
    input:not([type="checkbox"], [type="radio"], [type="color"], [type="range"], [type="hidden"]),
    select, textarea
):not(:is([class*="hero"] *, [class*="slider"] *, [class*="carousel"] *)) {
    background: var(--barad-night-bg);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
    accent-color: #d64a71;
    color-scheme: dark;

    &::placeholder { color: var(--barad-night-muted); }
    &:focus-visible { outline: 2px solid #a9ccff; outline-offset: 2px; }
}

html body.barad-site :is(.bpl-chip, .bo-chip, .bah-chips > a, .bq-active-filters > button):not(
    [class*="hero"] *, [class*="slider"] *, [class*="carousel"] *
) {
    background: var(--barad-night-raised);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);

    &:hover { background: #344155; }
    &[aria-current]:not([aria-current="false"]),
    &[aria-pressed="true"],
    &[aria-selected="true"] {
        background: #613144;
        color: #fff1f5;
        border-color: #d68aa2;
    }
}

html body.barad-site :is(.bq-price-note, .bq-cart-note, .bq-result-meta, .bpl-note, .bah-note, .bo-note):not(
    [class*="hero"] *, [class*="slider"] *, [class*="carousel"] *
) {
    color: var(--barad-night-muted);
}

html body.barad-site :is(.bq-cart-error, .bq-field [aria-invalid="true"], .bo-field [aria-invalid="true"]) {
    color: #ffb8c5;
    border-color: #ed8295;
}

html body.barad-site .bpl-table .bpl-price {
    color: #a9edc3;
}

/* Preserve the action color when the header's foreground token changes. */
html body.barad-site #barad-page-top:not([class*="hero"] *) .quote-link {
    background: #992342 !important;
    color: #fff !important;
    border-color: #b83858 !important;
}

html body.barad-site #barad-page-top:not([class*="hero"] *) .quote-link:hover {
    background: #b32c50 !important;
}

html body.barad-site :is(.breadcrumb, .bd-breadcrumb, .woocommerce-breadcrumb) a,
html body.barad-site .bpt-panel :is(small, .barad-vat, .bvm-quantity-hint) {
    color: var(--barad-night-muted);
}

html body.barad-site :is(.bpt-head h1, .bpt-panel .barad-unit, .barad-afshar-sales-link) {
    color: var(--barad-night-ink);
}

html body.barad-site :is(.bpt-specs .info-box, .bd-product-detail .info-box, .bpx-disc) {
    background: var(--barad-night-paper);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
}

html body.barad-site :is(.bpt-sku, .bpt-link, .bpx-coil, .bpx-disc > summary) {
    background: var(--barad-night-raised);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
}

html body.barad-site .bd-gallery .bd-g-count {
    background: #19202d;
    color: #fff;
}

html body.barad-site :is(.bah-card, .bah-art-card) :is(h2, h3, h4) a {
    color: var(--barad-night-ink);
}

html body.barad-site :is(.bah-more, .bah-textlink) {
    color: #ff9fb5;
}

html body.barad-site .bcb-card-link strong {
    color: var(--barad-night-ink);
}

html body.barad-site :is(.bcb-brands-label, .bcb-card-link small) {
    color: var(--barad-night-muted);
}

/* Quote wizard uses its own design tokens and explicit light surfaces. */
html body.barad-site .bq-wizard {
    --qs-ink: var(--barad-night-ink);
    --qs-ln: var(--barad-night-line);
    --qs-soft: var(--barad-night-raised);
    --bqw-line: var(--barad-night-line);
}

html body.barad-site :is(section.bq-fast, .bq-wizard .bq-stage, .bq-wizard .bq-cart, .bq-wizard .bq-result) {
    background: var(--barad-night-paper) !important;
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line) !important;
    color-scheme: dark;
}

html body.barad-site :is(.bq-wizard .bq-type label > span, .bq-wizard .bq-choice, .bq-wizard .bq-reset, .bq-wizard .bq-breadcrumbs button) {
    background: var(--barad-night-raised) !important;
    color: var(--barad-night-ink) !important;
}

html body.barad-site .bq-wizard .bq-type label > span i {
    background: #992342;
}

html body.barad-site :is(section.bq-fast input, .bq-search input, .bq-cart-color select) {
    background-color: var(--barad-night-bg) !important;
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line) !important;

    &::placeholder { color: var(--barad-night-muted); }
    &:focus-visible { outline: 2px solid #a9ccff !important; outline-offset: 2px; }
}

html body.barad-site .bpt-panel .bpt-price :is(.barad-vat, .barad-unit) {
    color: var(--barad-night-muted) !important;
}

html body.barad-site .bpt-panel .bpt-price .barad-vat b {
    color: #a9edc3;
}

/* Catalog group cards and category dialog. Product photographs keep their
   own background so white packaging and cable colors remain recognizable. */
html body.barad-site .bcb-heading :is(h2, p),
html body.barad-site .bcb-bubble strong,
html body.barad-site .bcb-dialog-head :is(h2, h3) {
    color: var(--barad-night-ink);
}

html body.barad-site :is(.bcb-bubble small, .bcb-hint) {
    color: var(--barad-night-muted);
}

html body.barad-site :is(.bcb-dialog-head > div > span, .bcb-all, .bcb-card-link, .bcb-subcategories i) {
    color: #ff9fb5;
}

html body.barad-site :is(.bcb-brand-options a, .bcb-subcategories a, .bcb-controls button) {
    background: var(--barad-night-raised);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
}

html body.barad-site :is(.bcb-brand-options a[aria-current]:not([aria-current="false"]), .bcb-subcategories a:hover, .bcb-subcategories a:focus-visible) {
    background: #613144;
    color: #fff1f5;
    border-color: #d68aa2;
}

/* Price tokens belong to the table and its controls. The opening banner
   keeps its original typography and colors. */
html body.barad-site.barad-price-page :is(.bpl-table-wrap, .bpl-filters, .bpl-summary, .bpl-archive-body) {
    --bpl-ink: var(--barad-night-ink);
    --bpl-muted: var(--barad-night-muted);
    --bpl-line: var(--barad-night-line);
    --bpl-cream: var(--barad-night-raised);
    --bpl-red: #ff9fb5;
    --bpl-green: #a9edc3;
    background: var(--barad-night-paper);
    color: var(--bpl-ink);
    border-color: var(--bpl-line);
}

html body.barad-site .bpl-top .bpl-card {
    --ink: #15181d;
    --muted: #626b78;
    --paper: #fff;
    --bg: #faf6ef;
    --line: #e6e1d9;
    color-scheme: light;
}

html body.barad-site .bpl-table :is(thead th, tbody td) {
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
}

html body.barad-site .bpl-table tbody tr:hover {
    background: var(--barad-night-raised);
}

/* Apply the academy palette at section level so titles, metadata and links
   inherit the same colors as their cards. */
html body.barad-site .bah-section:not([class*="hero"] *, [class*="carousel"] *, [class*="slider"] *) {
    --bah-ink: var(--barad-night-ink);
    --bah-muted: var(--barad-night-muted);
    --bah-line: var(--barad-night-line);
    --bah-cream: var(--barad-night-raised);
    --bah-accent: #ff9fb5;
    color: var(--barad-night-ink);
}

html body.barad-site .bah-section :is(.bah-card, .bah-art-card, .bah-search):not(
    [class*="carousel"] *, [class*="slider"] *, [aria-roledescription="carousel"] *
) {
    background: var(--barad-night-paper);
    color: var(--barad-night-ink);
    border-color: var(--barad-night-line);
}

/* The compact catalog and price refinements set these colors directly. */
html body.barad-site main .bcb-heading h2 {
    color: var(--barad-night-ink) !important;
}

html body.barad-site.barad-price-page main .bpl-summary {
    color: var(--barad-night-muted) !important;
}
