*{
    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
========================== */

.hero{
    padding: 90px 0 80px;
    background: #f8f8f8;
}
.hero-subtitle{
    display: inline-block;
    color: #8B5A2B;
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.hero h1{
    font-size: 3.2rem;
    font-weight: 700;
    color: #222;
    line-height: 1.2;
    margin-bottom: 20px;
}

.hero p{
    font-size: 1.05rem;
    color: #666;
    line-height: 1.8;
    margin-bottom: 35px;
}

.hero-buttons{
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.hero-img{
    width: 100%;
    max-width: 480px;
    height: 400px;
    display: block;
    margin: auto;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0,0,0,.15);

    object-fit: cover;
    object-position: center;
}
@media (max-width: 768px){

    .hero-img{
        height: 300px;
    }

}
/* ==========================
        PRODUCTOS
========================== */

.productos{
   padding: 40px 0 80px;    
    background: #fff;
}

.section-title span{
    color:#8B5A2B;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    font-size:.9rem;
}

.section-title h2{
    margin:15px 0;
    font-size:2.5rem;
    font-weight:700;
    color:#222;
}

.section-title p{
    color:#666;
    max-width:650px;
    margin:auto;
}

.producto-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    border:1px solid #ececec;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    transition:all .35s ease;
    height:100%;
}

.producto-card:hover img{
    transform: scale(1.06);
}

.producto-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    transition: transform .4s ease;
}

.producto-info{
    padding:22px;
}

.producto-info h4{
    font-weight:600;
    margin-bottom:12px;
}

.producto-info a i{
    transition: transform .3s ease;
}
.producto-info a{
    text-decoration: none;
    color: #8B5A2B;
    font-weight: 600;
    transition: color .3s ease;
}
.producto-info a:hover{
    color:#6f4521;
    
}

.producto-card:hover .producto-info a i{
    transform: translateX(6px);
    transform: translateY(-8px);
}
.producto-card:hover{
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0,0,0,.12);
}
.productosSwiper{
    padding-bottom:20px;
}

.swiper-slide{
    height:auto;
}
/* ==========================
        SERVICIOS
========================== */

.servicios{
    padding:80px 0;
    background:#f8f8f8;
}

.servicio-card{
    background:#fff;
    border-radius:18px;
    padding:35px 25px;
    text-align:center;
    border:1px solid #ececec;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    transition:all .35s ease;
    height:100%;
}

.servicio-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 40px rgba(0,0,0,.12);
}

.servicio-card i{
    font-size:3rem;
    color:#8B5A2B;
    margin-bottom:20px;
}

.servicio-card h4{
    font-weight:600;
    margin-bottom:15px;
    color:#222;
}

.servicio-card p{
    color:#666;
    line-height:1.7;
    margin:0;
}
/* ==========================
          MARCAS
========================== */

.marcas{
    padding:80px 0;
    background:#fff;
}

.logos-slider{
    overflow:hidden;
    position:relative;
    width:100%;
    margin-top:50px;
}

.logos-track{
    display:flex;
    align-items:center;
    gap:70px;
    width:max-content;
    animation:scroll 35s linear infinite;
}

.logos-slider:hover .logos-track{
    animation-play-state:paused;
}

.marca-logo{
    width:160px;
    height:80px;
    object-fit:contain;
    filter:grayscale(100%);
    opacity:.7;
    transition:.35s;
}

.marca-logo:hover{
    filter:grayscale(0);
    opacity:1;
    transform:scale(1.08);
}

@keyframes scroll{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}

/* ==========================
          CONTACTO
========================== */

.contacto{
    padding:80px 0;
    background:#f8f8f8;
}

.contacto-info,
.contacto-form{
    background:#fff;
    border-radius:20px;
    padding:40px;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    height:100%;
}

.info-item{
    display:flex;
    gap:20px;
    margin-bottom:30px;
}

.info-item i{
    font-size:1.7rem;
    color:#8B5A2B;
}

.info-item h5{
    margin-bottom:5px;
    font-weight:600;
}

.info-item p{
    margin:0;
    color:#666;
}

.form-control{
    border-radius:12px;
    padding:14px 18px;
    border:1px solid #ddd;
    box-shadow:none;
    transition:.3s;
}

.form-control:focus{
    border-color:#8B5A2B;
    box-shadow:0 0 0 .15rem rgba(139,90,43,.15);
}

textarea.form-control{
    resize:none;
}

.btn-whatsapp{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#25D366;
    color:#fff;
    padding:14px 26px;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.btn-whatsapp:hover{
    background:#1ebe5d;
    color:#fff;
    transform:translateY(-3px);
}
/* ==========================
          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;
}
/* ==========================
      MENSAJES FORMULARIO
========================== */

.mensaje-formulario{
    margin-top:20px;
    padding:14px;
    border-radius:12px;
    text-align:center;
    font-weight:600;
    display:none;
}

.mensaje-formulario.error{
    display:block;
    background:#ffe8e8;
    color:#c62828;
    border:1px solid #ef9a9a;
}

.mensaje-formulario.ok{
    display:block;
    background:#e8f8ec;
    color:#2e7d32;
    border:1px solid #81c784;
}
/* ==========================
      BOTÓN WHATSAPP
========================== */

.whatsapp-float{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    border-radius:50px;

    background:#25D366;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    gap: 12px;

    overflow:hidden;

    text-decoration:none;

    font-size:2rem;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

    transition:all .4s ease;

    z-index:999;

    opacity:0;

    visibility:hidden;

    transform:translateY(30px);

}

.whatsapp-float span{

    max-width:0;

    opacity:0;

    white-space:nowrap;

    overflow:hidden;

    font-size:1rem;

    font-weight:600;

    transition:all .35s ease;

}

.whatsapp-float:hover{

    width:180px;

    justify-content:flex-start;

    padding-left:20px;

    color:white;

}

.whatsapp-float:hover span{

    max-width:100px;

    opacity:1;

}

.whatsapp-float.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}
.whatsapp-float i{

    flex-shrink:0;

}

.whatsapp-float:not(:hover){

    padding:0;

}

.whatsapp-float:hover{

    width:180px;

    justify-content:flex-start;

    padding-left:20px;

}
.whatsapp-float i{
    font-size: 2rem;
    line-height: 1;
}
/* ==========================
      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;

}