    .feature-cart-add-to-cart--add {
        width: 100%;
    }
    .feature-cart-add-to-cart--row {
        display: flex;
        align-items: stretch;
        gap: var(--spacing-2, 8px);
    }
    .feature-cart-add-to-cart--row > .feature-cart-add-to-cart--status {
        flex: 1;
    }
    .shared-ui-button--btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--spacing-2, 8px);
        box-sizing: border-box;
        border: none;
        border-radius: var(--border-radius-medium, 8px);
        font-family: inherit;
        font-weight: var(--typography-font-weight-semibold, 600);
        cursor: pointer;
        transition: background-color .15s ease, border-color .15s ease, color .15s ease;
    }
    a.shared-ui-button--btn {
        text-decoration: none;
    }
        .shared-ui-button--btn--large {
        height: 48px;
        padding: 0 24px;
        font-size: 16px;
        line-height: 24px;
    }
    .shared-ui-button--btn--medium {
        height: 40px;
        padding: 0 20px;
        font-size: 14px;
        line-height: 21px;
    }
    .shared-ui-button--btn--small {
        height: 32px;
        padding: 0 16px;
        font-size: 13px;
        line-height: 19.5px;
    }

    .shared-ui-button--btn--primary {
        background: var(--color-brand-primary, #145064);
        color: var(--color-surface-background, #fff);
    }
    .shared-ui-button--btn--primary:hover:not(:disabled) {
        background: var(--color-brand-primary-hover, #0e3d4d);
    }
    .shared-ui-button--btn--primary:disabled {
        background: var(--color-surface-border, #c8c9c7);
        color: var(--color-surface-background, #fff);
        cursor: not-allowed;
    }
    .shared-ui-button--btn--success {
        background: var(--color-status-success, #2e7d4f);
        color: var(--color-surface-background, #fff);
    }
    .shared-ui-button--btn--success:hover:not(:disabled) {
        background: var(--color-status-success-hover, #256641);
    }
    .shared-ui-button--btn--success:disabled {
        background: var(--color-surface-border, #c8c9c7);
        color: var(--color-surface-background, #fff);
        cursor: not-allowed;
    }
    .shared-ui-button--btn--secondary {
        background: transparent;
        border: var(--border-width-default, 1px) solid var(--color-brand-primary, #145064);
        color: var(--color-brand-primary, #145064);
    }
    .shared-ui-button--btn--secondary:hover:not(:disabled) {
        border-color: var(--color-brand-primary-hover, #0e3d4d);
        color: var(--color-brand-primary-hover, #0e3d4d);
    }
    .shared-ui-button--btn--secondary:disabled {
        border-color: var(--color-surface-border, #c8c9c7);
        color: var(--color-surface-border, #c8c9c7);
        cursor: not-allowed;
    }
    .shared-ui-button--btn:focus-visible {
        outline: 2px solid var(--color-brand-primary, #145064);
        outline-offset: 2px;
    }
    .layout-cart-button--btn {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: var(--border-radius-medium, 8px);
        background: var(--color-surface-background, #fff);
        text-decoration: none;
    }
    .layout-cart-button--btn:hover {
        background: var(--color-surface-base, #f5f6f6);
    }
    .layout-cart-button--badge {
        position: absolute;
        top: 6px;
        left: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        border-radius: 8px;
        background: var(--color-brand-primary, #145064);
        font-family: inherit;
        font-size: 10px;
        font-weight: var(--typography-font-weight-bold, 700);
        color: var(--color-surface-background, #fff);
    }
    .shared-ui-icon--icon {
        display: inline-block;
        flex-shrink: 0;
        color: inherit;
    }
    .shared-widget-notification--area {
        position: fixed;
        /* 64px — высота шапки, дальше обычный отступ: уведомление висит
           под ней справа и ничего в ней не перекрывает. */
        top: calc(64px + var(--spacing-4, 16px));
        right: var(--spacing-5, 24px);
        z-index: 100;
    }
    .shared-widget-notification--toast {
        display: flex;
        align-items: center;
        gap: var(--spacing-2, 8px);
        box-sizing: border-box;
        max-width: 360px;
        padding: var(--spacing-3, 12px) var(--spacing-4, 16px);
        background: var(--color-surface-background, #fff);
        border: var(--border-width-default, 1px) solid var(--color-surface-border, #c8c9c7);
        border-left: var(--border-width-active, 2px) solid var(--color-status-success, #2e7d4f);
        border-radius: var(--border-radius-medium, 8px);
        box-shadow: 0 4px 16px rgba(26, 29, 31, 0.12);
        cursor: pointer;
        animation: shared-widget-notification--in .18s ease-out;
    }
    @keyframes shared-widget-notification--in {
        from { opacity: 0; transform: translateY(-8px); }
        to   { opacity: 1; transform: none; }
    }
    .shared-widget-notification--toast--success {
        color: var(--color-status-success, #2e7d4f);
    }
    .shared-widget-notification--toast--error {
        border-left-color: var(--color-status-error, #c0392b);
        color: var(--color-status-error, #c0392b);
    }
    .shared-widget-notification--text {
        flex: 1;
        font-family: inherit;
        font-size: var(--typography-font-size-secondary, 14px);
        line-height: var(--typography-line-height-base, 24px);
        font-weight: var(--typography-font-weight-medium, 500);
        color: var(--color-text-main, #1a1d1f);
    }
    .shared-widget-notification--close {
        flex-shrink: 0;
        padding: 0;
        border: none;
        background: transparent;
        font-family: inherit;
        font-size: 20px;
        line-height: 20px;
        color: var(--color-text-secondary, #75787b);
        cursor: pointer;
    }
    .shared-widget-notification--close:hover {
        color: var(--color-text-main, #1a1d1f);
    }
    .shared-widget-quantity--quantity {
        display: inline-flex;
        align-items: center;
        box-sizing: border-box;
        height: 48px;
        width: 114px;
        border: var(--border-width-default, 1px) solid var(--color-surface-border, #c8c9c7);
        border-radius: var(--border-radius-medium, 8px);
        overflow: hidden;
        transition: border-color .15s ease;
    }
    .shared-widget-quantity--quantity:focus-within {
        border-color: var(--color-brand-primary, #145064);
    }
    .shared-widget-quantity--btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 48px;
        padding: 0;
        border: none;
        background: transparent;
        font-family: inherit;
        font-size: 20px;
        line-height: 30px;
        color: var(--color-text-secondary, #75787b);
        cursor: pointer;
    }
    .shared-widget-quantity--btn:hover:not(:disabled) {
        background: var(--color-surface-base, #f5f6f6);
    }
    .shared-widget-quantity--btn:disabled {
        color: var(--color-surface-border, #c8c9c7);
        cursor: not-allowed;
    }
    .shared-widget-quantity--value {
        flex: 1;
        min-width: 0;
        box-sizing: border-box;
        height: 100%;
        padding: 0;
        border: none;
        background: transparent;
        text-align: center;
        font-family: inherit;
        font-size: var(--typography-font-size-body, 16px);
        line-height: var(--typography-line-height-base, 24px);
        font-weight: var(--typography-font-weight-medium, 500);
        color: var(--color-text-main, #1a1d1f);
    }
    .shared-widget-quantity--value:focus {
        outline: none;
    }