*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f5f6f7;color:#1f2937}.delivery-page{width:min(1200px,100%);margin:auto;padding:24px}.delivery-card{overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.06)}.delivery-copy{padding:28px}h1{margin:0 0 10px;font-size:clamp(1.6rem,4vw,2.2rem)}.intro{line-height:1.6;margin:0 0 22px}.address-form>label{display:block;margin-bottom:7px;font-weight:700}.autocomplete{position:relative}#addressInput{width:100%;min-height:48px;padding:12px 14px;border:1px solid #d1d5db;border-radius:10px;font:inherit;outline:none}#addressInput:focus{border-color:#16803c;box-shadow:0 0 0 3px rgba(22,128,60,.12)}.suggestions{position:absolute;z-index:1000;top:calc(100% + 5px);left:0;right:0;display:none;overflow:hidden;background:#fff;border:1px solid #d1d5db;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12)}.suggestions.visible{display:block}.suggestion{display:block;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #f0f0f0;background:#fff;text-align:left;font:inherit;cursor:pointer}.suggestion:hover,.suggestion:focus{background:#f3f4f6}.button{appearance:none;border:0;border-radius:10px;padding:12px 16px;font:inherit;font-weight:600;cursor:pointer}.button:disabled{opacity:.6;cursor:wait}.button-primary{width:100%;margin-top:12px;background:#16803c;color:#fff}.button-secondary{background:#eef0f2;color:#374151}.status,.result,.acceptance{margin-top:18px;padding:15px 16px;border-radius:12px}.status{display:flex;flex-direction:column;gap:4px;background:#f3f4f6}.status-error{background:#fef2f2;border:1px solid #fecaca}.result{display:flex;flex-direction:column;gap:5px;line-height:1.5}.result-success{background:#ecfdf3;border:1px solid #bbf7d0}.result-warning{background:#fff7ed;border:1px solid #fed7aa}.acceptance{background:#fffbeb;border:1px solid #fde68a}.checkbox-label{display:flex;gap:11px;align-items:flex-start;cursor:pointer;line-height:1.5}.checkbox-label input{flex:0 0 auto;width:19px;height:19px;margin-top:2px;accent-color:#16803c}.acceptance-error{margin:9px 0 0 30px;color:#b91c1c;font-size:.9rem}.actions{margin-top:12px;display:flex;justify-content:flex-end}.map{width:100%;height:min(65vh,580px);min-height:400px}.map-footer{padding:8px 14px;text-align:right;font-size:.78rem;color:#6b7280}.restaurant-marker{background:transparent;border:0}.restaurant-marker-inner{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#fff;border:2px solid #16803c;box-shadow:0 2px 8px rgba(0,0,0,.2);font-size:20px}@media(max-width:700px){.delivery-page{padding:0}.delivery-card{border-radius:0;border-left:0;border-right:0}.delivery-copy{padding:20px}.map{min-height:360px}}
.address-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px;
  gap: 14px;
  margin-bottom: 14px;
}
.address-grid .field { display:flex; flex-direction:column; gap:7px; }
.address-grid .field-postcode { grid-column:1; }
.address-grid .field-city { grid-column:2; grid-row:2; }
.address-grid label { font-weight:600; }
.address-grid input { width:100%; box-sizing:border-box; }
@media (max-width: 600px) {
  .address-grid { grid-template-columns: 1fr 110px; }
}
