/* Comfortable fallback while the staged checkout initializes. */
.of-basket-summary{box-sizing:border-box;padding:clamp(28px,4vw,52px)!important}
.of-basket-summary:has(.of-checkout-wizard){padding:0!important}
.of-basket-summary:not(:has(.of-checkout-wizard)){max-width:1120px;margin-left:auto;margin-right:auto}
.of-basket-summary:not(:has(.of-checkout-wizard))>dl,
.of-basket-summary:not(:has(.of-checkout-wizard))>form,
.of-basket-summary:not(:has(.of-checkout-wizard))>small,
.of-basket-summary:not(:has(.of-checkout-wizard))>h2,
.of-basket-summary:not(:has(.of-checkout-wizard))>.of-kicker{max-width:960px;margin-left:auto;margin-right:auto}
.of-basket-summary:not(:has(.of-checkout-wizard))>form{padding-top:24px;padding-bottom:24px}
.of-basket-summary:not(:has(.of-checkout-wizard))>dl{padding:10px 0 22px}
.of-basket-summary:not(:has(.of-checkout-wizard)) .of-total{margin-top:14px!important;padding-top:24px!important}
.of-basket-summary:not(:has(.of-checkout-wizard)) .of-checkout-form{gap:18px}
.of-basket-summary:not(:has(.of-checkout-wizard)) .of-delivery-address{padding:clamp(20px,3vw,34px)}

/* Staged checkout proportions and section rhythm. */
.of-checkout-wizard{max-width:1180px;margin:0 auto}
.of-wizard-head{padding-left:clamp(28px,5vw,64px)!important;padding-right:clamp(28px,5vw,64px)!important}
.of-wizard-stage{width:100%;max-width:920px;box-sizing:border-box;padding:clamp(30px,5vw,62px)!important}
.of-wizard-stage .of-checkout-form,.of-wizard-stage .of-fulfilment-form,.of-wizard-stage>dl,.of-wizard-stage .of-discount-form{width:100%;box-sizing:border-box}
.of-wizard-stage .of-checkout-form{gap:18px}
.of-wizard-stage .of-checkout-form>label,.of-wizard-stage .of-address-grid>label{display:block}
.of-wizard-stage .of-delivery-address{margin-top:8px;padding:clamp(22px,4vw,38px)!important;background:#fbfcfe}
.of-wizard-stage .of-delivery-address legend{padding:0 10px}
.of-wizard-stage .of-create-account{padding:clamp(20px,3vw,30px)}
.of-wizard-stage .of-fulfilment-form{padding:clamp(22px,3vw,32px);border:1px solid #dbe3ef;border-radius:16px;background:#fff}
.of-wizard-stage .of-fulfilment-form fieldset label{padding:12px 0}
.of-wizard-stage .of-collection-location{margin-top:20px}
.of-wizard-stage .of-delivery-result{padding:clamp(20px,3vw,30px);margin-top:20px}
.of-wizard-stage>dl{padding:22px clamp(18px,3vw,30px);border:1px solid #dbe3ef;border-radius:16px;background:#fbfcfe}
.of-wizard-stage>dl .of-total{margin-top:14px!important;padding-top:22px!important}
.of-wizard-stage .of-discount-form{padding:24px;border:1px solid #dbe3ef;border-radius:16px}
.of-wizard-controls{padding-left:clamp(28px,5vw,64px)!important;padding-right:clamp(28px,5vw,64px)!important}

@media(max-width:600px){
 .of-basket-summary{padding:20px 15px!important}
 .of-basket-summary:has(.of-checkout-wizard){padding:0!important}
 .of-wizard-head,.of-wizard-stage,.of-wizard-controls{padding-left:15px!important;padding-right:15px!important}
 .of-wizard-stage{padding-top:28px!important;padding-bottom:32px!important}
 .of-wizard-stage .of-delivery-address,.of-wizard-stage .of-create-account,.of-wizard-stage .of-fulfilment-form,.of-wizard-stage>dl,.of-wizard-stage .of-discount-form{padding:18px!important}
}

/* Keep the confirmed delivery address visible between checkout stages. */
.of-address-confirmation{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:22px 0;padding:24px 26px;border:1px solid #dbe3ef;border-radius:16px;background:#f8fafc;box-sizing:border-box}
.of-address-confirmation .of-kicker{margin:0 0 7px;color:var(--of-accent,#ec6529)}
.of-address-confirmation strong{display:block;margin-bottom:6px;font-size:1.05rem}
.of-address-confirmation address{font-style:normal;line-height:1.55;color:#53627a}
.of-address-confirmation button{flex:0 0 auto;padding:10px 16px;border:1px solid #cbd6e5;border-radius:10px;background:#fff;color:#172033;font-weight:700;cursor:pointer}
.of-address-confirmation button:hover{border-color:var(--of-accent,#ec6529);color:var(--of-accent,#ec6529)}
@media(max-width:600px){.of-address-confirmation{padding:18px 15px;gap:14px;flex-direction:column}.of-address-confirmation button{width:100%}}
