/* ZA Style — cart / checkout / account (WooCommerce core templates) */

.woocommerce-cart-form{margin-top:1.5rem}
.woocommerce-cart-form table.shop_table,
.cart_totals table.shop_table,
.woocommerce-checkout-review-order table.shop_table{
  width:100%;border-collapse:collapse;background:var(--paper);
  border:1px solid var(--hair);border-radius:var(--radius);overflow:hidden;
}
.woocommerce-cart-form table.shop_table th,
.cart_totals table.shop_table th,
.woocommerce-checkout-review-order table.shop_table th{
  font-size:var(--fs-small);font-weight:800;color:var(--ink);text-align:start;
  padding:.9rem 1rem;background:var(--sand-100);border-bottom:1px solid var(--hair);
}
.woocommerce-cart-form table.shop_table td{
  padding:.9rem 1rem;border-bottom:1px solid var(--hair);vertical-align:middle;font-size:var(--fs-body);
}
.woocommerce-cart-form table.shop_table tr:last-child td{border-bottom:0}

/* ---- thumbnail column: this is what was coming out empty ---- */
table.shop_table td.product-thumbnail{width:104px}
table.shop_table td.product-thumbnail a{display:block;width:84px;height:84px;border-radius:12px;overflow:hidden;background:var(--sand-200);border:1px solid var(--hair)}
table.shop_table td.product-thumbnail img{
  display:block;width:84px;height:84px;object-fit:cover;border-radius:12px;aspect-ratio:1/1;max-width:none;
}
table.shop_table td.product-thumbnail img.woocommerce-placeholder{opacity:.35}

/* ---- remove button ---- */
table.shop_table td.product-remove{width:44px;text-align:center}
table.shop_table td.product-remove a.remove{
  display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--sand-200);color:var(--ink-muted)!important;font-size:1.05rem;line-height:1;
  text-decoration:none;font-weight:700;transition:all .15s var(--ease);
}
table.shop_table td.product-remove a.remove:hover{background:var(--clay);color:#fff!important}

/* ---- product name / prices ---- */
.woocommerce-cart-form td.product-name a,
.woocommerce-checkout-review-order td.product-name{color:var(--ink);font-weight:700;text-decoration:none}
.woocommerce-cart-form td.product-name a:hover{color:var(--clay)}
.woocommerce-cart-form td.product-name dl.variation,
.woocommerce-cart-form td.product-name .wc-item-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin:.35rem 0 0;font-size:var(--fs-tiny);color:var(--ink-muted)}
.woocommerce-cart-form td.product-name dl.variation dt,
.woocommerce-cart-form td.product-name dl.variation dd,
.woocommerce-cart-form td.product-name .wc-item-meta li{margin:0;padding:0}
.woocommerce-cart-form td.product-name dl.variation dd::after{content:''}
.woocommerce-cart-form td.product-price,
.woocommerce-cart-form td.product-subtotal{font-weight:700;white-space:nowrap}
.woocommerce-cart-form td.product-subtotal{color:var(--clay-dark)}

/* ---- quantity ---- */
.woocommerce-cart-form .quantity{display:inline-flex;align-items:center;border:1px solid var(--hair);border-radius:999px;overflow:hidden;background:var(--paper)}
.woocommerce-cart-form .quantity .qty{
  width:56px;height:40px;border:0;background:none;text-align:center;font-weight:700;color:var(--ink);
  -moz-appearance:textfield;appearance:textfield;
}
.woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---- coupon + update ---- */
.woocommerce-cart-form .actions{padding:1rem!important}
.woocommerce-cart-form .actions .coupon{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.woocommerce-cart-form .actions .coupon .input-text{
  min-width:190px;height:44px;border:1px solid var(--hair);border-radius:10px;padding:0 .9rem;
  background:var(--paper);color:var(--ink);font-size:var(--fs-body);
}
.woocommerce-cart-form .actions button.button{
  height:44px;padding:0 1.3rem;border-radius:999px;border:1px solid var(--ink);
  background:var(--paper);color:var(--ink);font-weight:800;font-size:var(--fs-small);cursor:pointer;
  transition:all .15s var(--ease);
}
.woocommerce-cart-form .actions button.button:hover{background:var(--ink);color:#fff}
.woocommerce-cart-form .actions button.button:disabled{opacity:.45;cursor:not-allowed}

/* ---- totals box ---- */
.cart-collaterals{margin-top:1.75rem;display:flex;justify-content:flex-start}
.cart_totals{width:100%;max-width:430px;background:var(--paper);border:1px solid var(--hair);border-radius:var(--radius);padding:1.25rem;margin-inline-start:auto}
.cart_totals h2{font-size:1.05rem;font-weight:900;margin:0 0 .9rem}
.cart_totals table.shop_table{border:0;border-radius:0;background:none}
.cart_totals table.shop_table th,
.cart_totals table.shop_table td{padding:.6rem 0;border-bottom:1px solid var(--hair);font-size:var(--fs-small)}
.cart_totals table.shop_table th{background:none;color:var(--ink-muted);font-weight:600}
.cart_totals table.shop_table td{text-align:start;font-weight:700}
.cart_totals tr.order-total th{color:var(--ink);font-weight:800;font-size:var(--fs-body)}
.cart_totals tr.order-total td strong{font-size:1.15rem;font-weight:900}
.cart_totals .woocommerce-shipping-destination{font-size:var(--fs-tiny);color:var(--ink-muted)}
.wc-proceed-to-checkout{margin-top:1rem}
.wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.woocommerce-form-login .button,
.woocommerce-Button.button{
  display:grid;place-items:center;width:100%;min-height:52px;padding:0 1.5rem;
  background:var(--ink);color:#fff!important;border:0;border-radius:999px;
  font-weight:800;font-size:var(--fs-body);text-decoration:none;cursor:pointer;
  transition:background .2s var(--ease);
}
.wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover{background:var(--clay-dark)}

/* ---- empty cart ---- */
.cart-empty{text-align:center;font-weight:800;font-size:1.1rem;padding:2rem 0 .5rem}
.return-to-shop{text-align:center;padding-bottom:1.5rem}
.return-to-shop a.button{
  display:inline-grid;place-items:center;min-height:46px;padding:0 1.5rem;border-radius:999px;
  background:var(--ink);color:#fff!important;font-weight:800;font-size:var(--fs-small);text-decoration:none;
}
.woocommerce-cart .woocommerce-info{padding:.9rem 1.1rem}

/* ---- checkout ---- */
.woocommerce-checkout .woocommerce{display:block}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.25fr .9fr;gap:2rem;align-items:start;margin-top:1.5rem}
.woocommerce-checkout #customer_details{grid-column:1}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{grid-column:2}
.woocommerce-checkout #order_review_heading{margin-top:0;font-size:1.05rem;font-weight:900}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{width:auto;float:none;max-width:none}
.woocommerce-checkout h3{font-size:1rem;font-weight:900;margin:1.5rem 0 .75rem}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review{
  background:var(--paper);border:1px solid var(--hair);border-radius:var(--radius);padding:1.25rem;
}
.woocommerce-checkout .woocommerce-billing-fields h3{margin-top:0}
.woocommerce form .form-row{margin:0 0 .8rem;padding:0}
.woocommerce form .form-row label{display:block;font-size:var(--fs-small);font-weight:700;margin-bottom:.3rem;color:var(--ink-soft)}
.woocommerce form .form-row .required{color:var(--clay);text-decoration:none}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  width:100%;min-height:46px;border:1px solid var(--hair);border-radius:10px;background:var(--paper);
  padding:.6rem .85rem;font-size:var(--fs-body);color:var(--ink);box-shadow:none;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:32px;padding:0}
.woocommerce form .form-row textarea{min-height:96px;resize:vertical}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{border-color:var(--clay);outline:none}
.woocommerce-checkout-review-order table.shop_table td{padding:.7rem .9rem;border-bottom:1px solid var(--hair);font-size:var(--fs-small);vertical-align:top}
.woocommerce-checkout-review-order table.shop_table tfoot th,
.woocommerce-checkout-review-order table.shop_table tfoot td{background:var(--sand-50)}
.woocommerce-checkout-review-order table.shop_table td.product-thumbnail{width:64px}
.woocommerce-checkout-review-order table.shop_table td.product-thumbnail img{width:52px;height:52px;border-radius:8px;object-fit:cover}
#payment{background:none}
#payment ul.payment_methods{list-style:none;margin:0 0 1rem;padding:0;border-bottom:1px solid var(--hair)}
#payment ul.payment_methods li{margin:0;padding:.6rem 0;font-size:var(--fs-small);list-style:none}
#payment div.payment_box{background:var(--sand-100);border-radius:10px;padding:.75rem .9rem;font-size:var(--fs-small);color:var(--ink-soft);margin:.25rem 0 .75rem}
#payment div.payment_box::before{display:none}
.woocommerce-terms-and-conditions-wrapper{font-size:var(--fs-tiny);color:var(--ink-muted);margin-bottom:.9rem}

/* ---- notices inside cart/checkout ---- */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message{margin-top:1rem}

/* ---- my account ---- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:.6rem .85rem;border-radius:10px;font-size:var(--fs-small);font-weight:700;color:var(--ink-soft);text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--sand-200);color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-content{background:var(--paper);border:1px solid var(--hair);border-radius:var(--radius);padding:1.25rem}

/* ---- mobile: stack table rows ---- */
@media (max-width:768px){
  .woocommerce-cart-form table.shop_table thead{display:none}
  .woocommerce-cart-form table.shop_table,
  .woocommerce-cart-form table.shop_table tbody,
  .woocommerce-cart-form table.shop_table tr,
  .woocommerce-cart-form table.shop_table td{display:block;width:100%}
  .woocommerce-cart-form table.shop_table{border-radius:var(--radius)}
  .woocommerce-cart-form table.shop_table tr.cart_item{
    position:relative;padding:.9rem;border-bottom:1px solid var(--hair);
    display:grid;grid-template-columns:84px 1fr;grid-template-areas:"thumb name" "thumb price" "thumb qty" "thumb sub" "thumb remove";gap:.3rem .8rem;
  }
  .woocommerce-cart-form table.shop_table tr.cart_item:last-child{border-bottom:0}
  .woocommerce-cart-form td.product-thumbnail{grid-area:thumb;padding:0!important;width:84px;align-self:start}
  .woocommerce-cart-form td.product-name{grid-area:name;padding:0!important;border:0}
  .woocommerce-cart-form td.product-price{grid-area:price;padding:0!important;border:0;color:var(--ink-muted);font-size:var(--fs-small)}
  .woocommerce-cart-form td.product-quantity{grid-area:qty;padding:.35rem 0 0!important;border:0}
  .woocommerce-cart-form td.product-subtotal{grid-area:sub;padding:.35rem 0 0!important;border:0}
  .woocommerce-cart-form td.product-remove{
    grid-area:remove;position:static;width:auto;padding:.4rem 0 0!important;border:0;
  }
  .woocommerce-cart-form td.product-price::before,
  .woocommerce-cart-form td.product-subtotal::before{content:attr(data-title) " ";color:var(--ink-faint);font-weight:600;font-size:var(--fs-tiny)}
  .woocommerce-cart-form .quantity .qty{width:52px;height:38px}
  .woocommerce-cart-form .actions{padding:.9rem 0 0!important}
  .woocommerce-cart-form .actions .coupon{width:100%}
  .woocommerce-cart-form .actions .coupon .input-text{flex:1;min-width:0}
  .woocommerce-cart-form .actions button.button{width:100%;margin-top:.5rem}
  .cart-collaterals{display:block}
  .cart_totals{max-width:none;margin-inline-start:0}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;gap:1.25rem}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:1}
  .woocommerce-checkout .col2-set{grid-template-columns:1fr}
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:1.25rem}
}
