*{
    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;
}
/* ==========================
          FOOTER
========================== */

.footer{
    background:#2b2b2b;
    color:#fff;
    padding:70px 0 30px;
}

.footer-logo{
    width:130px;
}

.footer-text{
    color:#cfcfcf;
    line-height:1.8;
}

.footer h5{
    margin-bottom:20px;
    font-weight:600;
}

.footer-links{
    list-style:none;
    padding:0;
}

.footer-links li{
    margin-bottom:12px;
    color:#cfcfcf;
}

.footer-links a{
    text-decoration:none;
    color:#cfcfcf;
    transition:.3s;
}

.footer-links a:hover{
    color:#d6b07b;
}

.footer-links i{
    color:#8B5A2B;
    margin-right:8px;
}

.footer-social{
    display:flex;
    gap:15px;
}

.footer-social a{
    width:45px;
    height:45px;
    border-radius:50%;
    background:#3a3a3a;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    text-decoration:none;
    font-size:1.2rem;
    transition:.3s;
}

.footer-social a:hover{
    background:#8B5A2B;
    transform:translateY(-4px);
}

.footer hr{
    margin:45px 0 25px;
    border-color:#555;
}

.footer-copy{
    text-align:center;
    color:#bdbdbd;
    font-size:.9rem;
    line-height:1.8;
}
/* ==========================
      NAVBAR SCROLL
========================== */

.navbar{

    transition: all .35s ease;

}

.navbar-brand img{

    transition: all .35s ease;

}

.navbar.scrolled{

    min-height:70px;

    padding:6px 0;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

}

.navbar.scrolled .navbar-brand img{

    height:60px;

}
html {
    scroll-behavior: smooth;
}
section {
    scroll-margin-top: 100px;
}
/*=========================
        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;

}
/*=========================
      HERO
=========================*/

.carrito-hero{

    background:#8B5A2B;

    color:white;

    padding:70px 0;

    text-align:center;

}

.carrito-hero h1{

    font-size:3rem;

    font-weight:700;

}

.carrito-hero p{

    margin-top:15px;

    font-size:1.1rem;

}

/*=========================
      CARRITO
=========================*/

.carrito{

    padding:70px 0;

    background:#f8f9fa;

}

.resumen-carrito{

    background:white;

    border-radius:20px;

    padding:30px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    position:sticky;

    top:120px;

}
/*=========================
      PRODUCTO
=========================*/

.producto-carrito{

    display:flex;

    gap:20px;

    background:white;

    border-radius:18px;

    padding:20px;

    margin-bottom:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.img-carrito{

    width:140px;

    height:140px;

    object-fit:contain;

}

.info-carrito{

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.info-carrito h4{

    font-weight:600;

}

.info-carrito p{

    margin-bottom:8px;

}
.cantidad-carrito{

    display:flex;

    align-items:center;

    gap:12px;

    margin:20px 0;

}

.cantidad-carrito span{

    font-size:1.2rem;

    font-weight:600;

    min-width:30px;

    text-align:center;

}

.subtotal{

    font-size:1.1rem;

    margin-top:15px;

}

.eliminar{

    margin-top:20px;

}
/*=========================
      CARRITO VACÍO
=========================*/

.carrito-vacio{

    background: white;

    border-radius: 20px;

    padding: 80px 40px;

    text-align: center;

    box-shadow: 0 10px 30px rgba(0,0,0,.08);

}

.carrito-vacio i{

    font-size: 5rem;

    color: #8B5A2B;

    margin-bottom: 20px;

}

.carrito-vacio h2{

    font-weight: 700;

    margin-bottom: 15px;

}

.carrito-vacio p{

    color: #666;

    margin-bottom: 30px;

    font-size: 1.1rem;

}
/*=========================
      MARCA
=========================*/

.marca-carrito{

    display:inline-block;

    background:#8B5A2B;

    color:white;

    padding:4px 12px;

    border-radius:50px;

    font-size:.8rem;

    font-weight:600;

    margin-bottom:10px;

}

/*=========================
      STOCK
=========================*/

.stock-carrito{

    color:#198754;

    font-weight:500;

    margin-top:8px;

}

.stock-carrito i{

    margin-right:5px;

}
.codigo-carrito{

    color:#777;

    font-size:.95rem;

    margin-bottom:8px;

}
/* ==========================
   BOTÓN SEGUIR COMPRANDO
========================== */

.btn-seguir{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    padding:12px;

    border:2px solid #8B5A2B;

    border-radius:50px;

    color:#8B5A2B;

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.btn-seguir:hover{

    background:#8B5A2B;

    color:white;

}
/* ==========================
   BOTÓN VACIAR CARRITO
========================== */

#vaciar-carrito{

    background:#dc3545;

    border:none;

    color:white;

    font-weight:600;

    border-radius:50px;

    padding:12px;

    transition:.3s;

}

#vaciar-carrito:hover{

    background:#bb2d3b;

    transform:translateY(-2px);

    box-shadow:0 10px 20px rgba(220,53,69,.25);

}
/* ==========================
   BOTÓN PAGAR EN EL LOCAL
========================== */

.btn-local{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    padding:12px;

    border:2px solid #6c757d;

    border-radius:50px;

    background:white;

    color:#6c757d;

    font-weight:600;

    transition:.3s;

}

.btn-local:hover{

    background:#6c757d;

    color:white;

    transform:translateY(-2px);

    box-shadow:0 10px 20px rgba(108,117,125,.25);

}

.btn-local i{

    font-size:1.1rem;

}