/* Hide default WC coupon toggle + form — coupon is in sidebar */
.woocommerce-form-coupon-toggle { display:none !important; }
.checkout_coupon.woocommerce-form-coupon,
.chk-before-form .checkout_coupon,
.chk-before-form form.checkout_coupon { display:none !important; }
.woocommerce-checkout .woocommerce-notices-wrapper:empty { display:none; }

/* ============================================
   CHECKOUT LOGIN NOTICE + FORM
   ============================================ */
.woocommerce-checkout .woocommerce-info {
  margin:0 0 4px;
  padding:14px 20px;
  border:1px solid var(--bdr);
  border-left:4px solid var(--c-p500);
  border-radius:var(--r-sm);
  background:var(--c-p50);
  color:var(--tx);
  font-size:13px;
  font-family:var(--fb);
  background-image:none !important;
}
.woocommerce-checkout .woocommerce-info::before { display:none !important; }
.woocommerce-checkout .woocommerce-info a {
  color:var(--c-p500);
  font-weight:600;
  text-decoration:none;
}
.woocommerce-checkout .woocommerce-info a:hover { text-decoration:underline; }

.woocommerce-checkout .woocommerce-form-login {
  max-width:480px;
  margin:0 0 16px;
  padding:24px;
  border:1px solid var(--bdr);
  border-radius:var(--r-lg);
  background:var(--bg);
  font-family:var(--fb);
  box-sizing:border-box;
}
.woocommerce-checkout .woocommerce-form-login p:first-of-type {
  font-size:13px;
  color:var(--txm);
  line-height:1.5;
  margin-bottom:16px;
}
.woocommerce-checkout .woocommerce-form-login .form-row {
  display:block;
  width:100%;
  float:none;
  margin-bottom:12px;
}
.woocommerce-checkout .woocommerce-form-login .form-row-first,
.woocommerce-checkout .woocommerce-form-login .form-row-last {
  width:100%;
  float:none;
}
.woocommerce-checkout .woocommerce-form-login label {
  font-size:12px;
  font-weight:600;
  color:var(--tx);
  margin-bottom:4px;
  display:block;
  font-family:var(--fb);
}
.woocommerce-checkout .woocommerce-form-login .input-text {
  width:100%;
  height:40px;
  padding:0 12px;
  border:1.5px solid var(--bdr);
  border-radius:var(--r-sm);
  font-size:13px;
  font-family:var(--fb);
  color:var(--tx);
  background:var(--bg);
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}
.woocommerce-checkout .woocommerce-form-login .input-text:focus {
  border-color:var(--bdrf);
  box-shadow:var(--sh-f);
}
.woocommerce-checkout .woocommerce-form-login .password-input {
  position:relative;
  display:block;
}
.woocommerce-checkout .woocommerce-form-login .show-password-input {
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:none;
  cursor:pointer;
  color:var(--txm);
  padding:4px;
}
.woocommerce-checkout .woocommerce-form-login .woocommerce-form__label-for-checkbox {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:var(--tx);
  cursor:pointer;
}
.woocommerce-checkout .woocommerce-form-login .woocommerce-form__label-for-checkbox input {
  width:16px;
  height:16px;
  min-height:0;
  accent-color:var(--c-p500);
  cursor:pointer;
}
.woocommerce-checkout .woocommerce-form-login .woocommerce-form-login__submit {
  height:40px;
  padding:0 24px;
  background:var(--c-p500);
  color:var(--txi);
  border:none;
  border-radius:var(--r-sm);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  font-family:var(--fb);
  transition:background .15s;
  margin-left:8px;
}
.woocommerce-checkout .woocommerce-form-login .woocommerce-form-login__submit:hover {
  background:var(--c-p600);
}
.woocommerce-checkout .woocommerce-form-login .lost_password {
  margin-top:8px;
}
.woocommerce-checkout .woocommerce-form-login .lost_password a {
  font-size:12px;
  color:var(--c-p500);
  text-decoration:none;
}
.woocommerce-checkout .woocommerce-form-login .lost_password a:hover {
  text-decoration:underline;
}
.woocommerce-checkout .woocommerce-form-login .clear { display:none; }

/* ============================================
   CHECKOUT TOPBAR + STEPS
   ============================================ */
.chk-topbar { background:var(--c-p500); border-bottom:1px solid var(--c-p600); padding:14px 32px; display:flex; align-items:center; justify-content:space-between; }
.chk-secure { display:flex; align-items:center; gap:6px; font-size:12px; color:rgba(255,255,255,.65); }
.chk-secure i { color:var(--c-a400); font-size:13px; flex-shrink:0; }
.chk-steps { padding:16px 32px; border-bottom:1px solid var(--bdr); display:flex; align-items:center; background:var(--bg); }
.chk-steps .pg-step { color:var(--txm); }
.chk-steps .pg-step--on { color:var(--tx); font-weight:700; }
.chk-steps .pg-step--done { color:var(--c-p500); }
.chk-steps .pg-step-sep { background:var(--bdr); }
.chk-steps .pg-step--done .pg-step-n { background:var(--c-a500); border-color:var(--c-a500); color:var(--c-n900); }
.chk-steps .pg-step--on .pg-step-n { background:var(--c-p500); border-color:var(--c-p500); color:var(--txi); }

/* ============================================
   TWO-COLUMN FORM LAYOUT
   ============================================ */
.chk-before-form { max-width:var(--wc-wrap); margin:0 auto; padding:18px var(--wc-pad) 0; display:grid; grid-template-columns:1fr var(--chk-sidebar); gap:0; }
.chk-before-form > * { grid-column:1; }
.chk-before-form .cart-pg-title { margin-bottom:10px; }
.chk-before-form .woocommerce-notices-wrapper:empty,
.chk-before-form .woocommerce-form-coupon-toggle,
.chk-before-form .checkout_coupon { display:none !important; }
.chk-before-form .woocommerce-form-login { display:none !important; }

/* Checkout login bar */
.chk-login-bar {
  display:flex; align-items:center; gap:8px;
  padding:12px 16px; background:var(--c-n100);
  border:1px solid var(--bdr); border-radius:var(--r-sm);
  font-size:13px; color:var(--tx2); margin-bottom:14px;
}
.chk-login-bar i { color:var(--c-p500); font-size:13px; }
.chk-login-toggle {
  background:none; border:none; padding:0;
  font-family:var(--fb); font-size:13px; font-weight:600;
  color:var(--c-p500); cursor:pointer; text-decoration:underline;
  text-underline-offset:2px;
}
.chk-login-toggle:hover { color:var(--c-p600); }
.chk-login-form {
  padding:20px; background:var(--bg);
  border:1px solid var(--bdr); border-radius:var(--r-sm);
  margin-bottom:14px;
}
.chk-login-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:14px; }
.chk-login-field { display:flex; flex-direction:column; gap:4px; }
.chk-login-field label { font-size:13px; font-weight:600; color:var(--tx); }
.chk-login-field input {
  height:44px; padding:0 14px;
  border:1.5px solid var(--bdr); border-radius:var(--r-sm);
  font-family:var(--fb); font-size:14px; color:var(--tx);
  background:var(--bg); outline:none; transition:border-color .2s;
}
.chk-login-field input:focus { border-color:var(--bdrf); box-shadow:var(--sh-f); }
.chk-login-actions { display:flex; align-items:center; gap:14px; margin-bottom:10px; }
.chk-login-btn {
  height:42px; padding:0 28px; border:none; border-radius:var(--r-sm);
  background:var(--c-p500); color:var(--txi);
  font-family:var(--fb); font-size:14px; font-weight:600;
  cursor:pointer; transition:background .2s;
}
.chk-login-btn:hover { background:var(--c-p600); }
.chk-login-remember { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--tx2); cursor:pointer; }
.chk-login-remember input { width:16px; height:16px; accent-color:var(--c-p500); }
.chk-login-lost { font-size:12px; color:var(--c-p500); text-decoration:none; }
.chk-login-lost:hover { text-decoration:underline; }

.chk-body { display:grid; grid-template-columns:1fr var(--chk-sidebar); gap:var(--wc-gap); padding:14px var(--wc-pad) 56px; background:var(--bg); align-items:start; max-width:var(--wc-wrap); margin:0 auto; }

/* ============================================
   LEFT COLUMN — WC FORM CARDS
   ============================================ */
.chk-main { display:flex; flex-direction:column; gap:14px; }
.chk-card { background:var(--bg); border:1px solid var(--bdr); border-radius:var(--r-lg); overflow:hidden; margin-bottom:0; box-shadow:var(--sh-xs); }
.chk-card-hdr { padding:12px 20px; background:var(--c-p50); border-bottom:1px solid var(--bdr); }
.chk-card-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--tx); font-family:var(--fb); margin:0; }
.chk-card-body { padding:18px 20px; }
.chk-full { grid-column:1/-1; }
/* WC fields inside chk-card */
.chk-card .woocommerce-billing-fields h3,
.chk-card .woocommerce-additional-fields h3 { display:none; }
/* Hide duplicate additional fields (order notes) inside shipping card */
.chk-card .woocommerce-additional-fields { display:none; }
/* Ship-to-different-address checkbox */
.chk-card .woocommerce-shipping-fields h3 { font-size:13px; font-weight:400; margin:0; padding:0; }
.chk-card .woocommerce-shipping-fields h3 label { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:400; cursor:pointer; }
.chk-card .woocommerce-shipping-fields h3 input[type="checkbox"] { width:16px; height:16px; accent-color:var(--c-p500); margin:0; cursor:pointer; }
.chk-card .woocommerce-shipping-fields .shipping_address { margin-top:14px; }
.chk-card .woocommerce-billing-fields__field-wrapper,
.chk-card .woocommerce-shipping-fields__field-wrapper,
.chk-card .woocommerce-additional-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0; }
.chk-card p.form-row { margin:0; }
.chk-card p.form-row.form-row-wide,
.chk-card p.form-row.address-field.form-row-wide { grid-column:1/-1; }
/* Force visual field order via CSS (WC JS overrides priority) */
.chk-card #billing_first_name_field  { order:10; }
.chk-card #billing_last_name_field   { order:20; }
.chk-card #billing_country_field     { order:30; grid-column:1/-1; }
.chk-card #billing_state_field       { order:35; grid-column:1/-1; }
.chk-card #billing_address_1_field   { order:40; grid-column:1/-1; }
.chk-card #billing_address_2_field   { order:50; grid-column:1/-1; }
.chk-card #billing_postcode_field    { order:60; grid-column:auto; }
.chk-card #billing_city_field        { order:70; grid-column:auto; }
.chk-card #billing_email_field       { order:90; grid-column:auto; }
.chk-card #billing_phone_field       { order:100; grid-column:auto; }
/* Shipping field order */
.chk-card #shipping_first_name_field { order:10; }
.chk-card #shipping_last_name_field  { order:20; }
.chk-card #shipping_country_field    { order:30; grid-column:1/-1; }
.chk-card #shipping_state_field      { order:35; grid-column:1/-1; }
.chk-card #shipping_address_1_field  { order:40; grid-column:1/-1; }
.chk-card #shipping_address_2_field  { order:50; grid-column:1/-1; }
.chk-card #shipping_postcode_field   { order:60; grid-column:auto; }
.chk-card #shipping_city_field       { order:70; grid-column:auto; }
/* Form field styling */
.chk-card label { font-size:12px; font-weight:600; color:var(--tx); margin-bottom:4px; display:block; font-family:var(--fb); }
.chk-card label .optional { font-weight:400; color:var(--txm); }
.chk-card .input-text,
.chk-card select { width:100%; height:44px; padding:0 12px; border:1.5px solid var(--bdr); border-radius:var(--r-sm); font-size:13px; font-family:var(--fb); color:var(--tx); background:var(--bg); outline:none; transition:border-color .15s,box-shadow .15s; }
.chk-card .input-text:focus,
.chk-card select:focus { border-color:var(--bdrf); box-shadow:var(--sh-f); }
.chk-card textarea.input-text { height:auto; min-height:80px; padding:10px 12px; resize:vertical; }
.chk-card .select2-container--default .select2-selection--single { height:44px; border:1.5px solid var(--bdr); border-radius:var(--r-sm); background:var(--bg); }
.chk-card .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:41px; font-size:13px; color:var(--tx); padding-left:12px; }
.chk-card .select2-container--default .select2-selection--single .select2-selection__arrow { height:42px; }
/* Select2 dropdown panel */
.select2-container--default .select2-dropdown { background:var(--bg); border-color:var(--bdr); font-size:13px; font-family:var(--fb); }
.select2-container--default .select2-search--dropdown .select2-search__field { border-color:var(--bdr); background:var(--bg); color:var(--tx); font-size:13px; }
.select2-container--default .select2-results__option { font-size:13px; padding:6px 12px; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background:var(--c-p500); }

/* ============================================
   RIGHT SIDEBAR
   ============================================ */
.chk-aside { background:var(--bg); border:1px solid var(--bdr); border-radius:var(--r-lg); box-shadow:var(--sh-sm); position:sticky; top:calc(var(--wp-admin--admin-bar--height,0px) + 70px); display:flex; flex-direction:column; align-self:start; }
.chk-aside-toggle { background:var(--c-p500); padding:15px 20px; display:none; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; user-select:none; border:none; width:100%; }
.chk-aside-toggle-icon { color:var(--c-a400); display:flex; align-items:center; flex-shrink:0; }
.chk-aside-toggle-lbl { font-family:var(--fd); font-size:17px; font-weight:400; color:var(--txi); flex:1; text-align:left; }
.chk-aside-toggle-total { font-family:var(--fd); font-size:17px; color:var(--txi); }
.chk-aside-toggle-chv { color:rgba(255,255,255,.5); flex-shrink:0; transition:transform .2s; }
.chk-aside-toggle.is-open .chk-aside-toggle-chv { transform:rotate(180deg); }
.chk-aside-items { border-bottom:1px solid var(--bdr); }
.chk-aside .mc-items { padding:6px 18px; overflow-y:auto; max-height:400px; }
.chk-aside .mc-line { padding:12px 0; }
.chk-aside .mc-thumb { width:56px; height:56px; }
.chk-aside .mc-name { font-size:13px; }
.chk-aside .mc-pr { margin-bottom:6px; }
.chk-aside .mc-price { font-size:13px; }
.chk-aside .mc-price-was { font-size:11px; }
.chk-aside .mc-dlabel { font-size:9px; }
.chk-aside .mini-cart-qty__btn { width:28px; height:28px; font-size:14px; }
.chk-aside .mini-cart-qty__value { width:30px; height:28px; font-size:12px; }
.chk-aside .mc-rm { font-size:11px; }
.chk-aside-thumb img { width:100%; height:100%; object-fit:cover; }
.chk-aside-qty { position:absolute; top:-5px; right:-5px; width:16px; height:16px; background:var(--c-p500); color:var(--txi); border-radius:50%; font-size:9px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.chk-aside-item-info { flex:1; }
.chk-aside-item-name { font-size:12px; font-weight:500; color:var(--tx); line-height:1.3; }
.chk-aside-item-meta { font-size:10px; color:var(--txm); margin-top:2px; }
.chk-aside-item-price { font-size:13px; font-weight:700; color:var(--tx); white-space:nowrap; }
/* Coupon styles moved to cart.css (shared) */
/* Totals, total, tax now reuse cart-aside-* classes from cart.css */
.chk-aside-trust { padding:12px 18px; border-top:1px solid var(--bdr); display:flex; flex-wrap:wrap; gap:7px 14px; }
.chk-aside-ti { display:flex; align-items:center; gap:7px; font-size:11px; color:var(--txm); }
.chk-aside-ti i { font-size:11px; flex-shrink:0; color:var(--c-a500); }

/* ============================================
   WC PAYMENT BLOCK
   ============================================ */
.chk-payment { background:var(--bg); border:1px solid var(--bdr); border-radius:var(--r-lg); overflow:hidden; }
.chk-payment #payment { background:transparent; border-radius:0; padding:0; }
.chk-payment #payment ul.payment_methods { padding:10px 14px; border-bottom:1px solid var(--bdr); margin:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
.chk-payment #payment ul.payment_methods li { display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; padding:14px; margin:0; border:1.5px solid var(--bdr); border-radius:var(--r-sm); transition:background .15s,border-color .15s; cursor:pointer; }
.chk-payment #payment ul.payment_methods li:has(input:checked) { background:var(--c-ok-lt); border-color:var(--c-ok-base); }
.chk-payment #payment ul.payment_methods li label { font-size:13px; font-weight:600; color:var(--tx); cursor:pointer; font-family:var(--fb); margin:0; padding:0; }
.chk-payment #payment ul.payment_methods li input.input-radio { width:16px; height:16px; accent-color:var(--c-ok-base); margin:0; cursor:pointer; flex-shrink:0; }
.chk-payment #payment div.payment_box { width:100%; background:transparent; padding:6px 0 0 26px; border-top:none; font-size:12px; color:var(--txm); margin:0; border-radius:0; }
/* Terms & conditions scrollbox */
#payment .woocommerce-terms-and-conditions-wrapper { padding:0; margin:0; }
#payment .woocommerce-terms-and-conditions { max-height:200px; overflow-y:auto; padding:14px 16px; margin:0 0 12px; border:1px solid var(--bdr); border-radius:var(--r-sm); background:var(--c-n50,#fafafa); font-size:12px; line-height:1.6; color:var(--tx2); font-family:var(--fb); }
/* Terms checkbox row */
#payment .woocommerce-terms-and-conditions-wrapper .form-row.validate-required { display:flex; align-items:flex-start; margin:0 0 12px; padding:0; }
#payment .woocommerce-terms-and-conditions-wrapper .form-row label.checkbox { display:inline-flex; align-items:flex-start; gap:8px; font-size:13px; font-family:var(--fb); cursor:pointer; margin:0; padding:0; line-height:1.5; }
#payment .woocommerce-terms-and-conditions-wrapper input.input-checkbox { width:16px; height:16px; min-width:16px; margin-top:2px; accent-color:var(--c-p500); cursor:pointer; flex-shrink:0; }
#payment .woocommerce-terms-and-conditions-checkbox-text { font-size:13px; color:var(--tx); font-family:var(--fb); }
/* Terms link */
#payment .woocommerce-terms-and-conditions-link,
#payment .woocommerce-terms-and-conditions-checkbox-text a { color:var(--c-p500) !important; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
#payment .woocommerce-terms-and-conditions-link:hover,
#payment .woocommerce-terms-and-conditions-checkbox-text a:hover { color:var(--c-p600) !important; }
/* Privacy policy text above terms */
#payment .woocommerce-privacy-policy-text { font-size:12px; color:var(--txm); line-height:1.5; margin:0 0 14px; font-family:var(--fb); }
#payment .woocommerce-privacy-policy-text a { color:var(--c-p500); text-decoration:underline; text-underline-offset:2px; }
.chk-payment #payment div.place-order { padding:16px 20px; }
.chk-payment #place_order { width:100%; height:48px; background:var(--c-a500); color:var(--c-n900); border:none; border-radius:var(--r-sm); font-size:15px; font-weight:700; cursor:pointer; font-family:var(--fb); letter-spacing:.03em; transition:background .15s,box-shadow .15s; box-shadow:var(--sh-sm); }
.chk-payment #place_order:hover { background:var(--c-a600); box-shadow:var(--sh-md); }
.chk-place-note { font-size:11px; color:var(--txm); text-align:center; margin-top:8px; line-height:1.6; }

/* ============================================
   THANKYOU / ORDER-RECEIVED PAGE
   ============================================ */
.woocommerce-order {
  max-width: 780px; margin: 0 auto; padding: 40px 20px 60px;
}

/* Hide default WC order details (in case plugins inject them) */
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details,
.woocommerce-order .woocommerce-notice--success.woocommerce-thankyou-order-received { display: none; }

/* Thankyou notices */
.ty-notice {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 20px 24px; border-radius: var(--r-lg);
  margin-bottom: 28px; line-height: 1.5;
}
.ty-notice i { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.ty-notice strong { display: block; font-size: 17px; font-weight: 700; margin-bottom: 2px; }
.ty-notice p { margin: 0; font-size: 14px; color: var(--tx2); }

.ty-notice--ok {
  background: var(--c-ok-lt); border: 1px solid var(--c-ok-dk);
}
.ty-notice--ok i { color: var(--c-ok-dk); }
.ty-notice--ok strong { color: var(--c-ok-dk); }

.ty-notice--err {
  background: var(--c-err-lt); border: 1px solid var(--c-err-dk);
}
.ty-notice--err i { color: var(--c-err-dk); }
.ty-notice--err strong { color: var(--c-err-dk); }

@media (max-width: 480px) {
  .woocommerce-order { padding: 24px 16px 40px; }
  .ty-notice { padding: 16px 18px; gap: 12px; }
  .ty-notice i { font-size: 18px; }
  .ty-notice strong { font-size: 15px; }
}
