*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;
}

body{
    font-family: "Poppins", sans-serif;
    background-color: #ffffff;
    color: #333;
}

/* ===========================
   NAVBAR
=========================== */

.navbar{
    background: #fff;
    border-bottom: 1px solid #ececec;
    min-height: 85px;
    padding: 12px 0;
    box-shadow: 0 5px 18px rgba(0,0,0,.06);
}

.navbar-brand img{
    transition: transform .3s ease;
}

.navbar-brand:hover img{
    transform: scale(1.04);
}

.navbar-nav{
    gap: 12px;
}

.navbar-nav .nav-link{
    position: relative;
    font-size: 1rem;
    font-weight: 600;
    color: #2d2d2d;
    margin: 0 10px;
    padding: 8px 4px;
    letter-spacing: .3px;
    transition: color .3s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
    color: #8B5A2B;
}

.navbar-nav .nav-link::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #8B5A2B;
    transition: width .3s ease;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after{
    width: 100%;
}

/* ===========================
   BOTÓN
=========================== */

.btn-presupuesto{
    background: #8B5A2B;
    color: white;
    padding: 12px 28px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: .95rem;
    box-shadow: 0 8px 20px rgba(139,90,43,.18);
    transition: all .3s ease;
    cursor:pointer;
}

.btn-presupuesto:hover{
    background: #6f4521;
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(139,90,43,.28);
}
/* ===========================
   BARRA SUPERIOR
=========================== */

.top-bar{
    background: #5b3a1d;
    color: white;
    font-size: .9rem;
    padding: 8px 0;
}

.top-bar .container{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-contact{
    display: flex;
    align-items: center;
}

.top-contact i{
    margin-right: 6px;
}

.top-social{
    display: flex;
    gap: 18px;
    font-size: 1rem;
}

.top-social i{
    cursor: pointer;
    transition: .3s;
}

.top-social i:hover{
    color: #d6b07b;
}
header{
    position: sticky;
    top: 0;
    z-index: 1000;
}


/* ===========================
   LOGIN
=========================== */

.login-link{
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #2d2d2d;
    font-weight: 500;
    transition: .3s;
}

.login-link i{
    font-size: 1.35rem;
}

.login-link:hover{
    color: #8B5A2B;
}/* ==========================
      HERO PRODUCTOS
========================== */

.productos-hero{

    background: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)),
                url("../img/hero.jpg");

    background-size: cover;
    background-position: center;

    padding: 50px 0;

    color: white;

    text-align: center;

}

.productos-titulo h1{

    font-size: 3rem;

    font-weight: 700;

}

.productos-titulo p{

    font-size: 1.15rem;

    margin-top: 20px;

}

/* ==========================
      CATÁLOGO
========================== */

.catalogo{

    padding: 80px 0;

    background: #f8f9fa;

}

.filtros{

    background: white;

    padding: 25px;

    border-radius: 15px;

    box-shadow: 0 10px 25px rgba(0,0,0,.08);

    position: sticky;

    top: 100px;

}

.filtros h4{

    margin-bottom: 20px;

    font-weight: 600;

}

.list-group-item{

    border: none;

    border-radius: 10px !important;

    margin-bottom: 8px;

}

.list-group-item:hover{

    background: #8B5A2B;

    color: white;

}
/* ==========================
        TARJETAS
========================== */

.producto-card{

    border:none;

    border-radius:18px;

    overflow:hidden;

    background:#fff;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.producto-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.producto-card img{

    height:240px;

    width:100%;

    object-fit:cover;

}

.producto-info{

    padding:20px;

}

.producto-info h5{

    font-weight:600;

    margin-bottom:10px;

}

.precio{

    font-size:1.5rem;

    font-weight:700;

    color:#8B5A2B;

}

.stock{

    color:#28a745;

    font-weight:500;

}

.producto-botones{

    display:flex;

    gap:10px;

    margin-top:20px;

}

.btn-detalle{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:12px 20px;

    border:2px solid #8B5A2B;

    background:white;

    color:#8B5A2B;

    border-radius:10px;

    font-weight:600;

    text-decoration:none;

}

.btn-detalle:hover{

    background:#8B5A2B;

    color:white;

}

.btn-carrito{

    flex:1;

    background:#8B5A2B;

    color:white;

    border-radius:10px;

    font-weight:600;

}

.btn-carrito:hover{

    background:#6d421f;

    color:white;

}
.list-group-item.active{
    background:#8B5A2B;
    color:white;
    border:none;
}
/*=========================
        CARRITO
=========================*/

.carrito-link{

    position: relative;

    color:#333;

    text-decoration:none;

    font-size:1.7rem;

    transition:.3s;

}

.carrito-link:hover{

    color:#8B5A2B;

}

#contador-carrito{

    position:absolute;

    top:-8px;

    right:-10px;

    background:#dc3545;

    color:white;

    width:22px;

    height:22px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:.75rem;

    font-weight:700;

}
/* ==========================
   LISTA DE CATEGORÍAS
========================== */

#lista-categorias {
    max-height: 350px;
    overflow-y: auto;
    padding-right: 6px;
}

/* Barra de desplazamiento */
#lista-categorias::-webkit-scrollbar {
    width: 7px;
}

#lista-categorias::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

#lista-categorias::-webkit-scrollbar-thumb {
    background: #8B5A2B;
    border-radius: 10px;
}

#lista-categorias::-webkit-scrollbar-thumb:hover {
    background: #6f451f;
}