/* Catalogue and certificate components that still carry legacy fixed colours.
   Load after the generated client theme; keep photographs and semantic alerts intact. */

.site-content .market-detail__feedback-heading span {
    color: var(--site-muted-surface-ink) !important;
}

.site-content .market-card__media .market-media-placeholder,
.site-content .market-detail__social-proof small {
    color: var(--site-background-ink) !important;
}

.site-content .market-detail__address-row > b.is-available {
    border-color: var(--site-accent) !important;
    color: var(--site-accent-contrast) !important;
    background: var(--site-accent) !important;
}

.site-content .marketplace :where(.market-results, .market-card,
        .market-detail__buy-box, .market-detail__description,
        .market-detail__addresses, .market-detail__feedback,
        .market-receiving, .market-review-card, .market-question-card,
        .market-question-dialog, .market-filter-panel, .market-sort-panel) {
    border-color: var(--site-border) !important;
    border-radius: var(--site-card-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
    box-shadow: var(--site-card-shadow) !important;
}

.site-content .marketplace :where(.market-category-browser, .market-search) {
    border-color: var(--site-border) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}

.site-content .marketplace :where(.market-results > span,
        .market-card h2 a, .market-card__price strong,
        .market-card__rating strong, .market-card__meta span,
        .market-detail__product-head h1, .market-price strong,
        .market-detail__benefits strong, .market-receiving > strong,
        .market-detail__description h2, .market-detail__description dd,
        .market-detail__addresses h2, .market-detail__feedback-heading h2,
        .market-question-card p, .market-review-card p,
        .market-filter-panel h2, .market-sort-panel h2,
        .market-filter-group summary, .market-sort-options strong) {
    color: var(--site-surface-ink) !important;
}

.site-content .marketplace :where(.market-card__category,
        .market-card__description, .market-card__availability,
        .market-card__price del, .market-price del,
        .market-package, .market-detail__benefits small,
        .market-receiving p, .market-detail__description > p,
        .market-detail__description dt, .market-detail__review-total,
        .market-review-card time, .market-question-card time,
        .market-detail__lazy-status:not(.is-error),
        .market-detail__lazy-empty, .market-filter-panel > header small,
        .market-filter-options label > small, .market-filter-empty,
        .market-filter-range__bounds) {
    color: var(--site-muted-surface-ink) !important;
}

.site-content .marketplace :where(.market-category,
        .market-detail__section-kicker, .market-section-heading > div > span,
        .market-results a, .market-breadcrumbs a,
        .market-detail__review-total b, .market-review-stars .is-active,
        .market-card__rating > span,
        .market-question-card__question > span,
        .market-question-card__answer > span) {
    color: var(--site-accent-readable) !important;
}

.site-content .marketplace :where(.market-card__meta span,
        .market-card__rating, .market-detail__social-proof a,
        .market-detail__no-reviews, .market-detail__availability-chip,
        .market-detail__feedback-tabs, .market-question-card__question,
        .market-question-card__answer, .market-review-empty,
        .market-question-empty, .market-filter-empty,
        .market-cart-stepper, .market-filter-options label:hover,
        .market-sort-options label:hover) {
    border-color: var(--site-border) !important;
    color: var(--site-surface-ink) !important;
    background: var(--client-theme-surface-soft) !important;
}

.site-content .marketplace .market-card__availability i {
    background: var(--site-accent) !important;
    box-shadow: 0 0 0 3px var(--client-theme-accent-soft) !important;
}

.site-content .marketplace :where(.market-detail__social-proof a strong,
        .market-detail__no-reviews b, .market-detail__feedback-tabs button,
        .market-detail__feedback-tabs b, .market-question-card p,
        .market-cart-stepper button, .market-cart-stepper strong,
        .market-cart-quantity, .market-filter-options label,
        .market-sort-options label) {
    color: var(--site-surface-ink) !important;
}

.site-content .marketplace :where(.market-detail__feedback-tabs button.is-active,
        .market-detail__panel-arrow, .market-detail__benefits li > span,
        .market-question-empty > span) {
    border-color: var(--site-border) !important;
    color: var(--site-accent-readable) !important;
    background: var(--site-surface) !important;
}

.site-content .marketplace :where(.market-category-tile:not([aria-current="page"]),
        .market-category-tile__image:not(img):not(.market-category-tile__all),
        .market-category-toggle, .market-favorite-button,
        .market-filter-button, .market-sort-button, .market-cart-link) {
    border-color: var(--site-border) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}

.site-content .marketplace :where(.market-category-tile[aria-current="page"],
        .market-category-tile__all, .market-count-badge,
        .market-filter-button > span, .market-filter-group summary b,
        .market-card__discount, .market-price > b,
        .market-detail__media-discount) {
    border-color: var(--site-primary) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

.site-content .marketplace :where(.market-category-tile__favorites,
        .market-favorite-button.is-active) {
    border-color: var(--site-border) !important;
    color: var(--site-accent-readable) !important;
    background: var(--client-theme-accent-soft) !important;
}

.site-content .marketplace :where(.market-search input, .market-filter-select-wrap select,
        .market-filter-range__fields input, .market-cart-quantity-input,
        .market-question-dialog textarea) {
    border-color: var(--site-border) !important;
    border-radius: var(--site-input-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}

.site-content .marketplace :where(.market-search input, .market-filter-select-wrap select,
        .market-filter-range__fields input, .market-cart-quantity-input,
        .market-question-dialog textarea)::placeholder {
    color: var(--site-muted-surface-ink) !important;
}

.site-content .marketplace .market-filter-range__fields label {
    color: var(--site-muted-surface-ink) !important;
}

.site-content .marketplace .market-filter-range__scale::before {
    background: var(--site-border) !important;
}

.site-content .marketplace .market-filter-range__scale > span {
    background: var(--site-primary) !important;
}

.site-content .marketplace .market-filter-range__scale input[type="range"]::-webkit-slider-thumb {
    border-color: var(--site-surface) !important;
    background: var(--site-primary) !important;
}

.site-content .marketplace .market-filter-range__scale input[type="range"]::-moz-range-thumb {
    border-color: var(--site-surface) !important;
    background: var(--site-primary) !important;
}

.site-content .marketplace .market-cart-control--unavailable .market-add-cart:disabled {
    color: var(--site-muted-surface-ink) !important;
    background: var(--client-theme-surface-soft) !important;
}

.site-content .marketplace :where(.market-search button, .market-add-cart:not(:disabled),
        .market-sort-submit, .market-question-submit, .market-question-add,
        .market-filter-panel footer button, .market-primary-action) {
    border-color: var(--site-primary) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

.site-content .marketplace :where(.market-search button, .market-add-cart:not(:disabled),
        .market-sort-submit, .market-question-submit, .market-question-add,
        .market-filter-panel footer button, .market-primary-action):hover {
    color: var(--site-primary-hover-contrast) !important;
    background: var(--site-primary-hover) !important;
}

.site-content .marketplace :where(.market-detail__lazy-more,
        .market-question-cancel, .market-filter-panel footer a,
        .market-filter-panel > header button,
        .market-sort-panel > header button) {
    border-color: var(--site-border) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}

.site-content .marketplace :where(.market-question-dialog h2,
        .market-question-dialog label > span,
        .market-question-dialog footer .market-question-cancel) {
    color: var(--site-surface-ink) !important;
}

.site-content .marketplace :where(.market-empty,
        .market-pagination a, .market-pagination span) {
    border-color: var(--site-border) !important;
    color: var(--site-background-ink) !important;
    background: var(--site-background) !important;
}

.site-content .marketplace :where(.market-empty h2,
        .market-empty p,
        .market-section-heading h1) {
    color: var(--site-background-ink) !important;
}

.site-content .marketplace .market-breadcrumbs,
.site-content .marketplace .market-breadcrumbs :where(a, span) {
    color: var(--site-background-ink) !important;
}

.site-content .marketplace .market-detail__video-thumb span {
    color: var(--site-primary-contrast) !important;
}

.site-content .marketplace :where(.market-filter-panel > header,
        .market-filter-group, .market-filter-panel footer,
        .market-sort-panel > header, .market-detail__feedback-tabs,
        .market-cart-stepper strong, .market-cart-stepper .market-cart-quantity) {
    border-color: var(--site-border) !important;
}

.site-content .marketplace :where(.market-filter-panel footer,
        .market-sort-panel form) {
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}

.site-content .marketplace :where(.market-filter-check,
        .market-sort-options label > span) {
    border-color: var(--site-border) !important;
    background: var(--site-surface) !important;
}

.site-content .marketplace :where(.market-filter-options input:checked + .market-filter-check,
        .market-sort-options input:checked + span) {
    border-color: var(--site-primary) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

.site-content .marketplace .market-filter-options input:checked + .market-filter-check::after {
    color: var(--site-primary-contrast) !important;
}

/* Certificate catalogue, owned certificates, documents and redemption dialog. */
.site-content .client-certificates :where(.client-certificates__tabs,
        .client-certificate-card, .client-certificate-document,
        .client-certificate-code, .client-certificates__empty) {
    border-color: var(--site-border) !important;
    border-radius: var(--site-card-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
    box-shadow: var(--site-card-shadow) !important;
}

.site-content .client-certificates :where(.client-certificates__header h1,
        .client-certificate-card h2, .client-certificate-card__body,
        .client-certificate-card__meta strong,
        .client-certificate-document summary,
        .client-certificate-document__content,
        .client-certificate-code strong, .client-certificates__empty h2) {
    color: var(--site-surface-ink) !important;
}

.site-content .client-certificates :where(.client-certificate-description p,
        .client-certificate-card__meta,
        .client-certificate-salon, .client-certificate-code span,
        .client-certificate-refund-form small,
        .client-certificates__empty p) {
    color: var(--site-muted-surface-ink) !important;
}

.site-content .client-certificates :where(.client-certificates__header p,
        .client-certificate-documents > header p) {
    color: var(--site-background-ink) !important;
}

.site-content .client-certificates :where(.client-certificates__header > span,
        .client-certificate-documents > header > span,
        .client-certificate-document__content small) {
    color: var(--site-accent-readable) !important;
}

.site-content .client-certificates :where(.client-certificate-services span,
        .client-certificate-document__content small,
        .client-certificate-document summary span,
        .client-certificate-status) {
    border: 1px solid var(--site-border) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--client-theme-surface-soft) !important;
}

.site-content .client-certificates .client-certificate-document summary span::before,
.site-content .client-certificates .client-certificate-document summary span::after {
    background: var(--site-accent-readable) !important;
}

.site-content .client-certificates .client-certificate-document[open] summary {
    border-color: var(--site-border) !important;
    background: var(--client-theme-surface-soft) !important;
}

.site-content .client-certificates :where(.client-certificate-card__image strong,
        .client-certificate-card__limited, .client-certificate-card__paid,
        .client-certificate-card__sold) {
    border-color: var(--site-primary) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

.site-content .client-certificates :where(.client-certificates__tabs a.active,
        .client-certificate-card__body form button:not(.client-certificate-refund-button),
        .client-certificate-card__buy, .client-certificate-use-button,
        .client-certificates__empty a) {
    border-color: var(--site-primary) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

.site-content .client-certificates :where(.client-certificates__tabs a.active,
        .client-certificate-card__body form button:not(.client-certificate-refund-button),
        .client-certificate-card__buy, .client-certificate-use-button,
        .client-certificates__empty a):hover {
    color: var(--site-primary-hover-contrast) !important;
    background: var(--site-primary-hover) !important;
}

.site-content .client-certificates :where(.client-certificates__tabs a:not(.active),
        .client-certificate-description button,
        .client-certificate-refund-button) {
    border-color: var(--site-border) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}

.certificate-redemption-dialog {
    border: 1px solid var(--site-border) !important;
    border-radius: var(--site-card-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
    box-shadow: var(--site-card-shadow) !important;
    font-family: var(--site-font-family) !important;
}

.certificate-redemption-dialog :where(h2, h3,
        .certificate-redemption-service h3) {
    color: var(--site-surface-ink) !important;
    font-family: var(--site-heading-font-family) !important;
}

.certificate-redemption-dialog :where(header p,
        .certificate-redemption-fields label span) {
    color: var(--site-muted-surface-ink) !important;
}

.certificate-redemption-dialog > header > span {
    color: var(--site-accent-readable) !important;
}

.certificate-redemption-dialog .certificate-redemption-service {
    border-color: var(--site-border) !important;
    border-radius: var(--site-input-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--client-theme-surface-soft) !important;
}

.certificate-redemption-dialog .certificate-redemption-fields select {
    border-color: var(--site-border) !important;
    border-radius: var(--site-input-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}

.certificate-redemption-dialog :where(.certificate-redemption-submit:not(:disabled),
        .certificate-redemption-close) {
    border-color: var(--site-primary) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

.certificate-redemption-dialog .certificate-redemption-submit:not(:disabled):hover {
    color: var(--site-primary-hover-contrast) !important;
    background: var(--site-primary-hover) !important;
}

.certificate-redemption-dialog .certificate-redemption-submit:disabled {
    color: var(--site-muted-surface-ink) !important;
    background: var(--client-theme-surface-soft) !important;
}

.certificate-payment-result > span {
    color: var(--site-accent-readable) !important;
}

.certificate-payment-result > p {
    color: var(--site-muted-surface-ink) !important;
}

.certificate-payment-result :where(.certificate-payment-result__icon,
        .certificate-payment-result__details) {
    border: 1px solid var(--site-border) !important;
    border-radius: var(--site-input-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--client-theme-surface-soft) !important;
}

.certificate-payment-result :where(.certificate-payment-result__actions a,
        .certificate-payment-result__actions a:first-child) {
    border-color: var(--site-primary) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

/* Basket: headings, prices and the address picker share the card palette. */
.site-content .market-cart {
    color: var(--site-background-ink) !important;
}

.site-content .market-cart :where(.market-cart-item:not(.is-incompatible):not(.is-stock-shortage),
        .market-cart-summary, .market-search-select__options) {
    border-color: var(--site-border) !important;
    border-radius: var(--site-card-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
    box-shadow: var(--site-card-shadow) !important;
}

.site-content .market-cart > header h1,
.site-content .market-cart :where(.market-cart-item__body h2, .market-cart-item__price,
        .market-cart-summary h2, .market-cart-summary__total strong,
        .market-cart-summary__delivery strong,
        .market-cart-summary label, .market-cart-address p) {
    color: var(--site-surface-ink) !important;
}

.site-content .market-cart > header span,
.site-content .market-cart > header a,
.site-content .market-cart :where(.market-cart-item__body small,
        .market-cart-address button) {
    color: var(--site-accent-readable) !important;
}

.site-content .market-cart :where(.market-cart-item__body p,
        .market-cart-item__remove,
        .market-cart-summary__delivery span) {
    color: var(--site-muted-surface-ink) !important;
}

.site-content .market-cart .market-cart-loader {
    color: var(--site-background-ink) !important;
}

.site-content .market-cart :where(.market-cart-item__image,
        .market-cart-address, .market-cart-summary__notice:not(.is-error)) {
    border-color: var(--site-border) !important;
    color: var(--site-surface-ink) !important;
    background: var(--client-theme-surface-soft) !important;
}

.site-content .market-cart :where(.market-cart-item__body input,
        .market-cart-summary select, .market-search-select > input[type="search"],
        .market-search-select__options button) {
    border-color: var(--site-border) !important;
    border-radius: var(--site-input-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}

.site-content .market-cart :where(.market-cart-item__body input,
        .market-search-select > input[type="search"])::placeholder {
    color: var(--site-muted-surface-ink) !important;
}

.site-content .market-cart :where(.market-cart-pay:not(:disabled),
        .market-cart-item__check input:checked + span) {
    border-color: var(--site-primary) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

.site-content .market-cart .market-cart-pay:not(:disabled):hover {
    color: var(--site-primary-hover-contrast) !important;
    background: var(--site-primary-hover) !important;
}

.site-content .market-cart .market-cart-item__check input:checked + span {
    box-shadow: inset 0 0 0 5px var(--site-surface) !important;
}

.market-address-modal > div {
    border: 1px solid var(--site-border) !important;
    border-radius: var(--site-card-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
    box-shadow: var(--site-card-shadow) !important;
}

.market-address-modal :where(h2, p, [data-close-address]) {
    color: var(--site-surface-ink) !important;
}

.market-address-modal textarea {
    border-color: var(--site-border) !important;
    border-radius: var(--site-input-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}

.market-address-modal [data-save-address] {
    border-color: var(--site-primary) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

/* The client's own product questions and answer history. */
.site-content .client-questions-page {
    color: var(--site-background-ink) !important;
}

.site-content .client-questions-page :where(.client-questions-hero,
        .client-question-summary article, .client-question-card,
        .client-questions-empty) {
    border-color: var(--site-border) !important;
    border-radius: var(--site-card-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
    box-shadow: var(--site-card-shadow) !important;
}

.site-content .client-questions-page :where(.client-questions-hero h1,
        .client-question-summary strong, .client-question-card h2,
        .client-question-card__question p,
        .client-question-card__answer p,
        .client-questions-empty h2) {
    color: var(--site-surface-ink) !important;
}

.site-content .client-questions-page :where(.client-questions-hero p,
        .client-question-summary span, .client-question-card > header time,
        .client-question-card__answer time, .client-questions-empty p,
        .client-question-pagination span) {
    color: var(--site-muted-surface-ink) !important;
}

.site-content .client-questions-page :where(.client-questions-hero > div > span,
        .client-question-card > header span,
        .client-question-card__question > span,
        .client-question-card__answer > span,
        .client-question-summary .is-pending strong,
        .client-question-summary .is-answered strong,
        .client-question-summary .is-canceled strong) {
    color: var(--site-accent-readable) !important;
}

.site-content .client-questions-page :where(.client-question-card__question,
        .client-question-card__answer, .client-question-card__result,
        .client-question-card__result--canceled,
        .client-questions-empty > span) {
    border: 1px solid var(--site-border) !important;
    border-radius: var(--site-input-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--client-theme-surface-soft) !important;
}

.site-content .client-questions-page :where(.client-question-card__result > span,
        .client-question-card__result--canceled > span) {
    color: var(--site-accent-readable) !important;
    background: var(--site-surface) !important;
}

.site-content .client-questions-page :where(.client-questions-hero > a,
        .client-questions-empty > a) {
    border-color: var(--site-primary) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-primary-contrast) !important;
    background: var(--site-primary) !important;
}

.site-content .client-questions-page :where(.client-questions-hero > a,
        .client-questions-empty > a):hover {
    color: var(--site-primary-hover-contrast) !important;
    background: var(--site-primary-hover) !important;
}

.site-content .client-questions-page :where(.client-question-pagination a,
        .client-question-pagination span) {
    border-color: var(--site-border) !important;
    border-radius: var(--site-button-radius) !important;
    color: var(--site-surface-ink) !important;
    background: var(--site-surface) !important;
}
