/*
 * KBM Service - Android WebView / tam ekran uygulama popup duzeltmesi
 * Ana tasarimi degistirmez; sadece popup katmanini gercek gorunen ekrana sabitler.
 */

:root {
    --kbm-visible-height: 100dvh;
    --kbm-visible-top: 0px;
    --kbm-modal-gap: 10px;
}

body.kbm-modal-visible {
    overflow: hidden !important;
    overscroll-behavior: none;
}

.model-modal[hidden],
.stock-add-modal[hidden],
.completed-filter-modal[hidden],
.completed-phone-modal[hidden] {
    display: none !important;
}

/*
 * WebView bazen position:fixed alanini uzun sayfaya gore hesapliyor.
 * Gorunen ekran yuksekligi JavaScript tarafinda --kbm-visible-height olarak yazilir.
 */
.model-modal,
.stock-add-modal,
.completed-filter-modal,
.completed-phone-modal {
    position: fixed !important;
    z-index: 5000 !important;
    top: var(--kbm-visible-top, 0px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: var(--kbm-visible-height, 100dvh) !important;
    min-height: 0 !important;
    max-height: var(--kbm-visible-height, 100dvh) !important;
    margin: 0 !important;
    padding:
        max(var(--kbm-modal-gap), env(safe-area-inset-top))
        max(var(--kbm-modal-gap), env(safe-area-inset-right))
        max(var(--kbm-modal-gap), env(safe-area-inset-bottom))
        max(var(--kbm-modal-gap), env(safe-area-inset-left)) !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.model-modal-card,
.stock-add-card,
.completed-filter-card,
.completed-phone-card {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: min(540px, 100%) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: calc(var(--kbm-visible-height, 100dvh) - (var(--kbm-modal-gap) * 2)) !important;
    margin: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

/* Malzeme secim listesi acikken kartin kendisi tasmasin. */
#stock_picker_modal .pricing-action-card {
    overflow: visible !important;
    max-height: calc(var(--kbm-visible-height, 100dvh) - (var(--kbm-modal-gap) * 2)) !important;
}

#stock_picker_modal .stock-combo-dropdown {
    max-height: min(48vh, 360px) !important;
    overflow: hidden !important;
}

#stock_picker_modal .stock-combo-list {
    max-height: min(37vh, 280px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 650px) {
    :root {
        --kbm-modal-gap: 7px;
    }

    .model-modal,
    .stock-add-modal,
    .completed-filter-modal,
    .completed-phone-modal {
        align-items: flex-end !important;
    }

    .model-modal-card,
    .stock-add-card,
    .completed-filter-card,
    .completed-phone-card {
        width: 100% !important;
        margin: auto 0 0 !important;
        border-radius: 17px !important;
    }
}

@supports not (height: 100dvh) {
    :root {
        --kbm-visible-height: 100vh;
    }
}
