/* lp- prefix — dnav-/doa-/dhk- এর সাথে namespace-collision এড়াতে */
.lp-overlay {
    position: fixed; inset: 0; z-index: 999997;
    background: rgba(20, 18, 16, 0.5);
    display: flex; align-items: flex-end; justify-content: center;
}
.lp-overlay[hidden], .lp-view[hidden] { display: none; }

.lp-sheet {
    background: var(--color-bg); width: 100%; max-width: 480px;
    border-radius: 16px 16px 0 0; display: flex; flex-direction: column;
    max-height: 94vh; overflow: hidden;
}

.lp-sheet__header {
    flex-shrink: 0;
    display: flex; align-items: center; gap: var(--space-2);
    padding: var(--space-3); border-bottom: 1px solid var(--color-border);
}
.lp-sheet__title { flex: 1; font-weight: 700; font-size: 1rem; }
.lp-icon-btn {
    width: 32px; height: 32px; border: none; border-radius: 50%;
    background: none; color: var(--color-text-secondary); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.lp-icon-btn:hover { background: var(--color-bg-alt); }

.lp-view { display: flex; flex-direction: column; min-height: 0; }

/* ── পছন্দের তালিকা ── */
.lp-options { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); }
.lp-option {
    display: flex; align-items: center; gap: var(--space-3);
    width: 100%; padding: var(--space-3); text-align: left;
    background: var(--color-bg); border: 1px solid var(--color-border);
    border-radius: var(--radius); font-family: inherit; cursor: pointer;
}
.lp-option:hover { border-color: var(--color-primary); }
.lp-option:disabled { opacity: 0.5; cursor: not-allowed; }
.lp-option__icon { color: var(--color-primary); flex-shrink: 0; display: flex; }
.lp-option__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lp-option__text strong { font-size: var(--font-size-sm); }
.lp-option__text small {
    font-size: 0.75rem; color: var(--color-text-secondary);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.lp-status {
    font-size: var(--font-size-sm); color: var(--color-text-secondary);
    min-height: 20px; margin: 0; padding: 0 var(--space-3) var(--space-3);
}

/* ── ম্যাপ ভিউ: বাকি জায়গা অনুযায়ী ম্যাপ ছোট-বড় হয়, ফুটার সবসময় দেখা যায় ── */
#lp-view-map { flex: 1 1 auto; min-height: 0; }

.lp-map-wrap {
    position: relative;
    flex: 1 1 50vh;          /* পছন্দের উচ্চতা; জায়গা কম হলে ছোট হবে */
    min-height: 220px;
}
#lp-map { position: absolute; inset: 0; background: var(--color-bg-alt); }

.lp-center-pin {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -100%); pointer-events: none; z-index: 10;
}

/* GPS বাটন: Google-এর জুম (+/−) কন্ট্রোলের ঠিক ওপরে, নিচ-ডানে */
.lp-gps-btn {
    position: absolute; bottom: 100px; right: 10px; z-index: 10;
    width: 40px; height: 40px; border-radius: 2px; border: none;
    background: #fff; color: var(--color-primary);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3); cursor: pointer;
}
.lp-gps-btn:hover { background: #f4f4f4; }
.lp-gps-btn:disabled { opacity: 0.5; }

.lp-style-btn {
    position: absolute; top: 12px; left: 12px; z-index: 10;
    padding: 6px 12px; border: none; border-radius: 16px;
    background: var(--color-bg); color: var(--color-text);
    font-size: 0.78rem; font-weight: 700; font-family: inherit;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2); cursor: pointer;
}

.lp-footer {
    flex-shrink: 0;           /* কখনো কাটা পড়বে না */
    border-top: 1px solid var(--color-border); padding-top: var(--space-2);
}
.lp-footer .btn { margin: 0 var(--space-3) var(--space-3); width: calc(100% - 2 * var(--space-3)); }
.lp-footer .lp-status { padding-bottom: var(--space-2); }

/* ── ট্যাবলেট ও ডেস্কটপ: মাঝখানে বড় মডাল ── */
@media (min-width: 768px) {
    .lp-overlay { align-items: center; padding: var(--space-4); }
    .lp-sheet { max-width: 800px; border-radius: 16px; max-height: 92vh; }
    .lp-map-wrap { flex-basis: 480px; }
}

@media (min-width: 1200px) {
    .lp-sheet { max-width: 960px; }
    .lp-map-wrap { flex-basis: 560px; }
}