.location-picker-backdrop {
    background: rgba(0, 0, 0, .5) !important;
}

.location-picker-sheet {
    width: min(100%, 40rem);
    max-height: min(86dvh, 44rem);
    margin-inline: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 3px solid color-mix(in srgb, var(--a-primary) 30%, transparent);
    border-bottom: 0;
    padding: .7rem .85rem max(1rem, env(safe-area-inset-bottom, 0px)) !important;
    background: var(--a-bg) !important;
    color: var(--a-text);
    box-shadow: 0 -16px 50px color-mix(in srgb, var(--a-text) 24%, transparent) !important;
    scrollbar-width: none;
}

.location-picker-sheet::-webkit-scrollbar { display: none; }
.dark .location-picker-sheet { background: var(--a-bg) !important; color: var(--a-text); }
.location-picker-handle { margin-bottom: .65rem !important; background: color-mix(in srgb, var(--a-primary) 28%, transparent) !important; }

.location-picker-header {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: .75rem;
}

.location-picker-header-icon,
.location-picker-close {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    place-items: center;
    border: 2px solid color-mix(in srgb, var(--a-primary) 24%, transparent);
    border-radius: .9rem;
    background: color-mix(in srgb, var(--a-primary) 10%, var(--a-card));
    color: var(--a-primary);
}

.dark .location-picker-header-icon,
.dark .location-picker-close { background: color-mix(in srgb, var(--a-primary) 14%, var(--a-card)); color: var(--a-primary); }
.location-picker-close { cursor: pointer; }
.location-picker-eyebrow { margin: 0 0 .08rem; color: var(--a-primary); font: 900 .62rem/1.1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.location-picker-header h3 { margin: 0; color: inherit; font: 900 1.15rem/1.08 'Baloo 2', Inter, sans-serif; }
.location-picker-header div > p:last-child { margin: .15rem 0 0; color: var(--a-muted); font: 700 .7rem/1.25 Inter, sans-serif; }
.dark .location-picker-header div > p:last-child { color: var(--a-muted); }

.location-picker-current {
    margin-bottom: .65rem !important;
    border: 2px solid color-mix(in srgb, var(--a-primary) 25%, transparent) !important;
    border-radius: 1rem !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--a-primary) 8%, var(--a-card)), var(--a-card)) !important;
    box-shadow: 0 3px 0 color-mix(in srgb, var(--a-primary) 12%, transparent);
}
.dark .location-picker-current { background: linear-gradient(135deg, color-mix(in srgb, var(--a-primary) 14%, var(--a-card)), var(--a-card)) !important; }

.location-picker-gps {
    min-height: 3.35rem;
    margin-bottom: .75rem !important;
    border: 2px solid color-mix(in srgb, var(--a-primary) 70%, #000);
    border-radius: 1rem !important;
    background: var(--a-primary) !important;
    box-shadow: 0 4px 0 color-mix(in srgb, var(--a-primary) 55%, #000);
}
.location-picker-gps:active { transform: translateY(3px); box-shadow: 0 1px 0 color-mix(in srgb, var(--a-primary) 55%, #000); }

.location-picker-saved { margin-bottom: .7rem !important; }
.location-picker-saved > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.location-picker-address {
    min-width: 0;
    min-height: 4.35rem;
    padding: .65rem !important;
    border: 2px solid color-mix(in srgb, var(--a-primary) 18%, transparent) !important;
    border-radius: 1rem !important;
    background: var(--a-card) !important;
    box-shadow: 0 3px 0 color-mix(in srgb, var(--a-primary) 12%, transparent);
}
.dark .location-picker-address { background: var(--a-card) !important; }
.location-picker-address.bg-primary-50 { border-color: var(--a-primary) !important; background: color-mix(in srgb, var(--a-primary) 10%, var(--a-card)) !important; box-shadow: 0 3px 0 color-mix(in srgb, var(--a-primary) 30%, transparent); }
.dark .location-picker-address.dark\:bg-primary-500\/10 { border-color: var(--a-primary) !important; background: color-mix(in srgb, var(--a-primary) 16%, var(--a-card)) !important; }

.location-picker-add {
    min-height: 2.9rem;
    margin-bottom: 0 !important;
    border: 2px dashed color-mix(in srgb, var(--a-primary) 42%, transparent) !important;
    border-radius: .95rem !important;
    background: color-mix(in srgb, var(--a-primary) 8%, var(--a-card)) !important;
    color: var(--a-primary) !important;
}
.dark .location-picker-add { background: color-mix(in srgb, var(--a-primary) 14%, var(--a-card)) !important; color: var(--a-primary) !important; }

@media (min-width: 640px) {
    .location-picker-sheet {
        right: .75rem !important;
        bottom: .75rem !important;
        left: .75rem !important;
        border-bottom: 3px solid color-mix(in srgb, var(--a-primary) 30%, transparent);
        border-radius: 1.6rem !important;
    }
}

@media (max-width: 380px) {
    .location-picker-saved > div:last-child { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .location-picker-sheet,
    .location-picker-backdrop { transition-duration: .01ms !important; }
}
