/* ==========================================================================
   Custom theme refresh
   Capa adicional que moderniza tipografia, botones, tarjetas y responsive
   sin tocar el bootstrap.css compilado (evita recompilar los .less).
   ========================================================================== */

:root {
    --brand: #e60000;
    --brand-dark: #b80000;
    --ink: #1a1a1a;
    --ink-soft: #5a5a5a;
    --surface: #ffffff;
    --surface-alt: #f6f6f6;
    --radius: 8px;
    --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.10);
    --ease: cubic-bezier(.4, 0, .2, 1);
}

/* ---------- Base ---------- */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

img.img-responsive,
.product-thumb img,
.post2-thumb img {
    max-width: 100%;
    height: auto;
}

/* ---------- Header / navegacion ---------- */
.simple-header.for-sticky > .menu {
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.08);
}

.menu nav > ul > li > a {
    transition: color .25s var(--ease);
}

.simple-header.for-sticky.sticky {
    box-shadow: var(--shadow-md);
}

/* ---------- Botones ---------- */
.flat-btn,
.btn-cta {
    display: inline-block;
    border-radius: var(--radius);
    letter-spacing: .3px;
    transition: transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease);
    box-shadow: var(--shadow-sm);
}

.flat-btn:hover,
.btn-cta:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn-cta {
    padding: 14px 34px;
    background-color: var(--brand);
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
}

.btn-cta:hover {
    background-color: var(--brand-dark);
    color: #ffffff;
}

/* ---------- Encabezados de seccion ---------- */
.heading1 > h2,
.heading2 h3,
.heading3 > h3,
.heading4 > h2 {
    letter-spacing: .4px;
}

.heading4 > h2 {
    position: relative;
}

/* ---------- Tarjetas / bloques con hover ---------- */
.step,
.product-box,
.post-style2,
.service,
.square-services {
    transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}

.step:hover,
.product-box:hover,
.post-style2:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.product-box,
.post-style2 {
    border-radius: var(--radius);
    overflow: hidden;
}

/* ---------- Footer ---------- */
footer .about_widget > span > a {
    color: inherit;
    transition: color .25s var(--ease);
}

footer .about_widget > span > a:hover {
    color: var(--brand);
}

.links_widget li > a {
    transition: color .25s var(--ease), padding-left .25s var(--ease);
}

.links_widget li > a:hover {
    padding-left: 4px;
}

/* ---------- WhatsApp flotante ---------- */
#call2ation {
    transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .block {
        padding: 56px 0;
    }

    .heading4 > h2 {
        font-size: 30px;
    }
}

@media (max-width: 767px) {
    .block {
        padding: 44px 0;
    }

    .heading1 > h2 {
        font-size: 18px;
    }

    .heading3 > h3 {
        font-size: 22px;
    }

    .heading4 {
        margin-bottom: 36px;
        padding-bottom: 30px;
    }

    .heading4 > h2 {
        font-size: 24px;
    }

    .btn-cta {
        padding: 12px 26px;
        font-size: 16px;
    }

    #call2ation {
        width: 64px;
        height: 64px;
        left: 12px;
        bottom: 20px;
    }

    #call2ation .icon-box i,
    #call2ation svg {
        font-size: 32px;
    }
}

@media (max-width: 480px) {
    .who-we-are-sec h3 {
        font-size: 22px;
    }
}
