.default-display {
    display: flex;
    gap: 15px;
    justify-content: center;
}
.default-select-option {
    position: relative !important;
}
.brands-menu-wrap {
    column-count: 6;
}
.brand-letter-group ul {
    list-style: none;
    padding: 0;
}
.brand-letter-group ul a {
    color: #000000;
}
.brand-letter-group {
    display: flex;
    margin-bottom: 20px;
}
.brand-letter-group h4 {
    padding-right: 10px;
}
.brand-letter-group ul {
    border-left: 1px solid #eaeaea;
    padding-left: 10px;
}
.prod-cat-desc-wrap {
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.prod-cat-desc-wrap.collapsed {
    max-height: 120px; /* adjust as needed */
}

.prod-cat-desc-wrap.expanded {
    max-height: 1000px; /* big enough to show full content */
}
/* SINGLE PRODUCT PAGE */
.product-image.mb-current.slider-for {
    margin-bottom: 30px;
}
.product-summary-wrap .single-slide,
.product-summary-wrap .two-slides{
    max-width: 30%;
}
.product-summary-wrap .slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    text-shadow: unset;
    background: transparent;
}
body:has(.include-vat-tax-wrap) .main-content {
    padding-top: 0px;
}
.single-product-wrap .include-vat-tax-wrap {
    margin-bottom: 20px;
}
#add-to-cart-form h2#product-title {
    margin-bottom: 6px;
}
.left-content {
    position: relative;
}
.left-content.loading:before {
    content: '';
    height: 100%;
    width: 100%;
    background-color: #ffffff75;
    position: absolute;
    z-index: 1;
}
.product.shop-item .shop-image {
    position: relative;
}
.product.shop-item .shop-image.loading:before {
    content: '';
    height: 100%;
    width: 100%;
    position: absolute;
    background-color: #ffffffb5;
    z-index: 9;
}
.product-bulk-discount-wrap {
    margin-bottom: 50px;
}
.product-summary-wrap .product-bulk-discount-tire {
    border: 1px solid #aaaaaa;
    border-bottom: 0;
    padding: 10px;
    align-items: center;
}
.product-bulk-discount-tire:last-child {
    border-bottom: 1px solid #aaa;
}
.product-bulk-discount-tire .save-wrap {
    background-color: #d85a11;
    color: #fff;
    padding: 4px 12px;
    border-radius: 36px;
    text-align: center;
    min-width: 100px;
    justify-self: center;
    line-height: 1;
}
.product-bulk-discount-tire .price-wrap {
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}
.price-wrap .vat-label {
    font-size: 10px;
}
.product-bulk-discount-tire.active {
    border: 1px solid #aaaaaa;
}
.product-bulk-discount-tire .discount-label {
    color: #0c2230;
    font-size: 15px;
    text-align: right;
}
.total-information-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 25px;
}
.item-count-wrap .woocommerce-Price-amount.amount,
.total-pwrice-label .woocommerce-Price-amount.amount{
    font-size: 22px;
    font-weight: 600;
    color: #000000;
}
.availableQty {
    display: block;
    font-size: 10px;
}
.available-stock {
    text-align: center;
}
.product-bulk-discount-tire.inactive {
    opacity: .4;
}
.product-bulk-discount-tire.active {
     opacity: 1;
}
.product-summary-wrap {
    display: flex;
    justify-content: flex-start;
}
.product-summary-wrap .left-content, .product-summary-wrap .right-content {
    width: 100%;
    max-width: calc(50% - 50px);
}
.single-product-wrap .product-summary-wrap {
    gap: 100px;
}
/* .product-summary-wrap .gallery-wrap {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
} */
/* END OF SINGLE PRODUCT PAGE */
.loop-content-wrap {
    display: flex;
    /* gap: 20px; */
}
.loop-item-wrap.is-loading {
    position: relative;
}
.loop-item-wrap.is-loading:before {
    content: '';
    background-color: #ffffffb8;
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 9;
}
.loop-content-wrap .sidebar-wrap, .loop-content-wrap .main-content-loop {
    width: 100%;
}
.loop-content-wrap .main-content-loop {
    max-width: calc(100% - 340px);
    padding-left: 50px;
}
/* ===== Sidebar - Start ===== */
.loop-content-wrap .sidebar-wrap {
    max-width: 340px;
    padding-right: 45px;
    border-right: 1px solid #eaeaea;
    height: 70vh;
    overflow-y: auto;
    scrollbar-gutter: stable;
    position: sticky;
    top: 210px;
}
.sidebar-wrap .items-loop-wrap {
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    /* overflow-y: auto; */
    height: auto;
}
.sidebar-wrap .filter-wrap, .sidebar-wrap .filter-group {
    border-top: 1px solid #eee;
}
.sidebar-wrap h4.filter-title,
.sidebar-wrap .filter-wrap h3 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 0px;
}
.sidebar-wrap .filter-wrap label:hover {
    cursor: pointer;
    color: #333;
}
.sidebar-wrap .other-items-filter label.filter-label,
.sidebar-wrap .filter-wrap .gender-items label,
.sidebar-wrap .filter-wrap label {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
    font-size: 15px;
    font-weight: 400;
}
.sidebar-wrap .other-items-filter label.filter-label input,
.sidebar-wrap .filter-wrap .gender-items label input,
.sidebar-wrap .filter-wrap label input.category-checkbox {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 2px solid #333;
    border-radius: 2px;
    width: 20px;
    height: 20px;
    background-size: contain;
    outline: none;
    cursor: pointer;
}
.sidebar-wrap .other-items-filter label.filter-label input:checked,
.sidebar-wrap .filter-wrap .gender-items label input:checked,
.sidebar-wrap .filter-wrap label input.category-checkbox:checked {
    background-color: #2e86ab;
    border-color: #2e86ab;
}
.sidebar-wrap .other-items-filter label.filter-label input:checked::after,
.sidebar-wrap .filter-wrap .gender-items label input:checked::after,
.sidebar-wrap .filter-wrap label input.category-checkbox:checked::after {
    content: "✓";
    color: #fff;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.sidebar-wrap .other-items-filter label.filter-label:has(input:checked),
.sidebar-wrap .filter-wrap .gender-items label:has(input:checked),
.sidebar-wrap .filter-wrap label:has(input.category-checkbox:checked) {
    color: #333;
    font-weight: 500;
}
.sidebar-wrap .gender-items.items-loop-wrap {
    margin-bottom: 12px;
}

/* Sizes */
.sidebar-wrap .filter-wrap .size-items {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap !important;
    /* overflow: auto; */
    height: auto;
}
.sidebar-wrap .filter-wrap .size-items label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 32px;
    padding: 0 10px;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    background: #fff;
    color: #999;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    outline: none;
}
.sidebar-wrap .filter-wrap label input.size-checkbox {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.sidebar-wrap .filter-wrap .size-items label:hover {
    border-color: #2e86ab;
    color: #2e86ab;
}
.sidebar-wrap .filter-wrap label:has(input.size-checkbox:checked) {
    background: #2e86ab;
    border-color: #2e86ab;
    color: #fff;
}
/* Colors */
label#group-black input {
    background: #000000;
}
label#group-blue input {
    background: #1E73BE;
}
label#group-grey input {
    background: #7A7A7A;
}
label#group-white input {
    background: #FFFFFF;
}
label#group-green input {
    background: #2E7D32;
}
label#group-orange input {
    background: #F57C00;
}
label#group-pink input {
    background: #EC407A;
}
label#group-red input {
    background: #D32F2F;
}
label#group-yellow input {
    background: #FBC02D;
}
label#group-brown input {
    background: #6D4C41;
}
label#group-purple input {
    background: #7B1FA2;
}
label#group-natural input {
    background: #C2B280;
}
label#group-patterns input {
    background: #BDBDBD;
}
label input.group-parent,
input.child-checkbox {
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 2px solid #333;
    border-radius: 99px;
    min-width: 20px;
    width: 20px;
    height: 20px;
    background-size: contain;
    outline: none;
    cursor: pointer;
}
label input.group-parent:checked::after,
input.child-checkbox:checked::after {
    content: "•";
    color: #0e222f;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100%;
    background-color: #ffffff;
    border-radius: 50%;
}
label.group-header {
    padding: 5px;
    border: 1px solid #ebebeb;
    position: relative;
}
label.colour-item,
label.group-header span {
    font-size: 14px !important;
    color: #333 !important;
    width: 100%;
}
label.colour-item {
    padding-bottom: 5px;
    padding-left: 5px;
}
span.colour-group-toggle {
    align-items: flex-end;
    text-align: end;
    width: fit-content !important;
    position: absolute;
    right: 5px ;
    z-index: 0;
}
.group-title {
    z-index: 1;
}
.loop-content-wrap .filter-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    cursor: pointer;
}
.filter-toggle h3 {
    margin: 0 !important;
}
.filter-toggle i, .sidebar-wrap i {
    color: #000;
    font-size: 10px;
}
.sidebar-wrap .filter-wrap label.is-hidden {
    display: none;
}

.sidebar-wrap .filter-wrap .see-all-btn {
    background: none;
    border: none;
    padding: 6px 0;
    font-size: 14px;
    font-weight: 500;
    color: #2e86ab;
    cursor: pointer;
    text-align: left;
}
.sidebar-wrap .filter-wrap .see-all-btn:hover {
    text-decoration: underline;
}
h4.filter-title {
    margin: 0;
}
.filters-overview-wrap .overview-title-results {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 0;
}
.filters-overview-wrap .filters-overview-header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    margin-bottom: 15px;
}
.filters-overview-wrap .filters-overview-header .clear-filters-option {
    padding: 0;
    border: none;
    background: transparent;
    font-weight: 600;
    color: #D85A10;
}
.filter-options-section .filter-selected-option {
    padding: 2px 10px;
    background: #eaeaea;
    border-radius: 4px;
    color: #3F3F43;
    font-size: 13px;
}
.filter-options-section .sidebar-filter-selected-options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.sidebar-wrap .filter-options-section {
    margin-bottom: 20px;
}
.filter-options-section .filter-selected-option i {
    font-size: 15px;
    color: #58595B;
    margin-left: 4px;
}
.filter-options-section .filter-selected-option input[type="checkbox"] {
    display: none;
}
/* ===== Sidebar - End ===== */

/* ===== Products - Start =====*/
.product-summary-wrap .product-bulk-discount-tire {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 20px;
}
.colour-item.is-hidden {
    display: none;
}
.see-all-toggle {
       background: none;
    border: none;
    padding: 6px 0;
    font-size: 14px;
    font-weight: 500;
    color: #2e86ab;
    cursor: pointer;
    text-align: left;
}
.single-product-wrap .colour-options label:has(input:checked)::after {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 18px;
    color: #0e222f;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background-color: #ffffff;
    border-radius: 50%;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    border: 1px solid #0e222f;
}
.single-product-wrap .colour-options label {
    position: relative;
}
.single-product-wrap .colour-label {
    box-shadow: 0px 0px 2px 0px #000000;
}
.featured-loop-item-wrap {
    display: grid;
    grid-template-columns: repeat(4, minmax(240px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}
.colour-options label {
    position: relative;
    cursor: pointer;
}

.colour-tooltip {
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%);
    background: #000;
    color: #fff;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.colour-tooltip.show {
    opacity: 1;
}
.size-box.is-disabled {
    opacity: 0.5;
}

.out-of-stock {
    display: block;
    font-size: 12px;
    color: #c00;
    margin-top: 4px;
    font-weight: 600;
}
span.in-stock {
    font-size: 12px;
}
/* .main-content-loop {
    width: 80%;
} */

.main-content-loop .loop-item-wrap .featured-loop-item-wrap
{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}
.main-content-loop .loop-item-wrap .dynamic-shop-items {
    display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); */
    /* grid-template-columns: repeat(4, minmax(240px, 1fr)); */
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}
.loop-item-wrap.shop-product-results {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 240px));
    justify-content: left;
}
.product.shop-item {
    width: 100%;
    max-width: 100%;
}
.shop-card .shop-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}
.shop-card h3.shop-title {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
    margin-bottom: 0.45rem;
    text-align: start;
    cursor: pointer;
}
.shop-card h3.shop-title:hover {
    color: #2e86ab;
}
.shop-card .shop-category span {
    font-size: 11px;
    text-transform: uppercase;
    background-color: #0C2230;
    color: #ffffff;
    padding: 2px 13px;
    border-radius: 10px;
}
.shop-card p.shop-price {
    display: flex;
    font-size: 1.125rem;
    margin-bottom: 0.875rem;
    line-height: 1;
    font-weight: 600;
    text-align: start;
    color: #444;
    gap: 5px;
}
.vat-label {
    display: block;
    font-size: 12px;
    color: #777;
    margin-top: 2px;
}
.shop-card a.shop-btn {
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    z-index: 1;
    white-space: nowrap;
    border: 1px solid #ddd;
    background: #fff;
}
.shop-card .shop-image {
    min-height: 90px;
    margin-bottom: 14px;
    padding: 10px;
    position: relative;
    border: 1px solid #eee;
}
.shop-card .shop-image img {
    height: auto;
    width: 100%;
    object-fit: contain;
    object-position: center center;
    transform: scale(1);
    transition: transform 0.6s ease-in-out;
}
.shop-card:hover .shop-image img {
    transform: scale(1.05);
}
.action-links {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    z-index: 5;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.shop-card:hover .action-links {
    opacity: 1;
    visibility: visible;
}
/* Category product description on the bottom of page */
.prod-category-desc-wrap .prod-cat-title {
    font-weight: 500;
    margin-bottom: 10px;
}
.main-content-loop .prod-category-desc-wrap {
    margin: 30px 0 20px;
}
.prod-category-desc-wrap .prod-cat-desc {
    color: #000;
    /* line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    position: relative; */
}
.prod-category-desc-wrap .prod-cat-desc-wrap {
    margin-bottom: 10px;
}
.prod-category-desc-wrap .read-more-btn {
    color: #D85A10;
    border: none;
    padding: 0;
    line-height: 1.2;
    text-decoration: underline;
    background: transparent;
}
/* .prod-category-desc-wrap .prod-cat-desc:after {
    content: '';
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(0deg, #fff, transparent);
    height: 50%;
} */
.prod-category-desc-wrap .prod-cat-desc-wrap.active .prod-cat-desc {
    -webkit-line-clamp: none;
}
.prod-category-desc-wrap .prod-cat-desc-wrap.active .prod-cat-desc:after {
    background: transparent;
}

/* Icon buttons */
.action-links a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #444;
    text-decoration: none;
    transition: all 0.3s ease;
}
.action-links a:hover {
    background: #2e86ab;
    border-color: #2e86ab;
    color: #fff;
}
/* Icons */
.action-links .qv-link::before {
    content: "\e884";
    font-family: "Porto";
    font-weight: 400;
    font-size: 16px;
}
.action-links .atw-link::before {
    content: "\e889";
    font-family: "Porto";
    font-weight: 400;
    font-size: 16px;
}
/* Add to cart button */
.action-options {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 4;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.shop-card:hover .action-options {
    opacity: 1;
    visibility: visible;
}
.shop-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px;
    background: #0088cc;
    color: #fff;
    text-transform: uppercase;
    font-weight: 500;
    text-decoration: none;
    border: none;
}
.shop-card:hover .shop-btn {
    background: #2e86ab;
}
.shop-card .shop-btn:hover {
    color: #fff;
}
.shop-btn::before {
    content: "\e8ba";
    font-family: "Porto";
    font-weight: 400;
    font-size: 20px;
}

.shop-card .item-rating-wrap {
    position: relative;
    display: flex;
    height: auto;
    width: 100%;
    align-items: center;
    margin: 0 0 10px;
}
.shop-card span.shop-star-rating:before {
    color: #6a6a6d;
    content: "\f005" "\f005" "\f005" "\f005" "\f005";
    font-family: "Font Awesome 6 Free";
    font-size: 11px;
}
.shop-card span.shop-star-rating {
    display: inline-block;
    line-height: 1;
}

/* Pagination */
.main-content-loop .pagination-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 5px;
}
.main-content-loop .pagination-wrap button {
    min-width: 30px;
    height: 30px;
    width: auto;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    border: 1px solid #333;
    background: #fff;
}
.main-content-loop .pagination-wrap button:disabled {
    border: 1px solid #ddd;
}
.main-content-loop .pagination-wrap button.active {
    background: #2e86ab;
    border-color: #2e86ab;
    color: #fff;
}
.main-content-loop .pagination-wrap button:hover {
    background: #2e86abcc;
    border-color: #2e86abcc;
    color: #fff;
}

.shop-no-results {
    text-align: center;
    font-size: 16px;
    color: #333;
}

/* Mobile Filter Toggle */
.mobile-filter-wrap {
    display: none;
}
.mobile-filter-wrap #mobile-sort-by {
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 2;
}
.mobile-filter-toggle {
    width: 50%;
    height: 48px;
    background: #D85A10;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    gap: 8px;
    font-size: 14px;
}
.mobile-filter-dropdown {
    width: 50%;
    height: 48px;
    background: #fff;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 1px solid #eee;
    position: relative;
}
.mobile-filter-dropdown .dd-title {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.mobile-filter-dropdown .mbf-dd-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    gap: 8px;
    padding: 5px 8px;
}
.mobile-filter-wrap svg {
    width: 20px;
    height: auto;
}
.mobile-filter-toggle svg {
    fill: #FFF;
}
.mobile-filter-toggle span {
    font-weight: 600;
    font-size: 16px;
}
span.selected-sorting {
    font-size: 12px;
}
body.is-loading .mobile-filter-wrap {
    display: none;
}
body.is-loading .main-content-loop {
    display: none;
}

/* Featured Products */
.main-content-loop .featured-products-wrap {
    background: #eee;
    padding: 15px;
    margin-bottom: 30px !important;
}
.featured-products-wrap .product.shop-item {
    background: #ffffff;
    border: 2px solid #fff;
}
.featured-products-wrap .product.shop-item .shop-content {
    padding: 0 10px;
}
.featured-products-wrap .product.shop-item .shop-image {
    border: none;
}
.main-content-loop .loop-item-wrap .featured-loop-item-wrap {
    margin: 0 !important;
}

.size-weight-info-header.sw-trigger {
    display: flex;
    align-items: center;
    color: #000;
    gap: 8px;
    height: 30px;
    cursor: pointer;
}
.size-options-wrap {
    margin-bottom: 30px;
}
.size-weight-info-wrap .product-weights-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}


/* ===== Products - End ===== */

.post-type-archive-product section.page-top.page-header-6 {
    display: none;
}
.post-type-archive-product .main-content {
    padding-top: 0 !important;
}

/* div#main-shop-content .loader-wrap {
    position: absolute;
    min-height: auto;
    } */


/* Loader/Spinner */
.main-content-wrap .loader-wrap,
div#main-shop-content .loader-wrap {
    display: flex;
    background-color: transparent;
    padding: 20px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: calc(100vh - 185px);
    width: 100%;
    position: relative;
}
.spinner-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    position: relative;
    left: 0;
    right: 0;
    /* top: -55px; */
}
.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #e5e7eb;
    border-top: 4px solid #2563eb;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
.loader-text {
    font-size: 14px;
    color: #374151;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
div#main-shop-content {
    position: relative;
}

/* .loader-wrap {
    min-height: 90vh;
    position: relative;
    left: 0;
    right: 0;
    background-color: #ffffff;
    top: -55px;
    padding: 27px;
} */

/* Single Product Page - Start */
.page-id-6291 section.page-top.page-header-6 {
    display: none;
}
.single-product-wrap .right-content h2 {
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
}
.single-product-wrap .product-image img {
    max-height: 450px;
    object-fit: contain;
}
.single-product-wrap .right-content p#product-price {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #222529;
}
.single-product-wrap .right-content .description-wrap ul {
    padding: 0;
}
.single-product-wrap .right-content .description-wrap li {
    font-size: 16px;
    list-style-type: none;
    margin-bottom: 5px;
}
.single-product-wrap .colour-options-wrap ul {
    padding: 0;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    position: relative;
}
.single-product-wrap .colour-options-wrap ul li {
    list-style-type: none;
}
.size-options-wrap h4,
.colour-options-wrap h4 {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
}
.colour-options-wrap {
    display: flex;
    gap: 20px;
    /* align-items: center; */
}
.single-product-wrap .colour-options-wrap ul li label {
    display: flex;
    align-items: center;
    font-size: 14px;
    cursor: pointer;
}
.size-options {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 10px
}
.size-options .size-box {
    padding: 10px;
    border: 1px solid #aaa;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.size-options .size-box .qty-control {
    display: flex;
}
input.size-qty {
    width: auto;
    max-width: 55px;
    text-align: center !important;
    border: none !important;
}
.qty-btn {
    border: none;
    background: transparent;
    font-size: 16px !important;
    font-weight: 500;
}
.size-options .size-box .size-label {
    font-weight: 500;
    font-size: 16px;
    color: #222529;
}
.total-price-wrapper {
    margin-bottom: 10px;
}
.total-price-wrapper .total-results {
    font-size: 20px;
    color: #D85A10;
    font-weight: 500;
    display: flex;
    gap: 5px;
}
.product-related-wrap {
    padding-top: 100px;
}
.product-related-inner {
    display: flex;
    flex-direction: row;
    gap: 20px;
}
.product-related-wrap h3 {
    font-size: 24px;
    font-weight: 500;
}
.product-related-wrap .product-related-item h3.product-title {
    font-size: 16px;
    text-align: center;
}
.product-related-item .product-image {
    width: 100%;
    max-width: 460px;
    height: 100%;
    max-height: 460px;
    margin-bottom: 20px;
}
.product-related-item .product-image img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}
.single-product-wrap .action-add-cart-wrap button {
    width: 100%;
    margin-top: 15px;
}
/* .single-product-wrap .gallery-item.active {
    border: 2px solid #222529;
} */
.product-related-item .shop-price {
    display: block;
    font-size: 1.125rem;
    margin-bottom: 0.875rem;
    line-height: 1;
    font-weight: 600;
    text-align: start;
    color: #444;
    text-align: center;
}
.product-related-item .product-summary h3 {
    margin: 0;
}
.single-product-wrap .gallery-item {
    width: 100%;
    max-width: calc(25% - (30px / 4));
}

.size-weight-info-wrap h4 { 
    font-size: 14px; 
    text-transform: uppercase; 
    font-weight: 600; 
    margin: 0;
}
.size-weight-info-wrap {
    margin-bottom: 10px;
}
.size-weight-table {
    width: 100%;
    min-width: 520px; /* prevents squishing */
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border: 1px solid #e6e6e6;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
    color: #222529;
    font-size: 12px;
}
.size-weight-table thead th {
    padding: 8px 10px;
    background: #f7f7f7;
    border-right: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    font-weight: 600;
    white-space: nowrap;
}
.size-weight-table tbody th,
.size-weight-table tbody td {
    padding: 8px 10px;
    text-align: left;
    border-right: 1px solid #eee;
    white-space: nowrap;
}
.size-weight-table tbody tr:first-child th {
    font-weight: 400;
}
.size-weight-table th:last-child,
.size-weight-table td:last-child {
    border-right: none;
}
@media (max-width: 768px) {
    .size-weight-table {
        font-size: 11px;
    }

    .size-weight-table thead th,
    .size-weight-table tbody th,
    .size-weight-table tbody td {
        padding: 10px 12px;
    }
}
.single-product-wrap .right-content div#abw-acc-1 ul {
    padding: 0;
}
.single-product-wrap .right-content div#abw-acc-1 li {
    font-size: 16px;
    list-style-type: none;
    margin-bottom: 5px;
}
p.product-code {
    margin: 0;
    font-size: 16px;
    color: #222529;
    font-weight: 500;
}
/* .additional-description-wrap {
    display: none;
} */
.additional-desc-inner {
    display: flex;
    align-items: center;
    flex-direction: row;
    width: 100%;
    justify-content: flex-start;
    padding: 10px;
    border: 1px solid #d85a10;
    margin-top: 20px;
    gap: 20px;
    background: #d85a101a;
}
.desc-text h4 {
    color: #d85a10;
    font-size: 16px;    
    margin: 0;
}
.additional-desc-inner i {
    color: #d85a10;
    font-size: 24px;
}
.additional-desc-inner p {
    color: #0a0a0a;
    margin: 0;
    font-size: 14px;
}
.desc-text {
    width: 100%;
}
.product-summary-wrap .abw-accordion-panel p {
    margin: 0 0 12px 0;
    color: #333;
}
.description-wrap p.product-code {
    font-size: 14px;
}
.single-product-wrap .mobile-product-title-wrap {
    display: none;
}
.single-product-wrap .left-content h2 {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 20px;
}
.single-product-wrap .left-content p#product-price {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #222529;
}


/* Single product page color switcher - in progress - start */
.single-product-wrap .colour-label {
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    display: flex;
}
.single-product-wrap input[value="white"] + .colour-label, 
.single-product-wrap input[value="whitenavy"] + .colour-label,
.single-product-wrap input[value="whiteblack"] + .colour-label {
    border: 1px solid #333;
}
.single-product-wrap .colour-options label {
    padding: 3px;
    border-radius: 999px;
    height: 32px;
}
.single-product-wrap .colour-options label input {
    display: none;
}
.single-product-wrap .colour-options label:has(input:checked) {
    border: 1px solid transparent;
    border-color: #333;
}
.single-product-wrap .colour-options label:has(input[value="white"]:checked), 
.single-product-wrap .colour-options label:has(input[value="whitenavy"]:checked),
.single-product-wrap .colour-options label:has(input[value="whiteblack"]:checked) {
    border-color: #333 !important;
}
/* Single product page color switcher - in progress - end */

.single-product-wrap .product-related-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 20px;
    max-width: calc(33% - (40px / 5));
}
.product-related-wrap > h3 {
    text-transform: uppercase;
    font-family: 'Lexend';
    font-size: 16px;
    font-weight: 700;
    padding-bottom: 10px;
    margin-bottom: 40px;
    border-bottom: 1px solid var(--porto-input-bc);
}
/* Single Product Page - End */

/* Single product - mobile color select popup - start */
.single-product-wrap .colour-options-wrap .mobile-options-popup-trigger {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
}
.single-product-wrap .prod-mobile-color-select-popup {
    padding: 24px 16px;
    max-height: 400px;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0;
    background: #fff;
    border-radius: 10px 10px 0 0;
    /* z-index: 9999; */
}
.single-product-wrap .prod-mobile-color-select-popup-wrap:before {
    content: '';
    height: 100vh;
    width: 100%;
    position: absolute;
    top: 0;
    background: rgba(0,0,0,0.25);
}
.single-product-wrap .prod-mobile-color-select-popup-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 99999;
    display: none;
}
.prod-mobile-color-select-popup .mobile-color-select-popup-toggle {
    margin-bottom: 47px;
    border: none;
    background: transparent;
    color: #D85A10;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    gap: 10px;
    align-items: center;
}
.prod-mobile-color-select-popup .prod-mobile-color-select-options {
    max-height: 250px;
    overflow-y: auto;
}
.prod-mobile-color-select-popup .prod-mobile-color-select-options .colour-options {
    list-style-type: none;
    padding-left: 0;
}
.prod-mobile-color-select-options .colour-options .colour-label {
    width: 40px;
    height: 40px;
}
.prod-mobile-color-select-options .colour-options label {
    height: auto;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 0;
    border: none !important;
}
.prod-mobile-color-select-options .colour-options .colour-tooltip {
    position: relative;
    display: block;
    color: #000;
    transform: unset;
    bottom: unset;
    left: unset;
    opacity: 1;
    background: transparent;
    padding: 0;
    font-size: 14px;
}
.prod-mobile-color-select-options .colour-options li {
    padding: 15px 0;
    margin: 0;
    border-top: 1px solid #eaeaea;
}
.single-product-wrap .prod-mobile-color-select-popup-wrap.active {
    display: block;
}
.prod-mobile-color-select-options .colour-options label:has(input:checked):after {
    background: transparent;
    color: #fff;
    width: 40px;
    margin: 0;
    border: none;
}
.prod-mobile-color-select-options .colour-options label:has(input:checked) .colour-tooltip {
    font-weight: 600;
}
.prod-mobile-color-select-options .colour-options label:has(input:checked) .colour-label {
    border: 2px solid #D85A10;
    padding: 12px;
    box-shadow: none;
}
/* Single product - mobile color select popup - end */

/* VAT toggle - Start */
.include-vat-tax-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.toggle {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    gap: 10px;
}
.toggle input {
    display: none;
}
.toggle-slider {
    position: relative;
    width: 44px;
    height: 24px;
    background: #ccc;
    border-radius: 999px;
    transition: background 0.3s ease;
}
.toggle-slider::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background: #fff;
    border-radius: 50%;
    top: 3px;
    left: 3px;
    transition: transform 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.toggle input:checked + .toggle-slider {
    background: #D85A10; 
}
.toggle input:checked + .toggle-slider::before {
    transform: translateX(20px);
}
.toggle-label {
    font-size: 14px;
    user-select: none;
}
label.toggle:hover {
    color: #000;
    transition: color .3s ease;
}
/* VAT toggle - End */

/* Single product shipping */
.shipping-delivery-info h4 {
    width: 100%;
}

/* ===== Responsive - Start ===== */
@media screen and (max-width: 1366px) {
    .main-content-loop .loop-item-wrap .featured-loop-item-wrap {
        grid-template-columns: repeat(2, 1fr);
    }
    .main-content-loop .loop-item-wrap .dynamic-shop-items {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    }
    .featured-loop-item-wrap .shop-card .shop-image img {
        height: 250px;
    }
}
@media screen and (max-width: 1260px) {
    .loop-content-wrap .sidebar-wrap {
        max-width: 300px;
    }
    .loop-content-wrap .main-content-loop {
        max-width: calc(100% - 300px);
    }
}
@media screen and (max-width: 1024px) {
    .single-product-wrap .gallery-item {
        max-width: calc(33% - (20px / 3));
    }
    body:has(.single-product-wrap) .page-top {
        padding: 20px;
    }
    .single-product-wrap .product-related-item {
        max-width: calc(33% - (40px / 3));
    }
    .single-product-wrap .product-related-item .product-image img {
        height: 250px;
    }
    .product-related-item .product-image {
        height: auto;
    }
    .product-related-wrap .product-related-item h3.product-title {
        line-height: 1.4;
        margin-bottom: 0px;
    }
    .single-product-wrap .product-related-wrap {
        padding-top: 70px;
    }
    .main-content-loop .loop-item-wrap .featured-loop-item-wrap {
        grid-template-columns: repeat(2, 1fr);
    }
    .main-content-loop .loop-item-wrap .dynamic-shop-items {
        grid-template-columns: repeat(3, 1fr);
    }
    .single-product-wrap .product-summary-wrap {
        gap: 50px;
    }
    .product-summary-wrap .left-content {
        max-width: calc(45% - 25px);
    }
    .product-summary-wrap .right-content {
        max-width: calc(55% - 25px);
    }
    .loop-content-wrap .sidebar-wrap {
        top: 160px;
    }
}
@media screen and (max-width: 920px) {
    .loop-content-wrap .sidebar-wrap {
        max-width: 260px;
        padding-right: 30px;
    }
    .loop-content-wrap .main-content-loop {
        max-width: calc(100% - 260px);
        padding-left: 30px;
    }
}
@media screen and (max-width: 767px) {
    .single-product-wrap .mobile-product-title-wrap,
    .single-product-wrap .mobile-product-title-wrap p#product-price {
        display: block;
    }
    .single-product-wrap .left-content .slick-slider .slick-next, .single-product-wrap .left-content .slick-slider .slick-prev {
        display: inline-block !important;
    }
    .left-content button.slick-arrow {
        /* padding: 7px 10px; */
        /* border-radius: 50%; */
        font-size: 16px;
        color: #d85a10;
        background: transparent;
    }
    .gallery-wrap.mobile-gallery-wrap .slick-slide {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .gallery-wrap.mobile-gallery-wrap .slick-slide img {
        max-height: 250px;
    }
    .single-product-wrap .right-content p#product-price,
    .single-product-wrap .desktop-product-title-wrap {
        display: none;
    }
    .single-product-wrap .gallery-item {
        max-width: calc(33% - (20px / 3));
    }
    .single-product-wrap .product-summary-wrap {
        flex-direction: column;
        gap: 20px;
    }
    .single-product-wrap .product-summary-wrap .left-content, .single-product-wrap .product-summary-wrap .right-content {
        width: 100%;
        max-width: 100%;
    }
    .single-product-wrap .product-image img {
        max-width: 400px;
        max-height: 400px;
        object-fit: contain;
    }
    .single-product-wrap .product-image {
        display: flex;
        justify-content: center;
        margin-bottom: 30px;
    }
    /* .single-product-wrap .product-image.mb-current {
        display: none !important;
    } */
    .single-product-wrap .right-content .boxed-info-wrap {
        flex-direction: row;
    }
    .single-product-wrap .product-related-wrap {
        padding-top: 50px;
    }
    .single-product-wrap .product-related-wrap .product-related-inner {
        flex-wrap: wrap;
    }
    .single-product-wrap .product-related-item {
        max-width: calc(50% - 10px);
    }
    .single-product-wrap .colour-options-wrap .mobile-options-popup-trigger {
        display: block;
        cursor: pointer;
    }
    .single-product-wrap .right-content .colour-options {
        padding: 8px;
        border: 1px solid #d4d4d4;
        width: 100%;
    }
    .single-product-wrap .right-content .colour-options li {
        width: 100%;
        display: none;
    }
    .single-product-wrap .right-content .colour-options label:has(input:checked)::after {
        display: none;
    }
    .single-product-wrap .right-content .colour-options label {
        border-radius: 0;
        border-width: 0px !important;
        padding: 0;
    }
    .single-product-wrap .colour-options label .colour-tooltip {
        opacity: 1;
        position: relative;
        bottom: unset;
        left: unset;
        transform: unset;
        padding: 0px;
        color: #000;
        background: transparent;
        margin-left: 15px;
        font-size: 14px;
    }
    .single-product-wrap .right-content .colour-options li:has(input:checked):after {
        content: '\f078';
        font-family: 'Font Awesome 6 Free';
        font-weight: 800;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        align-items: center;
    }
    .single-product-wrap .right-content .colour-options li:has(input:checked) {
        position: relative;
        display: list-item;
    }
    .single-product-wrap .mobile-product-title-wrap #product-title {
        font-size: 20px;
        margin-bottom: 5px;
    }
    .single-product-wrap .mobile-product-title-wrap #product-price {
        font-size: 18px !important;
    }
    .single-product-wrap .mobile-product-title-wrap .product-code {
        font-size: 12px;
    }
    .single-product-wrap .include-vat-tax-wrap {
        margin-bottom: 10px;
    }
    .product-bulk-discount-tire .price-wrap {
        font-size: 16px;
    }
    .product-bulk-discount-tire .discount-label {
        font-size: 14px;
    }
    .product-bulk-discount-tire .save-wrap span {
        font-size: 12px;
    }
    .main-content-loop .prod-category-desc-wrap {
        margin: 50px 0 0px;
    }
    .main-content-loop .pagination-wrap {
        justify-content: center;
    }
    .shop-card h3.shop-title {
        line-height: 1.15;
    }
    .shop-card p.shop-price:has(.vat-label) {
        display: flex;
        flex-wrap: wrap;
    }
    .include-vat-tax-wrap .toggle {
        margin-bottom: 10px;
    }
    .shipping-delivery-info h4 {
        font-size: 15px;
        line-height: 1.25;
    }
    .global-product-info .shipping-delivery-info:first-child {
        margin-bottom: 15px;
    }
}
@media screen and (max-width: 768px) {
    .sb-mobile-top-sect {
        display: flex !important;
        position: relative;
        padding: 20px;
        background: #d85a10;
        margin-bottom: 20px;
    }
    .sb-mobile-top-sect h3 {
        color: #fff;
        margin: 0;
    }
    .sb-close-btn {
        position: absolute;
        top: 10px;
        right: 10px;
        color: #fff;
    }
    .sidebar-wrap .filter-wrap {
        padding: 0 20px;
    }

    .sidebar-wrap {
        position: fixed;
        top: 5px;
        left: -100vw;
        width: calc(100vw - 30px) !important;
        height: calc(100vh - 10px);
        background: #fff;
        z-index: 9999;
        transition: left 0.35s ease;
        box-shadow: 2px 0 12px rgba(0,0,0,0.15);
        overflow-y: auto;
        padding: 0 0 20px 0;
    }
    .sidebar-wrap.is-open {
        left: 5px;
    }
    body.search .mobile-filter-wrap,
    body.woocommerce-shop .mobile-filter-wrap {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
    }
    .sidebar-wrap .items-loop-wrap {
        display: flex;
        flex-direction: column;
        align-content: flex-start;
        overflow: visible;
        height: auto;
        max-height: none;
    }
    .sidebar-wrap .filter-wrap .size-items {
        display: flex;
        flex-direction: row;
        gap: 8px;
        flex-wrap: wrap;
        overflow: visible;
        max-height: none;
    }
    .sidebar-wrap .other-items-filter {
        padding: 0px 20px;
    }
    .main-content-loop {
        width: 100% !important;
    } 
    .loop-item-wrap.shop-product-results,
    .main-content-loop .loop-item-wrap .featured-loop-item-wrap,
    .main-content-loop .loop-item-wrap .dynamic-shop-items {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-area: 10px;
    }
    .featured-loop-item-wrap .shop-card .shop-image img {
        height: auto;
    }
    .loop-content-wrap .main-content-loop {
        max-width: 100%;
        padding-left: 0;
    }
    .loop-content-wrap .sidebar-wrap {
        position: fixed;
        transition: all 1s ease;
        padding: 0 0 15px;
        height: 100vh;
        top: 0;
        border: none;
        max-width: 320px;
    }
    .sidebar-wrap .filters-overview-wrap {
        padding: 10px 20px;
    }
    .loop-content-wrap .sidebar-wrap.is-open {
        left: 0;
    }
}
@media screen and (max-width: 425px) {
    .single-product-wrap .right-content .boxed-info-wrap {
        flex-direction: column;
    }
    .single-product-wrap .right-content h2 {
        font-size: 26px;
        margin-bottom: 10px;
    }
    .single-product-wrap .right-content p#product-price {
        font-size: 22px;
    }
    .single-product-wrap .right-content .description-wrap li {
        font-size: 15px;
    }
    .single-product-wrap .right-content .description-wrap ul {
        margin-bottom: 20px;
    }
    .single-product-wrap .colour-options-wrap {
        flex-direction: column;
        justify-content: left;
        align-items: flex-start;
        gap: 0;
        margin-bottom: 10px;
    }
    .single-product-wrap .right-content .size-options-wrap {
        margin-bottom: 30px;
    }
    .single-product-wrap .product-related-item .product-image img {
        height: 180px;
    }
    .single-product-wrap .product-image {
        margin-bottom: 10px;
    }
    .single-product-wrap .product-summary-wrap .product-image {
        margin-bottom: 30px;
    }
}
/* ===== Responsive - End ===== */