.r1ship-city-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px}.r1ship-city-modal__overlay{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(3px)}.r1ship-city-modal__box{position:relative;width:min(390px,100%);padding:20px;border-radius:20px;background:#fff;box-shadow:0 22px 70px rgba(15,23,42,.22);color:#111827}.r1ship-city-modal__box h3{margin:0 0 14px;font-size:18px;line-height:1.3}.r1ship-city-modal__box h3 span,.r1ship-city-modal__city{color:#9ca3af !important;font-weight:700 !important}.r1ship-city-modal__actions{display:flex;gap:10px}.r1ship-city-modal__actions .button,.r1ship-city-modal__actions button{flex:1;min-height:42px;border-radius:12px !important;font-weight:600}.r1ship-city-modal__actions .r1ship-city-yes,.r1ship-city-modal__actions .r1ship-city-no{display:flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;border:1px solid #d1d5db !important;background:#f3f4f6 !important;color:#111827 !important;cursor:pointer !important}.r1ship-city-modal__actions .r1ship-city-yes:hover,.r1ship-city-modal__actions .r1ship-city-yes:focus,.r1ship-city-modal__actions .r1ship-city-no:hover,.r1ship-city-modal__actions .r1ship-city-no:focus{border-color:#9ca3af !important;background:#e5e7eb !important;color:#111827 !important}.r1ship-city-change{margin-top:14px}.r1ship-city-input{width:100%;height:44px;padding:0 13px;border:1px solid #dbe3ea;border-radius:12px;box-sizing:border-box;font-size:15px;outline:none}.r1ship-city-input:focus{border-color:#9ca3af;box-shadow:0 0 0 3px rgba(0,0,0,.08)}.r1ship-city-suggestions{display:grid;gap:6px;max-height:230px;margin-top:8px;overflow:auto}.r1ship-city-suggestion{padding:10px 12px;border:1px solid #eef2f7;border-radius:10px;background:#f8f8f8;text-align:left;cursor:pointer}.r1ship-city-suggestion:hover{border-color:#9ca3af;background:#fff}html.r1ship-city-saving #r1ship_city_modal .r1ship-city-modal__box{pointer-events:none!important;opacity:.65!important}.r1ship-city-modal__actions .r1ship-city-service-yes,.r1ship-city-modal__actions .r1ship-city-service-no{display:flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;border:1px solid #d1d5db !important;background:#f3f4f6 !important;color:#111827 !important;cursor:pointer !important}.r1ship-city-modal__actions .r1ship-city-service-yes:hover,.r1ship-city-modal__actions .r1ship-city-service-yes:focus,.r1ship-city-modal__actions .r1ship-city-service-no:hover,.r1ship-city-modal__actions .r1ship-city-service-no:focus{border-color:#9ca3af !important;background:#e5e7eb !important;color:#111827 !important}#r1ship_city_modal .r1ship-city-modal__box h3 > span,#r1ship_city_service_modal .r1ship-city-modal__box h3 > span,#r1ship_city_service_modal .r1ship-city-modal__title > span,.r1ship-city-modal .r1ship-city-modal__title > span,.r1ship-city-modal .r1ship-city-modal__box h3 > span{color:inherit !important;font-weight:700 !important}.r1ship-customer-city-prompt-slot{display:none}.r1ship-customer-city-prompt-slot:has(.r1ship-city-service-inline){display:block;width:min(390px,calc(100vw - 32px));max-width:100%}.r1ship-city-service-inline.r1ship-city-modal{position:static !important;inset:auto !important;z-index:auto !important;display:block !important;padding:0 !important;margin:10px 0 0 !important;width:100% !important}.r1ship-city-service-inline .r1ship-city-modal__box{width:100% !important;max-width:390px !important;box-sizing:border-box !important}.r1ship-city-modal__close{position:absolute !important;top:10px !important;right:10px !important;z-index:3 !important;display:flex !important;align-items:center !important;justify-content:center !important;width:32px !important;height:32px !important;min-width:32px !important;min-height:32px !important;padding:0 !important;margin:0 !important;border:1px solid #dbe3ea !important;border-radius:8px !important;background:#fff !important;color:#6b7280 !important;font:400 22px/1 Arial,sans-serif !important;cursor:pointer !important;box-shadow:none !important}.r1ship-city-modal__close:hover,.r1ship-city-modal__close:focus{border-color:#9ca3af !important;background:#f8fafc !important;color:#9ca3af !important;outline:none !important}.r1ship-city-service-modal .r1ship-city-modal__box h3{padding-right:40px !important}.r1ship-city-modal__actions .r1ship-city-yes,.r1ship-city-modal__actions .r1ship-city-no,.r1ship-city-modal__actions .r1ship-city-service-yes,.r1ship-city-modal__actions .r1ship-city-service-no{border:1px solid #9ca3af !important;background:#fff !important;color:#111827 !important;box-shadow:none !important}.r1ship-city-modal__actions .r1ship-city-yes:hover,.r1ship-city-modal__actions .r1ship-city-yes:focus,.r1ship-city-modal__actions .r1ship-city-no:hover,.r1ship-city-modal__actions .r1ship-city-no:focus,.r1ship-city-modal__actions .r1ship-city-service-yes:hover,.r1ship-city-modal__actions .r1ship-city-service-yes:focus,.r1ship-city-modal__actions .r1ship-city-service-no:hover,.r1ship-city-modal__actions .r1ship-city-service-no:focus{border-color:#9ca3af !important;background:#f8fafc !important;color:#9ca3af !important;outline:none !important}@media (max-width:600px){.r1ship-customer-city-prompt-slot:has(.r1ship-city-service-inline),.r1ship-city-service-inline .r1ship-city-modal__box{width:min(100%,calc(100vw - 24px)) !important}}.r1ship-customer-city-wrap{position:relative;display:inline}.r1ship-customer-city-link{display:inline}.r1ship-customer-city-prompt-slot{display:none !important}.r1ship-customer-city-prompt-slot:has(.r1ship-city-service-inline){position:absolute !important;top:calc(100% + 10px) !important;right:0 !important;left:auto !important;z-index:2147483000 !important;display:block !important;width:min(390px,calc(100vw - 24px)) !important;max-width:calc(100vw - 24px) !important;margin:0 !important;padding:0 !important;text-align:left !important}.r1ship-city-service-inline.r1ship-city-modal{position:static !important;display:block !important;width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;inset:auto !important}.r1ship-city-service-inline .r1ship-city-modal__box{position:relative !important;display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;padding:20px !important;box-sizing:border-box !important;overflow:visible !important;text-align:left !important}.r1ship-city-modal__title,.r1ship-city-service-inline .r1ship-city-modal__title{display:block !important;width:100% !important;max-width:100% !important;margin:0 0 14px !important;padding:0 42px 0 0 !important;box-sizing:border-box !important;font-size:15px !important;line-height:1.4 !important;white-space:normal !important;overflow-wrap:anywhere !important;word-break:normal !important}.r1ship-city-modal__title > span{white-space:normal !important;overflow-wrap:anywhere !important;word-break:normal !important}.r1ship-city-service-inline .r1ship-city-modal__actions{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:stretch !important;gap:10px !important;width:100% !important;max-width:100% !important;margin:0 !important}.r1ship-city-service-inline .r1ship-city-modal__actions .button,.r1ship-city-service-inline .r1ship-city-modal__actions button{flex:1 1 0 !important;width:auto !important;min-width:0 !important;max-width:none !important;margin:0 !important}.r1ship-city-service-inline .r1ship-city-change{display:block;width:100% !important;max-width:100% !important;margin:14px 0 0 !important;box-sizing:border-box !important}.r1ship-city-service-inline .r1ship-city-input{display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;margin:0 !important;box-sizing:border-box !important}.r1ship-city-service-inline .r1ship-city-suggestions{display:grid !important;width:100% !important;max-width:100% !important;box-sizing:border-box !important;overflow-x:hidden !important}.r1ship-city-service-inline .r1ship-city-suggestion{display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;box-sizing:border-box !important;white-space:normal !important;overflow-wrap:anywhere !important;word-break:normal !important}@media (max-width:600px){.r1ship-customer-city-prompt-slot:has(.r1ship-city-service-inline){width:min(360px,calc(100vw - 20px)) !important;max-width:calc(100vw - 20px) !important}}.r1ship-city-service-inline.r1ship-city-modal,.r1ship-customer-city-prompt-slot:has(.r1ship-city-service-inline){z-index:2147483000 !important}.r1ship-city-countdown{display:block;width:100%;margin:10px 0 0;color:#6b7280;font-size:13px;line-height:1.35;text-align:center}.r1ship-city-countdown__value{color:inherit;font-weight:700;font-variant-numeric:tabular-nums}body > .r1ship-city-service-inline.r1ship-city-modal{position:fixed !important;display:block !important;margin:0 !important;padding:0 !important;max-width:calc(100vw - 20px) !important;z-index:2147483646 !important;isolation:isolate !important;transform:translateZ(0) !important}body > .r1ship-city-service-inline .r1ship-city-modal__box{width:100% !important;max-width:100% !important;box-sizing:border-box !important}

/* Neutral storefront integration: theme owns identity; plugin owns geometry. */
.r1ship-customer-city-wrap{position:relative;display:inline;color:inherit;font:inherit}
.r1ship-customer-city-link{display:inline;color:inherit;font:inherit;text-decoration:inherit}
.r1ship-city-modal,.r1ship-city-modal__box,.r1ship-city-service-modal{font:inherit;color:inherit}
.r1ship-city-modal__box{border:1px solid rgba(0,0,0,.14);border-radius:10px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.12)}
.r1ship-city-modal__title{font:inherit;font-size:15px!important;line-height:1.4;font-weight:500;color:inherit}
.r1ship-city-modal__title>span{color:inherit!important;font-weight:600!important}
.r1ship-city-modal__actions{gap:8px}
.r1ship-city-modal__actions .button,.r1ship-city-service-yes,.r1ship-city-service-no{font:inherit;font-size:.9em;border-radius:7px}
.r1ship-city-input,.r1ship-city-service-input{font:inherit;font-size:.92em;line-height:1.4;border-radius:7px}
.r1ship-city-input:focus,.r1ship-city-service-input:focus{border-color:#9ca3af!important;box-shadow:0 0 0 3px rgba(0,0,0,.08)!important}
.r1ship-city-suggestions{border-radius:8px;overflow:hidden}
.r1ship-city-suggestion{font:inherit;font-size:.9em;line-height:1.35;color:inherit!important;background:transparent;border:0;border-bottom:1px solid rgba(0,0,0,.08);border-radius:0;text-align:left}
.r1ship-city-suggestion:last-child{border-bottom:0}
.r1ship-city-suggestion:hover,.r1ship-city-suggestion:focus,.r1ship-city-suggestion.is-active{color:inherit!important;background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.12)}
.r1ship-city-modal a,.r1ship-city-service-modal a,.r1ship-city-modal__close{color:inherit!important}
.r1ship-city-modal__close{font:inherit;border-radius:6px}
.r1ship-city-modal__close:hover,.r1ship-city-modal__close:focus{border-color:#cbd5e1!important;background:#f8f8f8!important;color:inherit!important}
.r1ship-city-modal__actions .r1ship-city-yes,.r1ship-city-modal__actions .r1ship-city-no,.r1ship-city-modal__actions .r1ship-city-service-yes,.r1ship-city-modal__actions .r1ship-city-service-no{border-color:#d1d5db!important;background:#f8f8f8!important;color:inherit!important}
.r1ship-city-modal__actions .r1ship-city-yes:hover,.r1ship-city-modal__actions .r1ship-city-yes:focus,.r1ship-city-modal__actions .r1ship-city-no:hover,.r1ship-city-modal__actions .r1ship-city-no:focus,.r1ship-city-modal__actions .r1ship-city-service-yes:hover,.r1ship-city-modal__actions .r1ship-city-service-yes:focus,.r1ship-city-modal__actions .r1ship-city-service-no:hover,.r1ship-city-modal__actions .r1ship-city-service-no:focus{border-color:#9ca3af!important;background:#f3f4f6!important;color:inherit!important}
.r1ship-city-countdown__value{color:inherit!important}
.r1ship-city-suggestion:focus-visible,.r1ship-city-modal__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}

.r1ship-city-modal__city-name{color:inherit;font:inherit;font-weight:600}

/* Unified city-confirmation component: same layout for inline shortcode and modal. */
.r1ship-city-modal__actions{
    display:flex!important;
    width:100%!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:10px!important;
    flex-wrap:nowrap!important;
    box-sizing:border-box!important;
}
.r1ship-city-modal__actions .button,
.r1ship-city-modal__actions button,
.r1ship-city-modal__actions .r1ship-city-yes,
.r1ship-city-modal__actions .r1ship-city-no,
.r1ship-city-modal__actions .r1ship-city-service-yes,
.r1ship-city-modal__actions .r1ship-city-service-no{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    min-height:34px!important;
    height:34px!important;
    padding:0 14px!important;
    font-size:13px!important;
    line-height:32px!important;
    border-radius:7px!important;
    text-align:center!important;
    box-sizing:border-box!important;
}

.r1ship-city-confirmation{box-sizing:border-box}

/* City search field: restrained neutral control with rounded border. */
.r1ship-city-change{
    display:block;
    margin-top:12px;
}
.r1ship-city-input,
.r1ship-city-service-input{
    width:100%;
    min-height:38px;
    box-sizing:border-box;
    padding:8px 12px;
    border:1px solid #d1d5db!important;
    border-radius:8px!important;
    background:#fff!important;
    color:inherit!important;
    font:inherit!important;
    outline:none!important;
}
.r1ship-city-input:hover,
.r1ship-city-service-input:hover{
    border-color:#b8c0c8!important;
}
.r1ship-city-input:focus,
.r1ship-city-service-input:focus{
    border-color:#9ca3af!important;
    box-shadow:0 0 0 2px rgba(0,0,0,.06)!important;
}
.r1ship-city-modal{display:none}.r1ship-city-modal.is-open{display:flex}.r1ship-city-modal__box{z-index:1}.r1ship-city-suggestion strong,.r1ship-city-suggestion span{display:block}.r1ship-city-suggestion span{margin-top:2px;font-size:12px;opacity:.7}.r1ship-city-modal input{margin-bottom:0!important}

.r1ship-city-change[hidden]{display:none!important}.r1ship-city-suggestions{gap:0!important;margin:8px 0 0!important;padding:0!important}.r1ship-city-suggestion{display:block!important;width:100%!important;margin:0!important;padding:9px 0!important;border-width:0 0 1px!important;border-radius:0!important;background:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.r1ship-city-suggestion strong,.r1ship-city-suggestion span{display:inline!important;margin:0!important}.r1ship-city-suggestion span{font-size:inherit!important;color:#6b7280!important;font-weight:400!important}

/* 5.0.10 city modal spacing and compact one-line suggestions. */
.r1ship-city-modal__box,.r1ship-city-service-inline .r1ship-city-modal__box{padding:40px 20px 20px!important}
.r1ship-city-suggestion{padding:9px 4px!important}
.r1ship-city-suggestion strong{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.r1ship-city-suggestion strong span{display:inline!important;margin-left:5px!important;font-size:inherit!important;font-weight:400!important;opacity:.7!important}

/* 5.0.27 — [r1ship_customer_city] tariff recalculation indicator. */
.r1ship-customer-city-wrap{display:inline-flex!important;align-items:center!important;gap:0!important}
.r1ship-customer-city-link{margin-left:5px!important}
.r1ship-customer-city-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:14px!important;height:14px!important;min-width:14px!important;flex:0 0 14px!important;margin-left:2px!important;color:currentColor!important;opacity:.66!important;vertical-align:middle!important;line-height:0!important}
.r1ship-customer-city-status svg{display:block!important;width:14px!important;height:14px!important;overflow:visible!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.r1ship-customer-city-status.is-loading{opacity:.76!important}
.r1ship-customer-city-spinner{animation:r1ship-customer-city-spin .72s linear infinite!important;transform-origin:50% 50%!important}
.r1ship-customer-city-spinner-track{fill:none!important;stroke:currentColor!important;stroke-width:3!important;opacity:.18!important}
.r1ship-customer-city-spinner-head{fill:none!important;stroke:currentColor!important;stroke-width:3!important;stroke-linecap:round!important}
.r1ship-customer-city-pin{width:15px!important;height:15px!important}
@keyframes r1ship-customer-city-spin{to{transform:rotate(360deg)}}
