.checkout-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start;padding-top:1rem}.checkout-title{margin-bottom:1.5rem;font-size:clamp(1.8rem,3vw,2.4rem)}.checkout-card{padding:1.5rem;border:1px solid rgba(26,26,24,.1);background:#fffdf7b3;border-radius:var(--radius-lg);margin-bottom:1.25rem}.checkout-card-heading{font-size:1.2rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(26,26,24,.08)}.checkout-payment-card{position:sticky;top:calc(var(--header-offset) + 1.5rem)}.checkout-delivery-toggle{display:flex;gap:.5rem;margin-bottom:1.25rem}.delivery-type-btn{flex:1;padding:.7rem 1rem;border:1px solid rgba(26,26,24,.15);border-radius:var(--radius-sm);background:#fffdf799;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.delivery-type-btn.active{background:var(--g-700);color:var(--cream);border-color:var(--g-700)}.date-picker-wrap{min-height:3rem}.date-picker-loading{color:var(--ink-soft);font-size:.92rem}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.date-grid-header{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:.4rem 0;color:var(--ink-soft)}.date-cell{display:flex;align-items:center;justify-content:center;padding:.55rem .3rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:background .2s,border-color .2s}.date-cell:hover:not(.unavailable):not(.selected){background:#c99a1a1a;border-color:#c99a1a4d}.date-cell.unavailable{color:#1a1a1840;cursor:default;text-decoration:line-through}.date-cell.selected{background:var(--g-700);color:var(--cream);border-color:var(--g-700);font-weight:700}.date-cell.other-month{visibility:hidden}.date-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.date-nav-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid rgba(26,26,24,.15);border-radius:var(--radius-sm);background:transparent;font-size:1rem;cursor:pointer;transition:background .2s}.date-nav-btn:hover{background:#1a1a180f}.date-nav-label{font-weight:700;font-size:.95rem}.form-stack{display:grid;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.35rem;color:var(--ink-soft)}.form-field input,.form-field textarea{width:100%;padding:.65rem .85rem;border:1px solid rgba(26,26,24,.18);border-radius:var(--radius-sm);background:var(--white);font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c99a1a26}.checkout-delivery-radius-hint{margin:.25rem 0 .5rem;font-size:.86rem;color:var(--ink-soft);line-height:1.45}.checkout-postcode-status{margin-top:.35rem;padding:.7rem .85rem;border-radius:var(--radius-sm);font-size:.86rem;line-height:1.45}.checkout-postcode-status.ok{background:#d4eddae0;border:1px solid rgba(21,87,36,.28);color:#155724}.checkout-postcode-status.error{background:#f8d7daeb;border:1px solid rgba(114,28,36,.28);color:#721c24}.checkout-postcode-status.pending{color:var(--ink-soft);border:1px solid rgba(26,26,24,.1);background:#fff9}.checkout-postcode-status.warn{background:#fff8e6f2;border:1px solid rgba(201,154,26,.35);color:#5c4a1a}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.92rem;border-bottom:1px solid rgba(26,26,24,.06)}.summary-item:last-child{border-bottom:none}.summary-item-name{display:flex;gap:.55rem;align-items:center;min-width:0}.summary-item-qty{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;border-radius:999px;background:var(--g-700);color:var(--cream);font-size:.7rem;font-weight:700}.summary-totals{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(26,26,24,.1)}.summary-row{display:flex;justify-content:space-between;font-size:.92rem;margin-bottom:.35rem}.summary-row.total{font-size:1.1rem;font-weight:700;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(26,26,24,.1)}.summary-row.total span:last-child{font-family:var(--font-display);font-size:1.25rem;color:var(--g-700)}.checkout-pay-btn{width:100%;margin-top:1.25rem;padding:.95rem 1.5rem;font-size:.95rem}.checkout-pay-btn:disabled{opacity:.5;pointer-events:none}.checkout-payment-placeholder{margin:0 0 1rem;font-size:.86rem;line-height:1.45;color:var(--ink-soft)}.checkout-payment-placeholder[hidden]{display:none}.checkout-secure-note{display:flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.78rem;color:var(--ink-soft)}.payment-message{margin-top:.75rem;padding:.75rem;border-radius:var(--radius-sm);font-size:.88rem}.payment-message.error{background:#b0002014;color:#b00020;border:1px solid rgba(176,0,32,.15)}.payment-message[hidden]{display:none}@media(max-width:860px){.checkout-layout{grid-template-columns:1fr}.checkout-payment-card{position:static}.form-row{grid-template-columns:1fr}}
