/* ============================================================
   NVA BRAND OVERRIDE — Nueva Visión del Agro
   Palette: Greens dominant, earthy tones, warm & technical
   Fonts: Montserrat (body) + Nunito (headings/accent)
   ============================================================ */

/* --- Palette from brand dossier ---
   Verde Vívido:      #009E3D
   Verde Amarillento: #95C11F
   Verde Oliva:       #DEDC00
   Celeste Vívido:    #009FE3
   Amarillo:          #FFE500
   Naranja:           #F39200
   Rosa Vívido:       #E50071
   Rojo Vívido:       #E30613
   ---------------------------------------- */

:root {
    /* Override template tokens */
    --thm-font: "Montserrat", sans-serif;
    --heading-font: "Nunito", sans-serif;
    --thm-base: #95C11F;          /* Verde Amarillento — accent */
    --thm-base-rgb: 149, 193, 31;
    --thm-primary: #009E3D;       /* Verde Vívido — primary brand */
    --thm-primary-rgb: 0, 158, 61;
    --thm-black: #2B3A2E;         /* Dark forest — text */
    --thm-black-rgb: 43, 58, 46;
    --thm-gray: #F0F4EC;          /* Soft green-gray bg */

    /* Extended NVA palette */
    --nva-green-deep: #006B2D;
    --nva-green-mid: #009E3D;
    --nva-green-light: #95C11F;
    --nva-green-lime: #DEDC00;
    --nva-earth-warm: #6B5B3E;
    --nva-earth-light: #F5F0E9;
    --nva-sky: #009FE3;
    --nva-amber: #F39200;
    --nva-yellow: #FFE500;

    /* ✦ NEW — Design-system tokens */
    --nva-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --nva-shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
    --nva-shadow-md: 0 8px 30px rgba(0,0,0,0.12);
    --nva-shadow-lg: 0 16px 50px rgba(0,0,0,0.16);
    --nva-radius: 16px;
    --nva-section-padding: 120px 0;
}

/* --- Typography overrides --- */
body {
    font-family: "Montserrat", sans-serif;
    color: #4A5548;
    font-size: 16px;
    line-height: 1.75;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Nunito", sans-serif;
    text-transform: none;
    font-weight: 800;
    color: var(--thm-black);
}

/* Block title overrides */
.block-title p {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: var(--nva-green-mid);
    font-size: 13px;
    /* ✦ gradient text on label */
    background: linear-gradient(135deg, #009E3D, #95C11F);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.block-title h3 {
    font-family: "Nunito", sans-serif;
    font-weight: 800;
    text-transform: none;
    font-size: 48px;
    line-height: 1.15;
    color: var(--thm-black);
}

@media (max-width: 767px) {
    .block-title h3 {
        font-size: 32px;
    }
}

/* --- Button overrides --- */
.thm-btn {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 18px 42px;
    border-radius: 50px;
    background: linear-gradient(135deg, var(--nva-green-mid), var(--nva-green-light));
    color: #ffffff;
    box-shadow: 0 4px 20px rgba(0, 158, 61, 0.25);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

/* ✦ Shimmer / shine effect on hover */
.thm-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(255,255,255,0.35) 50%,
        transparent 100%
    );
    transition: left 0.6s ease;
    pointer-events: none;
}
.thm-btn:hover::after {
    left: 120%;
}

.thm-btn:hover {
    background: linear-gradient(135deg, var(--nva-green-deep), var(--nva-green-mid));
    color: #ffffff;
    box-shadow: 0 8px 30px rgba(0, 158, 61, 0.35);
    transform: translateY(-2px);
}

/* Secondary button style - Overridden to match primary green gradient style */
.thm-btn.thm-btn--secondary {
    background: linear-gradient(135deg, var(--nva-green-mid), var(--nva-green-light)) !important;
    border: none !important;
    color: #ffffff !important;
    box-shadow: 0 4px 20px rgba(0, 158, 61, 0.25) !important;
}
.thm-btn.thm-btn--secondary:hover {
    background: linear-gradient(135deg, var(--nva-green-deep), var(--nva-green-mid)) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 30px rgba(0, 158, 61, 0.35) !important;
    transform: translateY(-2px);
}


/* --- Banner / Hero overrides --- */
.banner-section .slide-item .inner .sub-title {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
}

.banner-section .slide-item .inner h1 {
    font-family: "Nunito", sans-serif !important;
    font-weight: 900;
    text-transform: none;
    line-height: 1.08;
    text-shadow: 0 2px 30px rgba(0,0,0,0.35);
}

/* --- Topbar & Nav overrides --- */
.topbar-one {
    background-color: #ffffff;
    border-bottom: 3px solid var(--nva-green-mid);
}

.main-nav__header-one {
    background: #ffffff;
}

.main-nav__main-navigation .main-nav__navigation-box > li > a {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--thm-black);
    padding: 0 !important;          /* Remove 20px side padding from style.css */
}

.main-nav__main-navigation .main-nav__navigation-box > li.current > a,
.main-nav__main-navigation .main-nav__navigation-box > li > a:hover {
    color: var(--nva-green-mid);
}

/* Kill the green background badge on current/hover item */
.main-nav__main-navigation .main-nav__navigation-box > li > a:before {
    display: none !important;       /* Remove pill background from style.css */
}

/* Kill the huge 45px gap between items from style.css */
.main-nav__main-navigation .main-nav__navigation-box > li + li {
    margin-left: 0 !important;
}

/* --- About section overrides --- */
.about_one {
    padding: 120px 0 100px;
}

.about_content .text {
    font-size: 17px;
    line-height: 1.8;
    color: #5A6B5D;
    font-style: italic;
    border-left: 4px solid var(--nva-green-light);
    padding-left: 20px;
}

/* ✦ Green-tinted background for bottom_text */
.about_content .bottom_text {
    background: rgba(149,193,31,0.07);
    border-radius: 12px;
    padding: 18px 22px;
    text-align: center;
}
.about_content .bottom_text p {
    font-size: 15px;
    line-height: 1.7;
    color: #5A6B5D;
    font-style: italic;
    margin: 0;
}

/* Centre the CTA button block */
.about1__button-block {
    text-align: center;
    margin-top: 28px;
}

.about1_icon_single p {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
}

.about1_icon .icon-harvest,
.about1_icon .icon-temperature,
.about1_icon .icon-focus {
    color: var(--nva-green-mid);
}

.about1_icon-box .circle {
    background: var(--nva-green-mid);
}

/* ✦ Zoom wrapper to prevent cutting off absolute overlapping elements (like about_img_2) */
.nva-img-zoom-wrap {
    overflow: hidden;
    position: relative;
    border-radius: var(--nva-radius);
}
.nva-img-zoom-wrap img {
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
}
.nva-img-zoom-wrap:hover img {
    transform: scale(1.05);
}

.about1_img {
    position: relative;
}

/* --- Service section overrides --- */
.service_one {
    background: linear-gradient(180deg, var(--thm-gray) 0%, #ffffff 100%);
    padding: 120px 0;
    border-top: 3px solid var(--nva-green-light);
}

.service_1_single .content h3 {
    font-family: "Nunito", sans-serif;
    text-transform: none;
    font-weight: 800;
    font-size: 22px;
}

.service_1_single .content p {
    font-size: 14px;
    line-height: 1.7;
}

.service_1_single .hover_box a {
    background: var(--nva-green-mid);
}

/* ✦ Service card micro-animation */
.service_1_single {
    transition: var(--nva-transition);
    border-bottom: 3px solid transparent;
}
.service_1_single:hover {
    transform: translateY(-10px);
    border-bottom-color: var(--nva-green-light);
    box-shadow: var(--nva-shadow-md);
}

/* --- Featured section --- */
.single_featured_box span {
    font-family: "Nunito", sans-serif;
    font-weight: 700;
    text-transform: none;
    font-size: 28px;
    letter-spacing: 0;
}

/* --- Video section --- */
.video-one {
    position: relative;
}
.video-one::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0,107,45,0.75), rgba(0,158,61,0.55));
    z-index: 1;
}
.video-one .container {
    position: relative;
    z-index: 2;
}
.video-one p {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: 14px;
}
.video-one h3 {
    font-family: "Nunito", sans-serif;
    text-transform: none;
    font-weight: 800;
    font-size: 48px;
    line-height: 1.15;
}

/* --- Testimonials override --- */
.testimonials-one {
    padding: 120px 0;
}

.testimonials_one_left .block-title p,
.testimonials_one_left .block-title h3 {
    font-family: "Nunito", sans-serif;
    text-transform: none;
}

.testimonials_one_single_item .text p {
    font-size: 17px;
    line-height: 1.75;
    font-style: italic;
    color: #5A6B5D;
}

/* ✦ Green accent border on testimonial cards */
.testimonials_one_single_item {
    border-left: 4px solid var(--nva-green-light);
    padding-left: 25px;
}

.client_title h4 {
    font-family: "Nunito", sans-serif;
    text-transform: none;
    font-weight: 800;
}

.client_title p {
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    font-size: 13px;
    color: var(--nva-green-mid);
}

/* --- Benefits section --- */
.benefits {
    background: var(--thm-black);
    margin-top: -120px !important;
}
@media (max-width: 991px) {
    .benefits {
        margin-top: -160px !important;
    }
}
.benefits .block-title p {
    color: var(--nva-green-light);
}
.benefits .block-title h3 {
    color: #ffffff;
    font-family: "Nunito", sans-serif;
    text-transform: none;
}

.benefits_text p {
    color: rgba(255,255,255,0.8);
    font-size: 17px;
    line-height: 1.8;
}

.benefits_single h3 {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    text-transform: none;
    font-size: 16px;
}

.benefits_single .icon-box span {
    color: var(--nva-green-light);
}

/* ✦ Benefits icon hover */
.benefits_single .icon-box {
    transition: var(--nva-transition);
}
.benefits_single:hover .icon-box {
    transform: rotate(10deg) scale(1.1);
}

/* --- Projects section --- */
.recent-project {
    background: #ffffff;
    padding-bottom: 0px !important;
}

.recent_project_single .project_content h3 {
    font-family: "Nunito", sans-serif;
    text-transform: none;
    font-weight: 800;
}

/* ✦ Project image hover zoom */
.recent_project_single .project_img_box {
    overflow: hidden;
}
.recent_project_single .project_img_box img {
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.recent_project_single .project_img_box img:hover {
    transform: scale(1.08);
}

/* --- Product / Experience section --- */
.product-one {
    padding: 120px 0;
}

.growing_product .block-title h3 {
    font-family: "Nunito", sans-serif;
    text-transform: none;
}

.growing_product_text p {
    font-size: 16px;
    line-height: 1.8;
}

/* ✦ Experience box — glassmorphism */
.experience_box {
    background: rgba(0,107,45,0.82);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: var(--nva-radius);
}

.experience_box h2 {
    font-family: "Nunito", sans-serif;
    text-transform: none;
    color: #ffffff !important;      /* White text */
    font-size: 38px !important;     /* Slightly smaller */
}

.experience_box p {
    color: rgba(255,255,255,0.85) !important;
    font-size: 13px !important;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.progress-box .text {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 14px;
}

/* ✦ Progress bar — smooth CSS transition */
.bar-fill {
    background: linear-gradient(90deg, var(--nva-green-mid), var(--nva-green-light)) !important;
    transition: width 1.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Fix % counter clipping: add top padding so the floating number (top:-43px) has room */
.progress-levels .progress-box {
    padding-top: 50px !important;   /* Room for the floating % above the bar */
    margin-bottom: 20px !important;
}

.progress-levels .progress-box .inner .count-text,
.progress-levels .progress-box .inner .percent {
    color: var(--thm-black) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

/* ✦ Product image container wrapper (no overflow hidden to keep experience badge visible) */
.product_img {
    position: relative;
}

/* --- Blog / Articles — white background --- */
.blog-one {
    background: #ffffff;
    padding: 120px 0;
}

/* Equal-height cards via flex column */
.blog_one_single {
    background: #ffffff;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 18px rgba(43, 58, 46, 0.06) !important;
    transition: transform 0.35s ease, box-shadow 0.35s ease !important;
    border-top: none !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;       /* Equal height across the row */
}

.blog_one_single:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 32px rgba(43, 58, 46, 0.11) !important;
}

/* Make wow col wrappers full height */
.blog-one .col-xl-4,
.blog-one .col-lg-4 {
    display: flex !important;
    flex-direction: column !important;
}

.blog-one__content {
    text-align: left !important;
    padding: 24px 28px 28px !important;
    margin: 0 !important;
    border-radius: 0 0 14px 14px !important;
    border: none !important;           /* No border — shadow handles depth */
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Push 'Leer Más' to the bottom of every card */
.blog-one__content .read_more_btn {
    margin-top: auto !important;
}

/* No border on .blog-one__content — shadow handles card depth */


/* ✦ Modern left-aligned pill badge for Date */
.blog_image {
    position: relative;
    overflow: hidden;
}
.blog_image img {
    transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.blog_one_single:hover .blog_image img {
    transform: scale(1.05) !important;
    opacity: 0.95 !important;
}

.blog_one_date_box {
    position: absolute;
    top: 15px !important;
    left: 15px !important;
    right: auto !important;
    bottom: auto !important; /* Prevents vertical stretching when combined with bottom styles in subpages */
    margin: 0 !important;
    height: auto !important;
    width: auto !important;
    padding: 6px 14px !important;
    background: var(--nva-green-light) !important;
    border-radius: 30px !important; /* Rounded pill badge */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
    z-index: 2;
}

.blog_one_date_box p {
    line-height: 1.2 !important;
    font-size: 12px !important;
    color: var(--thm-black) !important;
    font-weight: 700 !important;
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase !important;
}

/* ✦ Metadata bar (Author, Comments) */
.blog-one__meta {
    margin: 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
}
.blog-one__meta li {
    display: inline-flex !important;
    align-items: center !important;
}
.blog-one__meta li + li {
    margin-left: 0 !important;
}
.blog-one__meta li a {
    color: #7b8f7e !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    display: flex !important;
    align-items: center !important;
}
.blog-one__meta li i {
    color: var(--nva-green-mid) !important;
    margin-right: 6px !important;
    font-size: 14px !important;
}
.blog-one__meta li a:hover {
    color: var(--nva-green-deep) !important;
}

/* ✦ Blog Card Title */
.blog_one_single h3 {
    margin: 0 0 12px !important;
    line-height: 1.4 !important;
}
.blog_one_single h3 a {
    font-family: "Nunito", sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--thm-black) !important;
    text-transform: none !important;
    transition: color 0.3s ease !important;
}
.blog_one_single h3 a:hover {
    color: var(--nva-green-deep) !important;
}

/* ✦ Blog Card Text */
.blog_one_text {
    margin: 0 0 20px !important;
}
.blog_one_text p,
.blog-one .blog_one_single .blog_one_text p,
.blog-one .blog_one_single .blog-one__content .blog_one_text p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #556b58 !important;
    font-style: normal !important;
}

/* Garantizar que todas las tarjetas blog sean visualmente idénticas */
.blog-one .col-xl-4,
.blog-one .col-lg-4 {
    display: flex !important;
    flex-direction: column !important;
}
.blog-one .blog_one_single {
    background: #ffffff !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 18px rgba(43, 58, 46, 0.08) !important;
    flex: 1 !important;
    border-top: 4px solid var(--nva-green-light) !important;
}

/* Card de texto directo (sin imagen superior) */
.blog_one_single > .blog-one__content {
    padding: 30px 28px 28px !important;
    border-radius: 14px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* ✦ Read More Link with Micro-animation */
.read_more_btn {
    text-align: left !important;
}
.read_more_btn a {
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--nva-green-deep) !important;
    display: inline-flex !important;
    align-items: center !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: color 0.3s ease !important;
}
.read_more_btn a i {
    height: 24px !important;
    width: 24px !important;
    background: #eaf3eb !important;
    color: var(--nva-green-deep) !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 0 !important;
    margin-left: 8px !important;
    order: 2 !important; /* Put icon on the right */
    font-size: 10px !important;
    line-height: 24px !important;
    transition: all 0.3s ease !important;
}
.read_more_btn a:hover {
    color: var(--nva-green-light) !important;
}
.read_more_btn a:hover i {
    background: var(--nva-green-light) !important;
    color: var(--thm-black) !important;
    transform: translateX(4px) !important;
}

/* --- Footer overrides --- */
.site-footer {
    background: var(--thm-black);
    padding: 60px 0 35px !important; /* Compacted footer height */
    position: relative;
    border-top: 4px solid transparent;
    border-image: linear-gradient(90deg, var(--nva-green-mid), var(--nva-green-light), var(--nva-green-mid)) 1;
}

.footer-widget__title h3 {
    font-family: "Nunito", sans-serif;
    text-transform: none;
    font-weight: 800;
}

.footer_input-box button {
    background: var(--nva-green-mid);
}

/* ✦ Footer bottom — subtle gradient */
.site-footer_bottom {
    background: linear-gradient(135deg, #1A2B1D 0%, #0F1E12 100%);
    padding: 18px 0 18px !important; /* Compacted bottom bar height */
}

.site-footer__social a:hover {
    color: var(--nva-green-light);
}

/* ✦ Footer link slide-underline on hover */
.site-footer a {
    position: relative;
    display: inline-block;
}
.site-footer a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--nva-green-light);
    transition: width 0.35s ease;
}
.site-footer a:hover::after {
    width: 100%;
}

/* --- CTA Section (new NVA section) --- */
.nva-cta {
    padding: 100px 0;
    background: url(../images/resources/cta_one_bg-1.jpg) center center / cover no-repeat;
    text-align: center;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.nva-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0,107,45,0.9) 0%, rgba(149,193,31,0.85) 100%);
    z-index: -1;
}

.nva-cta__tagline {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}

.nva-cta__title {
    font-family: "Nunito", sans-serif;
    font-weight: 900;
    font-size: 42px;
    line-height: 1.2;
    color: #ffffff;
    max-width: 700px;
    margin: 0 auto 35px;
    position: relative;
    z-index: 1;
}

@media (max-width: 767px) {
    .nva-cta__title {
        font-size: 28px;
    }
}

.nva-cta .thm-btn {
    background: #ffffff;
    color: var(--nva-green-deep);
    box-shadow: 0 6px 25px rgba(0,0,0,0.15);
    position: relative;
    z-index: 1;
}
.nva-cta .thm-btn:hover {
    background: var(--nva-yellow);
    color: var(--thm-black);
    transform: translateY(-3px);
    box-shadow: 0 10px 35px rgba(0,0,0,0.2);
}

/* --- Empathy section (pain point) --- */
.nva-empathy {
    padding: 90px 0;
    background: #ffffff;
    position: relative;
}

.nva-empathy__icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--nva-green-mid), var(--nva-green-light));
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    box-shadow: 0 8px 25px rgba(0,158,61,0.2);
}

.nva-empathy__icon span {
    font-size: 36px;
    color: #ffffff;
}

.nva-empathy__quote {
    font-family: "Nunito", sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--thm-black);
    max-width: 800px;
    margin: 0 auto 20px;
    text-align: center;
}

.nva-empathy__text {
    font-size: 17px;
    line-height: 1.8;
    color: #5A6B5D;
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

/* --- Differentiators cards --- */
.nva-diff-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 35px 30px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(0,158,61,0.08);
    height: 100%;
}

.nva-diff-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(0,158,61,0.15);
    border-color: var(--nva-green-light);
}

.nva-diff-card__icon {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: var(--thm-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    transition: all 0.4s ease;
}

.nva-diff-card:hover .nva-diff-card__icon {
    background: linear-gradient(135deg, var(--nva-green-mid), var(--nva-green-light));
}

.nva-diff-card__icon span {
    font-size: 28px;
    color: var(--nva-green-mid);
    transition: all 0.4s ease;
}

.nva-diff-card:hover .nva-diff-card__icon span {
    color: #ffffff;
}

.nva-diff-card h4 {
    font-family: "Nunito", sans-serif;
    font-weight: 800;
    font-size: 18px;
    text-transform: none;
    margin-bottom: 10px;
    color: var(--thm-black);
}

.nva-diff-card p {
    font-size: 14px;
    line-height: 1.7;
    color: #6B7B6E;
    margin: 0;
}

/* --- Trust / Human layer section --- */
.nva-trust {
    padding: 100px 0;
    background: var(--thm-gray);
    position: relative;
}

.nva-trust__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(0,158,61,0.1);
    padding: 8px 20px;
    border-radius: 50px;
    margin-bottom: 25px;
}

.nva-trust__badge span {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--nva-green-mid);
}

.nva-trust__title {
    font-family: "Nunito", sans-serif;
    font-weight: 900;
    font-size: 38px;
    line-height: 1.2;
    color: var(--thm-black);
    margin-bottom: 25px;
}

.nva-trust__text {
    font-size: 17px;
    line-height: 1.8;
    color: #5A6B5D;
    margin-bottom: 30px;
}

.nva-trust__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nva-trust__list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
    font-size: 15px;
    color: var(--thm-black);
    font-weight: 500;
}

.nva-trust__list li i {
    color: var(--nva-green-mid);
    font-size: 18px;
    margin-top: 3px;
    flex-shrink: 0;
}

/* --- Slogan banner --- */
.nva-slogan {
    padding: 50px 0;
    background: var(--nva-green-mid);
    text-align: center;
}

.nva-slogan__text {
    font-family: "Nunito", sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: #ffffff;
    margin: 0;
    line-height: 1.3;
}

@media (max-width: 767px) {
    .nva-slogan__text {
        font-size: 22px;
    }
}

/* --- Smooth scroll & global transitions --- */
html {
    scroll-behavior: smooth;
}

section {
    position: relative;
}

/* ✦ Decorative section divider (subtle green gradient line) */
section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--nva-green-light), transparent);
    border-radius: 2px;
    opacity: 0.5;
    pointer-events: none;
}

/* Subtle entrance animations for WOW overrides */
.wow {
    visibility: hidden;
}

/* --- Scrollbar brand color --- */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--thm-gray);
}
::-webkit-scrollbar-thumb {
    background: var(--nva-green-mid);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--nva-green-deep);
}

/* --- Selection color --- */
::selection {
    background: var(--nva-green-light);
    color: var(--thm-black);
}

/* --- Recent Project (Beneficios) Overrides --- */
.recent_project_single .project_content h3 {
    font-size: 26px !important;
    line-height: 1.2 !important;
}


/* ============================================================
   ✦✦  N E W   V I S U A L   I N N O V A T I O N S  ✦✦
   ============================================================ */

/* ==========================================================
   1. SCROLL PROGRESS INDICATOR
   ========================================================== */
.nva-scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background: linear-gradient(90deg, var(--nva-green-mid), var(--nva-green-light), var(--nva-green-lime));
    z-index: 9999;
    transition: width 0.15s linear;
    box-shadow: 0 0 8px rgba(149,193,31,0.5);
    pointer-events: none;
}

/* ==========================================================
   2. PARALLAX / SCROLL MOVEMENT EFFECTS
   ========================================================== */
/* Parallax slow layer — requires perspective on parent */
.nva-parallax-slow {
    transform: translateZ(-1px) scale(2);
    position: absolute;
    inset: 0;
    z-index: -1;
}

/* Float animation */
@keyframes nvaFloat {
    0%, 100% { transform: translateY(-10px); }
    50%      { transform: translateY(10px);  }
}
.nva-float {
    animation: nvaFloat 6s ease-in-out infinite;
}

/* Fade-up reveal */
.nva-fade-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.nva-fade-up.nva-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Fade-left reveal */
.nva-fade-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.nva-fade-left.nva-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Fade-right reveal */
.nva-fade-right {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.nva-fade-right.nva-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Scale-in reveal */
.nva-scale-in {
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.nva-scale-in.nva-visible {
    opacity: 1;
    transform: scale(1);
}

/* ==========================================================
   3. WHATSAPP FLOATING BUTTON
   ========================================================== */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #25D366;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    z-index: 9998;
    box-shadow: 0 4px 18px rgba(37,211,102,0.4);
    transition: var(--nva-transition);
    cursor: pointer;
    text-decoration: none;
}
.whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 30px rgba(37,211,102,0.55);
    color: #ffffff;
}

/* Pulsing ring */
.whatsapp-float::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(37,211,102,0.4);
    animation: whatsappPulse 2s ease-out infinite;
    pointer-events: none;
}
@keyframes whatsappPulse {
    0%   { transform: scale(1);   opacity: 1; }
    100% { transform: scale(1.4); opacity: 0; }
}

/* Tooltip label */
.whatsapp-float__label {
    position: absolute;
    right: 72px;
    top: 50%;
    transform: translateY(-50%) translateX(10px);
    background: #ffffff;
    color: var(--thm-black);
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 13px;
    padding: 8px 16px;
    border-radius: 8px;
    box-shadow: var(--nva-shadow-sm);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
}
.whatsapp-float:hover .whatsapp-float__label {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

/* ==========================================================
   5. COLOR CONTRAST — Gradient text utility
   ========================================================== */
.nva-gradient-text {
    background: linear-gradient(135deg, #009E3D, #95C11F);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ==========================================================
   6. GLASSMORPHISM CARD EFFECT
   ========================================================== */
.nva-glass {
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: var(--nva-radius);
}

/* ==========================================================
   8. COUNTER STATS STYLING
   ========================================================== */
.project_counted {
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(149,193,31,0.25);
    border-radius: var(--nva-radius);
    padding: 30px;
}

.counter {
    background: linear-gradient(135deg, #009E3D, #95C11F);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ==========================================================
   9. CTA FORM STYLING (nva-lead-form)
   ========================================================== */
.nva-lead-form input,
.nva-lead-form textarea,
.nva-lead-form select {
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    border-radius: 8px;
}

.nva-lead-form input:focus,
.nva-lead-form textarea:focus,
.nva-lead-form select:focus {
    outline: none;
    border-color: var(--nva-green-light);
    box-shadow: 0 0 0 3px rgba(149,193,31,0.4);
}

.nva-lead-form input::placeholder,
.nva-lead-form textarea::placeholder {
    color: #999;
    font-weight: 400;
}

/* ==========================================================
   11. RESPONSIVE REFINEMENTS
   ========================================================== */
@media (max-width: 991px) {
    .about_one { padding: 80px 0 60px; }
    .service_one { padding: 80px 0; }
    .testimonials-one { padding: 80px 0; }
    .blog-one { padding: 80px 0; }
    .product-one { padding: 80px 0; }
}

@media (max-width: 767px) {
    .about_one { padding: 60px 0 40px; }
    .service_one { padding: 60px 0; }
    .testimonials-one { padding: 60px 0; }
    .blog-one { padding: 60px 0; }
    .product-one { padding: 60px 0; }

    /* WhatsApp float — smaller on mobile */
    .whatsapp-float {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
        font-size: 24px;
    }
}

/* ==========================================================
   ✦  End of NVA Brand CSS — Enhanced Edition
   ========================================================== */

/* ==========================================================
   JS-DRIVEN STATE CLASSES
   ========================================================== */

/* Navbar: GRANDE al inicio → PEQUEÑO al hacer scroll */
/* Estado por defecto — barra grande */
.main-nav__header-one .header-navigation {
    min-height: 90px !important;
    padding: 0 !important;
    transition: min-height 0.3s ease, box-shadow 0.3s ease;
}
.main-nav__header-one .main-logo-nav {
    max-height: 52px !important;
    transition: max-height 0.3s ease;
}
.main-nav__header-one .main-nav__main-navigation .main-nav__navigation-box > li {
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

/* Estado scrolled — barra pequeña (aplicado solo a la barra fija/clonada .stricked-menu) */
.stricked-menu.stricky-fixed {
    min-height: 72px !important;
    padding: 0 !important;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.1) !important;
    display: flex !important;
    align-items: center !important;
}
.stricked-menu.stricky-fixed .main-logo-nav {
    max-height: 44px !important;
}
.stricked-menu.stricky-fixed .main-nav__main-navigation .main-nav__navigation-box > li {
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

/* WhatsApp button — hidden initially, shown after scroll */
.whatsapp-float {
    opacity: 0;
    transform: scale(0.5) translateY(20px);
    pointer-events: none;
}
.whatsapp-float.nva-wp-visible {
    opacity: 1;
    transform: scale(1) translateY(0);
    pointer-events: auto;
}
.whatsapp-float.nva-wp-visible:hover {
    transform: scale(1.1) translateY(0);
}

/* WhatsApp inner pulse div (separate from ::before ring) */
.whatsapp-float__pulse {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(37,211,102,0.25);
    animation: whatsappPulse 2s ease-out infinite 0.5s;
    pointer-events: none;
}

/* Prevent section ::after divider on hero, CTA, footer, benefits (dark bg) */
.banner-section::after,
.nva-cta::after,
.site-footer::after,
.benefits::after,
.video-one::after,
.brand-one::after,
.featured-one::after {
    display: none;
}

/* ✦ Success Lead Card */
.nva-success-card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-left: 5px solid var(--nva-green-light);
    border-radius: var(--nva-radius);
    padding: 30px;
    max-width: 600px;
    margin: 20px auto 0;
    text-align: center;
    color: #ffffff;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.nva-success-card.visible {
    opacity: 1;
    transform: translateY(0);
}
.nva-success-icon {
    font-size: 55px;
    color: var(--nva-green-light);
    margin-bottom: 15px;
    animation: nva-scale-bounce 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.nva-success-card h4 {
    font-family: "Nunito", sans-serif;
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 12px;
    color: #ffffff;
}
.nva-success-card p {
    font-size: 15px;
    line-height: 1.6;
    color: #e5efe7;
    margin: 0;
}

@keyframes nva-scale-bounce {
    0% { transform: scale(0); }
    70% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

/* ==========================================================================
   NVA COMPACT HEADER, PLANIMETRY & FOOTER OVERRIDES
   ========================================================================== */

/* 1. Header Navigation — WHITE BAR */
.topbar-one {
    display: none !important; /* Hide topbar completely */
}

.main-nav__header-one {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.header-navigation,
.stricked-menu {
    background-color: #ffffff !important;
    border: none !important;
    border-bottom: 1px solid #e8eaea !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08) !important;
    will-change: box-shadow;
    display: flex !important;
    align-items: center !important;
}

.stricky-fixed {
    background-color: #ffffff !important;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.12) !important;
}

.header-navigation .container,
.stricked-menu .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative;
    width: 100% !important;
}

/* 2. Logo in main navigation bar — Fix max-width:45px from style.css */
.main-nav__left {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    gap: 0 !important;
    padding: 0 !important;             /* Centered via flex container */
    flex-shrink: 0 !important;
    z-index: 99;
}

.main-logo-nav {
    max-height: 52px !important;
    width: auto !important;
    display: block;
}

/* Sticky: mismo tamaño compacto al hacer scroll */
.stricked-menu.stricky-fixed .main-logo-nav {
    max-height: 44px !important;
}

/* 3. Menu Navigation Styles — centered between logo and CTA */
.main-nav__main-navigation {
    float: none !important;
    flex: 1 1 auto !important;       /* Take available space */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important; /* Center the nav links */
    margin: 0 30px !important;          /* Clear gap from logo & CTA */
    overflow: visible !important;
}

/* Nav list — use gap for uniform spacing between items */
.main-nav__main-navigation .main-nav__navigation-box {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;                  /* Spacing comes from li padding only */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Padding inicial manejado por la regla de estado por defecto arriba */

.main-nav__header-one .main-nav__main-navigation .main-nav__navigation-box > li > a {
    line-height: 1 !important;
    font-size: 12.5px !important;
    padding: 10px 0 !important;               /* Symmetrical vertical padding inside anchor */
    color: #2c3e2d !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    transition: color 0.3s ease !important;
    white-space: nowrap !important;
    display: inline-block !important;
}

/* Kill badge ::before in high-specificity context too */
.main-nav__header-one .main-nav__main-navigation .main-nav__navigation-box > li > a::before {
    display: none !important;
}

.main-nav__header-one .main-nav__main-navigation .main-nav__navigation-box > li.current > a,
.main-nav__header-one .main-nav__main-navigation .main-nav__navigation-box > li:hover > a {
    color: var(--thm-primary) !important; /* NVA Vivid Green on hover */
}

/* CTA Button on the right — solid green, single line */
.main-nav__right-btn {
    margin-left: 20px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    z-index: 99;
}

.nva-nav-btn {
    display: inline-block;
    white-space: nowrap !important;
    padding: 10px 24px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    background-color: var(--thm-primary) !important;
    border: 2px solid var(--thm-primary) !important;
    border-radius: 30px !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0.04em !important;
}

.nva-nav-btn:hover {
    background-color: var(--thm-black) !important;
    border-color: var(--thm-black) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(0, 158, 61, 0.3) !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
}

/* Hide mobile hamburger container on desktop */
.main-nav__right {
    display: none !important;
}

/* Sticky nativo del template: sincronizado arriba en el selector específico */

@media (max-width: 991px) {
    .header-navigation .container {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 12px 15px !important;
        width: 100% !important;
    }
    .main-nav__left {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        width: auto !important;
    }
    .main-logo-nav {
        max-height: 60px !important;
    }
    .main-nav__right {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        width: auto !important;
    }
    .side-menu__toggler {
        margin: 0 !important;
        font-size: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        color: #2c3e2d !important; /* Dark icon on white navbar */
    }
}

/* 4. Spacing between about section images */
.about_img_2 {
    left: 110px !important;
    bottom: -50px !important;
    transition: all 0.3s ease;
}
@media (max-width: 991px) {
    .about_img_2 {
        left: 0 !important;
        bottom: 0 !important;
        position: relative !important;
        margin-top: 20px;
    }
}

/* 5. Section Planimetry & Balanced Spacing */
.about_one {
    padding: 125px 0 !important;
}
.service_one {
    padding: 125px 0 !important;
}
.brand-one {
    padding: 60px 0 50px !important; /* Extra top space for the title */
}

/* Mejorar opacidad de logos en alianzas estratégicas */
.single_brand_item img {
    opacity: 0.75 !important;
    transition: opacity 0.3s ease !important;
    filter: none !important;
}
.single_brand_item:hover img {
    opacity: 1 !important;
}

/* ✦ Brand section header — "¿Con quiénes trabajamos?" */
.nva-brand-header {
    text-align: center;
    margin-bottom: 32px;
}
.nva-brand-label {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--nva-green-mid);
    background: rgba(0,158,61,0.08);
    padding: 5px 14px;
    border-radius: 30px;
    margin-bottom: 10px;
}
.nva-brand-title {
    font-family: 'Nunito', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: var(--thm-black);
    margin: 0;
}
.featured-one {
    padding: 60px 0 !important; /* Compact slogan */
}
.video-one {
    padding: 160px 0 !important; /* Premium balance */
}
.testimonials-one {
    padding: 125px 0 !important;
}
.recent-project {
    background: #ffffff;
    padding: 125px 0 !important; /* Proper generous padding */
}
.benefits {
    background: var(--thm-black);
    margin-top: 0px !important; /* No overlap squashing */
    padding: 125px 0 !important; /* Clean padding */
}
.product-one {
    padding: 125px 0 !important;
}
.blog-one {
    padding: 125px 0 !important;
}
.nva-cta {
    padding: 125px 0 !important;
}

/* Responsive adjustments for section padding */
@media (max-width: 991px) {
    .about_one,
    .service_one,
    .testimonials-one,
    .recent-project,
    .benefits,
    .product-one,
    .blog-one,
    .nva-cta {
        padding: 80px 0 !important;
    }
}

/* 6. Footer Redesign - Compact, Clean & Integrated */
.site-footer {
    padding: 80px 0 40px !important;
    background-color: var(--thm-black) !important;
}
.site-footer_farm_image {
    top: -45px !important;
}
.site-footer_farm_image img {
    max-height: 100px !important; /* Proportional farm overlap */
    width: auto !important;
    opacity: 0.75;
}
.footer-widget__column {
    margin-bottom: 20px !important;
}
.footer-widget__title {
    margin-bottom: 20px !important;
}
.footer-widget__title h3 {
    font-size: 20px !important;
    letter-spacing: 0.05em;
    color: #ffffff !important;
}
.footer-widget_about_text p {
    font-size: 14px !important;
    line-height: 1.6;
    color: #b0c0b2 !important;
}
.footer-widget__links-list li a {
    font-size: 14px !important;
    color: #b0c0b2 !important;
    transition: color 0.3s ease;
}
.footer-widget__links-list li a:hover {
    color: var(--nva-green-light) !important;
}
.footer-widget__news li {
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    margin-bottom: 12px !important;
}
.footer-widget__news_image {
    top: 3px !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 8px !important;
    overflow: hidden;
}
.footer-widget__news_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.footer-widget__news_text p a {
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #ffffff !important;
}
.footer-widget__news_date_box p {
    font-size: 12px !important;
    color: var(--nva-green-light) !important;
}
.footer-widget_contact p,
.footer-widget_contact a {
    font-size: 14px !important;
    color: #b0c0b2 !important;
}
.footer-widget_contact a:hover {
    color: var(--nva-green-light) !important;
}
.site-footer__social {
    margin-top: 15px !important;
}
.site-footer__social a {
    color: #b0c0b2 !important;
    font-size: 18px !important;
    margin-right: 12px !important;
    transition: color 0.3s ease;
}
.site-footer__social a:hover {
    color: var(--nva-green-light) !important;
}
.site-footer_bottom {
    background-color: #212c23 !important;
    padding: 20px 0 !important;
    border-top: 1px solid rgba(255,255,255,0.05) !important;
}
.site-footer_bottom_copyright p {
    font-size: 13px !important;
    color: #7b8f7e !important;
}
.site-footer_bottom_menu ul li a {
    font-size: 13px !important;
    color: #7b8f7e !important;
}
.site-footer_bottom_menu ul li a:hover {
    color: var(--nva-green-light) !important;
}

/* --- 6. Hablemos de su Proyecto / Contact Section --- */
/* Clean light-background design with NVA green accents */
.nva-contact-section {
    background-color: #f7f9f5 !important; /* Soft off-white with a hint of green */
    padding: 100px 0 !important;
    color: #2c3e2d !important;
    position: relative;
    overflow: hidden;
}

/* Subtle decorative top border accent */
.nva-contact-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--thm-primary), var(--thm-base)) !important;
}

.nva-contact-info-block {
    padding-right: 40px;
    text-align: left !important;
}

.nva-contact-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: rgba(0, 158, 61, 0.09);
    padding: 6px 16px;
    border-radius: 30px;
    margin-bottom: 22px;
}

.nva-contact-tag i {
    color: var(--thm-primary) !important;
    font-size: 13px;
}

.nva-contact-tag span {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em;
    color: var(--thm-primary) !important;
}

.nva-contact-title {
    font-family: 'Nunito', sans-serif !important;
    font-size: 44px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    color: #1a2b1c !important;
    margin-bottom: 20px !important;
}

.nva-contact-title em {
    font-style: normal !important;
    color: var(--thm-primary) !important;
    font-weight: 800 !important;
}

.nva-contact-description {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #5a6b5c !important;
    margin-bottom: 38px !important;
    font-family: 'Montserrat', sans-serif !important;
}

.nva-contact-details li {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
}

.nva-contact-details .icon-box {
    width: 46px !important;
    height: 46px !important;
    background-color: var(--thm-primary) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 12px rgba(0, 158, 61, 0.25) !important;
}

.nva-contact-details .icon-box i {
    color: #ffffff !important;
    font-size: 16px !important;
}

.nva-contact-details .text-box p {
    margin: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #2c3e2d !important;
}

.nva-contact-details .text-box a {
    color: #2c3e2d !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.nva-contact-details .text-box a:hover {
    color: var(--thm-primary) !important;
}

/* Form Card — white elevated card */
.nva-contact-form-card {
    background-color: #ffffff !important;
    border: 1px solid #e2ece4 !important;
    border-radius: 20px !important;
    padding: 44px !important;
    text-align: left !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.09) !important;
}

.nva-form-title {
    font-family: 'Nunito', sans-serif !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #1a2b1c !important;
    margin-bottom: 28px !important;
}

.nva-quote-form label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.09em;
    color: #7a907c !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.nva-quote-form .form-control {
    background-color: #f4f7f4 !important;
    border: 1.5px solid #d8e6da !important;
    border-radius: 10px !important;
    height: 48px !important;
    padding: 10px 16px !important;
    color: #2c3e2d !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
}

.nva-quote-form textarea.form-control {
    height: auto !important;
}

.nva-quote-form .form-control::placeholder {
    color: #aabcac !important;
}

.nva-quote-form .form-control:focus {
    outline: none !important;
    background-color: #ffffff !important;
    border-color: var(--thm-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 158, 61, 0.12) !important;
}

/* Custom Dropdown select arrow styling */
.nva-quote-form select.form-control {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23009E3D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 16px !important;
    padding-right: 40px !important;
}

.nva-form-submit-btn {
    background-color: var(--thm-primary) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    width: 100% !important;
    height: 52px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    margin-top: 12px !important;
    box-shadow: 0 4px 16px rgba(0, 158, 61, 0.25) !important;
}

.nva-form-submit-btn:hover {
    background-color: #007a2f !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 28px rgba(0, 158, 61, 0.35) !important;
}

.nva-form-submit-btn i {
    font-size: 14px;
}

@media (max-width: 991px) {
    .main-nav__right-btn {
        display: none !important;
    }
    .nva-contact-info-block {
        padding-right: 0 !important;
        margin-bottom: 40px !important;
    }
    .nva-contact-title {
        font-size: 32px !important;
    }
}

/* --- 7. Testimonials Text Legibility Fix (White Text) --- */
.testimonials_one_single_item .text p {
    color: #ffffff !important;
}

.client_title h4 {
    color: #ffffff !important;
}

.client_title p {
    color: var(--nva-green-light) !important;
}


/* ============================================================
   ✦✦  RESPONSIVE IMPROVEMENTS — NVA Complete Overhaul
   Breakpoints: 1200 · 991 · 767 · 575 · 400
   ============================================================ */

/* ── Global: prevent horizontal overflow on every device ── */
html, body {
    overflow-x: hidden;
}

/* ── Ensure images never overflow their containers ── */
img {
    max-width: 100%;
    height: auto;
}

/* ==========================================================
   TABLET LARGE  ≤ 1199px
   ========================================================== */
@media (max-width: 1199px) {

    /* Reduce heading sizes slightly */
    .block-title h3 {
        font-size: 38px !important;
    }

    /* Narrow contact title */
    .nva-contact-title {
        font-size: 38px !important;
    }

    /* Services: keep 2-col on large tablet */
    .service_one .col-xl-3 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    /* Benefits bottom: keep 2-col on large tablet */
    .benefits_bottom_part .col-xl-3 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    /* Video section heading */
    .video-one h3 {
        font-size: 38px !important;
    }
}

/* ==========================================================
   TABLET  ≤ 991px
   ========================================================== */
@media (max-width: 991px) {

    /* ── Section padding ── */
    :root {
        --nva-section-padding: 80px 0;
    }

    .about_one,
    .service_one,
    .testimonials-one,
    .recent-project,
    .benefits,
    .product-one,
    .blog-one,
    .nva-cta,
    .featured-one {
        padding: 80px 0 !important;
    }

    .video-one {
        padding: 100px 0 !important;
    }

    /* ── Navbar: hide desktop CTA, show hamburger ── */
    .main-nav__right-btn {
        display: none !important;
    }
    .main-nav__right {
        display: flex !important;
        align-items: center !important;
    }
    .main-nav__main-navigation {
        display: none !important; /* Desktop nav hidden; mobile menu via side-menu */
    }

    /* Logo tablet size */
    .main-logo-nav {
        max-height: 48px !important;
    }

    /* ── Hero: stack buttons vertically ── */
    .banner-section .link-box {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    .banner-section .link-box .thm-btn {
        margin-left: 0 !important;
        margin-top: 0 !important;
    }

    /* ── About: stack image and content ── */
    .about_one .col-xl-6:first-child,
    .about_one .col-lg-6:first-child {
        margin-bottom: 50px;
    }
    .about1_img {
        max-width: 80%;
        margin: 0 auto;
    }
    .about_img_2 {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        margin-top: 16px !important;
        width: 60% !important;
        float: right !important;
    }

    /* ── Block titles ── */
    .block-title h3 {
        font-size: 34px !important;
    }

    /* ── Video section ── */
    .video-one h3 {
        font-size: 32px !important;
    }

    /* ── Benefits section header ── */
    .benefits .col-xl-4 {
        margin-bottom: 30px;
    }
    .benefits .col-xl-8 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* ── Product (confianza) section: stack ── */
    .product-one .col-xl-6:first-child {
        margin-bottom: 50px;
    }
    .experience_box {
        bottom: -20px !important;
    }

    /* ── Testimonials: full width ── */
    .testimonials-one .col-xl-6:first-child {
        margin-bottom: 40px;
    }

    /* ── Contact section ── */
    .nva-contact-section {
        padding: 80px 0 !important;
    }
    .nva-contact-info-block {
        padding-right: 0 !important;
        margin-bottom: 48px !important;
        text-align: center !important;
    }
    .nva-contact-tag {
        justify-content: center;
    }
    .nva-contact-details li {
        justify-content: flex-start;
    }
    .nva-contact-title {
        font-size: 34px !important;
        text-align: center !important;
    }
    .nva-contact-description {
        text-align: center !important;
    }
    .nva-contact-form-card {
        padding: 32px !important;
    }

    /* ── Featured strip: full width stacked ── */
    .featured-one .col-xl-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .single_featured_box span {
        font-size: 22px !important;
    }

    /* ── Footer ── */
    .site-footer {
        padding: 60px 0 30px !important;
    }
    .site-footer_bottom .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        text-align: center;
    }
    .site-footer_bottom_menu ul {
        display: flex;
        gap: 16px;
        margin: 0;
        padding: 0;
        justify-content: center;
    }

    /* ── Services: stack to 1 col on tablet for better readability ── */
    .service_one .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    /* ── Blog cards full on tablet ── */
    .blog-one .col-xl-4,
    .blog-one .col-lg-4 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 30px;
    }

    /* ── Recent projects: stack ── */
    .recent-project .col-xl-4,
    .recent-project .col-lg-4 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 24px;
    }
}

/* ==========================================================
   MOBILE  ≤ 767px
   ========================================================== */
@media (max-width: 767px) {

    /* ── Section padding reduced ── */
    .about_one,
    .service_one,
    .testimonials-one,
    .recent-project,
    .benefits,
    .product-one,
    .blog-one,
    .nva-cta,
    .featured-one {
        padding: 60px 0 !important;
    }
    .video-one {
        padding: 80px 0 !important;
    }
    .brand-one {
        padding: 40px 0 !important;
    }
    .nva-contact-section {
        padding: 60px 0 !important;
    }

    /* ── Logo ── */
    .main-logo-nav {
        max-height: 40px !important;
    }

    /* ── Hero h1 ── */
    .banner-section .slide-item .inner h1 {
        font-size: clamp(28px, 7vw, 44px) !important;
        line-height: 1.2 !important;
    }
    .banner-section .slide-item .inner .sub-title {
        font-size: 12px !important;
        letter-spacing: 0.08em !important;
    }
    .banner-section .link-box {
        align-items: center !important;
    }
    .banner-section .thm-btn {
        padding: 14px 28px !important;
        font-size: 13px !important;
    }

    /* ── Block titles ── */
    .block-title h3 {
        font-size: 28px !important;
    }
    .block-title p {
        font-size: 12px !important;
    }

    /* ── About section ── */
    .about1_img {
        max-width: 100%;
    }
    .about_img_2 {
        float: none !important;
        width: 100% !important;
        margin-top: 12px !important;
    }
    .about_content .text {
        font-size: 15px !important;
    }

    /* ── Services: single column ── */
    .service_one .col-xl-3,
    .service_one .col-lg-3,
    .service_one .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 30px;
    }

    /* ── Video section ── */
    .video-one h3 {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }
    .video-one p {
        font-size: 12px !important;
    }

    /* ── Testimonials ── */
    .testimonials_one_single_item .text p {
        font-size: 15px !important;
    }
    .project_counted {
        padding: 20px !important;
    }
    .counter {
        font-size: 36px !important;
    }

    /* ── Benefits ── */
    .benefits .col-xl-3,
    .benefits .col-lg-3,
    .benefits .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .benefits_text p {
        font-size: 15px !important;
    }
    .benefits_single h3 {
        font-size: 15px !important;
    }

    /* ── Product / Confianza ── */
    .product-one .col-xl-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .experience_box h2 {
        font-size: 28px !important;
    }
    .growing_product_text p {
        font-size: 15px !important;
    }
    .growing_product .block-title h3 {
        font-size: 28px !important;
    }

    /* ── Blog: stack to 1 col ── */
    .blog-one .col-xl-4,
    .blog-one .col-lg-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* ── Recent projects: stack ── */
    .recent-project .col-xl-4,
    .recent-project .col-lg-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* ── Featured strip ── */
    .single_featured_box {
        padding: 20px !important;
    }
    .single_featured_box span {
        font-size: 19px !important;
    }

    /* ── Contact section ── */
    .nva-contact-form-card {
        padding: 24px 20px !important;
        border-radius: 16px !important;
    }
    .nva-form-title {
        font-size: 22px !important;
    }
    .nva-contact-title {
        font-size: 28px !important;
    }
    .nva-quote-form .form-row {
        flex-direction: column !important;
    }
    .nva-quote-form .form-row .col-md-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* ── Footer ── */
    .site-footer {
        padding: 50px 0 24px !important;
    }
    .footer-widget__column {
        margin-bottom: 30px !important;
    }
    .site-footer_bottom_copyright,
    .site-footer_bottom_menu {
        text-align: center;
    }
    .site-footer_bottom_menu ul {
        flex-wrap: wrap;
        justify-content: center;
    }
    .site-footer_farm_image {
        display: none !important; /* Hide decorative farm image on mobile */
    }

    /* ── Brand strip: reduce items shown ── */
    .nva-brand-title {
        font-size: 20px !important;
    }

    /* ── WhatsApp label hidden on mobile ── */
    .whatsapp-float__label {
        display: none !important;
    }
    .whatsapp-float {
        bottom: 16px !important;
        right: 16px !important;
        width: 52px !important;
        height: 52px !important;
        font-size: 26px !important;
    }

    /* ── Scroll to top button ── */
    .scroll-to-top {
        right: 16px !important;
        bottom: 78px !important;
    }
}

/* ==========================================================
   MOBILE SMALL  ≤ 575px
   ========================================================== */
@media (max-width: 575px) {

    /* ── Global container ── */
    .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* ── Hero ── */
    .banner-section .slide-item .inner h1 {
        font-size: clamp(24px, 8vw, 36px) !important;
    }
    .banner-section .link-box .thm-btn {
        width: 100%;
        text-align: center;
        padding: 13px 20px !important;
    }
    .banner-section .auto-container {
        padding: 0 20px !important;
    }

    /* ── Navbar height / padding reduction ── */
    .header-navigation .container {
        padding: 8px 20px !important;
    }
    .main-logo-nav {
        max-height: 36px !important;
    }

    /* ── Block titles ── */
    .block-title h3 {
        font-size: 25px !important;
        line-height: 1.2 !important;
    }

    /* ── Contact form row becomes single col ── */
    .form-row {
        flex-direction: column !important;
    }
    .form-row .col-md-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .nva-contact-form-card {
        padding: 20px 16px !important;
    }

    /* ── Benefits bottom: single column ── */
    .benefits_bottom_part .col-xl-3,
    .benefits_bottom_part .col-lg-3,
    .benefits_bottom_part .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* ── Footer columns: single column ── */
    .site-footer .col-xl-4,
    .site-footer .col-xl-2,
    .site-footer .col-xl-3,
    .site-footer .col-lg-4,
    .site-footer .col-lg-2,
    .site-footer .col-lg-3,
    .site-footer .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* ── Video section text ── */
    .video-one h3 {
        font-size: 22px !important;
    }

    /* ── Progress bars text ── */
    .progress-box .text {
        font-size: 12px !important;
    }

    /* ── About bottom text ── */
    .about_content .bottom_text {
        padding: 14px 16px !important;
    }

    /* ── Featured strip ── */
    .featured-one {
        padding: 40px 0 !important;
    }
    .single_featured_box span {
        font-size: 17px !important;
    }

    /* ── Blog card content ── */
    .blog-one__content {
        padding: 18px 16px 20px !important;
    }
}

/* ==========================================================
   ULTRA-SMALL  ≤ 400px
   ========================================================== */
@media (max-width: 400px) {

    /* ── Hero extreme small ── */
    .banner-section .slide-item .inner h1 {
        font-size: 22px !important;
        line-height: 1.25 !important;
    }
    .banner-section .slide-item .inner .sub-title {
        display: none !important; /* Too crowded at <400px */
    }
    .banner-section .link-box .thm-btn {
        font-size: 12px !important;
        padding: 11px 16px !important;
    }

    /* ── Logo ultra-small ── */
    .main-logo-nav {
        max-height: 32px !important;
    }

    /* ── Block titles ── */
    .block-title h3 {
        font-size: 22px !important;
    }

    /* ── Video section ── */
    .video-one h3 {
        font-size: 20px !important;
    }

    /* ── WhatsApp button ── */
    .whatsapp-float {
        width: 46px !important;
        height: 46px !important;
        font-size: 22px !important;
        bottom: 12px !important;
        right: 12px !important;
    }

    /* ── Section padding minimum ── */
    .about_one,
    .service_one,
    .testimonials-one,
    .recent-project,
    .benefits,
    .product-one,
    .blog-one {
        padding: 48px 0 !important;
    }
}

/* ==========================================================
   ✦ END RESPONSIVE IMPROVEMENTS ✦
   ========================================================== */

/* ==========================================================
   FORM: Validación inline & estados
   ========================================================== */

/* Error message debajo del campo */
.nva-field-error {
    display: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #e53935;
    margin-top: 5px;
    padding-left: 4px;
    letter-spacing: 0.02em;
    animation: nvaShakeIn 0.3s ease;
}

@keyframes nvaShakeIn {
    0%   { transform: translateX(0); }
    25%  { transform: translateX(-4px); }
    75%  { transform: translateX(4px); }
    100% { transform: translateX(0); }
}

/* Borde rojo en campo inválido */
.nva-quote-form input.is-invalid,
.nva-quote-form select.is-invalid,
.nva-quote-form textarea.is-invalid {
    border-color: #e53935 !important;
    box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.1) !important;
}

/* Banner de error general (debajo del textarea, encima del botón) */
.nva-form-general-error {
    display: none;
    align-items: center;
    gap: 10px;
    background: rgba(229, 57, 53, 0.08);
    border: 1px solid rgba(229, 57, 53, 0.25);
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 12px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #c62828;
}
.nva-form-general-error i {
    color: #e53935;
    font-size: 16px;
    flex-shrink: 0;
}

/* Success card — adaptada para la sección de contacto (fondo claro) */
#nvaSuccessCard.nva-success-card {
    background: #f0f9f3 !important;
    border: 1.5px solid var(--nva-green-light) !important;
    border-left: 5px solid var(--thm-primary) !important;
    color: var(--thm-black) !important;
}
#nvaSuccessCard.nva-success-card h4 {
    color: var(--thm-black) !important;
    font-size: 22px !important;
}
#nvaSuccessCard.nva-success-card p {
    color: #4a5548 !important;
}
#nvaSuccessCard .nva-success-icon {
    color: var(--thm-primary) !important;
}

/* Botón WhatsApp de seguimiento dentro de la tarjeta de éxito */
.nva-whatsapp-followup {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding: 10px 22px;
    background: #25D366;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    border-radius: 50px;
    text-decoration: none !important;
    transition: background 0.3s ease, transform 0.3s ease;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.3);
}
.nva-whatsapp-followup i {
    font-size: 17px;
}
.nva-whatsapp-followup:hover {
    background: #1ebe5a !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.4);
    color: #ffffff !important;
}
/* Eliminar el underline del ::after que hereda de .site-footer a */
.nva-whatsapp-followup::after {
    display: none !important;
}

/* ==========================================================================
   Rediseño Global de Breadcrumbs: de botones/pestañas toscas a línea de texto premium
   ========================================================================== */
.thm-breadcrumb {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border: none !important;
}
.thm-breadcrumb li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}
.thm-breadcrumb li + li::before {
    content: '/' !important;
    margin: 0 10px !important;
    color: rgba(255, 255, 255, 0.4) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}
.thm-breadcrumb li a,
.thm-breadcrumb li span {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    display: inline-block !important;
    letter-spacing: 0.03em !important;
    box-shadow: none !important;
    border: none !important;
}
.thm-breadcrumb li a {
    color: rgba(255, 255, 255, 0.8) !important;
    transition: color 0.25s ease !important;
    text-decoration: none !important;
}
.thm-breadcrumb li a:hover {
    color: var(--nva-green-light) !important;
}
.thm-breadcrumb li span {
    color: var(--nva-green-light) !important;
    font-weight: 600 !important;
}

/* ==========================================================================
   Rediseño de Call to Action (CTA Three)
   ========================================================================== */
.cta_three {
    padding: 0 0 100px !important;
    background: #ffffff !important;
}
.cta_three_content {
    background: linear-gradient(135deg, #0b2909 0%, #009E3D 100%) !important;
    border-radius: 20px !important;
    padding: 60px 80px !important;
    box-shadow: 0 15px 40px rgba(0, 158, 61, 0.15) !important;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.cta_three_content::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(157, 198, 59, 0.2) 0%, rgba(157, 198, 59, 0) 70%);
    pointer-events: none;
}
.cta_three_content::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
}
.cta_three_text h2 {
    font-family: 'Nunito', sans-serif !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
    max-width: 650px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
.cta_three_btn .thm-btn {
    background: #ffffff !important;
    color: #0b2909 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 16px 40px !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.3s ease !important;
    border: 2px solid transparent !important;
    text-transform: uppercase !important;
}
.cta_three_btn .thm-btn:hover {
    background: var(--nva-green-light) !important;
    color: #0b2909 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(157, 198, 59, 0.3) !important;
}

@media (max-width: 767px) {
    .cta_three_content {
        padding: 40px 30px !important;
        flex-direction: column !important;
        text-align: center !important;
    }
    .cta_three_text h2 {
        font-size: 26px !important;
        margin-bottom: 25px !important;
    }
    .cta_three_btn .thm-btn {
        padding: 14px 30px !important;
        width: 100% !important;
    }
}

/* ==========================================================================
   Rediseño de la Sección de Preguntas Frecuentes (FAQ One)
   ========================================================================== */
.faq_one {
    padding: 120px 0 !important;
    background: #fbfcfb !important;
}
.faq_one_image {
    position: relative;
    display: block;
    width: 100%;
    height: 420px !important;
    border-radius: 16px !important;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(11, 41, 9, 0.08) !important;
    border: 1px solid rgba(0, 158, 61, 0.1) !important;
}
.phone_number {
    position: absolute;
    bottom: 25px !important;
    top: auto !important;
    left: 25px !important;
    right: 25px !important;
    height: auto !important;
    padding: 22px !important;
    background: rgba(11, 41, 9, 0.88) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}
.phone_number p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin: 0 0 10px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    display: block !important;
    text-align: center !important;
}
.phone_number .phone_call_label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    margin: 0 0 12px 0 !important;
    display: block !important;
    text-align: center !important;
}
.phone_number a {
    font-family: 'Nunito', sans-serif !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--nva-green-light) !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
    letter-spacing: 0.03em !important;
    display: block !important;
    text-align: center !important;
}
.phone_number a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(149, 193, 31, 0.5) !important;
    text-decoration: none !important;
}

.faq-one-accrodion .accrodion {
    background: #ffffff !important;
    border: 1px solid #eef2eb !important;
    border-radius: 12px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 4px 15px rgba(11, 41, 9, 0.02) !important;
    overflow: hidden;
    transition: all 0.35s ease !important;
}
.faq-one-accrodion .accrodion.active {
    border-color: var(--nva-green-light) !important;
    box-shadow: 0 8px 25px rgba(0, 158, 61, 0.08) !important;
}
.faq-one-accrodion .accrodion-title {
    background: #ffffff !important;
    padding: 22px 30px !important;
    transition: all 0.3s ease !important;
}
.faq-one-accrodion .accrodion.active .accrodion-title {
    background: #ffffff !important;
}
.faq-one-accrodion .accrodion-title h4 {
    font-family: 'Nunito', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #0b2909 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    padding-right: 55px !important;
    transition: color 0.3s ease !important;
}
.faq-one-accrodion .accrodion.active .accrodion-title h4 {
    color: var(--nva-green-mid) !important;
}
.faq-one-accrodion .accrodion-title h4::before {
    background: #eef2eb !important;
    color: #0b2909 !important;
    font-size: 12px !important;
    height: 36px !important;
    width: 36px !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.faq-one-accrodion .accrodion.active .accrodion-title h4::before {
    background: var(--nva-green-light) !important;
    color: #0b2909 !important;
    content: "\f068" !important;
}
.faq-one-accrodion .accrodion-content {
    padding: 0 30px 22px !important;
    background: #ffffff !important;
}
.faq-one-accrodion .accrodion-content p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #4a5447 !important;
    margin: 0 !important;
}

@media (max-width: 767px) {
    .faq_one_image {
        height: 300px !important;
        margin-bottom: 30px !important;
    }
    .phone_number {
        bottom: 15px !important;
        left: 15px !important;
        right: 15px !important;
        padding: 15px !important;
    }
    .phone_number a {
        font-size: 20px !important;
    }
}

/* ==========================================================================
   Corrección de alineación de tarjetas de ventajas técnicas (service.html)
   ========================================================================== */
.service_1_single {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}
.service_1_single .content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}
.service_1_img {
    margin-top: auto !important;
    flex-shrink: 0 !important;
    display: block !important;
    overflow: hidden !important;
    aspect-ratio: 4/3 !important;
    width: 100% !important;
}
.service_1_img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

/* Corrección del apuntador del enlace de la tarjeta (.hover_box) */
.service_1_img .hover_box {
    position: absolute !important;
    bottom: 15px !important;
    right: 15px !important;
    top: auto !important;
    left: auto !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 10 !important;
    opacity: 0 !important;
    transform: translateY(10px) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.service_1_single:hover .hover_box {
    opacity: 1 !important;
    transform: translateY(0) !important;
    left: auto !important;
}
.service_1_img .hover_box a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background: none !important; /* Quitar fondos heredados */
}
.service_1_img .hover_box span {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: var(--nva-green-light) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    transform: rotate(180deg) !important;
    transition: all 0.3s ease !important;
    font-size: 15px !important;
    line-height: 44px !important;
}
.service_1_img .hover_box span:hover {
    background: #ffffff !important;
    color: var(--nva-green-mid) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* ========================================================================
   ✦ Abstract Premium Cards for About Section
   ========================================================================= */
/* ========================================================================
   ✦ Interactive Premium Timeline Process for About Section
   ========================================================================= */
.nva-timeline-wrapper {
    position: relative;
    padding: 60px 0 30px;
    margin-top: 40px;
}

/* Base horizontal connector line for desktop */
.nva-timeline-wrapper::before {
    content: '';
    position: absolute;
    top: 110px;
    left: 4%;
    right: 4%;
    height: 3px;
    background: repeating-linear-gradient(90deg, rgba(0, 158, 61, 0.15), rgba(0, 158, 61, 0.15) 10px, transparent 10px, transparent 20px);
    z-index: 1;
}

.nva-timeline-step {
    text-align: center;
    position: relative;
    z-index: 2;
}

.nva-timeline-node-container {
    position: relative;
    display: inline-block;
    margin-bottom: 25px;
}

.nva-timeline-node {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0b2909 0%, #004d1a 100%);
    border: 3px solid #ffffff;
    box-shadow: 0 10px 25px rgba(11, 41, 9, 0.15), 0 0 0 5px rgba(0, 158, 61, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
}

.nva-timeline-node-num {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #b9e711;
    color: #0b2909;
    font-family: 'Nunito', sans-serif;
    font-weight: 800;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    border: 2px solid #ffffff;
    z-index: 10;
}

.nva-timeline-node svg {
    transition: transform 0.4s ease;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}

.nva-timeline-step h4 {
    font-family: 'Nunito', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: #1f3e1a;
    margin-bottom: 10px;
    transition: color 0.3s ease;
}

.nva-timeline-step p {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    line-height: 1.55;
    color: #536450;
    margin: 0;
    padding: 0 10px;
}

/* Hover effects */
.nva-timeline-step:hover .nva-timeline-node {
    transform: scale(1.12);
    background: linear-gradient(135deg, #009E3D 0%, #0b2909 100%);
    box-shadow: 0 15px 30px rgba(0, 158, 61, 0.3), 0 0 0 8px rgba(0, 158, 61, 0.1);
    border-color: #ffffff;
}

.nva-timeline-step:hover .nva-timeline-node svg {
    transform: scale(1.1) rotate(5deg);
}

.nva-timeline-step:hover h4 {
    color: #009E3D;
}

/* SVG icon gradients */
.nva-timeline-node svg path,
.nva-timeline-node svg circle {
    stroke: url(#nvaGreenGrad);
}

/* Responsiveness: Vertical layout on mobile and tablet devices */
@media (max-width: 991px) {
    .nva-timeline-wrapper {
        padding: 20px 0;
    }
    .nva-timeline-wrapper::before {
        display: none;
    }
    .nva-timeline-wrapper::after {
        content: '';
        position: absolute;
        top: 40px;
        bottom: 40px;
        left: 50px;
        width: 3px;
        background: repeating-linear-gradient(180deg, rgba(0, 158, 61, 0.15), rgba(0, 158, 61, 0.15) 10px, transparent 10px, transparent 20px);
        z-index: 1;
    }
    .nva-timeline-step {
        text-align: left;
        display: flex;
        align-items: flex-start;
        margin-bottom: 45px;
        padding-left: 20px;
    }
    .nva-timeline-step:last-child {
        margin-bottom: 0;
    }
    .nva-timeline-node-container {
        margin-bottom: 0;
        margin-right: 30px;
        flex-shrink: 0;
        z-index: 2;
    }
    .nva-timeline-step-content {
        padding-top: 15px;
    }
    .nva-timeline-step p {
        padding-left: 0;
    }
}

/* ✦ Eliminar la franja verde innecesaria en la sección de otros proyectos relacionados */
.recent-project.recent_project_detail::before {
    display: none !important;
}

/* ============================================================
   ✦ PRODUCT CATALOG INTERACTIVITY & MODALS
   ============================================================ */

/* Active indicator for category sidebar */
.categories li a.active-category {
    background: #009E3D !important;
    color: #ffffff !important;
    padding-left: 18px;
    box-shadow: 0 4px 12px rgba(0, 158, 61, 0.2);
}

/* Card layout transitions for dynamic filtering */
.product-card-anim {
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
}
.product-card-hidden {
    opacity: 0 !important;
    transform: scale(0.85) translateY(15px) !important;
    pointer-events: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    overflow: hidden !important;
}

/* Custom Product Tech Sheet Modal Overlay */
.nva-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(11, 41, 9, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.nva-modal-overlay.active {
    opacity: 1;
    pointer-events: auto;
}
.nva-modal-container {
    background: #ffffff;
    width: 90%;
    max-width: 880px;
    max-height: 85vh;
    border-radius: 20px;
    box-shadow: var(--nva-shadow-lg);
    overflow-y: auto;
    border: 1px solid rgba(0, 158, 61, 0.15);
    transform: scale(0.92) translateY(20px);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    scrollbar-width: thin;
    scrollbar-color: #009E3D #f0f4ec;
}
.nva-modal-container::-webkit-scrollbar {
    width: 6px;
}
.nva-modal-container::-webkit-scrollbar-track {
    background: #f0f4ec;
    border-radius: 10px;
}
.nva-modal-container::-webkit-scrollbar-thumb {
    background-color: #009E3D;
    border-radius: 10px;
}
.nva-modal-overlay.active .nva-modal-container {
    transform: scale(1) translateY(0);
}
.nva-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: #f0f4ec;
    border: none;
    border-radius: 50%;
    color: #1f3e1a;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
}
.nva-modal-close:hover {
    background: #009E3D;
    color: #ffffff;
    transform: rotate(90deg);
}
.nva-modal-body {
    padding: 45px;
}
.nva-modal-grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 40px;
}
@media (max-width: 768px) {
    .nva-modal-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .nva-modal-body {
        padding: 30px 20px 25px;
    }
    .nva-modal-close {
        top: 15px;
        right: 15px;
        width: 35px;
        height: 35px;
        font-size: 16px;
    }
}
.nva-modal-img {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #eef2eb;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    box-shadow: 0 8px 24px rgba(11, 41, 9, 0.03);
}
.nva-modal-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.nva-modal-info h3 {
    font-family: 'Nunito', sans-serif;
    font-size: 28px;
    font-weight: 900;
    color: #1f3e1a;
    margin-bottom: 6px;
    line-height: 1.25;
}
.nva-modal-category {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 800;
    color: #009E3D;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    display: inline-block;
    background: rgba(0, 158, 61, 0.08);
    padding: 4px 12px;
    border-radius: 20px;
}
.nva-modal-desc {
    font-family: 'Montserrat', sans-serif;
    font-size: 14.5px;
    line-height: 1.7;
    color: #556b52;
    margin-bottom: 25px;
}
.nva-spec-table-title {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: #1f3e1a;
    margin-bottom: 12px;
    border-left: 3px solid #009E3D;
    padding-left: 10px;
}
.nva-spec-table {
    width: 100%;
    margin-bottom: 25px;
    border-collapse: collapse;
}
.nva-spec-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #edf1ea;
    font-family: 'Montserrat', sans-serif;
    font-size: 13.5px;
    color: #556b52;
}
.nva-spec-table tr:last-child td {
    border-bottom: none;
}
.nva-spec-table td strong {
    color: #1f3e1a;
    font-weight: 700;
}
.nva-modal-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 30px;
    border-top: 1px solid #edf1ea;
    padding-top: 25px;
}
.nva-btn-modal-wa {
    background: #25d366;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    padding: 14px 28px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.2);
}
.nva-btn-modal-wa:hover {
    background: #128c7e;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.3);
}
.nva-btn-modal-form {
    background: #009E3D;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    padding: 14px 28px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(0, 158, 61, 0.25);
}
.nva-btn-modal-form:hover {
    background: #0b2909;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 158, 61, 0.35);
}

/* ─────────────────────────────────────────────────────────────
   ✦ VISUAL CORRECTIONS: Testimoniales, Footer y Espaciados 
   ───────────────────────────────────────────────────────────── */

/* 1. Eliminar sombras/capas decorativas blancas bajo testimonios */
.testimonials_one_content:before,
.testimonials_one_content:after {
    display: none !important;
}

/* 2. Eliminar el espacio en blanco al final de la página (bajo el footer) */
html {
    background-color: #212c23 !important; /* Colorea el fondo del viewport con el color exacto del footer bottom (#212c23) */
}
body {
    margin: 0 !important;
    padding: 0 !important;
    background-color: #212c23 !important; /* Colorea el fondo de la página con el color del footer bottom */
}
.page-wrapper {
    background-color: #ffffff; /* Mantiene el fondo blanco para el contenido de la página */
}

.site-footer_bottom {
    margin-bottom: 0 !important;
}

.site-footer_bottom_menu ul {
    margin: 0 !important;
    padding: 0 !important;
}

/* ─────────────────────────────────────────────────────────────
   ✦ CORRECCIONES ADICIONALES: Blog Details (Ficha de Nota) 
   ───────────────────────────────────────────────────────────── */

/* 1. Evitar que el año se desborde fuera de la caja de fecha verde */
.news_detail_date_box {
    width: auto !important;
    height: auto !important;
    line-height: normal !important;
    top: auto !important;
    bottom: 30px !important;
    left: 30px !important;
    right: auto !important;
}
.news_detail_date_box p {
    line-height: 1.4 !important;
    font-size: 13px !important;
    text-align: center !important;
    margin: 0 !important;
}

/* 2. Unificar diseño de campos de entrada en formulario de comentarios */
.comment_input_box input[type="text"],
.comment_input_box input[type="email"],
.comment_input_box textarea {
    height: auto !important;
    background: #f8faf7 !important;
    border: 1px solid #edf1ea !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1f3e1a !important;
}
.comment_input_box textarea {
    height: 150px !important;
}

/* 3. Corrección de espacio vertical entre tarjetas de blog (news.html) */
.mb-30 {
    margin-bottom: 30px !important;
}

/* 4. Estilos detallados para tarjetas de equipo comercial y técnico (about.html) */
.about_team_one .row {
    display: flex;
    flex-wrap: wrap;
}
.about_team_one [class*="col-"] {
    display: flex;
}
.about_team_one .team_one_single {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: calc(100% - 30px);
}
.about_team_one .team_one_deatils {
    padding: 25px 20px !important;
    text-align: center !important;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.about_team_one .team_one_deatils h2 {
    font-size: 18px !important;
    font-weight: 800 !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-family: 'Nunito', sans-serif !important;
}
.about_team_one .team_one_deatils h2 a {
    color: #1f3e1a !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}
.about_team_one .team_one_deatils h2 a:hover {
    color: #009E3D !important;
}
.about_team_one .team-role {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #009E3D !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 12px !important;
    font-family: 'Montserrat', sans-serif !important;
    line-height: 1.4 !important;
}
.about_team_one .team-meta-info {
    border-top: 1px solid #edf1ea;
    padding-top: 12px;
    margin-top: 12px;
    text-align: left;
}
.about_team_one .team-meta-item {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    color: #536450;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.about_team_one .team-meta-item:last-child {
    margin-bottom: 0;
}
.about_team_one .team-meta-item i {
    color: #009E3D;
    font-size: 12px;
    flex-shrink: 0;
}
.about_team_one .team-meta-item a {
    color: #536450 !important;
    transition: color 0.3s ease;
    text-decoration: none;
    font-weight: 600;
}
.about_team_one .team-meta-item a:hover {
    color: #009E3D !important;
}
.about_team_one .team-responsibilities {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    color: #536450;
    margin-top: 8px;
    margin-bottom: auto; /* Empuja el meta-info hacia abajo si hay espacio de sobra */
    text-align: left;
    background: #f8faf7;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #edf1ea;
    min-height: 125px; /* Alinear altura para responsabilidades y mantener alineado el footer de contacto */
}
.about_team_one .team-responsibilities strong {
    color: #1f3e1a;
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
}
.about_team_one .team-responsibilities-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.about_team_one .team-responsibilities-list li {
    font-size: 10px;
    background: #ffffff;
    border: 1px solid #e1eade;
    padding: 2px 6px;
    border-radius: 4px;
    color: #556b52;
    font-weight: 600;
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* ─────────────────────────────────────────────────────────────
   ✦ EFECTOS PREMIUM DE HOVER: Sección de Equipo Nosotros
   ───────────────────────────────────────────────────────────── */

.about_team_one .team_one_single {
    transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.about_team_one .team_one_single:hover {
    transform: translateY(-8px);
}

.about_team_one .team_one_image {
    overflow: hidden;
    border-radius: 8px;
}
.about_team_one .team_one_image img {
    transition: transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.about_team_one .team_one_single:hover .team_one_image img {
    transform: scale(1.04);
}

.about_team_one .team_one_deatils {
    transition: all 0.45s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    border: 1px solid #edf1ea;
}
.about_team_one .team_one_single:hover .team_one_deatils {
    box-shadow: 0px 15px 35px rgba(0, 158, 61, 0.12) !important;
    border-color: rgba(0, 158, 61, 0.18) !important;
}

.about_team_one .team-responsibilities {
    transition: all 0.3s ease;
}
.about_team_one .team_one_single:hover .team-responsibilities {
    border-color: rgba(0, 158, 61, 0.25) !important;
    background: #f3f8f1 !important;
}

.about_team_one .team-responsibilities-list li:hover {
    background: #009E3D !important;
    color: #ffffff !important;
    border-color: #009E3D !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 158, 61, 0.15);
}

.about_team_one .team-meta-item {
    transition: transform 0.25s ease;
}
.about_team_one .team-meta-item:hover {
    transform: translateX(4px);
}
.about_team_one .team-meta-item i {
    transition: transform 0.3s ease;
}
.about_team_one .team-meta-item:hover i {
    transform: scale(1.2) rotate(10deg);
}




