/*!
 * SIM Theme - WooCommerce Cart & Checkout responsive (mobile/tablet)
 * Migrated from WPCode snippet 73766.
 * Enqueued from inc/enqueue.php on is_cart() || is_checkout().
 */

/* =========================================================
   Sim-theme: WooCommerce Cart & Checkout responsive
   - Tablet:  <= 1024px
   - Mobile:  <= 768px (tightened)
   ========================================================= */

/* ---------- TABLET & MOBILE (<= 1024px) ---------- */
@media (max-width: 1024px) {

  /* ====== CART PAGE ====== */

  /* Single-column wrapper */
  .woocommerce-cart .woocommerce,
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  /* Cart table -> block stack */
  .woocommerce-cart table.shop_table_responsive,
  .woocommerce-cart table.shop_table.cart {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .woocommerce-cart table.shop_table_responsive thead,
  .woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }

  .woocommerce-cart table.shop_table_responsive tbody,
  .woocommerce-cart table.shop_table.cart tbody {
    display: block !important;
    width: 100% !important;
  }

  /* Each cart line -> card grid */
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item,
  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    display: grid !important;
    grid-template-columns: 96px 1fr auto;
    grid-template-areas:
      "thumb name   remove"
      "thumb price  price"
      "thumb qty    subtotal";
    gap: 8px 14px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #e6e6e6;
    background: transparent !important;
  }

  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td,
  .woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
  }

  .woocommerce-cart tr.cart_item td.product-thumbnail {
    grid-area: thumb;
  }
  .woocommerce-cart tr.cart_item td.product-thumbnail img {
    width: 96px !important;
    height: auto !important;
    max-width: 100% !important;
    display: block;
  }

  .woocommerce-cart tr.cart_item td.product-name {
    grid-area: name;
    font-weight: 600;
    line-height: 1.3;
    padding-right: 28px !important;
  }
  .woocommerce-cart tr.cart_item td.product-name a {
    color: inherit;
    text-decoration: none;
  }

  .woocommerce-cart tr.cart_item td.product-price {
    grid-area: price;
    color: #555;
    font-size: 14px;
  }
  .woocommerce-cart tr.cart_item td.product-price::before {
    content: "Price: ";
    color: #888;
  }

  .woocommerce-cart tr.cart_item td.product-quantity {
    grid-area: qty;
  }
  .woocommerce-cart tr.cart_item td.product-quantity .quantity input.qty {
    width: 64px;
    padding: 6px 8px;
    text-align: center;
  }

  .woocommerce-cart tr.cart_item td.product-subtotal {
    grid-area: subtotal;
    text-align: right !important;
    font-weight: 700;
  }

  .woocommerce-cart tr.cart_item td.product-remove {
    grid-area: remove;
    text-align: right !important;
    align-self: start;
  }
  .woocommerce-cart tr.cart_item td.product-remove a.remove {
    margin: 0 0 0 auto;
  }

  /* ---- Actions row: coupon + update cart stacked ---- */
  .woocommerce-cart table.shop_table.cart tr td.actions,
  .woocommerce-cart table.shop_table.cart td.actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px;
    padding: 20px 0 !important;
    border: 0 !important;
    background: transparent !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  .woocommerce-cart td.actions .coupon {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    order: 1;
  }
  .woocommerce-cart td.actions .coupon label { display: none !important; }
  .woocommerce-cart td.actions .coupon input.input-text,
  .woocommerce-cart td.actions .coupon #coupon_code {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    float: none !important;
  }
  .woocommerce-cart td.actions .coupon button,
  .woocommerce-cart td.actions .coupon .button {
    width: 100% !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    float: none !important;
  }

  .woocommerce-cart td.actions > button[name="update_cart"],
  .woocommerce-cart td.actions button.button[name="update_cart"],
  .woocommerce-cart td.actions input[name="update_cart"] {
    width: 100% !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
    order: 2;
  }

  /* Cart totals: full width below items */
  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-top: 24px;
  }
  .woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout .button,
  .woocommerce-cart .cart-collaterals .checkout-button {
    width: 100% !important;
    box-sizing: border-box;
  }

  /* ====== CHECKOUT PAGE ====== */

  .woocommerce-checkout form.checkout {
    display: block !important;
  }

  /* Stack billing/shipping columns */
  .woocommerce-checkout #customer_details.col2-set,
  .woocommerce-checkout .col2-set {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2,
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
  }

  /* Order review block full width below */
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-top: 16px;
  }

  .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table {
    width: 100% !important;
    min-width: 0 !important;
    display: table !important;
  }

  /* Payment + Place order */
  .woocommerce-checkout #payment {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .woocommerce-checkout #payment #place_order {
    width: 100% !important;
    padding: 14px 18px !important;
    font-size: 16px;
    box-sizing: border-box;
  }

  /* Form fields full width */
  .woocommerce-checkout .form-row,
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last,
  .woocommerce-checkout .form-row-wide {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Prevent stray horizontal scroll */
  .woocommerce-cart,
  .woocommerce-checkout {
    overflow-x: hidden;
  }
}

/* ---------- MOBILE FINE-TUNING (<= 768px) ---------- */
@media (max-width: 768px) {

  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 80px 1fr auto;
    gap: 6px 12px;
    padding: 14px 0;
  }

  .woocommerce-cart tr.cart_item td.product-thumbnail img {
    width: 80px !important;
  }

  .woocommerce-cart tr.cart_item td.product-name {
    font-size: 15px;
    padding-right: 24px !important;
  }

  .woocommerce-cart tr.cart_item td.product-price {
    font-size: 13px;
  }

  .woocommerce-cart tr.cart_item td.product-quantity .quantity input.qty {
    width: 56px;
  }

  .woocommerce-cart tr.cart_item td.product-remove a.remove {
    font-size: 20px;
    line-height: 1;
    padding: 4px 6px;
  }
}

/* ---------- EXTRA SMALL (<= 420px) ---------- */
@media (max-width: 420px) {
  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 72px 1fr auto;
    gap: 4px 10px;
  }
  .woocommerce-cart tr.cart_item td.product-thumbnail img {
    width: 72px !important;
  }
}
