/* Checkout and account: visible field boundaries and clear grouping. */
main:is(.checkout-page,.registration-page) {
  --form-ink:#3f2a20;
  --form-muted:#675044;
  --form-border:#9b806b;
  --form-focus:#684735;
  --form-fill:#faf7f2;
  color:var(--form-ink);
}
main:is(.checkout-page,.registration-page) .account-intro {
  border-left:4px solid #a37d4e;
  padding-left:16px;
}
main:is(.checkout-page,.registration-page) .account-intro p,
main:is(.checkout-page,.registration-page) :is(.payment-footnote,small,.guest-intro) {
  color:var(--form-muted);
}
main.checkout-page .payment-card,
main.account-page.registration-page :is(.customer-form,.signin-card) {
  border:1px solid #cbb8a5;
  background:#fff;
  border-radius:16px;
}
main.checkout-page .checkout-review {border-top:4px solid #876243}
main.checkout-page .checkout-fields {
  min-width:0;
  margin:18px 0 0;
  padding:14px 16px 16px;
  border:1px solid #d5c2ad;
  border-radius:10px;
  background:#fff;
}
main.checkout-page .checkout-fields legend {
  padding:0 8px;
  font-weight:700;
  font-size:14px;
  color:var(--form-ink);
}
main.checkout-page .checkout-fields .form-grid {margin:0;gap:16px}
main.checkout-page .checkout-fields label,
main.checkout-page .coupon-box label,
main.account-page.registration-page .customer-form label {
  color:var(--form-ink);
  font-weight:700;
  font-size:14px;
}
main.checkout-page :is(.checkout-fields input,.checkout-fields select,.coupon-row input),
main.account-page.registration-page .customer-form :is(input:not([type=checkbox],[type=radio]),select) {
  min-width:0;
  min-height:46px;
  border:1px solid var(--form-border);
  border-radius:8px;
  background-color:var(--form-fill);
  color:var(--form-ink);
  font-size:16px;
}
main:is(.checkout-page,.registration-page) input::placeholder {
  color:#776154;
  opacity:1;
}
main.checkout-page :is(.checkout-fields input,.checkout-fields select,.coupon-row input):focus,
main.account-page.registration-page .customer-form :is(input:not([type=checkbox],[type=radio]),select):focus {
  background-color:#fff;
  border-color:var(--form-focus);
  outline:2px solid var(--form-focus);
  outline-offset:2px;
}
main:is(.checkout-page,.registration-page) label:focus-within {color:#67432c}
main.account-page.registration-page .customer-form input:read-only:not([type=checkbox],[type=radio]) {
  background:#f4efe8;
}
main.account-page.registration-page .customer-form h2 {
  border-bottom:1px solid #d5c2ad;
  padding-bottom:8px;
}
main.checkout-page .shipping-rate {
  background:var(--form-fill);
  border:1px solid var(--form-border);
  border-radius:8px;
  padding:12px;
}
main.checkout-page .shipping-rate:has(input:checked) {
  background:#edf1e7;
  border-color:#49603d;
  box-shadow:inset 0 0 0 1px #49603d;
}
main.checkout-page .shipping-rate input {accent-color:#49603d}
main.checkout-page .checkout-review .cart-total {
  margin:12px 0;
  padding:14px;
  background:var(--form-fill);
  border:0;
  border-radius:8px;
  color:var(--form-ink);
}
main.checkout-page .checkout-review .cart-total strong {color:var(--form-ink)}
main.checkout-page .checkout-review .form-status:empty {display:none}
@media(max-width:640px) {
  main.checkout-page .checkout-fields {padding:10px 12px 14px}
  main.checkout-page .coupon-row {grid-template-columns:minmax(0,1fr) auto}
  main.checkout-page .coupon-row .button {width:auto;padding-inline:12px}
}
