.sdm-checkout-location {
    --sdm-blue: #2563eb;
    --sdm-border: #dce3ed;
    clear: both;
    padding: 18px;
    margin: 22px 0;
    background: #fff;
    border: 1px solid var(--sdm-border);
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(15,23,42,.05);
}

.sdm-checkout-location * { box-sizing: border-box; }
.sdm-checkout-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.sdm-checkout-title > div { display: flex; align-items: flex-start; gap: 9px; }
.sdm-checkout-title h3 { margin: 0 0 4px; font-size: 16px; line-height: 1.5; }
.sdm-checkout-title p { margin: 0; color: #64748b; font-size: 12px; line-height: 1.7; }
.sdm-pin-icon { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; color: var(--sdm-blue); background: #eff6ff; border-radius: 10px; font-size: 22px; font-weight: 800; }
.sdm-checkout-title .button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; flex: 0 0 auto; min-height: 38px; padding: 7px 12px; border: 1px solid #bfdbfe; border-radius: 9px; color: #1d4ed8; background: #eff6ff; font-size: 12px; }
.sdm-checkout-title .button.is-loading { opacity: .65; }
#sdm-checkout-map { width: 100%; height: 380px; overflow: hidden; border: 1px solid #cfd8e7; border-radius: 11px; background: #eef2f7; direction: ltr; cursor: crosshair; }
.sdm-location-message { position: relative; padding: 10px 12px 10px 34px; margin-top: 10px; border: 1px solid transparent; border-radius: 9px; font-size: 12px; line-height: 1.7; }
.sdm-location-message:before { position: absolute; top: 10px; left: 12px; font-weight: 900; }
.sdm-location-message.is-idle { color: #475569; background: #f8fafc; border-color: #e2e8f0; }
.sdm-location-message.is-idle:before { content: 'i'; }
.sdm-location-message.is-loading { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
.sdm-location-message.is-loading:before { content: '…'; }
.sdm-location-message.is-success { color: #047857; background: #ecfdf5; border-color: #a7f3d0; }
.sdm-location-message.is-success:before { content: '✓'; }
.sdm-location-message.is-warning { color: #9a3412; background: #fff7ed; border-color: #fed7aa; }
.sdm-location-message.is-warning:before { content: '!'; }
.sdm-location-message.is-error { color: #b91c1c; background: #fef2f2; border-color: #fecaca; }
.sdm-location-message.is-error:before { content: '×'; }
.sdm-checkout-location.is-pickup { display: none !important; }

.sdm-store-status { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; border-radius: 999px; font-size: 13px; }
.sdm-store-status.is-open { color: #047857; background: #ecfdf5; border-color: #a7f3d0; }
.sdm-store-status-dot { width: 8px; height: 8px; background: currentColor; border-radius: 50%; box-shadow: 0 0 0 4px currentColor; opacity: .75; }
.sdm-store-status span:last-child { margin-right: 3px; }
.sdm-order-details { margin-top: 22px; }

.sdm-checkout-location .leaflet-container { font-family: inherit; }
.sdm-checkout-location .leaflet-control-zoom, .sdm-checkout-location .leaflet-control-attribution { direction: ltr; }

/* Reyhoon custom checkout compatibility (bbrouzi map fields). */
#bbrouzi-map { width: 100%; background: #eef2f7; direction: ltr; cursor: crosshair; }
.sdm-reyhoon-location-button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 40px; margin: 0 0 10px !important; padding: 7px 13px !important; color: #1d4ed8 !important; background: #eff6ff !important; border: 1px solid #bfdbfe !important; border-radius: 10px !important; font-size: 13px !important; font-weight: 800 !important; box-shadow: none !important; }
.sdm-reyhoon-location-button.is-loading { opacity: .65; }
#bbrouzi-map-msg.sdm-location-message { display: block; min-height: 42px; margin: 10px 0 0 !important; text-align: right; }
#bbrouzi-map-msg.sdm-location-message.is-idle { color: #475569 !important; }
#bbrouzi-map-msg.sdm-location-message.is-loading { color: #1d4ed8 !important; }
#bbrouzi-map-msg.sdm-location-message.is-success { color: #047857 !important; }
#bbrouzi-map-msg.sdm-location-message.is-warning { color: #9a3412 !important; }
#bbrouzi-map-msg.sdm-location-message.is-error { color: #b91c1c !important; }
#bbrouzi-map .leaflet-control-zoom, #bbrouzi-map .leaflet-control-attribution { direction: ltr; }

@media (max-width: 640px) {
    .sdm-checkout-location { padding: 13px; }
    .sdm-checkout-title { flex-direction: column; }
    .sdm-checkout-title .button { width: 100%; }
    #sdm-checkout-map { height: 330px; }
}
