/* Checkout page: one clear form surface and consistent controls. */
.checkout-pro { padding-block: 32px 92px; }
.checkout-pro-grid { gap: 26px; }
.checkout-pro-main,
.checkout-order-card {
  min-width: 0;
  border: 1px solid #e8e8e8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 35px rgba(25, 26, 31, .045);
}
.checkout-pro-main { overflow: hidden; }
.checkout-step { padding: 28px 32px; }
.checkout-step + .checkout-step { border-top: 1px solid #ededed; }
.checkout-step > header { gap: 14px; margin-bottom: 20px; }
.checkout-step > header > span {
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 10px;
  background: #f5f5f5;
  color: #082c5d;
  font-size: 12px;
}
.checkout-step h2 { margin: 0 0 4px; font-size: clamp(20px, 2vw, 24px); line-height: 1.4; }
.checkout-step > header p { color: #74777d; font-size: 13px; line-height: 1.7; }
.checkout-fields { gap: 17px 18px; }
.checkout-fields label { gap: 8px; min-width: 0; color: #34363b; font-size: 13px; font-weight: 800; }
.checkout-fields input,
.checkout-step > textarea {
  width: 100%;
  min-height: 52px;
  padding: 11px 14px;
  border: 1px solid #dfe1e5;
  border-radius: 10px;
  outline: none;
  background: #fff;
  color: #24262a;
  font-size: 14px;
  line-height: 1.5;
  transition: border-color .18s, box-shadow .18s;
}
.checkout-fields input::placeholder,
.checkout-step > textarea::placeholder { color: #9a9da3; }
.checkout-fields input:focus,
.checkout-step > textarea:focus,
.checkout-coupon input:focus-visible {
  border-color: #082c5d;
  box-shadow: 0 0 0 3px rgba(8,44,93, .1);
}
.checkout-fields input[readonly] { background: #f7f8fa; color: #50545a; }
.checkout-fields input[dir="ltr"] { text-align: start; }
.checkout-fields .whatsapp-field input { padding-left: 44px; }
.checkout-fields .whatsapp-field i { bottom: 16px; left: 15px; right: auto; font-size: 18px; }
.checkout-note { margin-top: 16px; padding-top: 14px; border-top: 1px solid #f0f0f0; color: #74777d; font-size: 12px; line-height: 1.75; }
.checkout-methods { gap: 12px; }
.checkout-methods label {
  min-height: 87px;
  border-color: #e2e4e7;
  border-radius: 12px;
  background: #fff;
  transition: border-color .18s, background-color .18s;
}
.checkout-methods label.active { border-color: #082c5d; background: #fffafa; }
.checkout-methods label:focus-within { outline: 2px solid rgba(8,44,93, .24); outline-offset: 2px; }
.checkout-methods label > i { background: #f7f7f7; color: #082c5d; }
.checkout-methods strong,
.pickup-location strong { font-size: 13px; }
.checkout-methods small,
.pickup-location small { color: #74777d; font-size: 11px; line-height: 1.5; }
.checkout-methods label > span { min-width: 0; }
.pickup-location { border-color: #e8e8e8; background: #fafafa; }
.pickup-location[hidden],
.delivery-address[hidden] { display: none; }
.checkout-step > textarea { min-height: 112px; resize: vertical; }
.checkout-confirm { min-height: 54px; border-radius: 10px; background: #082c5d; font-size: 15px; }
.checkout-confirm:hover { background: #082c5d; }
.checkout-error { margin-bottom: 18px; padding: 14px 18px; border-radius: 11px; font-size: 13px; }
.checkout-order-card { padding: 23px; }
.checkout-order-card > h2 { margin-bottom: 12px; font-size: 22px; }
.checkout-order-items { min-width: 0; }
.checkout-order-items article { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 10px; border-color: #f0f0f0; }
.checkout-order-items img { width: 56px; height: 56px; background: #f7f8f9; }
.checkout-order-items span { min-width: 0; }
.checkout-order-items strong { color: #303238; font-size: 12px; line-height: 1.55; }
.checkout-order-items small { color: #74777d; font-size: 10px; line-height: 1.5; }
.checkout-order-items b { font-size: 11px; white-space: nowrap; }
.checkout-order-items .checkout-bundle-line { margin: 7px 0; padding: 10px; border: 1px solid #efdfd9; border-radius: 10px; background: #fffaf8; }
.checkout-coupon { flex: none; margin-top: 15px; padding: 13px; border-radius: 11px; background: #f7f8f9; }
.checkout-coupon > label { color: #303238; font-size: 12px; }
.checkout-coupon > div { border-color: #e0e2e5; background: #fff; }
.checkout-coupon input,
.checkout-coupon button { font-size: 12px; }
.checkout-coupon p { font-size: 11px; }
.checkout-totals { flex: none; }
.checkout-totals p { color: #60646b; font-size: 12px; }
.checkout-totals .final { font-size: 15px; }
.checkout-totals .final strong { font-size: 23px; }
.secure-order { flex: none; color: #74777d; font-size: 10px; }
@media (max-width: 900px) {
  .checkout-pro { padding-block: 24px 72px; }
  .checkout-order-card { position: static; }
}
@media (max-width: 620px) {
  .checkout-step { padding: 21px 17px; }
  .checkout-fields { gap: 15px; }
  .checkout-step h2 { font-size: 20px; }
  .checkout-methods label { min-height: 76px; }
  .checkout-confirm { width: calc(100% - 34px); margin: 0 17px 19px; }
  .checkout-order-card { padding: 18px; }
  .checkout-order-items strong { font-size: 11px; }
  .checkout-order-items b { font-size: 10px; }
}
