/*.dropdown, .dropup{
    position:absolute !important;
}*/

@media (min-width: 1200px) {
    #pixel-nav .nav-tabs > li.visible-lg {
        display: inline-block !important;
    }
}
.modalz100{
    z-index:100000!important;
}
.add-line-gift-btn, .edit-line{
    margin-left: 5p !important;
    padding: 4px 10px !important;
}
.tr-red .form-control {
    background-color: white !important;
    color: black !important;
    border-color: black !important;
}

.custom-alert {
    position: fixed;
    top: 110px;
    right:25px;
    max-width: 500px;
    width: auto;
    z-index: 9999;

    padding: 15px 40px 15px 20px;
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
    border-radius: 5px;
    font-size: 15px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    text-align: left;

    opacity: 1;
    transition: opacity 0.5s ease-out;
}

.custom-alert-icon {
    margin-right: 8px;
    font-weight: bold;
}

.custom-alert-close {
    position: absolute;
    top: 8px;
    right: 15px;
    font-size: 30px;
    color: #856404;
    cursor: pointer;
    font-weight: bold;
}

.custom-alert.hide {
    opacity: 0;
    transition: opacity 0.5s ease-out;
}

.label-counts{
    padding:5px 20px;
    display:block;
}
.scrollbar-dusty-grass::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
    background-color: #F5F5F5;
    border-radius: 10px;
}

.scrollbar-dusty-grass::-webkit-scrollbar {
    width: 12px;
    background-color: #F5F5F5;
}

.scrollbar-dusty-grass::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
    background-image: -webkit-linear-gradient(330deg, #d4fc79 0%, #96e6a1 100%);
    background-image: linear-gradient(120deg, #d4fc79 0%, #96e6a1 100%);
}

.thin::-webkit-scrollbar {
    width: 6px;
}

.cust_scrollbar {
    position: relative;
    overflow-y: scroll;
    overflow-x: hidden;
    height: auto;
	margin: 10px 5px;
}
.rec_scrollbar{
    position: relative;
    overflow-y: scroll;
    max-height: 200px;
	margin: 10px 5px;
}

.cust_h250{
    max-height: 250px;
}
.cust_h300{
    max-height: 300px;
}
.cust_h350{
    max-height: 350px;
}
.cust_h400{
    max-height: 400px;
}
.cust_h450{
    max-height: 450px;
}
.cust_h500{
    max-height: 500px;
}
.cust_h550{
    max-height: 550px;
}
.cust_h600{
    max-height: 600px;
}
.cust_h650{
    max-height: 650px;
}
.cust_h700{
    max-height: 700px;
}

.cust_vh10{
    max-height: 10vh;
}
.cust_vh15{
    max-height: 15vh;
}
.cust_vh20{
    max-height: 20vh;
}
.cust_vh25{
    max-height: 25vh;
}
.cust_vh30{
    max-height: 30vh;
}
.cust_vh35{
    max-height: 35vh;
}
.cust_vh40{
    max-height: 40vh;
}
.cust_vh45{
    max-height: 45vh;
}
.cust_vh50{
    max-height: 50vh;
}
.cust_vh55{
    max-height: 55vh;
}
.cust_vh60{
    max-height: 60vh;
}
.cust_vh65{
    max-height: 65vh;
}
.cust_vh70{
    max-height: 70vh;
}
.cust_vh75{
    max-height: 75vh;
}
.cust_vh80{
    max-height: 80vh;
}
.cust_vh85{
    max-height: 85vh;
}
.cust_vh90{
    max-height: 90vh;
}

div.alert a{
	color:#FFF;
	text-decoration: underline;
}
div.alert a:hover{
	color:#d36028;
}

.wh_select_list{
    /*display:none;*/
}

.color-swatch {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 5px;
    border: 1px solid #ccc;
    vertical-align: middle;
}
.filters-modal-body #pixel-nav {
    border-bottom: 1px solid #d36028;
}    
.filters-modal-body #pixel-nav .nav-tabs {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0;
}

.filters-modal-body #pixel-nav .nav-tabs li {
    flex: 1;
    text-align: center;
}

.filters-modal-body #pixel-nav .nav-tabs li a {
    display: block;
    padding: 10px;
    text-decoration: none;
    color: inherit;
    min-height: 50px;
}

.filters-modal-body #pixel-nav .nav-tabs li.active a {
    background-color: #f0f0f0;
    border-bottom: 3px solid #007bff;
}
.filters-modal-body .tab-content {
    padding: 10px;
}
.filters-modal-body .fade {
    display: none;
}
.filters-modal-body .fade.in {
    display: block;
}
.filters-modal-body input.form-control, .filters-modal-body .price-col{
    width:100%!important;
    max-width:100%!important; 
}
.back-top{
    width:55px;
}
.label-danger-msg, .label-info-msg{
    margin-top: 5px;
    text-align:left;
}
input[type=checkbox], input[type=radio]{
    height:25px !important;
}
@media (max-width: 480px) {
    .content-header{
        margin-top:0px;
    }
    .label-danger-msg, .label-info-msg{
    display:block;
        white-space:unset;
        text-align:center;
    }
    input[type=checkbox], input[type=radio]{
        height:22px !important;
    }
}
@media (max-width: 768px) {
    .label-danger-msg, .label-info-msg{
    display:block;
        white-space:unset;
        text-align:center;
    }
    input[type=checkbox], input[type=radio]{
        height:22px !important;
    }
}

/* ============================================================
 * Promotion Engine — Order Line Visual Indicators
 * ============================================================ */

/* Reward lines (free/discounted items added by promotion engine) */
tr.reward-line > td {
    background-color: #f2fef5 !important;
    border-left: 3px solid #2ecc71;
}
tr.reward-line > td:not(:first-child) {
    border-left: none;
}
tr.reward-line > td:first-child {
    border-left: 3px solid #2ecc71;
}

/* Badge icons */
.promo-reward-badge,
.promo-discount-badge {
    display: inline-block;
    line-height: 1;
}

.product-images-modal-dialog {
    width: 92%;
    max-width: 1180px;
    margin: 20px auto;
}

#product_images_modal .modal-content {
    overflow: hidden;
}

#product_images_modal .modal-title {
    line-height: 1.35;
    padding-right: 28px;
    word-break: break-word;
}

.product-images-modal-body {
    height: 78vh;
    min-height: 340px;
    max-height: calc(100vh - 120px);
    padding: 0;
}

#product_images_modal_body iframe {
    width: 100%;
    height: 100%;
    display: block;
}

.document-product-thumb-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    min-height: 54px;
}

.document-product-thumb {
    width: 54px;
    height: 54px;
    object-fit: cover;
    border: 1px solid #d9d9d9;
    background: #fff;
}

.document-product-thumb-col {
    width: 72px;
    min-width: 72px;
    vertical-align: top !important;
}

.product-images-iframe-page {
    background: #fff;
    margin: 0;
    padding: 16px;
}

.product-images-iframe-wrap {
    min-height: calc(100vh - 32px);
}

.product-images-carousel,
.product-images-carousel .carousel-inner,
.product-images-carousel .item,
.product-images-carousel-item {
    height: calc(100vh - 64px);
}

.product-images-carousel-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 56px 48px;
    position: relative;
    background: #fff;
}

.product-images-carousel-image {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
}

.product-images-carousel-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    text-align: center;
    color: #555;
    font-size: 13px;
    padding: 0 16px;
}

.product-images-empty-state {
    min-height: calc(100vh - 64px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #666;
    text-align: center;
    gap: 10px;
}

.product-images-empty-state .fa {
    font-size: 42px;
    color: #b8b8b8;
}

@media (max-width: 991px) {
    .product-images-modal-dialog {
        width: 95%;
        margin: 12px auto;
    }

    .product-images-modal-body {
        height: 72vh;
        min-height: 300px;
    }

    .document-product-thumb {
        width: 48px;
        height: 48px;
    }

    .document-product-thumb-link {
        min-width: 48px;
        min-height: 48px;
    }

    .document-product-thumb-col {
        width: 62px;
        min-width: 62px;
    }

    .product-images-carousel-item {
        padding: 18px 44px 44px;
    }
}

@media (max-width: 767px) {
    .product-images-modal-dialog {
        width: calc(100% - 16px);
        margin: 8px auto;
    }

    .product-images-modal-body {
        height: calc(100vh - 140px);
        min-height: 260px;
        max-height: calc(100vh - 140px);
    }

    #product_images_modal .modal-header {
        padding: 12px 14px;
    }

    #product_images_modal .modal-title {
        font-size: 18px;
        padding-right: 36px;
    }

    .document-product-thumb-link {
        min-width: 44px;
        min-height: 44px;
    }

    .document-product-thumb {
        width: 44px;
        height: 44px;
    }

    .document-product-thumb-col {
        width: 56px;
        min-width: 56px;
    }

    .product-images-iframe-page {
        padding: 8px;
    }

    .product-images-iframe-wrap {
        min-height: calc(100vh - 16px);
    }

    .product-images-carousel,
    .product-images-carousel .carousel-inner,
    .product-images-carousel .item,
    .product-images-carousel-item,
    .product-images-empty-state {
        height: calc(100vh - 32px);
        min-height: calc(100vh - 32px);
    }

    .product-images-carousel-item {
        padding: 14px 30px 40px;
    }

    .product-images-carousel-caption {
        font-size: 12px;
        bottom: 6px;
        padding: 0 10px;
    }

    .stack-table .document-product-thumb-col {
        text-align: center !important;
    }

}

.order-items-table .order-items-mobile-thumb {
    display: none;
}

.order-items-table .order-items-product-note,
.order-items-table .order-items-product-flag,
.order-items-table .order-items-product-actions {
    margin-top: 4px;
}

@media (min-width: 769px) and (max-width: 1023px) {
    .order-items-table thead {
        display: table-header-group !important;
    }

    .order-items-table tbody {
        display: table-row-group !important;
    }

    .order-items-table tr {
        display: table-row !important;
        border-bottom: 0 !important;
    }

    .order-items-table th,
    .order-items-table td {
        display: table-cell !important;
        position: static !important;
        text-align: inherit !important;
        padding: 12px !important;
        border: 1px solid #e5e5e5 !important;
        vertical-align: top !important;
    }

    .order-items-table td:before {
        display: none !important;
        content: none !important;
    }

    .order-items-table .order-items-mobile-thumb {
        display: none !important;
    }

    .order-items-table .order-items-product-flex,
    .order-items-table .stack-table-info {
        display: block !important;
    }

    .order-items-table .half-col {
        display: table-cell !important;
        width: auto !important;
    }
}

@media (max-width: 768px) {
    .order-items-table .order-items-mobile-thumb {
        display: inline-flex;
        flex: 0 0 auto;
        margin-right: 12px;
    }

    .order-items-table .order-items-product-flex {
        display: flex;
        align-items: flex-start;
    }

    .order-items-table .order-items-product-copy {
        flex: 1 1 auto;
        min-width: 0;
    }

    .order-items-table th.order-items-thumb-cell,
    .order-items-table td.order-items-thumb-cell {
        display: none !important;
    }

    .order-items-table .order-items-product-cell {
        padding-top: 8px !important;
    }

    .order-items-table td.order-items-product-cell::before {
        display: none !important;
        content: none !important;
    }
}

@media (min-width: 1024px) {
    /* Global fixed-header/scrollable-body table pattern — reusable across any view.
       Currently applied to: scan_shipment (_default, _branded), load_shipment, view_shipment, view_order items. */
    .fixed-header-table-scroll {
        max-height: calc(100vh - 320px);
        min-height: 240px;
        overflow-y: auto;
        /* keep the rightmost column clear of the inner scrollbar on wide tables that also scroll horizontally */
        padding-right: 2px;
    }

    .fixed-header-table-scroll table.stack-table thead th {
        position: sticky;
        top: 0;
        z-index: 5;
    }

    /* thin, distinct scrollbar so it doesn't read as a second full-size page scrollbar */
    .fixed-header-table-scroll::-webkit-scrollbar {
        width: 8px;
    }

    .fixed-header-table-scroll::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.25);
        border-radius: 4px;
    }

    .fixed-header-table-scroll::-webkit-scrollbar-track {
        background: transparent;
    }
}

/* Global "lines scanned" progress counter — reusable across any view.
   Currently applied to: scan_shipment (_default, _branded), load_shipment. */
.scan-progress-counter {
    font-size: 15px;
}

.scan-progress-counter #scanned_lines_count,
.scan-progress-counter #total_lines_count {
    font-weight: 700;
}

/* POS Activity / Frontend Logs tables — this table is already tight (long
   customer names wrap to multiple lines), so a shrink-to-fit width (1%) on
   the IP column left it undersized and its nowrap text overflowed visibly
   into the Activity column. Give IP a fixed width comfortably larger than
   any IPv4/IPv6 value instead, and cap Activity so the two don't compete for
   the same leftover space. */
.pos-log-table .pos-log-col-ip {
    width: 160px;
    min-width: 160px;
    white-space: nowrap;
}

.pos-log-table .pos-log-col-activity,
.pos-log-table .pos-log-activity-cell {
    width: 22%;
    word-break: break-word;
}

/* DataTables' bundled CSS (table.dataTable thead th{text-align:left}) has
   higher specificity than Bootstrap's plain .text-right/.text-center classes,
   so any #jq_DataTable report table (see Pixel::getdataTableid()) silently
   left-aligns its header text even when the <th> carries an explicit
   alignment class. Re-assert author intent on top of DataTables' rule. */
table.dataTable thead th.text-right,
table.dataTable tfoot th.text-right {
    text-align: right !important;
}
table.dataTable thead th.text-center,
table.dataTable tfoot th.text-center {
    text-align: center !important;
}
table.dataTable thead th.text-left,
table.dataTable tfoot th.text-left {
    text-align: left !important;
}
