/* =====================================================
LAYOUT
===================================================== */

.cfrf-layout{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:40px;
    align-items:start;
    margin:60px 0 80px;
}

/* =====================================================
SIDEBAR
===================================================== */

.cfrf-sidebar{
    position:sticky;
    top:30px;
}

.cfrf-sidebar-inner{
    display:flex;
    flex-direction:column;
    gap:25px;
}

.cfrf-sidebar-title{
    font-family:'Hind',sans-serif;
    font-size:22px;
    font-weight:700;
    color:#222;
    margin:0;
}

.cfrf-sidebar-title::after{
    content:"";
    display:block;
    width:60px;
    height:3px;
    background:#ED2226;
    margin-top:16px;
}

.cfrf-search{display:flex;flex-direction:column;gap:8px;}
.cfrf-search label{font-family:'Hind',sans-serif;font-weight:700;color:#222;}
.cfrf-search-controls{display:flex;gap:8px;}
.cfrf-search input{width:100%;min-width:0;padding:12px 14px;border:1px solid #ddd;border-radius:6px;font:15px 'Hind',sans-serif;}
.cfrf-search input:focus{outline:none;border-color:#ED2226;box-shadow:0 0 0 3px rgba(237,34,38,.12);}
.cfrf-search button{border:0;border-radius:6px;background:#ED2226;color:#fff;padding:0 16px;font:700 14px 'Hind',sans-serif;cursor:pointer;transition:.25s;}
.cfrf-search button:hover{background:#111;}

/* =====================================================
BOX FILTRI
===================================================== */

.cfrf-filter{
    background:#fff;
    border:1px solid #eee;
    border-radius:12px;
    padding:25px;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.cfrf-filter-title{
    font-family:'Hind',sans-serif;
    font-size:18px;
    font-weight:700;
    color:#222;
    margin:0 0 20px;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.cfrf-filter-title{list-style:none;}
.cfrf-filter-title::-webkit-details-marker{display:none;}
.cfrf-filter-title::after{content:'❯';font-size:18px;line-height:1;}
.cfrf-filter[open] .cfrf-filter-title::after{content:'⌄';font-size:22px;}
.cfrf-filter[open] .cfrf-filter-title{margin-bottom:20px;}

.cfrf-filter-options{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.cfrf-checkbox{
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    font-family:'Hind',sans-serif;
    font-size:15px;
    color:#444;
    transition:.25s;
}

.cfrf-checkbox:hover{
    color:#ED2226;
}

.cfrf-checkbox input{
    width:18px;
    height:18px;
    accent-color:#ED2226;
    cursor:pointer;
}

/* =====================================================
PRODOTTI
===================================================== */

.cfrf-main{
    width:100%;
}

.cfrf-products{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin:0 !important;
    padding:0 !important;
}

.cfrf-products::before,
.cfrf-products::after{
    display:none !important;
}

/* =====================================================
CARD
===================================================== */

.cfrf-products li.product{

    width:auto !important;

    margin:0 !important;

    float:none !important;

    display:flex;

    flex-direction:column;

    height:100%;

    background:#fff;

    border:1px solid #eee;

    border-radius:12px;

    overflow:hidden;

    transition:.3s;

    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.cfrf-products li.product:hover{

    transform:translateY(-6px);

    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

/* =====================================================
LINK CARD
===================================================== */

.cfrf-products li.product a.woocommerce-LoopProduct-link{

    display:flex;

    flex-direction:column;

    flex:1;
}

/* =====================================================
IMMAGINE
===================================================== */

.cfrf-products li.product img{

    width:100%;

    margin:0;

    transition:.35s;
}

.cfrf-products li.product:hover img{

    transform:scale(1.05);
}

/* =====================================================
TITOLO
===================================================== */

.cfrf-products .woocommerce-loop-product__title{

    padding:20px 20px 10px !important;

    font-size:18px !important;

    font-weight:700 !important;

    font-family:'Hind',sans-serif;

    color:#222;

    line-height:1.4;
}

/* =====================================================
PREZZO
===================================================== */

.cfrf-products .price{

    margin-top:auto;

    padding:0 20px;

    margin-bottom:20px;

    text-align:center;

    font-size:20px !important;

    font-weight:700 !important;

    color:#ED2226 !important;
}

.cfrf-availability{
    display:inline-flex;
    align-self:center;
    margin:0 20px 16px;
    padding:5px 10px;
    border-radius:999px;
    font:600 13px 'Hind',sans-serif;
}
.cfrf-availability.is-in-stock{background:#e7f7ed;color:#17733b;}
.cfrf-availability.is-backorder{background:#fff4d7;color:#8a5a00;}
.cfrf-availability.is-out-of-stock{background:#fde8e8;color:#a61b1b;}

/* =====================================================
PULSANTE
===================================================== */

.cfrf-products .button{

    display:flex;

    align-items:center;

    justify-content:center;

    width:calc(100% - 40px);

    margin:20px auto !important;

    padding:14px !important;

    border-radius:6px;

    background:#ED2226 !important;

    color:#fff !important;

    text-align:center !important;

    text-transform:uppercase;

    font-size:14px;

    font-weight:700;

    transition:.3s;
}

.cfrf-products .button:hover{

    background:#000 !important;

    color:#fff !important;
}

/* =====================================================
BADGE OFFERTA
===================================================== */

.cfrf-products .onsale{

    background:#ED2226;

    border-radius:4px;

    padding:6px 12px;

    font-weight:700;
}

/* =====================================================
NESSUN RISULTATO
===================================================== */

.cfrf-no-products{

    background:#fff;

    border:1px solid #eee;

    border-radius:12px;

    padding:60px;

    text-align:center;
}

.cfrf-no-products h3{

    font-family:'Hind',sans-serif;

    font-size:26px;

    margin-bottom:15px;
}

.cfrf-no-products p{

    color:#666;

    margin-bottom:25px;
}

.cfrf-no-products-button{

    display:inline-block;

    padding:14px 24px;

    border-radius:6px;

    background:#ED2226;

    color:#fff;

    text-decoration:none;

    font-weight:700;

    transition:.3s;
}

.cfrf-no-products-button:hover{

    background:#000;

    color:#fff;
}

.cfrf-load-more-wrap{text-align:center;margin-top:35px;}
#cfrf-load-more{padding:14px 24px;border:0;border-radius:6px;background:#ED2226;color:#fff;font:700 14px 'Hind',sans-serif;cursor:pointer;transition:.3s;}
#cfrf-load-more:hover{background:#000;}

/* Card prodotto: stile originale del plugin. */
.cfrf-products > li{width:100%;margin:0;list-style:none;box-sizing:border-box;}
.cfrf-card{display:flex;flex-direction:column;background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.05);transition:.3s;height:100%;}
.cfrf-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px rgba(0,0,0,.12);}
.cfrf-card-image{position:relative;display:block;height:280px;overflow:hidden;background:#fff;}
.cfrf-card-image img{width:100%;height:100%;object-fit:cover;transition:.35s;}
.cfrf-card:hover .cfrf-card-image img{transform:scale(1.05);}
.cfrf-card-badge{position:absolute;top:15px;right:15px;z-index:5;padding:8px 14px;border-radius:30px;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.cfrf-card-badge.instock{background:#27AE60;}.cfrf-card-badge.onbackorder{background:#F39C12;}
.cfrf-card-content{display:flex;flex-direction:column;flex:1;}
.cfrf-card-title{padding:20px 20px 10px;margin:0;height:100px;font:700 18px/1.4 'Hind',sans-serif;text-align:center;}
.cfrf-card-title a{color:#222;text-decoration:none;}.cfrf-card-title a:hover{color:#ED2226;}
.cfrf-card-price{margin-top:auto;padding:0 20px;margin-bottom:20px;text-align:center;font:700 20px 'Hind',sans-serif;color:#ED2226;}
.cfrf-card .button{display:flex;align-items:center;justify-content:center;width:calc(100% - 40px);margin:0 auto 20px!important;padding:14px!important;border-radius:12px!important;background:#ED2226!important;color:#fff!important;text-decoration:none;text-transform:uppercase;font-size:14px!important;font-weight:700;text-align:center!important;transition:.3s;}
.cfrf-card .button:hover{background:#000!important;color:#fff!important;}

/* =====================================================
LOADING
===================================================== */

#cfrf-results.cfrf-loading{

    opacity:.6;

    pointer-events:none;

    transition:.3s;
}

/* =====================================================
TABLET
===================================================== */

@media(max-width:1024px){

    .cfrf-layout{

        grid-template-columns:1fr;

    }

    .cfrf-sidebar{

        position:relative;

        top:auto;

    }

    .cfrf-products{

        grid-template-columns:repeat(2,1fr);

    }

}

/* =====================================================
MOBILE
===================================================== */

@media(max-width:768px){

    .cfrf-layout{

        gap:30px;

    }

    .cfrf-products{

        grid-template-columns:1fr;

    }

}
