/* ============================================================
   cart26.css — стили корзины дизайн 26
   Подключать ПОСЛЕ style2024.css
   ============================================================ */

/* --- Глобальный сброс внутри cart-container --- */
.cart-container.cn-scope,
.cart-container.cn-scope *,
.cart-container.cn-scope *::before,
.cart-container.cn-scope *::after { box-sizing: border-box; }

/* --- Сброс style2024.css конфликтов --- */
/* style2024 задаёт .cart-container {display:flex; justify-content:space-between} */
.cart-container.cn-scope{display:block!important;justify-content:initial!important;gap:initial!important;margin-bottom:0!important;min-height:calc(100vh - 200px);}
/* style2024 задаёт .cart-container input: border,border-radius:16px,height:44px,padding */
.cart-container.cn-scope input,
.cart-container.cn-scope textarea{border:none!important;border-radius:0!important;height:auto!important;padding:0!important;outline:none!important;background:transparent!important;box-shadow:none!important;}
.cart-container.cn-scope .cart-product-row{margin-bottom:0!important;}
.cart-container.cn-scope .item-counter{position:static!important;left:auto!important;bottom:auto!important;width:auto!important;height:auto!important;margin:0!important;border:none!important;background:transparent!important;}
.cart-container.cn-scope .select-checkbox{margin-right:0!important;margin-top:0!important;}
.cart-container.cn-scope .delete-btn{padding:0!important;background:transparent!important;border:none!important;cursor:pointer!important;}
.cart-container.cn-scope .delete-btn svg{fill:#ccc!important;transition:fill .3s!important;}
.cart-container.cn-scope .delete-btn:hover svg{fill:#333!important;}
.cart-container.cn-scope .select-all-btn{border:none!important;background:transparent!important;}
.cart-container.cn-scope .cart-products-wrapper{padding:0!important;margin:0!important;}
.cart-container.cn-scope .copy-btn{background:transparent!important;border:none!important;}
.cart-container.cn-scope .delete-selected-btn{background:transparent!important;border:none!important;}
.cart-container.cn-scope input[type="hidden"]{display:none!important;}
.cart-container.cn-scope input[type="radio"]{display:none!important;}

/* --- Чекбоксы --- */
.cart-container.cn-scope input[type="checkbox"]{
    width:18px!important;height:18px!important;padding:0!important;margin:0!important;
    border:1.5px solid #ccc!important;border-radius:6px!important;background:#fff!important;
    cursor:pointer!important;position:relative!important;display:inline-block!important;
    vertical-align:middle!important;flex-shrink:0!important;
    transition:background .2s,border-color .2s!important;
    -webkit-appearance:none!important;appearance:none!important;
}
.cart-container.cn-scope input[type="checkbox"]:checked{
    background:#705ABF!important;border-color:#705ABF!important;
}
.cart-container.cn-scope input[type="checkbox"]:checked::after{
    content:''!important;position:absolute!important;top:50%!important;left:50%!important;
    width:5px!important;height:9px!important;border:solid #fff!important;
    border-width:0 2px 2px 0!important;transform:translate(-50%,-60%) rotate(45deg)!important;
    display:block!important;
}

/* --- Счётчик количества --- */
.cart-container.cn-scope .ci__qty{
    display:flex!important;align-items:center!important;
    background:#f5f5f7!important;border-radius:100px!important;padding:2px 4px!important;
}
.cart-container.cn-scope .ci__qty input{
    width:30px!important;height:30px!important;text-align:center!important;
    font-size:16px!important;font-weight:700!important;color:#222!important;
    background:transparent!important;border:none!important;
    -moz-appearance:textfield!important;
}
.cart-container.cn-scope .ci__qty input::-webkit-inner-spin-button,
.cart-container.cn-scope .ci__qty input::-webkit-outer-spin-button{
    -webkit-appearance:none!important;margin:0!important;
}
.cart-container.cn-scope .ci__qty button{
    width:30px!important;height:30px!important;border:none!important;background:transparent!important;
    cursor:pointer!important;font-size:18px!important;color:#222!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    transition:color .15s!important;border-radius:50%!important;padding:0!important;box-shadow:none!important;
}
.cart-container.cn-scope .ci__qty button:hover{
    color:#000!important;background:rgba(0,0,0,.06)!important;
}

/* --- Попап: инпуты формы --- */
.cart-container.cn-scope .m-inp{
    border:1px solid #e0e0e0!important;border-radius:10px!important;padding:12px 14px!important;
    font-size:15px!important;color:#222!important;background:#fff!important;height:auto!important;
    font-family:inherit!important;width:100%!important;transition:border-color .2s!important;
    -webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;
}
.cart-container.cn-scope .m-inp:focus{
    border-color:#705ABF!important;box-shadow:0 0 0 3px rgba(112,90,191,.1)!important;
}
.cart-container.cn-scope .m-inp::placeholder{color:#bbb!important;}
.cart-container.cn-scope .m-date-wrap .m-inp{padding-right:40px!important;cursor:pointer!important;}


/* ====== Layout ====== */
.page-wrap {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 0 0 40px;
}
.cart-left { flex: 1; min-width: 0; }
.cart-right {
    width: 320px;
    flex-shrink: 0;
    position: sticky;
    top: 130px;
    margin-left: auto;
}

/* Заголовок */
.cart-header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 16px;
}
.cart-header__title {
    font-size: 28px;
    font-weight: 700;
    color: #1d1d1f;
}
.cart-header__title-wrap {
    position: relative;
    display: inline-block;
}
.cart-header__badge {
    position: absolute;
    top: -5px;
    right: -17px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #705ABF;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Тулбар */
.cart-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 10px 0;
    margin-bottom: 4px;
    border-bottom: 1px solid #eee;
}
.cart-toolbar__left-wrap {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.cart-toolbar__left {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
}
.cart-toolbar__right {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #999;
    cursor: pointer;
    position: relative;
}
.cart-toolbar__right:hover { color: #666; }
.cart-toolbar__delete {
    display: none;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #e5484d;
    cursor: pointer;
}
.cart-toolbar__delete:hover { color: #cd2b31; }
.cart-toolbar__delete svg { width: 16px; height: 16px; fill: currentColor; }
.cart-toolbar__delete.visible { display: inline-flex; }

/* Тултип «Скопировано» */
.cart-toolbar__right .copy-info-text {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,.1);
    padding: 10px 16px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s, transform .25s, visibility .25s;
    pointer-events: none;
    z-index: 10;
}
.cart-toolbar__right .copy-info-text.show {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.cart-toolbar__right .copy-info-text .title {
    font-size: 14px;
    font-weight: 600;
    color: #222;
}
.cart-toolbar__right .copy-info-text .text {
    font-size: 11px;
    color: #999;
}

/* ====== Товар (ci__*) ====== */
.ci { border-bottom: 1px solid #eee; padding: 14px 0; position: relative; }
.ci:last-child { border-bottom: none; }
.ci__main { display: flex; align-items: flex-start; gap: 12px; }
.ci__check { flex-shrink: 0; padding-top: 20px; }
.ci__photo {
    flex-shrink: 0;
    width: 76px; height: 76px;
    border-radius: 10px;
    overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    background: #f5f5f7;
}
.ci__photo img { width: 100%; height: 100%; object-fit: contain; }
.ci__info { flex: 1; min-width: 0; padding-right: 16px; }
.ci__name {
    font-size: 14px; font-weight: 500; color: #222;
    line-height: 1.35; margin-bottom: 2px; display: block;
    text-decoration: none;
}
.ci__name:hover { color: #705ABF; }
.ci__variant { font-size: 12px; color: #777; margin-bottom: 2px; }
.ci__mode {
    font-size: 12px; color: #705ABF; font-weight: 500;
    display: inline-flex; align-items: center; gap: 3px;
    background: rgba(112,90,191,.08); padding: 1px 7px;
    border-radius: 5px; margin-top: 2px;
}
.ci__extras { margin-top: 4px; display: flex; flex-wrap: wrap; gap: 4px; }
.ci__extra {
    font-size: 11px; color: #888;
    background: #f5f5f7; padding: 2px 6px; border-radius: 4px;
}
.ci__right { flex-shrink: 0; display: flex; align-items: flex-start; gap: 16px; }
.ci__price-block { text-align: left; min-width: 90px; padding-top: 4px; }
.ci__price { font-size: 17px; font-weight: 700; color: #222; white-space: nowrap; }
.ci__qty-block { display: flex; flex-direction: column; align-items: center; }
.ci__qty {
    display: flex; align-items: center;
    background: #f5f5f7; border-radius: 100px; padding: 2px 4px;
}
.ci__qty button {
    width: 30px; height: 30px; border: none; background: transparent;
    cursor: pointer; font-size: 18px; color: #222;
    display: flex; align-items: center; justify-content: center;
    transition: color .15s; border-radius: 50%;
}
.ci__qty button:hover { color: #000; background: rgba(0,0,0,.06); }
.ci__qty input {
    width: 30px; height: 30px; border: none;
    text-align: center; font-size: 16px; font-weight: 700;
    background: transparent; color: #222;
    -moz-appearance: textfield;
}
.ci__qty input::-webkit-inner-spin-button,
.ci__qty input::-webkit-outer-spin-button { -webkit-appearance: none; }
.ci__unit-price { font-size: 11px; color: #999; margin-top: 4px; white-space: nowrap; }
.ci__btns { display: flex; align-items: center; gap: 2px; padding-top: 2px; }
.ci__btn {
    width: 32px; height: 32px; border: none; background: transparent;
    border-radius: 50%; cursor: pointer; display: flex;
    align-items: center; justify-content: center; transition: background .2s;
}
.ci__btn:hover { background: #f5f5f5; }
.ci__btn svg { width: 20px; height: 20px; }
.ci__btn--del svg { fill: #ccc; }
.ci__btn--del:hover svg { fill: #333; }

/* ====== Доп. опции (extras) ====== */
.ci__extras {
    display: block;
    padding: 8px 0 0 0;
    /* Выравнивание с ci__info: чекбокс(18px) + gap(12px) + фото(76px) + gap(12px) */
    margin-left: 118px;
}
.ci__extras-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 600;
    color: #222;
    cursor: pointer;
    user-select: none;
    padding: 2px 0;
}
.ci__extras-toggle svg {
    width: 10px;
    height: 6px;
    transition: transform .25s;
}
.ci__extras-toggle.collapsed svg { transform: rotate(0deg); }
.ci__extras-toggle.expanded svg { transform: rotate(180deg); }
.ci__extras-scroll-wrap {
    position: relative;
    margin-top: 8px;
}
.ci__extras-list {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
    scroll-behavior: smooth;
}
.ci__extras-list::-webkit-scrollbar { display: none; }
.ci__extras-arrow {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    background: #fff;
    box-shadow: 0 1px 6px rgba(0,0,0,.18);
    color: #222;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    transition: opacity .2s, background .2s;
}
.ci__extras-arrow:hover { background: #f0f0f0; }
.ci__extras-arrow--left { left: -10px; }
.ci__extras-arrow--right { right: -10px; }
.ci__extras-scroll-wrap:hover .ci__extras-arrow.visible { display: flex; }
/* Карточка доп. опции — сетка 2x2 */
.ci__extra-card {
    display: grid;
    grid-template-columns: 44px 1fr;
    grid-template-rows: 1fr auto;
    gap: 0 8px;
    background: #f5f5f7;
    border: none;
    border-radius: 8px;
    padding: 8px 10px;
    min-width: 195px;
    min-height: 60px;
    flex-shrink: 0;
    position: relative;
}
.ci__extra-card__img {
    grid-row: 1 / 3;
    grid-column: 1;
    width: 44px;
    height: 44px;
    border-radius: 6px;
    object-fit: cover;
    background: #fff;
    align-self: start;
}
.ci__extra-card__name {
    grid-row: 1;
    grid-column: 2;
    font-size: 12px;
    color: #333;
    line-height: 1.3;
    align-self: start;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ci__extra-card__bottom {
    grid-row: 2;
    grid-column: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    align-self: end;
}
.ci__extra-card__price {
    font-size: 13px;
    font-weight: 700;
    color: #222;
    white-space: nowrap;
    margin-left: 8px;
}
/* Кнопка удаления inline-extra */
.ci__extra-card__del {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    border: none;
    background: rgba(0,0,0,.08);
    border-radius: 50%;
    font-size: 14px;
    line-height: 1;
    color: #999;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background .2s, color .2s;
}
.ci__extra-card__del:hover {
    background: rgba(0,0,0,.15);
    color: #333;
}
/* Мини-счётчик для доп. опций */
.ci__extra-card__qty {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 100px;
    padding: 1px 2px;
    flex-shrink: 0;
}
.ci__extra-card__qty button {
    width: 22px;
    height: 22px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 13px;
    color: #222;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .15s;
    border-radius: 50%;
    padding: 0;
}
.ci__extra-card__qty button:hover {
    color: #000;
    background: rgba(0,0,0,.06);
}
.ci__extra-card__qty input {
    width: 22px;
    height: 22px;
    border: none;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    background: transparent;
    color: #222;
    -moz-appearance: textfield;
    padding: 0;
}
.ci__extra-card__qty input::-webkit-inner-spin-button,
.ci__extra-card__qty input::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Сброс style2024 для инпутов/кнопок внутри extra-card */
.cart-container.cn-scope .ci__extra-card__qty{
    display:flex!important;align-items:center!important;
    background:#fff!important;border-radius:100px!important;padding:1px 2px!important;
}
.cart-container.cn-scope .ci__extra-card__qty input{
    width:22px!important;height:22px!important;text-align:center!important;
    font-size:12px!important;font-weight:700!important;color:#222!important;
    background:transparent!important;border:none!important;
    -moz-appearance:textfield!important;padding:0!important;
}
.cart-container.cn-scope .ci__extra-card__qty input::-webkit-inner-spin-button,
.cart-container.cn-scope .ci__extra-card__qty input::-webkit-outer-spin-button{
    -webkit-appearance:none!important;margin:0!important;
}
.cart-container.cn-scope .ci__extra-card__qty button{
    width:22px!important;height:22px!important;border:none!important;background:transparent!important;
    cursor:pointer!important;font-size:13px!important;color:#222!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    transition:color .15s!important;border-radius:50%!important;padding:0!important;box-shadow:none!important;
}
.cart-container.cn-scope .ci__extra-card__qty button:hover{
    color:#000!important;background:rgba(0,0,0,.06)!important;
}
.cart-container.cn-scope .ci__extra-card__del{
    position:absolute!important;top:2px!important;right:2px!important;
    width:18px!important;height:18px!important;border:none!important;
    background:rgba(0,0,0,.08)!important;border-radius:50%!important;
    font-size:14px!important;line-height:1!important;color:#999!important;
    cursor:pointer!important;display:flex!important;align-items:center!important;
    justify-content:center!important;padding:0!important;
    transition:background .2s,color .2s!important;box-shadow:none!important;
}
.cart-container.cn-scope .ci__extra-card__del:hover{
    background:rgba(0,0,0,.15)!important;color:#333!important;
}

/* ====== Правая колонка ====== */
.cart-summary { background: #f5f5f7; border-radius: 12px; padding: 24px; }
.cart-summary__row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 20px; }
.cart-summary__label { font-size: 18px; font-weight: 400; color: #222; }
.cart-summary__total { font-size: 28px; font-weight: 700; color: #222; }
.cart-summary__btn {
    display: block; width: 100%; padding: 16px; border: none;
    border-radius: 12px; background: #705ABF; font-size: 16px;
    font-weight: 600; color: #fff; cursor: pointer; text-align: center;
    transition: transform .2s, box-shadow .2s, background .3s;
    box-shadow: 0 4px 16px rgba(112,90,191,.25);
    position: relative; overflow: hidden; font-family: inherit;
}
.cart-summary__btn::before {
    content: ''; position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.05) 75%, transparent);
    opacity: 0; transition: opacity 1.83s ease-out;
    pointer-events: none; border-radius: inherit;
}
.cart-summary__btn:hover::before { opacity: 1; }
.cart-summary__btn:hover { transform: translateY(-1px); box-shadow: 0 6px 24px rgba(112,90,191,.35); }
.cart-summary__btn:active { transform: translateY(0); box-shadow: 0 2px 8px rgba(112,90,191,.2); }

.cart-note {
    margin-top: 16px; background: rgba(112,90,191,.06);
    border-radius: 10px; padding: 14px 16px;
    display: flex; gap: 10px; align-items: flex-start;
}
.cart-note__icon { flex-shrink: 0; width: 18px; height: 18px; margin-top: 1px; }
.cart-note__text p { font-size: 14px; color: #555; line-height: 1.6; margin-bottom: 4px; }
.cart-note__text p:last-child { margin-bottom: 0; }
.cart-note__text p:first-child { font-weight: 500; color: #333; }

/* ====== Стили попапа ====== */
.m-inp{width:100%;padding:12px 14px;border:1px solid #e0e0e0!important;border-radius:10px!important;font-size:15px;color:#222;background:#fff;transition:border-color .2s!important;box-sizing:border-box;font-family:inherit;height:auto!important;-webkit-appearance:none;appearance:none;}
.m-inp:focus{outline:none;border-color:#705ABF!important;box-shadow:0 0 0 3px rgba(112,90,191,.1);}
.m-inp::placeholder{color:#bbb;}
.m-lbl{display:block;font-size:13px;color:#888;margin-bottom:6px;}
.m-field{margin-bottom:16px;}
.m-toggle{display:flex;background:#f5f5f7;border-radius:10px;padding:4px;}
.m-toggle-btn{flex:1;padding:10px 0;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#888;cursor:pointer;transition:all .2s;text-align:center;font-family:inherit;}
.m-toggle-btn.active{background:#fff;color:#1d1d1f;font-weight:600;box-shadow:0 1px 4px rgba(112,90,191,.15);}
.m-submit{display:block;width:100%;padding:16px;border:none;border-radius:12px;background:#705ABF;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,background .3s;margin-top:24px;box-shadow:0 4px 16px rgba(112,90,191,.25);position:relative;overflow:hidden;font-family:inherit;height:auto!important;}
.m-submit::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.05) 75%,transparent);opacity:0;transition:opacity 1.83s ease-out;pointer-events:none;border-radius:inherit;}
.m-submit:hover::before{opacity:1;}
.m-submit:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(112,90,191,.35);}
.m-submit:active{transform:translateY(0);box-shadow:0 2px 8px rgba(112,90,191,.2);}
.m-date-wrap{position:relative;}
.m-date-wrap .m-inp{padding-right:40px!important;cursor:pointer;}
.m-date-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:#bbb;}
.air-datepicker-global-container{z-index:1100!important;}
#orderOverlay .m-inp{box-sizing:border-box;}
.m-error{display:none;align-items:center;gap:6px;font-size:12px;color:#F25757;margin-top:6px;}
.m-error.show{display:flex;}

/* Окно «Спасибо» */
.cn-success-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1100;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;}
.cn-success-overlay.show{opacity:1;visibility:visible;}
.cn-success-overlay.fade-out{opacity:0;}
.cn-success{text-align:center;background:#fff;border-radius:20px;padding:40px 36px 36px;max-width:340px;width:calc(100% - 32px);box-shadow:0 16px 48px rgba(0,0,0,.12);transform:scale(.85) translateY(20px);transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.cn-success-overlay.show .cn-success{transform:scale(1) translateY(0);}
.cn-success-overlay.fade-out .cn-success{transform:scale(.92) translateY(-10px);}
.cn-success__icon{margin-bottom:16px;}
.cn-success__icon svg{animation:successCheck .5s .15s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes successCheck{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.cn-success__title{font-size:20px;font-weight:700;color:#1d1d1f;margin-bottom:6px;}
.cn-success__text{font-size:14px;color:#999;line-height:1.5;}

/* Пустая корзина */
.cart-empty { text-align: center; padding: 60px 0; font-size: 16px; color: #999; }

/* ====== Адаптив ====== */
@media (max-width: 900px) {
    .page-wrap { flex-direction: column; align-items: stretch; gap: 20px; }
    .cart-right { max-width: 420px; width: 100%; margin-left: auto; margin-right: auto; position: static; flex-shrink: initial; }
}
@media (max-width: 768px) {
    .cart-header__title { font-size: 22px; }
    .cart-header__badge { width: 14px; height: 14px; font-size: 9px; }
    .ci__main {
        display: grid;
        grid-template-columns: 18px 56px 1fr;
        grid-template-rows: auto auto;
        gap: 0 10px; align-items: start;
    }
    .ci__check { grid-column: 1; grid-row: 1 / 3; padding-top: 16px; }
    .ci__photo { grid-column: 2; grid-row: 1 / 3; width: 56px; height: 56px; border-radius: 8px; align-self: start; }
    .ci__info { grid-column: 3; grid-row: 1; padding-right: 32px; }
    .ci__right {
        grid-column: 3; grid-row: 2; display: flex; flex-shrink: initial;
        width: 100%; margin-top: 6px; gap: 0; align-items: center; justify-content: space-between;
    }
    .ci__btns { position: absolute; top: 12px; right: 0; padding: 0; }
    .ci__btn { width: 28px; height: 28px; }
    .ci__btn svg { width: 16px; height: 16px; }
    .ci__qty-block { order: 1; flex-direction: row; align-items: center; gap: 6px; }
    .ci__unit-price { margin-top: 0; font-size: 11px; }
    .ci__price-block { order: 2; min-width: auto; padding-top: 0; }
    .ci__name { font-size: 13px; }
    .ci__price { font-size: 15px; }
    /* Доп. опции — вне ci__main, margin-left подгоняем под мобильную сетку */
    .ci__extras { margin-left: 28px; }
    .ci__extra-card { min-width: 160px; padding: 6px 8px; }
    .ci__extra-card__img { width: 40px; height: 40px; }
    .ci__extra-card__name { font-size: 11px; }
    .ci__qty button { width: 26px; height: 26px; font-size: 15px; }
    .ci__qty input { width: 26px; height: 26px; font-size: 13px; }
    .cart-summary { padding: 18px; border-radius: 12px; }
    .cart-summary__total { font-size: 24px; }
    .cart-summary__btn { padding: 14px; font-size: 15px; border-radius: 10px; }
    .cart-note { padding: 12px 14px; border-radius: 8px; }
    .cart-note__text p { font-size: 12px; }
}
@media (max-width: 480px) {
    .cart-header__title { font-size: 20px; }
    .cart-header { gap: 8px; margin-bottom: 10px; }
    .cart-toolbar { flex-wrap: wrap; gap: 6px; }
    .cart-toolbar__left { font-size: 13px; }
    .cart-toolbar__right { font-size: 12px; }
    .ci__main { grid-template-columns: 18px 48px 1fr; gap: 0 8px; }
    .ci__photo { width: 48px; height: 48px; }
    .ci__price { font-size: 14px; }
    .ci__unit-price { font-size: 10px; }
    .ci__extras { margin-left: 26px; }
    .ci__extra-card { min-width: 145px; grid-template-columns: 36px 1fr; }
    .ci__extra-card__img { width: 36px; height: 36px; }
    .ci__qty button { width: 24px; height: 24px; font-size: 14px; }
    .ci__qty input { width: 24px; height: 24px; font-size: 12px; }
    .cart-summary { padding: 14px; }
    .cart-summary__label { font-size: 16px; }
    .cart-summary__total { font-size: 22px; }
    /* tooltip */
    .cart-toolbar__right .copy-info-text {
        left: auto; right: 0;
        transform: translateY(4px);
    }
    .cart-toolbar__right .copy-info-text.show {
        transform: translateY(0);
    }
}
@media (max-width: 360px) {
    .cart-header__title { font-size: 18px; }
    .ci__main { grid-template-columns: 18px 44px 1fr; }
    .ci__photo { width: 44px; height: 44px; }
    .ci__qty button { width: 22px; height: 22px; }
    .ci__qty input { width: 22px; height: 22px; font-size: 11px; }
    .cart-summary__btn { padding: 12px; font-size: 14px; }
}
