/* =========================================================
   CESTA UNIFICADA - MISMO RESPONSIVE DE HOME / TIENDA
   ========================================================= */
.cr-cart-group{
    margin-top:14px;
    padding:14px;
    border-radius:22px;
    background:#fff;
    border:1px solid #e7eee4;
    box-shadow:0 10px 24px rgba(48,96,32,.08);
    min-width:0;
    overflow:hidden;
}

.cr-cart-store-head{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.cr-cart-store-logo{
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:14px;
    overflow:hidden;
    background:#eff8ea;
    border:1px solid #d5e4cf;
    display:grid;
    place-items:center;
}

.cr-cart-store-logo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.cr-cart-store-info{
    min-width:0;
    flex:1;
}

.cr-cart-store-name{
    display:block;
    color:#111518;
    font-size:15px;
    font-weight:950;
    line-height:1.1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.cr-cart-store-count{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
    margin-top:3px;
}

.cr-cart-item{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    gap:12px;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid #edf2ea;
    min-width:0;
}

.cr-cart-item-image{
    width:64px;
    height:64px;
    border-radius:17px;
    overflow:hidden;
    background:#eef8ea;
    border:1px solid #e7eee4;
}

.cr-cart-item-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.cr-cart-item-body{
    min-width:0;
}

.cr-cart-item-name{
    color:#111518;
    font-size:14px;
    line-height:1.2;
    display:block;
    font-weight:950;
}

.cr-cart-item-meta{
    color:#64748b;
    font-size:12px;
    margin-top:4px;
    font-weight:800;
}

.cr-cart-item-desc,
.cr-cart-note{
    color:#64748b;
    font-size:12px;
    line-height:1.35;
    margin-top:5px;
    overflow-wrap:anywhere;
}

.cr-cart-note{
    margin-top:7px;
    font-weight:800;
}

.cr-cart-extras{
    display:grid;
    gap:7px;
    margin-top:9px;
}

.cr-cart-extra{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
        "name price"
        "name controls";
    gap:5px 8px;
    align-items:center;
    padding:8px 9px;
    border-radius:14px;
    color:#111518;
    font-size:11px;
    font-weight:900;
    line-height:1.18;
    min-width:0;
}

.cr-cart-extra.is-variant{grid-template-columns:minmax(0,1fr);grid-template-areas:"name";background:var(--store-primary-soft);border:1px solid var(--cr-border);}

.cr-cart-extra.is-addon{
    background:#fff7ed;
    border:1px solid #fed7aa;
}

.cr-cart-extra-name{
    grid-area:name;
    min-width:0;
    overflow-wrap:anywhere;
}

.cr-cart-extra-name strong{
    color:#c2410c;
}

.cr-cart-extra.is-variant .cr-cart-extra-name strong{color:var(--store-primary-strong);}

.cr-cart-extra-price{
    grid-area:price;
    color:#c2410c;
    font-weight:950;
    white-space:nowrap;
    text-align:right;
}

.cr-cart-extra-controls{
    grid-area:controls;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    min-width:0;
}

.cr-cart-qty-btn,
.cr-cart-extra-remove,
.cr-cart-item-remove{
    border-radius:999px;
    border:1px solid #fecaca;
    background:#fff;
    color:#ef001b;
    font-weight:950;
    cursor:pointer;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

.cr-cart-qty-btn{
    width:26px;
    height:26px;
}

.cr-cart-extra-remove{
    width:26px;
    height:26px;
    background:#fee2e2;
    color:#dc2626;
    font-size:16px;
}

.cr-cart-extra-qty{
    min-width:16px;
    text-align:center;
    color:#111827;
    font-size:12px;
}

.cr-cart-item-actions{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:11px;
    min-width:0;
}

.cr-cart-main-qty-btn{
    min-width:30px;
    height:30px;
    min-height:30px!important;
    padding:0 9px!important;
    border-radius:999px!important;
}

.cr-cart-main-qty{
    min-width:16px;
    text-align:center;
    color:#111518;
}

.cr-cart-item-remove{
    margin-left:auto;
    width:30px;
    height:30px;
    background:#fee2e2;
    color:#dc2626;
    font-size:17px;
}

.cr-cart-total-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #edf2ea;
}

.cr-cart-total-label{
    color:#111518;
    font-size:14px;
}

.cr-cart-total-value{
    color:#16a34a;
    font-size:18px;
    font-weight:950;
    text-align:right;
}

.cr-cart-iva{
    margin-top:8px;
    font-size:12px;
    font-weight:900;
    color:#15803d;
    background:#ecfdf3;
    border:1px solid #bbf7d0;
    border-radius:999px;
    padding:7px 10px;
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.cr-cart-checkout{
    width:100%;
    margin-top:12px;
    color:#fff!important;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

@media(max-width:640px){
    .cr-cart-group{
        margin-top:10px;
        padding:12px;
        border-radius:18px;
    }

    .cr-cart-item{
        grid-template-columns:52px minmax(0,1fr);
        gap:10px;
    }

    .cr-cart-item-image{
        width:52px;
        height:52px;
        border-radius:14px;
    }

    .cr-cart-item-name{
        font-size:13px;
    }

    .cr-cart-item-meta,
    .cr-cart-item-desc,
    .cr-cart-note{
        font-size:11px;
    }

    .cr-cart-extra{
        grid-template-columns:minmax(0,1fr) auto;
        grid-template-areas:
            "name name"
            "price controls";
        padding:8px;
        gap:6px 8px;
    }

    .cr-cart-extra.is-variant{
        grid-template-areas:"name";
    }

    .cr-cart-extra-price{
        text-align:left;
        align-self:center;
    }

    .cr-cart-extra-controls{
        justify-content:flex-end;
        min-width:0;
    }

    .cr-cart-total-value{
        font-size:16px;
    }
}

@media(max-width:380px){
    .cr-cart-item{
        grid-template-columns:46px minmax(0,1fr);
        gap:8px;
    }

    .cr-cart-item-image{
        width:46px;
        height:46px;
    }

    .cr-cart-extra-controls{
        gap:5px;
    }

    .cr-cart-qty-btn,
    .cr-cart-extra-remove{
        width:24px;
        height:24px;
    }
}