.mb-5 {
    margin-right: 5rem !important;
}

/* front-top-menu mobile and animation */

.bg-light1 {
    --bs-bg-opacity: 1;
    background-color: rgb(33 48 60) !important;
}

/* Remove default icon */
.navbar-toggler .navbar-toggler-icon {
    display: none;
}


/* Custom hamburger bars */
.navbar-toggler {
    width: 30px;
    height: 24px;
    position: relative;
}

.toggler-icon {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #35434a;
    border-radius: 2px;
    left: 0;
    transition: all 0.3s ease-in-out;
}

.top-bar {
    top: 0;
}

.middle-bar {
    top: 10px;
}

.bottom-bar {
    bottom: 0;
}

/* Animation when open */
.navbar-toggler[aria-expanded="true"] .top-bar {
    transform: rotate(45deg);
    top: 10px;
}

.navbar-toggler[aria-expanded="true"] .middle-bar {
    opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .bottom-bar {
    transform: rotate(-45deg);
    bottom: 11px;
}

.nav-link.active {
    color: #0d6efd !important;
    font-weight: 600;
}

.nav-link.active i {
    transform: scale(1.1);
}

.nav-link {
    transition: all 0.3s ease;
    color: #ffffff;
}

.nav-link i {
    transition: transform 0.3s ease;
}

.nav-link:hover i {
    transform: translateY(-2px);
}

button span {
    transition: opacity 0.2s ease;
}

.invalid-feedback {
    color: #fbf16e;
}

.fade-hold {
    opacity: 1;
    transition: opacity 0.6s ease;
}


/* footer */
.app-footer {
    position: relative;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.25rem 0;
    border-top: 1px solid var(--bs-border-color);
    font-weight: 600;
    color: rgba(var(--bs-body-color-rgb), 0.5);
    margin-left: 0rem;
    margin-right: 0rem;
}

body {
    background: 0 0;
    font-weight: var(--bs-body-font-weight);
    letter-spacing: inherit;
    position: relative;
    min-height: 100vh;
    z-index: 9999;
}

.footer-link {
    text-decoration: none;
    color: #6c757d;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: 0.3s ease;
}

.footer-link:hover {
    color: #0d6efd;
}

.footer-link.active {
    color: #0d6efd;
}

.cap-small {
    text-transform: capitalize;
    font-size: 14px;
    font-weight: bold;
}

.btnhide {
    opacity: 0.2;
    /* Adjust opacity (0 is fully transparent, 1 is fully visible) */
    background-color: #44555e;
    /* Optional: you can also make the background lighter */
    pointer-events: none;
    /* This will disable any interaction with the row */
}


.normal {
    opacity: 1;
    /* Adjust opacity (0 is fully transparent, 1 is fully visible) */
    background-color: transparent;
    /* or any other default color */
}

.hidden {
    display: inline;
    opacity: 0.2;
    pointer-events: none;
}

.disabled {
    pointer-events: none;
    opacity: 0.6;
    cursor: not-allowed;
}

.menu-header {
    text-align-last: left !important;
    /* text-align-last: center !important; */
    font-weight: bold !important;
    font-size: large !important;
}

.app-sidebar-content {
    overflow-y: auto;
    overflow-x: hidden;
}

.app-sidebar-content::-webkit-scrollbar {
    width: 0px;
}

#content,
.app-content,
.app-content-full-height .app-content {
    display: flex;
    flex-direction: column;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    flex: 1 !important;
}

.data-management {
    flex: 1 0 auto;
    padding-bottom: 5rem !important;
}

#image-preview {
    width: 100%;
    height: 250px;
    object-fit: contain;
    /* border: 2px solid #798e98; */
    margin: 10px 0;
    padding: 2px;
    border-radius: 10px;
}

/* Custom Scrollbar Styles */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    transition: background 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 255, 136, 0.5) !important;
}

/* Mobile Viewport Layout */
@media (max-width: 767px) {

    html,
    body {
        width: 100% !important;
        height: 100% !important;
    }

    #content,
    .app-content,
    .app-content-full-height .app-content {
        padding: 1rem 1rem 5rem 1rem !important;
        margin-bottom: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        max-height: 100% !important;
        flex: 1 !important;
        min-height: 0 !important;
    }

    #content:has(.pos),
    .app-content:has(.pos) {
        padding: 0 !important;
        overflow: hidden !important;
    }

    .data-management {
        flex: 1 0 auto;
        padding-bottom: 5rem !important;
    }

    .pos {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
        border: none !important;
    }

    .pos-content {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        min-height: 0 !important;
    }

    .pos-content-container {
        flex: 1 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        padding: 0 1rem;
        min-height: 0 !important;
        margin-top: 1rem;
    }

}

/* General POS flex overflow rules */
.pos-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.pos-content-container {
    flex: 1 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    min-height: 0 !important;
}

/* ================ HEADER STYLES ================ */
.pos-header{
    padding:12px 20px;
    min-height: 5.00rem;
    height: auto;
    border-bottom:1px solid rgba(255,255,255,.08);
    overflow-x: hidden;
}

.booking-header{
    display:flex;
    align-items:center;
    gap:15px;
    text-decoration:none;
    color:#fff;
}

.logo-imgs{
    width:50px;
    min-width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    color:#20c997;
}

.logo-text{
    display:flex;
    flex-direction:column;
    line-height:1.3;
    flex:1;
}

.booking-title{
    font-size:24px;
    font-weight:700;
    color:#fff;
    margin:0;
    line-height:1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.booking-title span{
    color:#20c997;
}

.booking-location{
    margin-top:4px;
    font-size:14px;
    color:#adb5bd;
    font-weight:500;
    line-height:1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.booking-location i{
    color:#20c997;
    margin-right:6px;
}

/* Tablet */
@media (max-width:992px){
    .logo-imgs{
        width:44px;
        min-width:44px;
        height:44px;
        font-size:24px;
    }

    .booking-title{
        font-size:18px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .booking-location{
        font-size:12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Mobile */
@media (max-width:576px){
    .pos-header{
        padding:10px 12px;
        height: auto !important;
    }

    .booking-header{
        gap:10px;
        max-width: 100%;
    }

    .logo-imgs{
        width:36px;
        min-width:36px;
        height:36px;
        font-size:20px;
    }

    .booking-title{
        font-size:14px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .booking-location{
        font-size:11px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Breadcrumb Divider Override */
.breadcrumb-item + .breadcrumb-item::before {
    content: var(--bs-breadcrumb-divider, "/") !important;
}