/* Shared light/dark accessibility contract. Loaded after route styles. */
:root {
    --budscho-focus-ring: #8a5a00;
    --budscho-accent-text: #8a5a00;
    --budscho-muted-text: #666666;
    --budscho-success-text: #1f7a3d;
    --budscho-danger-text: #c81e2b;
    --budscho-expected-text: #9a4a00;
}

html.theme-dark,
body:has(.theme-switcher-input:checked) {
    --budscho-focus-ring: #f8c630;
    --budscho-accent-text: #f8c630;
    --budscho-muted-text: #b8b8b8;
    --budscho-success-text: #75d67d;
    --budscho-danger-text: #ff6b70;
    --budscho-expected-text: #ffad42;
}

:where(
    a[href],
    button,
    input,
    select,
    textarea,
    summary,
    [role="button"],
    [role="link"],
    [role="tab"]
):focus-visible {
    outline: 3px solid var(--budscho-focus-ring) !important;
    outline-offset: 3px;
}

@media (forced-colors: active) {
    :where(
        a[href],
        button,
        input,
        select,
        textarea,
        summary,
        [role="button"],
        [role="link"],
        [role="tab"]
    ):focus-visible {
        outline-color: Highlight !important;
    }
}

/* Brand yellow needs dark text to remain readable in both themes. */
.btn {
    color: #2b2724;
}

.btn:hover,
.btn:focus-visible {
    color: #8a5a00;
}

.btn-inverse {
    color: #8a5a00;
}

.btn-inverse:hover,
.btn-inverse:focus-visible {
    color: #2b2724;
}

.product-card-action .no_product {
    border-color: #666666;
    background-color: #666666;
    color: #ffffff;
}

.footer-links li a {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
}

.mfilter-options-container label.mfilter-tb-as-td,
.checkout-page .checkout-method-option {
    min-height: 24px;
}

.mfilter-options-container label.mfilter-tb-as-td {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

.price-value,
.simple-link,
.manufactuter-attr a,
.product-wishlist .wishlist-label,
.tab-control,
.product-card-price,
.cart-price-total,
.total-value,
.checkout-agree a {
    color: var(--budscho-accent-text) !important;
}

.product-attr li span,
.product-card-price .old,
.checkout-method-option__description,
.checkout-agree,
.cart-item--attr tr td:first-child,
.no-product .product-card-available,
.product-card--responsive .stok_status_id-9 .product-card-available {
    color: var(--budscho-muted-text) !important;
}

.product-instock b,
.product-card--responsive .stok_status_id-5 .product-card-available {
    color: var(--budscho-success-text) !important;
}

.product-card--responsive .stok_status_id-7 .product-card-available,
.simplecheckout-error-text {
    color: var(--budscho-danger-text) !important;
}

.product-card--responsive .stok_status_id-8 .product-card-available {
    color: var(--budscho-expected-text) !important;
}

.subscribe-promo,
.date-specials-aviable {
    color: #2b2724;
}

.account-menu li:hover > a,
.account-menu li.active > a {
    color: #2b2724 !important;
}

html.theme-dark .account-menu li:hover > a,
html.theme-dark .account-menu li.active > a,
body:has(.theme-switcher-input:checked) .account-menu li:hover > a,
body:has(.theme-switcher-input:checked) .account-menu li.active > a {
    color: #f8c630 !important;
}

.mfilter-button-reset {
    color: var(--budscho-accent-text) !important;
}

.header-phone-number {
    color: var(--budscho-accent-text) !important;
}

.menu-catalog-title {
    color: #2b2724 !important;
}

.cart-price,
.budscho-product-count {
    color: var(--budscho-muted-text) !important;
}

.account-logout a,
.account-address-link {
    color: var(--budscho-accent-text) !important;
}

.account-address-link--danger {
    color: var(--budscho-danger-text) !important;
}

.account-secondary-button {
    color: #ffffff !important;
}

.account-danger-button {
    border-color: #c81e2b !important;
    background: #c81e2b !important;
    color: #ffffff !important;
}

.account-danger-button:hover,
.account-danger-button:focus-visible {
    border-color: #9f1822 !important;
    background: #9f1822 !important;
}

html.theme-dark .cart-item-header > span,
body:has(.theme-switcher-input:checked) .cart-item-header > span,
html.theme-dark .cart-item--name > a,
body:has(.theme-switcher-input:checked) .cart-item--name > a {
    color: #f3eee6 !important;
}

html.theme-dark .subscribe-promo,
body:has(.theme-switcher-input:checked) .subscribe-promo {
    color: #f3eee6;
}

html.theme-dark .cart-item-header--name,
body:has(.theme-switcher-input:checked) .cart-item-header--name {
    color: #f3eee6;
}

@media screen and (max-width: 767px) {
    .mobile-header-actions button,
    .header-login-link,
    .btn-basket {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 32px;
        min-height: 32px;
    }
}
