/*==============================================================
    ICA REFACCIONES RECUPERADAS
    BUSQUEDA.CSS V2
==============================================================*/


/*==============================================================
    VARIABLES LOCALES
==============================================================*/

:root{

    --bg:#f5f6f8;

    --card:#ffffff;

    --texto:#222222;

    --gris:#777777;

    --borde:#e9e9e9;

    --amarillo:#FFD200;

    --amarillo-hover:#F2C300;

    --verde:#25D366;

    --verde-hover:#1EBE5A;

    --radio:18px;

    --sombra:0 12px 30px rgba(0,0,0,.08);

}

/*==============================================================
    HEADER
==============================================================*/

header{

    background:#ffffff;

    box-shadow:0 4px 15px rgba(0,0,0,.05);

    position:sticky;

    top:0;

    z-index:999;

}

.header-contenido{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

    min-height:95px;

    flex-wrap:wrap;

}

.logo img{

    width:90px;

    display:block;

}

.buscador{

    flex:1;

    display:flex;

    align-items:center;

}

.buscador input{

    flex:1;

}

nav{

    display:flex;

    align-items:center;

    gap:30px;

}

nav a{

    text-decoration:none;

    color:#222;

    font-weight:600;

    transition:.25s;

}

nav a:hover{

    color:#FFB800;

}

/*==============================================================
    ENCABEZADO
==============================================================*/

.encabezado-resultados{

    margin:35px 0 30px;

}

.encabezado-resultados h1{

    font-size:38px;

    font-weight:800;

    color:var(--texto);

    margin-bottom:8px;

}

.encabezado-resultados p{

    font-size:16px;

    color:var(--gris);

}


/*==============================================================
    LAYOUT GENERAL
==============================================================*/
.contenido-busqueda{

    display:flex;

    flex-direction:column;

    gap:20px;

}

/*==============================================================
    PANEL IZQUIERDO
==============================================================*/

.panel-filtros{

    position:absolute;

    top:60px;

    left:0;

    width:320px;

    background:#ffffff;

    border:1px solid #e5e5e5;

    border-radius:12px;

    box-shadow:0 15px 35px rgba(0,0,0,.18);

    padding:20px;

    z-index:999;

}

.panel-filtros h2{

    font-size:25px;

    font-weight:700;

    color:var(--texto);

    margin-bottom:28px;

    padding-bottom:15px;

    border-bottom:2px solid #f2f2f2;

}

.grupo-filtro{

    margin-bottom:35px;

}

.grupo-filtro:last-child{

    margin-bottom:0;

}

.grupo-filtro h3{

    font-size:17px;

    color:var(--texto);

    margin-bottom:12px;

}

.grupo-filtro p{

    color:#8b8b8b;

    line-height:24px;

    font-size:14px;

}


/*==============================================================
    ÁREA DERECHA
==============================================================*/

.area-productos{

    min-width:0;

}


/*==============================================================
    BARRA SUPERIOR
==============================================================*/

.barra-superior{

    display:flex;

    justify-content:space-between;

    align-items:center;

    background:#fff;

    border-radius:16px;

    border:1px solid var(--borde);

    padding:18px 22px;

    margin-bottom:28px;

    box-shadow:0 5px 15px rgba(0,0,0,.04);

}

#totalProductos{

    font-size:17px;

    font-weight:700;

    color:var(--texto);

}

#ordenar{

    min-width:220px;

    height:45px;

    border:1px solid var(--borde);

    border-radius:10px;

    padding:0 15px;

    background:#fff;

    cursor:pointer;

    font-size:15px;

}

#ordenar:focus{

    outline:none;

    border-color:var(--amarillo);

}
/*==============================================================
    GRID DE PRODUCTOS
==============================================================*/

#contenedorProductos{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));

    gap:30px;

}


/*==============================================================
    TARJETA
==============================================================*/

.producto-card{

    background:var(--card);

    border-radius:var(--radio);

    overflow:hidden;

    border:1px solid var(--borde);

    box-shadow:var(--sombra);

    transition:.30s;

    display:flex;

    flex-direction:column;

    height:100%;

}

.producto-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.12);

}


/*==============================================================
    IMAGEN
==============================================================*/

.producto-imagen img{

    width:100%;
    height:100%;
    object-fit:contain;
    padding:15px;
    background:#ffffff;
    transition:.35s;

}

.producto-card:hover .producto-imagen img{

    transform:scale(1.03);

}


/*==============================================================
    BADGE
==============================================================*/

.badge{

    position:absolute;

    top:15px;

    left:15px;

    background:#00B341;

    color:#fff;

    padding:8px 16px;

    border-radius:50px;

    font-size:13px;

    font-weight:700;

    letter-spacing:.3px;

    box-shadow:0 5px 12px rgba(0,0,0,.15);

    z-index:5;

}


/*==============================================================
    INFORMACIÓN
==============================================================*/

.producto-info{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:24px;

}

.producto-info h2{

    font-size:22px;

    color:var(--texto);

    margin-bottom:12px;

    line-height:1.35;

    min-height:60px;

}

.compatibilidad{

    color:var(--gris);

    font-size:15px;

    line-height:24px;

    min-height:55px;

    margin-bottom:18px;

}
/*==============================================================
    PRECIO
==============================================================*/

.precio{

    margin-top:auto;

    margin-bottom:25px;

    font-size:34px;

    font-weight:800;

    color:#111;

    letter-spacing:-1px;

}

.precio::after{

    content:" MXN";

    font-size:15px;

    font-weight:600;

    color:#888;

    letter-spacing:0;

}


/*==============================================================
    BOTONES
==============================================================*/

/*======================================
        BOTÓN WHATSAPP (MÓVIL)
======================================*/

.btn-whatsapp{

    width:100%;

    height:40px;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:0;

    border-radius:10px;

}

.btn-whatsapp i{

    font-size:22px;

}

.btn-publicacion{

    display:none;

}

/*==============================================================
    BOTÓN MERCADO LIBRE
==============================================================*/

.btn-publicacion{

    background:var(--amarillo);

    color:#222;

    margin-bottom:12px;

}

.btn-publicacion:hover{

    background:var(--amarillo-hover);

    transform:translateY(-2px);

}


/*==============================================================
    BOTÓN WHATSAPP
==============================================================*/

.btn-whatsapp{

    background:var(--verde);

    color:#fff;

}

.btn-whatsapp:hover{

    background:var(--verde-hover);

    transform:translateY(-2px);

}


/*==============================================================
    EFECTO HOVER
==============================================================*/

.producto-card:hover .btn-publicacion{

    box-shadow:0 8px 18px rgba(255,210,0,.35);

}

.producto-card:hover .btn-whatsapp{

    box-shadow:0 8px 18px rgba(37,211,102,.30);

}


/*==============================================================
    ICONOS
==============================================================*/

.btn-publicacion i,
.btn-whatsapp i{

    font-size:18px;

}


/*==============================================================
    PLACEHOLDER CUANDO NO HAY IMAGEN
==============================================================*/

.producto-imagen{

    position:relative;
    width:100%;
    height:300px;
    background:#f7f7f7;

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

    overflow:hidden;

    color:#9a9a9a;
    font-size:18px;
    font-weight:600;

}
/*==============================================================
    MENSAJE SIN RESULTADOS
==============================================================*/

.sin-resultados{

    background:#ffffff;

    border:1px solid var(--borde);

    border-radius:var(--radio);

    padding:70px 30px;

    text-align:center;

    box-shadow:var(--sombra);

}

.sin-resultados h2{

    font-size:30px;

    color:var(--texto);

    margin-bottom:15px;

}

.sin-resultados p{

    color:var(--gris);

    font-size:16px;

    max-width:500px;

    margin:auto;

    line-height:28px;

}


/*==============================================================
    ANIMACIONES
==============================================================*/

.producto-card{

    animation:aparecer .45s ease;

}

@keyframes aparecer{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*==============================================================
    SCROLL BONITO
==============================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#efefef;

}

::-webkit-scrollbar-thumb{

    background:#cfcfcf;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#aaaaaa;

}

/*==============================================================
    NUEVOS FILTROS V3
==============================================================*/

.titulo-filtro{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:16px 5px;

    background:#ffffff;

    border:none;

    border-bottom:1px solid #ececec;

    cursor:pointer;

    font-size:17px;

    font-weight:700;

    color:#222;

    transition:.30s;

}

.titulo-filtro:hover{

    color:#ffb800;

}

.titulo-filtro i{

    transition:.35s;

    font-size:14px;

}

.titulo-filtro.activo i{

    transform:rotate(180deg);

}

.contenido-filtro{

    display:none;

    padding:15px 0 10px;

    max-height:300px;

    overflow-y:auto;

}

.contenido-filtro.abierto{

    display:block;

    animation:desplegar .30s ease;

}


/*==============================================================
    BUSCADOR DENTRO DE LOS FILTROS
==============================================================*/

.buscar-filtro{

    width:100%;

    height:42px;

    border:1px solid #e5e5e5;

    border-radius:10px;

    padding:0 15px;

    margin-bottom:15px;

    font-size:14px;

    background:#ffffff;

    transition:.25s;

}

.buscar-filtro:focus{

    outline:none;

    border-color:#FFD200;

    box-shadow:0 0 0 3px rgba(255,210,0,.20);

}


/*==============================================================
    OPCIONES DE FILTROS
==============================================================*/

.opcion-filtro{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:10px 12px;

    border-radius:10px;

    cursor:pointer;

    font-size:15px;

    transition:.25s;

}

.opcion-filtro:hover{

    background:#FFF8D8;

}

.opcion-filtro.activa{

    background:#FFD200;

    color:#222;

    font-weight:700;

}

.opcion-filtro span:last-child{

    color:#888;

    font-size:13px;

}


/*==============================================================
    FILTROS ACTIVOS
==============================================================*/

.filtros-activos{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:25px;

}

.filtro-tag{

    display:flex;

    align-items:center;

    gap:8px;

    background:#FFD200;

    color:#222;

    padding:8px 14px;

    border-radius:50px;

    font-size:14px;

    font-weight:700;

}

.filtro-tag i{

    cursor:pointer;

}


/*==============================================================
    PAGINACIÓN V3
==============================================================*/

.paginacion{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    margin:45px 0;

    flex-wrap:wrap;

}

.paginacion button{

    min-width:42px;

    height:42px;

    border:none;

    border-radius:10px;

    background:#ffffff;

    border:1px solid #e5e5e5;

    cursor:pointer;

    font-weight:700;

    transition:.25s;

}

.paginacion button:hover{

    background:#FFD200;

}

.paginacion button.activa{

    background:#FFD200;

    color:#222;

}


/*==============================================================
    ANIMACIÓN
==============================================================*/

@keyframes desplegar{

    from{

        opacity:0;

        transform:translateY(-8px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}



/*==============================================================
    TABLETS
==============================================================*/

@media(max-width:1100px){

    .contenido-busqueda{

        grid-template-columns:250px 1fr;

        gap:20px;

    }

    #contenedorProductos{

        grid-template-columns:repeat(auto-fill,minmax(280px,1fr));

    }

}


/*==============================================================
    CELULARES
==============================================================*/

@media(max-width:900px){

    .contenido-busqueda{

        grid-template-columns:1fr;

    }

    .panel-filtros{

        position:relative;

        top:0;

        width:100%;

    }

}


@media(max-width:768px){

    /*======================================
            HEADER MÓVIL
    ======================================*/

    header{

        position:sticky;

        top:0;

    }

    .header-contenido{

        display:flex;

        flex-direction:column;

        justify-content:center;

        align-items:center;

        gap:18px;

        padding:18px 0;

        min-height:auto;

    }

    .logo img{

        width:80px;

    }

    nav{

        width:100%;

        display:flex;

        justify-content:center;

        gap:20px;

    }

    .buscador{

        width:100%;

        display:flex;

        flex-direction:column;

    }

    .buscador input{

        width:100%;

        text-align:center;

    }

    .buscador button{

        width:100%;

        margin-top:12px;

    }

    /*======================================
            CONTENIDO
    ======================================*/

      .barra-superior{

        flex-direction:column;

        gap:15px;

        align-items:stretch;

    }

    #ordenar{

        width:100%;

    }

    /*======================================
            PRODUCTOS MÓVIL
    ======================================*/

    #contenedorProductos{

        grid-template-columns:repeat(2,1fr);

        gap:12px;

    }

    .producto-card{

        border-radius:14px;

    }

    .producto-imagen{

        height:145px;

    }

    .producto-info{

        padding:12px;

    }

    .producto-info h2{

        font-size:14px;

        line-height:1.3;

        min-height:38px;

        margin-bottom:6px;

    }

    .compatibilidad{

        font-size:12px;

        line-height:17px;

        min-height:30px;

        margin-bottom:8px;

    }

    .precio{

        font-size:22px;

        margin-bottom:12px;

    }

    .btn-publicacion,
    .btn-whatsapp{

        height:38px;

        font-size:12px;

        gap:6px;

        border-radius:8px;

    }

    .btn-publicacion i,
    .btn-whatsapp i{

        font-size:14px;

    }
    
/*======================================
        BADGE MÓVIL
======================================*/

.badge{

    top:6px;

    left:6px;

    padding:3px 7px;

    font-size:10px;

    font-weight:700;

    border-radius:20px;

    opacity:.85;

}
    
}

@media(max-width:480px){

    .encabezado-resultados h1{

        font-size:28px;

    }

    .panel-filtros{

        padding:20px;

    }

    .producto-imagen{

        height:135px;

    }

    .btn-publicacion,

    .btn-whatsapp{

        height:38px;

        font-size:12px;

    }

}
/* ============================= */
/* CONTENEDOR FILTROS */
/* ============================= */

.contenedor-filtros{

    position:relative;

    width:180px;

}
/* ============================= */
/* BOTÓN FILTROS */
/* ============================= */

.btn-filtros{

    width:180px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 18px;

    background:#ffffff;

    border:1px solid #dddddd;

    border-radius:10px;

    cursor:pointer;

    font-size:16px;

    font-weight:700;

    box-shadow:0 4px 12px rgba(0,0,0,.08);

    margin-bottom:0;

}
.btn-filtros:hover{

    background:#ececec;

}

/* ============================= */
/* PANEL OCULTO */
/* ============================= */

.oculto{

    display:none;

}
/* ============================= */
/* FLECHA FILTROS */
/* ============================= */

.flecha-filtros{

    transition:.30s;

}

.flecha-filtros.abierta{

    transform:rotate(180deg);

}
/*======================================
      BOTÓN FLOTANTE BUSCADOR
======================================*/

.btn-buscar-flotante{

    position:fixed;

    right:20px;

    bottom:25px;

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    background:#ff7a00;

    color:#fff;

    font-size:24px;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 10px 30px rgba(0,0,0,.25);

    cursor:pointer;

    z-index:9999;

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:all .30s ease;

}

.btn-buscar-flotante.visible{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.btn-buscar-flotante:hover{

    transform:scale(1.08);

}

@media(min-width:769px){

    .btn-buscar-flotante{

        display:none;

    }

}