/* Selection is persistent and independent from transient pointer states. */
.ui-choice,
.iptv-list-tabs .tab,
.block-top-nav ul li .btn,
.smart-switcher__item,
.form-tab__link,
#header .header-type-switcher__option,
#header .header-type-switcher__segment > a {
    --bg-color: var(--ui-surface);
    --border-color: var(--ui-surface);
    --font-color: var(--ui-ink);
    background-color: var(--bg-color);
    color: var(--font-color);
    cursor: pointer;
    text-decoration: none;
}
:is(.ui-choice, .smart-switcher__item, .form-tab__link):hover,
.iptv-list-tabs .tab:hover,
.block-top-nav ul li .btn:hover,
#header .header-type-switcher__option:hover,
#header .header-type-switcher__segment > a:hover {
    --bg-color: var(--ui-choice-hover);
    --border-color: var(--ui-business);
    --font-color: var(--ui-business);
    background-color: var(--bg-color);
    color: var(--font-color);
}
.block-top-nav ul li.active .btn,
.ui-choice[aria-pressed="true"],
.ui-choice[aria-selected="true"],
.iptv-list-tabs .tab.active,
.tariffs2-list-item-wrapper.active .ui-choice,
.smart-switcher__item.is-active,
.form-tab__link.active,
#header .header-type-switcher__option.active,
#header .header-type-switcher__segment.active > a {
    --bg-color: var(--ui-business);
    --border-color: var(--ui-business);
    --font-color: var(--ui-on-brand);
    background-color: var(--bg-color);
    color: var(--font-color);
}
:is(.ui-choice, .smart-switcher__item, .form-tab__link):active,
.iptv-list-tabs .tab:active,
.block-top-nav ul li .btn:active,
#header .header-type-switcher__option:active,
#header .header-type-switcher__segment > a:active {
    --bg-color: var(--ui-business-pressed);
    --border-color: var(--bg-color);
    --font-color: var(--ui-on-brand);
    background-color: var(--bg-color);
    color: var(--font-color);
}
:is(.ui-choice, .smart-switcher__item, .form-tab__link):focus-visible,
.iptv-list-tabs .tab:focus-visible,
#header .header-type-switcher__option:focus-visible,
#header .header-type-switcher__segment > a:focus-visible {
    outline: 2px solid var(--ui-focus);
    outline-offset: 3px;
}
/* Existing Smart Switcher custom color fields remain available. Default values
   are translated to the system palette in PHP, without rewriting saved data. */
.smart-switcher__item.is-active {
    background: linear-gradient(90deg, var(--ss-gradient-start, var(--ui-business)), var(--ss-gradient-end, var(--ui-business)));
    color: var(--ss-text-color-active, var(--ui-on-brand));
}
.smart-switcher__item::before { display: none; }
.form-tab__link { font: inherit; border: 0; border-radius: var(--ui-radius); }
.ui-icon-button, .modal-close, .need-help-modal-close, .btn-back-to-top {
    cursor: pointer;
}
:is(.ui-icon-button, .modal-close, .need-help-modal-close, .btn-back-to-top):focus-visible,
:is(.owl-dot, .owl-prev, .owl-next, .show-more, .search-link):focus-visible {
    outline: 2px solid var(--ui-focus);
    outline-offset: 3px;
}
.btn-back-to-top { border: 0; color: var(--ui-on-brand); background-color: var(--ui-business); }
.btn-back-to-top:hover { background-color: var(--ui-business-hover); }
.btn-back-to-top:active { background-color: var(--ui-business-pressed); }
.ui-text-action { border: 0; background: transparent; color: var(--ui-business); font: inherit; cursor: pointer; }
.ui-text-action:hover { color: var(--ui-business-hover); }
.ui-text-action:active { color: var(--ui-business-pressed); }
.ui-text-action:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 3px; }
/* Card links keep their layout; the focus mark encloses the whole action. */
a.products-card:focus-visible, a.universal-card-module:focus-visible,
.block-sales-list .sale > a:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 3px; }

#header .mobile-menu__audience-toggle:focus-visible,
#header .header-subbrand-links__item:focus-visible,
#header .telephone-links > .link:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 2px; }
#header .header-type-switcher__option.for-home.active { --bg-color: var(--ui-home); --border-color: var(--ui-home); }
.block-slider .owl-carousel .owl-dots .owl-dot.active { background: var(--ui-promo-start); }
.block-comments .show-more .pages .page.active { background: var(--ui-tone); }
.block-comments .show-more .link a:hover,
.block-comments .show-more .link span:hover { color: var(--ui-tone-hover); border-color: var(--ui-tone-hover); }
.block-search .result-item .show-more a,
.container-text .text .images .show-more a { color: var(--ui-tone); }
:is(.block-reviews .arrows .arrow, .block-slider .owl-prev, .block-slider .owl-next, .block-comments .show-more .pages .page):focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 3px; }
.btn-back-to-top { padding: 0; }
/* Use the original icon silhouette as a mask so future colors stay in tokens. */
#header .search-form button::after,
#header #top-nav .search-form button::after,
.block-search .search-form button::after,
.desktop-menu li.search a::after,
#header #top-nav menu > li.search a::after {
    background-image: none;
    background-color: var(--ui-tone);
    -webkit-mask: url('../img/search/button-hover_forhome.svg') center / contain no-repeat;
    mask: url('../img/search/button-hover_forhome.svg') center / contain no-repeat;
}

.block-tariff .choose .button { border-color: var(--ui-tone); }
.block-tariff .choose .button .not-checked { color: var(--ui-tone); }
.block-tariff .choose .button .checked { background: var(--ui-tone); }
.modal-form .mf-close:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 3px; }
button.mf-close:not(.btn) { background: transparent; border: 0; padding: 0; font-family: inherit; color: inherit; cursor: pointer; }
/* Generated module CSS reads these state variables when stock colors are used. */
.dslc-tabs-nav-hook:hover {
    --ui-tab-bg: var(--ui-choice-hover);
    --ui-tab-ink: var(--ui-business);
    --ui-tab-border: var(--ui-business);
}
.dslc-tabs-nav-hook.dslc-active { --ui-tab-border: var(--ui-business); }
.dslc-tabs-nav-hook:active {
    --ui-tab-bg: var(--ui-business-pressed);
    --ui-tab-ink: var(--ui-on-brand);
    --ui-tab-border: var(--ui-business-pressed);
    --ui-tab-selected-bg: var(--ui-business-pressed);
}
.dslc-tabs-nav-hook:focus-visible, .dslc-accordion-hook:focus-visible {
    outline: 2px solid var(--ui-focus);
    outline-offset: 3px;
}
/* Keyboard focus on first-party menu, card and expansion controls. */
#header button:focus-visible,
#footer button:focus-visible,
.dslc-module-front button:focus-visible,
.modal-form button:focus-visible,
.block-help .help-item a:focus-visible,
.block-tab-items .nav-tabs a:focus-visible,
.block-comments .show-more .link a:focus-visible,
.container-text .spoiler a:focus-visible {
    outline: 2px solid var(--ui-focus);
    outline-offset: 3px;
}

/* Subbrand navigation shares the persistent selection palette on both menus. */
#header .header-subbrand-links__item.active:hover,
#header .mobile-menu__subbrand-item .mobile-menu__item-wrapper.active:hover {
    background-color: var(--ui-business-hover);
}
#header .header-subbrand-links__item:active,
#header .mobile-menu__subbrand-item .mobile-menu__item-wrapper:active {
    background-color: var(--ui-business-pressed);
}
#header .mobile-menu__subbrand-item .mobile-menu__item-wrapper:active a { color: var(--ui-on-brand); }
#header .mobile-menu__subbrand-item a:focus-visible {
    outline: 2px solid var(--ui-focus);
    outline-offset: -2px;
}

/* Shared by equipment and tariff galleries. Layout stays with the carousel. */
.clean-carousel :is(.owl-prev, .owl-next) {
    color: var(--ui-tone);
    background-color: var(--ui-surface);
    border-color: var(--ui-muted);
}
.clean-carousel :is(.owl-prev, .owl-next) path { fill: currentColor; }
.clean-carousel :is(.owl-prev, .owl-next):not(.disabled):hover {
    color: var(--ui-tone-hover);
    background-color: var(--ui-choice-hover);
}
.clean-carousel :is(.owl-prev, .owl-next):not(.disabled):active {
    color: var(--ui-tone-pressed);
}
.clean-carousel.owl-carousel :is(.owl-prev, .owl-next).disabled {
    color: var(--ui-disabled-ink);
    cursor: not-allowed;
}
.clean-carousel.owl-theme .owl-dots .owl-dot span { background: var(--ui-muted); }
.clean-carousel.owl-theme .owl-dots .owl-dot.active span { background: var(--ui-tone); }
.clean-carousel.owl-theme .owl-dots .owl-dot:hover span { background: var(--ui-tone-hover); }
.clean-carousel.owl-theme .owl-dots .owl-dot:active span { background: var(--ui-tone-pressed); }
