:root{
    --primary-color: #d89000;
    --secondary-color: #212529;
    --accent-color: #25D366;
    --light-color: #f8f9fa;
    --dark-color: #111111;
    --text-color: #333333;
    --heading-font:'League Spartan', sans-serif;
    --body-font:'Inter', sans-serif;

}
/* LOGO */

.site-logo{

    max-height:70px;

    width:auto;

    transition:.3s;

}


.btn{

    font-family:var(--heading-font);

    font-weight:600;

    letter-spacing:.02em;

}

.bg-primary{
  background:var(--primary-color) !important;
  background-color:var(--primary-color) !important;
  border-color:var(--primary-color) !important;
}

.btn-primary{
    background:var(--primary-color);
    border-color:var(--primary-color);
}

.btn-primary:hover{
  background:var(--primary-color);
  background-color:var(--primary-color);
  border-color:var(--primary-color);
  opacity:.9;

}

.section-dark{

    background:var(--dark-color);

    color:#fff;

}

.text-primary{

    color:var(--primary-color)!important;

}




/* HEADER */

.site-header{

    position:sticky;

    top:0;

    z-index:999;

    background:#fff;

    box-shadow:0 2px 20px rgba(0,0,0,.04);

}

/* NAVBAR */

.navbar{

    min-height:90px;

}

/* MENU */

/* NAV LINKS */

.navbar-nav .nav-link{

    position:relative;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:.03em;

    padding:.75rem 1rem;

    transition:.3s;

}

/* LINE */

.navbar-nav .nav-link::after{

    content:'';

    position:absolute;

    left:1rem;

    bottom:.35rem;

    width:0;

    height:2px;

    background:var(--primary-color);

    transition:.3s;

}

/* HOVER */

.navbar-nav .nav-link:hover::after,

.navbar-nav .current-menu-item .nav-link::after{

    width:calc(100% - 2rem);

}





/* CTA BUTTON */

.site-header .btn-primary{

    padding:.7rem 1.4rem;

    border-radius:999px;

}


/* NAVBAR */

.navbar-nav li a{

    color:#111;

    text-decoration:none;

    padding:.5rem 1rem;

    display:block;

    font-weight:500;

    transition:.3s;

}

.navbar-nav li a:hover{

    color:var(--primary-color);

}





/* SECTION SPACING */

.py-6{

    padding:7rem 0;

}

/* LOGO SLIDER */

.logo-slider{

    position:relative;

    overflow:hidden;

    width:100%;

}

.logo-track{

    display:flex;

    align-items:center;

    width:max-content;

    animation:scrollLogos 35s linear infinite;

}

.logo-item{

    width:220px;

    height:120px;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:2rem;

    background:#fff;

    border-radius:1rem;

    margin-right:2rem;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.logo-item img{

    max-width:100%;

    max-height:60px;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.7;

    transition:.3s;

}

.logo-item:hover img{

    filter:none;

    opacity:1;

}

/* ANIMATION */

@keyframes scrollLogos{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

/* CARDS */

.card{

    transition:.3s;

}

.card:hover{

    transform:translateY(-8px);

}

/* HERO */

.min-vh-75{

    min-height:75vh;

}




/* CONTACT FORM 7 */

.wpcf7{

    width:100%;

}

.wpcf7-form-control-wrap{

    display:block;

}

.wpcf7-form-control{

    width:100%;

}

/* INPUTS */

.wpcf7 input.form-control,
.wpcf7 textarea.form-control,
.wpcf7 select.form-select{

    border:1px solid #e5e7eb;

    border-radius:1rem;

    padding:1rem 1.2rem;

    min-height:58px;

    box-shadow:none;

    transition:.3s;

}

/* TEXTAREA */

.wpcf7 textarea.form-control{

    min-height:160px;

    resize:none;

}

/* FOCUS */

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{

    border-color:var(--primary-color);

    box-shadow:0 0 0 .2rem rgba(13,110,253,.15);

    outline:none;

}

/* BUTTON */

.wpcf7 .btn-primary{

    padding:1rem 2rem;

    border-radius:999px;

    font-weight:600;

    transition:.3s;

}

.wpcf7 .btn-primary:hover{

    transform:translateY(-2px);

}

/* VALIDATION */

.wpcf7-not-valid{

    border-color:#dc3545!important;

}

.wpcf7-response-output{

    margin-top:2rem!important;

    border-radius:1rem;

    padding:1rem!important;

}

/* SPINNER */

.wpcf7-spinner{

    margin-top:1rem;

}



.sl-container {
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.sl-product-card a {
    text-decoration: none;
    color: inherit;
}

.sl-product-image img {
    width: 100%;
    height: 420px;
    object-fit: cover;
}

.sl-product-content {
    padding: 20px;
}

.sl-product-content h3 {
    font-size: 20px;
}

.sl-cta-box {
    background: #111;
    color: #fff;
    padding: 70px;
    border-radius: 32px;
    text-align: center;
}

.sl-cta-box h2 {
    font-size: 42px;
    margin-bottom: 20px;
}

.sl-cta-box p {
    max-width: 700px;
    margin: 0 auto 30px;
    opacity: 0.8;
}

@media (max-width: 991px) {

    .sl-categorias-grid,
    .sl-productos-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sl-hero-content h1 {
        font-size: 44px;
    }
}

@media (max-width: 767px) {

    .sl-categorias-grid,
    .sl-productos-grid {
        grid-template-columns: 1fr;
    }

    .sl-hero-productos {
        padding: 80px 0;
    }

    .sl-hero-content h1 {
        font-size: 34px;
    }

    .sl-section-heading h2 {
        font-size: 32px;
    }

    .sl-cta-box {
        padding: 40px 25px;
    }

    .sl-cta-box h2 {
        font-size: 30px;
    }

    .sl-hero-buttons {
        flex-direction: column;
    }
}





.about-hero{

    background:#f5f5f5;

}

.min-vh-75{

    min-height:75vh;

}

.floating-card{

    position:absolute;
    bottom:-40px;
    left:-40px;

    padding:28px 36px;

    min-width:260px;

    z-index:3;

}

@media(max-width:991px){

    .floating-card{

        position:relative;
        bottom:auto;
        left:auto;

        margin-top:20px;

        width:100%;

    }

}







.timeline{

    position:relative;

    max-width:900px;

    margin:0 auto;

}

.timeline:before{

    content:'';

    position:absolute;

    left:24px;
    top:0;

    width:2px;
    height:100%;

    background:#d9d9d9;

}

.timeline-item{

    position:relative;

    padding-left:80px;

    margin-bottom:50px;

}

.timeline-dot{

    position:absolute;

    left:14px;
    top:8px;

    width:22px;
    height:22px;

    border-radius:50%;

    background:var(--primary-color);

    border:5px solid white;

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

    z-index:2;

}

.timeline-year{

    font-weight:700;

    font-size:20px;

    margin-bottom:12px;

}

.timeline-content{

    background:white;

    padding:24px 28px;

}





/* SERVICE HERO */

.service-hero{

    position:relative;

}

/* SERVICE CONTENT */

.service-content{

    font-size:1.1rem;
    line-height:1.9;

}

.service-content h2,
.service-content h3{

    margin-top:3rem;
    margin-bottom:1.5rem;
    font-weight:700;

}

.service-content p{

    color:#6b7280;

}

/* PROCESS */

.process-number{

    width:80px;
    height:80px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 auto 2rem;

    border-radius:50%;

    background:var(--primary-color);

    color:#fff;

    font-size:1.5rem;
    font-weight:700;

}

/* PROCESS BOX */

.process-box{

    padding:2rem;

}

/* CARDS */

.card{

    transition:.3s;

}

.card:hover{

    transform:translateY(-8px);

}









/* CONTACT HERO */

.contact-hero{

    position:relative;

}

/* CONTACT CARD */

.contact-card{

    backdrop-filter:blur(10px);

}

/* INFO CARD */

.info-card{

    transition:.3s;

}

.info-card:hover{

    transform:translateY(-8px);

}

/* ICON */

.info-icon{

    width:70px;
    height:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(13,110,253,.1);

    border-radius:50%;

    font-size:2rem;

}

/* ACCORDION */

.accordion-button{

    padding:1.5rem;

    font-weight:600;

    box-shadow:none!important;

}

.accordion-button:not(.collapsed){

    background:#fff;
    color:#000;

}

.accordion-body{

    padding:1.5rem;
    color:#6b7280;

}





/* SERVICES HERO */

.services-hero{

    position:relative;

}

/* SERVICE CARD */

.service-card{

    transition:.3s;

}

.service-card:hover{

    transform:translateY(-10px);

}

/* PROCESS */

.process-card{

    padding:2rem;

}

.process-number{

    width:80px;
    height:80px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 auto 2rem;

    border-radius:50%;

    background:var(--primary-color);

    color:#fff;

    font-size:1.5rem;
    font-weight:700;

}
