/* ================================================================
   EV Nexo Cart & Checkout UI — responsive.css  v1.5
   SCOPE RULE: Every rule sits inside body.woocommerce-cart
   or body.woocommerce-checkout. Zero global rules.
   ================================================================ */

/* ── Tablet ≤ 1024px ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  body.woocommerce-cart .cart_totals,
  body.woocommerce-checkout #order_review {
    position: static !important;
    top: auto !important;
  }
}

/* ── Mobile ≤ 768px ──────────────────────────────────────────── */
@media (max-width: 768px) {

  /* Cart table — stack into cards */
  body.woocommerce-cart table.shop_table,
  body.woocommerce-cart table.shop_table thead,
  body.woocommerce-cart table.shop_table tbody,
  body.woocommerce-cart table.shop_table tr,
  body.woocommerce-cart table.shop_table td,
  body.woocommerce-cart table.shop_table th {
    display: block !important;
    width: 100% !important;
  }

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

  body.woocommerce-cart table.shop_table tbody tr {
    margin-bottom: 12px !important;
    border: 1px solid #dde4ef !important;
    border-radius: 8px !important;
    padding: 14px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
  }

  body.woocommerce-cart table.shop_table tbody td {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 7px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
  }

  body.woocommerce-cart table.shop_table tbody td:last-child {
    border-bottom: none !important;
  }

  body.woocommerce-cart table.shop_table tbody td::before {
    content: attr(data-title) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: #6b7c93 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    min-width: 80px !important;
  }

  body.woocommerce-cart table.shop_table tbody td.product-thumbnail::before,
  body.woocommerce-cart table.shop_table tbody td.product-remove::before {
    display: none !important;
  }

  /* Coupon full-width on mobile */
  body.woocommerce-cart .coupon {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.woocommerce-cart .coupon input#coupon_code {
    width: 100% !important;
  }

  /* Cart totals */
  body.woocommerce-cart .cart_totals {
    padding: 16px !important;
  }

  /* Checkout fields — stack first/last side by side rows */
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last {
    float: none !important;
    width: 100% !important;
    clear: both !important;
  }

  /* Order review */
  body.woocommerce-checkout #order_review {
    padding: 16px !important;
  }

  /* Place order */
  body.woocommerce-checkout #place_order {
    font-size: 15px !important;
    padding: 14px 20px !important;
  }

  /* Proceed to checkout */
  body.woocommerce-cart a.checkout-button,
  body.woocommerce-cart .checkout-button {
    font-size: 15px !important;
    padding: 14px 20px !important;
  }
}

/* ── Small mobile ≤ 480px ────────────────────────────────────── */
@media (max-width: 480px) {
  body.woocommerce-cart .cart_totals,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #payment {
    padding: 14px !important;
  }

  /* Prevent iOS zoom on input focus (font-size must be ≥ 16px) */
  body.woocommerce-checkout .form-row input.input-text,
  body.woocommerce-checkout .form-row input[type="text"],
  body.woocommerce-checkout .form-row input[type="email"],
  body.woocommerce-checkout .form-row input[type="tel"],
  body.woocommerce-checkout .form-row select,
  body.woocommerce-checkout .form-row textarea {
    font-size: 16px !important;
  }
}

/* ── Reduced motion ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart *,
  body.woocommerce-checkout * {
    transition: none !important;
    animation: none !important;
  }
}



/* ── Print ───────────────────────────────────────────────────── */
@media print {
  body.woocommerce-cart .wc-proceed-to-checkout,
  body.woocommerce-cart .actions,
  body.woocommerce-checkout #place_order {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table,
  body.woocommerce-checkout #order_review {
    box-shadow: none !important;
    border: 1px solid #ccc !important;
  }
}
