/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.5.1.1788770722
Updated: 2026-09-07 08:45:22

*/
/*****************/
/*** Reset ***/

[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
    background-color: #2E2D2C;
    color: #fff;
    text-decoration: none;
}


/*****************/
/*** Utilities ***/

/* ==========================================================================
   1. DISEÑO Y CAJA (LAYOUT & BOX MODEL)
   ========================================================================== */
.tgm-d-block        { display: block !important; }
.tgm-d-inline       { display: inline !important; }
.tgm-d-inline-block { display: inline-block !important; }
.tgm-d-none         { display: none !important; }

.tgm-max-w-100 { min-width: 100% !important; }
.tgm-w-100 { width: 100% !important; }
.tgm-h-100 { height: 100% !important; }
.tgm-w-vw  { width: 100vw !important; }
.tgm-h-vh  { height: 100vh !important; }

.tgm-overflow-hidden { overflow: hidden !important; }
.tgm-overflow-auto   { overflow: auto !important; }

.tgm-position-relative { position: relative !important; }
.tgm-position-absolute { position: absolute !important; }
.tgm-position-fixed    { position: fixed !important; }

.tgm-top-0   { top: 0 !important; }
.tgm-bottom-0 { bottom: 0 !important; }
.tgm-left-0  { left: 0 !important; }
.tgm-right-0 { right: 0 !important; }

/* ==========================================================================
   2. MÁRGENES Y RELLENOS (SPACING)
   ========================================================================== */
/* Márgenes Globales */
.tgm-m-0 { margin: 0 !important; }
.tgm-m-1 { margin: 0.25rem !important; } /* 4px */
.tgm-m-2 { margin: 0.5rem !important; }  /* 8px */
.tgm-m-3 { margin: 1rem !important; }    /* 16px */
.tgm-m-4 { margin: 1.5rem !important; }  /* 24px */
.tgm-m-5 { margin: 3rem !important; }    /* 48px */
.tgm-mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* Márgenes Específicos (Top, Bottom, Left, Right) */
.tgm-mt-0 { margin-top: 0 !important; }
.tgm-mt-1 { margin-top: 0.25rem !important; }
.tgm-mt-2 { margin-top: 0.5rem !important; }
.tgm-mt-3 { margin-top: 1rem !important; }
.tgm-mt-4 { margin-top: 1.5rem !important; }
.tgm-mt-5 { margin-top: 3rem !important; }

.tgm-mb-0 { margin-bottom: 0 !important; }
.tgm-mb-1 { margin-bottom: 0.25rem !important; }
.tgm-mb-2 { margin-bottom: 0.5rem !important; }
.tgm-mb-3 { margin-bottom: 1rem !important; }
.tgm-mb-4 { margin-bottom: 1.5rem !important; }
.tgm-mb-5 { margin-bottom: 3rem !important; }

.tgm-ml-auto { margin-left: auto !important; }
.tgm-mr-auto { margin-right: auto !important; }

/* Rellenos Globales */
.tgm-p-0 { padding: 0 !important; }
.tgm-p-1 { padding: 0.25rem !important; }
.tgm-p-2 { padding: 0.5rem !important; }
.tgm-p-3 { padding: 1rem !important; }
.tgm-p-4 { padding: 1.5rem !important; }
.tgm-p-5 { padding: 3rem !important; }

/* Rellenos por Ejes (Horizontal y Vertical) */
.tgm-px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.tgm-px-1 { padding-left: 0.25rem !important; padding-right: 0.25rem !important; }
.tgm-px-2 { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
.tgm-px-3 { padding-left: 1rem !important; padding-right: 1rem !important; }
.tgm-px-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.tgm-px-5 { padding-left: 3rem !important; padding-right: 3rem !important; }

.tgm-py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.tgm-py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
.tgm-py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.tgm-py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.tgm-py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.tgm-py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

/* ==========================================================================
   3. FLEXBOX Y GRID
   ========================================================================== */
.tgm-d-flex { display: flex !important; }
.tgm-d-grid { display: grid !important; }

.tgm-flex-row    { flex-direction: row !important; }
.tgm-flex-column { flex-direction: column !important; }
.tgm-flex-wrap   { flex-wrap: wrap !important; }

.tgm-justify-content-start  { justify-content: flex-start !important; }
.tgm-justify-content-end    { justify-content: flex-end !important; }
.tgm-justify-content-center { justify-content: center !important; }
.tgm-justify-content-between{ justify-content: space-between !important; }
.tgm-justify-content-around { justify-content: space-around !important; }

.tgm-align-items-start   { align-items: flex-start !important; }
.tgm-align-items-end     { align-items: flex-end !important; }
.tgm-align-items-center  { align-items: center !important; }
.tgm-align-items-stretch { align-items: stretch !important; }

.tgm-flex-grow-1 { flex-grow: 1 !important; }
.tgm-flex-shrink-0 { flex-shrink: 0 !important; }

/* Espaciados (Gap) */
.tgm-gap-1 { gap: 0.25rem !important; }
.tgm-gap-2 { gap: 0.5rem !important; }
.tgm-gap-3 { gap: 1rem !important; }
.tgm-gap-4 { gap: 1.5rem !important; }

/* Columnas de Grid Comunes */
.tgm-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
.tgm-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.tgm-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.tgm-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

/* ==========================================================================
   4. TIPOGRAFÍA (TYPOGRAPHY)
   ========================================================================== */
.text-left    { text-align: left !important; }
.text-center  { text-align: center !important; }
.text-right   { text-align: right !important; }
.text-justify { text-align: justify !important; }

.tgm-text-xs { font-size: 0.75rem !important; line-height: 1rem !important; }     /* 12px */
.tgm-text-sm { font-size: 0.875rem !important; line-height: 1.25rem !important; } /* 14px */
.tgm-text-base { font-size: 1rem !important; line-height: 1.5rem !important; }     /* 16px */
.tgm-text-lg { font-size: 1.125rem !important; line-height: 1.75rem !important; } /* 18px */
.tgm-text-xl { font-size: 1.25rem !important; line-height: 1.75rem !important; }  /* 20px */
.tgm-text-2xl { font-size: 1.5rem !important; line-height: 2rem !important; }     /* 24px */

.tgm-fw-light  { font-weight: 300 !important; }
.tgm-fw-normal { font-weight: 400 !important; }
.tgm-fw-medium { font-weight: 500 !important; }
.tgm-fw-bold   { font-weight: 700 !important; }

.tgm-text-uppercase  { text-transform: uppercase !important; }
.tgm-text-lowercase  { text-transform: lowercase !important; }
.tgm-text-capitalize { text-transform: capitalize !important; }

.tgm-text-truncate {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ==========================================================================
   5. BORDES Y SOMBRAS (BORDERS & SHADOWS)
   ========================================================================== */
.tgm-border   { border: 1px solid #e2e8f0 !important; }
.tgm-border-0 { border: 0 !important; }
.tgm-border-top    { border-top: 1px solid #e2e8f0 !important; }
.tgm-border-bottom { border-bottom: 1px solid #e2e8f0 !important; }

.tgm-rounded-0      { border-radius: 0px !important; }
.tgm-rounded-sm     { border-radius: 0.125rem !important; } /* 2px */
.tgm-rounded        { border-radius: 0.25rem !important; }   /* 4px */
.tgm-rounded-md     { border-radius: 0.375rem !important; } /* 6px */
.tgm-rounded-lg     { border-radius: 0.5rem !important; }   /* 8px */
.tgm-rounded-circle { border-radius: 50% !important; }
.tgm-rounded-full   { border-radius: 9999px !important; }

.tgm-shadow-sm { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; }
.tgm-shadow    { box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1) !important; }
.tgm-shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important; }

/* ==========================================================================
   6. INTERACCIÓN Y MISCELÁNEA
   ========================================================================== */
.tgm-cursor-pointer   { cursor: pointer !important; }
.tgm-user-select-none { user-select: none !important; }

.tgm-opacity-0   { opacity: 0 !important; }
.tgm-opacity-25  { opacity: 0.25 !important; }
.tgm-opacity-50  { opacity: 0.5 !important; }
.tgm-opacity-75  { opacity: 0.75 !important; }
.tgm-opacity-100 { opacity: 1 !important; }

/* ==========================================================================
   6. BOTONES
   ========================================================================== */

.tgm-btn__min-w-150 a.elementor-button { min-width: 150px !important; }
.tgm-btn__min-w-200 a.elementor-button { min-width: 200px !important; }

/* ==========================================================================
   6. TABLAS FICHA TECNICA
   ========================================================================== */

.tgm-table--two-columns .jet-dynamic-table__row--header .jet-dynamic-table__col,
.tgm-table--three-columns .jet-dynamic-table__row--header .jet-dynamic-table__col {
   border: 0;
}
.tgm-table--two-columns .jet-dynamic-table__body .jet-dynamic-table__col.jet-dynamic-table__col--valor {
   text-align: right !important;
   font-weight: 300 !important;
}
.tgm-table--three-columns .jet-dynamic-table__body .jet-dynamic-table__col.jet-dynamic-table__col--4seccionesprolongas {
   text-align: right !important;
   font-weight: 300 !important;
}
.tgm-table--three-columns .jet-dynamic-table__body .jet-dynamic-table__col.jet-dynamic-table__col--6seccionesprolongas {
   text-align: right !important;
   font-weight: 300 !important;
}

.vehiculo-parametro {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vehiculo-parametro-help {
    width: 16px;
    height: 16px;
    padding: 0;
    cursor: pointer;
}

.vehiculo-parametro-tooltip {
    position: absolute;
    z-index: 9999;
    left: 50%;
    bottom: calc(100% + 10px);
    width: 260px;
    padding: 10px 12px;
    background: #222;
    color: #fff;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: normal;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease;
}

.vehiculo-parametro-help:hover + .vehiculo-parametro-tooltip,
.vehiculo-parametro-help:focus + .vehiculo-parametro-tooltip {
    opacity: 1;
    visibility: visible;
}



/* =========================================
   CARD Slider
========================================= */

.tgm-hover-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.tgm-hover-card .tgm-card-image {
    transform: scale(1);
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}


/* La imagen crece con el ancho de la card en pantallas de escritorio.
   Proporciones de referencia del diseño a 1440 px; tablet y móvil conservan su diseño. */
@media (min-width: 1025px) {
    .elementor-1430 .tgm-hover-card > .tgm-card-image.e-con {
        width: 100%;
        height: auto;
        min-height: 320px;
        aspect-ratio: 672 / 320;
        flex: 0 0 auto;
    }
}

/* Zoom sutil al hacer hover */

.tgm-hover-card:hover .tgm-card-image {
    transform: scale(1.045);
}

.tgm-hover-card .tgm-card-description__container {
   transform: translateY(120px);
   transition:
        opacity 0.45s ease,
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}   

.tgm-hover-card .tgm-card-description {
    opacity: 0;
    transform: translateY(15px);

    transition:
        opacity 0.45s ease,
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);

    pointer-events: none;
}


.tgm-hover-card .tgm-card-actions {
    opacity: 0;
    transform: translateY(15px);

    transition:
        opacity 0.45s ease 0.05s,
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);

    pointer-events: none;
}


.tgm-hover-card:hover .tgm-card-description__container {
    transform: translateY(0);
}
.tgm-hover-card:hover .tgm-card-description {
    opacity: 1;
    transform: translateY(0);
}

.tgm-hover-card:hover .tgm-card-actions {
    opacity: 1;
    transform: translateY(0);
}

.tgm-hover-card .tgm-card-title {
    transition:
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.tgm-hover-card:hover .tgm-card-title {
    transform: translateY(-5px);
}


/**************/
/*** Header ***/


.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute !important;
    left: 0 !important;
    width: 100vw !important;
}

@media (max-width: 767px) {
    .tgmlift-menu-container {
        max-width: 32px !important;
    }
    .elementor-menu-toggle {
        margin-right: 0 !important;
        margin-left: auto !important;
        max-width: 32px;
    }
}
/* GSAP company story: original Elementor sections remain the content source. */
.tgm-company-story{--tgm-story-top:104px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(32px,5vw,80px);width:95%;margin-inline:auto;padding-block:32px 64px}
.tgm-company-stage{position:sticky;top:var(--tgm-story-top);height:min(620px,calc(100svh - var(--tgm-story-top) - 32px));min-height:300px;overflow:hidden;border-radius:8px;background:#fafafa}
.tgm-company-stage>.tgm-company-visual{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;pointer-events:none}
.tgm-company-stage .tgm-company-visual .e-svg-base{max-width:85%;height:auto}
.tgm-company-copy{min-width:0}
.tgm-company-copy .e-heading-base,.tgm-company-copy .e-paragraph-base{overflow-wrap:anywhere}
.tgm-company-copy>.tgm-company-step{display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0 0 96px!important}
.tgm-company-copy>.tgm-company-step:last-child{padding-bottom:0!important}
.tgm-company-step> .e-con{width:100%!important;height:auto!important;min-height:0!important}
.tgm-company-progress{position:absolute;right:32px;bottom:24px;left:32px;display:flex;align-items:center;gap:20px;font:400 12px/1.4 Montserrat,sans-serif;color:#737373}
.tgm-company-track{display:block;height:2px;flex:1;overflow:hidden;background:#dce1e0}
.tgm-company-track>span{display:block;height:100%;width:100%;background:#2e2d2c;transform-origin:left center}
@media(prefers-reduced-motion:reduce){.tgm-hover-card .tgm-card-image,.tgm-hover-card .tgm-card-description__container,.tgm-hover-card .tgm-card-description,.tgm-hover-card .tgm-card-actions,.tgm-hover-card .tgm-card-title{transition:none!important}.tgm-hover-card:hover .tgm-card-image{transform:none}.elementor-button,.e-button-base{transition:none!important}}
/* Formulario oscuro del footer (plantilla Elementor 1172): enlace a la política de privacidad dentro de la etiqueta de consentimiento.
   Elementor no permite dar color a un enlace dentro de una etiqueta de formulario atómico, y el color global de enlace (#cc3366 de Hello) solo alcanza 4,09:1 sobre este fondo. */
.elementor-1172 .e-form-checkbox-row a{color:#fff;text-decoration:underline;text-underline-offset:2px}
