/* ========================================= */
/* ESTILOS DE CUADRÍCULA (INVENTARIO/CAJA)  */
/* ========================================= */
.grid-view { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); /* 3 columnas fijas */
    gap: 15px; /* Espacio uniforme */
    padding: 10px;
    margin-top: 15px; 
}

.grid-item { 
    background: var(--surface); 
    border-radius: 20px; 
    padding: 12px; 
    text-align: center; 
    position: relative; 
    display: flex; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: center; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); /* Sombra elegante */
    transition: 0.2s; 
    height: 180px;
}

.grid-img { 
    width: 100%; 
    height: 60px; 
    object-fit: contain; 
    margin-bottom: 8px; 
    border-radius: 8px; 
}

.grid-title { 
    font-size: 10px; 
    font-weight: 700; 
    color: var(--text); 
    margin-top: 5px; 
    line-height: 1.2; 
}

.grid-price { 
    font-size: 12px; 
    color: var(--accent); 
    font-weight: 800; 
    margin-top: auto; 
}

/* Contador personalizado debajo del precio */
.item-counter { 
    font-size: 14px; 
    font-weight: 900; 
    color: var(--text); 
    margin-top: 5px; 
}

.grid-btn { 
    color: white; 
    border: none; 
    border-radius: 50%; 
    width: 28px; 
    height: 28px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 14px; 
    cursor:pointer; 
}

.grid-btn.add { position: absolute; top: 5px; right: 5px; background: var(--accent); }
.grid-btn.sub { position: absolute; top: 5px; left: 5px; background: #FF9F0A; }

.btns-wrapper { 
    display: flex; 
    gap: 8px; 
    margin-bottom: 5px; 
}

.btn-view-toggle.active { 
    background: var(--accent) !important; 
    color: white !important; 
}
