/* Scoped independently of Featherlight and all original geo-form selectors. */
#wfal-overlay[hidden], #wfal-launcher[hidden], #wfal-error[hidden] { display: none !important; }
html.wfal-open { overflow: hidden; }
p.stock.wfal-regional-backorder { color: #b42318 !important; font-size: 14px; font-style: normal; }
body.single-product.wfal-region-unavailable form.cart,
body.single-product.wfal-region-unavailable .eh-sticky-cart-bar,
body.single-product.wfal-region-unavailable .wc-ppcp-product-button-container { display: none !important; }
#wfal-overlay, #wfal-overlay *, #wfal-overlay *::before, #wfal-overlay *::after { box-sizing: border-box; }
#wfal-overlay {
    position: fixed !important; inset: 0 !important; z-index: 2147483000 !important;
    display: flex; align-items: center; justify-content: center; padding: 24px 16px;
    overflow: auto; background: rgb(0 0 0 / 60%); backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px); text-align: left; color: #171717;
}
#wfal-dialog {
    position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px); overflow: auto; margin: auto; padding: 38px 36px 28px;
    border: 1px solid #e6e6e6; border-radius: 16px; background: #fff;
    color: #171717; box-shadow: 0 24px 80px rgb(0 0 0 / 25%); font-family: inherit;
}
#wfal-dialog .wfal-eyebrow { margin: 0 32px 12px 0; color: #676767; font-size: 10px; font-weight: 600; letter-spacing: 1.4px; line-height: 1.5; }
#wfal-title { margin: 0 0 14px; padding: 0; color: #171717; font-size: 29px; line-height: 1.18; letter-spacing: -.7px; font-weight: 700; }
#wfal-description { margin: 0 0 24px; padding: 0; color: #606060; font-size: 14px; line-height: 1.7; }
#wfal-close {
    position: absolute; top: 12px; right: 12px; display: grid; place-items: center;
    width: 34px; min-width: 0; height: 34px; margin: 0; padding: 0; border: 0;
    border-radius: 50%; background: #f1f1f1; color: #171717; font: 18px/1 Arial,sans-serif; cursor: pointer;
}
#wfal-close:hover { background: #171717; color: #fff; }
#wfal-form { display: block; width: 100%; margin: 0; padding: 0; }
#wfal-form > label { display: block; margin: 0 0 8px; color: #222; font-size: 14px; font-weight: 600; line-height: 1.5; }
#wfal-form > label > span[aria-hidden] { color: #b42318; }
#wfal-postcode, #wfal-state {
    display: block; float: none; position: static; width: 100%; max-width: none; height: 50px;
    margin: 0; padding: 0 14px; border: 1px solid #c9c9c9; border-radius: 8px;
    background: #fafafa; color: #171717; font: inherit; font-size: 16px; line-height: normal; box-shadow: none;
}
#wfal-state { margin-bottom: 20px; appearance: auto; -webkit-appearance: menulist; }
#wfal-postcode:focus, #wfal-state:focus { outline: 2px solid #171717; outline-offset: 2px; background: #fff; }
#wfal-dialog .wfal-help { margin: 7px 0 18px; padding: 0; color: #676767; font-size: 12px; line-height: 1.5; }
#wfal-form .wfal-consent { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 20px; color: #555; font-size: 13px; font-weight: 400; line-height: 1.6; }
#wfal-consent { appearance: auto; -webkit-appearance: checkbox; position: static; display: block; flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; opacity: 1; accent-color: #171717; }
#wfal-dialog a { color: #171717; text-decoration: underline; text-underline-offset: 3px; }
#wfal-save {
    display: block; width: 100%; min-height: 50px; margin: 8px 0 0; padding: 14px 20px;
    border: 1px solid #171717; border-radius: 8px; background: #171717; color: #fff;
    font: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; text-transform: none; cursor: pointer;
}
#wfal-save:hover:not(:disabled) { background: #353535; }
#wfal-save:disabled { border-color: #e5e5e5; background: #e5e5e5; color: #777; opacity: 1; cursor: not-allowed; }
#wfal-error { margin: 12px 0; padding: 10px 12px; border-radius: 6px; background: #fff1ef; color: #a1281f; font-size: 13px; line-height: 1.5; }
#wfal-dialog #wfal-progress { margin-bottom: 0; }
#wfal-dialog button:focus-visible, #wfal-dialog a:focus-visible, #wfal-consent:focus-visible, #wfal-launcher:focus-visible { outline: 2px solid #555; outline-offset: 3px; }
#wfal-launcher {
    box-sizing: border-box !important; position: static !important; inset: auto !important; transform: none !important;
    float: none !important; display: flex; align-items: center; gap: 12px; z-index: auto !important;
    width: 100% !important; max-width: 100%; min-height: 76px; height: auto !important;
    padding: 14px 16px !important; margin: 18px 0 22px !important;
    border: 1px solid #dfe5e7 !important; border-radius: 10px !important;
    background: #f7f9fa !important; color: #171717 !important; box-shadow: none !important;
    font: inherit; font-size: 14px; line-height: 1.4; text-align: left !important; text-transform: none !important;
    letter-spacing: normal !important; white-space: normal !important; cursor: pointer;
}
#wfal-launcher:hover, #wfal-launcher:focus-visible { border-color: #819ba6 !important; background: #f1f5f6 !important; color: #171717 !important; }
#wfal-launcher::before, #wfal-launcher::after { content: none !important; }
#wfal-launcher .wfal-location-icon { display: block; flex: 0 0 22px; color: #015d88 !important; }
#wfal-launcher .wfal-location-copy { display: flex; flex: 1 1 auto; min-width: 0; flex-direction: column; gap: 2px; color: #171717 !important; }
#wfal-launcher .wfal-location-label { color: #59666c !important; font-size: 11px; font-weight: 400; line-height: 1.4; }
#wfal-launcher .wfal-location-value { color: #171717 !important; font-size: 15px; font-weight: 600; line-height: 1.4; }
#wfal-launcher .wfal-location-note { color: #687278 !important; font-size: 11px; font-weight: 400; line-height: 1.5; }
#wfal-launcher .wfal-location-action { flex: 0 0 auto; padding: 8px 10px; border: 1px solid #d4dfe3; border-radius: 6px; background: #fff; color: #015d88 !important; font-size: 12px; font-weight: 600; line-height: 1.4; }
@media (max-width: 600px) {
    #wfal-dialog { padding: 42px 24px 25px; }
    #wfal-title { font-size: 26px; }
    #wfal-launcher { padding: 12px !important; gap: 10px; margin: 14px 0 18px !important; }
    #wfal-launcher .wfal-location-note { max-width: 230px; font-size: 10px; }
    #wfal-launcher .wfal-location-action { padding: 8px; font-size: 11px; }
}
