:root {
    /* Base */
    --gt-body: #FFFFFF;
    --gt-black: #000000;
    --gt-white: #FFFFFF;

    /* Colores de marca (paleta ATECO) */
    --gt-theme: #80AB31;
    /* Primario: verde profesional */
    --gt-theme-2: #93A445;
    /* Secundario: verde complementario */

    /* Encabezados / barras / acentos fuertes */
    --gt-header: #4C721D;
    /* Verde oscuro elegante */

    /* Texto y contenido */
    --gt-text: #333333;
    /* Gris oscuro para legibilidad */

    /* Bordes y contenedores */
    --gt-border: #C3D69B;
    /* Verde muy claro, suave */

    /* Fondos */
    --gt-bg: #F8F9F7;
    /* Fondo neutro, casi blanco */
    --gt-bg-2: #C3D69B;
    /* Fondo alterno o secciones suaves */

    /* Sombra */
    --gt-box-shadow: 0px 1px 14px 0px rgba(0, 0, 0, 0.1);
}

p {
    text-align: justify !important;
    margin-bottom: 1rem !important;
}
/* Preloader */
/* Ajustes visuales */
.animation-preloader {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
}

.preloader-logo {
    width: 320px;
    max-width: 70%;
    height: auto;
    animation: pulse 1.8s ease-in-out infinite;
}

.preloader-text {
    margin-top: 20px;
    font-size: 18px;
    font-weight: 500;
    color: #333;
    letter-spacing: 1px;
}

.logo-img {
    width: 12rem;
}

/* Animación suave */
@keyframes pulse {
    0% {
        opacity: 0.6;
        transform: scale(0.95);
    }

    50% {
        opacity: 1;
        transform: scale(1);
    }

    100% {
        opacity: 0.6;
        transform: scale(0.95);
    }
}

.header-1::before,
.header-1::after {
    background-color: var(--gt-bg);
}

.header-main .main-menu ul li a,
.header-1 .header-right .header-call-item .caller-button .content h3 a,
.sticky.header-1 .header-main .header-right .main-menu ul li a {
    color: var(--gt-text);
}

.header-1 .header-right .header-call-item .caller-button .content span {
    color: var(--gt-theme);
}

.header-1 .header-right .header-call-item .sidebar__toggle {
    background-color: var(--gt-theme);
    color: var(--gt-white);
}

.header-main .main-menu ul li {
    margin-inline-end: 2rem;
}

.header-1 .header-right {
    gap: 3rem;
}

.hero-2::before {
    background: linear-gradient(289deg, #4C721D 16.99%, rgba(6, 50, 50, 0.4) 96.62%);
}

.gt-feature-wrapper-3 .gt-feature-image .radius-box-2 .circle-image .star {
    background-color: var(--gt-border);
}

.section-bg-1 {
    background-color: var(--gt-header);
}

.gt-brand-wrapper-2 h4::before {
    left: 15%;
}

.gt-brand-wrapper-2 h4::after {
    right: 15%;
}


h1,
h2,
h3,
h4,
h5,
h6,
.gt-link-btn,
.header-main .main-menu ul li a {
    text-transform: none;
}

.icon {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.star {
    background-color: var(--gt-bg-2) !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.material-symbols-outlined {
    font-size: 50px;
}

.header-1 {
    position: absolute;
    z-index: 99;
}

/* VIDEO MODAL */
.video-modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.8);
    z-index: 99999;
    padding: 20px;
}

.video-container {
    position: relative;
    width: 100%;
    max-width: 900px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
    background: #000;
}

.video-container video {
    width: 100%;
    height: auto;
    display: block;
}

.close-video {
    position: absolute;
    top: 8px;
    right: 10px;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
    padding: 6px 10px;
}

.video-modal .overlay-click-target {
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* Estilos para los controles del video */
.video-modal video {
    width: 100%;
    height: auto;
    max-height: 80vh;
}

.video-modal video::-webkit-media-controls {
    opacity: 1 !important;
    display: flex !important;
    visibility: visible !important;
}

.video-modal video::-webkit-media-controls-enclosure {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.gt-footer-widget-wrapper-2 .gt-footer-content .gt-text span {
    color: var(--gt-white);
}

.gt-news-card-left-item .gt-news-image::before {
    background-color: var(--gt-theme);
}

.gt-about-wrapper-2 .gt-about-content .gt-about-item .gt-about-left .gt-circle-box h2 {
    font-size: 4.5rem;
}

.gt-brand-wrapper-2 .gt-brand-item .gt-brand-image {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.gt-brand-image img {
    height: 5rem;
    /* Evita rotaciones aplicadas por reglas globales o por JS
       Forzamos orientación neutra y ajuste dentro del contenedor. */
    transform: none !important;
    -webkit-transform: none !important;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: inline-block;
}


.gt-brand-wrapper-2 .gt-brand-item {
    height: 9rem;
}

.hero-2 .gt-hero-content p {
    color: var(--gt-white);
    font-size: 20px;
}



.gt-section-title h2 span::before {
    right: 25px;
}

.gt-footer-widget-wrapper-2 {
    padding: 20px 0;
}

.gt-footer-widget-wrapper-2 .gt-footer-items::before {
    top: -60px !important;
    height: 380px !important;
}

.gt-footer-widget-wrapper-2 .gt-footer-items {
    align-items: start !important;
}

.gt-footer-widget-wrapper-2 .gt-footer-items {
    display: flex;
    margin-top: 30px !important;
    position: relative;
}

.offcanvas__overlay.overlay-open {
    opacity: 0.95;
}




/* Estilos generales para los iconos de Material Symbols */
.material-symbols-outlined {
    font-size: 36px;
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24;
}

span.material-symbols-outlined {
    margin-top: 15px;
}

/* Copyright area debajo del footer */
.gt-copyright-area {
    background: rgba(0, 0, 0, 0.02);
    padding: 18px 0;
}

.gt-copyright-area .gt-text {
    margin: 0;
    text-align: center;
    color: var(--gt-text);
    font-size: 0.95rem;
}


.gt-footer-widget-wrapper-2 .gt-footer-content::before {
    background-color: transparent !important;
}

/* Gestión */
.custom-services {
    padding-top: 3rem;
    margin-top: 3rem;
}

.item-services-custom {
    padding-bottom: 8rem;
}

/* Iconos en cards de gestión */
.gt-service-card-items-2 .icon .material-symbols-outlined {
    font-size: 42px;
    color: white;
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24;
}

.gt-service-card-items-2 .gt-service-image .gt-service-content {
    padding: 20px 10px;
}

.item-services-custom .icon {
    margin-bottom: 20px;
    background: var(--gt-theme);
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.gt-section-title {
    z-index: 4;
}

span.material-symbols-outlined.gestion {
    margin-top: 0px;
}

.gt-about-wrapper-3 .gt-about-content .gt-list li {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--gt-black);
    font-weight: 400;
}

.gt-news-details-wrapper {
    background: #fff;
    border-radius: 12px;
    padding: 36px;
    box-shadow: 0 10px 30px rgba(22, 28, 39, 0.06);
    position: relative;
    z-index: 2;
    /* mover el container 20% hacia abajo respecto a la altura de la imagen (20% de 300px = 60px) */
   
}




.gt-details-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform .6s ease;
}
.gt-details-image:hover img {
    transform: scale(1.03);
}

.gt-news-details-content h3 {
    font-size: 1.9rem;
    margin-bottom: 1rem;
    color: var(--gt-header);
    font-weight: 700;
}
.gt-news-details-content h3.text {
    font-size: 1.25rem;
    color: #444;
}

.gt-news-details-content p {
    color: #444;
    font-size: 1.02rem;
    line-height: 1.75;
    margin-bottom: 1rem;
}

.gt-news-details-content .gt-list {
    padding-left: 1.1rem;
    margin: 18px 0;
}
.gt-news-details-content .gt-list li {
    margin-bottom: 10px;
    color: #333;
}
.gt-news-details-content .gt-list i {
    color: var(--gt-theme);
    margin-right: 10px;
}

.gt-sideber {
    background: linear-gradient(180deg, rgba(128,171,49,0.06), rgba(128,171,49,0.03));
    padding: 18px;
    border-radius: 8px;
    margin: 20px 0;
}
.gt-sideber h6 {
    font-size: 0.95rem;
    color: #333;
    margin-bottom: 14px;
}
.client-info-item {
    display: flex;
    align-items: center;
    gap: 12px;
}
.client-info .image img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid rgba(0,0,0,0.06);
}
.client-info h4 { margin: 0; font-size: 1rem; }
.gt-sideber .icon i { color: var(--gt-theme); font-size: 28px; }

.gt-tag-share-wrap .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.tagcloud span { font-weight: 600; margin-right: 8px; }
.tagcloud a {
    display: inline-block;
    background: rgba(12, 66, 24, 0.06);
    color: var(--gt-header);
    padding: 6px 10px;
    border-radius: 20px;
    font-size: 0.9rem;
}

.social-share a { color: #666; margin-left: 8px; font-size: 1.15rem; }
.social-share a:hover { color: var(--gt-theme); }

.gt-comments-heading h3 { font-size: 1.25rem; color: #222; }
.gt-blog-single-comment { border-bottom: 1px solid rgba(0,0,0,0.04); padding-bottom: 16px; }
.gt-blog-single-comment .image img { width: 64px; height: 64px; border-radius: 8px; object-fit: cover; }
.gt-blog-single-comment .gt-content .head .con h5 { margin: 0; font-size: 1rem; }
.gt-blog-single-comment .gt-content .head .con span { display:block; font-size: 0.85rem; color:#888; }
.gt-blog-single-comment .reply { color: var(--gt-theme); }

.gt-comment-form-wrap h4 { font-size: 1.1rem; margin-bottom: 6px; }
.form-clt span { display:block; font-weight:600; margin-bottom:6px; }
.form-clt input[type="text"], .form-clt textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 8px;
    font-size: 0.95rem;
    background: #fff;
    color: #333;
}
.form-clt textarea { min-height: 140px; resize: vertical; }
.gt-comment-form-wrap .gt-theme-btn { margin-top: 8px; }

.gt-breadcrumb-wrapper .gt-page-heading {
padding: 130px 0 60px;
text-align: center;
position: relative;
}

.gt-breadcrumb-wrapper{
    background-color: var(--gt-header);
}
.gt-about-wrapper .gt-about-content .gt-about-right-item .gt-about-icon .gt-icon-item .content p {
max-width: 90%;
width: 90%;
}

.main-menu ul li.active > a {
color: var(--gt-theme);
}
.main-menu ul li.active > .submenu li.active a {
color: var(--gt-theme);
}


.ligas-list li a {
background-position: 0 95%;
background-repeat: no-repeat;
background-size: 0% 2px;
display: inline;
color: var(--gt-border);
}
.ligas-list li a {
text-decoration: none;
outline: none !important;
cursor: pointer;
color: var(--gt-header);
transition: all 0.4s ease-in-out;
}


.ligas-list li a:hover {
color: var(--gt-border);
background-size: 100% 2px;
background-image: linear-gradient(180deg, var(--gt-border) 0%, var(--gt-border) 100%);
}
.ligas-list li a {
background-position: 0 95%;
background-repeat: no-repeat;
background-size: 0% 2px;
display: inline;
color: var(--gt-theme);
}

.gt-news-card-items-3 .gt-news-image span {
background-color: var( --gt-bg-2);
padding: 10px 12px;
border-radius: 100px;
font-weight: 600;
color: var(--gt-header);
position: absolute;
left: auto;
top: 20px;
z-index: 999;
line-height: 1;
z-index: 9999;
right: 25px;
}
.gt-news-card-items-3 .gt-news-image img {
width: 100%;
height: 100%;
transform: scale(1.02);
transition: all 1.5s ease-out;
max-height: 200px;
object-fit: cover;
}

/* ========== Blog Filters ========== */
.blog-filters {
    background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
    padding: 30px;
    border-radius: 12px;
    margin-bottom: 40px;
    border: 1px solid #e9ecef;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.filter-group {
    display: flex;
    flex-direction: column;
}

.filter-label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Buscador */
.search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.filter-search {
    border: 1.5px solid #ddd;
    border-radius: 8px;
    padding: 12px 16px 12px 40px;
    font-size: 14px;
    transition: all 0.3s ease;
    background-color: #fff;
}

.filter-search:focus {
    outline: none;
    border-color: #1a73e8;
    box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.1);
}

.search-icon {
    position: absolute;
    left: 12px;
    color: #999;
    font-size: 14px;
    pointer-events: none;
}

/* Dropdowns */
.filter-select {
    border: 1.5px solid #ddd;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    transition: all 0.3s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23333' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
}

.filter-select:focus {
    outline: none;
    border-color: #1a73e8;
    box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.1);
}

.filter-select option {
    padding: 10px;
    color: #333;
}

/* Botón Limpiar */
.btn-reset-filters {
    width: 48px;
    height: 48px;
    border: 1.5px solid #ddd;
    border-radius: 8px;
    background-color: #fff;
    color: #666;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-reset-filters:hover {
    border-color: #1a73e8;
    color: #1a73e8;
    background-color: rgba(26, 115, 232, 0.05);
    transform: rotate(180deg);
}

.recent-items .recent-thumb{
    max-width: 35%;
}

.gt-our-process-wrapper .gt-our-process-item.style-2 h4 {
margin-top: 0px;
}

.gt-our-process-wrapper .gt-our-process-item {
text-align: center;
margin-top: 0px;
}

.gt-list li {
    text-align: justify !important;
}
.gt-service-wrapper .gt-service-main-items .gt-service-left-items p {
max-width: 619px;
margin-left: 20px;
}

.gt-faq-wrapper .faq-items .accordion .accordion-item .accordion-body p {

line-height: 20px;
}

.title-blog-h{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Responsive */
@media (max-width: 992px) {
    .blog-filters {
        padding: 20px;
    }

    .filter-search,
    .filter-select,
    .btn-reset-filters {
        padding: 10px 12px;
        font-size: 13px;
    }

    .btn-reset-filters {
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 768px) {
    .blog-filters {
        padding: 15px;
    }

    .filter-label {
        font-size: 12px;
        margin-bottom: 6px;
    }

    .filter-search,
    .filter-select {
        font-size: 12px;
        padding: 10px 12px;
    }
}