/* Make all Bootstrap selects look like dropdowns with an arrow */
select.form-control,
select.form-control-sm {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer !important;
    padding-right: 2rem; /* space for arrow */
    background-repeat: no-repeat;
    background-position: right 0.55rem center;
    background-size: 1rem;
    /* simple down arrow icon via SVG */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='gray' d='M4 6l4 4 4-4z'/%3E%3C/svg%3E");
}


/* Base: apply this class to any card/button/etc. */
.item-grow, .btn, .btn-lg  {
    --grow-scale: 1.04 !important; /* how big on hover */
    --grow-duration: 550ms !important; /* slower animation time */
    --grow-ease: cubic-bezier(.25,.8,.25,1) !important; /* smooth ease-in-out */

    transition: transform var(--grow-duration) var(--grow-ease), box-shadow var(--grow-duration) var(--grow-ease) !important;
    will-change: transform !important;
    transform-origin: center !important;
}

    /* Mouse hover */
    .item-grow:hover, .btn:hover, .btn-lg:hover {
        transform: scale(var(--grow-scale)) !important;
    }
/*log in and register styling */
#keepMeSignedInDiv {
    display: none;
}

#socialMediaDiv {
    display: none;
}

#forgotPasswordDiv {
    display: none;
}
/* Make Select2 look like form-control and use Poppins */
.select2-container--default .select2-selection--single {
    background: #fff;
    position: relative;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    min-height: calc(2.375rem + 2px);
    padding: .375rem .375rem;
    display: flex;
    align-items: center;
    font-family: 'Poppins', sans-serif !important;
}

    .select2-container--default .select2-selection--single
    .select2-selection__rendered {
        color: #6c757d !important;
        padding-left: 0;
        font-size: 1rem !important; /* ? match input text size */
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        top: 0 !important;
        bottom: 0 !important; /* stretch full height */
        height: auto !important; /* ignore the 26px default */
        right: .75rem !important; /* keep your right spacing */
        display: flex !important; /* vertically center the triangle */
        align-items: center !important;
    }

        /* Reset the triangle's own absolute centering so flex can center it */
        .select2-container--default .select2-selection--single .select2-selection__arrow b {
            position: static !important;
            border-color: #000 transparent transparent transparent !important;
            margin: 0 !important;
        }

/* Search box inside dropdown */
.select2-search--dropdown .select2-search__field {
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important; /* ? match input text size */
}

/* Dropdown menu */
.select2-dropdown {
    font-size: 1rem; /* ? match input text size */
    font-family: 'Poppins', sans-serif !important;
}

/* Results items */
.select2-container--default .select2-results__option {
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important; /* ? match input text size */
}

/* Placeholder text */
.select2-container--default
.select2-selection--single
.select2-selection__placeholder {
    color: #6c757d;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important; /* ? match input placeholder size */
}

/* Keep selected transparent */
.select2-container--default
.select2-results__option--selected[aria-selected] {
    background-color: transparent !important;
    color: #212529 !important;
}

/* Hover only: light grey */
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option:hover {
    background-color: #D3D3D3 !important;
    color: #212529 !important;
}

/*log in and register styling */


/* datatable final column styling */
.exclude-colvis {
    width: 120px;
}

.hidden {
    display: none;
}

.form-select {
    cursor: pointer;
}
/* Narrow width for the first column */
th.col-small {
    width: 10%; /* Adjust this percentage as needed */
}

/* Wider width for the other columns */
th.col-wide {
    width: 30%; /* Adjust this percentage as needed */
}

thead, tbody, tfoot, tr, td, th {
    border-color: lightgray;
}

.form-check-input {
    cursor: pointer;
}

/* Style for all disabled links with the class 'btn-lg' */
.btn-lg[disabled] {
    cursor: not-allowed !important; /* Not-allowed cursor */
    opacity: 0.5 !important; /* Semi-transparent */
    pointer-events: none !important; /* Disable pointer events */
    border-radius: 8px !important;
}
/*datatable datepicker color*/
div.dt-datetime table td.selectable button:hover {
    background: #40A629 !important;
}
/* Loading Spinner (Start)*/
.lds-ripple-text {
    color: white;
    position: absolute;
    top: 50%;
    z-index: 100;
    width: 100%;
    opacity: 100% !important;
    font-size: 20px;
}

.lds-ripple {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    top: 40%;
    z-index: 100;
}

    .lds-ripple div {
        position: absolute;
        border: 4px solid #fff;
        opacity: 1;
        border-radius: 50%;
        animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .lds-ripple div:nth-child(2) {
            animation-delay: -0.5s;
        }

@keyframes lds-ripple {
    0% {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 72px;
        height: 72px;
        opacity: 0;
    }
}

#loading {
    position: fixed;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-align: center;
    opacity: 0.7;
    background-color: #030202;
    z-index: 0;
}
/* Loading Spinner (End)*/

html {
    position: relative;
    min-height: 100%;
}

body {
    font-family: Poppins;
    background-color: #eee;
}


.card {
    /*background: var(--ntx-gradient-gray1);*/
    border-radius: 8px;
    box-shadow: 0px 40px 120px -40px rgba(0, 0, 0, 0.24);
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
}

.imgContainer {
    /*position: relative;*/
    display: flex;
    flex-direction: column;
}

.image {
    border-radius: 8px;
}

.eventImage {
    border-radius: 8px 8px 0px 0px;
}

.dropdown:hover .dropdown-menu {
    display: block;
}

.dropdown:hover .dropbtn {
    background-color: #3e8e41;
}

/*header dividers*/
.dividerDark {
    background-image: url(../Images/General/Divider_Dark1.png);
    background-repeat: no-repeat;
    border-radius: 0px 0px 180px 0px;
    padding: 8rem;
    background-size: cover;
}

@media (max-width:768px) {
    .dividerDark {
        padding: 6rem;
        border-radius: 0px 0px 120px 0px;
    }
}

@media (max-width:544px) {
    .dividerDark {
        padding: 4rem 4rem 3rem 4rem;
        border-radius: 0px 0px 120px 0px;
    }
}

.dividerLight {
    background-image: url(../Images/General/Divider_Light1.png);
    background-repeat: no-repeat;
    padding-top: 6rem;
    padding-bottom: 6rem;
    background-size: cover;
}


/* List item icons*/
.listGreen {
    list-style-image: url('../Images/General/li_green.png');
}

.listRed {
    list-style-image: url('../Images/General/li_red.png');
}

/*Icon Colors*/
.ntx-icon-green {
    color: #41A62A;
}

.ntx-icon-gray {
    color: #646464;
}

.ntx-icon-red {
    color: #C01919;
}

table.dataTable thead .sorting:after,
table.dataTable thead .sorting:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc_disabled:after,
table.dataTable thead .sorting_desc_disabled:before {
    bottom: .5em;
}

/* table sorting form admin screen */


/*Remove text highlight when double clicking item*/
.ntx-no-select {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
/*
Testing*/

.cat {
    margin: 4px;
    background: var(--ntx-gradient-green3);
    border-radius: 4px;
    border: 1px solid #fff;
    overflow: hidden;
    float: left;
}

    .cat label {
        float: left;
        line-height: 3.0em;
        width: 8.0em;
        height: 3.0em;
    }

        .cat label span {
            text-align: center;
            padding: 3px 0;
            display: block;
        }

        .cat label input {
            position: absolute;
            display: none;
            color: #fff !important;
        }
            /* selects all of the text within the input element and changes the color of the text */
            .cat label input + span {
                color: #fff;
            }


    /* This will declare how a selected input will look giving generic properties */
    .cat input:checked + span {
        color: #ffffff;
        text-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
    }


/*
This following statements selects each category individually that contains an input element that is a checkbox and is checked (or selected) and chabges the background color of the span element.
*/

.action input:checked + span {
    background: var(--ntx-gradient-gray3);
}

/*Quantity Increase click*/
.bi-plus-circle-fill:active {
    color: var(--ntx-gray3);
}
/*Quantity Decrease click*/
.bi-dash-circle-fill:active {
    color: var(--ntx-gray3);
}

.couponDesc {
    padding-left: 0% !important;
}

/*-- ==============================================================
 Table responsive styling for mobile device (Start)
 ============================================================== */

@media only screen and (max-width: 745px), (min-device-width: 768px) and (max-device-width: 1024px) {

    [data-content]:before {
        content: attr(data-content);
    }

    /* Force table to not be like tables anymore */
    .table-mobile-responsive,
    .table-mobile-responsive thead,
    .table-mobile-responsive tbody,
    .table-mobile-responsive th,
    .table-mobile-responsive td,
    .table-mobile-responsive tr {
        display: block;
    }

        /* Hide table headers (but not display: none;, for accessibility) */
        .table-mobile-responsive thead tr {
            position: absolute;
            top: -9999px;
            left: -9999px;
        }

        /* Default layout */
        .table-mobile-responsive td {
            /* Behave  like a "row" */
            border: none;
            border-bottom: 1px solid var(--tmr-white);
            position: relative;
            padding-left: 30%;
            padding-top: 1rem !important;
        }

            .table-mobile-responsive td:before {
                position: absolute;
                top: 12px;
                left: 6px;
                white-space: nowrap;
                font-weight: bold;
                color: var(--ntx-gray3);
            }

    /*Hide scrollbar input mobile mode*/
    ::-webkit-scrollbar {
        width: 0px !important;
    }
}

/*-- ==============================================================
 Table responsive styling for mobile device (end)
 ============================================================== */


/*Hide horizontal scrollbar*/
body {
    overflow-x: hidden !important;
}

.homeCoverImage {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    top: 0;
    left: 0;
    /*height: 100%;*/
    width: 100%;
}


/***** Gallery Styling ******/
.gallery-img-responsive:hover {
    filter: brightness(70%);
    transition-duration: 0.5s;
}

.gallery-row {
    -bs-gutter-x: 0px !important;
}

.gallery-modal:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    max-height: 50% !important;
}

.gallery-arrow {
    width: 50px;
    /*background:red;*/
    font-size: 70px;
    color: white;
    box-shadow: none;
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    padding: 0.375rem 0.75rem;
}

    .gallery-arrow:hover {
        color: black;
    }


/* Mobile styles */
@media screen and (max-width: 576px) {
    /* Define styles for small mobile devices */
    .gallery-img-responsive {
        width: 95% !important;
        height: auto !important;
        max-height: 400px;
        margin-left: 2.5%;
    }
}

/* Tablet styles */
@media screen and (min-width: 481px) and (max-width: 768px) {
    /* Define styles for tablets */
    .gallery-img-responsive {
        width: 200px;
        height: 200px;
        margin-left: 2.5%;
        display: inline-block !important;
    }
}

/* Desktop styles */
@media screen and (min-width: 769px) {
    /* Define styles for desktops */
    .gallery-img-responsive {
        width: 200px;
        height: 200px;
        margin-left: 2.5%;
    }
}

/***** Gallery Styling ******/


@media only screen and (max-width: 580px) {

    .notyf {
        padding: 10px !important;
    }

    .notyf__dismiss {
        width: 26px !important;
    }
}
/*Toast notification position*/

.notyf__toast {
    max-width: none !important;
    border-radius: 7px !important;
}




.storeprogresses {
    display: flex;
    align-items: center;
}

.storeprogressesline {
    width: 80px;
    height: 2px;
}


.storeprogressessteps {
    display: flex;
    color: #fff;
    font-size: 14px;
    align-items: center;
    justify-content: center;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 14px;
    padding-right: 14px;
    border-radius: 100%;
}

/* Mobile styles */
@media screen and (max-width: 576px) {
    /* Define styles for small mobile devices */
    .storeprogressessteps {
        font-size: 8px !important;
        padding-top: 6px;
        padding-bottom: 6px;
        padding-left: 8px;
        padding-right: 8px;
    }
    /*nav links no longer source small on mobile*/
    .nav_layout_link {
        font-size: 1.2rem !important;
    }
}

/* Tablet styles */
@media screen and (min-width: 481px) and (max-width: 768px) {
    /* Define styles for tablets */

}

/* Desktop styles */
@media screen and (min-width: 769px) {
    /* Define styles for desktops */

}
/*Custom Hover for Editable things */
.Edit-Cursor-Hover:hover {
    cursor: url(data:text/html;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcUlEQVR4nO2SOwqAMBAFx89t9DiCxzGlB7HxjBZr4QpBtHJftwNLCIEZWALJRQFWhHLzCY+MwFEFzIMhNH7OikgBdqD3+/SILH/l5vMWCZObzwZ0/j5Ey62KtCq5KdZiKS+5li9kv+VGKkctRy1PeOMEwHpzkejzGi8AAAAASUVORK5CYII=), pointer !important;
}

.note-display {
    border: none;
    outline: none;
    background: transparent; /* Set the input background to transparent */
}



.note-display-return {
    border: none;
    outline: none;
    background: transparent; /* Set the input background to transparent */
}

    .note-display-return:hover {
        cursor: url(data:text/html;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcUlEQVR4nO2SOwqAMBAFx89t9DiCxzGlB7HxjBZr4QpBtHJftwNLCIEZWALJRQFWhHLzCY+MwFEFzIMhNH7OikgBdqD3+/SILH/l5vMWCZObzwZ0/j5Ey62KtCq5KdZiKS+5li9kv+VGKkctRy1PeOMEwHpzkejzGi8AAAAASUVORK5CYII=), pointer !important;
    }

.description-display {
    border: none;
    outline: none;
    background: transparent; /* Set the input background to transparent */
}



.description-display-return {
    border: none;
    outline: none;
    background: transparent; /* Set the input background to transparent */
}

    .description-display-return:hover {
        cursor: url(data:text/html;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcUlEQVR4nO2SOwqAMBAFx89t9DiCxzGlB7HxjBZr4QpBtHJftwNLCIEZWALJRQFWhHLzCY+MwFEFzIMhNH7OikgBdqD3+/SILH/l5vMWCZObzwZ0/j5Ey62KtCq5KdZiKS+5li9kv+VGKkctRy1PeOMEwHpzkejzGi8AAAAASUVORK5CYII=), pointer !important;
    }


/* Readonly display (input) */
.admin-note-display,
.admin-note-display-return {
    border: none;
    outline: none;
    background: transparent;
}

    /* Hover cursor to indicate editability */
    .admin-note-display:hover,
    .admin-note-display-return:hover {
        cursor: url(data:text/html;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcUlEQVR4nO2SOwqAMBAFx89t9DiCxzGlB7HxjBZr4QpBtHJftwNLCIEZWALJRQFWhHLzCY+MwFEFzIMhNH7OikgBdqD3+/SILH/l5vMWCZObzwZ0/j5Ey62KtCq5KdZiKS+5li9kv+VGKkctRy1PeOMEwHpzkejzGi8AAAAASUVORK5CYII=), pointer !important;
    }

/*New Datatables Styling */

div.dt-buttons {
    float: right !important;
}

div.dt-container div.dt-layout-cell.dt-end {
    text-align: left !important;
}

.dtsb-searchBuilder {
    width: fit-content;
}
/*New Datatables Styling */
/*status colors*/
.Status-Color-Paid {
    color: #0085dd;
}
.Status-Color-Invoiced {
    color: #28a745;
}

.Status-Color-Cancelled {
    color: #dc3545;
}
.Status-Color-Declined {
    color: #dc3545;
}
.Status-Color-Expired {
    color: #dc3545;
}
.Status-Color-Returned {
    color: #dc3545;
}

.Status-Color-Failed {
    color: #dc3545;
}

.Status-Color-Complete {
    color: #28a745 !important;
}

.Status-Color-Created {
    color: #28a745 !important;
}

.Status-Color-Processing {
    color: #ffc107;
}

.Status-Color-PendingInvestigation {
    color: #dc3545;
}

.Status-Color-PendingAction {
    color: #ffc107;
}

.Status-Color-PaymentOutstanding {
    color: #dc3545;
}

.Status-Color-Reserved {
    color: #0085dd
}

.Status-Color-Pending {
    color: #0085dd
}

.Status-Color-Validated {
    color: #28a745;
}

.Status-Color-Received {
    color: #0085dd; /* Bootstrap's blue color */
}

.Status-Color-ReadyForCollection {
    color: #0085dd; /* Bootstrap's blue color */
}

/* Green for valid/received payments */
.Payment-Method-Color-EFT {
    color: #28a745; /* Green */
}

.Payment-Method-Color-Card {
    color: #28a745;
}

.Payment-Method-Color-Yoco {
    color: #28a745;
}

.Payment-Method-Color-Ozow {
    color: #28a745;
}

.Payment-Method-Color-System {
    color: #28a745;
}

/* Red for outstanding/unpaid */
.Payment-Method-Color-Outstanding {
    color: #dc3545; /* Red */
}


/* jquery form error message styling */
.error {
    color: #DC3545;
}

.modal-form {
    width: 100%;
}

.text-white {
    color: white;
}

/*link styling*/

.link-primary {
    color: #288714;
}

    .link-primary:hover {
        color: #41A62A;
    }

/* modal styling*/
.store-modal-bg {
    background-image: linear-gradient(#646464, #303030);
}

.modal-header {
    border: 0;
    color: white;
}

.modal-content {
    border-radius: 0.7rem;
}

.modal-footer {
    border: 0;
    color: white;
}

.modal-title {
    margin: auto;
    font-weight: bold;
}

.modal-link {
    font-weight: bold;
    cursor: pointer;
    color: rgba(255, 255, 255, 255) !important;
}

    .modal-link:hover {
        font-weight: bold;
        cursor: pointer;
        color: rgba(65, 166, 42, 1) !important;
    }


/* PRODUCT GALLERY VIEW STYLING */

.prod-card-img {
    height: 180px;
    object-fit: contain;
    text-align: center;
    padding: 0.5rem;
}

.event-card-img {
    height: 180px;
    width: 100%;
    object-fit: fill;
    max-height: 180px;
    border-radius: 8px !important;
}

.card-img-top {
    margin: auto;
    border-radius: 15px;
}


/* PRODUCT LIST VIEW STYLING */

.prod-list-img {
    width: 100px;
    height: 100px;
}

/* REGISTRATION PAGE STYLING*/
.facebook-btn {
    width: 85%;
    border: 0;
    background-color: #3B5998;
    margin-top: 1%;
}


/* SWEET ALERT STYLING */

button.swal2-confirm.swal2-styled {
    background: var(--ntx-gradient-green3);
    border: 0;
    transition: all 0.3s ease-in-out;
}

    button.swal2-confirm.swal2-styled:hover {
        background: var(--ntx-gradient-green3) !important;
        transform: scale(1.05);
    }

    button.swal2-confirm.swal2-styled:focus {
        border: none !important;
        box-shadow: none !important;
    }

button.swal2-cancel.swal2-styled {
    background: var(--ntx-gradient-gray3);
    border: 0;
    transition: all 0.3s ease-in-out;
}

    button.swal2-cancel.swal2-styled:hover {
        background: var(--ntx-gradient-gray3) !important;
        transform: scale(1.05);
    }

    button.swal2-cancel.swal2-styled:focus {
        border: none !important;
        box-shadow: none !important;
    }

div:where(.swal2-container) div:where(.swal2-popup) {
    background: var(--ntx-gradient-gray6) !important;
    color: white !important;
}

div:where(.swal2-container) div:where(.swal2-icon).swal2-info {
    border-color: var(--ntx-green1) !important;
    color: var(--ntx-green1) !important;
}






button.swal2-confirm.swal2-styled:focus {
    /*background: var(--ntx-gradient-green3);*/
    border: 0;
}










/* PRICE RANGE SLIDER */

.slider {
    height: 5px;
    background: #ddd;
    border-radius: 5px;
    position: relative;
}

    .slider .progress {
        height: 5px;
        left: 0;
        right: 0;
        position: absolute;
        border-radius: 5px;
        background: #41A62A;
    }


.range-input {
    position: relative;
}

    .range-input input {
        position: absolute;
        top: -5px;
        height: 5px;
        width: 100%;
        background: none;
        pointer-events: none;
        -webkit-appearance: none;
    }


input[type="range"]::-webkit-slider-thumb {
    height: 17px;
    width: 17px;
    border: none;
    border-radius: 50%;
    pointer-events: auto;
    -webkit-appearance: none;
    background: #41A62A;
}

input[type="range"]::-moz-range-thumb {
    height: 17px;
    width: 17px;
    border: none;
    border-radius: 50%;
    pointer-events: auto;
    -moz-appearance: none;
    background: #41A62A;
}

/* ----------------- */

/* data tables */

.dataTables_filter {
    float: left !important;
    text-align: left;
    margin-left: 16px;
}

.tableToolbar {
    padding: 0;
    margin: 0;
}


/*.dataTables_wrapper {
    margin: 0 auto;
    max-width: 1356px;
    width: 100%;
}*/

.forselect:focus {
    border-color: red !important;
    outline: 0;
    /*box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);*/
    box-shadow: none !important;
}

.dataTables_wrapper .dataTables_filter input {
    background-color: white !important;
}

.dataTables_wrapper .dataTables_length select {
    background-color: white !important;
}
/* DataTables Search input */
.dataTables_wrapper .dataTables_filter input:focus {
    outline: 0;
    box-shadow: none !important;
}

/* Show items input */
.dataTables_wrapper .dataTables_length select:hover {
    cursor: pointer;
}

.store_gallery_main_row {
    width: 45%;
    max-width: 275px !important;
    min-width: 180px !important;
    display: inline-flex;
}

.store_mobile_filter {
    display: none !important;
    background: !important;
}

@media (max-width:768px) {
    .store_gallery_main_row {
        float: none !important;
    }
}

@media (max-width:544px) {
    .dividerDark {
        padding: 4rem 4rem 3rem 4rem;
        border-radius: 0px 0px 120px 0px;
    }
}



/*Products*/
#sortgalleryByPriceLabel {
    margin-left: 10px !important;
    margin-right: 5px;
}

#sortgalleryByPriceSelect {
    cursor: pointer;
    background-color: white;
    padding: 5px;
    border-radius: 5%;
    border: 1px solid #aaa;
}


#selectGalleryView_gallery {
    /*margin-left: 10px;*/
}

#selectListView_gallery {
    /*margin-left: 5px;*/
}

#btnFilter {
    /* margin-left: 5px; */
    display: block !important;
}


#store_mobile_filter {
    display: none !important;
}


/* Styles for mobile devices */
@media (max-width: 978px) {

    /*    .dataTables_filter label,
    .dataTables_wrapper
    .dataTables_length select,
    .dataTables_length label,
    #sortgalleryByPriceLabel,
    #selectGalleryView_gallery,
    #sortgalleryByPriceSelect,
    #selectListView_gallery,
    #mySidebar {
        display: none;
    }*/


    #productGallery_filter,
    #productGallery_length {
        display: none;
    }



    #store_mobile_filter {
        display: block !important;
    }
}


@media (min-width: 1400px) {
    #btnFilter {
        display: none !important;
    }
}
/*Products*/



.nav-tab-link {
    display: block;
    padding: 0.5rem 1rem;
    color: #0d6efd;
    text-decoration: none;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .nav-tab-link {
        transition: none;
    }
}

.nav-tab-link:hover, .nav-tab-link:focus {
    color: #0a58ca;
}

.nav-tab-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default;
}




/*New Datatables Styling */

div.dt-buttons {
    float: right !important;
}

div.dt-container div.dt-layout-cell.dt-end {
    text-align: left !important;
}

.dtsb-searchBuilder {
    width: fit-content;
}

div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
    padding-top: 0px !important;
}

div.dtsb-searchBuilder {
    margin-bottom: 0px !important;
}

    div.dtsb-searchBuilder div.dtsb-group {
        margin-bottom: 0px !important;
    }

.dtsb-button {
    border-radius: 0.2rem !important;
}

.dt-button {
    border-radius: 0.2rem !important;
}

.dt-input {
    background-color: white !important;
}

/* Round Corner for TOP LEFT COLUMN */

table thead tr:first-child th:first-child {
    border-top-left-radius: 0.3rem !important;
}

/* Round Corner for TOP RIGHT COLUMN */

table thead tr:first-child th:last-child {
    border-top-right-radius: 0.3rem !important;
}

/* Round Corner for BOTTOM LEFT COLUMN */

table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 0.3rem !important;
}

/* Round Corner for BOTTOM RIGHT COLUMN */

table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 8px !important;
}

div.dt-button-collection {
    background-color: white !important;
}

.dt-button-date-filter-select {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 8px;
    padding: 0.5em 1em;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.88em;
    line-height: 1.6em;
    color: black;
    white-space: nowrap;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.1);
    background: linear-gradient(to bottom, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(230, 230, 230, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)");
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-decoration: none;
    outline: none;
    text-overflow: ellipsis;
    min-width: 169px !important;
}
/*New Datatables Styling */
/*font awsome*/
.fas {
    margin: 2px 3px;
    font-family: 'Font Awesome 5 Free';
    font-size: 1.5rem;
    font-weight: 900;
    color: white;
}

.fasvis {
    margin: 3px;
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Regular', 'Font Awesome 5 Brands', 'Arial';
    font-size: 1.1rem;
    font-weight: 900;
    color: #646464;
}

    .fasvis:hover {
        color: var(--ntx-green3);
    }

.fasedit {
    margin: 5px;
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Regular', 'Font Awesome 5 Brands';
    font-size: 1rem;
    font-weight: 900;
    color: black;
}

.fastrash {
    margin: 3px;
    font-family: 'Font Awesome 5 Free';
    font-size: 1rem;
    font-weight: 900;
    color: #646464;
}

.iconred {
    margin: 3px;
    font-size: 1rem;
    font-weight: 900;
    color: #dc3545; /* You might want to update this to a brighter red */
}

.icongreen {
    margin: 3px;
    font-size: 1rem;
    font-weight: 900;
    color: #41A62A; /* Bootstrap's green color */
}

.iconblue {
    margin: 3px;
    font-size: 1rem;
    font-weight: 900;
    color: #0085dd; /* Bootstrap's blue color */
}

.iconorange {
    margin: 3px;
    font-size: 1rem;
    font-weight: 900;
    color: #fd7e14; /* Bootstrap's orange color */
}

/*      .fastrash:hover {
            color: var(--ntx-green3);
        }*/

.fasrestore {
    margin: 3px;
    font-family: 'Font Awesome 5 Free';
    font-size: 1rem;
    font-weight: 900;
    color: #646464;
}

    .fasrestore:hover {
        color: var(--ntx-green3);
    }

/*   .fastrash:hover {
        color: var(--ntx-green3);
    }*/

.faspay {
    margin: 3px;
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Regular', 'Font Awesome 5 Brands';
    font-size: 1.2rem;
    font-weight: 900;
    color: #646464;
}

    .faspay:hover {
        color: var(--ntx-green3);
    }

.dtsb-right {
    display: none !important;
    visibility: hidden !important;
    width: 0px !important;
}

.dtsb-logicContainer {
    display: none !important;
    visibility: hidden !important;
    width: 0px !important;
}

.dtsb-clearAll {
    display: none !important;
    visibility: hidden !important;
    width: 0px !important;
}

.dtsb-titleRow {
    display: none !important;
    visibility: hidden !important;
    width: 0px !important;
}

div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
    display: none !important;
    visibility: hidden !important;
    width: 0px !important;
}

.dtsb-group {
    margin-left: 0px !important;
}
/* Dropdown Button */
.dropbtn {
    padding: 4px !important;
}
/* The container <div> - needed to position the dropdown content */
.table-dropdown {
    position: relative !important;
    display: inline-block !important;
}

/* Dropdown Content (Hidden by Default) */
.table-dropdown-content {
    top: 100%;
    left: 12%;
    transform: translate(-50%, 0);
    display: none !important;
    position: absolute !important;
    background-color: #f1f1f1 !important;
    min-width: 210px !important;
    max-height: 800px !important; /* Set a maximum height */
    overflow-y: auto !important; /* Enable vertical scrollbar if needed */
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2) !important;
    z-index: 1 !important;
    border-radius: 8px !important;
}

    /* Links inside the dropdown */
    .table-dropdown-content a {
        color: black !important;
        padding: 8px !important;
        text-decoration: none !important;
        display: block !important;
        border: 0.5px solid #ddd;
    }

        /* Change color of dropdown links on hover */
        .table-dropdown-content a:hover {
            background-color: #ddd !important;
            border-radius: 4px !important;
        }

/* Show the dropdown menu on hover */
.table-dropdown:hover .table-dropdown-content {
    display: block !important;
}

.table-dropdown:focus .table-dropdown-content {
    display: block !important;
}

/* Sub-dropdown container */
.table-subdropdown {
    position: relative !important;
    display: block !important;
}

/* Sub-dropdown content (Hidden by default) */
.table-subdropdown-content {
    position: absolute !important;
    left: 0 !important; /* Aligns with the parent link */
    top: 100% !important; /* Positions it directly below */
    display: none !important;
    background-color: #f9f9f9 !important;
    max-width: 200px !important;
    /*    max-height: 350px !important;
    overflow-y: auto !important;*/
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2) !important;
    z-index: 2 !important;
    border-radius: 6px !important;
}

    /* Sub-dropdown links */
    .table-subdropdown-content a {
        color: black !important;
        padding: 8px !important;
        text-decoration: none !important;
        display: block !important;
        border: 0.5px solid #ddd;
    }

        /* Hover effect for sub-dropdown links */
        .table-subdropdown-content a:hover {
            background-color: #ddd !important;
            border-radius: 4px !important;
        }

/* Show sub-dropdown on hover */
.table-subdropdown:hover .table-subdropdown-content {
    display: block !important;
}

table.dataTable > tbody > tr > th, table.dataTable > tbody > tr > td {
    vertical-align: middle !important;
}
/*New Datatables Styling */
/* Pop-in Animations */
@keyframes pop-in {
    0% {
        opacity: 0.5;
        transform: scale(0.5);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes pop-out {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    100% {
        opacity: 0;
        transform: scale(0.1);
    }
}
/* Slide-in from Bottom */
@keyframes slide-in-bottom {
    0% {
        transform: translateY(100%);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}


/* Slide-in from Top */
@keyframes slide-in-top {
    0% {
        transform: translateY(-75%);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Slide-in from Left */
@keyframes slide-in-left {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Slide-in from Right */
@keyframes slide-in-right {
    0% {
        transform: translateX(100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
/* Slide-out to Bottom */
@keyframes slide-out-bottom {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateY(100%);
        opacity: 0;
    }
}

/* Slide-out to Top */
@keyframes slide-out-top {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateY(-100%);
        opacity: 0;
    }
}

/* Slide-out to Left */
@keyframes slide-out-left {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        transform: translateX(-100%);
        opacity: 0;
    }
}

/* Slide-out to Right */
@keyframes slide-out-right {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        transform: translateX(100%);
        opacity: 0;
    }
}
/* Fade-in */
@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* Fade-out */
@keyframes fade-out {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}
/* Pop-in Animations */
.pop-in {
    animation: pop-in 1s ease-in-out;
}

.pop-out {
    animation: pop-out 1s ease-in-out;
}

/* Slide-in Animations */
.slide-in-bottom {
    animation: slide-in-bottom 1s ease-in-out;
}

.slide-in-top {
    animation: slide-in-top 1s ease-in-out;
}

.slide-in-left {
    animation: slide-in-left 1s ease-in-out;
}

.slide-in-right {
    animation: slide-in-right 1s ease-in-out;
}

/* Slide-out Animations */
.slide-out-bottom {
    animation: slide-out-bottom 1s ease-in-out;
}

.slide-out-top {
    animation: slide-out-top 1s ease-in-out;
}

.slide-out-left {
    animation: slide-out-left 1s ease-in-out;
}

.slide-out-right {
    animation: slide-out-right 1s ease-in-out;
}

/* Fade-in / Fade-out Animations */
.fade-in {
    animation: fade-in 1s ease-in-out;
}

.fade-out {
    animation: fade-out 1s ease-in-out;
}
/* Duration defined in classes */
.slow {
    animation-duration: 0.5s;
}

.fast {
    animation-duration: 0.2s;
}


/* Modal display class */
.modal.show {
    animation: fade-in 0.3s forwards;
    opacity: 1; /* Ensure it's visible */
    transform: scale(1); /* Ensure it's scaled up */
}

/*body.modal-open,
.modal {
    padding-right: 0 !important;
}

@media (min-width: 768px) {
    body.modal-open,
    .modal {
        padding-right: 15px !important;*/ /* typical scrollbar width */
    /*}
}*/

#sidebarOpen {
    opacity: 0; /* Ensure elements are hidden initially */
    animation: pop-in ease-in-out; /* Smooth animation */
    animation-fill-mode: forwards; /* Retain the final state after animation */
    animation-iteration-count: 1; /* Ensure it plays only once */
    animation-duration: 0.2s; /* Set specific duration for .category-card */
}

#contactDetails {
    opacity: 0; /* Ensure elements are hidden initially */
    animation: slide-in-right 0.2s ease-in-out; /* Smooth animation */
    animation-fill-mode: forwards; /* Retain the final state after animation */
    animation-iteration-count: 1; /* Ensure it plays only once */
    animation-duration: 0.2s; /* Set specific duration for .category-card */
}

#map {
    animation: slide-in-bottom 0.2s ease-in-out; /* Add easing for a smoother transition */
    opacity: 0; /* Ensure it's hidden initially */
    animation-fill-mode: forwards; /* Keep the final state after the animation completes */
    animation-iteration-count: 1; /* Ensure it plays only once */
    animation-duration: 0.2s; /* Set specific duration for .category-card */
}

.category-card {
    opacity: 0; /* Ensure elements are hidden initially */
    animation: slide-in-right 0.2s ease-in-out; /* Smooth animation */
    animation-fill-mode: forwards; /* Retain the final state after animation */
    animation-iteration-count: 1; /* Ensure it plays only once */
    animation-duration: 0.2s; /* Set specific duration for .category-card */
}

#category-list-container {
    animation: slide-in-bottom 0.2s ease-in-out; /* Add easing for a smoother transition */
    opacity: 0; /* Ensure it's hidden initially */
    animation-fill-mode: forwards; /* Keep the final state after the animation completes */
    animation-iteration-count: 1; /* Ensure it plays only once */
    animation-duration: 0.2s; /* Set specific duration for .category-card */
}

#branch-list-container {
    animation: slide-in-bottom 0.2s ease-in-out; /* Add easing for a smoother transition */
    opacity: 0; /* Ensure it's hidden initially */
    animation-fill-mode: forwards; /* Keep the final state after the animation completes */
    animation-iteration-count: 1; /* Ensure it plays only once */
    animation-duration: 0.2s; /* Set specific duration for .category-card */
}
/*responsive*/
/*Store.css  ////////////////////////////////////////*/

/*Layout CSS*/
body, table, td, a {
    font-family: 'Poppins' !important;
    font-family: Poppins !important;
    text-rendering: optimizeLegibility;
}
/* The following styling removes the up down step arrows from number inputs */
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#progress-fill {
    transition: width 0.5s ease-in-out;
}
/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}
/* The following styling removes the up down step arrows from number inputs */

#storeUserProfileNav .dropdown-menu {
    /* Your CSS styles for the dropdown-menu class inside #storeUserProfileNav */
    /* right: 0 !important; */
    min-width: 13rem !important;
}

.dropdown-menu[data-bs-popper] {
    top: 100%;
    left: 0;
    margin-top: 0rem !important;
}

.dt-button-Permission-filter-select {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    margin-left: 0px;
    margin-right: 0px;
    padding: 0.5em 1em;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.88em;
    line-height: 1.6em;
    color: black;
    white-space: nowrap;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.1);
    background: linear-gradient(to bottom, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(230, 230, 230, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)");
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-decoration: none;
    outline: none;
    text-overflow: ellipsis;
}

#shoppingCartSummaryIcon {
    border-radius: 16px;
}

/* Options dropdowns in admin tables */
.table-dropdown-content {
    cursor: pointer;
}

/* Keyframes for grow-down animation */
@keyframes growDown {
    from {
        max-height: 0;
        opacity: 0;
    }

    to {
        max-height: 500px; /* Matches the expanded submenu size */
        opacity: 1;
    }
}

/* Keyframes for shrink-up animation */
@keyframes shrinkUp {
    from {
        max-height: 500px; /* Matches the expanded submenu size */
        opacity: 1;
    }

    to {
        max-height: 0;
        opacity: 0;
    }
}
/* navbar */
.navbar {
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
    background-color: var(--white-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 30px;
    z-index: 1000;
    box-shadow: 0 0 2px var(--grey-color-light);
    transition: all 0.7s ease;
}

.logo_item {
    display: flex;
    align-items: center;
    column-gap: 10px;
    font-size: 22px;
    font-weight: 500;
    color: var(--hover-color);
}

.search_bar {
    height: 47px;
    max-width: 430px;
    width: 100%;
}

    .search_bar input {
        height: 100%;
        width: 100%;
        border-radius: 25px;
        font-size: 18px;
        outline: none;
        background-color: var(--white-color);
        color: var(--grey-color);
        border: 1px solid var(--grey-color-light);
        padding: 0 20px;
    }

.navbar_content {
    display: flex;
    align-items: center;
    column-gap: 15px;
}

    .navbar_content i {
        cursor: pointer;
        color: var(--grey-color);
    }
/* sidebar */
/* Sidebar base */
.sidebar {
    background-color: var(--white-color);
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    padding: 70px 10px;
    z-index: 100;
    overflow-y: scroll;
    box-shadow: 0 0 1px var(--grey-color-light);
    width: 250px;
    transform: translateX(0);
    transition: transform 0.4s ease-in-out, padding 0.4s ease;
    will-change: transform;
}

    /* Sidebar hidden */
    .sidebar.close {
        transform: translateX(-100%);
        padding: 70px 0px;
        transition: transform 0.4s ease-in-out, padding 0.4s ease;
    }

        /* Optional: prevent hover undoing close transition */
        .sidebar.close:hover {
            transform: translateX(-100%) !important;
        }

    /* Scrollbar hidden */
    .sidebar::-webkit-scrollbar {
        display: none;
    }

.menu_content {
    position: relative;
}

.menu_title {
    margin: 5px 0;
    padding: 0 20px;
    font-size: 18px;
}

.sidebar.close .menu_title {
    padding: 6px 30px;
}

.menu_title::before {
    color: var(--grey-color);
    white-space: nowrap;
}

.menu_dahsboard::before {
    content: "Dashboard";
}

.menu_editor::before {
    content: "Editor";
}

.menu_setting::before {
    content: "Setting";
}

.sidebar.close .menu_title::before {
    content: "";
    position: absolute;
    height: 2px;
    width: 18px;
    border-radius: 12px;
    background: var(--grey-color-light);
}

.menu_items {
    padding: 0;
    list-style: none;
}

    .menu_items li {
        transition: transform 0.4s ease, background 0.3s ease;
        transform: translateX(-10px);
    }

.sidebar:hover .menu_items li {
    transform: translateX(0);
}

.nav_link {
    user-select: none;
    font-size: 16px;
}

.navlink_icon {
    position: relative;
    font-size: 20px;
    min-width: 30px;
    line-height: 30px;
    display: inline-block;
    text-align: center;
    border-radius: 6px;
}

    .navlink_icon::before {
        content: "";
        position: absolute;
        height: 100%;
        width: calc(100% + 100px);
        left: -20px;
    }

    .navlink_icon:hover {
        background: var(--hover-color);
    }

.sidebar .nav_link {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 4px 5px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--grey-color);
    white-space: nowrap;
    transition: all 0.4s ease;
}

.sidebar.close .navlink {
    display: none;
}

.nav_link:hover {
    color: var(--white-color);
    background: var(--hover-color);
    transform: translateX(5px);
}

.sidebar.close .nav_link:hover {
    background: var(--white-color);
    color: var(--grey-color);
    transform: none;
}

.submenu_item {
    cursor: pointer;
}

/* Submenu Animation */
.submenu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.7s ease, opacity 0.7s ease;
    transform-origin: top;
}

.show_submenu ~ .submenu {
    max-height: 500px;
    opacity: 1;
    animation: growDown 0.7s ease forwards;
}

.submenu.closing {
    max-height: 500px;
    opacity: 1;
    animation: shrinkUp 0.7s ease forwards;
}

.show_submenu .arrow-left {
    transform: rotate(90deg);
    transition: transform 0.7s ease;
}

.submenu .sublink {
    padding: 5px 5px 5px 32px;
}

/* Bottom section */
.bottom_content {
    position: fixed;
    bottom: 10px;
    left: 0;
    width: 260px;
    cursor: pointer;
    transition: all 0.7s ease;
}

.navbottom {
    position: absolute;
    display: flex;
    align-items: center;
    left: 0;
    justify-content: space-around;
    padding: 18px 0;
    text-align: center;
    width: 100%;
    color: var(--grey-color);
    border-top: 1px solid var(--grey-color-light);
    background-color: var(--white-color);
}

    .navbottom i {
        font-size: 20px;
    }

.bottom span {
    font-size: 18px;
}

.sidebar.close .bottom_content {
    width: 50px;
    left: 15px;
}

.sidebar.close .bottom span {
    display: none;
}

.sidebar.hoverable .collapse_sidebar {
    display: none;
}

#sidebarOpen:hover {
    transform: scale(1.05);
}

#sidebarOpen {
    font-size: 32px;
    display: block;
    margin-right: 20px;
    cursor: pointer;
    color: var(--grey-color);
}

.search_bar {
    display: none;
}

/* Mobile menu toggle */
.mobile-only {
    display: none;
}

@media (max-width: 1024px) {
    .mobile-only {
        display: block;
    }
}

/* Only target MainRenderBodyClass with preload class */
.MainRenderBodyClass.preload {
    opacity: 0;
    overflow: hidden;
}

/* Transition when preload class is removed */
.MainRenderBodyClass {
    transition: opacity 0.3s ease;
    opacity: 1;
}
/*//////////////////////////// Navbar Stuff//////////////////////////////////////////////// */
#PageMenuItemsDiv:empty {
    display: none !important;
}
/* --- Your Original Styles (Kept for context) --- */

.dropdown-menu {
    /* Keep your border rule */
    border: 0px solid rgba(0, 0, 0, 0.15);
}
/* --- New Animation Styles (Adapted from the example) --- */

/* 1. Set the initial, hidden state of the dropdown menu */
.dropdown-menu {
    display: block; /* Required for the animation to work */
    opacity: 0;
    transform: translateY(-10px); /* Starts 10px above its final position */
    transition: all 0.3s ease-in-out;
    pointer-events: none; /* Prevents clicks when menu is invisible */
}

/* 2. Set the visible state when hovering the parent .dropdown */
.dropdown:hover .dropdown-menu {
    opacity: 1;
    transform: translateY(0); /* Moves to its final position */
    pointer-events: auto; /* Allows clicks on the menu items */
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1; /* This pushes footer down */
}

#FooterDiv {
    margin-top: auto;
}

.flex-header-container {
    gap: 1rem;
}

.headerDiv {
    flex-grow: 1;
    min-width: 200px;
}

.HeadButtonsDiv button {
    white-space: nowrap;
}

.table-form-control {
    display: inline;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0.25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

    .table-form-control:focus {
        color: #212529;
        background-color: #fff;
        outline: 0;
        box-shadow: none !important;
    }


/* The Anchor Wrapper */
.line-item-note-anchor {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

/* The Popup Container (Desktop Default) */
.line-item-note-popup {
    display: none;
    position: absolute;
    /* Position: Right of icon */
    left: 100%;
    top: -10px;
    z-index: 1050;
    /* Dimensions */
    width: 300px;
    /* Appearance */
    background-color: white;
    padding: 10px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    text-align: left;
    margin-left: 10px;
}

    /* BRIDGE */
    .line-item-note-popup::before {
        content: "";
        position: absolute;
        top: 0;
        left: -15px;
        width: 20px;
        height: 100%;
        background: transparent;
    }

/* DISPLAY LOGIC */
.line-item-note-anchor.show-popup .line-item-note-popup,
.line-item-note-anchor:focus-within .line-item-note-popup {
    display: block;
}

/* Icon Styling */
.line-item-note-icon {
    font-size: 1.2rem;
    cursor: pointer;
    color: #adb5bd;
    transition: color 0.2s;
}

.line-item-note-active {
    color: green !important;
}

/* Read-Only Text Styling */
.line-item-note-text-display {
    white-space: pre-wrap;
    overflow-wrap: break-word;
    word-wrap: break-word;
    color: #212529;
    font-size: 0.9rem;
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

/* Edit Mode Textarea Styling */
.line-item-note-popup textarea {
    margin: 0;
    resize: none;
}

/* =========================================
   MOBILE & TABLET OVERRIDES (Max Width 768px)
   ========================================= */
@media (max-width: 768px) {
    .line-item-note-popup {
        /* Detach from the icon and stick to the screen viewport */
        position: fixed;
        /* Center Horizontally and Vertically */
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        /* Width */
        width: 90%;
        max-width: 90%; /* Safety to ensure it doesn't overflow */
        margin-left: 0; /* Remove the desktop spacing */
        /* Ensure it sits on top of everything */
        z-index: 9999;
        box-shadow: 0 0 15px rgba(0,0,0,0.5); /* Stronger shadow for modal feel */
    }

        /* Hide the 'bridge' on mobile since we aren't hovering anymore */
        .line-item-note-popup::before {
            display: none;
        }

        /* Optional: Limit height on mobile so keyboard doesn't hide it entirely */
        .line-item-note-text-display,
        .line-item-note-popup textarea {
            max-height: 30vh;
        }
}