.checkout-input {
    min-height: 50px;
    border: 1px solid #e8cbbb;
    border-radius: 13px;
    color: var(--brand-ink);
    background: #fffdf9;
    font-size: 15px;
    font-weight: 600;
}

.mow { position: fixed; right: 20px; bottom: max(20px, env(safe-area-inset-bottom)); z-index: 1035; font-family: inherit; }
.mow[hidden], .mow [hidden] { display: none !important; }
.mow-launcher { display: flex; align-items: center; gap: 8px; margin-left: auto; padding: 12px 18px; border: 1px solid #e0c566; border-radius: 28px; background: #ab1f26; color: #fff4bd; font-size: 14px; font-weight: 700; box-shadow: 0 4px 16px #0002; }
.mow-panel { box-sizing: border-box; width: 380px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 100px); overflow-y: auto; margin-bottom: 10px; padding: 22px; background: #fff8ed; color: #591318; border: 1px solid #e0c566; border-radius: 16px; box-shadow: 0 10px 30px #0003; }
.mow-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.mow-heading h2 { margin: 0; font-size: 16px; line-height: 1.35; font-weight: 800; color: #75151b; }
.mow-heading button { flex: 0 0 36px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: #75151b; font-size: 26px; }
.mow .home-order-modal-body { padding: 0; }
.mow .home-order-type-switch { display: flex; gap: 8px; margin: 0 0 12px; }
.mow .home-order-type-switch button { flex: 1; min-height: 48px; padding: 8px; border: 1px solid #d8bcb5; border-radius: 8px; background: #fff; color: #75151b; font-size: 14px; }
.mow .home-order-type-switch button.active { background: #ab1f26; color: white; border-color: #ab1f26; }
.mow .home-order-search-panel { margin: 0; padding: 0; background: transparent; border: 0; }
.mow label { display: block; font-size: 13px; margin-bottom: 6px; }
.mow .home-order-search-controls { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
.mow .home-order-postcode-field { min-width: 0; }
.mow #homePostcode { box-sizing: border-box; width: 100%; min-height: 48px; font-size: 16px; }
.mow #homeCurrentLocation { display: none; }
.mow #homeBranchSearchButton { width: 100%; min-height: 48px; border: 0; border-radius: 8px; background: linear-gradient(#fff4bd,#e0c566 55%,#cb982f); color: #491115; font-weight: 800; font-size: 14px; }
.mow button { cursor: pointer; }
.mow button:focus-visible { outline: 2px solid #ab1f26; outline-offset: 3px; }
.mow .home-order-search-error { margin-top: 8px; font-size: 13px; }
@media (max-width: 575px) {
    .mow { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
    .mow-panel { width: min(380px, calc(100vw - 24px)); padding: 20px; }
    .mow-launcher { padding: 10px 14px; font-size: 13px; min-height: 48px; }
}

/* Neutral postcode field: no red ring on click or focus. */
#maemesOrderWidget .home-order-postcode-field,
#maemesOrderWidget .home-order-postcode-field:focus-within {
    border: 1px solid #d8cfc5;
    border-radius: 8px;
    background: #fff;
    outline: none;
    box-shadow: none;
}
#maemesOrderWidget #homePostcode,
#maemesOrderWidget #homePostcode:focus,
#maemesOrderWidget #homePostcode:focus-visible {
    border: 0;
    outline: none;
    box-shadow: none;
    background: transparent;
}
#maemesOrderWidget #homePostcode:focus-visible {
    outline: 2px solid #8a8176;
    outline-offset: -3px;
}

#maemesOrderWidget .home-order-postcode-field:focus-within {
    border-color: #e66b73;
    box-shadow: 0 0 0 3px rgba(230, 107, 115, 0.15);
}

/* Keep the input itself free of an inner border. */
#maemesOrderWidget #homePostcode:focus,
#maemesOrderWidget #homePostcode:focus-visible {
    border: 0;
    outline: none;
    box-shadow: none;
}
