/* =========================================================
   CABINETRO UNITS LISTING — CR-PRECISION 2026
   Desktop Master: v039
   Mobile Master: v007
   ========================================================= */


/* =========================================================
   SCOPE / BASE
   ========================================================= */

.crp-units-shell,
.crp-units-shell *,
.crp-units-products,
.crp-units-products * {
    box-sizing: border-box;
}

.crp-units-products {
    margin-top: 16px !important;
}

.crp-units-products > .container {
    width: 1158px;
    max-width: calc(100% - 32px);
    margin: 0 auto;
    padding: 0;
}


/* =========================================================
   PRODUCTS GRID — DESKTOP v039
   ========================================================= */

.crp-units-products #products_wrapper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    margin: 0;
    padding: 0 0 64px;
    align-items: stretch;
}


/* =========================================================
   PRODUCT CARD
   ========================================================= */

.crp-product-card {
    width: 100%;
    height: 100%;
    min-width: 0;
    margin: 0;

    border: 1px solid #ddddda;
    border-radius: 5px;
    background: #fff;
    overflow: hidden;

    display: flex;
    flex-direction: column;

    transition:
        border-color .14s ease,
        box-shadow .14s ease;
}

.crp-product-card:hover {
    border-color: #b9b9b4;
}

.crp-product-card:focus-within {
    border-color: #8f8f89;
    box-shadow: 0 0 0 1px #8f8f89;
}


/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.crp-product-media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;

    padding: 10px;

    background: #fafaf8;
    border-bottom: 1px solid #e9e9e6;

    overflow: hidden;
}

.crp-product-media-link {
    position: absolute;
    inset: 0;
    z-index: 1;

    display: block;
    padding: 10px;
}

.crp-product-media-link img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: center;

    transition: transform .18s cubic-bezier(.2, .7, .2, 1);
}

.crp-product-card:hover .crp-product-media-link img {
    transform: scale(1.012);
}


/* Discount */

.crp-discount-badge {
    position: absolute;
    top: 11px;
    left: 11px;
    z-index: 2;

    min-height: 24px;
    padding: 4px 8px;

    border: 1px solid #e10d12;
    border-radius: 3px;

    background: #e10d12;
    color: #fff;

    display: flex;
    align-items: center;

    font-size: 9.8px;
    line-height: 1.35;
    font-weight: 800;

    pointer-events: none;
}


/* =========================================================
   PRODUCT CONTENT
   ========================================================= */

.crp-product-content {
    padding: 14px 14px 13px;

    display: flex;
    flex: 1;
    flex-direction: column;

    background: #fff;
}


/* =========================================================
   TITLE
   ========================================================= */

.crp-product-title {
    height: 48px;
    min-height: 48px;
    max-height: 48px;

    margin: 0 0 10px;

    overflow: hidden;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    font-size: 14.4px;
    line-height: 24px;
    font-weight: 800;
    letter-spacing: -.03px;
}

.crp-product-title-link {
    color: #242424 !important;
    text-decoration: none !important;

    transition: color .14s ease;
}

.crp-product-title-link:hover {
    color: #e10d12 !important;
}


/* =========================================================
   SPECS
   ========================================================= */

.crp-product-specs {
    display: grid;
    grid-template-columns: 1.16fr 1fr 1fr;

    margin-bottom: 13px;

    border-top: 1px solid #e9e9e6;
    border-bottom: 1px solid #e9e9e6;
}

.crp-product-specs > div {
    min-width: 0;
    min-height: 46px;

    padding: 6px 4px 5px;

    border-left: 1px solid #e9e9e6;

    display: flex;
    flex-direction: column;
    justify-content: center;

    text-align: center;
}

.crp-product-specs > div:last-child {
    border-left: 0;
}

.crp-product-specs .crp-spec-width {
    background: #f8f8f6;
}

.crp-product-specs small {
    color: #72726f;

    font-size: 10.2px;
    line-height: 1.35;
    font-weight: 560;
}

.crp-product-specs strong {
    margin-top: 1px;

    color: #2e2e2c;

    font-size: 12px;
    line-height: 1.4;
    font-weight: 800;

    white-space: nowrap;
}

.crp-product-specs .crp-spec-width small {
    color: #555552;
    font-weight: 720;
}

.crp-product-specs .crp-spec-width strong {
    color: #202020;

    font-size: 13px;
    line-height: 1.3;
    font-weight: 880;
}


/* =========================================================
   PRICE
   ========================================================= */

.crp-product-price {
    min-height: 58px;
    margin-top: auto;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
}

.crp-price-meta {
    width: 100%;
    height: 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    color: #70706c;
}

.crp-price-kicker,
.crp-price-old {
    min-width: 0;

    color: #70706c;

    font-size: 10.3px;
    line-height: 18px;

    white-space: nowrap;
}

.crp-price-old del {
    color: #747470;
    font-size: 10.7px;
}

.crp-price-current {
    color: #202020;

    font-size: 19.2px;
    line-height: 1.35;
    font-weight: 870;
    letter-spacing: -.12px;

    font-variant-numeric: tabular-nums;
}

.crp-price-current i {
    color: #5f5f5b;

    font-style: normal;
    font-size: 11.2px;
    font-weight: 550;
}

.crp-vat {
    margin-top: 2px;

    color: #737373;

    font-size: 10px;
    line-height: 1.4;
    font-weight: 450;
}


/* =========================================================
   BUY BUTTON
   ========================================================= */

.crp-product-buy {
    height: 43px;
    margin-top: 12px;

    border: 1px solid #242424;
    border-radius: 4px;

    background: #fff;
    color: #242424 !important;

    display: grid;
    grid-template-columns: 1fr 42px;

    overflow: hidden;

    text-decoration: none !important;

    transition:
        background-color .14s ease,
        color .14s ease,
        border-color .14s ease;
}

.crp-product-buy span {
    display: flex;
    align-items: center;

    padding: 0 12px;

    font-size: 12.1px;
    font-weight: 800;
}

.crp-product-buy b {
    background: #e10d12;
    color: #fff;

    display: grid;
    place-items: center;

    font-size: 15.5px;
    font-weight: 700;
}

.crp-product-buy:hover {
    background: #242424;
    border-color: #242424;
    color: #fff !important;
}


/* =========================================================
   PAGINATION
   ========================================================= */

.crp-products-pagination {
    grid-column: 1 / -1;

    width: 100%;
    margin-top: 16px;

    display: flex;
    justify-content: center;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.crp-products-empty {
    grid-column: 1 / -1;

    min-height: 220px;
    padding: 30px;

    border: 1px solid #dededb;
    border-radius: 6px;

    background: #fafaf8;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;
}

.crp-products-empty strong {
    margin-bottom: 5px;

    color: #262626;

    font-size: 15px;
    font-weight: 850;
}

.crp-products-empty p {
    margin: 0;

    color: #737373;

    font-size: 11px;
    line-height: 1.9;
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.crp-product-card a:focus-visible {
    outline: 2px solid #e10d12;
    outline-offset: 2px;
}


/* =========================================================
MOBILE — v007 / DEFAULT 2 COLUMNS
   ========================================================= */

@media (max-width: 767px) {

    .crp-units-products {
        margin-top: 10px !important;
    }

    .crp-units-products > .container {
        width: 100%;
        max-width: 100%;

        margin: 0 auto;
        padding: 0 12px;
    }

.crp-units-products #products_wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;

    padding-bottom: 36px;
}
    .crp-product-media {
        padding: 8px;
        background: #fff;
    }

    .crp-product-media-link {
        padding: 8px;
    }

    .crp-product-content {
        padding: 10px 12px;
    }

    .crp-product-title {
        height: 44px;
        min-height: 44px;
        max-height: 44px;

        margin-bottom: 8px;

        font-size: 13.3px;
        line-height: 22px;
    }

    .crp-product-specs {
        grid-template-columns: 1.12fr 1fr 1fr;

        margin-bottom: 8px;
    }

    .crp-product-specs > div {
        min-height: 42px;
        padding: 5px 3px;
    }

    .crp-product-specs small {
        font-size: 9.8px;
    }

    .crp-product-specs strong {
        font-size: 11.4px;
        line-height: 1.3;
    }

    .crp-product-specs .crp-spec-width strong {
        font-size: 12.2px;
    }

    .crp-product-price {
        min-height: 52px;
    }

    .crp-price-kicker,
    .crp-price-old {
        font-size: 9.8px;
        line-height: 17px;
    }

    .crp-price-current {
        margin-top: 1px;

        font-size: 18px;
        line-height: 1.4;
    }

    .crp-price-current i {
        font-size: 10.2px;
    }

    .crp-product-buy {
        height: 44px;
        margin-top: 8px;

        grid-template-columns: minmax(0, 1fr) 34px;
    }

    .crp-product-buy span {
        padding: 0 10px;

        font-size: 11.4px;

        white-space: nowrap;
    }

    .crp-product-buy b {
        font-size: 13.5px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .crp-product-media-link img {
        transition: none !important;
    }

    .crp-product-card:hover .crp-product-media-link img {
        transform: none !important;
    }
}
/* =========================================================
   CATEGORY INTRO — v039
   ========================================================= */

.crp-units-shell .crp-category-intro {
    width: 100%;
    margin: 0 0 24px;
    padding: 18px 0 20px;
    border-bottom: 1px solid #e4e4e1;
}

.crp-units-shell .crp-breadcrumb {
    display: flex;
    align-items: center;
    gap: 7px;

    margin: 0 0 13px;

    color: #777773;
    font-size: 11px;
    line-height: 1.8;
}

.crp-units-shell .crp-breadcrumb a {
    color: #777773 !important;
    text-decoration: none !important;
}

.crp-units-shell .crp-breadcrumb a:hover {
    color: #e10d12 !important;
}

.crp-units-shell .crp-breadcrumb strong {
    color: #343432;
    font-weight: 700;
}

.crp-units-shell .crp-category-intro-main h1 {
    margin: 0 0 8px;

    color: #242424;

    font-size: 24px;
    line-height: 1.55;
    font-weight: 850;
}

.crp-units-shell .crp-category-intro-main p {
    max-width: 880px;

    margin: 0;

    color: #666662;

    font-size: 12px;
    line-height: 2;
    font-weight: 450;
}


/* Mobile */
@media (max-width: 767px) {

    .crp-units-shell .crp-category-intro {
        margin-bottom: 16px;
        padding: 12px 0 14px;
    }

    .crp-units-shell .crp-breadcrumb {
        margin-bottom: 9px;
        font-size: 10px;
    }

    .crp-units-shell .crp-category-intro-main h1 {
        margin-bottom: 6px;

        font-size: 20px;
        line-height: 1.6;
    }

    .crp-units-shell .crp-category-intro-main p {
        font-size: 11px;
        line-height: 1.9;
    }
}
/* =========================================================
   LEGACY GUIDE LAYOUT — STEP 01
   ========================================================= */

@media (min-width: 768px) {

    .crp-units-shell .crp-legacy-guide-row {
        display: flex;
        align-items: flex-start;
        gap: 16px;

        margin-left: 0 !important;
        margin-right: 0 !important;
    }


    .crp-units-shell .crp-legacy-guide-content {
        width: auto !important;
        max-width: none !important;
        flex: 1 1 auto !important;
        min-width: 0;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
/* =========================================================
   LEGACY GUIDE — COMPACT STEP 02
   ========================================================= */

@media (min-width: 768px) {


    .crp-units-shell .crp-legacy-guide-content .tab-content {
        min-height: 0 !important;
        border: 1px solid #dededb;
        border-top: 0;
        background: #fff;
    }

.crp-units-shell .crp-legacy-guide-content .tab-pane {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}
    
}
/* =========================================================
   LEGACY CATEGORY SIDEBAR — REMOVE FROM DESKTOP
   ========================================================= */

@media (min-width: 768px) {

    

    .crp-units-shell .crp-legacy-guide-row {
        display: block !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .crp-units-shell .crp-legacy-guide-content {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}
/* =========================================================
   CATEGORY GUIDE LINK — v039
   ========================================================= */

.crp-category-guide-link {
    appearance: none;
    -webkit-appearance: none;

    display: inline-flex;
    align-items: center;
    gap: 5px;

    margin-top: 4px;
    padding: 0;

    border: 0;
    border-bottom: 1px solid #d6d6d2;
    background: transparent;

    color: #777773;

    font-family: inherit;
    font-size: 10.5px;
    line-height: 1.6;
    font-weight: 700;

    cursor: pointer;

    transition:
        color .14s ease,
        border-color .14s ease;
}

.crp-category-guide-link:hover {
    color: #242424;
    border-color: #a9a9a4;
}

.crp-category-guide-link:focus-visible {
    outline: 2px solid #242424;
    outline-offset: 4px;
    border-radius: 2px;
}
/* =========================================================
/* =========================================================
   CR-PRECISION 2026 — CATEGORY GUIDE DRAWER
   ========================================================= */

.category-guide-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10990;

    background: rgba(0, 0, 0, .38);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity .22s ease,
        visibility .22s ease;
}

.category-guide-backdrop.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.category-guide-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;

    z-index: 11000;

    width: 420px;
    max-width: 100vw;

    background: #fff;
    direction: rtl;

    transform: translateX(100%);
    visibility: hidden;

    box-shadow: -14px 0 40px rgba(0, 0, 0, .14);

    transition:
        transform .25s ease,
        visibility .25s ease;

    display: flex;
    flex-direction: column;
}

.category-guide-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
}

.category-guide-drawer-head {
    min-height: 70px;
    padding: 0 20px;

    border-bottom: 1px solid #e8e8e5;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    flex: 0 0 auto;
}

.category-guide-drawer-head h2 {
    margin: 0;

    color: #242424;
    font-size: 18px;
    line-height: 1.6;
    font-weight: 800;
}

.category-guide-close {
    width: 40px;
    height: 40px;
    padding: 0;

    border: 0;
    border-radius: 4px;
    background: transparent;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
}

.category-guide-close:hover {
    background: #f5f5f3;
}

.category-guide-close svg {
    width: 22px;
    height: 22px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.category-guide-drawer-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;

    padding: 20px;
}

.category-guide-drawer .crp-legacy-guide-row {
    display: block !important;

    width: 100% !important;
    margin: 0 !important;
}


.category-guide-drawer .crp-legacy-guide-content {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;

    padding: 0 !important;
}

.category-guide-drawer .nav-tabs {
    width: 100%;
    margin: 0;
}

.category-guide-drawer .tab-content {
    width: 100%;
}

.category-guide-drawer .tab-pane {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

body.crp-guide-open {
    overflow: hidden !important;
}
/* =========================================================
   CATEGORY GUIDE DRAWER — FINAL VISUAL POLISH
   ========================================================= */

.category-guide-drawer-head {
    min-height: 72px;
    padding: 0 22px;
}

.category-guide-drawer-head h2 {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 850;
}

.category-guide-drawer-body {
    padding: 20px;
}

.category-guide-drawer .nav-tabs {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    border: 1px solid #d9d9d6;
    border-bottom: 0;
}

.category-guide-drawer .nav-tabs .nav-link {
    width: 100% !important;
    min-height: 39px;

    margin: 0 !important;
    padding: 8px 12px !important;

    border: 0 !important;
    border-bottom: 1px solid #d9d9d6 !important;
    border-radius: 0 !important;

    background: #fff;
    color: #30302e !important;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 12.5px;
    line-height: 1.6;
    font-weight: 700;

    text-decoration: none !important;
}

.category-guide-drawer .nav-tabs .nav-link:last-child {
    border-bottom: 0 !important;
}

.category-guide-drawer .nav-tabs .nav-link:hover {
    background: #f6f6f4;
}

.category-guide-drawer .nav-tabs .nav-link.active {
    background: #8f8f89 !important;
    color: #fff !important;
    font-weight: 800;
}

.category-guide-drawer .tab-content {
    width: 100%;
    border: 1px solid #d9d9d6;
    border-top: 0;
    background: #fff;
}

.category-guide-drawer .tab-pane {
    padding: 20px !important;

    color: #50504d;
    font-size: 12.5px;
    line-height: 2.15;
}

.category-guide-drawer .tab-pane p:first-child {
    margin-top: 0;
}

.category-guide-drawer .tab-pane p:last-child,
.category-guide-drawer .tab-pane ul:last-child {
    margin-bottom: 0;
}

.category-guide-drawer .tab-pane h1,
.category-guide-drawer .tab-pane h2,
.category-guide-drawer .tab-pane h3,
.category-guide-drawer .tab-pane h4,
.category-guide-drawer .tab-pane h5,
.category-guide-drawer .tab-pane h6 {
    color: #30302e;
    line-height: 1.8;
}

.category-guide-drawer .tab-pane ul,
.category-guide-drawer .tab-pane ol {
    padding-right: 20px;
    margin-bottom: 12px;
}@media (max-width: 767px) {
    .category-guide-drawer {
        width: 100%;
    }

    .category-guide-drawer-body {
        padding: 16px;
    }
}
/* =========================================================
   CR-PRECISION 2026
   LISTING TOOLBAR + SORT + 3/4 COLUMN GRID
   ========================================================= */

.crp-units-products .crp-listing-utility {
    position: sticky;
    top: 8px;
    z-index: 850;
    height: 54px;
    margin: 0 0 12px;
}


.crp-units-products .crp-listing-toolbar {
    height: 54px;
    padding: 0 9px;
    border: 1px solid #dededb;
    border-radius: 6px;
    background: rgba(255, 255, 255, .98);

    display: flex;
    align-items: center;
    gap: 12px;
}


.crp-units-products .crp-listing-toolbar-title {
    min-width: 0;

    display: flex;
    align-items: center;
}


.crp-units-products .crp-listing-toolbar-title strong {
    color: #252525;
    font-size: 14.2px;
    line-height: 1.5;
    font-weight: 850;
    white-space: nowrap;
}


.crp-units-products .crp-listing-toolbar-title span {
    margin-right: 9px;
    padding-right: 9px;

    border-right: 1px solid #dfdfdb;

    color: #777773;
    font-size: 10.5px;
    line-height: 1.5;
    white-space: nowrap;
}


.crp-units-products .crp-listing-toolbar-actions {
    margin-right: auto;

    display: flex;
    align-items: center;
    gap: 6px;
}


/* SORT */

.crp-units-products .crp-listing-sort {
    height: 38px;
    padding: 0 9px;

    display: flex;
    align-items: center;
    gap: 7px;

    border: 1px solid #d7d7d3;
    border-radius: 4px;

    background: #fff;
}


.crp-units-products .crp-listing-sort-label {
    color: #696966;
    font-size: 10.8px;
    white-space: nowrap;
}


.crp-units-products .crp-listing-sort-select {
    position: relative;

    min-width: 104px;
    height: 36px;

    display: flex;
    align-items: center;
}


.crp-units-products .crp-listing-sort-select::after {
    content: "";

    position: absolute;
    left: 2px;
    top: 50%;

    width: 6px;
    height: 6px;

    border-left: 1.6px solid #777;
    border-bottom: 1.6px solid #777;

    transform:
        translateY(-65%)
        rotate(-45deg);

    pointer-events: none;
}


.crp-units-products .crp-listing-sort select {
    width: 100%;
    min-width: 104px;
    height: 36px;

    padding: 0 0 0 17px;

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;

    color: #292929;
    font-size: 11.5px;
    font-weight: 780;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;
}


/* GRID SWITCH */

.crp-units-products .crp-listing-grid-switch {
    height: 38px;

    display: flex;

    border: 1px solid #d7d7d3;
    border-radius: 4px;

    background: #f8f8f6;

    overflow: hidden;
}


.crp-units-products .crp-listing-grid-switch button {
    width: 38px;
    height: 36px;

    padding: 0;

    border: 0;
    border-left: 1px solid #e2e2df;

    background: transparent;

    display: grid;
    place-items: center;

    cursor: pointer;
}


.crp-units-products .crp-listing-grid-switch button:last-child {
    border-left: 0;
}


.crp-units-products .crp-listing-grid-switch button:hover {
    background: #f0f0ed;
}


.crp-units-products .crp-listing-grid-switch button.active,
.crp-units-products .crp-listing-grid-switch button[aria-pressed="true"] {
    background: #242424;
}


/* GRID ICONS */

.crp-units-products .crp-grid-icon {
    width: 16px;
    height: 16px;

    display: block;
}


.crp-units-products .crp-grid-icon-4 {
    background:
        linear-gradient(#777 0 0) 0 0 / 6px 6px no-repeat,
        linear-gradient(#777 0 0) 10px 0 / 6px 6px no-repeat,
        linear-gradient(#777 0 0) 0 10px / 6px 6px no-repeat,
        linear-gradient(#777 0 0) 10px 10px / 6px 6px no-repeat;
}


.crp-units-products .crp-grid-icon-3 {
    height: 7px;

    background:
        linear-gradient(#777 0 0) 0 0 / 4.5px 7px no-repeat,
        linear-gradient(#777 0 0) 5.75px 0 / 4.5px 7px no-repeat,
        linear-gradient(#777 0 0) 11.5px 0 / 4.5px 7px no-repeat;
}


.crp-units-products
.crp-listing-grid-switch
button.active
.crp-grid-icon-4,

.crp-units-products
.crp-listing-grid-switch
button[aria-pressed="true"]
.crp-grid-icon-4 {

    background:
        linear-gradient(#fff 0 0) 0 0 / 6px 6px no-repeat,
        linear-gradient(#fff 0 0) 10px 0 / 6px 6px no-repeat,
        linear-gradient(#fff 0 0) 0 10px / 6px 6px no-repeat,
        linear-gradient(#fff 0 0) 10px 10px / 6px 6px no-repeat;
}


.crp-units-products
.crp-listing-grid-switch
button.active
.crp-grid-icon-3,

.crp-units-products
.crp-listing-grid-switch
button[aria-pressed="true"]
.crp-grid-icon-3 {

    background:
        linear-gradient(#fff 0 0) 0 0 / 4.5px 7px no-repeat,
        linear-gradient(#fff 0 0) 5.75px 0 / 4.5px 7px no-repeat,
        linear-gradient(#fff 0 0) 11.5px 0 / 4.5px 7px no-repeat;
}


/* DESKTOP PRODUCT GRID */

@media (min-width: 992px) {

    .crp-units-products #products_wrapper {
        display: grid !important;

        margin-right: 0 !important;
        margin-left: 0 !important;

        align-items: stretch;
    }


    .crp-units-products #products_wrapper.crp-grid-4 {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));

        gap: 16px;
    }


    .crp-units-products #products_wrapper.crp-grid-3 {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 18px;
    }


    .crp-units-products #products_wrapper > .crp-product-card {
        width: 100%;
        max-width: none;

        margin: 0;
    }


    .crp-units-products
    #products_wrapper
    > .crp-products-pagination,

    .crp-units-products
    #products_wrapper
    > .crp-products-empty {

        grid-column: 1 / -1;
    }

}


/* TABLET / MOBILE:
   grid switch مربوط به نسخه Desktop است */

@media (max-width: 991px) {

    .crp-units-products .crp-listing-utility {
        position: static;
    }


    .crp-units-products .crp-listing-grid-switch {
        display: none;
    }

}
/* =========================================================
   CR-PRECISION 2026
   PRODUCT FILTER DRAWER
   ========================================================= */

.crp-filter-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1180;

    background: rgba(18, 18, 18, .48);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .22s ease,
        visibility .22s ease;
}


.crp-filter-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}


.crp-filter-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;

    z-index: 1190;

    width: 380px;
    max-width: calc(100vw - 24px);

    background: #fff;

    transform: translateX(105%);

    transition: transform .26s ease;

    display: flex;
    flex-direction: column;

    box-shadow: -14px 0 34px rgba(0, 0, 0, .10);
}
/* MOBILE FILTER DRAWER WIDTH */
@media (max-width: 767px) {

    .crp-filter-drawer {
        width: 75vw !important;
        max-width: 75vw !important;
    }

    .crp-filter-backdrop {
        background: rgba(18, 18, 18, .32);
    }

}
.crp-filter-drawer.is-open {
    transform: translateX(0);
}


.crp-filter-drawer-head {
    min-height: 74px;

    padding: 0 20px;

    border-bottom: 1px solid #e5e5e2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    flex: 0 0 auto;
}


.crp-filter-drawer-head h2 {
    margin: 0;

    color: #242424;

    font-size: 17px;
    font-weight: 850;
    line-height: 1.5;
}


.crp-filter-close {
    width: 40px;
    height: 40px;

    padding: 0;

    border: 0;
    border-radius: 4px;

    background: transparent;

    color: #222;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
}


.crp-filter-close:hover {
    background: #f4f4f1;
}


.crp-filter-close svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}


.crp-filter-drawer-body {
    flex: 1 1 auto;

    min-height: 0;

    overflow-y: auto;
    overflow-x: hidden;

    padding: 8px 20px 24px;
}


.crp-filter-group {
    margin: 0;

    padding: 18px 0;

    border-bottom: 1px solid #e8e8e5;
}


.crp-filter-group:last-child {
    border-bottom: 0;
}


.crp-filter-group h3 {
    margin: 0 0 13px;

    color: #252525;

    font-size: 14px;
    font-weight: 850;
    line-height: 1.6;
}


.crp-filter-options {
    display: flex;
    flex-direction: column;

    gap: 7px;
}


.crp-filter-option {
    position: relative;

    margin: 0;
}


.crp-filter-option-label {
    position: relative;

    min-height: 40px;

    margin: 0;

    padding: 9px 36px 9px 10px;

    border: 1px solid #e2e2de;
    border-radius: 4px;

    background: #fff;

    color: #4c4c49;

    font-size: 12.5px;
    line-height: 1.6;

    cursor: pointer;

    transition:
        border-color .16s ease,
        background .16s ease,
        color .16s ease;
}


.crp-filter-option-label:hover {
    border-color: #bdbdb8;

    background: #fafaf8;
}


.crp-filter-option-label::before {
    content: "";

    position: absolute;
    right: 11px;
    top: 50%;

    width: 15px;
    height: 15px;

    border: 1.5px solid #aaa9a4;
    border-radius: 3px;

    background: #fff;

    transform: translateY(-50%);
}


.crp-filter-option
input[type="checkbox"]:checked
+
.crp-filter-option-label {

    border-color: #8f8f89;

    background: #f4f4f1;

    color: #222;

    font-weight: 750;
}


.crp-filter-option
input[type="checkbox"]:checked
+
.crp-filter-option-label::before {

    border-color: #292929;

    background: #292929;
}


.crp-filter-option
input[type="checkbox"]:checked
+
.crp-filter-option-label::after {

    content: "";

    position: absolute;

    right: 15px;
    top: 50%;

    width: 7px;
    height: 4px;

    border-left: 1.5px solid #fff;
    border-bottom: 1.5px solid #fff;

    transform:
        translateY(-65%)
        rotate(-45deg);
}


body.crp-filter-open {
    overflow: hidden !important;
}


@media (max-width: 767px) {



    .crp-filter-drawer-head {
        min-height: 66px;

        padding: 0 16px;
    }


    .crp-filter-drawer-body {
        padding:
            6px
            16px
            20px;
    }
}
/* ==================================================
   LISTING FILTER BUTTON
   ================================================== */

.crp-listing-filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    height: 44px;
    padding: 0 14px;

    border: 1px solid #d8d8d8;
    border-radius: 7px;

    background: #fff;
    color: #222;

    font: inherit;
    font-size: 14px;
    font-weight: 600;

    cursor: pointer;
    white-space: nowrap;
    flex: 0 0 auto;
}

.crp-listing-filter-btn svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.crp-listing-filter-btn:hover {
    background: #f5f5f3;
}

.crp-listing-filter-btn:focus-visible {
    outline: 2px solid #222;
    outline-offset: 2px;
}
/* FINAL FIX - LISTING FILTER BUTTON */
.crp-listing-toolbar-actions .crp-listing-filter-btn {
    width: auto !important;
    min-width: 82px !important;
    max-width: none !important;

    height: 38px !important;
    padding: 0 12px !important;
    margin: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;

    position: static !important;
    flex: 0 0 auto !important;

    border: 1px solid #d7d7d3 !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #252525 !important;

    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.crp-listing-toolbar-actions .crp-listing-filter-btn svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
}
/* FIX - FILTER BUTTON TEXT ROTATION */
.crp-listing-toolbar-actions .crp-listing-filter-btn > span,
.crp-listing-toolbar-actions .crp-listing-filter-btn[aria-expanded="true"] > span {
    display: inline-block !important;
    transform: none !important;
    rotate: none !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    font-style: normal !important;
}
/* =========================================================
   MOBILE GRID SWITCH — 1 / 2 COLUMNS FINAL
   ========================================================= */

/* Mobile controls are hidden outside mobile */
.crp-units-products
.crp-listing-grid-switch
.crp-grid-mobile-option {
    display: none !important;
}


/* MOBILE */
@media (max-width: 767px) {

    /* Show grid switch on mobile */
    .crp-units-products .crp-listing-grid-switch {
        display: flex !important;
        flex: 0 0 auto;
    }

    /* Hide desktop 3 / 4 column buttons */
    .crp-units-products
    .crp-listing-grid-switch
    .crp-grid-desktop-option {
        display: none !important;
    }

    /* Show mobile 1 / 2 column buttons */
    .crp-units-products
    .crp-listing-grid-switch
    .crp-grid-mobile-option {
        display: grid !important;
        place-items: center;
    }

    /* 1 column */
    .crp-units-products
    #products_wrapper.crp-grid-1 {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap: 10px;
    }

    /* 2 columns */
    .crp-units-products
    #products_wrapper.crp-grid-2 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 8px;
    }

    /* Mobile grid button size */
    .crp-units-products
    .crp-listing-grid-switch
    button {
        width: 38px;
        height: 36px;
    }
}


/* 1 COLUMN ICON */
.crp-units-products .crp-grid-icon-1 {
    width: 16px;
    height: 14px;

    background:
        linear-gradient(#777 0 0)
        center / 10px 14px no-repeat;
}


/* 2 COLUMN ICON */
.crp-units-products .crp-grid-icon-2 {
    width: 16px;
    height: 14px;

    background:
        linear-gradient(#777 0 0)
        1px 0 / 6px 14px no-repeat,

        linear-gradient(#777 0 0)
        9px 0 / 6px 14px no-repeat;
}


/* ACTIVE 1 COLUMN ICON */
.crp-units-products .crp-listing-grid-switch button.active .crp-grid-icon-1,
.crp-units-products .crp-listing-grid-switch button[aria-pressed="true"] .crp-grid-icon-1 {
    background:
        linear-gradient(#fff 0 0)
        center / 10px 14px no-repeat;
}


/* ACTIVE 2 COLUMN ICON */
.crp-units-products .crp-listing-grid-switch button.active .crp-grid-icon-2,
.crp-units-products .crp-listing-grid-switch button[aria-pressed="true"] .crp-grid-icon-2 {
    background:
        linear-gradient(#fff 0 0)
        1px 0 / 6px 14px no-repeat,

        linear-gradient(#fff 0 0)
        9px 0 / 6px 14px no-repeat;
}
/* =========================================================
   MOBILE TOOLBAR LAYOUT FIX
   ========================================================= */

@media (max-width: 767px) {

    .crp-units-products .crp-listing-toolbar {
        display: flex !important;
        flex-wrap: wrap !important;
        height: auto !important;
        min-height: 0 !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 8px !important;
    }

    /* Product count = separate first row */
    .crp-units-products .crp-listing-toolbar-title {
        order: 1 !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 2px 6px !important;
    }

    /* Controls = separate second row */
    .crp-units-products .crp-listing-toolbar-actions {
        order: 2 !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
    }

    .crp-units-products .crp-listing-sort {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .crp-units-products .crp-listing-filter-btn,
    .crp-units-products .crp-listing-grid-switch {
        flex: 0 0 auto !important;
    }
}
/* MOBILE — SPACE BETWEEN TOOLBAR AND PRODUCT GRID */
@media (max-width: 767px) {

    .crp-units-products #products_wrapper {
        margin-top: 12px !important;
    }

}
/* MOBILE — FIX TOOLBAR REAL HEIGHT */
@media (max-width: 767px) {

    .crp-units-products .crp-listing-utility {
        height: auto !important;
        min-height: 0 !important;
        margin-bottom: 12px !important;
    }

}
/* =========================================================
   CR-PRECISION 2026
   DYNAMIC UNIT CATEGORY SWITCH
   ========================================================= */

.crp-unit-category-switch {
    width: 100%;
    margin: 0 0 12px;

    border: 1px solid #e2e2e2;
    border-radius: 7px;

    background: #fff;
    overflow: hidden;
}

.crp-unit-category-switch-track {
    display: flex;
    align-items: stretch;

    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;

    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
}

.crp-unit-category-switch-track::-webkit-scrollbar {
    display: none;
}

.crp-unit-category-switch-item {
    flex: 0 0 auto;

    min-height: 42px;
    padding: 0 18px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-left: 1px solid #ededed;

    color: #555;
    background: #fff;

    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;

    white-space: nowrap;
    text-decoration: none !important;

    transition:
        background-color .18s ease,
        color .18s ease;
}

.crp-unit-category-switch-item:last-child {
    border-left: 0;
}

.crp-unit-category-switch-item:hover {
    background: #f7f7f7;
    color: #222;
}

.crp-unit-category-switch-item.is-active,
.crp-unit-category-switch-item[aria-current="page"] {
    background: #252525;
    color: #fff;
}


/* MOBILE */
@media (max-width: 767px) {

    .crp-unit-category-switch {
        margin-bottom: 10px;
    }


    .crp-unit-category-switch-item {
        min-height: 40px;
        padding: 0 15px;

        font-size: 12px;
    }

}