/*======================================
PRODUCTOS.CSS
Diseño moderno para catálogo
======================================*/

/* VARIABLES */

:root{

--prod-primary:#0f172a;

--prod-secondary:#334155;

--prod-accent:#2563eb;

--prod-light:#f8fafc;

--prod-border:#e2e8f0;

--prod-text:#475569;

--prod-white:#ffffff;

--prod-radius:18px;

--prod-shadow:0 10px 30px rgba(0,0,0,.08);

}

/*======================================
SECCION
======================================*/

.prod-section{

padding:70px 0;

position:relative;

}

.prod-container{

max-width:1200px;

margin:auto;

padding:0 15px;

}

/*======================================
TITULOS
======================================*/

.prod-title{

font-size:2.3rem;

font-weight:700;

color:#fff;

margin-bottom:10px;

text-align:center;

}

.prod-subtitle{

font-size:1rem;

color:rgba(255,255,255,.9);

text-align:center;

margin-bottom:35px;

}

/*======================================
BLOQUE FILTROS
======================================*/

.prod-filter{

padding:25px;

border-radius:var(--prod-radius);

background:rgba(255,255,255,.92);

backdrop-filter:blur(12px);

-webkit-backdrop-filter:blur(12px);

box-shadow:var(--prod-shadow);

margin-bottom:35px;

}

/*======================================
BUSCADOR
======================================*/

.prod-search{

position:relative;

margin-bottom:20px;

}

.prod-search input{

width:100%;

height:58px;

border:none;

outline:none;

background:var(--prod-white);

border-radius:50px;

padding:0 25px;

font-size:16px;

box-shadow:0 5px 20px rgba(0,0,0,.06);

transition:.3s;

}

.prod-search input:focus{

box-shadow:0 10px 30px rgba(37,99,235,.20);

}

/*======================================
CATEGORIAS
======================================*/

.prod-categories{

display:flex;

flex-wrap:wrap;

justify-content:center;

gap:10px;

}

.prod-chip{

border:none;

background:#f8fafc;

color:#475569;

padding:8px 16px;

border-radius:50px;

font-size:14px;

font-weight:500;

cursor:pointer;

transition:all .25s ease;

border:1px solid #e2e8f0;

}
.prod-chip:hover{

background:#2563eb;

color:#fff;

border-color:#2563eb;

transform:translateY(-2px);

}

.prod-chip.active{

background:#0f172a;

color:#fff;

border-color:#0f172a;

}
/*======================================
BOTON LIMPIAR
======================================*/

.prod-clear{

margin-top:20px;

display:flex;

justify-content:center;

}

.prod-clear button{

border:none;

background:transparent;

color:var(--prod-accent);

font-weight:600;

cursor:pointer;

transition:.3s;

}

.prod-clear button:hover{

opacity:.7;

}

/*======================================
RESULTADOS
======================================*/

.prod-results{

margin-top:30px;

}

/*======================================
LOADER
======================================*/

.prod-loader{

text-align:center;

padding:20px;

}

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

.prod-fade{

animation:prodFade .35s;

}

@keyframes prodFade{

from{

opacity:0;

transform:translateY(10px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*======================================
RESPONSIVE
======================================*/

@media(max-width:992px){

.prod-title{

font-size:2rem;

}

.prod-filter{

padding:20px;

}

}

@media(max-width:768px){

.prod-section{

padding:50px 0;

}

.prod-title{

font-size:1.7rem;

}

.prod-subtitle{

font-size:.95rem;

}

.prod-search input{

height:52px;

font-size:15px;

}

.prod-chip{

padding:9px 14px;

font-size:13px;

}

}

@media(max-width:576px){

.prod-filter{

padding:15px;

}

.prod-categories{

display:flex;

flex-wrap:wrap;

justify-content:flex-start;

gap:10px;

}

.prod-chip{

flex:none;

padding:8px 14px;

font-size:13px;

}

}


/*==========================
BUSCADOR
==========================*/

.prod-search{
    position: relative;
    width: 100%;
}

.prod-search input{
    width: 100%;
    height: 58px;
    padding: 0 55px 0 20px;
    border: none;
    border-radius: 15px;
    outline: none;
    font-size: 16px;
}

/*==========================
BOTON BORRAR
==========================*/

#prod-clear-search{

    position:absolute;

    top:50%;

    right:18px;

    transform:translateY(-50%);

    width:30px;

    height:30px;

    border-radius:50%;

    background:#e5e7eb;

    color:#64748b;

    font-size:15px;

    font-weight:bold;

    display:none;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    transition:all .25s ease;

    user-select:none;

}

#prod-clear-search:hover{

    background:#ef4444;

    color:#fff;

    transform:translateY(-50%) scale(1.1);

}

#prod-clear-search:active{

    transform:translateY(-50%) scale(.95);

}



/*=========================================
TARJETAS PRODUCTOS
=========================================*/

.prod-card{

border:none;

border-radius:18px;

overflow:hidden;

background:#fff;

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

transition:all .30s ease;

height:100%;

}

.prod-card:hover{

transform:translateY(-8px);

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

}

/*========================*/

.prod-card-image{

overflow:hidden;

background:#f8fafc;

}

.prod-card-image img{

width:100%;

height:220px;

object-fit:cover;

transition:.4s;

}

.prod-card:hover .prod-card-image img{

transform:scale(1.05);

}

/*========================*/

.prod-card-body{

padding:20px;

display:flex;

flex-direction:column;

height:100%;

}

/*========================*/

.prod-card-title{

font-size:1.2rem;

font-weight:700;

color:#1e293b;

margin-bottom:12px;

line-height:1.3;

min-height:55px;

}

/*========================*/

.prod-card-text{

color:#64748b;

font-size:.95rem;

line-height:1.5;

flex-grow:1;

margin-bottom:20px;

}

/*========================*/

.prod-card-btn{

display:inline-block;

width:100%;

padding:12px;

border:none;

border-radius:12px;

background:#2563eb;

color:white;

font-weight:600;

text-align:center;

text-decoration:none;

transition:.25s;

}

.prod-card-btn:hover{

background:#1d4ed8;

color:white;

text-decoration:none;

}

/*========================*/

@media(max-width:768px){

.prod-card-image img{

height:180px;

}

.prod-card-title{

font-size:1.05rem;

min-height:auto;

}

}



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

#filtros-activos{

margin:15px 0;

display:flex;

flex-wrap:wrap;

gap:10px;

}

/* Bootstrap usa col-6, anulamos un poco */

#filtros-activos .col-6{

padding:0;

width:auto;

max-width:none;

flex:0 0 auto;

}

/* ocultamos el input */

.subscribe2{

border:none !important;

background:#f8fafc !important;

border-radius:50px !important;

padding:10px 45px 10px 18px !important;

font-size:14px !important;

font-weight:600;

color:#475569 !important;

width:auto !important;

min-width:120px;

box-shadow:none !important;

cursor:default;

}

/* botón cerrar */

.btn-subscribe2{

position:absolute;

right:8px;

top:40%;

transform:translateY(-50%);

width:26px;

height:26px;

border:none;

border-radius:50%;

background:#e2e8f0 !important;

display:flex;

align-items:center;

justify-content:center;

cursor:pointer;

transition:.25s;

padding:0;

}

.btn-subscribe2:hover{

background:#ef4444 !important;

}

.btn-subscribe2 i{

font-size:11px;

color:#64748b !important;

transition:.25s;

}

.btn-subscribe2:hover i{

color:white !important;

}

/* contenedor */

#filtros-activos .col-6{

position:relative;

}

.btn-subscribe2 .material-icons,
.btn-subscribe2 .material-icons-outlined{
    font-size:18px;
    line-height:1;
}


/*=================================
TARJETAS
=================================*/

.prod-card{

background:#fff;

border-radius:18px;

overflow:hidden;

height:100%;

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

transition:.30s;

display:flex;

flex-direction:column;

}

.prod-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(0,0,0,.15);

}

/*========================*/

.prod-card-image{

overflow:hidden;

}

.prod-card-image img{

width:100%;

height:220px;

object-fit:cover;

transition:.5s;

display:block;

}

.prod-card:hover .prod-card-image img{

transform:scale(1.06);

}

/*========================*/

.prod-card-content{

padding:20px;

display:flex;

flex-direction:column;

flex-grow:1;

}

/*========================*/

.prod-card-title{

font-size:20px;

font-weight:700;

color:#1e293b;

margin-bottom:12px;

line-height:1.3;

}

/*========================*/

.prod-card-description{

font-size:15px;

line-height:1.6;

color:#64748b;

flex-grow:1;

margin-bottom:20px;

}

/*========================*/

.prod-card-button{

display:flex;

align-items:center;

justify-content:center;

gap:8px;

padding:12px;

background:#2563eb;

border-radius:12px;

color:white;

text-decoration:none;

font-weight:600;

transition:.30s;

}

.prod-card-button:hover{

background:#1d4ed8;

color:white;

text-decoration:none;

}

.prod-card-button .material-icons{

font-size:18px;

transition:.30s;

}

.prod-card-button:hover .material-icons{

transform:translateX(4px);

}

/*========================*/

@media(max-width:768px){

.prod-card-image img{

height:180px;

}

.prod-card-content{

padding:15px;

}

.prod-card-title{

font-size:18px;

}

.prod-card-description{

font-size:14px;

}

}