/* RSL Checkout Pro — black & white, matched to researchsupplies.co.uk */
:root{
  --rsl-ink:#fff; --rsl-paper:#111; --rsl-mute:#a3a3a3; --rsl-line:#333;
  --rsl-soft:#1b1b1b; --rsl-ok:#4ade80; --rsl-warn:#fbbf24; --rsl-err:#f87171;
}

/* ---------- layout ---------- */
body.woocommerce-checkout form.checkout.woocommerce-checkout{ margin-top:8px; }
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{ width:100% !important; float:none !important; max-width:none; }

@media (min-width:922px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{
    display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
    column-gap:56px; align-items:start;
  }
  form.checkout .woocommerce-NoticeGroup{ grid-column:1 / -1; grid-row:1; }
  form.checkout #customer_details{ grid-column:1; grid-row:2 / span 2; width:auto !important; float:none !important; margin:0 !important; }
  form.checkout #order_review_heading{ grid-column:2; grid-row:2; width:auto !important; float:none !important; margin:0 0 12px !important; }
  form.checkout #order_review{
    grid-column:2; grid-row:3; width:auto !important; float:none !important; margin:0 !important;
    position:sticky; top:24px;
  }
  body.admin-bar form.checkout #order_review{ top:56px; }
}

/* ---------- headings ---------- */
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout #order_review_heading,
.rslcp-pay-heading{
  font-size:1.15rem; font-weight:600; letter-spacing:-.01em; color:var(--rsl-ink);
  border:0; padding:0; margin:0 0 14px;
}
body.woocommerce-checkout #customer_details .col-2 h3{ margin-top:24px; }

/* ---------- fields ---------- */
body.woocommerce-checkout .form-row{ margin:0 0 14px; padding:0; }
body.woocommerce-checkout .form-row label{ font-size:.875rem; font-weight:500; color:var(--rsl-ink); margin-bottom:6px; display:block; }
body.woocommerce-checkout .form-row .required{ color:var(--rsl-mute); text-decoration:none; }
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single{
  border:1px solid var(--rsl-line) !important; border-radius:8px !important; background:var(--rsl-paper) !important;
  padding:12px 14px !important; min-height:48px; font-size:16px; box-shadow:none !important; color:var(--rsl-ink);
}
body.woocommerce-checkout .select2-container .select2-selection--single{ padding:0 !important; display:flex; align-items:center; }
body.woocommerce-checkout .select2-container .select2-selection__rendered{ padding-left:14px !important; line-height:46px !important; color:var(--rsl-ink) !important; }
body.woocommerce-checkout .select2-container .select2-selection__arrow{ height:46px !important; right:8px !important; }
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection{ border-color:var(--rsl-ink) !important; outline:2px solid var(--rsl-ink); outline-offset:0; }
body.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{ border-color:var(--rsl-err) !important; }

/* postcode lookup */
.rslcp-pc-wrap{ display:flex; gap:8px; }
.rslcp-pc-wrap input{ flex:1; min-width:0; }
.rslcp-pc-btn{
  flex:none; border:1px solid var(--rsl-ink) !important; background:var(--rsl-paper) !important; color:var(--rsl-ink) !important;
  border-radius:8px !important; padding:0 16px !important; font-weight:600; font-size:.875rem; min-height:48px; cursor:pointer;
}
.rslcp-pc-btn:hover{ background:var(--rsl-ink) !important; color:var(--rsl-paper) !important; }
.rslcp-pc-select{ width:100%; margin-top:8px; border:1px solid var(--rsl-line); border-radius:8px; padding:12px 14px; min-height:48px; font-size:16px; background:var(--rsl-paper); }
.rslcp-pc-msg{ font-size:.8125rem; color:var(--rsl-mute); margin:6px 0 0; }

/* ---------- order summary ---------- */
body.woocommerce-checkout #order_review{
  background:var(--rsl-soft); border-radius:12px; padding:24px;
}
body.woocommerce-checkout table.shop_table{ border:0 !important; margin:0 0 20px; background:transparent; }
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td{ border:0 !important; border-bottom:1px solid var(--rsl-line) !important; padding:12px 0 !important; background:transparent !important; }
body.woocommerce-checkout table.shop_table thead{ display:none; }
body.woocommerce-checkout table.shop_table td.product-total,
body.woocommerce-checkout table.shop_table tfoot td{ text-align:right; }
body.woocommerce-checkout table.shop_table .product-quantity{ color:var(--rsl-mute); font-weight:400; }
body.woocommerce-checkout table.shop_table tr.fee td{ color:var(--rsl-ok); }
body.woocommerce-checkout table.shop_table tr.order-total th,
body.woocommerce-checkout table.shop_table tr.order-total td{ font-size:1.25rem; font-weight:700; border-bottom:0 !important; padding-top:16px !important; }

.rslcp-delivery{ font-size:.875rem; color:var(--rsl-mute); margin:-6px 0 14px; }

/* ---------- payment methods ---------- */
body.woocommerce-checkout #payment{ background:transparent !important; border-radius:0; }
body.woocommerce-checkout #payment ul.payment_methods{ border:0 !important; padding:0 !important; margin:0 0 16px !important; display:grid; gap:10px; }
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{
  list-style:none; margin:0 !important; background:var(--rsl-paper); border:1.5px solid var(--rsl-line);
  border-radius:10px; padding:0 !important; overflow:hidden; transition:border-color .15s ease;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(> input:checked){ border-color:var(--rsl-ink); }
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio{
  position:absolute; opacity:0; width:1px; height:1px;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; margin:0 !important;
  padding:16px 16px 16px 48px; cursor:pointer; position:relative; font-weight:600; font-size:.95rem; line-height:1.3; color:var(--rsl-ink) !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label::before{
  content:""; position:absolute; left:16px; top:50%; width:20px; height:20px; margin-top:-10px;
  border:1.5px solid #9a9a9a; border-radius:50%; background:var(--rsl-paper); box-sizing:border-box;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input:checked + label::before{
  border:6px solid var(--rsl-ink);
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input:focus-visible + label{ outline:2px solid var(--rsl-ink); outline-offset:-4px; border-radius:10px; }
body.woocommerce-checkout #payment ul.payment_methods li > label img{ max-height:22px; width:auto; margin:0 !important; }

.rslcp-tags{ display:inline-flex; gap:6px; margin-left:auto; flex-wrap:wrap; }
.rslcp-tag{
  font-size:.75rem; font-weight:600; line-height:1; padding:6px 8px; border-radius:999px;
  background:var(--rsl-soft); color:var(--rsl-ink); white-space:nowrap;
}
.rslcp-tag.rslcp-save{ background:var(--rsl-ink); color:var(--rsl-paper); }

body.woocommerce-checkout #payment div.payment_box{
  background:var(--rsl-soft) !important; color:var(--rsl-ink); margin:0 !important; border-radius:0;
  padding:14px 16px 16px 48px !important; font-size:.875rem; border-top:1px solid var(--rsl-line);
}
body.woocommerce-checkout #payment div.payment_box::before{ display:none !important; }
body.woocommerce-checkout #payment div.payment_box p:last-child{ margin-bottom:0; }

/* returns tick + place order */
body.woocommerce-checkout #payment .place-order{ padding:0 !important; margin:0; }
.rslcp-returns{ background:var(--rsl-paper); border:1px solid var(--rsl-line); border-radius:10px; padding:12px 14px !important; margin:0 0 14px !important; }
.rslcp-returns label{ display:flex !important; gap:10px; align-items:flex-start; font-weight:400 !important; font-size:.875rem !important; margin:0 !important; cursor:pointer; }
.rslcp-returns input{ margin-top:3px; width:18px; height:18px; accent-color:var(--rsl-ink); flex:none; }
.rslcp-returns abbr{ display:none; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ font-size:.8125rem; color:var(--rsl-mute); }
body.woocommerce-checkout #place_order{
  width:100%; float:none; background:var(--rsl-ink) !important; color:var(--rsl-paper) !important;
  border:0 !important; border-radius:10px !important; padding:18px 20px !important;
  font-size:1rem !important; font-weight:600 !important; letter-spacing:0; text-transform:none; margin-top:6px;
}
body.woocommerce-checkout #place_order:hover{ background:#e5e5e5 !important; }
body.woocommerce-checkout #place_order:focus-visible{ outline:2px solid var(--rsl-ink); outline-offset:3px; }

/* ---------- notes ---------- */
.rslcp-note{
  border:1px solid var(--rsl-line); border-left:4px solid var(--rsl-ink); background:var(--rsl-paper);
  padding:12px 16px; border-radius:8px; margin:0 0 20px; font-size:.9rem; color:var(--rsl-ink);
}

/* coupon toggle quieter */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:transparent; border:0; padding:0 0 12px; color:var(--rsl-mute); font-size:.875rem;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{ display:none; }

/* ---------- USDT payment box (thank-you / view order) ---------- */
.rslcp-usdt{ border:1.5px solid var(--rsl-ink); border-radius:12px; padding:24px; margin:0 0 32px; background:var(--rsl-paper); }
.rslcp-usdt h2{ font-size:1.25rem; margin:0 0 8px; }
.rslcp-usdt-warn{ font-size:.875rem; color:var(--rsl-warn); background:#2a2210; border-radius:8px; padding:10px 12px; }
.rslcp-usdt-grid{ display:grid; grid-template-columns:160px 1fr; gap:24px; align-items:center; margin:16px 0 20px; }
@media (max-width:600px){ .rslcp-usdt-grid{ grid-template-columns:1fr; justify-items:start; } }
.rslcp-qr{ width:160px; height:160px; padding:10px; background:#fff; border:1px solid var(--rsl-line); border-radius:8px; box-sizing:border-box; }
.rslcp-qr img, .rslcp-qr canvas{ width:100% !important; height:auto !important; }
.rslcp-usdt dl{ margin:0; }
.rslcp-usdt dt{ font-size:.8125rem; color:var(--rsl-mute); margin:0 0 4px; }
.rslcp-usdt dd{ margin:0 0 14px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.rslcp-mono{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.95rem; }
.rslcp-break{ word-break:break-all; }
.rslcp-copy{ border:1px solid var(--rsl-ink); background:var(--rsl-paper); color:var(--rsl-ink); border-radius:6px; padding:4px 10px; font-size:.8125rem; font-weight:600; cursor:pointer; }
.rslcp-copy.is-done{ background:var(--rsl-ink); color:var(--rsl-paper); }
.rslcp-tx-form label{ display:block; font-weight:600; font-size:.9rem; margin-bottom:6px; }
.rslcp-tx-form input[type=text]{ width:100%; border:1px solid var(--rsl-line); border-radius:8px; padding:12px 14px; font-size:15px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; margin-bottom:10px; box-sizing:border-box; }
.rslcp-tx-form .button{ background:var(--rsl-ink) !important; color:var(--rsl-paper) !important; border-radius:8px !important; padding:12px 18px !important; border:0 !important; }
.rslcp-usdt-error{ color:var(--rsl-err); font-weight:600; }
.rslcp-usdt-status{ color:var(--rsl-ok); font-weight:500; }
.rslcp-small{ font-size:.8125rem; color:var(--rsl-mute); margin:10px 0 0; }

@media (prefers-reduced-motion:reduce){ body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{ transition:none; } }
