/* Small presentation refinements; no form, service or payment behaviour changes. */
body.checkout-page main {
 border:1px solid #dce5ef;
 border-radius:12px;
}
.checkout-page .checkout-request-intro {
 background:#f4f7fb;
 border:1px solid #dce5ef;
 border-left:2px solid #8aacc9;
 border-radius:8px;
 padding:12px 14px;
 line-height:1.6;
 color:#344d6a;
}
.checkout-page .checkout-request-intro strong {color:#0b2345;font-weight:650}
.checkout-page .checkout-layout .checkout-section-heading h2,
.checkout-page .checkout-layout #checkout-details-heading,
.checkout-page .checkout-layout .checkout-delivery-heading {
 display:flex;
 align-items:center;
 gap:8px;
 color:#0b2345;
 line-height:1.4;
}
.checkout-page .checkout-layout .checkout-step {
 width:26px;
 height:26px;
 margin:0;
 background:#edf3fa;
 color:#285b88;
 border:1px solid #dce5ef;
 font-size:12px;
 font-weight:650;
}
.checkout-page .checkout-contact-fields,
.checkout-page #customer-address .enquiry-fields {row-gap:12px}
.checkout-page .checkout-contact-fields input,
.checkout-page #customer-address input:not([type=hidden]),
.checkout-page #customer-address textarea,
.checkout-page #delivery-details select,
.checkout-page #delivery-details textarea,
.checkout-page .checkout-service-field > select {
 height:auto;
 min-height:46px;
 padding:10px 12px;
 border:1px solid #bbcbdc;
 border-radius:8px;
 background:#fff;
 color:#0b2345;
 font-size:16px;
 line-height:1.4;
}
.checkout-page #customer-address textarea,
.checkout-page #delivery-details textarea {min-height:72px}
.checkout-page :is(.checkout-contact-fields,#customer-address,#delivery-details) label {
 color:#0b2345;
 font-weight:600;
 line-height:1.5;
}
.checkout-page :is(.checkout-contact-fields,#customer-address,#delivery-details) :is(input,textarea,select):focus-visible {
 outline:2px solid #087ade;
 outline-offset:2px;
}
.checkout-page .checkout-layout .checkout-final-row {
 border:1px solid #dce5ef;
 background:#f4f7fb;
 padding:16px;
 border-radius:12px;
}
.checkout-page .checkout-layout .checkout-summary-brief p {padding:8px 0;line-height:1.45}
.checkout-page .checkout-layout .checkout-summary-brief p + p {border-top:1px solid #dce5ef}
.checkout-page .checkout-layout .checkout-summary-brief small {margin-top:3px;color:#52657d}
.checkout-page .checkout-layout #collection-pricing {border-top:1px solid #dce5ef;padding-top:12px}
.checkout-page .checkout-layout .checkout-price-row {gap:8px 16px;line-height:1.5}
.checkout-page .checkout-layout .checkout-price-row > :last-child {font-variant-numeric:tabular-nums}
.checkout-page .checkout-layout .total.checkout-price-row {
 padding-top:12px;
 margin-top:12px;
 border-top:1px solid #dce5ef;
 align-items:baseline;
}
.checkout-page .checkout-layout #checkout-total {color:#0b2345;font-weight:750}
.checkout-page .checkout-layout .checkout-submit button {
 min-height:48px;
 border-radius:8px;
 font-weight:650;
}
.checkout-page .checkout-layout .checkout-next-step {line-height:1.5;margin-top:10px;color:#52657d}
.checkout-page .checkout-layout .checkout-next-step strong {color:#0b2345}
.checkout-page .checkout-layout .checkout-privacy {line-height:1.55;margin-top:12px}
/* Keep review-stage summary styling aligned with the form, without moving details. */
.checkout-page .review-section {border-color:#dce5ef;border-radius:12px}
.checkout-page .review-totals {background:#f4f7fb}
.checkout-page .review-price-list dd {font-variant-numeric:tabular-nums}
@media(max-width:560px){
 .checkout-page main {padding:18px}
 .checkout-page .checkout-request-intro {padding:11px 12px;font-size:13px}
 .checkout-page .checkout-layout .checkout-final-row {padding:14px}
}

/* A compact floating summary, clear of the iPhone home indicator. */
@media(max-width:700px){
 body.checkout-page .checkout-mobile-review {
  left:12px;
  right:12px;
  bottom:max(10px,env(safe-area-inset-bottom,0px));
  width:auto;
  max-width:660px;
  margin:0 auto;
  box-sizing:border-box;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  padding:12px;
  background:#fff;
  border:1px solid #dce5ef;
  border-radius:14px;
  box-shadow:0 6px 24px #0b23451f;
 }
 body.checkout-page .checkout-mobile-review > div {padding-left:2px}
 body.checkout-page .checkout-mobile-review small {
  font-size:11px;
  line-height:15px;
  color:#60728a;
 }
 body.checkout-page .checkout-mobile-review strong {
  margin-top:3px;
  font-size:24px;
  line-height:28px;
  letter-spacing:-.5px;
  font-variant-numeric:tabular-nums;
 }
 body.checkout-page .checkout-mobile-review button {
  width:100%;
  min-width:0;
  min-height:46px;
  padding:10px 8px;
  font-size:14px;
  font-weight:600;
  line-height:20px;
  border-radius:9px;
 }
 body.checkout-page .checkout-mobile-review button:not(:disabled) {
  background:#087ade;
  border:1px solid #087ade;
  color:#fff;
  box-shadow:none;
 }
 body.checkout-page .checkout-mobile-review button:disabled {
  background:#eef2f7;
  border:1px solid #e3eaf2;
  color:#63738a;
 }
 body.checkout-page.checkout-ease main {
  padding-bottom:calc(112px + env(safe-area-inset-bottom,0px));
 }
}
