.ns-basket-modal :where(h1, h2, h3, h4, h5, h6, p, img, dl, dt, dd) {
    margin: 0;
    padding: 0;
}

/* POSITION */
body:has(.ns-header--tiny) .ns-basket-modal {
    --ns-basket-position-y: var(--ns-header-height--tiny, 0);
}

/* MODAL */
.ns-basket-modal {
    --ns-basket-position-y: var(--ns-header-height);
    --ns-basket-padding-x: 40px;
    --ns-basket-padding-y: 40px;

    display: block;
    width: 590px;
    height: auto;
    background-color: #fff;
    color: #1f2023;
    position: fixed;
    top: var(--ns-basket-position-y, 0);
    right: 0;
    bottom: 0;
    z-index: 20;
    clip-path: inset(0 0 0 -30px);
    box-shadow: 0 0 0 0 rgba(0,0,0, .08);
    transform: translateX(100%);
    transition-property: transform, top, box-shadow;
    transition-duration: .5s;
    transition-timing-function: ease;
    box-sizing: border-box;
    pointer-events: none;
}

.ns-basket-modal.ns-basket-modal--opened {
    transform: translateX(0);
    box-shadow: 0 6px 24px 0 rgba(0,0,0, .08);
    pointer-events: auto;
}

.ns-basket-modal__close {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath stroke='%236A6F75' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m15 25 10-10m-10 0 10 10'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 1;
    cursor: pointer;
}

/* CONTENT */

.ns-basket-modal__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 32px;
    width: 100%;
    height: 100%;
    padding: var(--ns-basket-padding-y) var(--ns-basket-padding-x) 0;
    overflow: hidden auto;
    position: relative;
    box-sizing: border-box;
}

.ns-basket-modal__content-head {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 20px;
}

.ns-basket-modal__content-head-title {
    font-weight: 600;
    font-size: 32px;
    line-height: 1.19;
}

/* FOOTER */
.ns-basket-modal__content-footer {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: calc(100% + var(--ns-basket-padding-x) * 2);
    margin: auto calc(var(--ns-basket-padding-x) * -1) 0;
    position: sticky;
    bottom: 0;
    background-color: #fff;
    box-shadow: 0 0 30px 0 #fff;
    z-index: 10;
}

.ns-basket-modal__calc {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 12px;
    padding: 40px var(--ns-basket-padding-x);
    box-sizing: border-box;
}

.ns-basket-modal__calc-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    font-weight: 500;
    font-size: 16px;
    color: #1f2023;
}

.ns-basket-modal__calc-item dd {
    text-align: right;
    font-weight: 600;
}

.ns-basket-modal__calc-item--big {
    font-size: 20px;
}

.ns-basket-modal__calc-item--big dd {
    font-size: 1.2em;
}

.ns-basket-modal__buttons {
    padding: 24px var(--ns-basket-padding-x);
    box-shadow: 0 0 16px 0 rgba(0,0,0, .12);
    box-sizing: border-box;
}

/* BUTTON PRICE */

.ns-basket-modal__button-price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 70px;
    border-radius: 8px;
    background-color: #e00e1a;
    font-weight: 600;
    font-size: 18px;
    line-height: 1;
    color: #fff;
    text-decoration: none !important;
    padding: 0 20px;
    cursor: pointer;
    user-select: none;
    box-sizing: border-box;
    transition: background-color .2s ease;
}

.ns-basket-modal__button-price:hover {
    background-color: #f01622;
    color: #fff;
}

.ns-basket-modal__button-price-value {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 2px;
}

.ns-basket-modal__button-price-value-old {
    font-weight: 500;
    font-size: .666em;
    text-decoration: line-through;
    color: #ebedf1;
}

.ns-basket-modal__button-price-value-new {
    font-size: 1.11em;
}

/* PRODUCTS */
.ns-basket-modal__content-products {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 24px;
}

.ns-basket-modal__content-products-head {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    font-weight: 500;
    font-size: 16px;
    color: #5a616c;
}

.ns-basket-modal__content-products-head-clear {
    text-align: right;
    color: #111827;
    cursor: pointer;
    user-select: none;
    transition: color .2s ease;
}

.ns-basket-modal__content-products-head-clear:hover {
    color: #f01622;
}

/* PRODUCT LIST */
.ns-basket-modal__content-products-list {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 40px;
}

/* -------------------------------------------- COMPONENTS -------------------------------------------- */

/* BONUS NOTICE */

.ns-bonus-notice {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 16px;
    width: 100%;
    min-height: 64px;
    border-radius: 16px;
    background-image: 
        linear-gradient(rgba(255,124,124, .4) 0 0),
        linear-gradient(123deg, #f00 0%, #fdcf58 100%);
    padding: 20px 24px;
    color: #fff;
    box-shadow: 0 4px 30px 0 rgba(0,0,0, .08);
    box-sizing: border-box;
}

.ns-bonus-notice__accrual,
.ns-bonus-notice__balance {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.ns-bonus-notice__accrual {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.33;
}

.ns-bonus-notice__accrual::after {
    flex-shrink: 0;
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M4 6c0 .796.843 1.559 2.343 2.121S9.878 9 12 9s4.157-.316 5.657-.879S20 6.796 20 6M4 6c0-.796.843-1.559 2.343-2.121S9.878 3 12 3s4.157.316 5.657.879S20 5.204 20 6M4 6v6m16-6v6M4 12c0 .796.843 1.559 2.343 2.121S9.878 15 12 15s4.157-.316 5.657-.879S20 12.796 20 12M4 12v6c0 .796.843 1.559 2.343 2.121S9.878 21 12 21s4.157-.316 5.657-.879S20 18.796 20 18v-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

.ns-bonus-notice__balance {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
}

.ns-bonus-notice__balance > span:last-child {
    text-align: right;
}

/* PRODUCT ITEM */
.ns-basket-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    gap: 20px;
}

.ns-basket-item__main {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
}

.ns-basket-item__main-image {
    flex-shrink: 0;
    width: 94px;
    height: 94px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.ns-basket-item__main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ns-basket-item__main-image-sale {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 24px;
    border-radius: 99px;
    background-color: #e00e1a;
    font-weight: 600;
    font-size: 13px;
    line-height: 138%;
    padding: 0 8px;
    color: #fff;
    position: absolute;
    left: 8px;
    bottom: 8px;
    box-sizing: border-box;
    z-index: 1;
    user-select: none;
}

.ns-basket-item__main-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
}

.ns-basket-item__main-info-title {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.75;
}

.ns-basket-item__main-info-price {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
}

.ns-basket-item__main-info-price-old {
    font-size: .8125em;
    text-decoration: line-through;
    color: #9299a5;
}
    

/* INPUT COUNT */
.ns-input-count {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    user-select: none !important;
}

.ns-input-count__button {
    flex-shrink: 0;
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background-color: #f3f4f6;
    cursor: pointer;
    transition: background-color .2s ease;
}

.ns-input-count__button:hover {
    background-color: #eaecf0;
}

.ns-input-count__button::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

.ns-input-count__button.ns-input-count__button--minus::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' fill='none' viewBox='0 0 40 40'%3E%3Cpath stroke='%235a616c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M25 20H15'/%3E%3C/svg%3E");
}

.ns-input-count__button.ns-input-count__button--clear::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' fill='none' viewBox='0 0 40 40'%3E%3Cpath stroke='%235a616c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m25.834 15.833-.723 10.12A1.667 1.667 0 0 1 23.45 27.5h-6.897c-.874 0-1.6-.676-1.662-1.548l-.723-10.119m4.167 3.334v5m3.333-5v5m.834-8.334v-2.5a.833.833 0 0 0-.834-.833h-3.333a.833.833 0 0 0-.833.833v2.5m-4.167 0h13.333'/%3E%3C/svg%3E");
}

.ns-input-count__button.ns-input-count__button--clear:hover {
    background-color: #ffd9d9;
}

.ns-input-count__button.ns-input-count__button--plus::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' fill='none' viewBox='0 0 40 40'%3E%3Cpath stroke='%235a616c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M20 15v5m0 0v5m0-5h5m-5 0h-5'/%3E%3C/svg%3E");
}

.ns-input-count__input {
    display: block;
    max-width: 100%;
    width: 109px;
    height: 40px;
    border-radius: 10px;
    border: 2px solid #ebedf1 !important;
    background-color: transparent !important;
    cursor: default;
    text-align: center;
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    padding: 0 16px;
    color: #9299a5 !important;
    box-sizing: border-box;
    outline: none !important;
}

.ns-input-count__input::-webkit-inner-spin-button,
.ns-input-count__input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ns-input-count__input {
  -moz-appearance: textfield;
}

.ns-input-count__input {
  appearance: textfield;
}

/* ADDITIONAL */
.ns-basket-item__additional {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 24px;
    width: 100%;
}

.ns-basket-item__additional-toggle {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    align-self: flex-start;
    width: auto;
    height: 40px;
    border-radius: 10px;
    background-color: #f3f4f6;
    gap: 8px;
    font-weight: 500;
    font-size: 15px;
    padding: 0 16px;
    line-height: 1.47;
    color: #1f2023;
    cursor: pointer;
    user-select: none;
    transition: background-color .2s ease;
}

.ns-basket-item__additional-toggle > span {
    pointer-events: none;
}

.ns-basket-item__additional-toggle:hover {
    background-color: #eaecf0;
}

.ns-basket-item__additional-toggle::after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%235a616c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m5 8.333 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transform: rotate(180deg);
    transition: transform .2s ease;
}

.ns-basket-item__additional-toggle--opened::after {
    transform: rotate(0deg);
}

.ns-basket-item__additional-content {
    display: none;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 24px;
}

.ns-basket-item__additional-toggle--opened + .ns-basket-item__additional-content {
    display: flex;
}

/* ADDITIONAL SLIDER */
.ns-basket-item__additional-slider {
    width: 100%;
    position: relative;
}

.ns-basket-item__additional-slider-swiper {
    width: 100%;
}

.ns-basket-item__additional-slider-button {
    display: block;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' fill='none' viewBox='0 0 36 36'%3E%3Cpath stroke='%238a8a8a' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.334 23.334 20.667 18l-5.333-5.333'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    box-shadow: 0 0 12px 0 rgba(0,0,0, .08);
    position: absolute;
    top: 50%;
    transition: 
        background-color .2s ease,
        opacity .2s ease;
    cursor: pointer;
    z-index: 10;
}

.ns-basket-item__additional-slider-button.swiper-button-disabled {
    opacity: 0;
    pointer-events: none;
}

.ns-basket-item__additional-slider-button:hover {
    background-color: #eaecf0;
}

.ns-basket-item__additional-slider-button--prev {
    left: 0;
    transform: translateY(-50%) translateX(-50%) scaleX(-1);
}

.ns-basket-item__additional-slider-button--next {
    right: 0;
    transform: translateY(-50%) translateX(50%);
}

/* ADDITIONAL SLIDER CARD */

.ns-basket-item__additional-card {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 338px;
    background-color: #f6f7f9;
    border-radius: 16px;
    padding: 6px;
    box-sizing: border-box;
    user-select: none;
    cursor: pointer;
    transition: background-color .2s ease;
}

.ns-basket-item__additional-card:hover {
    background-color: #eeeff1;
}

.ns-basket-item__additional-card-image {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    overflow: hidden;
    margin-right: 8px;
}

.ns-basket-item__additional-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ns-basket-item__additional-card-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
}

.ns-basket-item__additional-card-info-title {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.33;
    color: #1f2023;
}

.ns-basket-item__additional-card-info-price {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.43;
    color: #5a616c;
}

.ns-basket-item__additional-card-info-price-old {
    font-size: .9em;
    text-decoration: line-through;
    color: #9299a5;
}

.ns-basket-item__additional-card-add {
    flex-shrink: 0;
    display: block;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' fill='none' viewBox='0 0 36 36'%3E%3Cpath stroke='%235a616c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M18 13v5m0 0v5m0-5h5m-5 0h-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    margin-left: 16px;
    margin-right: 4px;
}

/* ADDED */

.ns-basket-item__added {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 20px;
    border-left: 1px solid #EBEDF1;
    padding: 0 16px;
    box-sizing: border-box;
}

.ns-basket-item__added-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 16px;
    width: 100%;
}

.ns-basket-item__added-card-inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 100%;
}

.ns-basket-item__added-card-image {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    overflow: hidden;
}

.ns-basket-item__added-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ns-basket-item__added-card-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    overflow: hidden;
}

.ns-basket-item__added-card-info-title {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.43;
    color: #1f2023;
}

.ns-basket-item__added-card-info-text {
    max-width: 100%;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.43;
    color: #5a616c;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ns-basket-item__added-card-info-price {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.43;
    color: #5a616c;
}

.ns-basket-item__added-card-info-price-old {
    font-size: .9em;
    text-decoration: line-through;
    color: #9299a5;
}

.ns-basket-item__added-card-buttons {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
}

.ns-basket-item__added-card-button {
    flex-shrink: 0;
    display: block;
    min-width: 32px;
    height: 32px;
    border-radius: 8px;
    background-color: #f3f4f6;
    user-select: none;
    cursor: pointer;
    transition: background-color .2s ease;
}

.ns-basket-item__added-card-button::before {
    flex-shrink: 0;
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

.ns-basket-item__added-card-button:has(span) {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
}

.ns-basket-item__added-card-button span {
    display: inline-block;
    padding-right: 8px;
}

.ns-basket-item__added-card-button:hover {
    background-color: #eaecf1;
}

.ns-basket-item__added-card-button--view::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' fill='none' viewBox='0 0 36 36'%3E%3Cpath stroke='%235a616c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M20.5 18a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0'/%3E%3Cpath stroke='%235a616c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M10.049 18a8.337 8.337 0 0 1 15.904 0 8.337 8.337 0 0 1-15.904 0'/%3E%3C/svg%3E");
}

.ns-basket-item__added-card-button--save::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' fill='none' viewBox='0 0 36 36'%3E%3Cpath stroke='%235a616c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m12.166 18.833 3.333 3.334 8.334-8.334'/%3E%3C/svg%3E");
}

.ns-basket-item__added-card-button--edit::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' fill='none' viewBox='0 0 36 36'%3E%3Cpath fill='%235a616c' d='m24.89 11.11.53-.53zM13.417 25.53v.75a.75.75 0 0 0 .53-.22zm-2.917 0h-.75c0 .414.336.75.75.75zm0-2.976-.53-.53a.75.75 0 0 0-.22.53zM21.944 11.11l.53.53c.52-.52 1.365-.52 1.885 0l.53-.53.531-.53a2.833 2.833 0 0 0-4.007 0zm2.946 0-.53.53c.52.521.52 1.365 0 1.886l.53.53.53.53a2.833 2.833 0 0 0 0-4.006zm0 2.947-.53-.53-11.474 11.472.53.53.531.53L25.42 14.588zM13.417 25.53v-.75H10.5v1.5h2.917zm8.527-14.42-.53-.53L9.97 22.023l.53.53.53.531 11.444-11.443zM10.5 22.554h-.75v2.976h1.5v-2.976zM20.694 12.36l-.53.53 2.945 2.947.53-.53.531-.53-2.946-2.947z'/%3E%3C/svg%3E");
}

.ns-basket-item__added-card-button--delete::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' fill='none' viewBox='0 0 36 36'%3E%3Cpath stroke='%235a616c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m23.834 13.833-.723 10.12A1.667 1.667 0 0 1 21.45 25.5h-6.897c-.874 0-1.6-.676-1.662-1.548l-.723-10.119m4.167 3.334v5m3.333-5v5m.834-8.334v-2.5a.833.833 0 0 0-.834-.833h-3.333a.833.833 0 0 0-.833.833v2.5m-4.167 0h13.333'/%3E%3C/svg%3E");
}

/* ADDED CARD WISH */
.ns-basket-item__added-card--wish .ns-basket-item__added-card-button--save {
    display: none;
}

.ns-basket-item__added-card--wish .ns-basket-item__added-card-edit {
    display: none;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 6px;
    width: 100%;
}

.ns-basket-item__added-card--wish.ns-basket-item__added-card--edit .ns-basket-item__added-card-button--save {
    display: block;
}

.ns-basket-item__added-card--wish.ns-basket-item__added-card--edit .ns-basket-item__added-card-button--edit {
    display: none;
}

.ns-basket-item__added-card--wish.ns-basket-item__added-card--edit .ns-basket-item__added-card-edit {
    display: flex;
}

.ns-basket-item__added-card-button--disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.ns-basket-item__added-card-edit-textarea {
    display: block;
    width: 100%;
    height: 120px;
    min-height: 120px;
    max-height: 200px;
    border: 2px solid #ebedf1;
    background-color: #fff;
    font-family: inherit;
    border-radius: 12px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.44;
    color: #1f2023;
    padding: 14px 16px;
    box-sizing: border-box;
    overflow: hidden auto;
    resize: vertical;
    transition: border-color .2s ease;
}

.ns-basket-item__added-card-edit-textarea:hover {
    border-color: #b7beca;
}

.ns-basket-item__added-card-edit-textarea:focus {
    border-color: #1f2023;
}

.ns-basket-item__added-card-edit-limit {
    display: block;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.38;
    color: #9299a5;
    text-align: right;
    user-select: none;
}

/* PREVIEW */
.ns-basket-item__preview-photo-wrapper {
    position: relative;
}

.ns-basket-item__preview-photo-tooltip {
    display: block;
    width: 300px;
    min-height: 340px;
    background-color: #fff;
    position: absolute;
    left: 50%;
    bottom: 100%;
    opacity: 0;
    transform: translateX(-50%) translateY(0);
    box-shadow: 0 5px 54px 0 rgba(0,0,0, .06);
    pointer-events: none;
    z-index: 1;
    transition: opacity .2s ease, transform .2s ease;
}

.ns-basket-item__preview-photo-wrapper:hover .ns-basket-item__preview-photo-tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(-16px);
}

.ns-basket-item__preview-photo-tooltip-canvas {
    display: block;
    width: 100%;
    height: 100%;
}

/* ADAPTIVE */

@media (max-width: 991px) {
    /* MODAL */
    .ns-basket-modal {
        --ns-basket-padding-x: 20px;
        --ns-basket-padding-y: 24px;

        width: 100%;

    }

    /* CONTENT */
    .ns-basket-modal__content {
        gap: 20px;
    }

    .ns-basket-modal__content-head {
        gap: 24px;
    }

    .ns-basket-modal__content-head-title {
        font-size: 24px;
    }

    /* FOOTER */
    .ns-basket-modal__calc {
        gap: 6px;
        padding: 20px var(--ns-basket-padding-x);
    }

    .ns-basket-modal__calc-item {
        gap: 16px;
        font-size: 14px;
    }

    .ns-basket-modal__calc-item--big {
        font-size: 20px;
    }

    /* BUTTON PRICE */
    .ns-basket-modal__button-price {
        height: 48px;
        font-size: 16px;
        padding: 0 20px;
    }

    .ns-basket-modal__button-price-value-old {
        font-size: .75em;
    }

    .ns-basket-modal__button-price-value-new {
        font-size: 1em;
    }

    /* CONTENT PRODUCTS */
    .ns-basket-modal__content-products {
        gap: 24px;
    }

    .ns-basket-modal__content-products-head {
        gap: 10px;
        font-size: 14px;
    }

    /* BASKET ITEM */
    .ns-basket-item {
        gap: 16px;
    }

    .ns-basket-item__main {
        align-items: flex-start;
    }

    .ns-basket-item__main-image {
        width: 81px;
        height: 94px;
        border-radius: 10px;
        margin-right: 12px;
    }

    .ns-basket-item__main-info {
        gap: 6px;
        margin-right: 0;
    }

    .ns-basket-item__main-info-title {
        font-size: 14px;
    }

    .ns-basket-item__main-info-price {
        font-size: 14px;
    }

    .ns-basket-item__main-info-price-old {
        font-size: .857em;
    }

    
    /* INPUT COUNT */
    .ns-input-count {
        gap: 0;
    }

    .ns-input-count__button {
        width: 32px;
        height: 32px;
        border-radius: 6px;
    }

    .ns-input-count__input {
        width: 32px;
        height: 32px;
        border-radius: 6px;
        border: none !important;
        font-size: 14px;
        padding: 0;
    }

    /* ADDITIONAL */

    .ns-basket-item__additional {
        gap: 24px;
    }

    .ns-basket-item__additional-toggle {
        height: 40px;
        padding: 0 16px;
        font-size: 14px;
    }

    .ns-basket-item__additional-card {
        overflow: hidden;
        width: 260px;
    }

    .ns-basket-item__additional-card-image {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .ns-basket-item__additional-card-info {
        flex: 1;
        gap: 2px;
        overflow: hidden;
    }

    .ns-basket-item__additional-card-info-title {
        display: block;
        width: 100%;
        font-size: 14px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ns-basket-item__additional-card-info-price {
        font-size: 12px;
    }

    .ns-basket-item__additional-card-info-price-old {
        font-size: .857em;
    }

    /* ADDED CARD */
    .ns-basket-item__added-card-button span {
        display: none;
    }

    /* BONUS NOTICE */
    .ns-bonus-notice {
        border-radius: 16px;
        padding: 20px 16px;
    }

    .ns-bonus-notice__accrual {
        font-size: 16px;
    }

    .ns-bonus-notice__balance {
        font-size: 14px;
    }
}