/* ELOVIK: shared outline controls and storefront-specific roles. */
:root {
    --elow-control-neutral-ink: #354158;
    --elow-control-neutral-fill: #fbfaf8;
    --elow-control-neutral-line: #e4dfd8;
    --elow-control-neutral-hover: #f7f6f4;
    --elow-control-blue-ink: #344d86;
    --elow-control-blue-fill: #f5f7fb;
    --elow-control-blue-line: #dbe3f0;
    --elow-control-blue-hover: #edf1f7;
    --elow-control-red-ink: #8d3e38;
    --elow-control-red-fill: #fcf7f5;
    --elow-control-red-line: #ebd6d2;
    --elow-control-red-hover: #f7eeeb;
    --elow-control-primary-fill: #294677;
    --elow-control-primary-hover: #223b65;
    --elow-control-focus: #3c579a;
}

.dark-theme {
    --elow-control-neutral-ink: #e1e5ed;
    --elow-control-neutral-fill: #27282d;
    --elow-control-neutral-line: #42444d;
    --elow-control-neutral-hover: #32343b;
    --elow-control-blue-ink: #d0dbf1;
    --elow-control-blue-fill: #2c3444;
    --elow-control-blue-line: #465674;
    --elow-control-blue-hover: #35415a;
    --elow-control-red-ink: #f0c8c3;
    --elow-control-red-fill: #382b2c;
    --elow-control-red-line: #67464a;
    --elow-control-red-hover: #493638;
    --elow-control-primary-fill: #3a5688;
    --elow-control-primary-hover: #314d7d;
    --elow-control-focus: #a9bce4;
}

:is(.link-ac-border, .link-border, .link-bs-border, .link-red-border),
.popup-mini-messages__btn.button.small {
    --elow-control-ink: var(--elow-control-neutral-ink);
    --elow-control-fill: var(--elow-control-neutral-fill);
    --elow-control-line: var(--elow-control-neutral-line);
    --elow-control-hover: var(--elow-control-neutral-hover);
    box-sizing: border-box;
    max-width: 100%;
    min-height: 34px;
    padding: 6px 14px;
    border: 1px solid var(--elow-control-line);
    border-radius: 9px;
    background: var(--elow-control-fill);
    color: var(--elow-control-ink);
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    transition: background-color .16s ease, color .16s ease;
}

.link-ac-border,
.link-bs-border {
    --elow-control-ink: var(--elow-control-blue-ink);
    --elow-control-fill: var(--elow-control-blue-fill);
    --elow-control-line: var(--elow-control-blue-line);
    --elow-control-hover: var(--elow-control-blue-hover);
}

.link-red-border,
.link-bs-border.js-clear-cart {
    --elow-control-ink: var(--elow-control-red-ink);
    --elow-control-fill: var(--elow-control-red-fill);
    --elow-control-line: var(--elow-control-red-line);
    --elow-control-hover: var(--elow-control-red-hover);
}

:is(.link-red-border, .link-bs-border.js-clear-cart) .sk-icon {
    color: currentColor;
}

:is(.link-ac-border, .link-border, .link-bs-border, .link-red-border).-sk-small,
.popup-mini-messages__btn.button.small {
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 18px;
}

:is(.link-ac-border, .link-border, .link-bs-border, .link-red-border).-sk-large {
    height: auto;
    min-height: 40px;
    padding: 9px 16px;
    border-radius: 10px;
    line-height: 20px;
}

:is(.link-ac-border, .link-border, .link-bs-border, .link-red-border).-sk-largest {
    height: auto;
    min-height: 50px;
    padding: 13px 18px;
    border-radius: 12px;
    font-size: 15px;
    line-height: 22px;
}

/* Keep secondary navigation and informational actions quiet. */
.subcategories-links:not(.elow-catalog-category-links) .subcategories-links__item.link-bs-border,
.product-filters-link.link-bs-border,
.wrap-section__more.link-ac-border,
.js-sidebar .link-ac-border.-sk-small,
.popup-contacts__open-map.link-ac-border,
.products-popup-bottom > .link-ac-border {
    --elow-control-ink: var(--elow-control-blue-ink);
    --elow-control-fill: var(--elow-control-neutral-fill);
    --elow-control-line: var(--elow-control-neutral-line);
    --elow-control-hover: var(--elow-control-neutral-hover);
}

.subcategories-links.-sk-scroll .subcategories-links__item {
    max-width: none;
    white-space: nowrap;
}

.subcategories-links:not(.elow-catalog-category-links) .subcategories-links__item.link-bs-border:is(.selected, [aria-current="page"]) {
    --elow-control-fill: var(--elow-control-blue-hover);
    --elow-control-line: var(--elow-control-blue-line);
    --elow-control-hover: var(--elow-control-blue-hover);
}

/* Use a filled button only for the main action in these contexts. */
.contacts-popup-m .popup__callback-button.link-bs-border,
.checkout-result.success .s-actions-wrapper > .link-bs-border,
.popup-mini-messages__btn.button.small {
    --elow-control-ink: #fff;
    --elow-control-fill: var(--elow-control-primary-fill);
    --elow-control-line: var(--elow-control-primary-fill);
    --elow-control-hover: var(--elow-control-primary-hover);
}

.products-popup-bottom > :is(.link-ac-border, .link-bs-border) {
    min-height: 32px;
    padding: 6px 12px;
}

.products-popup-bottom > :is(.link-ac-border, .link-bs-border) .button-more {
    margin-inline-start: 6px;
    color: inherit;
}

.footer .call-back-button.link-ac-border {
    --elow-control-ink: #fff;
    --elow-control-fill: rgba(255, 255, 255, .09);
    --elow-control-line: rgba(255, 255, 255, .32);
    --elow-control-hover: rgba(255, 255, 255, .17);
    --elow-control-focus: #e4ebfa;
}

@media (hover: hover) {
    :is(.link-ac-border, .link-border, .link-bs-border, .link-red-border):not(.disabled, [aria-disabled="true"], :disabled):hover,
    .popup-mini-messages__btn.button.small:hover {
        background: var(--elow-control-hover);
        color: var(--elow-control-ink);
        text-decoration: none;
    }
}

:is(.link-ac-border, .link-border, .link-bs-border, .link-red-border):focus-visible,
.popup-mini-messages__btn.button.small:focus-visible {
    outline: 2px solid var(--elow-control-focus);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    :is(.link-ac-border, .link-border, .link-bs-border, .link-red-border),
    .popup-mini-messages__btn.button.small {
        transition: none;
    }
}
