/* ============================================================
   FuneralBiz - reusable mobile Kendo grid layout
   Mirrors the responsive Enterprise Users grid behaviour:
   field names remain fixed on the left and records scroll horizontally.
   ============================================================ */
.funeralbiz-mobile-grid-body {
    display: contents;
}

@media only screen and (max-width: 767px) {
    .funeralbiz-responsive-grid {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-top: 0 !important;
    }

        .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body {
            display: flex;
            align-items: flex-start;
            width: 100%;
            max-width: 100%;
            height: auto !important;
            margin: 0 !important;
            overflow: hidden;
            border: 1px solid #d6dce5;
            border-top: 0;
            box-sizing: border-box;
        }

        .funeralbiz-responsive-grid > .k-grid-toolbar {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            width: 100%;
            margin: 0 !important;
            padding: 8px !important;
            gap: 5px;
            border-top: 0 !important;
            background: #f5f5f5;
            box-sizing: border-box;
        }

            .funeralbiz-responsive-grid > .k-grid-toolbar .k-button {
                min-height: 31px;
                margin: 0 !important;
                padding: 6px 7px !important;
                font-size: 10px !important;
                line-height: 1.2;
                white-space: nowrap;
            }

        .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header {
            display: block;
            flex: 0 0 95px;
            width: 95px !important;
            min-width: 95px !important;
            max-width: 95px !important;
            padding-right: 0 !important;
            overflow: visible;
            background: #4778c8;
            box-shadow: 3px 0 5px rgba(0, 0, 0, 0.15);
            z-index: 10;
        }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header .k-grid-header-wrap {
                width: 95px !important;
                min-width: 95px !important;
                max-width: 95px !important;
                overflow: visible;
                border: 0;
            }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header table,
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header thead,
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header tr {
                display: block;
                width: 95px !important;
                min-width: 95px !important;
                max-width: 95px !important;
            }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header colgroup,
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content colgroup {
                display: none;
            }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th {
                display: flex;
                align-items: center;
                width: 95px !important;
                min-width: 95px !important;
                max-width: 95px !important;
                height: 44px;
                min-height: 44px;
                margin: 0 !important;
                padding: 5px 7px !important;
                box-sizing: border-box;
                border: 0;
                border-bottom: 1px solid rgba(255, 255, 255, 0.35);
                background: #4778c8;
                color: #ffffff;
                font-size: 10px !important;
                font-weight: 700 !important;
                line-height: 1.15;
                white-space: normal;
                text-align: left !important;
            }

                /* Keep the filter icon + header text inside the fixed 95px label column.
       Kendo adds margins to .k-with-icon .k-link and the previous width:100%
       could make the header overflow over the first data record on narrow phones. */
                .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th.k-with-icon {
                    gap: 3px;
                }

                .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th .k-grid-filter {
                    position: static !important;
                    float: none !important;
                    flex: 0 0 14px;
                /*    width: 14px !important;
                    min-width: 14px !important;
                    height: 18px !important;*/
                    margin: 0 !important;
                    padding: 0 !important;
                    color: #ffffff !important;
                }

                .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th .k-link,
                .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th.k-with-icon .k-link {
                    flex: 1 1 auto;
                    width: auto !important;
                    min-width: 0 !important;
                    max-width: 100%;
                    margin: 0 !important;
                    padding: 0 !important;
                    overflow: hidden;
                    color: #ffffff !important;
                    font-size: 10px !important;
                    font-weight: 700 !important;
                    line-height: 1.15;
                    white-space: normal;
                    overflow-wrap: anywhere;
                    text-align: left !important;
                }

                .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th.funeralbiz-actions-header .k-link,
                .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th.funeralbiz-actions-header .k-grid-filter {
                    display: none !important;
                }

                .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th.funeralbiz-actions-header::after {
                    content: "Actions";
                    font-size: 10px;
                    font-weight: 700;
                }

        .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content {
            display: block;
            flex: 1 1 auto;
            width: auto !important;
            min-width: 0;
            height: auto !important;
            max-height: none !important;
            overflow-x: auto !important;
            overflow-y: hidden !important;
            scrollbar-width: none;
            -ms-overflow-style: none;
            -webkit-overflow-scrolling: touch;
        }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content::-webkit-scrollbar {
                display: none;
                width: 0;
                height: 0;
            }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content table {
                display: block;
                width: max-content !important;
                min-width: max-content !important;
                margin: 0 !important;
                padding: 0 !important;
            }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content tbody {
                display: flex;
                align-items: flex-start;
                width: max-content;
                margin: 0 !important;
                padding: 0 !important;
            }

                .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content tbody tr {
                    display: block;
                    flex: 0 0 145px;
                    width: 145px !important;
                    min-width: 145px !important;
                    max-width: 145px !important;
                    margin: 0 !important;
                    padding: 0 !important;
                    border-right: 1px solid #d6dce5;
                    background: #ffffff;
                }

                    .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content tbody tr.k-alt {
                        background: #f5f5f5;
                    }

                .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content tbody td {
                    display: flex !important;
                    align-items: center;
                    width: 145px !important;
                    min-width: 145px !important;
                    max-width: 145px !important;
                    height: 44px;
                    min-height: 44px;
                    margin: 0 !important;
                    padding: 5px 7px !important;
                    box-sizing: border-box;
                    overflow: hidden;
                    border: 0;
                    border-bottom: 1px solid #d6dce5;
                    font-size: 11px !important;
                    font-weight: 400 !important;
                    line-height: 1.2;
                    white-space: normal;
                    word-break: break-word;
                    text-align: left !important;
                }

            /* Keep Kendo hidden columns hidden on mobile. */
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th[style*="display: none"],
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-header th[style*="display:none"],
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content td[style*="display: none"],
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content td[style*="display:none"],
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body .k-hidden {
                display: none !important;
            }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content tbody td.funeralbiz-actions-cell {
                justify-content: center;
                gap: 5px;
            }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content tbody td .k-button {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                min-width: 28px;
                min-height: 28px;
                margin: 0 2px !important;
                padding: 3px !important;
            }

            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content input,
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content select,
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content textarea,
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content .k-widget,
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content .k-dropdown,
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content .k-datepicker,
            .funeralbiz-responsive-grid > .funeralbiz-mobile-grid-body > .k-grid-content .k-numerictextbox {
                width: 100% !important;
                max-width: 131px;
                font-size: 10px !important;
                box-sizing: border-box;
            }

        .funeralbiz-responsive-grid > .k-pager-wrap,
        .funeralbiz-responsive-grid > .k-grid-pager {
            display: flex !important;
            flex-wrap: wrap !important;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 56px;
            margin: 0 !important;
            padding: 6px !important;
            gap: 2px;
            overflow: hidden !important;
            box-sizing: border-box;
            border-top: 1px solid #d6dce5;
            background: #eeeeee;
        }

            .funeralbiz-responsive-grid > .k-pager-wrap .k-link,
            .funeralbiz-responsive-grid > .k-pager-wrap .k-state-selected,
            .funeralbiz-responsive-grid > .k-grid-pager .k-link,
            .funeralbiz-responsive-grid > .k-grid-pager .k-state-selected {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                flex: 0 0 26px;
                width: 26px !important;
                min-width: 26px !important;
                height: 26px !important;
                margin: 0 !important;
                padding: 2px !important;
                border: 0;
                background: transparent;
                font-size: 10px !important;
            }

            .funeralbiz-responsive-grid > .k-pager-wrap .k-pager-sizes,
            .funeralbiz-responsive-grid > .k-pager-wrap .k-pager-numbers,
            .funeralbiz-responsive-grid > .k-grid-pager .k-pager-sizes,
            .funeralbiz-responsive-grid > .k-grid-pager .k-pager-numbers {
                display: none !important;
            }

            .funeralbiz-responsive-grid > .k-pager-wrap .k-pager-info,
            .funeralbiz-responsive-grid > .k-grid-pager .k-pager-info {
                display: block !important;
                order: 10;
                flex: 0 0 100%;
                width: 100%;
                margin: 1px 0 0 !important;
                padding: 0 !important;
                color: #555555;
                font-size: 9px !important;
                line-height: 1.2;
                text-align: center;
            }
}
