/* ============================================================
   DARYA NOOR — Cart Page Styles
   Enqueued ONLY on the WooCommerce cart page (see inc/enqueue.php).
   Scope: this file must never affect any other page.
   ============================================================ */

/* ── Desktop / base (unchanged from the previous woocommerce.css
   rules — moved here as-is so desktop appearance stays identical) ── */
.woocommerce-cart-form{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.woocommerce-cart-form .shop_table{width:100%;border-collapse:collapse;font-size:.88rem;}
.woocommerce-cart-form .shop_table th{padding:12px 14px;text-align:right;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dn-text-muted);border-bottom:2px solid var(--dn-border);}
.woocommerce-cart-form .shop_table td{padding:16px 14px;border-bottom:1px solid var(--dn-bg-light);vertical-align:middle;}
.woocommerce-cart-form .product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:var(--dn-radius-sm);}
.woocommerce-cart-form .product-name a{font-weight:600;color:var(--dn-text);}
.woocommerce-cart-form .product-name a:hover{color:var(--dn-primary);}
.woocommerce-cart-form .product-remove a{color:var(--dn-text-muted);font-size:1.1rem;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--dn-radius-full);transition:all var(--dn-t-fast);}
.woocommerce-cart-form .product-remove a:hover{background:#FEE2E2;color:var(--dn-sale);}
.woocommerce-cart-form .product-price,.woocommerce-cart-form .product-subtotal{font-weight:700;color:var(--dn-primary);}
.woocommerce-cart-form .product-quantity{width:1%;white-space:nowrap;}
.woocommerce-cart-form .quantity .qty{border-top:1.5px solid var(--dn-border);border-bottom:1.5px solid var(--dn-border);}

.woocommerce-cart-form .actions{padding:18px 14px!important;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border-bottom:none!important;}
.woocommerce-cart-form .coupon{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1;min-width:0;}
.woocommerce-cart-form .coupon label{font-size:.84rem;font-weight:600;color:var(--dn-text);white-space:nowrap;}
.woocommerce-cart-form .coupon .input-text{padding:10px 14px;border:1.5px solid var(--dn-border);border-radius:var(--dn-radius-md);font-family:inherit;font-size:.85rem;outline:none;min-width:0;flex:1 1 160px;transition:border-color var(--dn-t-fast);}
.woocommerce-cart-form .coupon .input-text:focus{border-color:var(--dn-primary);}
.woocommerce-cart-form button[name=apply_coupon],
.woocommerce-cart-form button[name=update_cart]{padding:10px 22px;background:var(--dn-bg-light);color:var(--dn-text);border-radius:var(--dn-btn-r);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid var(--dn-border);transition:all var(--dn-t-fast);white-space:nowrap;flex-shrink:0;}
.woocommerce-cart-form button[name=apply_coupon]:hover,
.woocommerce-cart-form button[name=update_cart]:hover{background:var(--dn-border);}
.woocommerce-cart-form button[name=update_cart]:disabled{opacity:.5;cursor:not-allowed;}
.woocommerce-cart-form .wc-backward{display:inline-flex;align-items:center;padding:10px 22px;border-radius:var(--dn-btn-r);font-family:inherit;font-size:.85rem;font-weight:600;color:var(--dn-primary);border:1px solid var(--dn-border);transition:all var(--dn-t-fast);white-space:nowrap;}
.woocommerce-cart-form .wc-backward:hover{background:rgba(0,119,182,.06);}

.cart-collaterals::before,.cart-collaterals::after{content:"";display:table;}
.cart-collaterals::after{clear:both;}
.cart-collaterals{max-width:400px;margin-right:auto;margin-top:32px;background:#fff;border:1px solid var(--dn-border);border-radius:var(--dn-radius-md);padding:20px;}
.cart_totals h2{font-size:1.05rem;font-weight:700;margin-bottom:14px;}
.cart_totals .shop_table th{padding:10px 0;font-weight:600;font-size:.86rem;}
.cart_totals .shop_table td{padding:10px 0;font-weight:700;color:var(--dn-primary);text-align:left;}
.cart_totals .shop_table{border-top:1px solid var(--dn-border);border-bottom:1px solid var(--dn-border);margin-bottom:18px;}
.checkout-button.button{display:block;width:100%;padding:15px;background:linear-gradient(135deg,var(--dn-primary),var(--dn-accent));color:#fff!important;text-align:center;border-radius:var(--dn-btn-r);font-family:inherit;font-size:1rem;font-weight:700;box-shadow:0 4px 18px rgba(0,119,182,.28);transition:all var(--dn-t-med);border:none;cursor:pointer;}
.checkout-button.button:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,119,182,.38);}

/* ============================================================
   MOBILE REDESIGN — screens under 768px only.
   Everything above this point (desktop) is untouched.
   ============================================================ */
@media(max-width:768px){

    /* Reserve room at the bottom of the page so the fixed bottom nav never
       covers the sticky totals card or the last product card */
    body.woocommerce-cart #dn-page-wrap{
        padding-bottom:calc(60px + env(safe-area-inset-bottom) + 24px);
    }

    /* Page shell: no more horizontal scrolling table */
    .woocommerce-cart-form{overflow-x:visible;}
    .woocommerce-cart-form .shop_table{width:100%;font-size:1rem;}

    /* Hide the table header — each card carries its own labels */
    .woocommerce-cart-form .shop_table thead{
        position:absolute;width:1px;height:1px;overflow:hidden;
        clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:0;
    }
    .woocommerce-cart-form .shop_table tbody{display:flex;flex-direction:column;gap:14px;}

    /* ── Product card ─────────────────────────────────────── */
    .woocommerce-cart-form .shop_table tr.cart_item{
        display:grid;
        grid-template-columns:68px 1fr auto;
        grid-template-areas:
            "thumb name   remove"
            "thumb price  price"
            "thumb qty    subtotal";
        align-items:center;
        column-gap:12px;
        row-gap:10px;
        background:#fff;
        border:1px solid var(--dn-border);
        border-radius:18px;
        box-shadow:var(--dn-shadow-sm);
        padding:14px;
        margin:0;
    }
    .woocommerce-cart-form .shop_table tr.cart_item td{
        display:block;
        padding:0!important;
        border:none!important;
        vertical-align:middle;
        white-space:normal;
        width:auto;
    }

    .woocommerce-cart-form .product-thumbnail{grid-area:thumb;align-self:start;}
    .woocommerce-cart-form .product-thumbnail img{
        width:68px;height:68px;border-radius:14px;object-fit:cover;
    }

    .woocommerce-cart-form .product-name{grid-area:name;align-self:start;min-width:0;}
    .woocommerce-cart-form .product-name a{
        font-size:.96rem;font-weight:700;line-height:1.4;
        display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    }
    .woocommerce-cart-form .product-name dl.variation{
        margin-top:4px;font-size:.78rem;color:var(--dn-text-muted);display:flex;flex-wrap:wrap;gap:4px 10px;
    }
    .woocommerce-cart-form .product-name dl.variation dt{font-weight:600;display:inline;}
    .woocommerce-cart-form .product-name dl.variation dd{display:inline;margin:0;}
    .woocommerce-cart-form .product-name .backorder_notification{font-size:.72rem;}

    /* Remove → small trash icon, top corner of the card */
    .woocommerce-cart-form .product-remove{grid-area:remove;justify-self:start;align-self:start;}
    .woocommerce-cart-form .product-remove a.remove{
        width:32px;height:32px;border-radius:var(--dn-radius-full);
        background:var(--dn-bg-light);color:var(--dn-text-muted);
        display:flex;align-items:center;justify-content:center;
        font-size:0;line-height:0;position:relative;
    }
    .woocommerce-cart-form .product-remove a.remove::before{
        content:"";width:15px;height:15px;background-color:currentColor;
        -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/><path d='M10 11v6'/><path d='M14 11v6'/><path d='M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/></svg>") center/contain no-repeat;
        mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/><path d='M10 11v6'/><path d='M14 11v6'/><path d='M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/></svg>") center/contain no-repeat;
    }
    .woocommerce-cart-form .product-remove a.remove:hover{background:#FEE2E2;color:var(--dn-sale);}

    /* Unit price — small muted line under the name */
    .woocommerce-cart-form .product-price{grid-area:price;font-size:.82rem;font-weight:500;color:var(--dn-text-muted);}
    .woocommerce-cart-form .product-price::before{content:"قیمت واحد: ";}

    /* Quantity stepper (buttons injected by dn-qty-btn JS, already styled
       globally) — just place it in the grid and keep it touch-friendly */
    .woocommerce-cart-form .product-quantity{grid-area:qty;align-self:end;}
    .woocommerce-cart-form .product-quantity .quantity{width:fit-content;}
    .woocommerce-cart-form .dn-qty-wrap{width:fit-content;}
    .woocommerce-cart-form .dn-qty-btn{width:38px;height:44px;}
    .woocommerce-cart-form .quantity .qty,
    .woocommerce-cart-form .dn-qty-input{width:44px;height:44px;font-size:.95rem;}

    /* Subtotal — the number that matters most */
    .woocommerce-cart-form .product-subtotal{
        grid-area:subtotal;align-self:end;justify-self:end;
        font-size:1.05rem;font-weight:800;color:var(--dn-primary);
    }
    .woocommerce-cart-form .product-subtotal::before{
        content:"جمع: ";font-size:.72rem;font-weight:600;color:var(--dn-text-muted);
        display:block;margin-bottom:2px;
    }

    /* ── Coupon + update-cart row ─────────────────────────── */
    .woocommerce-cart-form .shop_table tr.actions{
        display:flex;flex-direction:column;gap:12px;
        background:#fff;border:1px solid var(--dn-border);border-radius:18px;
        box-shadow:var(--dn-shadow-sm);padding:16px;margin-top:2px;
    }
    .woocommerce-cart-form .shop_table tr.actions td{
        display:block;width:100%;padding:0!important;border:none!important;
    }
    .woocommerce-cart-form .coupon{flex-direction:column;align-items:stretch;gap:10px;width:100%;}
    .woocommerce-cart-form .coupon label{font-size:.86rem;}
    .woocommerce-cart-form .coupon .input-text{
        flex:1 1 auto;padding:13px 16px;border-radius:var(--dn-radius-full);
        font-size:.9rem;min-height:48px;
    }
    .woocommerce-cart-form button[name=apply_coupon]{
        width:100%;border-radius:var(--dn-radius-full);padding:13px 22px;
        min-height:48px;font-size:.9rem;
    }
    .woocommerce-cart-form button[name=update_cart]{
        width:100%;border-radius:var(--dn-radius-full);padding:13px 22px;
        min-height:48px;font-size:.9rem;
    }
    .woocommerce-cart-form .wc-backward{
        width:100%;justify-content:center;border-radius:var(--dn-radius-full);
        min-height:48px;
    }

    /* ── Totals — sticky checkout card ────────────────────── */
    .cart-collaterals{max-width:100%;margin:20px 0 0;border:none;padding:0;background:transparent;}
    .cart_totals{
        position:sticky;
        bottom:calc(env(safe-area-inset-bottom) + 72px);
        background:#fff;border-radius:var(--dn-radius-lg);
        box-shadow:var(--dn-shadow-lg);border:1px solid var(--dn-border);
        padding:18px;z-index:20;
    }
    .cart_totals h2{font-size:1rem;margin-bottom:10px;}
    .cart_totals .shop_table{border-top:none;border-bottom:none;margin-bottom:12px;}
    .cart_totals .shop_table tr{
        display:flex;align-items:center;justify-content:space-between;
        border-bottom:1px dashed var(--dn-border);
    }
    .cart_totals .shop_table tr:last-child{border-bottom:none;}
    .cart_totals .shop_table th,
    .cart_totals .shop_table td{padding:9px 0;font-size:.88rem;}
    .cart_totals .shop_table tr.order-total{border-top:1.5px solid var(--dn-border);margin-top:2px;}
    .cart_totals .shop_table tr.order-total th{font-size:.95rem;font-weight:800;color:var(--dn-text);}
    .cart_totals .shop_table tr.order-total td{font-size:1.2rem;font-weight:800;}
    .cart_totals .shop_table tr.cart-discount td,
    .cart_totals .shop_table tr.cart-discount th{color:var(--dn-success);}
    .cart_totals .woocommerce-remove-coupon{font-size:.76rem;color:var(--dn-text-muted);margin-inline-start:8px;}
    .cart_totals #shipping_method{list-style:none;}
    .cart_totals #shipping_method li{padding:6px 0;font-size:.85rem;display:flex;align-items:center;gap:8px;}
    .cart_totals #shipping_method input[type=radio]{accent-color:var(--dn-primary);width:16px;height:16px;}
    .cart_totals .woocommerce-shipping-destination{font-size:.78rem;color:var(--dn-text-muted);}

    .wc-proceed-to-checkout{padding:0;}
    .checkout-button.button{padding:16px;font-size:1.02rem;min-height:52px;}
}

/* Small phones */
@media(max-width:380px){
    .woocommerce-cart-form .shop_table tr.cart_item{
        grid-template-columns:56px 1fr auto;column-gap:10px;padding:12px;
    }
    .woocommerce-cart-form .product-thumbnail img{width:56px;height:56px;}
    .woocommerce-cart-form .dn-qty-btn{width:34px;height:40px;}
    .woocommerce-cart-form .quantity .qty,
    .woocommerce-cart-form .dn-qty-input{width:38px;height:40px;font-size:.88rem;}
}
