/* ==========================================================
   TIENDA MOYA - CATALOGO V2
   CSS NUEVO. NO DEPENDE DE CIBARA.
========================================================== */

.tm-shop-page{
    background:#fff;
    color:#333e48;
}


/* ----------------------------------------------------------
   HERO
---------------------------------------------------------- */

.tm-shop-page .hero-shop{
    max-width:1480px;
    margin:0 auto;
    padding:42px 24px 32px;
    border-bottom:1px solid #ececec;
    background:#fff;
}

.tm-shop-page .hero-shop small{
    display:block;
    margin-bottom:8px;
    color:#8a8f94;
    font-size:11px;
    font-weight:600;
    letter-spacing:1.6px;
    text-transform:uppercase;
}

.tm-shop-page .hero-shop h1{
    margin:0;
    color:#333e48;
    font-size:30px;
    line-height:1.15;
    font-weight:600;
}

.tm-shop-page .hero-shop p{
    max-width:620px;
    margin:9px 0 0;
    color:#7a7f84;
    font-size:13px;
    line-height:1.65;
}


/* ----------------------------------------------------------
   LAYOUT
---------------------------------------------------------- */

.tm-shop-page .shop-layout{
    width:1480px;
    max-width:calc(100% - 32px);
    margin:0 auto;
    padding:34px 0 60px;

    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:34px;

    align-items:start;
}


/* ----------------------------------------------------------
   SIDEBAR
---------------------------------------------------------- */

.tm-shop-page .filters{
    position:relative;
    min-width:0;
    padding:0 25px 0 0;
    border-right:1px solid #e7e7e7;
    background:#fff;
}

.tm-shop-page .filters h3{
    margin:0 0 18px;
    padding-bottom:12px;
    border-bottom:2px solid var(--tm-primary,var(--tm-primary,#ff7b00));

    color:#333e48;
    font-size:18px;
    font-weight:600;
}

.tm-shop-page .filter-group{
    margin:0;
    padding:15px 0;
    border-bottom:1px solid #ededed;
}

.tm-shop-page .filter-group label{
    display:block;
    margin:0 0 8px;

    color:#555b60;
    font-size:12px;
    font-weight:600;
}

.tm-shop-page .filter-group input,
.tm-shop-page .filter-group select{
    display:block;
    width:100%;
    height:39px;

    margin:0;
    padding:0 11px;

    border:1px solid #dcdfe2;
    border-radius:6px !important;

    background:#fff;
    color:#333e48;

    font-size:12px;
    outline:none;
}

.tm-shop-page .filter-group input:focus,
.tm-shop-page .filter-group select:focus{
    border-color:
        var(--tm-primary,var(--tm-primary,#ff7b00));
}

.tm-shop-page .btn-black{
    width:100%;
    min-height:40px;
    margin-top:18px;

    border:0;
    border-radius:6px;

    background:
        var(--tm-primary,var(--tm-primary,#ff7b00));

    color:#25282b;

    font-size:12px;
    font-weight:700;

    cursor:pointer;
}


/* JS filtros nuevos */

.tm-shop-page .tm-shop-sidebar-real{
    margin-top:18px;
}

.tm-shop-page .tm-real-filter-section{
    padding:15px 0 !important;
    border-bottom:1px solid #ededed !important;
}

.tm-shop-page .tm-real-filter-title{
    color:#333e48 !important;
    font-size:13px !important;
    font-weight:600 !important;
}

.tm-shop-page .tm-real-check,
.tm-shop-page .tm-real-color{
    min-height:27px;
    display:flex;
    align-items:center;
    gap:8px;

    color:#666d72;
    font-size:12px !important;
}

.tm-shop-page input[type="checkbox"],
.tm-shop-page input[type="radio"],
.tm-shop-page input[type="range"]{
    accent-color:
        var(--tm-primary,var(--tm-primary,#ff7b00)) !important;
}


/* ----------------------------------------------------------
   PRODUCTOS
---------------------------------------------------------- */

.tm-shop-page main{
    min-width:0;
}

.tm-shop-page .catalog-top{
    min-height:38px;
    margin-bottom:14px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    border-bottom:1px solid #e8e8e8;
}

.tm-shop-page .catalog-top .count{
    padding-bottom:11px;
    color:#777d82;
    font-size:12px;
}

.tm-shop-page .products{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;

    border-top:1px solid #ececec;
    border-left:1px solid #ececec;
}

.tm-shop-page .product-card{
    position:relative;

    min-width:0;
    min-height:365px;

    display:flex;
    flex-direction:column;

    padding:16px 17px 18px;

    border:0 !important;
    border-right:1px solid #ececec !important;
    border-bottom:1px solid #ececec !important;

    border-radius:0 !important;

    background:#fff !important;
    color:#333e48;

    text-decoration:none;

    overflow:hidden;

    box-shadow:none !important;

    transition:
        box-shadow .18s ease,
        transform .18s ease;
}

.tm-shop-page .product-card:hover{
    z-index:2;

    transform:
        translateY(-2px);

    box-shadow:
        0 7px 22px rgba(0,0,0,.08) !important;
}

.tm-shop-page .product-image{
    position:relative;

    height:220px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:10px;

    overflow:hidden;
}

.tm-shop-page .product-image img{
    display:block;

    width:100% !important;
    height:100% !important;

    object-fit:contain !important;

    transform:none;

    transition:
        transform .2s ease;
}

.tm-shop-page .product-card:hover .product-image img{
    transform:
        scale(1.025);
}

.tm-shop-page .badge{
    position:absolute;
    top:8px;
    left:8px;

    padding:5px 7px;

    border-radius:4px;

    background:
        var(--tm-primary,var(--tm-primary,#ff7b00)) !important;

    color:#333e48;

    font-size:8px;
    font-weight:700;
    letter-spacing:.5px;
}

.tm-shop-page .product-info{
    display:flex;
    flex:1;
    flex-direction:column;

    padding-top:12px;
}

.tm-shop-page .product-brand{
    min-height:17px;

    margin-bottom:5px;

    color:#8d9297;

    font-size:10px;
    line-height:1.35;
}

.tm-shop-page .product-name{
    min-height:40px;

    color:#0062bd;

    font-size:12px;
    font-weight:600;
    line-height:1.45;
}

.tm-shop-page .price{
    margin-top:auto;
    padding-top:14px;

    color:#333e48;

    font-size:17px !important;
    font-weight:500;
}

.tm-shop-page .price-old{
    margin-left:6px;

    color:#9da2a6;

    font-size:11px;

    text-decoration:line-through;
}

.tm-shop-page .empty{
    grid-column:1/-1;
    padding:60px 20px;
    text-align:center;
    color:#777;
}


/* ----------------------------------------------------------
   FLECHAS / COMPONENTES DINAMICOS
---------------------------------------------------------- */

.tm-shop-page i.fa-chevron-up,
.tm-shop-page i.fa-chevron-down{
    width:12px !important;
    height:12px !important;

    font-size:11px !important;
    line-height:12px !important;

    position:static !important;

    display:inline-block !important;

    transform:none !important;
}


/* ----------------------------------------------------------
   RESPONSIVE
---------------------------------------------------------- */

@media(max-width:1250px){

    .tm-shop-page .products{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
}


@media(max-width:950px){

    .tm-shop-page .shop-layout{
        grid-template-columns:220px minmax(0,1fr);
        gap:22px;
    }

    .tm-shop-page .products{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}


@media(max-width:720px){

    .tm-shop-page .hero-shop{
        padding:
            28px 16px 24px;
    }

    .tm-shop-page .shop-layout{
        width:auto;
        max-width:none;

        margin:0;
        padding:20px 14px 45px;

        display:block;
    }

    .tm-shop-page .filters{
        margin-bottom:22px;
        padding:0 0 20px;
        border-right:0;
        border-bottom:1px solid #e7e7e7;
    }

    .tm-shop-page .products{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .tm-shop-page .product-card{
        min-height:310px;
        padding:10px;
    }

    .tm-shop-page .product-image{
        height:165px;
    }
}


@media(max-width:420px){

    .tm-shop-page .products{
        grid-template-columns:1fr;
    }

    .tm-shop-page .product-image{
        height:230px;
    }
}



/* ==========================================================
   TIENDA MOYA - FONT SCALE V3
   AUMENTO PROPORCIONAL DEL CATALOGO
========================================================== */

.tm-shop-page{
    font-size:16px;
}


/* HERO */

.tm-shop-page .hero-shop small{
    font-size:12px !important;
}

.tm-shop-page .hero-shop h1{
    font-size:34px !important;
}

.tm-shop-page .hero-shop p{
    font-size:15px !important;
}


/* SIDEBAR GENERAL */

.tm-shop-page .filters{
    font-size:14px !important;
}

.tm-shop-page .filters h3{
    font-size:21px !important;
    line-height:1.25 !important;
}

.tm-shop-page .filter-group{
    font-size:14px !important;
}

.tm-shop-page .filter-group label{
    font-size:14px !important;
    line-height:1.35 !important;
}

.tm-shop-page .filter-group input,
.tm-shop-page .filter-group select{
    height:43px !important;

    padding-left:13px !important;
    padding-right:13px !important;

    font-size:14px !important;
}


/* filtros JS */

.tm-shop-page .tm-real-filter-title{
    font-size:15px !important;
    line-height:1.3 !important;
}

.tm-shop-page .tm-real-check,
.tm-shop-page .tm-real-color{
    min-height:31px !important;

    font-size:13px !important;
    line-height:1.35 !important;
}

.tm-shop-page .tm-real-check span,
.tm-shop-page .tm-real-color span{
    font-size:13px !important;
}

.tm-shop-page .tm-real-check input,
.tm-shop-page .tm-real-color input{
    width:15px !important;
    height:15px !important;
}


/* categorías */

.tm-shop-page .tm-shop-category-list a,
.tm-shop-page .shop-category-list a,
.tm-shop-page .category-list a,
.tm-shop-page .filters a{
    font-size:13px !important;
    line-height:1.5 !important;
}


/* botones */

.tm-shop-page .btn-black,
.tm-shop-page .tm-real-apply,
.tm-shop-page .tm-real-clear{
    min-height:43px !important;

    font-size:13px !important;
    font-weight:700 !important;
}


/* toolbar */

.tm-shop-page .catalog-top .count{
    font-size:13px !important;
}


/* tarjetas */

.tm-shop-page .product-brand{
    font-size:11px !important;
}

.tm-shop-page .product-name{
    min-height:44px !important;

    font-size:14px !important;
    line-height:1.45 !important;
}

.tm-shop-page .price{
    font-size:20px !important;
}

.tm-shop-page .price-old{
    font-size:12px !important;
}

.tm-shop-page .badge{
    font-size:9px !important;
}


/* sidebar latest products si existe */

.tm-shop-page .tm-shop-latest-copy strong{
    font-size:13px !important;
    line-height:1.35 !important;
}

.tm-shop-page .tm-shop-latest-copy small{
    font-size:12px !important;
}


/* responsive */

@media(max-width:950px){

    .tm-shop-page .filters{
        font-size:13px !important;
    }

    .tm-shop-page .filter-group label{
        font-size:13px !important;
    }

    .tm-shop-page .filter-group input,
    .tm-shop-page .filter-group select{
        font-size:13px !important;
    }

}


@media(max-width:720px){

    .tm-shop-page{
        font-size:15px;
    }

    .tm-shop-page .hero-shop h1{
        font-size:29px !important;
    }

    .tm-shop-page .product-name{
        font-size:13px !important;
    }

    .tm-shop-page .price{
        font-size:18px !important;
    }

}

