/* All site components inherit these semantic surfaces; the catalog has its own theme. */
html.dark-style body.ag-www-body.ag-site-redesign {
    --ag-site-canvas: #17131e;
    --ag-site-surface: #211c2c;
    --ag-site-soft: #332646;
    --ag-site-ink: #eee9f7;
    --ag-site-muted: #aea5bf;
    --ag-site-line: #393044;
    --ag-site-accent: #ad90ff;
}

html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-talents-btn-primary, .ag-pool-submit),
html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-job-hero, .ag-job-content, .ag-intake-page) .btn-primary {
    background: #8354ef !important;
    border-color: #8354ef !important;
    color: #fff !important;
}

html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-talents-page, .ag-employer-page, .ag-compare-page, .ag-pool-page, .ag-legal-page, .ag-intake-page) :is(.text-body-secondary, .text-muted, .form-text, small) {
    color: var(--ag-site-muted) !important;
}

html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-compare-table, .ag-public-comparison-table) :is(th, td),
html.dark-style body.ag-www-body.ag-site-redesign .ag-compare-hero-row {
    background-color: var(--ag-site-surface);
    color: var(--ag-site-ink);
}

html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-compare-hero-row-highlight, .ag-compare-table .ag-compare-highlight) {
    background-color: var(--ag-site-soft);
}

/* Override the former dark glass surfaces with the shared, opaque card palette. */
html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-talents-card, .ag-public-panel, .ag-home-section-panel,
    .ag-home-jobs-card, .ag-path-card, .ag-about-founder-card, .ag-employer-feature-card,
    .ag-employer-pricing-card, .ag-employer-claim-card, .ag-talents-profile-card, .ag-talents-quality-card,
    .ag-talents-quality-cta-card, .ag-compare-hero-card, .ag-compare-content-card, .ag-compare-feature-card,
    .ag-compare-prose-card, .ag-compare-statement-panel, .ag-legal-card, .ag-pool-form-card,
    .ag-testimonial, .ag-public-faq .accordion-item, .ag-public-faq .accordion-button) {
    background: var(--ag-site-surface);
    border-color: var(--ag-site-line);
    color: var(--ag-site-ink);
    box-shadow: none;
}

html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-public-sprint, .ag-offer-featured,
    .ag-compare-content-card-accent, .ag-compare-prose-card-final, .ag-path-personal) {
    background: var(--ag-site-soft);
}

html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-talents-page, .ag-employer-page, .ag-compare-page, .ag-legal-page) :is(h1, h2, h3, h4, h5, h6) {
    color: var(--ag-site-ink);
}

html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-talents-title, .ag-employer-title, .ag-home-section-title) span {
    color: var(--ag-site-accent);
}

html.dark-style body.ag-www-body.ag-site-redesign :is(.ag-public-copy, .ag-public-benefits, .ag-public-eyebrow,
    .ag-talents-card p, .ag-compare-prose p, .ag-compare-subtitle) {
    color: var(--ag-site-muted);
}

html.dark-style body.ag-site-auth .btn-primary {
    background: #8354ef !important;
    border-color: #8354ef !important;
}

html.dark-style body.ag-site-auth .placd-login-card :is(.form-control, .form-select, .input-group-text) {
    background-color: var(--ag-site-surface);
    color: var(--ag-site-ink);
}

html.dark-style body.ag-site-auth .placd-login-card :is(.form-control, .form-select, .input-group-text):not(.is-invalid, .is-valid) {
    border-color: var(--ag-site-line);
}

html.dark-style body.ag-site-auth .placd-login-card .form-control::placeholder {
    color: var(--ag-site-muted);
}

html.dark-style body.ag-site-auth .placd-login-card :is(.form-control, .form-select):focus {
    box-shadow: none !important;
}

html.dark-style body.ag-site-auth .placd-login-card :is(.form-control, .form-select):focus:not(.is-invalid, .is-valid) {
    border-color: var(--ag-site-accent) !important;
}

html.dark-style body.ag-site-auth .placd-login-card :is(.form-control, .form-select).is-invalid:focus,
html.dark-style body.ag-site-auth .placd-login-card .was-validated :is(.form-control, .form-select):invalid:focus {
    border-color: var(--bs-form-invalid-border-color, #f08091) !important;
}

html.dark-style body.ag-site-auth .placd-login-card :is(.form-control, .form-select).is-valid:focus,
html.dark-style body.ag-site-auth .placd-login-card .was-validated :is(.form-control, .form-select):valid:focus {
    border-color: var(--bs-form-valid-border-color, #70c6a1) !important;
}

/* The legacy public dark theme sets important colors on body-mounted Select2 lists. */
html.dark-style body.ag-www-body.ag-site-redesign:has(.ag-intake-page) > .select2-container :is(.select2-dropdown, .select2-search__field, .select2-results__option) {
    background: var(--ag-site-surface) !important;
    color: var(--ag-site-ink) !important;
    border-color: var(--ag-site-line) !important;
}

html.dark-style body.ag-www-body.ag-site-redesign:has(.ag-intake-page) > .select2-container .select2-results__option--highlighted,
html.dark-style body.ag-www-body.ag-site-redesign:has(.ag-intake-page) > .select2-container .select2-results__option[aria-selected="true"] {
    background: var(--ag-site-soft) !important;
    color: var(--ag-site-accent) !important;
}

html.dark-style body.ag-www-body.ag-site-redesign:has(.ag-intake-page) > .select2-container .select2-results__message {
    color: var(--ag-site-muted) !important;
}
