.ns-cart header{display:flex;align-items:center;gap:12px;padding:21px 20px;border-bottom:1px solid #e7eee8}.ns-cart .heading-icon{display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:#eaf5ee;color:#087b49;border-radius:13px;flex-shrink:0}.ns-cart svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ns-cart .heading-copy{flex:1}.ns-cart h2{font-size:17px;margin:0 0 5px}.ns-cart header p{font-size:10px;color:#83958a;margin:0}.ns-cart button{font:inherit;cursor:pointer}.ns-cart .close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:white;border:1px solid #e3ebe5;border-radius:50%;color:#7d9485;font-size:22px}.ns-cart .products{padding:0 20px}.ns-cart .item{display:flex;position:relative;gap:14px;padding:21px 0;border-bottom:1px solid #edf1ee}.ns-cart .item:last-child{border:0}.ns-cart .product-image{width:68px;height:86px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:#f4f7f0;flex-shrink:0}.ns-cart .product-image img{width:58px;height:80px;stroke:none}.ns-cart .product-main{flex:1;min-width:0;padding-left:21px}.ns-cart .product-title{font-size:13px;font-weight:600;margin:2px 0 9px}.ns-cart .unit{font-size:9px;color:#87988c}.ns-cart .unit b{font-weight:400;color:#65806d;margin-right:4px}.ns-cart .bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.ns-cart .quantity{display:flex;align-items:center;border:1px solid #d8e6dc;border-radius:10px;background:#f8fbf9;direction:ltr;height:34px}.ns-cart .quantity button{width:29px;height:32px;border:0;background:none;color:#087b49;font-family:Arial;font-size:17px}.ns-cart .quantity span{font-size:12px;width:25px;text-align:center}.ns-cart .item-price{font-size:13px;font-weight:600;white-space:nowrap}.ns-cart .item-price small{font-size:8px;color:#92a198;font-weight:400;margin-right:5px}.ns-cart .delete{position:absolute;left:0;top:22px;padding:0;border:0;background:transparent;color:#a6b5aa;width:22px;height:22px}.ns-cart .delete svg{width:16px;height:16px}.ns-cart .delete:hover{color:#b85b60}.ns-cart .totals{margin:6px 20px 0;padding:18px;background:#f0f8f3;border:1px solid #dcece1;border-radius:15px}.ns-cart .total-label{font-size:11px;color:#588168}.ns-cart .amount{font-weight:700;font-size:23px;color:#087b49;margin-top:8px}.ns-cart .amount small{font-size:10px;color:#6c9279;font-weight:400}.ns-cart details{margin-top:15px;border-top:1px solid #dce9df;padding-top:11px}.ns-cart summary{font-size:10px;display:flex;justify-content:space-between;cursor:pointer;color:#688874;list-style:none}.ns-cart summary::-webkit-details-marker{display:none}.ns-cart summary span{font-family:Arial;font-size:14px}.ns-cart dl{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:9px;color:#62846d;margin:16px 0 0}.ns-cart dd{margin:0;direction:rtl}.ns-cart footer{padding:18px 20px 16px}.ns-cart .primary{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:14px;background:#087b49;color:white;border:0;border-radius:12px;font-size:12px;font-weight:600}.ns-cart .primary svg{width:18px;height:18px}.ns-cart .clear{display:flex;align-items:center;justify-content:center;gap:7px;margin:13px auto 0;border:0;background:none;color:#a36970;font-size:10px;min-height:30px}.ns-cart .clear svg{width:15px;height:15px}.ns-cart .empty-content{padding:42px 24px 24px;text-align:center}.ns-cart .empty-icon{width:100px;height:100px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#edf7f0;margin:0 auto 22px;color:#6fac82}.ns-cart .empty-icon>svg{width:49px;height:49px;stroke-width:1.4}.ns-cart .empty-icon span{position:absolute;right:5px;bottom:3px;background:#087b49;color:white;width:27px;height:27px;line-height:26px;border-radius:50%;font-family:Arial;font-size:21px;border:3px solid white}.ns-cart h3{font-size:15px;margin:0 0 10px}.ns-cart .empty-content>p{font-size:11px;color:#829789;margin-bottom:26px}
.ns-header .onhover-div .show-div.shopping-cart.ns-cart {
    width: min(450px, calc(100vw - 24px));
    border: 1px solid #dfe9e1;
    border-radius: 22px !important;
    background: #fff;
    color: #213e2d;
    text-align: right;
    direction: rtl;
    box-shadow: 0 18px 55px rgba(26, 78, 44, .16);
}
.ns-cart *, .ns-cart *::before, .ns-cart *::after { box-sizing: border-box; }
.ns-cart .product-image img { object-fit: contain; }
.ns-cart .product-title { display: block; text-decoration: none; color: #213e2d; line-height: 1.8; }
.ns-cart .primary, .ns-cart .clear { text-decoration: none; }
.ns-cart .quantity .ns-cart-count { width: 32px; min-width: 0; height: 38px; padding: 0; border: 0; background: transparent; box-shadow: none; text-align: center; font: inherit; font-size: 12px; }
.ns-cart .quantity { height: 40px; }
.ns-cart .quantity button { height: 38px; width: 32px; padding: 0; }
.ns-cart header { position: sticky; top: 0; background: #fff; z-index: 2; }
.ns-cart footer { position: sticky; bottom: 0; background: #fff; border-top: 1px solid #e7eee8; }
.ns-cart .products { max-height: none; overflow: visible; }
.ns-cart .close { padding: 0; flex-shrink: 0; }
.ns-cart .close svg { width: 16px; height: 16px; }
.ns-cart .delete { display: flex; justify-content: center; align-items: center; }
.ns-cart .delete svg { stroke: currentColor; }
.ns-cart .total-label { line-height: 1.8; }
.ns-cart summary svg { width: 15px; height: 15px; }
.ns-cart dt { font-weight: 400; line-height: 1.8; }
.ns-cart dd { line-height: 1.8; white-space: nowrap; }
.ns-cart a:focus-visible, .ns-cart button:focus-visible, .ns-cart input:focus-visible, .ns-cart summary:focus-visible { outline: 2px solid #087b49; outline-offset: -2px; }
.ns-header .ns-cart-holder.ns-cart-open > .ns-cart { opacity: 1; visibility: visible; }
.ns-header .ns-cart-holder.ns-cart-dismissed > .ns-cart { opacity: 0; visibility: hidden; }
@media (max-width: 390px) {
    .ns-cart header { padding: 16px 14px; gap: 8px; }
    .ns-cart .heading-copy h2 { font-size: 15px; }
    .ns-cart .products { padding: 0 14px; }
    .ns-cart .product-image { width: 52px; height: 72px; }
    .ns-cart .product-image img { width: 46px; height: 64px; }
    .ns-cart .item { gap: 10px; }
    .ns-cart .bottom { flex-wrap: wrap; gap: 8px; }
    .ns-cart .item-price { font-size: 12px; }
    .ns-cart .totals { margin-right: 14px; margin-left: 14px; padding: 14px; }
    .ns-cart dl { grid-template-columns: 1fr; gap: 6px; }
    .ns-cart dd { margin-bottom: 6px; }
}

.ns-cart .other-totals { margin-top: 16px; padding-top: 16px; border-top: 1px solid #dce9df; }
.ns-cart .other-totals .amount + .total-label { margin-top: 16px; }

.ns-cart .totals.price-groups { display: flex; gap: 12px; padding: 0; border: 0; background: transparent; }
.ns-cart .price-group { flex: 1; min-width: 0; background: #f5faf7; border: 1px solid #dcece1; border-radius: 15px; overflow: hidden; text-align: center; }
.ns-cart .price-group-title { display: flex; align-items: center; justify-content: center; min-height: 54px; padding: 12px 8px; background: #e7f4ec; color: #087b49; border-bottom: 1px solid #dcece1; font-size: 13px; font-weight: 700; line-height: 1.8; }
.ns-cart .price-cell { padding: 18px 8px; }
.ns-cart .price-cell + .price-cell { border-top: 1px solid #dcece1; }
.ns-cart .price-cell .total-label { font-size: 11px; color: #6c8876; }
.ns-cart .price-cell .amount { margin: 10px 0 5px; font-size: clamp(14px, 4.2vw, 21px); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.ns-cart .price-unit { font-size: 10px; color: #7e9988; }
.ns-cart .price-cell.with-tax { background: #edf7f0; }
.ns-cart .with-tax .total-label { font-weight: 700; color: #346b4a; }
.ns-cart .with-tax .amount { color: #075d38; }
@media (max-width: 390px) { .ns-cart .totals.price-groups { gap: 8px; } .ns-cart .price-group-title { font-size: 11px; } .ns-cart .price-cell { padding: 15px 6px; } }
/* Keep cart quantity dimensions independent of page-wide input styles. */
.ns-header .ns-cart .product-main .bottom .quantity {
    flex: 0 0 98px;
    width: 98px !important;
    min-width: 98px;
    max-width: 98px;
    height: 40px !important;
    padding: 0;
    margin: 0;
    justify-content: center;
}
.ns-header .ns-cart .quantity input.ns-cart-count {
    flex: 0 0 32px;
    width: 32px !important;
    min-width: 32px;
    max-width: 32px;
    height: 38px !important;
    padding: 0 !important;
    margin: 0;
}
.ns-header .ns-cart .quantity button {
    flex: 0 0 32px;
    width: 32px !important;
    min-width: 32px;
    max-width: 32px;
    height: 38px !important;
    padding: 0;
    margin: 0;
}
.ns-header .onhover-div .show-div.shopping-cart.ns-cart { overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; }
.ns-cart footer { display: flex; align-items: center; gap: 10px; padding: 10px 16px; }
.ns-cart footer .primary { flex: 1; width: auto; min-height: 38px; gap: 7px; border-radius: 10px; font-size: 11px; }
.ns-cart footer .primary svg { width: 17px; height: 17px; flex-shrink: 0; }
.ns-cart footer .clear { flex: 0 0 auto; margin: 0; gap: 5px; min-height: 38px; padding: 0 9px; border: 1px solid #eadce0; border-radius: 10px; font-size: 10px; }
@media (max-width: 768px) {
    .ns-header .ns-header-mobile .onhover-div .show-div.shopping-cart.ns-cart {
        position: fixed;
        top: 120px;
        bottom: auto;
        left: 12px;
        right: 12px;
        width: auto;
        max-width: none;
        max-height: calc(100vh - 136px);
        max-height: calc(100dvh - 136px);
        margin: 0;
        transform: none;
        z-index: 1100;
        overflow-y: auto;
    }
    .ns-header .ns-header-mobile .ns-cart .products { max-height: none; overflow: visible; }
    .ns-header .ns-header-mobile .ns-cart .item { padding: 16px 0; }
    .ns-header .ns-header-mobile .ns-cart .product-main { padding-left: 18px; }
    .ns-header .ns-header-mobile .ns-cart .delete { top: 16px; width: 28px; height: 28px; }
    .ns-header .ns-header-mobile .ns-cart .price-group-title { min-height: 48px; padding: 9px 5px; }
    .ns-header .ns-header-mobile .ns-cart .price-cell { padding: 12px 5px; }
    .ns-header .ns-header-mobile .ns-cart footer { padding: 8px 12px; gap: 8px; }
    .ns-header .ns-header-mobile .ns-cart footer .primary,
    .ns-header .ns-header-mobile .ns-cart footer .clear { min-height: 44px; }
}