body.wpapiship-overlay { overflow: hidden; }
#wpapiship_shipping_to_point_out_field,
#wpapiship-point-out-address-wrapper { display: none !important; }
.wpapiship-checkout-modal.open {
    inset: 4vh 3vw; width: auto; height: auto; margin: 0;
    display: flex; flex-direction: column; overflow: hidden;
    border-radius: 16px; background: #fff; line-height: 1.45; text-align: left;
    box-shadow: 0 20px 80px #0005; font: 15px/1.45 Arial, sans-serif;
}
.wpapiship-checkout-modal.open.is-fullscreen { inset: 0; border-radius: 0; }
.wpapiship-checkout-modal #wpapiship-checkout-ymap { flex: 1; min-height: 0; height: auto; width: 100%; margin: 0; }
.cs-map-header { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid #e5e7eb; }
.cs-map-title { flex: 1; font-size: 19px; font-weight: 700; color: #20242c; }
.wpapiship-checkout-modal button.cs-map-button { min-height: 44px; padding: 8px 14px; border: 1px solid #d4d8df; border-radius: 8px; background: #fff; color: #20242c; cursor: pointer; font: inherit; }
.wpapiship-checkout-modal button.cs-map-button:hover { background: #f0f2f5; }
.cs-map-toolbar { display: flex; gap: 10px; align-items: center; padding: 10px 16px; flex-wrap: wrap; }
.cs-map-search-wrap { flex: 1; min-width: 180px; position: relative; }
.wpapiship-checkout-modal input.cs-map-search { width: 100%; height: 44px; margin: 0; padding: 10px 12px; border: 1px solid #c4c9d2; border-radius: 8px; box-sizing: border-box; font-size: 16px; background: #fff; color: #20242c; }
.wpapiship-checkout-modal .wpapiship-map-options-container { position: static; padding: 0; width: auto; height: auto; max-width: 100%; }
.wpapiship-checkout-modal .wpapiship-map-select { height: 44px; margin: 0; max-width: 100%; font-size: 16px; border-radius: 8px; background: #fff; }
.cs-map-status { padding: 0 16px 8px; color: #606773; font-size: 13px; }
.cs-map-results { position: absolute; top: 48px; left: 0; right: 0; z-index: 2000; max-height: 240px; overflow: auto; background: #fff; border-radius: 8px; box-shadow: 0 6px 25px #0003; }
.cs-map-results:empty { display: none; }
.wpapiship-checkout-modal button.cs-map-result { display: block; width: 100%; padding: 12px; text-align: left; background: #fff; color: #20242c; border: 0; border-bottom: 1px solid #eee; white-space: normal; cursor: pointer; font: 14px/1.4 Arial, sans-serif; }
.wpapiship-checkout-modal button.cs-map-result:hover { background: #f0f2f5; }
.cs-map-pin { position: absolute; left: -32px; top: -19px; width: 64px; height: 38px; border: 2px solid var(--carrier-color); border-radius: 9px; background: white; box-shadow: 0 2px 5px #0004; display: flex; align-items: center; justify-content: center; box-sizing: border-box; cursor: pointer; user-select: none; }
.cs-map-pin img { max-width: 54px; max-height: 26px; pointer-events: none; user-select: none; -webkit-user-drag: none; }
.cs-map-pin span { font: bold 12px Arial, sans-serif; color: var(--carrier-color); pointer-events: none; }
.wpapiship-checkout-modal .point-out-balloon-content { max-width: 310px; font: 14px/1.5 Arial, sans-serif; }
.wpapiship-checkout-modal .wpapiship-select-map-tariff { width: 100%; max-width: 100%; white-space: normal; font-size: 14px; }
.wpapiship-checkout-modal .point-out-select { display: inline-block; padding: 12px 18px; }
.wpapiship-checkout-modal :focus-visible { outline: 3px solid #3568b8; outline-offset: 2px; }
@media (max-width: 640px) {
    .wpapiship-checkout-modal.open { inset: 0; border-radius: 0; height: 100dvh; }
    .cs-map-header { padding: max(8px, env(safe-area-inset-top)) 10px 8px; gap: 6px; }
    .cs-map-title { font-size: 17px; }
    .cs-map-fullscreen { display: none; }
    .cs-map-toolbar { padding: 8px 10px; gap: 8px; }
    .cs-map-search-wrap { flex-basis: 100%; }
    .wpapiship-checkout-modal .wpapiship-map-options-container { flex: 1; min-width: 0; }
    .wpapiship-checkout-modal .wpapiship-map-select { width: 100%; }
    .cs-map-status { padding: 0 10px 6px; }
    .cs-map-results { max-height: 30dvh; }
}
