/* ════════════════════════════════════════════════════
   KachaBazar — WooCommerce CSS Overrides v2
   ════════════════════════════════════════════════════ */

/* ── Base ── */
.kbz-wc-wrap { font-family: var(--font-body); color: var(--color-text-primary); }

/* ── WC Notices ── */
.woocommerce-info,.woocommerce-message,.woocommerce-error {
  padding:12px 16px;border-radius:8px;font-size:13.5px;margin-bottom:18px;list-style:none;border-top:none;
}
.woocommerce-info    { background:#eff6ff;color:#1e40af;border-left:4px solid #3b82f6; }
.woocommerce-message { background:#f0fdf4;color:#166534;border-left:4px solid #22c55e; }
.woocommerce-error   { background:#fef2f2;color:#991b1b;border-left:4px solid #ef4444;padding-left:16px; }
.woocommerce-error li { margin:0;padding:0; }
.woocommerce-info::before,.woocommerce-message::before { display:none; }
.woocommerce-breadcrumb { display:none !important; }
.woocommerce-Price-amount.amount { font-weight:700; }

/* ════ CART ═══════════════════════════════════════ */
/* Two-column grid: form left, totals right */
body.woocommerce-cart .kbz-wc-wrap .woocommerce {
  display:grid; grid-template-columns:1fr 340px; gap:22px; align-items:start;
}
body.woocommerce-cart .kbz-wc-wrap form.woocommerce-cart-form { grid-column:1; }
body.woocommerce-cart .kbz-wc-wrap .cart-collaterals { grid-column:2; }
@media(max-width:768px){
  body.woocommerce-cart .kbz-wc-wrap .woocommerce { grid-template-columns:1fr; }
}

/* Cart table */
.woocommerce table.shop_table {
  width:100%;border-collapse:collapse;background:white;
  border:1px solid var(--color-border);border-radius:12px;overflow:hidden;
}
.woocommerce table.shop_table thead th {
  padding:12px 18px;background:var(--color-bg-muted);border-bottom:1px solid var(--color-border);
  font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--color-text-muted);text-align:left;
}
.woocommerce table.shop_table td { padding:16px 18px;border-bottom:1px solid var(--color-border);vertical-align:middle; }
.woocommerce table.shop_table tbody tr:last-child td { border-bottom:none; }

/* Product cells */
.woocommerce table.cart td.product-thumbnail { width:80px;padding-right:0; }
.woocommerce table.cart td.product-thumbnail img {
  width:72px;height:72px;object-fit:contain;border-radius:8px;
  border:1px solid var(--color-border);padding:6px;background:white;margin:0;
}
.woocommerce table.cart td.product-name a {
  font-size:13.5px;font-weight:600;color:var(--color-text-primary);text-decoration:none;
}
.woocommerce table.cart td.product-name a:hover { color:var(--color-primary); }
.woocommerce table.cart td.product-name dl.variation { font-size:12px;color:var(--color-text-muted);margin-top:4px; }
.woocommerce table.cart td.product-price { font-size:14px;font-weight:600;color:var(--color-text-secondary); }
.woocommerce table.cart td.product-subtotal { font-size:14px;font-weight:700;color:var(--color-primary); }

/* Qty input */
.woocommerce .quantity .qty {
  width:56px;height:38px;border:1.5px solid var(--color-border);border-radius:8px;
  text-align:center;font-size:13.5px;font-weight:600;font-family:var(--font-display);
  color:var(--color-text-primary);padding:0 8px;outline:none;
}
.woocommerce .quantity .qty:focus { border-color:var(--color-primary); }

/* Remove button */
.woocommerce table.cart td.product-remove a.remove {
  width:28px;height:28px;border-radius:6px;background:#fef2f2;color:#ef4444 !important;
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;
  text-decoration:none;transition:all .15s;
}
.woocommerce table.cart td.product-remove a.remove:hover { background:#fee2e2; }

/* Buttons */
.woocommerce .cart .button,.woocommerce button.button,.woocommerce input.button {
  background:var(--color-primary) !important;color:white !important;border:none !important;
  padding:10px 20px;border-radius:8px;font-size:13.5px;font-weight:700;
  font-family:var(--font-display);cursor:pointer;transition:all .2s;text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
}
.woocommerce .cart .button:hover,.woocommerce button.button:hover {
  background:var(--color-primary-700) !important;transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(13,148,136,.3) !important;
}

/* Coupon row */
.woocommerce .coupon { display:flex;gap:10px;align-items:center;flex-wrap:wrap; }
.woocommerce .coupon input#coupon_code {
  padding:9px 13px;border:1.5px solid var(--color-border);border-radius:8px;
  font-size:13px;font-family:var(--font-body);outline:none;width:180px;
}
.woocommerce .coupon input#coupon_code:focus { border-color:var(--color-primary); }
.woocommerce .coupon .button { font-size:13px !important;padding:9px 16px !important; }

/* Cart actions */
.woocommerce .actions {
  display:flex;align-items:center;justify-content:space-between;padding:14px 18px;flex-wrap:wrap;gap:12px;
}
.woocommerce .actions .button[name="update_cart"] { background:var(--color-gray-900) !important; }
.woocommerce .actions .button[name="update_cart"]:hover { background:#1f2937 !important; }

/* Cart totals sidebar */
.woocommerce .cart_totals { background:white;border:1px solid var(--color-border);border-radius:12px;overflow:hidden; }
.woocommerce .cart_totals h2 {
  background:var(--color-bg-muted);padding:14px 20px;font-family:var(--font-display);
  font-size:14px;font-weight:700;color:var(--color-text-primary);
  border-bottom:1px solid var(--color-border);margin:0;
}
.woocommerce .cart_totals .shop_table { border:none !important;border-radius:0 !important; }
.woocommerce .cart_totals .shop_table td,.woocommerce .cart_totals .shop_table th { padding:10px 20px;border-bottom:1px solid var(--color-border); }
.woocommerce .cart_totals .order-total th,.woocommerce .cart_totals .order-total td { font-size:15px;font-weight:700;padding-top:14px; }
.woocommerce .cart_totals .order-total .woocommerce-Price-amount { color:var(--color-primary);font-size:20px;font-family:var(--font-display);font-weight:800; }
.woocommerce .wc-proceed-to-checkout { padding:16px 20px; }
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  background:var(--color-primary) !important;color:white !important;border:none !important;
  padding:13px 28px !important;border-radius:8px;font-size:14.5px !important;font-weight:700 !important;
  font-family:var(--font-display);display:block;text-align:center;text-decoration:none;
  transition:all .2s;width:100%;box-sizing:border-box;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  background:var(--color-primary-700) !important;transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(13,148,136,.3) !important;
}
.woocommerce-cart .cart-empty { text-align:center;padding:48px;font-size:15px; }
.woocommerce-cart .return-to-shop .button { background:var(--color-primary) !important;color:white !important;border-radius:8px;padding:11px 22px; }

/* ════ CHECKOUT ══════════════════════════════════ */
body.woocommerce-checkout .kbz-wc-wrap .woocommerce {
  display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:start;
}
@media(max-width:768px){
  body.woocommerce-checkout .kbz-wc-wrap .woocommerce { grid-template-columns:1fr; }
}

/* Checkout section headers */
.woocommerce-checkout h3 {
  font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-text-primary);
  padding:16px 24px;background:var(--color-bg-muted);border:1px solid var(--color-border);
  border-radius:12px 12px 0 0;margin:0;border-bottom:1px solid var(--color-border);
}
/* Field wrappers = card look */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
  background:white;border:1px solid var(--color-border);border-top:none;
  border-radius:0 0 12px 12px;padding:20px 24px;margin-bottom:16px;
}
/* Form fields */
.woocommerce form .form-row { margin-bottom:12px; }
.woocommerce form .form-row label {
  font-size:12px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em;
  margin-bottom:5px;display:block;
}
.woocommerce form .form-row label .required { color:#ef4444; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  width:100%;padding:10px 13px;border:1.5px solid var(--color-gray-300);border-radius:8px;
  font-size:13.5px;font-family:var(--font-body);color:var(--color-text-primary);background:white;
  transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(13,148,136,.1);
}
.woocommerce form .form-row select {
  width:100%;padding:10px 36px 10px 13px;border:1.5px solid var(--color-gray-300);border-radius:8px;
  font-size:13.5px;font-family:var(--font-body);color:var(--color-text-primary);
  background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
  -webkit-appearance:none;appearance:none;outline:none;box-sizing:border-box;transition:border-color .2s;
}
.woocommerce form .form-row select:focus { border-color:var(--color-primary); }
.woocommerce form .form-row-first,.woocommerce form .form-row-last {
  width:calc(50% - 7px);display:inline-block;
}
.woocommerce form .form-row-first { margin-right:14px; }
@media(max-width:600px) {
  .woocommerce form .form-row-first,.woocommerce form .form-row-last { width:100%;display:block;margin-right:0; }
}

/* Order review (right column) */
#order_review_heading {
  font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-text-primary);
  padding:14px 20px;background:var(--color-bg-muted);border:1px solid var(--color-border);
  border-radius:12px 12px 0 0;margin:0;display:block;
}
#order_review {
  background:white;border:1px solid var(--color-border);border-top:none;
  border-radius:0 0 12px 12px;padding:0;
  position:sticky;top:calc(var(--header-height) + 20px);
}
.woocommerce-checkout-review-order-table { border:none !important;border-radius:0 !important;margin:0 !important; }
.woocommerce-checkout-review-order-table thead th { background:transparent;padding:12px 20px; }
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th { padding:10px 20px !important; }
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
  color:var(--color-primary);font-size:18px;font-family:var(--font-display);font-weight:800;
}
/* Payment section */
#payment { background:white;border:1px solid var(--color-border);border-radius:12px;margin-top:16px;overflow:hidden; }
#payment ul.payment_methods { padding:16px 20px;margin:0;list-style:none; }
#payment ul.payment_methods li {
  padding:12px 16px;border:1.5px solid var(--color-border);border-radius:10px;margin-bottom:10px;cursor:pointer;transition:border-color .15s;
}
#payment ul.payment_methods li:hover { border-color:var(--color-primary); }
#payment ul.payment_methods li input[type="radio"] { accent-color:var(--color-primary); }
#payment ul.payment_methods li label { font-weight:600;font-size:13.5px;cursor:pointer; }
#payment ul.payment_methods li .payment_box { background:var(--color-bg-muted);border-radius:8px;padding:12px;margin-top:10px;font-size:13px;color:var(--color-text-secondary); }
#payment .place-order { padding:16px 20px;background:var(--color-bg-muted);border-top:1px solid var(--color-border); }
#place_order {
  background:var(--color-primary) !important;color:white !important;border:none !important;
  width:100%;padding:14px 28px;border-radius:8px;font-size:15px;font-weight:700;
  font-family:var(--font-display);cursor:pointer;transition:all .2s;display:block;
}
#place_order:hover { background:var(--color-primary-700) !important;transform:translateY(-1px);box-shadow:0 4px 14px rgba(13,148,136,.3) !important; }
@media(max-width:768px){ #order_review { position:static; } }

/* ════ MY ACCOUNT ════════════════════════════════ */
body.woocommerce-account .kbz-wc-wrap .woocommerce {
  display:grid;grid-template-columns:240px 1fr;gap:22px;align-items:start;
}
@media(max-width:768px){
  body.woocommerce-account .kbz-wc-wrap .woocommerce { grid-template-columns:1fr; }
}
/* Sidebar nav */
.woocommerce-MyAccount-navigation { background:white;border:1px solid var(--color-border);border-radius:12px;overflow:hidden; }
.woocommerce-MyAccount-navigation ul { padding:6px 0;margin:0;list-style:none; }
.woocommerce-MyAccount-navigation ul li a {
  display:flex;align-items:center;gap:10px;padding:11px 20px;font-size:13.5px;font-weight:600;
  color:var(--color-text-secondary);cursor:pointer;transition:all .15s;text-decoration:none;border-left:3px solid transparent;
}
.woocommerce-MyAccount-navigation ul li a:hover { background:var(--color-bg-muted);color:var(--color-primary); }
.woocommerce-MyAccount-navigation ul li.is-active a { background:rgba(13,148,136,.06);color:var(--color-primary);border-left-color:var(--color-primary); }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a { color:#ef4444; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background:#fef2f2;color:#dc2626; }
/* Main content */
.woocommerce-MyAccount-content { background:white;border:1px solid var(--color-border);border-radius:12px;padding:24px; }
.woocommerce-MyAccount-content h2 { font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-text-primary);padding-bottom:14px;border-bottom:1px solid var(--color-border);margin-bottom:20px; }
/* Orders table */
.woocommerce-account .woocommerce-orders-table { width:100%;border-collapse:collapse; }
.woocommerce-account .woocommerce-orders-table th { text-align:left;padding:11px 16px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);background:var(--color-bg-muted);border-bottom:1px solid var(--color-border); }
.woocommerce-account .woocommerce-orders-table td { padding:13px 16px;border-bottom:1px solid var(--color-border);font-size:13.5px; }
.woocommerce-account .woocommerce-orders-table tr:last-child td { border-bottom:none; }
/* Status badges */
mark.order-status { background:none; }
mark.order-status.status-completed    { background:#f0fdf4;color:#16a34a;display:inline-flex;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:600; }
mark.order-status.status-processing   { background:#eff6ff;color:#2563eb;display:inline-flex;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:600; }
mark.order-status.status-on-hold,
mark.order-status.status-pending      { background:#fffbeb;color:#d97706;display:inline-flex;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:600; }
mark.order-status.status-cancelled    { background:#fef2f2;color:#dc2626;display:inline-flex;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:600; }
/* Account buttons */
.woocommerce-account .button,.woocommerce-account .woocommerce-Button {
  background:var(--color-primary);color:white;border:none;padding:9px 18px;border-radius:8px;
  font-size:13px;font-weight:700;font-family:var(--font-display);cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:5px;transition:all .2s;
}
.woocommerce-account .button:hover,.woocommerce-account .woocommerce-Button:hover { background:var(--color-primary-700);color:white; }

/* ════ LOGIN / REGISTER ══════════════════════════ */
body.woocommerce-account:not(.logged-in) .kbz-wc-wrap .woocommerce {
  display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:0 auto;
}
.kbz-wc-wrap .u-column1,.kbz-wc-wrap .u-column2 {
  background:white;border:1px solid var(--color-border);border-radius:14px;padding:32px;
}
.kbz-wc-wrap .u-column1 h2,.kbz-wc-wrap .u-column2 h2 {
  font-family:var(--font-display);font-size:1.35rem;font-weight:800;color:var(--color-text-primary);margin-bottom:20px;border:none;padding:0;
}
.woocommerce-account .woocommerce-form-login .woocommerce-Button,
.woocommerce-account .woocommerce-form-register .woocommerce-Button {
  background:var(--color-primary);color:white;border:none;padding:11px 22px;border-radius:8px;
  font-size:14px;font-weight:700;font-family:var(--font-display);cursor:pointer;
  width:100%;margin-top:6px;transition:all .2s;display:block;text-align:center;
}
.woocommerce-account .woocommerce-form-login .woocommerce-Button:hover,
.woocommerce-account .woocommerce-form-register .woocommerce-Button:hover { background:var(--color-primary-700); }
.woocommerce-account .woocommerce-LostPassword { font-size:12.5px;margin-top:10px; }
.woocommerce-account .woocommerce-LostPassword a,.woocommerce-account .woocommerce-privacy-policy-text a { color:var(--color-primary);font-weight:600; }
@media(max-width:768px){
  body.woocommerce-account:not(.logged-in) .kbz-wc-wrap .woocommerce { grid-template-columns:1fr; }
  .kbz-wc-wrap .u-column1,.kbz-wc-wrap .u-column2 { padding:24px; }
}
/* Account form fields */
.woocommerce-account form .form-row { margin-bottom:12px; }
.woocommerce-account form .form-row label { font-size:12px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em;margin-bottom:5px;display:block; }
.woocommerce-account form .form-row input { width:100%;padding:10px 13px;border:1.5px solid var(--color-gray-300);border-radius:8px;font-size:13.5px;font-family:var(--font-body);color:var(--color-text-primary);background:white;transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box; }
.woocommerce-account form .form-row input:focus { border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(13,148,136,.1); }
