.nw-category-cta-item {
    --white: #FFFFFF;
    --text-dark: 000000;
}
.nw-category-cta-item .text-white {
    color: var(--white);
}
.nw-category-cta-item .text-dark {
    color: var(--text-dark);
}
.products.row{
    position: relative;
}
.products.has-category-cta .product:not(.is-hidden-in-grid){
    height: auto;
    visibility: visible;
    overflow: visible;
    opacity: 1;
}
.products.has-category-cta .product.is-hidden-in-grid{
    height: 0;
    visibility: hidden;
    overflow: hidden;
    opacity: 0;
}
.products.has-category-cta .product.is-hidden-in-grid + .nw-ajax-filter-loader{
    width: 100%;
}
/* grid */
.nw-cta-layout-grid .products.row:before{
    display: none;
}
.nw-cta-layout-grid .products.row .product{
    width: 100%;
    max-width: 100%;
}
.nw-cta-layout-grid .products.row,
.nw-cta-layout-grid .products.row.grid-md-4{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /*grid-auto-rows: 1fr;*/
    grid-auto-flow: dense;
    gap: 0;
}
.nw-cta-layout-grid .products.row.grid-md-2{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 1fr;
    gap: 0;
}
.nw-cta-layout-grid .products.row.grid-sm-1{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-auto-rows: 1fr;
    gap: 0;
}
.nw-cta-layout-grid .nw-category-cta-item{
    overflow: hidden;
}
.nw-cta-layout-grid .products.row .product,
.nw-cta-layout-grid .cta-size-1 { /* 1 × 1 */
    grid-column: span 1;
    grid-row: span 1;
}
.nw-cta-layout-grid .cta-size-2 { /* 2 × 1 */
    grid-column: span 2 !important;
    grid-row: span 1 !important;
}
.nw-cta-layout-grid .cta-size-12 { /* 1 × 2 */
    grid-column: span 1 !important;
    grid-row: span 2 !important;
}
.nw-cta-layout-grid .cta-size-22 { /* 2 × 2 */
    grid-column: span 2 !important;
    grid-row: span 2 !important;
}
.nw-cta-layout-grid .products.row .nw-ajax-filter-loader {
    grid-column: 1 / -1;
}
@media (max-width: 1399.98px) {
    .nw-cta-layout-grid  .products.row {
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
    }
}
@media (max-width: 991.98px) {
    .nw-cta-layout-grid  .products.row {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }
    .nw-cta-layout-grid .cta-size-2{
        min-height: calc(100vw / 2);
        aspect-ratio: 2 / 1;
    }
    .nw-cta-layout-grid .cta-size-22{
        min-height: 100vw;
        aspect-ratio: 3 / 4;
    }
}
@media (max-width: 767.98px) {
    .nw-cta-layout-grid .cta-size-2,
    .nw-cta-layout-grid .cta-size-22 {
        grid-column: span 2 !important;
    }
    .nw-cta-layout-grid .cta-size-2 {
        aspect-ratio: 2 / 1;
    }
    .nw-cta-layout-grid .cta-size-22 {
        aspect-ratio: 3 / 4;
    }
}
@media (max-width: 575.98px) {
    .nw-cta-layout-grid .cta-size-1,
    .nw-cta-layout-grid .cta-size-2,
    .nw-cta-layout-grid .cta-size-12,
    .nw-cta-layout-grid .cta-size-22{
        grid-column: span 2 !important;
        aspect-ratio: 3 / 4;
    }
}
/* CTA block styles */
.nw-category-cta-item{
    position: relative;
    background: transparent;
}
.nw-category-cta-item .nw-category-cta-item-inner {
    position: relative;
    display: flex;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.nw-category-cta-item .nw-category-cta-item-inner .nw-cta-content {
    position: relative;
    display: flex;
    height: 100%;
    width: 100%;
    border: 0;
    z-index: 10;
}
.nw-category-cta-item .nw-category-cta-item-inner .nw-cta-content-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding: 30px;
    border: 0;
    z-index: 10;
}
.nw-category-cta-item .nw-category-cta-item-inner .cta-text {
    width: 100%;
}
.nw-category-cta-item .nw-category-cta-item-inner .nw-cta-content .cta-description{
    margin-bottom:0;
}
.nw-category-cta-item .nw-category-cta-item-inner.text-position-bottom .nw-cta-content-inner {
    justify-content: flex-end;
}
.nw-category-cta-item .nw-category-cta-item-inner.text-left {
    text-align: left;
}
.nw-category-cta-item .nw-category-cta-item-inner.text-center {
    text-align: center;
}
.nw-category-cta-item .nw-category-cta-item-inner.text-right {
    text-align: right;
}
.nw-category-cta-item .nw-category-cta-item-inner.button-right a.button {
    margin-left: auto;
}
/* content type: image */
.nw-category-cta-item .nw-category-cta-item-inner.cta-image-text-container{
    position: relative;
    width: 100%;
    height: 100%;
}
.nw-category-cta-item .nw-category-cta-item-inner.cta-image-text-container .cta-bg-image-wrapper{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
}
.nw-category-cta-item .nw-category-cta-item-inner.cta-image-text-container .cta-bg-image-wrapper .cta-bg-image{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* content type: video */
.nw-category-cta-item .nw-category-cta-item-inner.cta-video-container {
    position: relative;
    width: 100%;
    height: 100%;
}
.nw-category-cta-item .cta-size-1.nw-category-cta-item-inner.cta-video-container,
.nw-category-cta-item .cta-size-22.nw-category-cta-item-inner.cta-video-container {
    aspect-ratio: 1 / 1;
}
.nw-category-cta-item .cta-size-12.nw-category-cta-item-inner.cta-video-container {
    aspect-ratio: 1 / 2;
}
.nw-category-cta-item .cta-size-2.nw-category-cta-item-inner.cta-video-container {
    aspect-ratio: 2 / 1;
}
.nw-category-cta-item .nw-category-cta-item-inner.cta-video-container .nw-cta-video {
    position: absolute;
    inset: 0;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    object-fit: cover;
}
.nw-category-cta-item .nw-category-cta-item-inner.cta-video-container .nw-cta-video:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 3;
}
/* Mobile: CTA block styles */
@media (max-width: 1599.98px) {
    .nw-category-cta-item .cta-size-2.project-single-product-item.product.nw-category-cta-item .nw-cta-content,
    .nw-category-cta-item .cta-size-1.project-single-product-item.product.nw-category-cta-item .nw-cta-content {
        padding: 20px;
    }
}
@media (max-width: 1399.98px) {
    .product.nw-category-cta-item .nw-cta-content a.button.primary {
        padding: 15px 20px;
    }
}

/* * * * * * * *
CUSTOM STYLES
* * * * * * * */

/* START: Calypso */
.cta-calypso .nw-category-cta-item {
    --deep-cove: #1E353D;
    --shale: #78888D;
    --off-white: #F4F2EC;
    --white: #FFFFFF;
    --text-dark: #222321;
}
.cta-calypso .nw-category-cta-item .cta-size-1.project-single-product-item.product.nw-category-cta-item .nw-cta-content {
    background: var(--deep-cove);
}
.cta-calypso .nw-category-cta-item .cta-size-1.project-single-product-item.product.nw-category-cta-item .nw-cta-content * {
    color: var(--white);
}
.cta-calypso .nw-category-cta-item .cta-size-2.project-single-product-item.product.nw-category-cta-item .nw-cta-content {
    background-color: var(--shale);
}
.cta-calypso .nw-category-cta-item .cta-size-2.project-single-product-item.product.nw-category-cta-item .nw-cta-content * {
    color: var(--white);
}
.cta-calypso .nw-category-cta-item .cta-size-2.project-single-product-item.product.nw-category-cta-item .nw-cta-content a.primary {
    background-color: var(--off-white);
    border-color: var(--off-white);
    color: var(--deep-cove);
}
.cta-calypso .nw-category-cta-item .cta-size-2.project-single-product-item.product.nw-category-cta-item .nw-cta-content a.primary:hover {
    background-color: var(--deep-cove);
    border-color: var(--deep-cove);
    color: var(--off-white);
}

.cta-calypso .nw-category-cta-item .cta-size-1.project-single-product-item.product.nw-category-cta-item .nw-cta-content a.primary {
    background-color: var(--shale);
    border-color: var(--shale);
}
.cta-calypso .nw-category-cta-item .cta-size-1.project-single-product-item.product.nw-category-cta-item .nw-cta-content a.primary:hover {
    background-color: var(--off-white);
    border-color: var(--off-white);
    color: var(--deep-cove);
}
/* END: Calypso */

/* bisley styles moved to \themes\wp-bootstrap\css\nw-woo-category-cta.css */
/* START: Bisley */
/*
.cta-bisley .nw-category-cta-item {
    --white: #FFFFFF;
    --text-dark: #222321;
}
.cta-bisley .nw-category-cta-item {
    padding: 20px;
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner .nw-cta-content-inner .cta-text{
    position: relative;
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.text-white.text-position-top .cta-bg-image-wrapper::before,
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.text-white.text-position-top .nw-cta-video-wrapper::before{
    content: "";
    position: absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    z-index: 1;
    background: linear-gradient(to top, rgba(0,0,0,0.62) 0%,rgba(0,0,0,1) 100%);
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.text-white.text-position-bottom .cta-bg-image-wrapper::before,
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.text-white.text-position-bottom .nw-cta-video-wrapper::before{
    content: "";
    position: absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    z-index: 1;
    background: linear-gradient(to bottom, rgba(0,0,0,0.62) 0%,rgba(0,0,0,1) 100%);
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner .cta-heading{
    font-family: fs-elliot, sans-serif;
    font-size: 32px;
    line-height: 38px;
    letter-spacing: 0;
    font-weight: 600;
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner .cta-description{
    font-family: fs-elliot, sans-serif;
    font-size: 24px;
    line-height: 29px;
    font-weight: 600;
    letter-spacing: 0;
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.text-white .cta-heading,
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.text-white .cta-description{
    text-shadow: 0px 2px 2px rgba(0,0,0,0.8);
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.text-dark .cta-heading,
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.text-dark .cta-description{
    text-shadow: 0px 2px 2px rgba(0,0,0,0.2);
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner{
    overflow: hidden;
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.cta-image-text-container .cta-bg-image{
    transform: scale(1);
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.cta-image-text-container:hover .cta-bg-image{
    transform: scale(1.1);
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.cta-video-container .nw-cta-video{
    transform: scale(1);
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}
.cta-bisley .nw-category-cta-item .nw-category-cta-item-inner.cta-video-container:hover .nw-cta-video{
    transform: scale(1.1);
}
*/
/* END: Bisley */