/* #Clearing
================================================== */

/* Self Clearing Goodness */
.container:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
/* Use clearfix class on parent to clear nested columns,
    or wrap each row of columns in a <div class="row"> */
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
    content: "\0020";
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
}

.row:after,
.clearfix:after {
    clear: both;
}

/* You can also use a <br class="clear" /> to clear columns */
.clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
}

.att-size-detail {
    background-color: #222;
    color: #fff;
    padding: 6px;
    -webkit-border-top-radius: 3px;
    -moz-border-top-radius: 3px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    cursor: default;
    text-align: center;
    font-size: 13px;
}

.att-size-price {
    background-color: #b80709;
    color: #eee;
    padding: 1px 6px 2px 6px;
    cursor: default;
    text-align: center;
    font-size: 11px;
    white-space: nowrap;
}

.att-color-title {
    padding: 5px 11px;
    background-color: #444;
    border: 1px solid #444;
    border-bottom: none;
    font-size: 14px;
    color: #fff;
    /* text-transform: uppercase */
}

.att-color-box {
    border: 1px solid #444;
    border-top: none;
    padding: 5px;
}

.w-100 {
    width: 100%;
}

.p-5 {
    padding: 5px;
}

.float-l {
    float: left;
}

.display-n {
    display: none;
}

.display-i {
    display: inline;
}

.input.att-qty-detail,
.att-qty-detail {
    width: 63px;
    font-weight: bold;
    border: 1px solid #000 !important;
    padding: 6px !important;
    text-align: center;
}

    .input.att-qty-detail,
    .att-qty-detail.one-size-fits-all {
        width: 108px;
    }

.att-color-bottom {
    text-align: center;
    margin: 2px auto;
    padding-top: 10px;
    padding-bottom: 5px;
    height: 50px;
    font-size: small;
}

.tooltip {
    cursor: default;
}

    .tooltip.out-of-stock {
        color: #eee;
    }

.att-color-bottom-guest {
    text-align: center;
    margin: 2px auto;
    padding-top: 10px;
}

.att-top-text {
    color: #666;
    font-size: small;
    margin-top: 10px;
}

.clear-l {
    clear: left;
}

.clear-b {
    clear: both;
}

.input-checkbox {
    display: block;
    margin: 0 auto;
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.colour-name {
    text-align: center;
    height: 40px;
    display: block;
    width: 100%;
}

.control-group {
    display: inline-block;
    height: 30px;
    margin: 5px auto 1px auto;
    padding: 5px;
    text-align: left;
    vertical-align: top;
    background: #f9f9f9;
    -webkit-border-bottom-radius: 3px;
    -moz-border-bottom-radius: 3px;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
    border-top: 1px solid #eee;
    width: 126px;
    margin-top: 10px;
}

.control {
    font-size: 14px;
    position: relative;
    display: block;
    margin-bottom: 5px;
    padding-left: 30px;
    cursor: pointer;
    margin-left: 3px;
}

.color-picture {
    width: 128px;
    margin: 0.7%;
    text-align: center;
}

.container1 .seven.columns {
    width: 100%;
}

.seven.columns {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border-bottom: none;
    margin-bottom: 0;
}

.color-picture img {
    display: block;
    margin: 0 auto;
}

.product-img-box ul {
    margin: 0 auto 30px auto;
}

.seven.columns ul li,
.place-order ul li {
    float: left;
    list-style: none;
    width: 128px;
    margin-left: 1.2%;
    margin-right: 1.2%;
    margin-bottom: 8px;
    border: 1px solid #cacaca;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding-top: 4px;
    padding-right: 5px;
}

.control__indicator {
    position: absolute;
    top: 1px;
    left: 0;
    width: 20px;
    height: 20px;
    background: #e6e6e6;
    margin-top: -2px;
}

.control--radio .control__indicator {
    border-radius: 50%;
}

/* Hover and focus states */
.control:hover input ~ .control__indicator,
.control input:focus ~ .control__indicator {
    background: #ccc;
}

/* Checked state */
.control input:checked ~ .control__indicator {
    background: #b80709;
}

/* Hover state whilst checked */
.control:hover input:not([disabled]):checked ~ .control__indicator,
.control input:checked:focus ~ .control__indicator {
    background: #d80000;
}

/* Disabled state */
.control input:disabled ~ .control__indicator {
    pointer-events: none;
    opacity: 0.6;
    background: #e6e6e6;
}

/* Check mark */
.control__indicator:after {
    position: absolute;
    display: none;
    content: "";
}

/* Show check mark */
.control input:checked ~ .control__indicator:after {
    display: block;
}

/* Checkbox tick */
.control--checkbox .control__indicator:after {
    top: 4px;
    left: 8px;
    width: 3px;
    height: 8px;
    transform: rotate(45deg);
    border: solid #fff;
    border-width: 0 2px 2px 0;
}

/* Disabled tick colour */
.control--checkbox input:disabled ~ .control__indicator:after {
    border-color: #7b7b7b;
}

.overview .qty-label {
    display: inline !important;
    padding-top: 12px;
    font-size: 16px;
}

#spanTotalQty {
    margin: 0 10px 0 5px;
    padding-top: 12px;
    font-size: 16px;
}

.custom-color-item {
    float: left;
    margin: 0 10px 0 0px;
    width: 100%;
}

input.att-qty-detail,
input.att-qty-detail:focus,
.att-qty-detail.one-size-fits-all,
.att-qty-detail.one-size-fits-all:focus {
    /*font: normal 15px 'Fjalla One', sans-serif;*/
    background: none !important;
    color: unset !important;
}

/* Product-details page */
.product-details-page .custom-color-box .att-color-title {
    display: flex;
    align-items: center;
    color: inherit;
    background-color: #f9f9f9;
    border-color: #ccc;
    padding: 10px;
    width: 100%;
    border-bottom: 1px solid #ccc;
    position: relative;
    text-align: left;
    cursor: pointer;
}

.product-details-page
.custom-color-box
div.custom-color-item:not(:first-child) {
    margin-top: 20px;
}

.product-details-page .custom-color-box .att-color-box {
    border-color: #ccc;
}

    .product-details-page .custom-color-box .att-color-box > div > ul {
        display: flex;
        flex-wrap: wrap;
    }

        .product-details-page .custom-color-box .att-color-box > div > ul > li {
            -ms-flex: 0 0 20%;
            flex: 0 0 20%;
            max-width: 20%;
        }

            .product-details-page
            .custom-color-box
            .att-color-box > div > ul > li
            table
            tbody {
                border: 1px solid #ccc;
            }

    .product-details-page .custom-color-box .att-color-box .att-size-detail {
        background-color: #f2f2f2;
        text-transform: capitalize;
        font-weight: 300;
        color: #222;
        border-bottom: 1px solid #ccc;
    }

    .product-details-page .custom-color-box .att-color-box td input {
        color: #222;
        max-width: 100%;
        height: 34px;
        border: 0 !important;
        width: 100%;
    }

.product-details-page .att-color-title::after {
    font-family: "venture-font";
    text-transform: none;
    content: "c";
    font-size: 7px;
    width: 8px;
    height: 9px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.product-details-page .att-color-title.open::after {
    -ms-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.product-details-page .gc-att-image {
    padding-right: 5px;
}

.product-details-page .att-color-title span {
    font-size: 16px;
}

span.group-qty {
    margin-left: 15px;
}

.custom-color-box .custom-color-item .att-color-box td input {
    border-top: 1px solid #ddd !important;
    font-size: 12px;
    font-weight: 600;
}

.custom-color-box .att-color-box li.active .att-size-detail {
    color: #fff;
}

.justify-content-between {
    justify-content: space-between;
}

.instockQuantity,
.warehouseCode,
.display-info-box {
    display: flex;
    padding: 3px 0 2px 0;
    font-size: 12px;
    justify-content: center;
}

.size-var-wrapper {
    color: #888;
    font-size: 13px;
    text-align: left;
    width: auto;
    margin: 0;
}

    .size-var-wrapper label {
        font-size: 13px;
    }

.chkboxsize {
    margin-left: 5px;
    cursor: pointer;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.toggle-container {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: Arial, sans-serif;
}

.switch {
    position: relative;
    display: inline-block;
    width: 47px;
    height: 24px;
    margin-right: 9px;
}

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.switch-label {
    margin: 0 !important;
    padding: 29px 15px 0 0;
    float: left !important;
}

    .switch-label .slider {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: auto !important;
        bottom: 0;
        margin: auto !important;
        transition: 0.4s;
        border-radius: 28px;
        box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
        cursor: pointer;
        background: #f2f2f2;
    }

        .switch-label .slider:before {
            position: absolute;
            content: "";
            height: 18px;
            width: 18px;
            left: 3px;
            bottom: 3px;
            background-color: #ffffff;
            transition: 0.4s;
            border-radius: 50%;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
        }

input:checked + .slider:before {
    transform: translateX(24px);
}

.toggle-label {
    font-size: 16px;
    font-weight: 500;
}

.popular-filter-option input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    cursor: pointer;
    position: relative;
}

    /* Checked state */
    .popular-filter-option input[type="checkbox"]:checked {
        background-color: #dc3545; /* red background */
        border-color: #dc3545;
    }

        /* Tick mark */
        .popular-filter-option input[type="checkbox"]:checked::after {
            content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23dc3545'%3E%3Crect x='3' y='3' width='18' height='18' rx='4'/%3E%3Cpath d='M7 12l3 3 7-7' stroke='white' stroke-width='2' fill='none'/%3E%3C/svg%3E");
            display: block;
            width: 22px;
            height: 22px;
            top: -5px;
            position: relative;
            left: -5px;
        }

.popular-filters-wrapper {
    background: #fff;
    border: 1px solid #e0e0e0;
    padding: 14px 15px;
    margin-bottom: 0;
    border-bottom: 0;
}

.popular-filters-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.popular-filters-label {
    font-size: 18px;
    color: #333;
    margin-right: 4px;
}

.popular-filter {
    position: relative;
    display: inline-block;
}

.popular-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid #d0d0d0;
    background: #fff;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    font-size: 14px;
    color: #333;
    transition: all 0.2s ease;
    white-space: nowrap;
}

    .popular-filter-toggle:hover {
        border-color: #b0b0b0;
        background: #f8f8f8;
    }

    .popular-filter-toggle .chevron-icon {
        font-size: 10px;
        color: #666;
        transition: transform 0.2s ease;
        margin-left: 6px;
        line-height: 1;
    }

.popular-filter.open .popular-filter-toggle .chevron-icon {
    transform: rotate(180deg);
}

.popular-filter-options {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 200px;
    background: #fff;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    z-index: 1000;
    max-height: 300px;
    overflow-y: auto;
    padding: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.popular-filter.open .popular-filter-options {
    display: block;
}

.popular-filter-option {
    padding: 8px 4px;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    transition: background-color 0.2s ease;
    margin-bottom: 0;
}

.filter-text {
    margin-left: 25px;
    display: block;
    font-size: 13px;
    line-height: 20px;
    margin-top: -2px;
}

.popular-filter-option:hover {
    background-color: #f5f5f5;
}

.popular-filter-option input[type="checkbox"] {
    cursor: pointer;
    width: 16px;
    height: 16px;
    float: left;
}

.popular-filter-color .popular-color-cube {
    float: left;
}

.gallery-wrapper {
    gap: 30px;
    max-width: 1200px;
}

.gallery-thumbs {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    .gallery-thumbs img {
        width: 90px;
        cursor: pointer;
        border: 2px solid transparent;
    }

        .gallery-thumbs img.active {
            border-color: #000;
        }

.gallery-wrapper {
    position: relative;
}
/* container showing ~5 thumbnails */
.gallery-thumbs {
    height: calc(5 * 90px + 4 * 8px); /* 5 images height + vertical gaps */
    overflow-y: hidden;
    scroll-behavior: smooth; /* enables nice smooth native scrolling */
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    /* thumbnails */
    .gallery-thumbs img {
        width: 110px; /* adjust if needed */
        height: 110px;
        object-fit: cover;
        cursor: pointer;
        border: 0;
    }

/* custom scroll arrows */
.thumb-scroll-up,
.thumb-scroll-down {
    text-align: center;
    font-size: 20px;
    cursor: pointer;
    user-select: none;
    background: #fff;
    color: #333;
    width: 35px;
    height: 35px;
    padding: 7px 0;
    border: 1px solid #ccc;
}

.thumb-scroll-up {
    left: 40px;
    top: 3px;
    position: absolute;
}

.thumb-scroll-down {
    left: 40px;
    bottom: 44px;
    position: absolute;
}

.gallery-main img {
    max-width: 100%;
    max-height: 395px;
}

/*.gallery-main-image-row {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}*/

.gallery-nav {
    position: absolute;
    transform: translateY(-50%);
    cursor: pointer;
    padding: 0;
    z-index: 20;
    color: #000;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    display: flex;
    align-items: center;
}

.popup-close-btn {
    font-size: 40px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10;
    color: #fff;
    display: block;
    text-align: right;
    width: 100%;
}

.popup-close-btn {
    top: 0;
    right: 0;
    padding: 10px 20px;
    position: absolute;
    z-index: 9;
    color: #000;
}

.gallery-nav.prev {
    left: 10px; /* INSIDE image */
}

.img-buttons {
    display: flex;
    justify-content: center;
    gap: 25px;
}

.gallery-nav.next {
    right: 10px;
    justify-content: end;
}

.size-guide-icon {
    position: relative;
    cursor: pointer;
    top: 3px;
}

.download-btn {
    display: inline-block;
    margin-top: 15px;
    padding: 10px 50px;
    border: 1px solid #6fa249;
    font-weight: normal;
    text-decoration: none;
    color: #fff;
    background: #6fa249;
}

.gallery-carousel {
    display: flex;
    gap: 15px;
    padding: 0 0px 20px 0px;
    justify-content: center;
}

.gallery-associated-thumbs {
    padding: 15px;
}

    .gallery-associated-thumbs img {
        max-height: 100px !important;
        margin-bottom: 0 !important;
    }

.open-image-gallery {
    display: block;
    margin: 0 auto;
    padding: 10px 10px;
    border: 1px solid #6fa249;
    background: transparent;
    color: #6fa249;
}

/* Lightbox above mobile off-canvas (1060–1070) and cookie (1050) — Magnific prev/next stay visible */
.mfp-bg {
    z-index: 1080 !important;
}

.mfp-wrap {
    z-index: 1081 !important;
}

/* Detail-page arrows: keep inside picture so they are not clipped (theme had prev at negative left) */
.gallery .picture {
    position: relative;
}

    .gallery .picture .product-image-nav-prev {
        left: 8px;
        right: auto;
        transform: translateY(-50%);
    }

    .gallery .picture .product-image-nav-next {
        right: 8px;
        left: auto;
        transform: translateY(-50%);
    }

.size-guide-tooltip .tooltip-title {
    display: none;
}

.size-guide-tooltip .topic-block {
    margin: 0 0 0px;
    text-align: left !important;
}

.size-guide-label {
    font-size: 16px;
}

.size-guide-tooltip .topic-block-title {
    margin-bottom: 10px;
    text-align: left !important;
}

.size-guide-tooltip .topic-block-body {
    color: #2c2c2c;
}

.topic-block-title h2 {
    font-size: 20px;
    padding-bottom: 0;
}
/* Tooltip hidden by default */
.size-guide-tooltip {
    position: absolute;
    top: 26px;
    right: 0;
    width: 300px;
    background: #fff;
    border: 1px solid #ddd;
    padding: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: auto;
    transition: opacity 0.15s ease, visibility 0.15s ease;
}

    /* KEEP tooltip open when hovering icon OR tooltip */
    .size-guide-icon:hover .size-guide-tooltip,
    .size-guide-tooltip:hover {
        opacity: 1;
        visibility: visible;
    }

@media (min-width: 1201px) {
    .product-left-side .sku {
        max-width: 410px;
    }
}

@media (max-width: 1200px) {
    .product-details-page .custom-color-box .custom-color-item {
        float: none;
        margin-left: auto;
        margin-right: auto;
        max-width: 670px;
    }
}

@media (max-width: 767px) {
    .popular-filters-wrapper {
        margin-bottom: 10px;
        border-bottom: 1px solid #e0e0e0;
        padding: 12px 10px;
    }

    .size-guide-tooltip {
        right: auto !important;
        width: 260px;
    }

    .product-for {
        margin-top: 25px;
    }

    .product-grid .attr-image {
        height: 36px;
    }

    .item-box .ajax-loading-block-window-loader {
        top: 66%;
    }

    .popular-filter-toggle {
        font-size: 13px;
        padding: 6px 10px;
        margin-bottom: 8px;
        margin-right: 8px;
    }

    .popular-filter-color .popular-color-cube {
        float: left;
    }

    .clear-filters-btn {
        margin-left: 0;
        width: 100%;
    }

    .popular-filter-options {
        min-width: 145px;
        padding: 5px;
    }

    .gallery-wrapper {
        overflow: hidden;
    }

    .category-page .switch-label {
        margin: 0 !important;
        padding: 5px 0px 15px !important;
        float: none !important;
        text-align: center;
    }

    .popular-filters-header {
        display: block;
        text-align: left;
    }

    #popular-filters-container {
        display: block;
    }

    .popular-filters-label {
        margin-bottom: 15px;
        display: block;
    }
}

@media (max-width: 575px) {
    .product-details-page .custom-color-box .att-color-box > div > ul > li {
        max-width: 20%;
        -ms-flex: 0 0 19.33%;
    }

    .popular-filter.open .popular-filter-options {
        right: 0;
        left: auto;
    }

    .att-color-box {
        padding: 3px;
    }

    .att-size-detail {
        padding: 4px 3px;
        font-size: 12px;
    }

    .label-info .order-qty-label {
        left: 0px !important;
    }

    .p-5 {
        padding: 2px 1px;
    }
}

.att-color-title img {
    width: 37px;
}

.standard-price {
    color: #8f8fac;
    font-size: 16px;
}

.price.customer-price {
    font-size: 18px;
}

.product-for {
    margin-top: 15px;
    margin-bottom: 10px;
}

.product-box-btn.product-for .button-1 {
    margin-right: 15px;
    padding: 5px 15px;
    border: 1px solid #ccc !important;
    color: #000 !important;
}

    .product-box-btn.product-for .button-1.active,
    .product-box-btn.product-for .button-1:hover {
        border: 1px solid #000 !important;
        color: #000000 !important;
    }

/* Base clickable cursor ONLY for real size blocks */
.custom-color-item li.float-l.p-5:not(.label-info) {
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

    .custom-color-item li.float-l.p-5:not(.label-info):hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    }

.mfp-inline-holder .mfp-content {
    max-width: 100vw !important;
    width: 100vw !important;
}

.mfp-container {
    padding: 0 !important;
}

.mfp-bg {
    opacity: 0.75 !important;
}

#image-gallery-popup.image-gallery-popup {
    width: 98vw !important;
    max-width: 1800px !important;
    height: 96vh !important;
    margin: 2vh auto !important;
    background: #fff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

    #image-gallery-popup.image-gallery-popup.is-compact {
        width: 78vw !important;
        max-width: 1100px !important;
        height: 78vh !important;
    }

        #image-gallery-popup.image-gallery-popup.is-compact .gallery-columns {
            /* Make right-side preview dominant */
            grid-template-columns: 260px minmax(240px, 1fr) minmax(520px, 2.4fr) !important;
        }

        #image-gallery-popup.image-gallery-popup.is-compact .gallery-left-panel {
            min-width: 0;
        }

        #image-gallery-popup.image-gallery-popup.is-compact .gallery-main-thumbs {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 8px;
            padding-right: 2px;
        }

        #image-gallery-popup.image-gallery-popup.is-compact #popup-main-image {
            max-height: 52vh;
        }

#image-gallery-popup .gallery-wrapper {
    width: 100% !important;
    max-width: none !important;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
}

#image-gallery-popup .image-gallery-header {
    padding: 14px 20px;
}

#image-gallery-popup .image-gallery-title {
    margin: 0;
    line-height: 1.25;
}

#image-gallery-popup .image-gallery-hint {
    margin: 6px 0 0;
    color: #666;
}

#image-gallery-popup .popup-close-btn {
    position: absolute;
    top: 10px;
    right: 14px;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    font-size: 42px;
    line-height: 1;
    cursor: pointer;
    z-index: 20;
    color: #222;
    text-align: center;
    padding: 0 !important;
}

    #image-gallery-popup .popup-close-btn:hover,
    #image-gallery-popup .popup-close-btn:focus,
    #image-gallery-popup .popup-close-btn:active {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        outline: none !important;
    }

#image-gallery-popup .gallery-carousel {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    justify-content: initial !important;
    padding: 0 !important;
    height: calc(100% - 68px);
}

#image-gallery-popup .gallery-columns {
    display: grid !important;
    /* Left: main thumbs, Center: associated thumbs, Right: big preview */
    grid-template-columns: 280px minmax(320px, 1.1fr) minmax(720px, 2.9fr) !important;
    gap: 18px !important;
    height: 100% !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 20px 20px;
    align-items: stretch;
}

#image-gallery-popup .gallery-left-panel {
    border-right: 1px solid #e8e8e8;
    padding-right: 12px;
    overflow: visible;
    min-width: 0;
}

#image-gallery-popup .gallery-center-panel {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#image-gallery-popup .gallery-right-panel {
    border-left: 1px solid #e8e8e8;
    min-width: 0;
}

#image-gallery-popup .gallery-left-panel,
#image-gallery-popup .gallery-center-panel,
#image-gallery-popup .gallery-right-panel {
    min-height: 0;
}

#image-gallery-popup .gallery-left-actions {
    display: none;
}

#image-gallery-popup .gallery-select-all-btn {
    width: 100%;
    height: 100%;
    border: 2px solid #ca1f39;
    background: #ca1f39;
    color: #fff;
    padding: 4px;
    cursor: pointer;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
}

#image-gallery-popup .gallery-main-thumbs .gallery-select-all-tile {
    min-height: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    line-height: 1.1;
}

    #image-gallery-popup .gallery-main-thumbs .gallery-select-all-tile span {
        display: block;
    }

        #image-gallery-popup .gallery-main-thumbs .gallery-select-all-tile span:first-child {
            font-size: 13px;
            font-weight: 700;
        }

        #image-gallery-popup .gallery-main-thumbs .gallery-select-all-tile span:last-child {
            font-size: 13px;
            font-weight: 700;
        }

@media (max-width: 1444px) and (min-width: 992px) {
    #image-gallery-popup.image-gallery-popup {
        width: 99vw !important;
        height: 94vh !important;
        margin: 1vh auto !important;
    }

    #image-gallery-popup .gallery-columns {
        /* Keep right-side preview larger at this breakpoint too */
        grid-template-columns: 260px minmax(300px, 1.1fr) minmax(620px, 2.6fr) !important;
        gap: 12px !important;
        padding: 0 12px 12px !important;
    }

    #image-gallery-popup .gallery-main-thumbs {
        /* 3 columns looks cleaner on laptop widths */
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px;
        padding-right: 2px;
    }

    #image-gallery-popup .gallery-associated-thumbs {
        grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
        gap: 8px;
    }

        #image-gallery-popup .gallery-associated-thumbs img {
            max-height: 100px;
            object-fit: contain;
        }

    #image-gallery-popup #popup-main-image {
        max-height: 52vh;
    }

    #image-gallery-popup.image-gallery-popup.is-compact {
        width: 88vw !important;
        max-width: 1200px !important;
        height: 84vh !important;
    }

        #image-gallery-popup.image-gallery-popup.is-compact .gallery-columns {
            grid-template-columns: 240px minmax(260px, 1fr) minmax(520px, 2.4fr) !important;
        }

        #image-gallery-popup.image-gallery-popup.is-compact .gallery-main-thumbs {
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            gap: 7px;
        }
}

#image-gallery-popup .gallery-main-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(60px, 1fr));
    gap: 10px;
    max-height: calc(100% - 52px);
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%;
    box-sizing: border-box;
    padding-right: 5px;
    align-content: start;
    justify-items: stretch;
}

#image-gallery-popup .gallery-associated-thumbs {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(105px, 1fr));
    gap: 10px;
    overflow-y: auto;
    max-height: 100%;
    width: 100%;
    padding: 0 8px 0 0 !important;
    align-content: start;
    justify-items: stretch;
}

    #image-gallery-popup .gallery-main-thumbs img,
    #image-gallery-popup .gallery-associated-thumbs img {
        width: 92%;
        border: 2px solid transparent;
        border-radius: 4px;
        cursor: pointer;
        touch-action: manipulation;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
        -webkit-user-drag: none;
        user-select: none;
    }

#image-gallery-popup #popup-main-image {
    -webkit-tap-highlight-color: transparent;
    -webkit-user-drag: none;
    user-select: none;
}

#image-gallery-popup .gallery-nav {
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

#image-gallery-popup .gallery-main-thumbs img.active,
#image-gallery-popup .gallery-main-thumbs img.selected,
#image-gallery-popup .gallery-associated-thumbs img.active {
    border-color: #17b463;
    box-shadow: 0 0 0 1px #17b463 inset;
}

#image-gallery-popup .thumb-main-scroll-up,
#image-gallery-popup .thumb-main-scroll-down,
#image-gallery-popup .thumb-asso-scroll-up,
#image-gallery-popup .thumb-asso-scroll-down {
    display: none !important;
}

#image-gallery-popup .gallery-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px;
    height: 100%;
}

#image-gallery-popup .gallery-main-image-row {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
}

#image-gallery-popup #popup-main-image {
    max-width: calc(100% - 70px);
    max-height: 68vh;
    object-fit: contain;
}

/* Extra-large desktops (wide monitors / large notebooks) */
@media (min-width: 1600px) {
    #image-gallery-popup .gallery-columns {
        grid-template-columns: 300px minmax(360px, 1fr) minmax(900px, 3.2fr) !important;
        gap: 22px !important;
    }

    #image-gallery-popup #popup-main-image {
        max-height: 72vh;
    }
}

/* Tablets / small laptops */
@media (max-width: 1199px) and (min-width: 992px) {
    #image-gallery-popup .gallery-columns {
        grid-template-columns: 240px minmax(260px, 1fr) minmax(520px, 2.2fr) !important;
        gap: 12px !important;
    }
}

/* Tablets (portrait/landscape): 2-column layout, big preview first row */
@media (max-width: 991px) and (min-width: 768px) {
    #image-gallery-popup .gallery-columns {
        display: grid !important;
        grid-template-columns: 1.25fr 0.75fr !important;
        grid-template-areas:
            "preview preview"
            "assoc   main";
        gap: 12px !important;
    }

    #image-gallery-popup .gallery-right-panel {
        grid-area: preview;
        order: 0;
        border-left: 0;
        border-top: 0;
        padding-top: 0;
    }

    #image-gallery-popup .gallery-center-panel {
        grid-area: assoc;
        order: 1;
        overflow: hidden;
    }

    #image-gallery-popup .gallery-left-panel {
        grid-area: main;
        order: 2;
        border-bottom: 0;
        padding-bottom: 0;
    }

    #image-gallery-popup #popup-main-image {
        max-height: 46vh;
        max-width: calc(100% - 72px);
    }
}

#image-gallery-popup .gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 100%;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
}

.image-gallery-prev {
    height: 38px;
    width: 38px;
    background: #ca1f39;
    color: white;
    display: flex;
    align-content: center;
    justify-content: center;
    line-height: 28px;
    padding: 6px;
    border-radius: 50%;
}

.image-gallery-prev-default {
    height: 38px;
    width: 38px;
    background: #6fa249;
    color: white;
    display: flex;
    align-content: center;
    justify-content: center;
    line-height: 28px;
    padding: 6px;
    border-radius: 50%;
}


#image-gallery-popup .gallery-nav.prev {
    left: 6px;
}

#image-gallery-popup .gallery-nav.next {
    right: 6px;
}

#image-gallery-popup .img-buttons {
    margin-top: 16px;
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

#image-gallery-popup .mobile-panel-toggle {
    display: none;
}

@media (max-width: 991px) {
    .mfp-inline-holder .mfp-content {
        width: 100vw !important;
        max-width: 100vw !important;
    }

    #image-gallery-popup.image-gallery-popup {
        width: 100vw !important;
        height: 100vh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

        /* Compact mode should NOT shrink the popup on mobile */
        #image-gallery-popup.image-gallery-popup.is-compact {
            width: 100vw !important;
            max-width: 100vw !important;
            height: 100vh !important;
            margin: 0 !important;
            border-radius: 0 !important;
        }

            #image-gallery-popup.image-gallery-popup.is-compact .gallery-columns {
                grid-template-columns: 1fr !important;
            }

    #image-gallery-popup .gallery-wrapper {
        min-height: 100%;
        overflow: visible;
    }

    #image-gallery-popup .gallery-columns {
        grid-template-columns: 1fr !important;
        height: auto !important;
        min-height: calc(100vh - 90px);
        gap: 10px !important;
    }

    #image-gallery-popup .gallery-left-panel {
        border-right: 0;
        border-bottom: 1px solid #e8e8e8;
        padding-right: 0;
        padding-bottom: 10px;
        order: 1;
    }

    #image-gallery-popup .gallery-center-panel {
        order: 2;
        overflow: visible;
    }

    #image-gallery-popup .gallery-main-thumbs {
        grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
        max-height: none;
        overflow: visible;
    }

        #image-gallery-popup .gallery-main-thumbs .gallery-select-all-tile {
            min-height: 72px;
            gap: 3px;
        }

            #image-gallery-popup .gallery-main-thumbs .gallery-select-all-tile span:first-child {
                font-size: 14px;
                font-weight: 700;
            }

            #image-gallery-popup .gallery-main-thumbs .gallery-select-all-tile span:last-child {
                font-size: 14px;
                font-weight: 700;
            }

    #image-gallery-popup .gallery-associated-thumbs {
        max-height: none;
        overflow: visible;
        grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
        gap: 8px;
    }

    #image-gallery-popup .gallery-right-panel {
        /* Mobile stacking: left -> center -> right */
        order: 3;
        border-left: 0;
        border-top: 0;
        padding-left: 0;
        padding-top: 0;
    }

    #image-gallery-popup #popup-main-image {
        max-height: 36vh;
        max-width: calc(100% - 60px);
    }

    #image-gallery-popup .gallery-nav {
        width: 30px;
        height: 30px;
    }

    #image-gallery-popup .mobile-panel-toggle {
        display: none !important;
    }
}

/* Small phones (iPhone SE / compact Android) */
@media (max-width: 420px) {
    #image-gallery-popup .image-gallery-header {
        padding: 12px 14px;
    }

    #image-gallery-popup .gallery-columns {
        padding: 0 14px 14px !important;
    }

    #image-gallery-popup .gallery-nav {
        width: 28px;
        height: 100%;
    }

    #image-gallery-popup #popup-main-image {
        max-height: 34vh;
        max-width: calc(100% - 56px);
    }

    #image-gallery-popup .gallery-main-thumbs,
    #image-gallery-popup .gallery-associated-thumbs {
        gap: 7px;
    }
}

.our-range .nop-jcarousel .carousel-title strong {
    font-size: 22px !important;
    padding-bottom: 25px;
    text-transform: capitalize;
    font-weight: 500;
}

.our-range .product-grid .title:before {
    content: unset !important;
}

.our-range .product-grid .title {
    border-bottom: 0;
    padding-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.our-range .product-grid {
    margin-top: -6px !important;
}

.our-range .slick-track {
    width: auto !important;
    transform: none !important;
}

.our-range .category-grid .item-box {
    width: 100%;
}

.our-range .item-box .category-item .picture img,
.our-range .item-box .sub-category-item .picture img {
    bottom: auto;
    object-fit: contain;
    max-height: 200px;
    min-height: 200px;
    padding: 0px;
    position: relative;
}

.our-range .sub-category-grid .picture a:before {
    content: unset;
}

.our-range .category-grid .item-box .picture {
    margin-bottom: 28px;
}

.our-range .carousel-title {
    display: block;
}

.our-range .item-box {
    width: 100%;
}

.our-range .slick-arrow {
    display: none !important;
}

.our-range .nop-jcarousel.category-grid {
    padding: 0;
    margin-bottom: 10px;
}

.our-range .sub-category-item a {
    position: relative;
    font-size: 16px;
    white-space: normal;
    text-overflow: ellipsis;
    text-align: center;
    min-height: 65px;
    line-height: 25px;
}

.our-range h1 {
    text-transform: uppercase;
}

@media all and (min-width: 992px) {
    .our-range .carousel-item {
        width: 20% !important;
        max-width: 20%;
        margin: 0;
    }
}

@media all and (max-width: 991px) {
    .our-range .carousel-item {
        width: 48% !important;
        margin: 0;
    }
}

@media (max-width: 991px) {

    #image-gallery-popup .gallery-wrapper {
        overflow: visible !important;
        height: auto !important;
    }

    #image-gallery-popup .gallery-carousel {
        height: auto !important;
        overflow: visible !important;
    }

    #image-gallery-popup .gallery-columns {
        height: auto !important;
        overflow: visible !important;
    }

    #image-gallery-popup .gallery-right-panel {
        overflow: visible !important;
    }
}

/* Hide SevenSpikes filter toggle arrow on search page sidebar (panels are moved to popular filters bar) */
.nopAjaxFilters7Spikes .block .title a.toggleControl::after {
    display: none !important;
    background: none !important;
}

#image-gallery-popup .gallery-wrapper {
    display: flex;
    flex-direction: column;
}

#image-gallery-popup .gallery-carousel {
    flex: 1 1 auto;
    overflow: hidden;
}

#image-gallery-popup .img-buttons {
    position: relative !important;
    bottom: auto !important;
    margin: 15px 0 10px 0 !important;
    justify-content: center !important;
}
