/* Global storefront adapter. Product cards retain their dedicated style contracts. */

/* Canonical Avelle button contract. Legacy/Core classes remain additive for
   behavior and plugin compatibility; Avelle-owned CTAs should always include
   one of these semantic classes. */
:where(.avelle-button, .avelle-button--primary, .avelle-button--secondary, .avelle-button--ghost) {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border: 1px solid transparent;
    border-radius: var(--avl-r);
    font-family: var(--avl-font-body);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

/* Catalog controls are a surface contract, not primary CTA buttons. */
html:root .avelle-multikart-collection .collection-filter-block {
    background: var(--avl-surface) !important;
    border: 0 !important;
    border-radius: 14px !important;
    padding: 22px 20px !important;
}

html:root .avelle-multikart-collection .filter-btn {
    background: var(--avl-bg) !important;
    border: 1px solid var(--avl-line-2) !important;
    border-radius: 8px !important;
    color: var(--avl-ink) !important;
    text-transform: none !important;
}

html:root .avelle-multikart-collection .filter-btn:hover,
html:root .avelle-multikart-collection .filter-btn:focus-visible {
    background: var(--avl-bg) !important;
    border-color: var(--avl-ink) !important;
    color: var(--avl-ink) !important;
}

.avelle-button--primary {
    color: var(--avl-ink);
    background: var(--avl-line) !important;
    border-color: var(--avl-line) !important;
}

.avelle-button--secondary {
    color: var(--avl-ink) !important;
    background: var(--avl-bg) !important;
    border-color: var(--avl-line) !important;
}

.avelle-button--ghost {
    color: var(--avl-ink);
    background: transparent;
    border-color: transparent;
}

:where(.avelle-button, .avelle-button--primary, .avelle-button--secondary, .avelle-button--ghost):hover,
:where(.avelle-button, .avelle-button--primary, .avelle-button--secondary, .avelle-button--ghost):focus-visible {
    transform: translateY(-1px);
}

.avelle-button--primary:hover,
.avelle-button--primary:focus-visible {
    color: var(--avl-ink);
    background: var(--avl-line-2) !important;
    border-color: var(--avl-muted) !important;
}

.avelle-button--secondary:hover,
.avelle-button--secondary:focus-visible {
    color: var(--avl-ink) !important;
    background: var(--avl-line-2) !important;
    border-color: color-mix(in srgb, var(--avl-muted) 83%, var(--avl-bg)) !important;
}

.avelle-button--ghost:hover,
.avelle-button--ghost:focus-visible {
    color: var(--avl-ink);
    background: color-mix(in srgb, var(--avl-ink) 7%, transparent);
}

.avelle-button:disabled,
.avelle-button[aria-disabled="true"] {
    opacity: .55;
    pointer-events: none;
    transform: none;
}

/* Avelle collection filter surface: keep the Torque filter contract (a quiet
   desktop rail and a left-side mobile/tablet drawer) while using Avelle's
   tokens. The filter plugin keeps ownership of all controls and queries. */
html:root .avelle-multikart-collection .collection-filter,
html:root .avelle-multikart-collection .collection-filter-block,
html:root .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-area,
html:root .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-wrapper,
html:root .avelle-multikart-collection .collection-filter-block .bb-shop-sidebar,
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter,
html:root .avelle-multikart-collection .collection-filter-block .tp-sidebar-search {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter {
    border-radius: 0 !important;
    padding-bottom: 20px !important;
}

.avelle-multikart-collection .collection-filter-block .bb-product-filter {
    border-bottom: 1px solid var(--avl-line) !important;
    margin: 0 !important;
    padding: 0 0 20px !important;
}

.avelle-multikart-collection .collection-filter-block .bb-product-filter + .bb-product-filter {
    padding-top: 20px !important;
}

.avelle-multikart-collection .collection-filter-block .bb-product-filter-title {
    color: var(--avl-ink) !important;
    font-family: var(--avl-font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    line-height: 1.2 !important;
    margin: 0 0 14px !important;
    text-transform: uppercase !important;
}

.avelle-multikart-collection .collection-filter-block .bb-product-filter-item {
    align-items: center !important;
    color: var(--avl-muted) !important;
    display: flex !important;
    gap: 9px !important;
    min-height: 30px !important;
}

.avelle-multikart-collection .collection-filter-block .bb-product-filter-item label,
.avelle-multikart-collection .collection-filter-block .bb-product-filter-link {
    color: var(--avl-muted) !important;
    font-family: var(--avl-font-body) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.avelle-multikart-collection .collection-filter-block .bb-product-filter-link:hover,
.avelle-multikart-collection .collection-filter-block .bb-product-filter-link.active {
    color: var(--avl-ink) !important;
}

.avelle-multikart-collection .collection-filter-block .bb-product-filter-item input {
    accent-color: var(--avl-ink);
    flex: 0 0 auto;
}

/* Nurfia-inspired catalog rail: an open editorial column with quiet section
   rules and compact rows instead of nested cards. */
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter {
    border-bottom: 1px solid var(--avl-line) !important;
    margin: 0 0 26px !important;
    padding: 0 0 18px !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter:last-child {
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-title {
    border-bottom: 1px solid var(--avl-line) !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
    margin-bottom: 0 !important;
    padding-bottom: 11px !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-items {
    gap: 0 !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-item {
    border-bottom: 1px solid color-mix(in srgb, var(--avl-line) 72%, transparent) !important;
    gap: 8px !important;
    min-height: 42px !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-item:last-child {
    border-bottom: 0 !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-link {
    align-items: center !important;
    color: var(--avl-ink) !important;
    font-size: 14px !important;
    min-height: 42px !important;
    padding: 0 !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-link:hover,
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-link.active {
    color: var(--avl-muted) !important;
}

html:root .avelle-multikart-collection .collection-filter-block .avelle-filter-count-badge {
    color: var(--avl-muted) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    min-width: 22px !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-item > button {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--avl-muted) !important;
    display: inline-flex !important;
    height: 32px !important;
    justify-content: center !important;
    margin-left: auto !important;
    padding: 0 !important;
    width: 28px !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-item > button:hover {
    color: var(--avl-ink) !important;
}

@media (max-width: 991.98px) {
    html:root .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-wrapper {
        background: var(--avl-bg) !important;
        border-radius: 0 !important;
        bottom: 0 !important;
        box-shadow: 18px 0 54px rgba(18, 18, 18, .14) !important;
        height: 100% !important;
        left: 0 !important;
        max-height: 100% !important;
        overflow-y: auto !important;
        padding: 18px 20px 28px !important;
        right: auto !important;
        top: 0 !important;
        transform: translateX(-100%) !important;
        transition: transform var(--avl-dur, .24s) var(--avl-ease, ease) !important;
        width: min(380px, calc(100% - 48px)) !important;
    }

    .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-area.active .bb-filter-offcanvas-wrapper,
    .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-area.show .bb-filter-offcanvas-wrapper,
    body.filter-sidebar-active .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-wrapper {
        transform: translateX(0) !important;
    }

    .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-wrapper::before {
        display: none !important;
    }

    .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-close {
        align-items: center !important;
        background: var(--avl-bg) !important;
        display: flex !important;
        justify-content: flex-end !important;
        margin: 0 0 18px !important;
        min-height: 44px !important;
        position: relative !important;
        top: 0 !important;
        transform: none !important;
    }

    .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-close-btn {
        align-items: center !important;
        background: transparent !important;
        border: 1px solid var(--avl-line) !important;
        border-radius: var(--avl-ui-control-radius, var(--avelle-global-radius-control)) !important;
        color: var(--avl-ink) !important;
        display: inline-flex !important;
        font-size: 0 !important;
        height: 44px !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 44px !important;
    }

    .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-close-btn {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
    }

    .avelle-multikart-collection .collection-filter-block .bb-filter-offcanvas-close-btn svg {
        height: 18px !important;
        width: 18px !important;
    }

    html:root .avelle-multikart-collection .collection-filter-block .bb-shop-sidebar {
        border: 0 !important;
        border-radius: 0 !important;
        padding: 0 !important;
    }
}

:where(
    .avelle-product-card--shared,
    .avelle-fashion6-blog .avelle-journal-card--latest,
    .avelle-catalog-product,
    .avelle-catalog-card,
    .avelle-product-card,
    .avelle-commerce-product-card,
    .avelle-recommended-product,
    .avelle-ecomus-related-card,
    .tp-product-item,
    .tp-product-item-2,
    .tp-product-item-3,
    .tp-product-item-4,
    .tp-product-item-5,
    .theme-product-6
) {
    /* Owner 2026-07-29: cards inherit the GLOBAL radius from avelle-foundation.css
       :root (card 6px, control 8px, icons follow the card) instead of pinning their
       own values, so cards, footer icons and controls stay coherent from one source. */
    --avelle-global-radius-card: var(--avl-r-card);
    --avelle-global-radius-media: var(--avl-r-card);
    --avelle-global-radius-control: var(--avl-r);
    --avl-ui-card-radius: var(--avl-r-card);
    --avl-ui-media-radius: var(--avl-r-card);
    --avl-ui-control-radius: var(--avl-r);
    --avl-ui-icon-radius: var(--avl-r-card);
    --avl-ui-card-border: 0 solid transparent;
    --avl-ui-card-shadow: none;
}

@media (max-width: 767.98px) {
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .tp-main-menu-mobile .dropdown-toggle-btn {
        border-color: transparent !important;
        color: var(--avl-ink, var(--tp-heading-primary)) !important;
        background: transparent !important;
    }

    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .tp-main-menu-mobile .dropdown-toggle-btn:hover,
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .tp-main-menu-mobile .dropdown-toggle-btn:focus-visible,
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .tp-main-menu-mobile .dropdown-toggle-btn.dropdown-opened {
        border-color: transparent !important;
        color: var(--avl-primary, var(--tp-theme-primary)) !important;
        background: color-mix(in srgb, var(--avl-primary, var(--tp-theme-primary)) 9%, transparent) !important;
    }
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
    .btn,
    .tp-btn,
    .tp-btn-2,
    .tp-btn-3,
    .tp-btn-border,
    .avl-btn,
    .avelle-button,
    .avelle-account-button,
    .avelle-about__button,
    .avelle-shop-load-more__button,
    .avelle-fashion6-featured-offer__cta,
    .avelle-journal__empty a,
    .avelle-contact__form button,
    .avelle-contact__form input[type="submit"],
    .cartmini__checkout-btn a,
    button[type="submit"],
    input[type="submit"],
    .checkout-page button[type="submit"],
    .checkout-page input[type="submit"],
    .auth-card button[type="submit"],
    .login-form button[type="submit"],
    .register-form button[type="submit"],
    [class$="__button"],
    [class*="__button "],
    [class$="__cta"],
    [class*="__cta "],
    [class$="-button"],
    [class*="-button "]
):not(:where(
    .btn-danger,
    .btn-success,
    [class*="whatsapp"],
    [data-avelle-semantic],
    .avelle-product-card--shared *,
    .avelle-catalog-product *,
    .avelle-catalog-card *,
    .avelle-product-card *,
    .avelle-commerce-product-card *,
    .avelle-recommended-product *,
    .avelle-ecomus-related-card *,
    .tp-product-item *,
    .tp-product-item-2 *,
    .tp-product-item-3 *,
    .tp-product-item-4 *,
    .tp-product-item-5 *,
    .theme-product-6 *,
    .avelle-quantity *,
    .qty-box *,
    .avelle-multikart-collection .filter-btn
)) {
    background: var(--avl-ui-button-bg) !important;
    border-color: var(--avl-ui-button-border) !important;
    border-radius: var(--avl-ui-control-radius, var(--avelle-global-radius-control)) !important;
    color: var(--avl-ui-button-color) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
    button[type="submit"],
    .btn,
    .tp-btn,
    .tp-btn-2,
    .tp-btn-3,
    .avl-btn,
    [class$="__button"],
    [class*="__button "],
    [class$="__cta"],
    [class*="__cta "],
    [class$="-button"],
    [class*="-button "]
):not(:where(
    .avelle-product-card--shared *,
    .avelle-catalog-product *,
    .avelle-catalog-card *,
    .avelle-product-card *,
    .avelle-commerce-product-card *,
    .avelle-recommended-product *,
    .avelle-ecomus-related-card *,
    .tp-product-item *,
    .tp-product-item-2 *,
    .tp-product-item-3 *,
    .tp-product-item-4 *,
    .tp-product-item-5 *,
    .theme-product-6 *
)) :where(span, strong) {
    color: inherit !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
    .avl-icon-btn,
    button[aria-label],
    a[aria-label]:has(:where(svg, .avelle-icon, i)),
    .tp-mobile-item-btn,
    .avelle-contact__social-links a,
    .avelle-footer-register__social a,
    .avelle-footer-register__discovery-social a,
    .pagination .page-link
):not(:where(
    .avelle-footer-ecomus__social a,
    [class*="whatsapp"],
    .avelle-upcoming-drop__unlock,
    .avelle-fashion6-products__arrow,
    .tp-main-menu-mobile .dropdown-toggle-btn,
    .avelle-product-card--shared *,
    .avelle-catalog-product *,
    .avelle-catalog-card *,
    .avelle-product-card *,
    .avelle-commerce-product-card *,
    .avelle-recommended-product *,
    .avelle-ecomus-related-card *,
    .tp-product-item *,
    .tp-product-item-2 *,
    .tp-product-item-3 *,
    .tp-product-item-4 *,
    .tp-product-item-5 *,
    .theme-product-6 *,
    .avelle-quantity *,
    .qty-box *,
    .avelle-product-detail__member-voucher-next,
    .avr-functional__nav-toggle,
    .avr-functional__search-close,
    .avr-torque-action__link,
    .avr-torque-action__icon-link,
    .customer-account-topbar *,
    .customer-account-topbar__menu,
    .customer-account-topbar__icon-action,
    .customer-account-topbar__website,
    .customer-account-shell *
)) {
    background: var(--avl-ui-icon-bg) !important;
    border-color: var(--avl-ui-icon-border) !important;
    border-radius: var(--avl-ui-icon-radius, var(--avelle-global-radius-control)) !important;
    color: var(--avl-ui-icon-color) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
    select,
    textarea,
    .form-control,
    .form-select,
    .select2-selection,
    .nice-select,
    .avl-field
):not(:where(
    .avelle-product-card--shared *,
    .avelle-catalog-product *,
    .avelle-catalog-card *,
    .avelle-product-card *,
    .avelle-commerce-product-card *,
    .avelle-recommended-product *,
    .tp-product-item *,
    .tp-product-item-2 *,
    .tp-product-item-3 *,
    .tp-product-item-4 *,
    .tp-product-item-5 *,
    .theme-product-6 *
)) {
    background-color: var(--avl-ui-field-bg) !important;
    border-color: var(--avl-ui-field-border) !important;
    border-radius: var(--avl-ui-field-radius, var(--avelle-global-radius-control)) !important;
    color: var(--avl-ui-field-color) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
    [class$="-card"],
    [class*="-card "],
    [class$="__card"],
    [class*="__card "],
    .card,
    .panel,
    .modal-content,
    .dropdown-menu,
    .offcanvas__area,
    .accordion-item,
    .avl-card,
    .avl-band,
    .avelle-contact-card,
    .avelle-contact__map,
    .avelle-contact__compliance,
    .avelle-contact__form-panel,
    .avelle-contact__custom-item,
    .avelle-journal-card,
    .avelle-journal__empty,
    .avelle-journal-article__sidebar,
    .avelle-coupon-card,
    .avelle-testimonials__card,
    .avelle-countdown__panel,
    .avelle-footer-register__retail-services,
    .avelle-footer-compliance__mobile-policy-card,
    .avelle-footer-compliance__card,
    .cartmini__area,
    .tp-login-wrapper,
    .tp-register-wrapper,
    .checkout-page .checkout-form,
    .checkout-page .order-summary
):not(:where(
    .avelle-product-card--shared,
    .avelle-product-card--shared *,
    .avelle-fashion6-blog .avelle-journal-card--latest,
    .avelle-catalog-product,
    .avelle-catalog-product *,
    .avelle-catalog-card,
    .avelle-catalog-card *,
    .avelle-product-card,
    .avelle-product-card *,
    .avelle-commerce-product-card,
    .avelle-commerce-product-card *,
    .avelle-recommended-product,
    .avelle-recommended-product *,
    .avelle-ecomus-related-card,
    .avelle-ecomus-related-card *,
    .tp-product-item,
    .tp-product-item *,
    .tp-product-item-2,
    .tp-product-item-2 *,
    .tp-product-item-3,
    .tp-product-item-3 *,
    .tp-product-item-4,
    .tp-product-item-4 *,
    .tp-product-item-5,
    .tp-product-item-5 *,
    .theme-product-6,
    .theme-product-6 *
)) {
    border: var(--avl-ui-card-border) !important;
    border-radius: var(--avl-ui-card-radius, var(--avelle-global-radius-card)) !important;
    box-shadow: var(--avl-ui-card-shadow) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
    .avl-chip,
    .avelle-footer-compliance__withdrawal,
    .avelle-footer-compliance__card,
    .avelle-footer-compliance__netopia-chip,
    .avelle-footer-payment-chip
) {
    border-color: var(--avl-ui-border-color) !important;
    border-radius: var(--avl-ui-control-radius, var(--avelle-global-radius-control)) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field="underline"][data-avelle-ui-icon][data-avelle-ui-hover] :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
    select,
    textarea,
    .form-control,
    .form-select,
    .select2-selection,
    .nice-select,
    .avl-field
) {
    border-width: 0 0 1px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
    select,
    textarea,
    .form-control,
    .form-select,
    .select2-selection,
    .nice-select,
    .avl-field
):focus,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(.select2-container--open .select2-selection, .nice-select.open) {
    border-color: var(--avl-ui-field-focus-border) !important;
    box-shadow: var(--avl-ui-focus-ring) !important;
}

/* Canonical catalog selects: the toolbar keeps one stable field shell while
 * the nice-select menu is open, without the browser/global focus outline. */
html:root .avelle-multikart-collection .avelle-catalog-select,
html:root .avelle-multikart-collection .nice-select.avelle-catalog-select {
    outline: 0 !important;
}

html:root .avelle-multikart-collection .nice-select.avelle-catalog-select:focus,
html:root .avelle-multikart-collection .nice-select.avelle-catalog-select:focus-visible,
html:root .avelle-multikart-collection .nice-select.avelle-catalog-select.open {
    border-color: var(--avl-ui-field-border) !important;
    box-shadow: none !important;
    outline: 0 !important;
}

html:root .avelle-multikart-collection .nice-select.avelle-catalog-select .option:focus,
html:root .avelle-multikart-collection .nice-select.avelle-catalog-select .option:focus-visible {
    outline: 0 !important;
}

/* Keep the catalog control outside the generic field focus ring. The shared
 * UI preset selector is intentionally matched here so this contract wins
 * without changing focus behavior for other fields. */
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-multikart-collection .nice-select.avelle-catalog-select:is(:focus, :focus-visible, .open) {
    border-color: var(--avl-ui-field-border) !important;
    box-shadow: none !important;
    outline: 0 !important;
}

/* Catalog filter selects use the same canonical field contract in both
 * collapsed and expanded states. Nice Select renders the menu outside the
 * native select, so its generated parts receive explicit reusable classes. */
html:root .avelle-multikart-collection .nice-select.avelle-catalog-select__control {
    min-height: 42px !important;
    height: 42px !important;
    border: 1px solid var(--avl-ui-field-border) !important;
    border-radius: var(--avl-ui-control-radius, var(--avelle-global-radius-control)) !important;
    background: var(--avl-ui-field-background, var(--avl-surface)) !important;
    color: var(--avl-ui-field-text, var(--avl-ink)) !important;
    box-shadow: none !important;
    outline: 0 !important;
    font: inherit !important;
}

html:root .avelle-multikart-collection .nice-select.avelle-catalog-select__control.open,
html:root .avelle-multikart-collection .nice-select.avelle-catalog-select__control:focus,
html:root .avelle-multikart-collection .nice-select.avelle-catalog-select__control:focus-visible {
    border-color: var(--avl-ui-field-border) !important;
    box-shadow: none !important;
    outline: 0 !important;
}

html:root .avelle-multikart-collection .nice-select.avelle-catalog-select__control .avelle-catalog-select__dropdown {
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    padding: 6px !important;
    border: 1px solid var(--avl-ui-field-border) !important;
    border-radius: var(--avl-ui-control-radius, var(--avelle-global-radius-control)) !important;
    background: var(--avl-ui-field-background, var(--avl-surface)) !important;
    box-shadow: 0 8px 20px rgba(17, 17, 17, .08) !important;
    z-index: 20 !important;
}

html:root .avelle-multikart-collection .nice-select.avelle-catalog-select__control .avelle-catalog-select__option {
    min-height: 34px !important;
    padding: 8px 10px !important;
    border-radius: calc(var(--avl-ui-control-radius, var(--avelle-global-radius-control)) - 2px) !important;
    color: var(--avl-ui-field-text, var(--avl-ink)) !important;
    background: transparent !important;
    font: inherit !important;
    line-height: 18px !important;
}

html:root .avelle-multikart-collection .nice-select.avelle-catalog-select__control .avelle-catalog-select__option.selected,
html:root .avelle-multikart-collection .nice-select.avelle-catalog-select__control .avelle-catalog-select__option.focus,
html:root .avelle-multikart-collection .nice-select.avelle-catalog-select__control .avelle-catalog-select__option:hover {
    color: var(--avl-ui-field-text, var(--avl-ink)) !important;
    background: var(--avl-ui-field-hover-background, var(--avl-bg)) !important;
}

body.avelle-auth-page {
    background: #fff !important;
    color: #0f172a;
    font-family: "Krub", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
}

body.avelle-auth-page .skip-to-content {
    display: none;
}

.avelle-auth {
    align-items: center;
    display: flex;
    isolation: isolate;
    justify-content: center;
    height: var(--avelle-auth-viewport-height, 100vh);
    height: var(--avelle-auth-viewport-height, 100dvh);
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
    padding: clamp(18px, 3vh, 36px) 18px;
    position: relative;
}

.avelle-auth__frame {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 100%;
    transform: scale(var(--avelle-auth-fit-scale, 1));
    transform-origin: center center;
    width: 100%;
}

.avelle-auth::after {
    background:
        radial-gradient(circle at 34% 45%, rgba(244, 63, 94, .08), transparent 34%),
        radial-gradient(circle at 66% 54%, rgba(14, 165, 233, .12), transparent 37%);
    bottom: 78px;
    content: "";
    height: 260px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    width: min(520px, 86vw);
    z-index: -1;
}

.avelle-auth__shell {
    align-items: center;
    display: grid;
    flex: 0 1 auto;
    justify-items: center;
    max-width: 430px;
    padding: 0;
    width: 100%;
}

.avelle-auth__logo {
    display: flex;
    justify-content: center;
    margin: 0 auto 4px;
    width: 100%;
}

.avelle-auth__logo img {
    display: block;
    height: auto;
    max-height: 58px;
    width: min(188px, 54vw);
}

.avelle-auth__tagline {
    color: #2563eb;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 clamp(12px, 1.8vh, 18px);
    text-align: center;
}

.avelle-auth__benefits {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: clamp(18px, 3vh, 30px);
    width: 100%;
}

.avelle-auth__benefits article {
    align-items: center;
    background: #f5f7fc;
    border: 1px solid #eef2f7;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    min-height: 80px;
    padding: 14px 8px 11px;
    text-align: center;
}

.avelle-auth__benefits i {
    align-items: center;
    color: #2563eb;
    display: inline-flex;
    font-size: 28px;
    height: 32px;
    justify-content: center;
    margin-bottom: 7px;
    width: 32px;
}

.avelle-auth__benefits article:first-child i {
    color: #16a34a;
}

.avelle-auth__benefits article:last-child i {
    color: #e11d48;
}

.avelle-auth__benefits strong,
.avelle-auth__benefits span {
    display: block;
    line-height: 1.2;
}

.avelle-auth__benefits strong {
    color: #0f172a;
    font-size: 12px;
    font-weight: 500;
}

.avelle-auth__benefits span {
    color: #334155;
    font-size: 11px;
    font-weight: 400;
    margin-top: 2px;
}

.avelle-auth__title {
    color: #020617;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 0 0 clamp(16px, 2.6vh, 26px);
    text-align: center;
}

.avelle-auth__form {
    display: grid;
    gap: 12px;
    width: 100%;
}

.avelle-auth__field {
    display: grid;
    gap: 7px;
    margin: 0;
}

.avelle-auth__field > span:first-child {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    padding-left: 14px;
}

.avelle-auth__input-wrap {
    align-items: center;
    display: flex;
    position: relative;
}

.avelle-auth__input-wrap .avelle-auth__control {
    background-color: var(--avl-ui-field-bg) !important;
    border: 1px solid var(--avl-ui-field-border) !important;
    border-radius: var(--avl-ui-field-radius, var(--avelle-global-radius-control)) !important;
    box-shadow: none !important;
    color: var(--avl-ui-field-color) !important;
    height: 44px;
    outline: 0 !important;
    padding-left: 42px;
    width: 100%;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover].avelle-auth-page .avelle-auth__input-wrap .avelle-auth__control:focus,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover].avelle-auth-page .avelle-auth__input-wrap .avelle-auth__control:focus-visible {
    border-color: var(--avl-ui-field-focus-border) !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.avelle-auth__input-wrap i {
    color: var(--avl-ui-field-color, var(--avl-muted));
    font-size: 18px;
    left: 14px;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.avelle-auth__input-wrap input {
    min-width: 0;
}

.avelle-auth__input-wrap input::placeholder {
    color: #748196;
}

.avelle-auth__form-row {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin: 2px 0 4px;
}

.avelle-auth__remember {
    align-items: center;
    color: #475569;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
    margin: 0;
}

.avelle-auth__remember input {
    accent-color: #1288e8;
}

.avelle-auth__form-row a,
.avelle-auth__help,
.avelle-auth__footer a {
    color: #0f172a;
    font-weight: 700;
    text-decoration: none;
}

.avelle-auth__form-row a {
    font-size: 13px;
}

.avelle-auth__submit {
    width: 100%;
}

.avelle-auth__divider {
    align-items: center;
    color: #111827;
    display: flex;
    font-size: 14px;
    font-weight: 400;
    gap: 16px;
    margin: clamp(18px, 2.8vh, 28px) 0 14px;
    width: 100%;
}

.avelle-auth__divider::before,
.avelle-auth__divider::after {
    background: #e2e8f0;
    content: "";
    flex: 1 1 auto;
    height: 1px;
}

.avelle-auth__social {
    display: flex;
    gap: 13px;
    justify-content: center;
}

.avelle-auth-social-link {
    align-items: center;
    background: #fff;
    border: 1px solid #edf2f7;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .06);
    display: inline-flex;
    height: 48px;
    justify-content: center;
    transition: transform .18s ease, box-shadow .18s ease;
    width: 48px;
}

.avelle-auth-social-link:hover,
.avelle-auth-social-link:focus-visible {
    box-shadow: 0 4px 12px rgba(15, 23, 42, .08);
    transform: translateY(-1px);
}

.avelle-auth-social-link img {
    display: block;
    height: 29px;
    width: 29px;
}

.avelle-auth__register {
    color: #0f172a;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    margin: clamp(14px, 2vh, 22px) 0 0;
    text-align: center;
}

.avelle-auth__register a {
    color: inherit;
    font-weight: 400;
}

.avelle-auth__register a strong {
    font-weight: 700;
}

.avelle-auth__help {
    display: inline-flex;
    font-size: 14px;
    margin-top: clamp(14px, 2.1vh, 24px);
}

.avelle-auth__footer {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
    justify-content: center;
    margin-top: clamp(18px, 3vh, 30px);
    position: relative;
    width: 100%;
}

.avelle-auth__footer a {
    color: #475569;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    padding: 0 12px;
}

.avelle-auth__footer a + a {
    border-left: 1px solid #cbd5e1;
}

.avelle-auth__alert {
    border-radius: 12px;
    display: grid;
    font-size: 13px;
    font-weight: 700;
    gap: 4px;
    line-height: 1.45;
    padding: 10px 12px;
}

.avelle-auth__alert.is-success {
    background: #ecfdf5;
    color: #047857;
}

.avelle-auth__alert.is-error {
    background: #fef2f2;
    color: #b91c1c;
}

.avelle-auth__alert.is-warning {
    background: #fffbeb;
    color: #92400e;
}

@media (max-width: 767.98px) {
    .avelle-auth {
        justify-content: center;
        padding: 14px 16px max(12px, env(safe-area-inset-bottom));
    }

    .avelle-auth__shell {
        max-width: 360px;
    }

    .avelle-auth__logo img {
        max-height: 48px;
        width: min(164px, 50vw);
    }

    .avelle-auth__tagline {
        font-size: 13px;
        margin-bottom: 10px;
    }

    .avelle-auth__benefits {
        margin-bottom: 16px;
    }

    .avelle-auth__benefits article {
        min-height: 70px;
        padding: 10px 6px 8px;
    }

    .avelle-auth__benefits i {
        font-size: 24px;
        height: 28px;
        margin-bottom: 5px;
        width: 28px;
    }

    .avelle-auth__benefits strong {
        font-size: 11px;
    }

    .avelle-auth__benefits span {
        font-size: 10px;
    }

    .avelle-auth__title {
        font-size: 19px;
        margin-bottom: 14px;
    }

    .avelle-auth__form {
        gap: 9px;
    }

    .avelle-auth__field {
        gap: 5px;
    }

    .avelle-auth__input-wrap .avelle-auth__control {
        height: 42px;
    }

    .avelle-auth__divider {
        margin: 16px 0 12px;
    }

    .avelle-auth-social-link {
        height: 44px;
        width: 44px;
    }

    .avelle-auth__register {
        margin-top: 14px;
    }

    .avelle-auth__help {
        margin-top: 12px;
    }

    .avelle-auth__form-row {
        align-items: center;
        flex-direction: row;
        gap: 8px;
        white-space: nowrap;
    }

    .avelle-auth__form-row a,
    .avelle-auth__remember {
        font-size: 12px;
        white-space: nowrap;
    }

    .avelle-auth__footer {
        margin-top: 16px;
        padding-bottom: env(safe-area-inset-bottom);
    }
}

@media (max-width: 767.98px) and (max-height: 700px) {
    .avelle-auth {
        padding: 8px 16px max(6px, env(safe-area-inset-bottom));
    }

    .avelle-auth::after {
        bottom: 44px;
        height: min(150px, 26vh);
    }

    .avelle-auth__logo {
        margin-bottom: 2px;
    }

    .avelle-auth__logo img {
        max-height: 34px;
        width: min(132px, 42vw);
    }

    .avelle-auth__tagline {
        font-size: 12px;
        line-height: 1.15;
        margin-bottom: 6px;
    }

    .avelle-auth__benefits {
        gap: 6px;
        margin-bottom: 10px;
    }

    .avelle-auth__benefits article {
        border-radius: 10px;
        min-height: 48px;
        padding: 6px 4px;
    }

    .avelle-auth__benefits i {
        font-size: 18px;
        height: 20px;
        margin-bottom: 3px;
        width: 20px;
    }

    .avelle-auth__benefits strong {
        font-size: 10px;
        line-height: 1.1;
    }

    .avelle-auth__benefits span {
        display: none;
    }

    .avelle-auth__title {
        font-size: 18px;
        line-height: 1.15;
        margin-bottom: 8px;
    }

    .avelle-auth__form {
        gap: 6px;
    }

    .avelle-auth__field {
        gap: 3px;
    }

    .avelle-auth__field > span:first-child {
        font-size: 11px;
        padding-left: 12px;
    }

    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover].avelle-auth-page .avelle-auth__input-wrap .avelle-auth__control {
        font-size: 13px;
        height: 38px;
        padding-left: 40px;
    }

    .avelle-auth__input-wrap i {
        font-size: 16px;
    }

    .avelle-auth__form-row {
        gap: 6px;
    }

    .avelle-auth__form-row a,
    .avelle-auth__remember {
        font-size: 11px;
    }

    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover].avelle-auth-page .avelle-auth__submit {
        font-size: 14px;
        height: 40px;
        min-height: 40px;
        padding-bottom: 0;
        padding-top: 0;
    }

    .avelle-auth__divider {
        font-size: 12px;
        gap: 10px;
        margin: 10px 0 8px;
    }

    .avelle-auth__social {
        gap: 10px;
    }

    .avelle-auth-social-link {
        height: 36px;
        width: 36px;
    }

    .avelle-auth-social-link img {
        height: 24px;
        width: 24px;
    }

    .avelle-auth__register {
        font-size: 12px;
        line-height: 1.25;
        margin-top: 8px;
    }

    .avelle-auth__help {
        font-size: 12px;
        margin-top: 8px;
    }

    .avelle-auth__footer {
        margin-top: 8px;
    }

    .avelle-auth__footer a {
        font-size: 10px;
        padding: 0 8px;
    }
}

@media (max-width: 340px) and (max-height: 620px) {
    .avelle-auth__benefits article {
        min-height: 44px;
    }

    .avelle-auth__title {
        font-size: 17px;
    }

    .avelle-auth__register {
        margin-left: auto;
        margin-right: auto;
        max-width: 270px;
    }

    .avelle-auth__footer a {
        padding: 0 5px;
    }
}

html:root body.customer-auth-page .customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control,
html:root body.customer-auth-page .customer-auth .customer-billing-identity .form-control,
html:root body.customer-auth-page .customer-auth .customer-billing-identity .form-select {
    background-color: var(--avl-ui-field-bg) !important;
    border: 1px solid var(--avl-ui-field-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--avl-ui-field-color) !important;
    height: 44px !important;
    outline: 0 !important;
}

html:root body.customer-auth-page .customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control:focus,
html:root body.customer-auth-page .customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control:focus-visible,
html:root body.customer-auth-page .customer-auth .customer-billing-identity .form-control:focus,
html:root body.customer-auth-page .customer-auth .customer-billing-identity .form-select:focus {
    border-color: var(--avl-ui-field-focus-border) !important;
    box-shadow: none !important;
    outline: 0 !important;
}

html:root body.customer-auth-page .customer-auth .customer-auth__submit {
    border-radius: 10px !important;
}

/* Avelle carousel pagination contract: every storefront carousel uses the
   hero pill rhythm while each component keeps its own positioning. */
html:root body:not(.customer-auth-page) {
    --avl-carousel-dot-rest: rgba(17, 17, 17, .22);
    --avl-carousel-dot-active: var(--avl-ink);
    --avl-carousel-dot-hero-rest: rgba(255, 255, 255, .4);
    --avl-carousel-dot-hero-active: var(--avl-surface);
    --avl-carousel-dot-gap: 4px;
    --avl-carousel-dot-width: 16px;
    --avl-carousel-dot-active-width: 30px;
    --avl-carousel-dot-height: 6px;
    --avl-carousel-dot-radius: 6px;
}

@media (max-width: 767.98px) {
    html:root body:not(.customer-auth-page) {
        --avl-carousel-dot-gap: 3px;
        --avl-carousel-dot-width: 10px;
        --avl-carousel-dot-active-width: 20px;
        --avl-carousel-dot-height: 5px;
    }
}

html:root body:not(.customer-auth-page) .tp-swiper-dot,
html:root body:not(.customer-auth-page) .tp-swiper-dot-border,
html:root body:not(.customer-auth-page) .swiper-pagination,
html:root body:not(.customer-auth-page) .owl-dots,
html:root body:not(.customer-auth-page) .slick-dots,
html:root body:not(.customer-auth-page) .avelle-fashion6-products__dots,
html:root body:not(.customer-auth-page) .avelle-nurfia-slider__dots,
html:root body:not(.customer-auth-page) .avelle-fashion6-hero__dots,
html:root body:not(.customer-auth-page) .avr-functional-hero__dots,
html:root body:not(.customer-auth-page) .avr-clean-hero__dots {
    align-items: center !important;
    display: flex !important;
    gap: var(--avl-carousel-dot-gap) !important;
    justify-content: center !important;
}

html:root body:not(.customer-auth-page) .tp-swiper-dot .swiper-pagination-bullet,
html:root body:not(.customer-auth-page) .tp-swiper-dot-border .swiper-pagination-bullet,
html:root body:not(.customer-auth-page) .swiper-pagination .swiper-pagination-bullet,
html:root body:not(.customer-auth-page) .owl-dots .owl-dot,
html:root body:not(.customer-auth-page) .owl-dots .owl-dot button,
html:root body:not(.customer-auth-page) .owl-dots .owl-dot span,
html:root body:not(.customer-auth-page) .slick-dots li,
html:root body:not(.customer-auth-page) .slick-dots li button,
html:root body:not(.customer-auth-page) .avelle-nurfia-slider__dots span,
html:root body:not(.customer-auth-page) .avelle-fashion6-hero__dots button,
html:root body:not(.customer-auth-page) .avr-functional-hero__dots button,
html:root body:not(.customer-auth-page) .avr-clean-hero__dots button {
    background: var(--avl-carousel-dot-active) !important;
    border: 0 !important;
    border-radius: var(--avl-carousel-dot-radius) !important;
    box-shadow: none !important;
    color: transparent !important;
    cursor: pointer;
    display: block !important;
    flex: 0 0 auto !important;
    font-size: 0 !important;
    height: var(--avl-carousel-dot-height) !important;
    line-height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    opacity: .4 !important;
    outline: 0;
    padding: 0 !important;
    position: relative;
    text-indent: -9999px;
    transition: width .2s ease, background-color .2s ease, opacity .2s ease !important;
    width: var(--avl-carousel-dot-width) !important;
}

html:root body:not(.customer-auth-page) .slick-dots li button::before {
    content: "" !important;
    display: none !important;
}

html:root body:not(.customer-auth-page) .avelle-nurfia-slider__dots span,
html:root body:not(.customer-auth-page) .avelle-fashion6-hero__dots button,
html:root body:not(.customer-auth-page) .avr-functional-hero__dots button,
html:root body:not(.customer-auth-page) .avr-clean-hero__dots button {
    background: var(--avl-carousel-dot-hero-active) !important;
}

html:root body:not(.customer-auth-page) .tp-swiper-dot .swiper-pagination-bullet-active,
html:root body:not(.customer-auth-page) .tp-swiper-dot-border .swiper-pagination-bullet-active,
html:root body:not(.customer-auth-page) .swiper-pagination .swiper-pagination-bullet-active,
html:root body:not(.customer-auth-page) .owl-dots .owl-dot.active,
html:root body:not(.customer-auth-page) .owl-dots .owl-dot.active button,
html:root body:not(.customer-auth-page) .owl-dots .owl-dot.active span,
html:root body:not(.customer-auth-page) .slick-dots li.slick-active,
html:root body:not(.customer-auth-page) .slick-dots li.slick-active button,
html:root body:not(.customer-auth-page) .avelle-nurfia-slider__dots span.is-active,
html:root body:not(.customer-auth-page) .avelle-fashion6-hero__dots button.is-active,
html:root body:not(.customer-auth-page) .avr-functional-hero__dots button[aria-selected="true"],
html:root body:not(.customer-auth-page) .avr-functional-hero__dots button.is-active,
html:root body:not(.customer-auth-page) .avr-clean-hero__dots button[aria-current="true"],
html:root body:not(.customer-auth-page) .avr-clean-hero__dots button.is-active {
    background: var(--avl-carousel-dot-active) !important;
    opacity: 1 !important;
    width: var(--avl-carousel-dot-active-width) !important;
}

html:root body:not(.customer-auth-page) .avelle-nurfia-slider__dots span.is-active,
html:root body:not(.customer-auth-page) .avelle-fashion6-hero__dots button.is-active,
html:root body:not(.customer-auth-page) .avr-functional-hero__dots button[aria-selected="true"],
html:root body:not(.customer-auth-page) .avr-functional-hero__dots button.is-active,
html:root body:not(.customer-auth-page) .avr-clean-hero__dots button[aria-current="true"],
html:root body:not(.customer-auth-page) .avr-clean-hero__dots button.is-active {
    background: var(--avl-carousel-dot-hero-active) !important;
}

html:root body:not(.customer-auth-page) .tp-swiper-dot .swiper-pagination-bullet:focus-visible,
html:root body:not(.customer-auth-page) .tp-swiper-dot-border .swiper-pagination-bullet:focus-visible,
html:root body:not(.customer-auth-page) .swiper-pagination .swiper-pagination-bullet:focus-visible,
html:root body:not(.customer-auth-page) .owl-dots .owl-dot:focus-visible,
html:root body:not(.customer-auth-page) .owl-dots .owl-dot button:focus-visible,
html:root body:not(.customer-auth-page) .slick-dots li button:focus-visible,
html:root body:not(.customer-auth-page) .avelle-fashion6-hero__dots button:focus-visible,
html:root body:not(.customer-auth-page) .avr-functional-hero__dots button:focus-visible,
html:root body:not(.customer-auth-page) .avr-clean-hero__dots button:focus-visible {
    outline: 2px solid var(--avl-carousel-dot-active) !important;
    outline-offset: 4px !important;
}

html:root body#page-auth.customer-auth-page[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control,
html:root body#page-auth.customer-auth-page[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .customer-auth .customer-billing-identity .form-control,
html:root body#page-auth.customer-auth-page[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .customer-auth .customer-billing-identity .form-select {
    background-color: var(--avl-ui-field-bg) !important;
    border: 1px solid var(--avl-ui-field-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--avl-ui-field-color) !important;
    height: 44px !important;
    outline: 0 !important;
}

html:root body#page-auth.customer-auth-page[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control:focus,
html:root body#page-auth.customer-auth-page[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control:focus-visible,
html:root body#page-auth.customer-auth-page[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .customer-auth .customer-billing-identity .form-control:focus,
html:root body#page-auth.customer-auth-page[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .customer-auth .customer-billing-identity .form-select:focus {
    border-color: var(--avl-ui-field-focus-border) !important;
    box-shadow: none !important;
    outline: 0 !important;
}

html:root body#page-auth.customer-auth-page[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .customer-auth .customer-auth__submit {
    border-radius: 10px !important;
}

@media (hover: hover) {
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
        .btn,
        .tp-btn,
        .tp-btn-2,
        .tp-btn-3,
        .tp-btn-border,
        .avl-btn,
        .avelle-button,
        .avelle-account-button,
        .avelle-about__button,
        .avelle-shop-load-more__button,
        .avelle-fashion6-featured-offer__cta,
        .avelle-journal__empty a,
        .avelle-contact__form button,
        .avelle-contact__form input[type="submit"],
        .cartmini__checkout-btn a,
        button[type="submit"],
        input[type="submit"],
        .checkout-page button[type="submit"],
        .checkout-page input[type="submit"],
        .auth-card button[type="submit"],
        .login-form button[type="submit"],
        .register-form button[type="submit"],
        [class$="__button"],
        [class*="__button "],
        [class$="__cta"],
        [class*="__cta "],
        [class$="-button"],
        [class*="-button "]
    ):not(:where(
        .btn-danger,
        .btn-success,
        [class*="whatsapp"],
        [data-avelle-semantic],
        .avelle-product-card--shared *,
        .avelle-catalog-product *,
        .avelle-catalog-card *,
        .avelle-product-card *,
        .avelle-commerce-product-card *,
        .avelle-recommended-product *,
        .avelle-ecomus-related-card *,
        .tp-product-item *,
        .tp-product-item-2 *,
        .tp-product-item-3 *,
        .tp-product-item-4 *,
        .tp-product-item-5 *,
        .theme-product-6 *
    )):hover {
        background: var(--avl-ui-button-hover-bg) !important;
        border-color: var(--avl-ui-button-hover-border) !important;
        color: var(--avl-ui-button-hover-color) !important;
    }

    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
        .avl-icon-btn,
        button[aria-label],
        a[aria-label]:has(:where(svg, .avelle-icon, i)),
        .tp-mobile-item-btn,
        .avelle-contact__social-links a,
        .avelle-footer-register__social a,
        .avelle-footer-register__discovery-social a,
        .pagination .page-link
    ):not(:where(
        [class*="whatsapp"],
        .avelle-upcoming-drop__unlock,
        .avelle-fashion6-products__arrow,
        .tp-main-menu-mobile .dropdown-toggle-btn,
        .avelle-product-card--shared *,
        .avelle-catalog-product *,
        .avelle-catalog-card *,
        .avelle-product-card *,
        .avelle-commerce-product-card *,
        .avelle-recommended-product *,
        .avelle-ecomus-related-card *,
        .tp-product-item *,
        .tp-product-item-2 *,
        .tp-product-item-3 *,
        .tp-product-item-4 *,
        .tp-product-item-5 *,
        .theme-product-6 *,
        .avelle-quantity *,
        .qty-box *,
        .avelle-product-detail__member-voucher-next,
        .avr-functional__nav-toggle,
        .avr-functional__search-close,
        .avr-torque-action__link,
        .avr-torque-action__icon-link,
        .customer-account-topbar *,
        .customer-account-topbar__menu,
        .customer-account-topbar__icon-action,
        .customer-account-topbar__website,
        .customer-account-shell *
    )):hover {
        background: var(--avl-ui-icon-hover-bg) !important;
        border-color: var(--avl-ui-icon-hover-border) !important;
        color: var(--avl-ui-icon-hover-color) !important;
    }

    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] :where(
        .avl-icon-btn,
        button[aria-label],
        a[aria-label]:has(:where(svg, .avelle-icon, i)),
        .tp-mobile-item-btn,
        .avelle-contact__social-links a,
        .avelle-footer-register__social a,
        .avelle-footer-register__discovery-social a,
        .pagination .page-link
    ):hover :where(svg, .avelle-icon, i) {
        color: currentColor !important;
        stroke: currentColor;
    }
}

/* Canonical variants must win over the shared semantic button adapter above. */
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-button--primary {
    background: var(--avl-line) !important;
    border-color: var(--avl-line) !important;
    color: var(--avl-ink) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-button--primary:hover,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-button--primary:focus-visible {
    background: var(--avl-line-2) !important;
    border-color: var(--avl-muted) !important;
    color: var(--avl-ink) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-button--secondary {
    background: var(--avl-bg) !important;
    border-color: var(--avl-line) !important;
    color: var(--avl-ink) !important;
}

/* Homepage utility controls use graphite; the hero CTA intentionally remains black. */
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-section-heading nav button.is-active,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-discovery__filters button.is-active,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-footer-newsletter__form button,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] button[title="Caută"],
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .back-to-top-btn--floating-dark {
    background: var(--avl-line) !important;
    border-color: var(--avl-line) !important;
    color: var(--avl-ink) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-section-heading nav button[data-avelle-product-filter]:not(.is-active):hover,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-section-heading nav button[data-avelle-product-filter]:not(.is-active):focus-visible,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-discovery__filters button:not(.is-active):hover,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-discovery__filters button:not(.is-active):focus-visible,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-footer-newsletter__form button:hover,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-footer-newsletter__form button:focus-visible,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] button[title="Caută"]:hover,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] button[title="Caută"]:focus-visible,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .back-to-top-btn--floating-dark:hover,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .back-to-top-btn--floating-dark:focus-visible {
    background: var(--avl-line-2) !important;
    border-color: var(--avl-line-2) !important;
    color: var(--avl-ink) !important;
}

/* Hero CTAs retain the stronger black action treatment by owner direction. */
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avr-hero .avelle-button--primary {
    background: var(--avl-ink) !important;
    border-color: var(--avl-ink) !important;
    color: var(--avl-bg) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avr-hero .avelle-button--primary:hover,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avr-hero .avelle-button--primary:focus-visible {
    background: var(--avl-line-2) !important;
    border-color: var(--avl-line-2) !important;
    color: var(--avl-ink) !important;
}

/* Product-section filters share one control geometry across both homepage sections. */
html:root body[data-avelle-ui-preset] .avelle-product-section-heading nav button[data-avelle-product-filter],
html:root body[data-avelle-ui-preset] .avelle-product-discovery__filters button {
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 10px !important;
    font-size: 13px;
    line-height: 1.2;
}

@media (max-width: 767.98px) {
    html:root body[data-avelle-ui-preset] .avelle-product-section-heading nav button[data-avelle-product-filter],
    html:root body[data-avelle-ui-preset] .avelle-product-discovery__filters button {
        min-height: 38px;
        padding: 8px 12px;
        font-size: 12px;
    }
}

/* Functional tablet header actions: hover is intentionally chrome-free. */
@media (min-width: 768px) and (max-width: 991.98px) {
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover]:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-icon:is(:hover, :focus-visible),
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover]:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .tp-search-open-btn:is(:hover, :focus-visible),
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover]:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .cartmini-open-btn:is(:hover, :focus-visible) {
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        border-color: transparent !important;
        box-shadow: none !important;
        color: var(--avl-bg) !important;
    }

    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover]:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-icon:is(:hover, :focus-visible) > i,
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover]:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .tp-search-open-btn:is(:hover, :focus-visible) > i,
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover]:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .cartmini-open-btn:is(:hover, :focus-visible) > i {
        color: var(--avl-bg) !important;
    }
}

/* Product filters follow the quiet text-tab treatment used by the Nurfia reference. */
html:root body[data-avelle-ui-preset] .avelle-product-section-heading nav button[data-avelle-product-filter],
html:root body[data-avelle-ui-preset] .avelle-product-discovery__filters button {
    min-height: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: color-mix(in srgb, var(--avl-muted) 55%, var(--avl-bg)) !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    transition: color .15s cubic-bezier(.4, 0, .2, 1), opacity .15s cubic-bezier(.4, 0, .2, 1);
}

html:root body[data-avelle-ui-preset] .avelle-product-section-heading nav button[data-avelle-product-filter]:is(:hover, :focus-visible, .is-active, [aria-selected="true"], [aria-pressed="true"]),
html:root body[data-avelle-ui-preset] .avelle-product-discovery__filters button:is(:hover, :focus-visible, .is-active, [aria-selected="true"], [aria-pressed="true"]) {
    border: 0 !important;
    background: transparent !important;
    color: color-mix(in srgb, var(--avl-muted) 78%, var(--avl-ink)) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-section-heading nav button[data-avelle-product-filter],
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-discovery__filters button {
    border: 0 !important;
    background: transparent !important;
    color: color-mix(in srgb, var(--avl-muted) 55%, var(--avl-bg)) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-section-heading nav button[data-avelle-product-filter]:is(:hover, :focus-visible, .is-active, [aria-selected="true"], [aria-pressed="true"]),
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-discovery__filters button:is(:hover, :focus-visible, .is-active, [aria-selected="true"], [aria-pressed="true"]) {
    border: 0 !important;
    background: transparent !important;
    color: color-mix(in srgb, var(--avl-muted) 78%, var(--avl-ink)) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-section-heading nav button[data-avelle-product-filter].is-active,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-discovery__filters button.is-active {
    color: var(--avl-ink) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-section-heading nav button[data-avelle-product-filter]:not(.is-active):is(:hover, :focus-visible),
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-discovery__filters button:not(.is-active):is(:hover, :focus-visible) {
    color: color-mix(in srgb, var(--avl-muted) 78%, var(--avl-ink)) !important;
}

html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-section-heading nav button[data-avelle-product-filter]:not(.is-active):hover,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-section-heading nav button[data-avelle-product-filter]:not(.is-active):focus-visible,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-discovery__filters button:not(.is-active):hover,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avelle-product-discovery__filters button:not(.is-active):focus-visible {
    border: 0 !important;
    background: transparent !important;
    color: color-mix(in srgb, var(--avl-muted) 78%, var(--avl-ink)) !important;
}

html:root body[data-avelle-ui-preset] .avelle-product-section-heading nav,
html:root body[data-avelle-ui-preset] .avelle-product-discovery__filters {
    gap: 22px;
}

@media (max-width: 767.98px) {
    html:root body[data-avelle-ui-preset] .avelle-product-section-heading nav,
    html:root body[data-avelle-ui-preset] .avelle-product-discovery__filters {
        gap: 18px;
    }
}

/* Keep the tablet functional-header hover state completely unboxed. */
@media (min-width: 768px) and (max-width: 991.98px) {
    .avr-header.avr-header--functional .avr-icon:hover,
    .avr-header.avr-header--functional .avr-mobile-header-actions .tp-search-open-btn:hover,
    .avr-header.avr-header--functional .avr-mobile-header-actions .cartmini-open-btn:hover {
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        border-color: transparent !important;
        box-shadow: none !important;
        color: var(--avl-bg) !important;
    }

    .avr-header.avr-header--functional .avr-icon:hover > i,
    .avr-header.avr-header--functional .avr-mobile-header-actions .tp-search-open-btn:hover > i,
    .avr-header.avr-header--functional .avr-mobile-header-actions .cartmini-open-btn:hover > i {
        color: var(--avl-bg) !important;
    }
}

/* The text-tab treatment needs a tighter handoff into the recommended cards. */
html:root body[data-avelle-ui-preset] .avelle-product-section-heading[data-avelle-recommended-heading] + .avelle-fashion6-products {
    padding-top: 24px !important;
}

@media (max-width: 767.98px) {
    html:root body[data-avelle-ui-preset] .avelle-product-section-heading[data-avelle-recommended-heading] + .avelle-fashion6-products {
        padding-top: 18px !important;
    }
}

/* Avelle mobile functional header controls keep a consistent translucent
   white surface over the hero after the canonical control contract runs. */
@media screen and (max-width: 767.98px) {
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover]:has(.avr-hero--functional) .avr-header.avr-header--functional {
        --avl-ui-icon-bg: rgba(255, 255, 255, .10);
        --avl-ui-icon-hover-bg: transparent;
        --avl-ui-icon-hover-border: transparent;
        --avl-ui-icon-hover-color: var(--avl-bg);
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-icon,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .tp-search-open-btn,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .cartmini-open-btn,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action__icon-link {
        background: rgba(255, 255, 255, .10) !important;
        background-color: rgba(255, 255, 255, .10) !important;
        color: var(--avl-bg) !important;
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-icon:hover,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .tp-search-open-btn:hover,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .cartmini-open-btn:hover,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action__icon-link:hover {
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        border-color: transparent !important;
        box-shadow: none !important;
        color: var(--avl-bg) !important;
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-icon > i,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .tp-search-open-btn > i,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-actions .cartmini-open-btn > i,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action__icon-link > i {
        color: var(--avl-bg) !important;
    }
}

/* Desktop functional account dropdown: keep guest helper copy readable and
   keep the trigger chevron aligned with the white over-hero header. */
@media screen and (min-width: 992px) {
    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover]:has(.avr-hero--functional) .avr-header.avr-header--functional {
        --avl-ui-icon-color: var(--avl-bg);
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-account-dropdown--guest p,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-account-dropdown--guest > span {
        color: var(--avl-ink) !important;
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-account-dropdown {
        background: var(--avr-surface) !important;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-account-dropdown li a,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-account-dropdown li a:hover,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-account-dropdown li a:focus-visible {
        color: var(--avl-ink) !important;
    }

    /* Sticky header contrast must not bleed into the black guest CTA. */
    html:root body:has(.avr-hero--functional) #header-sticky.header-sticky .avr-torque-account-dropdown__button,
    html:root body:has(.avr-hero--functional) #header-sticky.header-sticky .avr-torque-account-dropdown__button:hover,
    html:root body:has(.avr-hero--functional) #header-sticky.header-sticky .avr-torque-account-dropdown__button:focus-visible {
        color: var(--avr-surface) !important;
        background: var(--avr-ink) !important;
    }

    html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover]:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action--account .avr-torque-action__link > i {
        color: var(--avl-bg) !important;
    }

    /* Desktop functional-header Wishlist and cart controls use the same
       translucent 10% frame as the search control. Hover removes only the
       frame; the white icon remains available against the hero. */
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action--wishlist .avr-torque-action__icon-link,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action--cart .avr-torque-action__cart-icon {
        box-sizing: border-box;
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, .36) !important;
        border-radius: 8px;
        background: rgba(255, 255, 255, .10) !important;
        color: var(--avl-bg) !important;
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-wrapper:not(.is-expanded) {
        border: 1px solid rgba(255, 255, 255, .36) !important;
        background: rgba(255, 255, 255, .10) !important;
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action--wishlist .avr-torque-action__icon-link > svg,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action--wishlist .avr-torque-action__icon-link > i,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action--cart .avr-torque-action__cart-icon > svg,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action--cart .avr-torque-action__cart-icon > i {
        width: 20px !important;
        height: 20px !important;
        font-size: 20px !important;
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action--wishlist .avr-torque-action__icon-link:hover,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action--cart:hover .avr-torque-action__cart-icon,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-wrapper:not(.is-expanded):hover {
        border-color: transparent !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-wrapper:not(.is-expanded):hover .tp-header-search-btn button,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-wrapper:not(.is-expanded):hover .tp-header-search-btn button > svg,
    html:root body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-wrapper:not(.is-expanded):hover .tp-header-search-btn button > i {
        background: transparent !important;
        border-color: transparent !important;
        color: var(--avl-bg) !important;
    }
}
/* Final cascade for the open Nurfia-style catalog rail. */
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter {
    border-bottom: 1px solid var(--avl-line) !important;
    margin: 0 0 26px !important;
    padding: 0 0 18px !important;
}
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-title {
    border-bottom: 1px solid var(--avl-line) !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
    margin-bottom: 0 !important;
    padding-bottom: 11px !important;
    text-transform: uppercase !important;
}
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-items {
    gap: 0 !important;
}
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-item {
    border-bottom: 1px solid var(--avl-line) !important;
    min-height: 42px !important;
}
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-item:last-child {
    border-bottom: 0 !important;
}
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-link {
    color: var(--avl-ink) !important;
    font-size: 14px !important;
    min-height: 42px !important;
    padding: 0 !important;
}
html:root .avelle-multikart-collection .collection-filter-block .avelle-filter-count-badge {
    color: var(--avl-muted) !important;
    font-size: 11px !important;
    min-width: 22px !important;
}
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter-item > button {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--avl-muted) !important;
    height: 32px !important;
    padding: 0 !important;
    width: 28px !important;
}

/* Nurfia category tree: checkbox list, no counts or decorative icons. */
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories {
    margin-bottom: 34px;
    padding-bottom: 0;
    border-bottom: 0;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-title {
    margin-bottom: 12px;
    padding-bottom: 0;
    border-bottom: 0;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -.02em;
    text-transform: none;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-items {
    display: flex;
    flex-direction: column;
    gap: 0;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    min-height: 32px;
    border-bottom: 0;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-link {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 10px;
    min-height: 32px;
    padding: 0;
    color: var(--avl-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-link:hover,
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-link.active {
    color: var(--avl-ink);
    background: transparent;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .form-check-input {
    appearance: none;
    display: inline-block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    border: 1px solid var(--avl-line);
    background: var(--avl-surface);
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-link .form-check-input:checked {
    border-color: var(--avl-ink);
    box-shadow: inset 0 0 0 3px #fff;
    background: var(--avl-ink);
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > .bb-product-filter-items {
    display: none;
    flex: 0 0 calc(100% - 26px);
    margin: 0 0 4px 26px;
    padding: 0;
    width: calc(100% - 26px);
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > .bb-product-filter-items.active {
    display: flex;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > button {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    width: 16px !important;
    height: 28px !important;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--avl-muted);
    background: transparent;
    font-size: 10px !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > button .avelle-category-toggle-icon {
    align-items: center;
    display: inline-flex;
    height: 10px;
    justify-content: center;
    width: 10px;
    font-size: 10px;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > button .avelle-category-toggle-icon > svg,
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > button .avelle-category-toggle-icon > i {
    height: 10px !important;
    width: 10px !important;
    font-size: 10px !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > button .avelle-category-toggle-icon--minus,
html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > button.active .avelle-category-toggle-icon--plus {
    display: none !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > button.active .avelle-category-toggle-icon--minus {
    display: inline-flex !important;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--categories .bb-product-filter-item--category > button:hover {
    color: var(--avl-ink);
    background: transparent;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price {
    margin-top: 12px;
    padding-bottom: 0;
    border-bottom: 0;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .bb-product-filter-title {
    margin-bottom: 12px;
    padding: 0;
    border: 0;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -.02em;
    text-transform: none;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .price-slider {
    height: 4px;
    margin: 0 7px 20px;
    border: 0;
    border-radius: 999px;
    background: var(--avl-line);
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .price-slider .ui-slider-range {
    border-radius: 999px;
    background: var(--avl-ink);
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .price-slider .ui-slider-handle {
    top: 50%;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 -7px;
    border: 2px solid var(--avl-ink);
    border-radius: 50%;
    background: var(--avl-surface);
    cursor: grab;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .avelle-price-filter-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .avelle-price-filter-fields input {
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--avl-line);
    border-radius: var(--avl-radius-sm);
    background: var(--avl-surface);
    color: var(--avl-ink);
    font: inherit;
    font-size: 14px;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .avelle-price-filter-fields input:focus {
    border-color: var(--avl-ink);
    outline: 0;
    box-shadow: none;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .bb-product-price-filter-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .input-range-label {
    color: var(--avl-muted);
    font-size: 14px;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .avelle-price-filter-submit {
    min-height: 40px;
    padding: 8px 16px;
    border: 1px solid var(--avl-line);
    border-radius: var(--avl-radius-sm);
    background: var(--avl-soft);
    color: var(--avl-ink);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
}

html:root .avelle-multikart-collection .collection-filter-block .bb-product-filter--price .avelle-price-filter-submit:hover {
    border-color: var(--avl-ink);
    background: var(--avl-ink);
    color: var(--avl-surface);
}

/* Keep the filter rail and catalog hero visually separated from the page title. */
html:root .avelle-multikart-collection {
    padding-top: 32px !important;
}

@media (max-width: 991px) {
    html:root .avelle-multikart-collection {
        padding-top: 24px !important;
    }
}

/* Keep catalog filter controls vertically centered inside their toolbar. */
html:root .avelle-multikart-collection .product-top-filter {
    padding: 10px 18px !important;
}

@media (max-width: 991.98px) {
    html:root .avelle-multikart-collection .product-top-filter {
        padding: 10px 12px !important;
    }
}

/* Torque breadcrumb contract: one reusable nav/list structure on every Avelle route. */
html:root .shoper-breadcrumb {
    margin: 0 0 15px;
}

html:root .shoper-breadcrumb ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

html:root .shoper-breadcrumb ul li {
    align-items: center;
    color: var(--avl-muted);
    display: inline-flex;
    font-family: var(--avl-font-body);
    font-size: 12px;
    line-height: 1.4;
    position: relative;
}

html:root .shoper-breadcrumb ul li:not(:last-child)::after {
    color: var(--avl-muted);
    content: '›';
    font-size: 14px;
    margin: 0 8px;
}

html:root .shoper-breadcrumb ul li a {
    color: var(--avl-muted);
    text-decoration: none;
    transition: color .2s ease;
}

html:root .shoper-breadcrumb ul li a:hover,
html:root .shoper-breadcrumb ul li a:focus-visible {
    color: var(--avl-ink);
}

html:root .shoper-breadcrumb ul li:last-child span {
    color: var(--avl-ink);
}

html:root body.customer-auth-page .customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control,
html:root body.customer-auth-page .customer-auth .customer-billing-identity .form-control,
html:root body.customer-auth-page .customer-auth .customer-billing-identity .form-select {
    background-color: var(--avl-ui-field-bg) !important;
    border: 1px solid var(--avl-ui-field-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--avl-ui-field-color) !important;
    height: 44px !important;
    outline: 0 !important;
}

html:root body.customer-auth-page .customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control:focus,
html:root body.customer-auth-page .customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control:focus-visible,
html:root body.customer-auth-page .customer-auth .customer-billing-identity .form-control:focus,
html:root body.customer-auth-page .customer-auth .customer-billing-identity .form-select:focus {
    border-color: var(--avl-ui-field-focus-border) !important;
    box-shadow: none !important;
    outline: 0 !important;
}

html:root body.customer-auth-page .customer-auth .customer-auth__submit {
    border-radius: 10px !important;
}
