/* ============================================================================
   WALLPAPER 76 — полный редизайн страницы корзины.
   Рабочая логика Impera не изменяется.
============================================================================ */

.wpg76-cart-page{
    max-width:1260px;
    margin:0 auto 44px!important;
    padding:10px 20px 0!important;
    box-sizing:border-box;
}

.wpg76-cart-heading{
    display:flex;
    align-items:center;
    gap:14px;
    margin:18px 0 24px;
}

.wpg76-cart-heading-icon{
    flex:0 0 52px;
    width:52px;
    height:52px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#edf8f0;
    font-size:27px;
}

.wpg76-cart-heading h1{
    margin:0!important;
    color:#172033!important;
    font-size:31px!important;
    line-height:1.2!important;
    font-weight:700!important;
}

.wpg76-cart-heading p{
    margin:4px 0 0!important;
    color:#768399;
    font-size:14px;
}

.wpg76-cart-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 350px;
    gap:24px;
    align-items:start;
}

.wpg76-cart-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:16px;
}

.wpg76-cart-card,
.wpg76-summary-card,
.wpg76-help-card{
    box-sizing:border-box;
    border:1px solid #e1e7ee;
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 28px rgba(25,40,64,.055);
    overflow:hidden;
}

.wpg76-cart-table-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) 160px 105px 120px 36px;
    gap:10px;
    align-items:center;
    min-height:52px;
    padding:0 18px;
    border-bottom:1px solid #e8edf2;
    background:#f8fafb;
    color:#758196;
    font-size:12px;
    font-weight:600;
}

.wpg76-cart-product{
    display:grid;
    grid-template-columns:minmax(0,1fr) 160px 105px 120px 36px;
    gap:10px;
    align-items:center;
    padding:17px 18px;
    border-bottom:1px solid #edf1f5;
}

.wpg76-cart-product:last-child{
    border-bottom:0;
}

.wpg76-cart-product-main{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.wpg76-cart-image{
    flex:0 0 88px;
    width:88px;
    height:88px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #eef1f4;
    border-radius:10px;
    background:#fafbfc;
    overflow:hidden;
}

.wpg76-cart-image img{
    display:block;
    max-width:86px!important;
    max-height:86px!important;
    width:auto!important;
    height:auto!important;
}

.wpg76-cart-product-info{
    min-width:0;
}

.wpg76-cart-name{
    display:block;
    color:#172033!important;
    font-size:14px;
    line-height:1.45;
    font-weight:700;
    text-decoration:none!important;
    overflow-wrap:anywhere;
}

.wpg76-cart-name:hover{
    color:#2f9456!important;
}

.wpg76-cart-product-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 12px;
    margin-top:8px;
    align-items:center;
}

.wpg76-stock{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:2px 8px;
    border-radius:999px;
    background:#edf8f0;
    color:#2f8a4f;
    font-size:11px;
    font-weight:600;
}

.wpg76-defer{
    color:#7d8998!important;
    font-size:11px;
    text-decoration:none!important;
}

.wpg76-defer:hover{
    color:#2f9456!important;
}

.wpg76-cart-qty{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
}

.wpg76-qty-btn{
    width:34px;
    height:36px;
    border:1px solid #dfe5eb;
    border-radius:8px;
    background:#f8fafb;
    color:#334155;
    font-size:20px;
    line-height:1;
    cursor:pointer;
}

.wpg76-qty-btn:hover{
    border-color:#2f9456;
    background:#f1faf4;
    color:#2f9456;
}

.wpg76-qty-input{
    width:54px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 5px!important;
    border:1px solid #dfe5eb!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#172033!important;
    font-size:14px!important;
    font-weight:600!important;
    text-align:center!important;
    box-sizing:border-box!important;
}

.wpg76-cart-unit-price,
.wpg76-cart-line-total{
    color:#172033;
    font-size:14px;
    white-space:nowrap;
}

.wpg76-cart-line-total{
    font-weight:700;
}

.wpg76-cart-remove{
    width:32px;
    height:32px;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#ef7777;
    font-size:26px;
    line-height:30px;
    cursor:pointer;
}

.wpg76-cart-remove:hover{
    background:#fff1f1;
    color:#e85252;
}

.wpg76-cart-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:15px 18px;
    border-top:1px solid #edf1f5;
    background:#fff;
}

.wpg76-cart-actions-right{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-end;
}

.wpg76-action{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:40px;
    box-sizing:border-box;
    padding:8px 14px;
    border:1px solid #dfe5eb;
    border-radius:9px;
    background:#fff;
    color:#5e6b7d!important;
    font-size:12px;
    font-weight:600;
    text-decoration:none!important;
    cursor:pointer;
}

button.wpg76-action{
    font-family:inherit;
}

.wpg76-action:hover{
    border-color:#2f9456;
    color:#2f9456!important;
}

.wpg76-action-primary{
    border-color:#2f9456;
    color:#2f9456!important;
}

.wpg76-cart-benefits{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    border:1px solid #e2ece5;
    border-radius:14px;
    background:linear-gradient(90deg,#f7fcf8,#fff);
    overflow:hidden;
}

.wpg76-benefit{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:76px;
    padding:12px 16px;
    border-right:1px solid #e6eee8;
}

.wpg76-benefit:last-child{
    border-right:0;
}

.wpg76-benefit>span{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#eaf7ed;
    font-size:18px;
}

.wpg76-benefit strong{
    display:block;
    color:#203026;
    font-size:12px;
    line-height:1.35;
}

.wpg76-benefit small{
    display:block;
    margin-top:3px;
    color:#7d8991;
    font-size:10px;
    line-height:1.35;
}

.wpg76-cart-summary{
    position:sticky;
    top:18px;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.wpg76-summary-head{
    display:flex;
    align-items:center;
    gap:11px;
    padding:17px 18px;
    border-bottom:1px solid #edf1f5;
}

.wpg76-summary-head>span{
    color:#2f9456;
    font-size:21px;
}

.wpg76-summary-head h2{
    margin:0!important;
    color:#172033!important;
    font-size:19px!important;
    line-height:1.25!important;
    font-weight:700!important;
}

.wpg76-summary-head p{
    margin:3px 0 0!important;
    color:#7c8797;
    font-size:11px;
    line-height:1.35;
}

.wpg76-summary-body{
    padding:16px 18px 18px;
}

.wpg76-summary-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    padding:8px 0;
    color:#6d7889;
    font-size:12px;
    line-height:1.4;
}

.wpg76-summary-row strong{
    max-width:165px;
    color:#273347;
    font-size:12px;
    font-weight:600;
    text-align:right;
}

.wpg76-summary-total{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin:12px 0 14px;
    padding:15px 0 2px;
    border-top:1px solid #e7ecf1;
}

.wpg76-summary-total span{
    color:#172033;
    font-size:16px;
    font-weight:700;
}

.wpg76-summary-total strong{
    color:#2f8f50;
    font-size:26px;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
}

.wpg76-checkout-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    min-height:50px;
    padding:10px 16px;
    border:0;
    border-radius:10px;
    background:linear-gradient(180deg,#35a35c,#26894a);
    color:#fff;
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:0 7px 18px rgba(47,148,86,.20);
}

.wpg76-checkout-btn:hover{
    background:linear-gradient(180deg,#309955,#217b42);
}

.wpg76-summary-safe{
    margin-top:12px;
    color:#8792a0;
    font-size:10px;
    line-height:1.45;
    text-align:center;
}

.wpg76-help-card{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px 18px;
}

.wpg76-help-icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:#edf8f0;
    color:#2f9456;
    font-size:19px;
}

.wpg76-help-card strong{
    display:block;
    color:#172033;
    font-size:13px;
}

.wpg76-help-card span{
    display:block;
    margin-top:3px;
    color:#273347;
    font-size:15px;
    font-weight:700;
}

.wpg76-help-card a{
    display:inline-block;
    margin-top:5px;
    color:#2f9456!important;
    font-size:11px;
}

.wpg76-empty-cart{
    max-width:620px;
    margin:50px auto;
    padding:34px;
    border:1px solid #e3e8ed;
    border-radius:16px;
    background:#fff;
    text-align:center;
    box-shadow:0 8px 28px rgba(25,40,64,.055);
}

.wpg76-empty-cart>div{
    font-size:42px;
}

.wpg76-empty-cart h1{
    margin:12px 0 6px!important;
    color:#172033!important;
}

.wpg76-empty-cart p{
    margin:0 0 18px!important;
    color:#7b8797;
}

.wpg76-empty-cart a{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    padding:0 18px;
    border-radius:9px;
    background:#2f9456;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:700;
}

@media(max-width:980px){
    .wpg76-cart-layout{
        grid-template-columns:1fr;
    }
    .wpg76-cart-summary{
        position:static;
    }
    .wpg76-summary-card{
        max-width:none;
    }
}

@media(max-width:760px){
    .wpg76-cart-page{
        padding-left:10px!important;
        padding-right:10px!important;
    }

    .wpg76-cart-heading{
        margin:12px 0 16px;
    }

    .wpg76-cart-heading-icon{
        flex-basis:44px;
        width:44px;
        height:44px;
        font-size:22px;
    }

    .wpg76-cart-heading h1{
        font-size:26px!important;
    }

    .wpg76-cart-heading p{
        font-size:12px;
    }

    .wpg76-cart-table-head{
        display:none;
    }

    .wpg76-cart-product{
        grid-template-columns:1fr auto;
        grid-template-areas:
            "main remove"
            "qty qty"
            "unit total";
        gap:12px 10px;
        padding:15px;
    }

    .wpg76-cart-product-main{
        grid-area:main;
        align-items:flex-start;
    }

    .wpg76-cart-image{
        flex-basis:82px;
        width:82px;
        height:82px;
    }

    .wpg76-cart-image img{
        max-width:80px!important;
        max-height:80px!important;
    }

    .wpg76-cart-remove{
        grid-area:remove;
        align-self:start;
    }

    .wpg76-cart-qty{
        grid-area:qty;
        justify-content:flex-start;
        padding-left:96px;
    }

    .wpg76-cart-unit-price{
        grid-area:unit;
        padding-left:96px;
        color:#7b8797;
        font-size:12px;
    }

    .wpg76-cart-unit-price:before{
        content:"Цена: ";
    }

    .wpg76-cart-line-total{
        grid-area:total;
        justify-self:end;
        font-size:16px;
    }

    .wpg76-cart-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .wpg76-cart-actions-right{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .wpg76-action{
        width:100%;
    }

    .wpg76-cart-benefits{
        grid-template-columns:1fr;
    }

    .wpg76-benefit{
        border-right:0;
        border-bottom:1px solid #e6eee8;
    }

    .wpg76-benefit:last-child{
        border-bottom:0;
    }
}

@media(max-width:480px){
    .wpg76-cart-product-main{
        gap:10px;
    }

    .wpg76-cart-image{
        flex-basis:72px;
        width:72px;
        height:72px;
    }

    .wpg76-cart-image img{
        max-width:70px!important;
        max-height:70px!important;
    }

    .wpg76-cart-qty,
    .wpg76-cart-unit-price{
        padding-left:82px;
    }

    .wpg76-cart-actions-right{
        grid-template-columns:1fr;
    }

    .wpg76-summary-body{
        padding:14px;
    }
}


/* WALLPAPER 77: состояние удаления товара */
.wpg76-cart-product.wpg77-removing{
    opacity:.45;
    pointer-events:none;
}


/* WALLPAPER 78: блокируем повторные клики на время автоматического пересчёта */
.wpg76-cart-form.wpg78-recalculating .wpg76-qty-btn,
.wpg76-cart-form.wpg78-recalculating .wpg76-qty-input{
    pointer-events:none;
    opacity:.7;
}
