/* Genesis palette. Shared page layouts and inventory styling are retained. */
body.genesis-monochrome {
    --obfm-red: #111111;
    --obfm-red-dark: #000000;
    --obfm-blue: #111111;
    --obfm-blue-soft: #333333;
    --obfm-blue-deep: #000000;
    --obfm-ink: #111111;
    --obfm-ink-soft: #111111;
    --obfm-slate: #111111;
    --obfm-copy: #111111;
    --obfm-copy-soft: #111111;
    --obfm-white: #ffffff;
    --obfm-surface: #ffffff;
    --obfm-surface-strong: #ffffff;
    --obfm-card: #ffffff;
    --obfm-line: #111111;
    --bs-primary: #111111;
    --bs-primary-rgb: 17, 17, 17;
    --bs-link-color: #111111;
    --bs-link-hover-color: #000000;
    background: #ffffff !important;
    color: #111111;
    color-scheme: light;
}

body.genesis-monochrome :where(h1, h2, h3, h4, h5, h6, p, a, span, small, strong, label, summary, i) {
    color: #111111 !important;
}

body.genesis-monochrome :is(
    .obfm-hero, .obfm-content, .obfm-filter-note, .obfm-hero-stat,
    .obfm-hero-stat-signal, .obfm-results-stat, .obfm-vehicle-card,
    .obfm-rail-card, .obfm-rail-link, .obfm-summary-card, .obfm-filter-tag,
    .obfm-empty-state, .obfm-active-filters span, .obfm-finance-banner,
    .obfm-filter-shell .product-shadow, .obfm-filter-shell .accordion-button,
    .obfm-filter-shell .accordion-button:not(.collapsed),
    .obfm-finance-card, .obfm-finance-side, .obfm-finance-strip span,
    .obfm-form-shell, .obfm-contact-card, .obfm-contact-side,
    .obfm-contact-strip span, .obfm-contact-form-shell, .obfm-contact-point,
    .obfm-contact-box, .obfm-contact-link, .obfm-detail-page,
    .obfm-detail-gallery, .obfm-detail-frame, .obfm-detail-panel,
    .obfm-detail-highlight, .obfm-inquiry-card, .obfm-calculator-page
) {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: #111111 !important;
}

/* Keep the existing hero photograph in place, with a light monochrome overlay. */
body.genesis-monochrome .obfm-hero::before {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.97) 30%, rgba(255, 255, 255, 0.85) 55%, rgba(255, 255, 255, 0.56) 100%);
}

body.genesis-monochrome .obfm-hero-media {
    filter: saturate(0.88) brightness(1) contrast(1.05);
}

body.genesis-monochrome .obfm-hero-copy h1,
body.genesis-monochrome .obfm-hero-copy h1 .obfm-hero-line-bottom {
    text-shadow: 0 10px 26px rgba(17, 17, 17, 0);
}

body.genesis-monochrome .obfm-hero::after,
body.genesis-monochrome .obfm-kicker::before,
body.genesis-monochrome .obfm-hero-stat-signal::before,
body.genesis-monochrome .obfm-rail-card::before,
body.genesis-monochrome .obfm-summary-card::before,
body.genesis-monochrome .obfm-empty-state::before {
    background: #111111;
}

body.genesis-monochrome .obfm-filter-note::after {
    background: radial-gradient(circle, rgba(17, 17, 17, 0.08) 0%, rgba(17, 17, 17, 0) 72%);
}

body.genesis-monochrome .obfm-kicker::before {
    box-shadow: 0 8px 18px rgba(17, 17, 17, 0.12);
}

body.genesis-monochrome .obfm-hero-stat-signal::before {
    box-shadow: 0 0 0 0.42rem rgba(17, 17, 17, 0.12);
}

body.genesis-monochrome :is(.form-control, .form-select, .accordion-body, .form-check) {
    color: #111111 !important;
    background-color: #ffffff !important;
    border-color: #111111 !important;
    accent-color: #111111;
}

body.genesis-monochrome .form-check-input {
    accent-color: #111111;
    border-color: #111111 !important;
}

body.genesis-monochrome .obfm-filter-shell .accordion-button::after {
    filter: grayscale(1);
}

body.genesis-monochrome .form-check-input:checked {
    background-color: #111111 !important;
    border-color: #111111 !important;
}

body.genesis-monochrome :is(.form-control, .form-select):focus {
    border-color: #111111 !important;
    box-shadow: 0 0 0 0.2rem rgba(17, 17, 17, 0.1) !important;
}

body.genesis-monochrome :is(
    .obfm-button-primary, .obfm-floating-filter-btn, .obfm-vehicle-badge,
    .obfm-form-shell .btn-primary, .obfm-contact-form-card .btn-primary,
    .obfm-finance-form-card .btn-primary, .page-item.active .page-link
) {
    background: #111111 !important;
    color: #ffffff !important;
    border-color: #111111 !important;
}

body.genesis-monochrome :is(.obfm-button-primary, .obfm-floating-filter-btn, .obfm-vehicle-badge, .btn-primary) :where(*) {
    color: #ffffff !important;
}

body.genesis-monochrome .obfm-button-primary {
    box-shadow: 0 18px 42px rgba(17, 17, 17, 0.18);
}

body.genesis-monochrome .obfm-vehicle-badge {
    box-shadow: 0 8px 18px rgba(17, 17, 17, 0.18);
}

body.genesis-monochrome .obfm-floating-filter-btn {
    box-shadow: 0 20px 36px rgba(17, 17, 17, 0.2);
}

body.genesis-monochrome :is(.obfm-button-secondary, .obfm-card-cta, .page-link) {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: #111111 !important;
}

body.genesis-monochrome :is(.obfm-card-cta, .obfm-button-secondary) :where(*) {
    color: #111111 !important;
}

body.genesis-monochrome :is(.obfm-card-cta:hover, .obfm-filter-shell .btn-outline-secondary:hover) {
    background: #111111 !important;
    color: #ffffff !important;
    border-color: #111111 !important;
}

body.genesis-monochrome .obfm-card-cta:hover :where(*) {
    color: #ffffff !important;
}

/* Invert the palette for the existing header and footer. */
body.genesis-monochrome :is(#headerbgdk, #headerbg, .top-header, .obfm-site-footer) {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #111111 !important;
}

body.genesis-monochrome :is(#headerbgdk, .obfm-site-footer) :where(h2, h3, p, a, span, small, strong, i) {
    color: #ffffff !important;
}

body.genesis-monochrome #headerbg .navbar-nav .nav-link,
body.genesis-monochrome #headerbg .navbar-nav .nav-link:hover,
body.genesis-monochrome #headerbg .navbar-nav .nav-link.active {
    color: #ffffff !important;
}

body.genesis-monochrome #headerbg .navbar-nav .nav-link::after {
    background: #ffffff;
}

body.genesis-monochrome #headerbg .obfm-header-cta,
body.genesis-monochrome #headerbg .navbar-toggler {
    background: #ffffff;
    color: #111111 !important;
    box-shadow: 0 12px 24px rgba(17, 17, 17, 0.22);
}

body.genesis-monochrome #headerbg .navbar-toggler-icon {
    filter: none;
}

body.genesis-monochrome #headerbg .navbar-collapse {
    background-color: #000000;
}

body.genesis-monochrome .obfm-site-footer .obfm-footer-pill {
    border-color: #ffffff;
}
